summaryrefslogtreecommitdiff
path: root/src/com/android/customization/picker
diff options
context:
space:
mode:
authorCatherine Liang <cathliang@google.com>2023-10-10 18:57:52 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-10-10 18:57:52 +0000
commit4abe2fbaa85dfd646c53eb5ff3bffa36eb6c1bc5 (patch)
tree09a8a3cbb7693e9b8af7b40d26365d6bd014d7b1 /src/com/android/customization/picker
parent0ce5baf56046f9da23ee2c7aae7ba063d321fb85 (diff)
parent0df3e12b96e9940f863a89f24ea0e0e5f034e0be (diff)
downloadThemePicker-4abe2fbaa85dfd646c53eb5ff3bffa36eb6c1bc5.tar.gz
Merge "Adjust quick affordance section controller to use base flags (2/3)" into main
Diffstat (limited to 'src/com/android/customization/picker')
-rw-r--r--src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt20
-rw-r--r--src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt5
-rw-r--r--src/com/android/customization/picker/quickaffordance/ui/section/KeyguardQuickAffordanceSectionController.kt8
3 files changed, 2 insertions, 31 deletions
diff --git a/src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt b/src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt
index b17af80d..10473a27 100644
--- a/src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt
+++ b/src/com/android/customization/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepository.kt
@@ -21,11 +21,8 @@ import com.android.customization.picker.quickaffordance.shared.model.KeyguardQui
import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerSelectionModel as SelectionModel
import com.android.customization.picker.quickaffordance.shared.model.KeyguardQuickAffordancePickerSlotModel as SlotModel
import com.android.systemui.shared.customization.data.content.CustomizationProviderClient as Client
-import com.android.systemui.shared.customization.data.content.CustomizationProviderContract as Contract
-import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.withContext
/**
* Abstracts access to application state related to functionality for selecting, picking, or setting
@@ -33,12 +30,7 @@ import kotlinx.coroutines.withContext
*/
class KeyguardQuickAffordancePickerRepository(
private val client: Client,
- private val backgroundDispatcher: CoroutineDispatcher,
) {
- /** Whether the feature is enabled. */
- val isFeatureEnabled: Flow<Boolean> =
- client.observeFlags().map { flags -> flags.isFeatureEnabled() }
-
/** List of slots available on the device. */
val slots: Flow<List<SlotModel>> =
client.observeSlots().map { slots -> slots.map { slot -> slot.toModel() } }
@@ -55,18 +47,6 @@ class KeyguardQuickAffordancePickerRepository(
selections.map { selection -> selection.toModel() }
}
- suspend fun isFeatureEnabled(): Boolean {
- return withContext(backgroundDispatcher) { client.queryFlags().isFeatureEnabled() }
- }
-
- private fun List<Client.Flag>.isFeatureEnabled(): Boolean {
- return find { flag ->
- flag.name ==
- Contract.FlagsTable.FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED
- }
- ?.value == true
- }
-
private fun Client.Slot.toModel(): SlotModel {
return SlotModel(
id = id,
diff --git a/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt b/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt
index f154de65..60801943 100644
--- a/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt
+++ b/src/com/android/customization/picker/quickaffordance/domain/interactor/KeyguardQuickAffordancePickerInteractor.kt
@@ -78,9 +78,4 @@ class KeyguardQuickAffordancePickerInteractor(
): Drawable {
return client.getAffordanceIcon(iconResourceId)
}
-
- /** Returns `true` if the feature is enabled; `false` otherwise. */
- suspend fun isFeatureEnabled(): Boolean {
- return repository.isFeatureEnabled()
- }
}
diff --git a/src/com/android/customization/picker/quickaffordance/ui/section/KeyguardQuickAffordanceSectionController.kt b/src/com/android/customization/picker/quickaffordance/ui/section/KeyguardQuickAffordanceSectionController.kt
index e0beeff0..0c7b250d 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/section/KeyguardQuickAffordanceSectionController.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/section/KeyguardQuickAffordanceSectionController.kt
@@ -20,27 +20,23 @@ package com.android.customization.picker.quickaffordance.ui.section
import android.content.Context
import android.view.LayoutInflater
import androidx.lifecycle.LifecycleOwner
-import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor
import com.android.customization.picker.quickaffordance.ui.binder.KeyguardQuickAffordanceSectionViewBinder
import com.android.customization.picker.quickaffordance.ui.fragment.KeyguardQuickAffordancePickerFragment
import com.android.customization.picker.quickaffordance.ui.view.KeyguardQuickAffordanceSectionView
import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel
import com.android.wallpaper.R
+import com.android.wallpaper.config.BaseFlags
import com.android.wallpaper.model.CustomizationSectionController
import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController as NavigationController
-import kotlinx.coroutines.runBlocking
class KeyguardQuickAffordanceSectionController(
private val navigationController: NavigationController,
- private val interactor: KeyguardQuickAffordancePickerInteractor,
private val viewModel: KeyguardQuickAffordancePickerViewModel,
private val lifecycleOwner: LifecycleOwner,
) : CustomizationSectionController<KeyguardQuickAffordanceSectionView> {
- private val isFeatureEnabled: Boolean = runBlocking { interactor.isFeatureEnabled() }
-
override fun isAvailable(context: Context): Boolean {
- return isFeatureEnabled
+ return BaseFlags.get().isKeyguardQuickAffordanceEnabled(context)
}
override fun createView(context: Context): KeyguardQuickAffordanceSectionView {