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

Commit 66daa1f5 authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Android (Google) Code Review
Browse files

Merge "Use 4 columns in QS portrait"

parents 7ff909b9 032d1b1d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -20,6 +20,9 @@
<!-- These resources are around just to allow their values to be customized
     for different hardware and product builds. -->
<resources>
    <!-- The maximum number of tiles in the QuickQSPanel -->
    <integer name="quick_qs_panel_max_columns">6</integer>

    <!-- The maximum number of rows in the QuickSettings -->
    <integer name="quick_settings_max_rows">2</integer>

+2 −2
Original line number Diff line number Diff line
@@ -93,10 +93,10 @@
    <bool name="config_navigation_bar_enable_auto_dim_no_visible_wallpaper">true</bool>

    <!-- The maximum number of tiles in the QuickQSPanel -->
    <integer name="quick_qs_panel_max_columns">6</integer>
    <integer name="quick_qs_panel_max_columns">4</integer>

    <!-- The number of columns in the QuickSettings -->
    <integer name="quick_settings_num_columns">3</integer>
    <integer name="quick_settings_num_columns">4</integer>

    <!-- The number of rows in the QuickSettings -->
    <integer name="quick_settings_max_rows">3</integer>
+2 −16
Original line number Diff line number Diff line
@@ -200,8 +200,6 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
        int count = 0;
        int[] loc1 = new int[2];
        int[] loc2 = new int[2];
        int lastXDiff = 0;
        int lastX = 0;

        clearAnimationState();
        mAllViews.clear();
@@ -231,12 +229,11 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
                QSTileView quickTileView = mQuickQSPanelController.getTileView(tile);
                if (quickTileView == null) continue;

                lastX = loc1[0];
                getRelativePosition(loc1, quickTileView.getIcon().getIconView(), view);
                getRelativePosition(loc2, tileIcon, view);
                final int xDiff = loc2[0] - loc1[0];
                final int yDiff = loc2[1] - loc1[1];
                lastXDiff = loc1[0] - lastX;


                if (count < tileLayout.getNumVisibleTiles()) {
                    // Move the quick tile right from its location to the new one.
@@ -267,19 +264,8 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
                mAllViews.add(tileView.getIcon());
                mAllViews.add(quickTileView);
            } else if (mFullRows && isIconInAnimatedRow(count)) {
                // TODO: Refactor some of this, it shares a lot with the above block.
                // Move the last tile position over by the last difference between quick tiles.
                // This makes the extra icons seems as if they are coming from positions in the
                // quick panel.
                loc1[0] += lastXDiff;
                getRelativePosition(loc2, tileIcon, view);
                final int xDiff = loc2[0] - loc1[0];
                final int yDiff = loc2[1] - loc1[1];

                firstPageBuilder.addFloat(tileView, "translationY", heightDiff, 0);
                translationXBuilder.addFloat(tileView, "translationX", -xDiff, 0);
                translationYBuilder.addFloat(tileView, "translationY", -yDiff, 0);
                translationYBuilder.addFloat(tileIcon, "translationY", -yDiff, 0);
                firstPageBuilder.addFloat(tileView, "translationY", -heightDiff, 0);

                mAllViews.add(tileIcon);
            } else {
+5 −5
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ public class QuickQSPanel extends QSPanel {
    public static final String NUM_QUICK_TILES = "sysui_qqs_count";
    private static final String TAG = "QuickQSPanel";
    // A default value so that we never return 0.
    private static int sDefaultMaxTiles = 6;
    public static final int DEFAULT_MAX_TILES = 6;

    private boolean mDisabledByPolicy;
    private int mMaxTiles;
@@ -62,8 +62,8 @@ public class QuickQSPanel extends QSPanel {
            @Named(QUICK_QS_PANEL) MediaHost mediaHost,
            UiEventLogger uiEventLogger) {
        super(context, attrs, qsLogger, mediaHost, uiEventLogger);
        sDefaultMaxTiles = getResources().getInteger(R.integer.quick_qs_panel_max_columns);
        mMaxTiles = sDefaultMaxTiles;
        mMaxTiles = Math.min(DEFAULT_MAX_TILES,
                getResources().getInteger(R.integer.quick_qs_panel_max_columns));
        applyBottomMargin((View) mRegularTileLayout);
    }

@@ -141,7 +141,7 @@ public class QuickQSPanel extends QSPanel {
    }

    public void setMaxTiles(int maxTiles) {
        mMaxTiles = maxTiles;
        mMaxTiles = Math.min(maxTiles, DEFAULT_MAX_TILES);
    }

    @Override
@@ -167,7 +167,7 @@ public class QuickQSPanel extends QSPanel {
            return Integer.parseInt(numTilesValue);
        } catch (NumberFormatException e) {
            // Couldn't read an int from the new setting value. Use default.
            return sDefaultMaxTiles;
            return DEFAULT_MAX_TILES;
        }
    }

+18 −17
Original line number Diff line number Diff line
@@ -16,52 +16,53 @@

package com.android.systemui.qs;

import static com.android.systemui.qs.QuickQSPanel.NUM_QUICK_TILES;
import static com.android.systemui.qs.QuickQSPanel.parseNumTiles;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.R;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.qs.customize.QSCustomizerController;
import com.android.systemui.qs.dagger.QSScope;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.tuner.TunerService.Tunable;

import java.util.ArrayList;
import java.util.List;

import javax.inject.Inject;

/** Controller for {@link QuickQSPanel}. */
@QSScope
public class QuickQSPanelController extends QSPanelControllerBase<QuickQSPanel> {
    private final Tunable mNumTiles =
            (key, newValue) -> setMaxTiles(parseNumTiles(newValue));

    private final TunerService mTunerService;
    private List<QSTile> mAllTiles = new ArrayList<>();

    private final QSPanel.OnConfigurationChangedListener mOnConfigurationChangedListener =
            newConfig -> {
                int newMaxTiles = getResources().getInteger(R.integer.quick_qs_panel_max_columns);
                if (newMaxTiles != mView.getNumQuickTiles()) {
                    setMaxTiles(newMaxTiles);
                }
            };

    @Inject
    QuickQSPanelController(QuickQSPanel view, TunerService tunerService, QSTileHost qsTileHost,
    QuickQSPanelController(QuickQSPanel view, QSTileHost qsTileHost,
            QSCustomizerController qsCustomizerController,
            QSTileRevealController.Factory qsTileRevealControllerFactory,
            MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
            DumpManager dumpManager) {
        super(view, qsTileHost, qsCustomizerController, qsTileRevealControllerFactory,
                metricsLogger, uiEventLogger, dumpManager);
        mTunerService = tunerService;
    }

    @Override
    protected void onViewAttached() {
        super.onViewAttached();
        mTunerService.addTunable(mNumTiles, NUM_QUICK_TILES);

        mView.addOnConfigurationChangedListener(mOnConfigurationChangedListener);
    }

    @Override
    protected void onViewDetached() {
        super.onViewDetached();
        mTunerService.removeTunable(mNumTiles);
        mView.removeOnConfigurationChangedListener(mOnConfigurationChangedListener);
    }

    public boolean isListening() {
@@ -75,14 +76,14 @@ public class QuickQSPanelController extends QSPanelControllerBase<QuickQSPanel>

    @Override
    public void setTiles() {
        ArrayList<QSTile> quickTiles = new ArrayList<>();
        mAllTiles.clear();
        for (QSTile tile : mHost.getTiles()) {
            quickTiles.add(tile);
            if (quickTiles.size() == mView.getNumQuickTiles()) {
            mAllTiles.add(tile);
            if (mAllTiles.size() == QuickQSPanel.DEFAULT_MAX_TILES) {
                break;
            }
        }
        super.setTiles(quickTiles, true);
        super.setTiles(mAllTiles.subList(0, mView.getNumQuickTiles()), true);
    }

    public int getNumQuickTiles() {
Loading