Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b3aad545 authored by Catherine Liang's avatar Catherine Liang Committed by Automerger Merge Worker
Browse files

Merge "Revert and fix "Fix for color picker pager getting clipped"" into...

Merge "Revert and fix "Fix for color picker pager getting clipped"" into tm-qpr-dev am: dc630631 am: fb0bc581

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/ThemePicker/+/22196986



Change-Id: I66b90ca429e079a882e6c02a2fed5b51eedb8e86
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 8e2676af fb0bc581
Loading
Loading
Loading
Loading
+8 −26
Original line number Diff line number Diff line
@@ -41,7 +41,6 @@ import android.widget.FrameLayout;
import androidx.annotation.Nullable;
import androidx.lifecycle.LifecycleOwner;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.widget.MarginPageTransformer;
import androidx.viewpager2.widget.ViewPager2;

import com.android.customization.model.CustomizationManager;
@@ -54,7 +53,6 @@ import com.android.wallpaper.R;
import com.android.wallpaper.model.CustomizationSectionController;
import com.android.wallpaper.model.WallpaperColorsViewModel;
import com.android.wallpaper.module.InjectorProvider;
import com.android.wallpaper.module.LargeScreenMultiPanesChecker;
import com.android.wallpaper.widget.PageIndicator;
import com.android.wallpaper.widget.SeparatedTabLayout;

@@ -104,7 +102,6 @@ public class ColorSectionController implements CustomizationSectionController<Co
            new Optional[]{Optional.empty(), Optional.empty()};
    private long mLastColorApplyingTime = 0L;
    private ColorSectionView mColorSectionView;
    private boolean mIsMultiPane;

    private static int getNumPages(int optionsPerPage, int totalOptions) {
        return (int) Math.ceil((float) totalOptions / optionsPerPage);
@@ -118,7 +115,6 @@ public class ColorSectionController implements CustomizationSectionController<Co
                new OverlayManagerCompat(activity));
        mWallpaperColorsViewModel = viewModel;
        mLifecycleOwner = lifecycleOwner;
        mIsMultiPane = new LargeScreenMultiPanesChecker().isMultiPanesEnabled(activity);

        if (savedInstanceState != null) {
            if (savedInstanceState.containsKey(KEY_COLOR_TAB_POSITION)) {
@@ -326,10 +322,8 @@ public class ColorSectionController implements CustomizationSectionController<Co
            subOptions = colorOptions;
        }

        final int padding = container.getContext().getResources().getDimensionPixelSize(
                R.dimen.section_horizontal_padding);
        OptionSelectorController<ColorOption> adaptiveController = new OptionSelectorController<>(
                container, subOptions, /* useGrid= */ true, CENTER, padding);
                container, subOptions, /* useGrid= */ true, CENTER);
        adaptiveController.initOptions(mColorManager);
        setUpColorOptionsController(adaptiveController);
    }
@@ -474,16 +468,6 @@ public class ColorSectionController implements CustomizationSectionController<Co
                mContainer = itemView.findViewById(R.id.color_page_container);
                // Correct scrolling goes under collapsing toolbar while scrolling oclor options.
                mContainer.getChildAt(0).setNestedScrollingEnabled(false);
                /**
                 * Sets page transformer with margin to separate color pages and
                 * sets color pages' padding to not scroll to window boundary if multi-pane case
                 */
                if (mIsMultiPane) {
                    final int padding = itemView.getContext().getResources().getDimensionPixelSize(
                            R.dimen.section_horizontal_padding);
                    mContainer.setPageTransformer(new MarginPageTransformer(padding * 2));
                    mContainer.setPadding(0, /* top= */ 0, 0, /* bottom= */ 0);
                }
                mPageIndicator = itemView.findViewById(R.id.color_page_indicator);
                if (ColorProvider.themeStyleEnabled) {
                    mPageIndicator.setVisibility(VISIBLE);
@@ -541,8 +525,7 @@ public class ColorSectionController implements CustomizationSectionController<Co
            ColorOptionViewHolder(View itemView) {
                super(itemView);
                mContainer = itemView.findViewById(R.id.color_option_container);
                // Sets layout with margins for non multi-pane case to separate color options.
                if (!mIsMultiPane) {
                // Sets layout with margins to separate color options.
                final FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(
                        mContainer.getLayoutParams());
                final int margin = itemView.getContext().getResources().getDimensionPixelSize(
@@ -553,4 +536,3 @@ public class ColorSectionController implements CustomizationSectionController<Co
        }
    }
}
}
+1 −1
Original line number Diff line number Diff line
@@ -217,7 +217,7 @@ public class GridFragment extends AppbarFragment {
                mLoading.hide();
                mOptionsController = new OptionSelectorController<>(
                        mOptionsContainer, options, /* useGrid= */ false,
                        CheckmarkStyle.CENTER_CHANGE_COLOR_WHEN_NOT_SELECTED, 0);
                        CheckmarkStyle.CENTER_CHANGE_COLOR_WHEN_NOT_SELECTED);
                mOptionsController.initOptions(mGridManager);
                GridOption previouslySelectedOption = findEquivalent(options,
                        mGridOptionViewModel.getSelectedOption());
+1 −1
Original line number Diff line number Diff line
@@ -95,7 +95,7 @@ public class CustomThemeComponentFragment extends CustomThemeStepFragment {
    private void setUpOptions() {
        mProvider.fetch(options -> {
            mOptionsController = new OptionSelectorController(
                    mOptionsContainer, options, mUseGridLayout, CheckmarkStyle.NONE, 0);
                    mOptionsContainer, options, mUseGridLayout, CheckmarkStyle.NONE);

            mOptionsController.addListener(selected -> {
                mSelectedOption = (ThemeComponentOption) selected;
+1 −1
Original line number Diff line number Diff line
@@ -258,7 +258,7 @@ public class ThemeFragment extends AppbarFragment {
        mThemeManager.fetchOptions(new OptionsFetchedListener<ThemeBundle>() {
            @Override
            public void onOptionsLoaded(List<ThemeBundle> options) {
                mOptionsController = new OptionSelectorController<>(mOptionsContainer, options, 0);
                mOptionsController = new OptionSelectorController<>(mOptionsContainer, options);
                mOptionsController.initOptions(mThemeManager);

                // Find out the selected theme option.
+3 −8
Original line number Diff line number Diff line
@@ -85,19 +85,18 @@ public class OptionSelectorController<T extends CustomizationOption<T>> {
    private final boolean mUseGrid;
    @CheckmarkStyle
    private final int mCheckmarkStyle;
    private final int mContainerInset;

    private final Set<OptionSelectedListener> mListeners = new HashSet<>();
    private RecyclerView.Adapter<TileViewHolder> mAdapter;
    private T mSelectedOption;
    private T mAppliedOption;

    public OptionSelectorController(RecyclerView container, List<T> options, int containerInset) {
        this(container, options, true, CheckmarkStyle.CORNER, containerInset);
    public OptionSelectorController(RecyclerView container, List<T> options) {
        this(container, options, true, CheckmarkStyle.CORNER);
    }

    public OptionSelectorController(RecyclerView container, List<T> options,
            boolean useGrid, @CheckmarkStyle int checkmarkStyle, int containerInset) {
            boolean useGrid, @CheckmarkStyle int checkmarkStyle) {
        mContainer = container;
        mOptions = options;
        mUseGrid = useGrid;
@@ -106,7 +105,6 @@ public class OptionSelectorController<T extends CustomizationOption<T>> {
        mContainer.getResources().getValue(R.dimen.linear_layout_horizontal_display_options_max,
                typedValue, true);
        mLinearLayoutHorizontalDisplayOptionsMax = typedValue.getFloat();
        mContainerInset = containerInset;
    }

    public void addListener(OptionSelectedListener listener) {
@@ -304,9 +302,6 @@ public class OptionSelectorController<T extends CustomizationOption<T>> {
            int numColumns = res.getInteger(R.integer.options_grid_num_columns);
            GridLayoutManager gridLayoutManager = new GridLayoutManager(mContainer.getContext(),
                    numColumns);
            if (mContainerInset != 0) {
                mContainer.setPadding(mContainerInset, 0, mContainerInset, 0);
            }
            mContainer.setLayoutManager(gridLayoutManager);
        } else {
            final int padding = res.getDimensionPixelSize(