Code cleanup
This commit is contained in:
parent
b510dc51ac
commit
2eb001876a
app/src/main/java/com/topjohnwu/magisk
core/model/su
di
ui
@ -1,7 +1,7 @@
|
|||||||
package com.topjohnwu.magisk.core.model.su
|
package com.topjohnwu.magisk.core.model.su
|
||||||
|
|
||||||
import android.content.pm.ApplicationInfo
|
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
|
import android.graphics.drawable.Drawable
|
||||||
import com.topjohnwu.magisk.core.model.su.SuPolicy.Companion.INTERACTIVE
|
import com.topjohnwu.magisk.core.model.su.SuPolicy.Companion.INTERACTIVE
|
||||||
import com.topjohnwu.magisk.ktx.getLabel
|
import com.topjohnwu.magisk.ktx.getLabel
|
||||||
|
|
||||||
@ -10,11 +10,11 @@ data class SuPolicy(
|
|||||||
var uid: Int,
|
var uid: Int,
|
||||||
val packageName: String,
|
val packageName: String,
|
||||||
val appName: String,
|
val appName: String,
|
||||||
|
val icon: Drawable,
|
||||||
var policy: Int = INTERACTIVE,
|
var policy: Int = INTERACTIVE,
|
||||||
var until: Long = -1L,
|
var until: Long = -1L,
|
||||||
val logging: Boolean = true,
|
val logging: Boolean = true,
|
||||||
val notification: Boolean = true,
|
val notification: Boolean = true
|
||||||
val applicationInfo: ApplicationInfo
|
|
||||||
) {
|
) {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@ -46,12 +46,12 @@ fun Map<String, String>.toPolicy(pm: PackageManager): SuPolicy {
|
|||||||
return SuPolicy(
|
return SuPolicy(
|
||||||
uid = uid,
|
uid = uid,
|
||||||
packageName = packageName,
|
packageName = packageName,
|
||||||
|
appName = info.getLabel(pm),
|
||||||
|
icon = info.loadIcon(pm),
|
||||||
policy = get("policy")?.toIntOrNull() ?: INTERACTIVE,
|
policy = get("policy")?.toIntOrNull() ?: INTERACTIVE,
|
||||||
until = get("until")?.toLongOrNull() ?: -1L,
|
until = get("until")?.toLongOrNull() ?: -1L,
|
||||||
logging = get("logging")?.toIntOrNull() != 0,
|
logging = get("logging")?.toIntOrNull() != 0,
|
||||||
notification = get("notification")?.toIntOrNull() != 0,
|
notification = get("notification")?.toIntOrNull() != 0
|
||||||
applicationInfo = info,
|
|
||||||
appName = info.getLabel(pm)
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,8 +63,8 @@ fun Int.toPolicy(pm: PackageManager, policy: Int = INTERACTIVE): SuPolicy {
|
|||||||
return SuPolicy(
|
return SuPolicy(
|
||||||
uid = info.uid,
|
uid = info.uid,
|
||||||
packageName = pkg,
|
packageName = pkg,
|
||||||
policy = policy,
|
appName = info.getLabel(pm),
|
||||||
applicationInfo = info,
|
icon = info.loadIcon(pm),
|
||||||
appName = info.getLabel(pm)
|
policy = policy
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ val viewModelModules = module {
|
|||||||
viewModel { ModuleViewModel(get(), get(), get()) }
|
viewModel { ModuleViewModel(get(), get(), get()) }
|
||||||
viewModel { SafetynetViewModel() }
|
viewModel { SafetynetViewModel() }
|
||||||
viewModel { SettingsViewModel(get()) }
|
viewModel { SettingsViewModel(get()) }
|
||||||
viewModel { SuperuserViewModel(get(), get(), get()) }
|
viewModel { SuperuserViewModel(get(), get()) }
|
||||||
viewModel { ThemeViewModel() }
|
viewModel { ThemeViewModel() }
|
||||||
viewModel { InstallViewModel(get()) }
|
viewModel { InstallViewModel(get()) }
|
||||||
viewModel { MainViewModel() }
|
viewModel { MainViewModel() }
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.topjohnwu.magisk.ui.superuser
|
package com.topjohnwu.magisk.ui.superuser
|
||||||
|
|
||||||
import android.content.pm.PackageManager
|
|
||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
import androidx.databinding.ObservableArrayList
|
import androidx.databinding.ObservableArrayList
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
@ -27,7 +26,6 @@ import me.tatarka.bindingcollectionadapter2.collections.MergeObservableList
|
|||||||
|
|
||||||
class SuperuserViewModel(
|
class SuperuserViewModel(
|
||||||
private val db: PolicyDao,
|
private val db: PolicyDao,
|
||||||
private val packageManager: PackageManager,
|
|
||||||
private val resources: Resources
|
private val resources: Resources
|
||||||
) : BaseViewModel(), TappableHeadlineItem.Listener {
|
) : BaseViewModel(), TappableHeadlineItem.Listener {
|
||||||
|
|
||||||
@ -51,7 +49,7 @@ class SuperuserViewModel(
|
|||||||
state = State.LOADING
|
state = State.LOADING
|
||||||
val (policies, diff) = withContext(Dispatchers.Default) {
|
val (policies, diff) = withContext(Dispatchers.Default) {
|
||||||
val policies = db.fetchAll {
|
val policies = db.fetchAll {
|
||||||
PolicyRvItem(it, it.applicationInfo.loadIcon(packageManager), this@SuperuserViewModel)
|
PolicyRvItem(it, it.icon, this@SuperuserViewModel)
|
||||||
}.sortedWith(compareBy(
|
}.sortedWith(compareBy(
|
||||||
{ it.item.appName.toLowerCase(currentLocale) },
|
{ it.item.appName.toLowerCase(currentLocale) },
|
||||||
{ it.item.packageName }
|
{ it.item.packageName }
|
||||||
|
@ -29,7 +29,7 @@ import me.tatarka.bindingcollectionadapter2.ItemBinding
|
|||||||
import java.util.concurrent.TimeUnit.SECONDS
|
import java.util.concurrent.TimeUnit.SECONDS
|
||||||
|
|
||||||
class SuRequestViewModel(
|
class SuRequestViewModel(
|
||||||
private val pm: PackageManager,
|
pm: PackageManager,
|
||||||
policyDB: PolicyDao,
|
policyDB: PolicyDao,
|
||||||
private val timeoutPrefs: SharedPreferences,
|
private val timeoutPrefs: SharedPreferences,
|
||||||
private val res: Resources
|
private val res: Resources
|
||||||
@ -94,7 +94,7 @@ class SuRequestViewModel(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun showDialog(policy: SuPolicy) {
|
private fun showDialog(policy: SuPolicy) {
|
||||||
icon = policy.applicationInfo.loadIcon(pm)
|
icon = policy.icon
|
||||||
title = policy.appName
|
title = policy.appName
|
||||||
packageName = policy.packageName
|
packageName = policy.packageName
|
||||||
selectedItemPosition = timeoutPrefs.getInt(policy.packageName, 0)
|
selectedItemPosition = timeoutPrefs.getInt(policy.packageName, 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user