Added theme mode picker dialog

Redesigned settings' selector for dark mode a bit
This commit is contained in:
Viktor De Pasquale
2019-10-20 17:28:18 +02:00
parent 27fb0474d5
commit dc09ec7598
8 changed files with 134 additions and 28 deletions
@@ -4,14 +4,13 @@ import com.topjohnwu.magisk.Config
import com.topjohnwu.magisk.extensions.addOnPropertyChangedCallback
import com.topjohnwu.magisk.extensions.toggle
import com.topjohnwu.magisk.model.events.DieEvent
import com.topjohnwu.magisk.model.events.RecreateEvent
import com.topjohnwu.magisk.model.events.dialog.DarkThemeDialog
import com.topjohnwu.magisk.redesign.compat.CompatViewModel
import com.topjohnwu.magisk.utils.KObservableField
class SettingsViewModel : CompatViewModel() {
val redesign = KObservableField(Config.redesign)
val darkTheme = KObservableField(Config.darkTheme)
init {
//todo make observable preference
@@ -19,12 +18,9 @@ class SettingsViewModel : CompatViewModel() {
Config.redesign = redesign.value
DieEvent().publish()
}
darkTheme.addOnPropertyChangedCallback {
Config.darkTheme = darkTheme.value
RecreateEvent().publish()
}
}
fun toggle(item: KObservableField<Boolean>) = item.toggle()
fun darkModePressed() = DarkThemeDialog().publish()
}