1 package com.android.wallpaper.module;
2 
3 import android.app.WallpaperManager;
4 import android.os.Bundle;
5 
6 import androidx.annotation.Nullable;
7 import androidx.fragment.app.FragmentActivity;
8 import androidx.lifecycle.LifecycleOwner;
9 
10 import com.android.wallpaper.model.CustomizationSectionController;
11 import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController;
12 import com.android.wallpaper.model.PermissionRequester;
13 import com.android.wallpaper.model.Screen;
14 import com.android.wallpaper.model.WallpaperPreviewNavigator;
15 import com.android.wallpaper.picker.customization.data.repository.WallpaperColorsRepository;
16 import com.android.wallpaper.picker.customization.domain.interactor.WallpaperInteractor;
17 import com.android.wallpaper.picker.customization.ui.viewmodel.CustomizationPickerViewModel;
18 import com.android.wallpaper.util.DisplayUtils;
19 
20 import java.util.List;
21 
22 /** Interface for carry {@link CustomizationSectionController}s. */
23 public interface CustomizationSections {
24 
25     /**
26      * Currently protected under BaseFlags.isUseRevampedUi() flag.
27      *
28      * Gets a new instance of the section controller list for the given {@link Screen}.
29      *
30      * Note that the section views will be displayed by the list ordering.
31      *
32      * <p>Don't keep the section controllers as singleton since they contain views.
33      */
getSectionControllersForScreen( Screen screen, FragmentActivity activity, LifecycleOwner lifecycleOwner, WallpaperColorsRepository wallpaperColorsRepository, PermissionRequester permissionRequester, WallpaperPreviewNavigator wallpaperPreviewNavigator, CustomizationSectionNavigationController sectionNavigationController, @Nullable Bundle savedInstanceState, CurrentWallpaperInfoFactory wallpaperInfoFactory, DisplayUtils displayUtils, CustomizationPickerViewModel customizationPickerViewModel, WallpaperInteractor wallpaperInteractor, WallpaperManager wallpaperManager, boolean isTwoPaneAndSmallWidth)34     List<CustomizationSectionController<?>> getSectionControllersForScreen(
35             Screen screen,
36             FragmentActivity activity,
37             LifecycleOwner lifecycleOwner,
38             WallpaperColorsRepository wallpaperColorsRepository,
39             PermissionRequester permissionRequester,
40             WallpaperPreviewNavigator wallpaperPreviewNavigator,
41             CustomizationSectionNavigationController sectionNavigationController,
42             @Nullable Bundle savedInstanceState,
43             CurrentWallpaperInfoFactory wallpaperInfoFactory,
44             DisplayUtils displayUtils,
45             CustomizationPickerViewModel customizationPickerViewModel,
46             WallpaperInteractor wallpaperInteractor,
47             WallpaperManager wallpaperManager,
48             boolean isTwoPaneAndSmallWidth);
49 }
50