diff options
3 files changed, 30 insertions, 10 deletions
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTileView.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTileView.java index 18d27bb419d4..53f7e44bc25a 100644 --- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTileView.java +++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTileView.java @@ -26,14 +26,26 @@ import com.android.systemui.plugins.qs.QSTile.State; @DependsOn(target = QSIconView.class) @DependsOn(target = QSTile.class) public abstract class QSTileView extends LinearLayout { - public static final int VERSION = 1; + public static final int VERSION = 2; public QSTileView(Context context) { super(context); } public abstract View updateAccessibilityOrder(View previousView); + + /** + * Returns a {@link QSIconView} containing only the icon for this tile. Use + * {@link #getIconWithBackground()} to retrieve the entire tile (background & peripherals + * included). + */ public abstract QSIconView getIcon(); + + /** + * Returns a {@link View} containing the icon for this tile along with the accompanying + * background circle/peripherals. To retrieve only the inner icon, use {@link #getIcon()}. + */ + public abstract View getIconWithBackground(); public abstract void init(QSTile tile); public abstract void onStateChanged(State state); diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java index 95185c087f38..001b40980065 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java @@ -44,7 +44,11 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha public static final float EXPANDED_TILE_DELAY = .86f; private final ArrayList<View> mAllViews = new ArrayList<>(); - private final ArrayList<View> mTopFiveQs = new ArrayList<>(); + /** + * List of {@link View}s representing Quick Settings that are being animated from the quick QS + * position to the normal QS panel. + */ + private final ArrayList<View> mQuickQsViews = new ArrayList<>(); private final QuickQSPanel mQuickQsPanel; private final QSPanel mQsPanel; private final QS mQs; @@ -157,7 +161,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha clearAnimationState(); mAllViews.clear(); - mTopFiveQs.clear(); + mQuickQsViews.clear(); QSTileLayout tileLayout = mQsPanel.getTileLayout(); mAllViews.add((View) tileLayout); @@ -198,7 +202,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha translationXBuilder.addFloat(tileView, "translationX", -xDiff, 0); translationYBuilder.addFloat(tileView, "translationY", -yDiff, 0); - mTopFiveQs.add(tileView.getIcon()); + mQuickQsViews.add(tileView.getIconWithBackground()); mAllViews.add(tileView.getIcon()); mAllViews.add(quickTileView); } else if (mFullRows && isIconInAnimatedRow(count)) { @@ -322,9 +326,9 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha @Override public void onAnimationAtEnd() { mQuickQsPanel.setVisibility(View.INVISIBLE); - final int N = mTopFiveQs.size(); + final int N = mQuickQsViews.size(); for (int i = 0; i < N; i++) { - mTopFiveQs.get(i).setVisibility(View.VISIBLE); + mQuickQsViews.get(i).setVisibility(View.VISIBLE); } } @@ -332,9 +336,9 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha public void onAnimationStarted() { mQuickQsPanel.setVisibility(mOnKeyguard ? View.INVISIBLE : View.VISIBLE); if (mOnFirstPage) { - final int N = mTopFiveQs.size(); + final int N = mQuickQsViews.size(); for (int i = 0; i < N; i++) { - mTopFiveQs.get(i).setVisibility(View.INVISIBLE); + mQuickQsViews.get(i).setVisibility(View.INVISIBLE); } } } @@ -348,9 +352,9 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha v.setTranslationX(0); v.setTranslationY(0); } - final int N2 = mTopFiveQs.size(); + final int N2 = mQuickQsViews.size(); for (int i = 0; i < N2; i++) { - mTopFiveQs.get(i).setVisibility(View.VISIBLE); + mQuickQsViews.get(i).setVisibility(View.VISIBLE); } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java index b4cfda60fba3..c9c678c2ad25 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java @@ -236,6 +236,10 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView { return mIcon; } + public View getIconWithBackground() { + return mIconFrame; + } + @Override public boolean performClick() { mClicked = true; |