You've already forked Magisk
mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-09-06 06:36:58 +00:00
Rewrite configs with Kotlin delagate properties
This commit is contained in:
@@ -7,6 +7,7 @@ import androidx.fragment.app.Fragment
|
||||
import com.topjohnwu.magisk.ClassMap
|
||||
import com.topjohnwu.magisk.Config
|
||||
import com.topjohnwu.magisk.Const.Key.OPEN_SECTION
|
||||
import com.topjohnwu.magisk.Info
|
||||
import com.topjohnwu.magisk.R
|
||||
import com.topjohnwu.magisk.databinding.ActivityMainBinding
|
||||
import com.topjohnwu.magisk.model.navigation.Navigation
|
||||
@@ -105,11 +106,11 @@ open class MainActivity : MagiskActivity<MainViewModel, ActivityMainBinding>() {
|
||||
private fun checkHideSection() {
|
||||
val menu = binding.navView.menu
|
||||
menu.findItem(R.id.magiskHideFragment).isVisible =
|
||||
Shell.rootAccess() && Config.get<Any>(Config.Key.MAGISKHIDE) as Boolean
|
||||
Shell.rootAccess() && Config.magiskHide
|
||||
menu.findItem(R.id.modulesFragment).isVisible =
|
||||
Shell.rootAccess() && Config.magiskVersionCode >= 0
|
||||
Shell.rootAccess() && Info.magiskVersionCode >= 0
|
||||
menu.findItem(R.id.reposFragment).isVisible =
|
||||
(Networking.checkNetworkStatus(this) && Shell.rootAccess() && Config.magiskVersionCode >= 0)
|
||||
(Networking.checkNetworkStatus(this) && Shell.rootAccess() && Info.magiskVersionCode >= 0)
|
||||
menu.findItem(R.id.logFragment).isVisible =
|
||||
Shell.rootAccess()
|
||||
menu.findItem(R.id.superuserFragment).isVisible =
|
||||
|
||||
@@ -7,6 +7,7 @@ import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.skoumal.teanity.extensions.subscribeK
|
||||
import com.topjohnwu.magisk.*
|
||||
import com.topjohnwu.magisk.data.database.SettingsDao
|
||||
import com.topjohnwu.magisk.tasks.UpdateRepos
|
||||
import com.topjohnwu.magisk.utils.Utils
|
||||
import com.topjohnwu.magisk.view.Notifications
|
||||
@@ -21,7 +22,7 @@ open class SplashActivity : AppCompatActivity() {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
Shell.getShell {
|
||||
if (Config.magiskVersionCode > 0 && Config.magiskVersionCode < Const.MagiskVersion.MIN_SUPPORT) {
|
||||
if (Info.magiskVersionCode > 0 && Info.magiskVersionCode < Const.MagiskVersion.MIN_SUPPORT) {
|
||||
AlertDialog.Builder(this)
|
||||
.setTitle(R.string.unsupport_magisk_title)
|
||||
.setMessage(R.string.unsupport_magisk_message)
|
||||
@@ -35,9 +36,9 @@ open class SplashActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
private fun initAndStart() {
|
||||
val pkg = Config.get<String>(Config.Key.SU_MANAGER)
|
||||
if (pkg != null && packageName == BuildConfig.APPLICATION_ID) {
|
||||
Config.remove(Config.Key.SU_MANAGER)
|
||||
val pkg = Config.suManager
|
||||
if (Config.suManager.isNotEmpty() && packageName == BuildConfig.APPLICATION_ID) {
|
||||
get<SettingsDao>().delete(Config.Key.SU_MANAGER)
|
||||
Shell.su("pm uninstall $pkg").submit()
|
||||
}
|
||||
if (TextUtils.equals(pkg, packageName)) {
|
||||
@@ -56,15 +57,12 @@ open class SplashActivity : AppCompatActivity() {
|
||||
|
||||
// Schedule periodic update checks
|
||||
Utils.scheduleUpdateCheck()
|
||||
//CheckUpdates.check()
|
||||
|
||||
// Setup shortcuts
|
||||
Shortcuts.setup(this)
|
||||
|
||||
// Magisk working as expected
|
||||
if (Shell.rootAccess() && Config.magiskVersionCode > 0) {
|
||||
// Load modules
|
||||
//Utils.loadModules(false)
|
||||
if (Shell.rootAccess() && Info.magiskVersionCode > 0) {
|
||||
// Load repos
|
||||
if (Networking.checkNetworkStatus(this)) {
|
||||
get<UpdateRepos>().exec().subscribeK()
|
||||
|
||||
@@ -12,8 +12,6 @@ import androidx.core.view.isVisible
|
||||
import androidx.preference.*
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.topjohnwu.magisk.App
|
||||
import com.topjohnwu.magisk.Config
|
||||
import com.topjohnwu.magisk.KConfig
|
||||
import com.topjohnwu.magisk.R
|
||||
import org.koin.android.ext.android.inject
|
||||
|
||||
@@ -63,22 +61,6 @@ abstract class BasePreferenceFragment : PreferenceFragmentCompat(),
|
||||
view.setPadding(0, view.paddingTop, view.paddingRight, view.paddingBottom)
|
||||
}
|
||||
|
||||
protected fun setCustomUpdateChannel(userRepo: String) {
|
||||
KConfig.customUpdateChannel = userRepo
|
||||
}
|
||||
|
||||
protected fun getChannelCompat(channel: Int): KConfig.UpdateChannel {
|
||||
return when (channel) {
|
||||
Config.Value.STABLE_CHANNEL,
|
||||
Config.Value.DEFAULT_CHANNEL -> KConfig.UpdateChannel.STABLE
|
||||
Config.Value.BETA_CHANNEL -> KConfig.UpdateChannel.BETA
|
||||
Config.Value.CANARY_CHANNEL -> KConfig.UpdateChannel.CANARY
|
||||
Config.Value.CANARY_DEBUG_CHANNEL -> KConfig.UpdateChannel.CANARY_DEBUG
|
||||
Config.Value.CUSTOM_CHANNEL -> KConfig.UpdateChannel.CUSTOM
|
||||
else -> KConfig.updateChannel
|
||||
}
|
||||
}
|
||||
|
||||
protected fun <T: Preference> findPref(key: CharSequence): T {
|
||||
return findPreference(key) as T
|
||||
}
|
||||
|
||||
@@ -51,14 +51,12 @@ abstract class MagiskActivity<ViewModel : MagiskViewModel, Binding : ViewDataBin
|
||||
get() = navigationController?.let { it.currentStackIndex != defaultPosition } ?: false
|
||||
|
||||
init {
|
||||
val isDarkTheme = Config.get<Boolean>(Config.Key.DARK_THEME)
|
||||
val theme = if (isDarkTheme) {
|
||||
val theme = if (Config.darkTheme) {
|
||||
AppCompatDelegate.MODE_NIGHT_YES
|
||||
} else {
|
||||
AppCompatDelegate.MODE_NIGHT_NO
|
||||
}
|
||||
AppCompatDelegate.setDefaultNightMode(theme)
|
||||
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
|
||||
}
|
||||
|
||||
override fun applyOverrideConfiguration(config: Configuration?) {
|
||||
|
||||
@@ -28,7 +28,7 @@ class MagiskHideFragment : MagiskFragment<HideViewModel, FragmentMagiskHideBindi
|
||||
(findItem(R.id.app_search).actionView as? SearchView)
|
||||
?.setOnQueryTextListener(this@MagiskHideFragment)
|
||||
|
||||
val showSystem = Config.get<Boolean>(Config.Key.SHOW_SYSTEM_APP)
|
||||
val showSystem = Config.showSystemApp
|
||||
|
||||
findItem(R.id.show_system).isChecked = showSystem
|
||||
viewModel.isShowSystem.value = showSystem
|
||||
@@ -39,10 +39,8 @@ class MagiskHideFragment : MagiskFragment<HideViewModel, FragmentMagiskHideBindi
|
||||
if (item.itemId == R.id.show_system) {
|
||||
val showSystem = !item.isChecked
|
||||
item.isChecked = showSystem
|
||||
Config.set(Config.Key.SHOW_SYSTEM_APP, showSystem)
|
||||
Config.showSystemApp = showSystem
|
||||
viewModel.isShowSystem.value = showSystem
|
||||
//adapter!!.setShowSystem(showSystem)
|
||||
//adapter!!.filter(search!!.query.toString())
|
||||
}
|
||||
return true
|
||||
}
|
||||
@@ -56,9 +54,4 @@ class MagiskHideFragment : MagiskFragment<HideViewModel, FragmentMagiskHideBindi
|
||||
viewModel.query.value = query.orEmpty()
|
||||
return false
|
||||
}
|
||||
|
||||
/*override fun onEvent(event: Int) {
|
||||
//mSwipeRefreshLayout!!.isRefreshing = false
|
||||
adapter!!.filter(search!!.query.toString())
|
||||
}*/
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ class HomeFragment : MagiskFragment<HomeViewModel, FragmentMagiskBinding>(),
|
||||
|
||||
private fun installMagisk() {
|
||||
// Show Manager update first
|
||||
if (Config.remoteManagerVersionCode > BuildConfig.VERSION_CODE) {
|
||||
if (Info.remoteManagerVersionCode > BuildConfig.VERSION_CODE) {
|
||||
installManager()
|
||||
return
|
||||
}
|
||||
|
||||
@@ -4,10 +4,7 @@ import com.skoumal.teanity.extensions.addOnPropertyChangedCallback
|
||||
import com.skoumal.teanity.extensions.doOnSubscribeUi
|
||||
import com.skoumal.teanity.extensions.subscribeK
|
||||
import com.skoumal.teanity.util.KObservableField
|
||||
import com.topjohnwu.magisk.BuildConfig
|
||||
import com.topjohnwu.magisk.Config
|
||||
import com.topjohnwu.magisk.Const
|
||||
import com.topjohnwu.magisk.R
|
||||
import com.topjohnwu.magisk.*
|
||||
import com.topjohnwu.magisk.data.repository.MagiskRepository
|
||||
import com.topjohnwu.magisk.model.events.*
|
||||
import com.topjohnwu.magisk.model.observer.Observer
|
||||
@@ -25,8 +22,8 @@ class HomeViewModel(
|
||||
|
||||
val isAdvancedExpanded = KObservableField(false)
|
||||
|
||||
val isForceEncryption = KObservableField(Config.keepEnc)
|
||||
val isKeepVerity = KObservableField(Config.keepVerity)
|
||||
val isForceEncryption = KObservableField(Info.keepEnc)
|
||||
val isKeepVerity = KObservableField(Info.keepVerity)
|
||||
|
||||
val magiskState = KObservableField(MagiskState.LOADING)
|
||||
val magiskStateText = Observer(magiskState) {
|
||||
@@ -41,7 +38,7 @@ class HomeViewModel(
|
||||
val magiskCurrentVersion = KObservableField("")
|
||||
val magiskLatestVersion = KObservableField("")
|
||||
val magiskAdditionalInfo = Observer(magiskState) {
|
||||
if (Config.get<Boolean>(Config.Key.COREONLY))
|
||||
if (Config.coreOnly)
|
||||
R.string.core_only_enabled.res()
|
||||
else
|
||||
""
|
||||
@@ -87,10 +84,10 @@ class HomeViewModel(
|
||||
|
||||
init {
|
||||
isForceEncryption.addOnPropertyChangedCallback {
|
||||
Config.keepEnc = it ?: return@addOnPropertyChangedCallback
|
||||
Info.keepEnc = it ?: return@addOnPropertyChangedCallback
|
||||
}
|
||||
isKeepVerity.addOnPropertyChangedCallback {
|
||||
Config.keepVerity = it ?: return@addOnPropertyChangedCallback
|
||||
Info.keepVerity = it ?: return@addOnPropertyChangedCallback
|
||||
}
|
||||
|
||||
refresh()
|
||||
@@ -154,7 +151,7 @@ class HomeViewModel(
|
||||
}
|
||||
|
||||
fun refresh() {
|
||||
magiskRepo.fetchConfig()
|
||||
magiskRepo.fetchUpdate()
|
||||
.applyViewModel(this)
|
||||
.doOnSubscribeUi {
|
||||
magiskState.value = MagiskState.LOADING
|
||||
@@ -164,14 +161,6 @@ class HomeViewModel(
|
||||
safetyNetTitle.value = R.string.safetyNet_check_text
|
||||
}
|
||||
.subscribeK {
|
||||
it.app.let {
|
||||
Config.remoteManagerVersionCode = it.versionCode.toIntOrNull() ?: -1
|
||||
Config.remoteManagerVersionString = it.version
|
||||
}
|
||||
it.magisk.let {
|
||||
Config.remoteMagiskVersionCode = it.versionCode.toIntOrNull() ?: -1
|
||||
Config.remoteMagiskVersionString = it.version
|
||||
}
|
||||
updateSelf()
|
||||
ensureEnv()
|
||||
}
|
||||
@@ -181,22 +170,22 @@ class HomeViewModel(
|
||||
|
||||
private fun updateSelf() {
|
||||
state = State.LOADED
|
||||
magiskState.value = when (Config.magiskVersionCode) {
|
||||
magiskState.value = when (Info.magiskVersionCode) {
|
||||
in Int.MIN_VALUE until 0 -> MagiskState.NOT_INSTALLED
|
||||
!in Config.remoteMagiskVersionCode..Int.MAX_VALUE -> MagiskState.OBSOLETE
|
||||
!in Info.remoteMagiskVersionCode..Int.MAX_VALUE -> MagiskState.OBSOLETE
|
||||
else -> MagiskState.UP_TO_DATE
|
||||
}
|
||||
|
||||
magiskCurrentVersion.value = if (magiskState.value != MagiskState.NOT_INSTALLED) {
|
||||
version.format(Config.magiskVersionString, Config.magiskVersionCode)
|
||||
version.format(Info.magiskVersionString, Info.magiskVersionCode)
|
||||
} else {
|
||||
""
|
||||
}
|
||||
|
||||
magiskLatestVersion.value = version
|
||||
.format(Config.remoteMagiskVersionString, Config.remoteMagiskVersionCode)
|
||||
.format(Info.remoteMagiskVersionString, Info.remoteMagiskVersionCode)
|
||||
|
||||
managerState.value = when (Config.remoteManagerVersionCode) {
|
||||
managerState.value = when (Info.remoteManagerVersionCode) {
|
||||
in Int.MIN_VALUE until 0 -> MagiskState.NOT_INSTALLED //wrong update channel
|
||||
in (BuildConfig.VERSION_CODE + 1)..Int.MAX_VALUE -> MagiskState.OBSOLETE
|
||||
else -> MagiskState.UP_TO_DATE
|
||||
@@ -206,7 +195,7 @@ class HomeViewModel(
|
||||
.format(BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE)
|
||||
|
||||
managerLatestVersion.value = version
|
||||
.format(Config.remoteManagerVersionString, Config.remoteManagerVersionCode)
|
||||
.format(Info.remoteManagerVersionString, Info.remoteManagerVersionCode)
|
||||
}
|
||||
|
||||
private fun ensureEnv() {
|
||||
|
||||
@@ -53,9 +53,9 @@ class ReposFragment : MagiskFragment<ModuleViewModel, FragmentReposBinding>(),
|
||||
.setTitle(R.string.sorting_order)
|
||||
.setSingleChoiceItems(
|
||||
R.array.sorting_orders,
|
||||
Config.get<Int>(Config.Key.REPO_ORDER)!!
|
||||
Config.repoOrder
|
||||
) { d, which ->
|
||||
Config.set(Config.Key.REPO_ORDER, which)
|
||||
Config.repoOrder = which
|
||||
viewModel.refresh(false)
|
||||
d.dismiss()
|
||||
}.show()
|
||||
|
||||
@@ -13,10 +13,11 @@ import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceCategory
|
||||
import androidx.preference.SwitchPreferenceCompat
|
||||
import com.skoumal.teanity.extensions.subscribeK
|
||||
import com.topjohnwu.magisk.*
|
||||
import com.topjohnwu.magisk.KConfig.UpdateChannel
|
||||
import com.topjohnwu.magisk.BuildConfig
|
||||
import com.topjohnwu.magisk.Config
|
||||
import com.topjohnwu.magisk.Const
|
||||
import com.topjohnwu.magisk.R
|
||||
import com.topjohnwu.magisk.data.database.RepoDatabaseHelper
|
||||
import com.topjohnwu.magisk.data.repository.SettingRepository
|
||||
import com.topjohnwu.magisk.ui.base.BasePreferenceFragment
|
||||
import com.topjohnwu.magisk.utils.*
|
||||
import com.topjohnwu.magisk.view.dialogs.FingerprintAuthDialog
|
||||
@@ -27,7 +28,6 @@ import org.koin.android.ext.android.inject
|
||||
class SettingsFragment : BasePreferenceFragment() {
|
||||
|
||||
private val repoDatabase: RepoDatabaseHelper by inject()
|
||||
private val settingRepo: SettingRepository by inject()
|
||||
|
||||
private lateinit var updateChannel: ListPreference
|
||||
private lateinit var autoRes: ListPreference
|
||||
@@ -53,7 +53,7 @@ class SettingsFragment : BasePreferenceFragment() {
|
||||
requestTimeout = findPref(Config.Key.SU_REQUEST_TIMEOUT)
|
||||
suNotification = findPref(Config.Key.SU_NOTIFICATION)
|
||||
multiuserConfig = findPref(Config.Key.SU_MULTIUSER_MODE)
|
||||
nsConfig = findPref(Config.Key.SU_MNT_NS) as ListPreference
|
||||
nsConfig = findPref(Config.Key.SU_MNT_NS)
|
||||
val reauth = findPreference(Config.Key.SU_REAUTH) as SwitchPreferenceCompat
|
||||
val fingerprint = findPreference(Config.Key.SU_FINGERPRINT) as SwitchPreferenceCompat
|
||||
val generalCatagory = findPreference("general") as PreferenceCategory
|
||||
@@ -70,7 +70,9 @@ class SettingsFragment : BasePreferenceFragment() {
|
||||
true
|
||||
}
|
||||
findPreference("clear").setOnPreferenceClickListener {
|
||||
prefs.edit().remove(Config.Key.ETAG_KEY).apply()
|
||||
prefs.edit {
|
||||
remove(Config.Key.ETAG_KEY)
|
||||
}
|
||||
repoDatabase.clearRepo()
|
||||
Utils.toast(R.string.repo_cache_cleared, Toast.LENGTH_SHORT)
|
||||
true
|
||||
@@ -81,30 +83,23 @@ class SettingsFragment : BasePreferenceFragment() {
|
||||
true
|
||||
}
|
||||
|
||||
prefs.edit {
|
||||
putBoolean(Config.Key.SU_FINGERPRINT, FingerprintHelper.useFingerprint())
|
||||
}
|
||||
|
||||
updateChannel.setOnPreferenceChangeListener { _, value ->
|
||||
val channel = Integer.parseInt(value as String)
|
||||
val previous = Config.updateChannel
|
||||
|
||||
val previousUpdateChannel = KConfig.updateChannel
|
||||
val updateChannel = getChannelCompat(channel)
|
||||
|
||||
KConfig.updateChannel = updateChannel
|
||||
|
||||
if (updateChannel === UpdateChannel.CUSTOM) {
|
||||
val v = LayoutInflater.from(requireActivity()).inflate(R.layout.custom_channel_dialog, null)
|
||||
if (channel == Config.Value.CUSTOM_CHANNEL) {
|
||||
val v = LayoutInflater.from(requireActivity())
|
||||
.inflate(R.layout.custom_channel_dialog, null)
|
||||
val url = v.findViewById<EditText>(R.id.custom_url)
|
||||
url.setText(KConfig.customUpdateChannel)
|
||||
url.setText(Config.customChannelUrl)
|
||||
AlertDialog.Builder(requireActivity())
|
||||
.setTitle(R.string.settings_update_custom)
|
||||
.setView(v)
|
||||
.setPositiveButton(R.string.ok) { _, _ ->
|
||||
setCustomUpdateChannel(url.text.toString()) }
|
||||
Config.customChannelUrl = url.text.toString() }
|
||||
.setNegativeButton(R.string.close) { _, _ ->
|
||||
KConfig.updateChannel = previousUpdateChannel }
|
||||
.setOnCancelListener { KConfig.updateChannel = previousUpdateChannel }
|
||||
Config.updateChannel = previous }
|
||||
.setOnCancelListener { Config.updateChannel = previous }
|
||||
.show()
|
||||
}
|
||||
true
|
||||
@@ -114,7 +109,7 @@ class SettingsFragment : BasePreferenceFragment() {
|
||||
|
||||
/* We only show canary channels if user is already on canary channel
|
||||
* or the user have already chosen canary channel */
|
||||
if (!Utils.isCanary() && Config.get<Int>(Config.Key.UPDATE_CHANNEL) < Config.Value.CANARY_CHANNEL) {
|
||||
if (!Utils.isCanary && Config.updateChannel < Config.Value.CANARY_CHANNEL) {
|
||||
// Remove the last 2 entries
|
||||
val entries = updateChannel.entries
|
||||
updateChannel.entries = entries.copyOf(entries.size - 2)
|
||||
@@ -168,8 +163,9 @@ class SettingsFragment : BasePreferenceFragment() {
|
||||
|
||||
override fun onSharedPreferenceChanged(prefs: SharedPreferences, key: String) {
|
||||
when (key) {
|
||||
Config.Key.ROOT_ACCESS, Config.Key.SU_MULTIUSER_MODE, Config.Key.SU_MNT_NS ->
|
||||
settingRepo.put(key, Utils.getPrefsInt(prefs, key)).subscribe()
|
||||
Config.Key.ROOT_ACCESS -> Config.rootMode = Utils.getPrefsInt(prefs, key)
|
||||
Config.Key.SU_MULTIUSER_MODE -> Config.suMultiuserMode = Utils.getPrefsInt(prefs, key)
|
||||
Config.Key.SU_MNT_NS -> Config.suMntNamespaceMode = Utils.getPrefsInt(prefs, key)
|
||||
Config.Key.DARK_THEME -> requireActivity().recreate()
|
||||
Config.Key.COREONLY -> {
|
||||
if (prefs.getBoolean(key, false)) {
|
||||
@@ -196,14 +192,13 @@ class SettingsFragment : BasePreferenceFragment() {
|
||||
}
|
||||
|
||||
override fun onPreferenceTreeClick(preference: Preference): Boolean {
|
||||
val key = preference.key
|
||||
when (key) {
|
||||
when (preference.key) {
|
||||
Config.Key.SU_FINGERPRINT -> {
|
||||
val checked = (preference as SwitchPreferenceCompat).isChecked
|
||||
preference.isChecked = !checked
|
||||
FingerprintAuthDialog(requireActivity()) {
|
||||
preference.isChecked = checked
|
||||
Config.set(key, checked)
|
||||
Config.suFingerprint = checked
|
||||
}.show()
|
||||
}
|
||||
}
|
||||
@@ -237,34 +232,34 @@ class SettingsFragment : BasePreferenceFragment() {
|
||||
|
||||
private fun setSummary(key: String) {
|
||||
when (key) {
|
||||
Config.Key.ROOT_ACCESS -> rootConfig.summary = resources
|
||||
.getStringArray(R.array.su_access)[Config.rootMode]
|
||||
Config.Key.SU_MULTIUSER_MODE -> multiuserConfig.summary = resources
|
||||
.getStringArray(R.array.multiuser_summary)[Config.suMultiuserMode]
|
||||
Config.Key.SU_MNT_NS -> nsConfig.summary = resources
|
||||
.getStringArray(R.array.namespace_summary)[Config.suMntNamespaceMode]
|
||||
Config.Key.UPDATE_CHANNEL -> {
|
||||
var ch = Config.get<Int>(key)
|
||||
var ch = Config.updateChannel
|
||||
ch = if (ch < 0) Config.Value.STABLE_CHANNEL else ch
|
||||
updateChannel.summary = resources
|
||||
.getStringArray(R.array.update_channel)[ch]
|
||||
}
|
||||
Config.Key.ROOT_ACCESS -> rootConfig.summary = resources
|
||||
.getStringArray(R.array.su_access)[Config.get<Int>(key)]
|
||||
Config.Key.SU_AUTO_RESPONSE -> autoRes.summary = resources
|
||||
.getStringArray(R.array.auto_response)[Config.get<Int>(key)]
|
||||
.getStringArray(R.array.auto_response)[Config.suAutoReponse]
|
||||
Config.Key.SU_NOTIFICATION -> suNotification.summary = resources
|
||||
.getStringArray(R.array.su_notification)[Config.get<Int>(key)]
|
||||
.getStringArray(R.array.su_notification)[Config.suNotification]
|
||||
Config.Key.SU_REQUEST_TIMEOUT -> requestTimeout.summary =
|
||||
getString(R.string.request_timeout_summary, Config.get<Int>(key))
|
||||
Config.Key.SU_MULTIUSER_MODE -> multiuserConfig.summary =
|
||||
resources.getStringArray(R.array.multiuser_summary)[Config.get<Int>(key)]
|
||||
Config.Key.SU_MNT_NS -> nsConfig.summary = resources
|
||||
.getStringArray(R.array.namespace_summary)[Config.get<Int>(key)]
|
||||
getString(R.string.request_timeout_summary, Config.suDefaultTimeout)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setSummary() {
|
||||
setSummary(Config.Key.UPDATE_CHANNEL)
|
||||
setSummary(Config.Key.ROOT_ACCESS)
|
||||
setSummary(Config.Key.SU_MULTIUSER_MODE)
|
||||
setSummary(Config.Key.SU_MNT_NS)
|
||||
setSummary(Config.Key.UPDATE_CHANNEL)
|
||||
setSummary(Config.Key.SU_AUTO_RESPONSE)
|
||||
setSummary(Config.Key.SU_NOTIFICATION)
|
||||
setSummary(Config.Key.SU_REQUEST_TIMEOUT)
|
||||
setSummary(Config.Key.SU_MULTIUSER_MODE)
|
||||
setSummary(Config.Key.SU_MNT_NS)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@ class SuRequestViewModel(
|
||||
return true
|
||||
}
|
||||
|
||||
when (Config.get<Int>(Config.Key.SU_AUTO_RESPONSE)) {
|
||||
when (Config.suAutoReponse) {
|
||||
Config.Value.SU_AUTO_DENY -> {
|
||||
handler?.handleAction(Policy.DENY, 0)
|
||||
return true
|
||||
@@ -190,8 +190,7 @@ class SuRequestViewModel(
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
private fun showUI() {
|
||||
val seconds = Config.get<Int>(Config.Key.SU_REQUEST_TIMEOUT).toLong()
|
||||
val millis = SECONDS.toMillis(seconds)
|
||||
val millis = SECONDS.toMillis(Config.suDefaultTimeout.toLong())
|
||||
timer = object : CountDownTimer(millis, 1000) {
|
||||
override fun onTick(remains: Long) {
|
||||
denyText.value = "%s (%d)"
|
||||
|
||||
Reference in New Issue
Block a user