Merge "Control the QS label marquees." into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b17c2388a5
@@ -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) {}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -616,5 +616,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
|
||||
boolean updateResources();
|
||||
|
||||
void setListening(boolean listening);
|
||||
|
||||
default void setExpansion(float expansion) {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user