Loading src/com/android/customization/module/DefaultCustomizationSections.java +73 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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, Loading src/com/android/customization/module/ThemePickerInjector.java +3 −1 Original line number Diff line number Diff line Loading @@ -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; } Loading tests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt +2 −2 Original line number Diff line number Diff line Loading @@ -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>() Loading @@ -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>() Loading Loading
src/com/android/customization/module/DefaultCustomizationSections.java +73 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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, Loading
src/com/android/customization/module/ThemePickerInjector.java +3 −1 Original line number Diff line number Diff line Loading @@ -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; } Loading
tests/src/com/android/customization/model/picker/quickaffordance/data/repository/KeyguardQuickAffordancePickerRepositoryTest.kt +2 −2 Original line number Diff line number Diff line Loading @@ -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>() Loading @@ -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>() Loading