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

Commit b17c2388 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Control the QS label marquees." into pi-dev

parents d4471258 0f8ea543
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -50,4 +50,6 @@ public abstract class QSTileView extends LinearLayout {
    public abstract void onStateChanged(State state);

    public abstract int getDetailY();

    public void setExpansion(float expansion) {}
}
+7 −0
Original line number Diff line number Diff line
@@ -167,6 +167,13 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout {
        }
    }

    @Override
    public void setExpansion(float expansion) {
        for (TileRecord tr : mTiles) {
            tr.tileView.setExpansion(expansion);
        }
    }

    public void setPageListener(PageListener listener) {
        mPageListener = listener;
    }
+1 −0
Original line number Diff line number Diff line
@@ -291,6 +291,7 @@ public class QSFragment extends Fragment implements QS {
        mHeader.setExpansion(mKeyguardShowing, expansion, panelTranslationY);
        mFooter.setExpansion(mKeyguardShowing ? 1 : expansion);
        mQSPanel.getQsTileRevealController().setExpansion(expansion);
        mQSPanel.getTileLayout().setExpansion(expansion);
        mQSPanel.setTranslationY(translationScaleY * heightDiff);
        mQSDetail.setFullyExpanded(fullyExpanded);

+2 −0
Original line number Diff line number Diff line
@@ -616,5 +616,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
        boolean updateResources();

        void setListening(boolean listening);

        default void setExpansion(float expansion) {}
    }
}
+9 −7
Original line number Diff line number Diff line
@@ -32,12 +32,10 @@ import com.android.systemui.R;
import com.android.systemui.plugins.qs.QSIconView;
import com.android.systemui.plugins.qs.QSTile;


import java.util.Objects;

/** View that represents a standard quick settings tile. **/
public class QSTileView extends QSTileBaseView {
    private static final int DEFAULT_MAX_LINES = 2;
    private static final boolean DUAL_TARGET_ALLOWED = false;
    private View mDivider;
    protected TextView mLabel;
@@ -87,22 +85,17 @@ public class QSTileView extends QSTileBaseView {
        mLabelContainer.setClipChildren(false);
        mLabelContainer.setClipToPadding(false);
        mLabel = mLabelContainer.findViewById(R.id.tile_label);
        mLabel.setSelected(true); // Allow marquee to work.
        mPadLock = mLabelContainer.findViewById(R.id.restricted_padlock);
        mDivider = mLabelContainer.findViewById(R.id.underline);
        mExpandIndicator = mLabelContainer.findViewById(R.id.expand_indicator);
        mExpandSpace = mLabelContainer.findViewById(R.id.expand_space);
        mSecondLine = mLabelContainer.findViewById(R.id.app_label);
        mSecondLine.setAlpha(.6f);
        mSecondLine.setSelected(true); // Allow marquee to work.
        addView(mLabelContainer);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        if (mLabel.getMaxLines() != DEFAULT_MAX_LINES) {
            mLabel.setMaxLines(DEFAULT_MAX_LINES);
        }
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);

        // Remeasure view if the secondary label text will be cut off.
@@ -113,6 +106,15 @@ public class QSTileView extends QSTileBaseView {
        }
    }

    @Override
    public void setExpansion(float expansion) {
        // Start the marquee when fully expanded and stop when fully collapsed. Leave as is for
        // other expansion ratios since there is no way way to pause the marquee.
        boolean selected = expansion == 1f ? true : expansion == 0f ? false : mLabel.isSelected();
        mLabel.setSelected(selected);
        mSecondLine.setSelected(selected);
    }

    @Override
    protected void handleStateChanged(QSTile.State state) {
        super.handleStateChanged(state);