Simplify context hacks

This commit is contained in:
topjohnwu
2022-06-02 04:22:25 -07:00
parent 9ab7550970
commit 5c6a7ffa6f
12 changed files with 61 additions and 67 deletions
@@ -37,9 +37,10 @@ object Customization : BaseSettingsItem.Section() {
}
object Language : BaseSettingsItem.Selector() {
override var value = -1
override var value
get() = index
set(value) {
field = value
index = value
Config.locale = entryValues[value]
}
@@ -47,6 +48,7 @@ object Language : BaseSettingsItem.Selector() {
private var entries = emptyArray<String>()
private var entryValues = emptyArray<String>()
private var index = -1
override fun entries(res: Resources) = entries
override fun descriptions(res: Resources) = entries
@@ -62,7 +64,7 @@ object Language : BaseSettingsItem.Selector() {
entries = names
entryValues = values
val selectedLocale = currentLocale.getDisplayName(currentLocale)
value = names.indexOfFirst { it == selectedLocale }.let { if (it == -1) 0 else it }
index = names.indexOfFirst { it == selectedLocale }.let { if (it == -1) 0 else it }
notifyPropertyChanged(BR.description)
}
}
@@ -17,7 +17,6 @@ import com.topjohnwu.magisk.core.tasks.HideAPK
import com.topjohnwu.magisk.databinding.adapterOf
import com.topjohnwu.magisk.databinding.itemBindingOf
import com.topjohnwu.magisk.events.AddHomeIconEvent
import com.topjohnwu.magisk.events.RecreateEvent
import com.topjohnwu.magisk.events.SnackbarEvent
import com.topjohnwu.magisk.events.dialog.BiometricEvent
import com.topjohnwu.magisk.ktx.activity
@@ -108,7 +107,6 @@ class SettingsViewModel : BaseViewModel(), BaseSettingsItem.Handler {
override fun onItemAction(view: View, item: BaseSettingsItem) {
when (item) {
Language -> RecreateEvent().publish()
UpdateChannel -> openUrlIfNecessary(view)
is Hide -> viewModelScope.launch { HideAPK.hide(view.activity, item.value) }
Restore -> viewModelScope.launch { HideAPK.restore(view.activity) }