diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-12-22 00:25:50 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-12-22 00:25:50 +0000 |
commit | 1d0634e5ecc92c88d807e7fd0faf53da08a8bfb4 (patch) | |
tree | 5fb5ad87d4e942662cd9ae48567cbb888f06c195 | |
parent | 2cbdd20590b8a57a1c1c6dd90bc87f0d2b4598b2 (diff) | |
parent | 2c332f87045f3d56be5f2ff216b4477212d8f04f (diff) | |
download | ThemePicker-1d0634e5ecc92c88d807e7fd0faf53da08a8bfb4.tar.gz |
Snap for 9428515 from 2c332f87045f3d56be5f2ff216b4477212d8f04f to tm-qpr2-release
Change-Id: Ic370615bd4056c3693af42fa89791d7d1e3246ca
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>() |