summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-12-22 00:25:50 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-12-22 00:25:50 +0000
commit1d0634e5ecc92c88d807e7fd0faf53da08a8bfb4 (patch)
tree5fb5ad87d4e942662cd9ae48567cbb888f06c195
parent2cbdd20590b8a57a1c1c6dd90bc87f0d2b4598b2 (diff)
parent2c332f87045f3d56be5f2ff216b4477212d8f04f (diff)
downloadThemePicker-1d0634e5ecc92c88d807e7fd0faf53da08a8bfb4.tar.gz
Snap for 9428515 from 2c332f87045f3d56be5f2ff216b4477212d8f04f to tm-qpr2-release
Change-Id: Ic370615bd4056c3693af42fa89791d7d1e3246ca
-rw-r--r--src/com/android/customization/module/DefaultCustomizationSections.java73
-rw-r--r--src/com/android/customization/module/ThemePickerInjector.java4
-rw-r--r--tests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt4
3 files changed, 78 insertions, 3 deletions
diff --git a/src/com/android/customization/module/DefaultCustomizationSections.java b/src/com/android/customization/module/DefaultCustomizationSections.java
index 7eb8865c..1540a096 100644
--- a/src/com/android/customization/module/DefaultCustomizationSections.java
+++ b/src/com/android/customization/module/DefaultCustomizationSections.java
@@ -5,6 +5,7 @@ import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.LifecycleOwner;
+import androidx.lifecycle.ViewModelProvider;
import com.android.customization.model.color.ColorSectionController;
import com.android.customization.model.grid.GridOptionsManager;
@@ -12,6 +13,9 @@ import com.android.customization.model.grid.GridSectionController;
import com.android.customization.model.mode.DarkModeSectionController;
import com.android.customization.model.themedicon.ThemedIconSectionController;
import com.android.customization.model.themedicon.ThemedIconSwitchProvider;
+import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor;
+import com.android.customization.picker.quickaffordance.ui.section.KeyguardQuickAffordanceSectionController;
+import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel;
import com.android.wallpaper.model.CustomizationSectionController;
import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController;
import com.android.wallpaper.model.PermissionRequester;
@@ -27,6 +31,75 @@ import java.util.List;
/** {@link CustomizationSections} for the customization picker. */
public final class DefaultCustomizationSections implements CustomizationSections {
+ private final KeyguardQuickAffordancePickerInteractor mKeyguardQuickAffordancePickerInteractor;
+ private final KeyguardQuickAffordancePickerViewModel.Factory
+ mKeyguardQuickAffordancePickerViewModelFactory;
+
+ public DefaultCustomizationSections(
+ KeyguardQuickAffordancePickerInteractor keyguardQuickAffordancePickerInteractor,
+ KeyguardQuickAffordancePickerViewModel.Factory
+ keyguardQuickAffordancePickerViewModelFactory) {
+ mKeyguardQuickAffordancePickerInteractor = keyguardQuickAffordancePickerInteractor;
+ mKeyguardQuickAffordancePickerViewModelFactory =
+ keyguardQuickAffordancePickerViewModelFactory;
+ }
+
+ @Override
+ public List<CustomizationSectionController<?>> getSectionControllersForScreen(
+ Screen screen,
+ FragmentActivity activity,
+ LifecycleOwner lifecycleOwner,
+ WallpaperColorsViewModel wallpaperColorsViewModel,
+ WorkspaceViewModel workspaceViewModel,
+ PermissionRequester permissionRequester,
+ WallpaperPreviewNavigator wallpaperPreviewNavigator,
+ CustomizationSectionNavigationController sectionNavigationController,
+ @Nullable Bundle savedInstanceState) {
+ List<CustomizationSectionController<?>> sectionControllers = new ArrayList<>();
+
+ // Wallpaper section.
+ sectionControllers.add(new WallpaperSectionController(
+ activity, lifecycleOwner, permissionRequester, wallpaperColorsViewModel,
+ workspaceViewModel, sectionNavigationController, wallpaperPreviewNavigator,
+ savedInstanceState));
+
+ // Theme color section.
+ sectionControllers.add(new ColorSectionController(
+ activity, wallpaperColorsViewModel, lifecycleOwner, savedInstanceState));
+
+ switch (screen) {
+ case LOCK_SCREEN:
+ // Lock screen quick affordances section.
+ sectionControllers.add(
+ new KeyguardQuickAffordanceSectionController(
+ sectionNavigationController,
+ mKeyguardQuickAffordancePickerInteractor,
+ new ViewModelProvider(
+ activity,
+ mKeyguardQuickAffordancePickerViewModelFactory)
+ .get(KeyguardQuickAffordancePickerViewModel.class),
+ lifecycleOwner));
+ break;
+
+ case HOME_SCREEN:
+ // Dark/Light theme section.
+ sectionControllers.add(new DarkModeSectionController(activity,
+ lifecycleOwner.getLifecycle()));
+
+ // Themed app icon section.
+ sectionControllers.add(new ThemedIconSectionController(
+ ThemedIconSwitchProvider.getInstance(activity), workspaceViewModel,
+ savedInstanceState));
+
+ // App grid section.
+ sectionControllers.add(new GridSectionController(
+ GridOptionsManager.getInstance(activity), sectionNavigationController));
+ break;
+ }
+
+ return sectionControllers;
+ }
+
@Override
public List<CustomizationSectionController<?>> getAllSectionControllers(
FragmentActivity activity,
diff --git a/src/com/android/customization/module/ThemePickerInjector.java b/src/com/android/customization/module/ThemePickerInjector.java
index 7342d384..263b44e0 100644
--- a/src/com/android/customization/module/ThemePickerInjector.java
+++ b/src/com/android/customization/module/ThemePickerInjector.java
@@ -70,7 +70,9 @@ public class ThemePickerInjector extends WallpaperPicker2Injector
@Override
public CustomizationSections getCustomizationSections(Activity activity) {
if (mCustomizationSections == null) {
- mCustomizationSections = new DefaultCustomizationSections();
+ mCustomizationSections = new DefaultCustomizationSections(
+ mKeyguardQuickAffordancePickerInteractor,
+ mKeyguardQuickAffordancePickerViewModelFactory);
}
return mCustomizationSections;
}
diff --git a/tests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt b/tests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt
index 4a88f3b8..5e4fa6e6 100644
--- a/tests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt
+++ b/tests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt
@@ -72,7 +72,7 @@ class KeyguardQuickAffordancePickerRepositoryTest {
com.android.systemui.shared.quickaffordance.data.content
.KeyguardQuickAffordanceProviderContract
.FlagsTable
- .FLAG_NAME_FEATURE_ENABLED,
+ .FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED,
true,
)
val values = mutableListOf<Boolean>()
@@ -90,7 +90,7 @@ class KeyguardQuickAffordancePickerRepositoryTest {
com.android.systemui.shared.quickaffordance.data.content
.KeyguardQuickAffordanceProviderContract
.FlagsTable
- .FLAG_NAME_FEATURE_ENABLED,
+ .FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED,
false,
)
val values = mutableListOf<Boolean>()