1 package com.android.wallpaper.module;
2 
3 import android.app.Activity;
4 import android.os.Bundle;
5 
6 import androidx.annotation.Nullable;
7 import androidx.lifecycle.LifecycleOwner;
8 
9 import com.android.wallpaper.model.CustomizationSectionController;
10 import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController;
11 import com.android.wallpaper.model.PermissionRequester;
12 import com.android.wallpaper.model.WallpaperColorsViewModel;
13 import com.android.wallpaper.model.WallpaperPreviewNavigator;
14 import com.android.wallpaper.model.WorkspaceViewModel;
15 
16 import java.util.List;
17 
18 /** Interface for carry {@link CustomizationSectionController}s. */
19 public interface CustomizationSections {
20 
21     /**
22      * Gets a new instance of the section controller list.
23      *
24      * Note that the section views will be displayed by the list ordering.
25      *
26      * <p>Don't keep the section controllers as singleton since they contain views.
27      */
getAllSectionControllers( Activity activity, LifecycleOwner lifecycleOwner, WallpaperColorsViewModel wallpaperColorsViewModel, WorkspaceViewModel workspaceViewModel, PermissionRequester permissionRequester, WallpaperPreviewNavigator wallpaperPreviewNavigator, CustomizationSectionNavigationController sectionNavigationController, @Nullable Bundle savedInstanceState)28     List<CustomizationSectionController<?>> getAllSectionControllers(
29             Activity activity,
30             LifecycleOwner lifecycleOwner,
31             WallpaperColorsViewModel wallpaperColorsViewModel,
32             WorkspaceViewModel workspaceViewModel,
33             PermissionRequester permissionRequester,
34             WallpaperPreviewNavigator wallpaperPreviewNavigator,
35             CustomizationSectionNavigationController sectionNavigationController,
36             @Nullable Bundle savedInstanceState);
37 }
38