This commit is contained in:
darken
2022-04-09 14:08:07 +02:00
parent e9bb4868c8
commit c23de67cd2
2 changed files with 9 additions and 4 deletions
@@ -12,13 +12,11 @@ import dagger.hilt.android.AndroidEntryPoint
import eu.darken.capod.R
import eu.darken.capod.common.uix.PreferenceFragment2
import eu.darken.capod.common.upgrade.UpgradeRepo
import eu.darken.capod.common.upgrade.isPro
import eu.darken.capod.main.core.GeneralSettings
import eu.darken.capod.main.core.MonitorMode
import eu.darken.capod.main.ui.settings.general.DeviceSelectionDialogFactory
import eu.darken.capod.reaction.autoconnect.AutoConnectCondition
import eu.darken.capod.reaction.settings.ReactionSettings
import kotlinx.coroutines.runBlocking
import javax.inject.Inject
@Keep
@@ -36,6 +34,7 @@ class ReactionSettingsFragment : PreferenceFragment2() {
override val preferenceFile: Int = R.xml.preferences_reactions
private var isPro: Boolean = false
private val autoConnectConditionPref by lazy { findPreference<ListPreference>(settings.autoConnectCondition.key)!! }
override fun onPreferencesCreated() {
@@ -44,12 +43,11 @@ class ReactionSettingsFragment : PreferenceFragment2() {
entryValues = AutoConnectCondition.values().map { settings.autoConnectCondition.rawWriter(it) as String }
.toTypedArray()
}
super.onPreferencesCreated()
}
override fun onPreferenceTreeClick(preference: Preference): Boolean {
val isPro = runBlocking { upgradeRepo.isPro() }
if (preference.key == reactionSettings.autoPlay.key && !isPro) {
preference as CheckBoxPreference
upgradeRepo.launchBillingFlow(requireActivity())
@@ -95,6 +93,8 @@ class ReactionSettingsFragment : PreferenceFragment2() {
autoConnectConditionPref.isEnabled = it
}
vm.isPro.observe2 { isPro = true }
super.onViewCreated(view, savedInstanceState)
}
@@ -6,6 +6,8 @@ import eu.darken.capod.common.bluetooth.BluetoothManager2
import eu.darken.capod.common.coroutine.DispatcherProvider
import eu.darken.capod.common.debug.logging.logTag
import eu.darken.capod.common.uix.ViewModel3
import eu.darken.capod.common.upgrade.UpgradeRepo
import kotlinx.coroutines.flow.map
import javax.inject.Inject
@HiltViewModel
@@ -13,10 +15,13 @@ class ReactionSettingsFragmentVM @Inject constructor(
private val handle: SavedStateHandle,
private val dispatcherProvider: DispatcherProvider,
private val bluetoothManager: BluetoothManager2,
private val upgradeRepo: UpgradeRepo,
) : ViewModel3(dispatcherProvider) {
val bondedDevices = bluetoothManager.bondedDevices().toList()
val isPro = upgradeRepo.upgradeInfo.map { it.isPro }.asLiveData2()
companion object {
private val TAG = logTag("Settings", "Reaction", "VM")
}