Loading packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +32 −1 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.qs; package com.android.systemui.qs; import static com.android.systemui.qs.tileimpl.QSTileImpl.getColorForState; import static com.android.systemui.qs.tileimpl.QSTileImpl.getColorForState; import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT; import android.annotation.Nullable; import android.annotation.Nullable; import android.content.ComponentName; import android.content.ComponentName; Loading @@ -37,6 +38,8 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settingslib.Utils; import com.android.settingslib.Utils; import com.android.systemui.Dependency; import com.android.systemui.Dependency; import com.android.systemui.DumpController; import com.android.systemui.Dumpable; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.plugins.qs.DetailAdapter; import com.android.systemui.plugins.qs.DetailAdapter; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile; Loading @@ -51,11 +54,17 @@ import com.android.systemui.statusbar.policy.BrightnessMirrorController.Brightne import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; import com.android.systemui.tuner.TunerService.Tunable; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.ArrayList; import java.util.ArrayList; import java.util.Collection; import java.util.Collection; import javax.inject.Inject; import javax.inject.Named; /** View that represents the quick settings tile panel (when expanded/pulled down). **/ /** View that represents the quick settings tile panel (when expanded/pulled down). **/ public class QSPanel extends LinearLayout implements Tunable, Callback, BrightnessMirrorListener { public class QSPanel extends LinearLayout implements Tunable, Callback, BrightnessMirrorListener, Dumpable { public static final String QS_SHOW_BRIGHTNESS = "qs_show_brightness"; public static final String QS_SHOW_BRIGHTNESS = "qs_show_brightness"; public static final String QS_SHOW_HEADER = "qs_show_header"; public static final String QS_SHOW_HEADER = "qs_show_header"; Loading @@ -74,6 +83,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne private QSDetail.Callback mCallback; private QSDetail.Callback mCallback; private BrightnessController mBrightnessController; private BrightnessController mBrightnessController; private DumpController mDumpController; protected QSTileHost mHost; protected QSTileHost mHost; protected QSSecurityFooter mFooter; protected QSSecurityFooter mFooter; Loading @@ -93,6 +103,12 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne } } public QSPanel(Context context, AttributeSet attrs) { public QSPanel(Context context, AttributeSet attrs) { this(context, attrs, null); } @Inject public QSPanel(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs, DumpController dumpController) { super(context, attrs); super(context, attrs); mContext = context; mContext = context; Loading @@ -119,6 +135,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne mBrightnessController = new BrightnessController(getContext(), mBrightnessController = new BrightnessController(getContext(), findViewById(R.id.brightness_slider)); findViewById(R.id.brightness_slider)); mDumpController = dumpController; } } protected void addDivider() { protected void addDivider() { Loading Loading @@ -170,6 +187,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne if (mBrightnessMirrorController != null) { if (mBrightnessMirrorController != null) { mBrightnessMirrorController.addCallback(this); mBrightnessMirrorController.addCallback(this); } } if (mDumpController != null) mDumpController.addListener(this); } } @Override @Override Loading @@ -184,6 +202,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne if (mBrightnessMirrorController != null) { if (mBrightnessMirrorController != null) { mBrightnessMirrorController.removeCallback(this); mBrightnessMirrorController.removeCallback(this); } } if (mDumpController != null) mDumpController.removeListener(this); super.onDetachedFromWindow(); super.onDetachedFromWindow(); } } Loading Loading @@ -649,6 +668,18 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne } } } } @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println(getClass().getSimpleName() + ":"); pw.println(" Tile records:"); for (TileRecord record : mRecords) { if (record.tile instanceof Dumpable) { pw.print(" "); ((Dumpable) record.tile).dump(fd, pw, args); pw.print(" "); pw.println(record.tileView.toString()); } } } protected static class Record { protected static class Record { DetailAdapter detailAdapter; DetailAdapter detailAdapter; int x; int x; Loading packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java +18 −2 Original line number Original line Diff line number Diff line Loading @@ -30,6 +30,8 @@ import android.text.TextUtils; import android.util.Log; import android.util.Log; import com.android.systemui.Dependency; import com.android.systemui.Dependency; import com.android.systemui.DumpController; import com.android.systemui.Dumpable; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.plugins.PluginListener; import com.android.systemui.plugins.PluginListener; Loading @@ -47,6 +49,8 @@ import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; import com.android.systemui.tuner.TunerService.Tunable; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.ArrayList; import java.util.ArrayList; import java.util.Arrays; import java.util.Arrays; import java.util.Collection; import java.util.Collection; Loading @@ -61,7 +65,7 @@ import javax.inject.Singleton; /** Platform implementation of the quick settings tile host **/ /** Platform implementation of the quick settings tile host **/ @Singleton @Singleton public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory> { public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, Dumpable { private static final String TAG = "QSTileHost"; private static final String TAG = "QSTileHost"; private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); Loading @@ -73,6 +77,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory> { private final TileServices mServices; private final TileServices mServices; private final TunerService mTunerService; private final TunerService mTunerService; private final PluginManager mPluginManager; private final PluginManager mPluginManager; private final DumpController mDumpController; private final List<Callback> mCallbacks = new ArrayList<>(); private final List<Callback> mCallbacks = new ArrayList<>(); private AutoTileManager mAutoTiles; private AutoTileManager mAutoTiles; Loading @@ -89,17 +94,20 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory> { @Named(Dependency.BG_LOOPER_NAME) Looper bgLooper, @Named(Dependency.BG_LOOPER_NAME) Looper bgLooper, PluginManager pluginManager, PluginManager pluginManager, TunerService tunerService, TunerService tunerService, Provider<AutoTileManager> autoTiles) { Provider<AutoTileManager> autoTiles, DumpController dumpController) { mIconController = iconController; mIconController = iconController; mContext = context; mContext = context; mTunerService = tunerService; mTunerService = tunerService; mPluginManager = pluginManager; mPluginManager = pluginManager; mDumpController = dumpController; mServices = new TileServices(this, bgLooper); mServices = new TileServices(this, bgLooper); defaultFactory.setHost(this); defaultFactory.setHost(this); mQsFactories.add(defaultFactory); mQsFactories.add(defaultFactory); pluginManager.addPluginListener(this, QSFactory.class, true); pluginManager.addPluginListener(this, QSFactory.class, true); mDumpController.addListener(this); mainHandler.post(() -> { mainHandler.post(() -> { // This is technically a hack to avoid circular dependency of // This is technically a hack to avoid circular dependency of Loading @@ -121,6 +129,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory> { mTunerService.removeTunable(this); mTunerService.removeTunable(this); mServices.destroy(); mServices.destroy(); mPluginManager.removePluginListener(this); mPluginManager.removePluginListener(this); mDumpController.removeListener(this); } } @Override @Override Loading Loading @@ -363,4 +372,11 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory> { } } return tiles; return tiles; } } @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println("QSTileHost:"); mTiles.values().stream().filter(obj -> obj instanceof Dumpable) .forEach(o -> ((Dumpable) o).dump(fd, pw, args)); } } } packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java +10 −2 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.qs; package com.android.systemui.qs; import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT; import android.content.Context; import android.content.Context; import android.content.res.Configuration; import android.content.res.Configuration; import android.graphics.Rect; import android.graphics.Rect; Loading @@ -25,6 +27,7 @@ import android.view.View; import android.widget.LinearLayout; import android.widget.LinearLayout; import com.android.systemui.Dependency; import com.android.systemui.Dependency; import com.android.systemui.DumpController; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile.SignalState; import com.android.systemui.plugins.qs.QSTile.SignalState; Loading @@ -36,6 +39,9 @@ import com.android.systemui.tuner.TunerService.Tunable; import java.util.ArrayList; import java.util.ArrayList; import java.util.Collection; import java.util.Collection; import javax.inject.Inject; import javax.inject.Named; /** /** * Version of QSPanel that only shows N Quick Tiles in the QS Header. * Version of QSPanel that only shows N Quick Tiles in the QS Header. */ */ Loading @@ -49,8 +55,10 @@ public class QuickQSPanel extends QSPanel { private int mMaxTiles; private int mMaxTiles; protected QSPanel mFullPanel; protected QSPanel mFullPanel; public QuickQSPanel(Context context, AttributeSet attrs) { @Inject super(context, attrs); public QuickQSPanel(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs, DumpController dumpController) { super(context, attrs, dumpController); if (mFooter != null) { if (mFooter != null) { removeView(mFooter.getView()); removeView(mFooter.getView()); } } Loading packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSIconViewImpl.java +12 −0 Original line number Original line Diff line number Diff line Loading @@ -47,6 +47,7 @@ public class QSIconViewImpl extends QSIconView { private boolean mAnimationEnabled = true; private boolean mAnimationEnabled = true; private int mState = -1; private int mState = -1; private int mTint; private int mTint; private QSTile.Icon mLastIcon; public QSIconViewImpl(Context context) { public QSIconViewImpl(Context context) { super(context); super(context); Loading Loading @@ -74,6 +75,16 @@ public class QSIconViewImpl extends QSIconView { setMeasuredDimension(w, mIcon.getMeasuredHeight()); setMeasuredDimension(w, mIcon.getMeasuredHeight()); } } @Override public String toString() { final StringBuilder sb = new StringBuilder(getClass().getSimpleName()).append('['); sb.append("state=" + mState); sb.append(", tint=" + mTint); if (mLastIcon != null) sb.append(", lastIcon=" + mLastIcon.toString()); sb.append("]"); return sb.toString(); } @Override @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { protected void onLayout(boolean changed, int l, int t, int r, int b) { final int w = getMeasuredWidth(); final int w = getMeasuredWidth(); Loading @@ -91,6 +102,7 @@ public class QSIconViewImpl extends QSIconView { if (!Objects.equals(icon, iv.getTag(R.id.qs_icon_tag)) if (!Objects.equals(icon, iv.getTag(R.id.qs_icon_tag)) || !Objects.equals(state.slash, iv.getTag(R.id.qs_slash_tag))) { || !Objects.equals(state.slash, iv.getTag(R.id.qs_slash_tag))) { boolean shouldAnimate = allowAnimations && shouldAnimate(iv); boolean shouldAnimate = allowAnimations && shouldAnimate(iv); mLastIcon = icon; Drawable d = icon != null Drawable d = icon != null ? shouldAnimate ? icon.getDrawable(mContext) ? shouldAnimate ? icon.getDrawable(mContext) : icon.getInvisibleDrawable(mContext) : null; : icon.getInvisibleDrawable(mContext) : null; Loading packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java +10 −0 Original line number Original line Diff line number Diff line Loading @@ -318,6 +318,16 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView { } } } } @Override public String toString() { final StringBuilder sb = new StringBuilder(getClass().getSimpleName()).append('['); sb.append("locInScreen=(" + mLocInScreen[0] + ", " + mLocInScreen[1] + ")"); sb.append(", iconView=" + mIcon.toString()); sb.append(", tileState=" + mTileState); sb.append("]"); return sb.toString(); } private class H extends Handler { private class H extends Handler { private static final int STATE_CHANGED = 1; private static final int STATE_CHANGED = 1; Loading Loading
packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +32 −1 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.systemui.qs; package com.android.systemui.qs; import static com.android.systemui.qs.tileimpl.QSTileImpl.getColorForState; import static com.android.systemui.qs.tileimpl.QSTileImpl.getColorForState; import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT; import android.annotation.Nullable; import android.annotation.Nullable; import android.content.ComponentName; import android.content.ComponentName; Loading @@ -37,6 +38,8 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settingslib.Utils; import com.android.settingslib.Utils; import com.android.systemui.Dependency; import com.android.systemui.Dependency; import com.android.systemui.DumpController; import com.android.systemui.Dumpable; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.plugins.qs.DetailAdapter; import com.android.systemui.plugins.qs.DetailAdapter; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile; Loading @@ -51,11 +54,17 @@ import com.android.systemui.statusbar.policy.BrightnessMirrorController.Brightne import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; import com.android.systemui.tuner.TunerService.Tunable; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.ArrayList; import java.util.ArrayList; import java.util.Collection; import java.util.Collection; import javax.inject.Inject; import javax.inject.Named; /** View that represents the quick settings tile panel (when expanded/pulled down). **/ /** View that represents the quick settings tile panel (when expanded/pulled down). **/ public class QSPanel extends LinearLayout implements Tunable, Callback, BrightnessMirrorListener { public class QSPanel extends LinearLayout implements Tunable, Callback, BrightnessMirrorListener, Dumpable { public static final String QS_SHOW_BRIGHTNESS = "qs_show_brightness"; public static final String QS_SHOW_BRIGHTNESS = "qs_show_brightness"; public static final String QS_SHOW_HEADER = "qs_show_header"; public static final String QS_SHOW_HEADER = "qs_show_header"; Loading @@ -74,6 +83,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne private QSDetail.Callback mCallback; private QSDetail.Callback mCallback; private BrightnessController mBrightnessController; private BrightnessController mBrightnessController; private DumpController mDumpController; protected QSTileHost mHost; protected QSTileHost mHost; protected QSSecurityFooter mFooter; protected QSSecurityFooter mFooter; Loading @@ -93,6 +103,12 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne } } public QSPanel(Context context, AttributeSet attrs) { public QSPanel(Context context, AttributeSet attrs) { this(context, attrs, null); } @Inject public QSPanel(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs, DumpController dumpController) { super(context, attrs); super(context, attrs); mContext = context; mContext = context; Loading @@ -119,6 +135,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne mBrightnessController = new BrightnessController(getContext(), mBrightnessController = new BrightnessController(getContext(), findViewById(R.id.brightness_slider)); findViewById(R.id.brightness_slider)); mDumpController = dumpController; } } protected void addDivider() { protected void addDivider() { Loading Loading @@ -170,6 +187,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne if (mBrightnessMirrorController != null) { if (mBrightnessMirrorController != null) { mBrightnessMirrorController.addCallback(this); mBrightnessMirrorController.addCallback(this); } } if (mDumpController != null) mDumpController.addListener(this); } } @Override @Override Loading @@ -184,6 +202,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne if (mBrightnessMirrorController != null) { if (mBrightnessMirrorController != null) { mBrightnessMirrorController.removeCallback(this); mBrightnessMirrorController.removeCallback(this); } } if (mDumpController != null) mDumpController.removeListener(this); super.onDetachedFromWindow(); super.onDetachedFromWindow(); } } Loading Loading @@ -649,6 +668,18 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne } } } } @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println(getClass().getSimpleName() + ":"); pw.println(" Tile records:"); for (TileRecord record : mRecords) { if (record.tile instanceof Dumpable) { pw.print(" "); ((Dumpable) record.tile).dump(fd, pw, args); pw.print(" "); pw.println(record.tileView.toString()); } } } protected static class Record { protected static class Record { DetailAdapter detailAdapter; DetailAdapter detailAdapter; int x; int x; Loading
packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java +18 −2 Original line number Original line Diff line number Diff line Loading @@ -30,6 +30,8 @@ import android.text.TextUtils; import android.util.Log; import android.util.Log; import com.android.systemui.Dependency; import com.android.systemui.Dependency; import com.android.systemui.DumpController; import com.android.systemui.Dumpable; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.plugins.PluginListener; import com.android.systemui.plugins.PluginListener; Loading @@ -47,6 +49,8 @@ import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; import com.android.systemui.tuner.TunerService.Tunable; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.ArrayList; import java.util.ArrayList; import java.util.Arrays; import java.util.Arrays; import java.util.Collection; import java.util.Collection; Loading @@ -61,7 +65,7 @@ import javax.inject.Singleton; /** Platform implementation of the quick settings tile host **/ /** Platform implementation of the quick settings tile host **/ @Singleton @Singleton public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory> { public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, Dumpable { private static final String TAG = "QSTileHost"; private static final String TAG = "QSTileHost"; private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); Loading @@ -73,6 +77,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory> { private final TileServices mServices; private final TileServices mServices; private final TunerService mTunerService; private final TunerService mTunerService; private final PluginManager mPluginManager; private final PluginManager mPluginManager; private final DumpController mDumpController; private final List<Callback> mCallbacks = new ArrayList<>(); private final List<Callback> mCallbacks = new ArrayList<>(); private AutoTileManager mAutoTiles; private AutoTileManager mAutoTiles; Loading @@ -89,17 +94,20 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory> { @Named(Dependency.BG_LOOPER_NAME) Looper bgLooper, @Named(Dependency.BG_LOOPER_NAME) Looper bgLooper, PluginManager pluginManager, PluginManager pluginManager, TunerService tunerService, TunerService tunerService, Provider<AutoTileManager> autoTiles) { Provider<AutoTileManager> autoTiles, DumpController dumpController) { mIconController = iconController; mIconController = iconController; mContext = context; mContext = context; mTunerService = tunerService; mTunerService = tunerService; mPluginManager = pluginManager; mPluginManager = pluginManager; mDumpController = dumpController; mServices = new TileServices(this, bgLooper); mServices = new TileServices(this, bgLooper); defaultFactory.setHost(this); defaultFactory.setHost(this); mQsFactories.add(defaultFactory); mQsFactories.add(defaultFactory); pluginManager.addPluginListener(this, QSFactory.class, true); pluginManager.addPluginListener(this, QSFactory.class, true); mDumpController.addListener(this); mainHandler.post(() -> { mainHandler.post(() -> { // This is technically a hack to avoid circular dependency of // This is technically a hack to avoid circular dependency of Loading @@ -121,6 +129,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory> { mTunerService.removeTunable(this); mTunerService.removeTunable(this); mServices.destroy(); mServices.destroy(); mPluginManager.removePluginListener(this); mPluginManager.removePluginListener(this); mDumpController.removeListener(this); } } @Override @Override Loading Loading @@ -363,4 +372,11 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory> { } } return tiles; return tiles; } } @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { pw.println("QSTileHost:"); mTiles.values().stream().filter(obj -> obj instanceof Dumpable) .forEach(o -> ((Dumpable) o).dump(fd, pw, args)); } } }
packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java +10 −2 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.qs; package com.android.systemui.qs; import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT; import android.content.Context; import android.content.Context; import android.content.res.Configuration; import android.content.res.Configuration; import android.graphics.Rect; import android.graphics.Rect; Loading @@ -25,6 +27,7 @@ import android.view.View; import android.widget.LinearLayout; import android.widget.LinearLayout; import com.android.systemui.Dependency; import com.android.systemui.Dependency; import com.android.systemui.DumpController; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile.SignalState; import com.android.systemui.plugins.qs.QSTile.SignalState; Loading @@ -36,6 +39,9 @@ import com.android.systemui.tuner.TunerService.Tunable; import java.util.ArrayList; import java.util.ArrayList; import java.util.Collection; import java.util.Collection; import javax.inject.Inject; import javax.inject.Named; /** /** * Version of QSPanel that only shows N Quick Tiles in the QS Header. * Version of QSPanel that only shows N Quick Tiles in the QS Header. */ */ Loading @@ -49,8 +55,10 @@ public class QuickQSPanel extends QSPanel { private int mMaxTiles; private int mMaxTiles; protected QSPanel mFullPanel; protected QSPanel mFullPanel; public QuickQSPanel(Context context, AttributeSet attrs) { @Inject super(context, attrs); public QuickQSPanel(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs, DumpController dumpController) { super(context, attrs, dumpController); if (mFooter != null) { if (mFooter != null) { removeView(mFooter.getView()); removeView(mFooter.getView()); } } Loading
packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSIconViewImpl.java +12 −0 Original line number Original line Diff line number Diff line Loading @@ -47,6 +47,7 @@ public class QSIconViewImpl extends QSIconView { private boolean mAnimationEnabled = true; private boolean mAnimationEnabled = true; private int mState = -1; private int mState = -1; private int mTint; private int mTint; private QSTile.Icon mLastIcon; public QSIconViewImpl(Context context) { public QSIconViewImpl(Context context) { super(context); super(context); Loading Loading @@ -74,6 +75,16 @@ public class QSIconViewImpl extends QSIconView { setMeasuredDimension(w, mIcon.getMeasuredHeight()); setMeasuredDimension(w, mIcon.getMeasuredHeight()); } } @Override public String toString() { final StringBuilder sb = new StringBuilder(getClass().getSimpleName()).append('['); sb.append("state=" + mState); sb.append(", tint=" + mTint); if (mLastIcon != null) sb.append(", lastIcon=" + mLastIcon.toString()); sb.append("]"); return sb.toString(); } @Override @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { protected void onLayout(boolean changed, int l, int t, int r, int b) { final int w = getMeasuredWidth(); final int w = getMeasuredWidth(); Loading @@ -91,6 +102,7 @@ public class QSIconViewImpl extends QSIconView { if (!Objects.equals(icon, iv.getTag(R.id.qs_icon_tag)) if (!Objects.equals(icon, iv.getTag(R.id.qs_icon_tag)) || !Objects.equals(state.slash, iv.getTag(R.id.qs_slash_tag))) { || !Objects.equals(state.slash, iv.getTag(R.id.qs_slash_tag))) { boolean shouldAnimate = allowAnimations && shouldAnimate(iv); boolean shouldAnimate = allowAnimations && shouldAnimate(iv); mLastIcon = icon; Drawable d = icon != null Drawable d = icon != null ? shouldAnimate ? icon.getDrawable(mContext) ? shouldAnimate ? icon.getDrawable(mContext) : icon.getInvisibleDrawable(mContext) : null; : icon.getInvisibleDrawable(mContext) : null; Loading
packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileBaseView.java +10 −0 Original line number Original line Diff line number Diff line Loading @@ -318,6 +318,16 @@ public class QSTileBaseView extends com.android.systemui.plugins.qs.QSTileView { } } } } @Override public String toString() { final StringBuilder sb = new StringBuilder(getClass().getSimpleName()).append('['); sb.append("locInScreen=(" + mLocInScreen[0] + ", " + mLocInScreen[1] + ")"); sb.append(", iconView=" + mIcon.toString()); sb.append(", tileState=" + mTileState); sb.append("]"); return sb.toString(); } private class H extends Handler { private class H extends Handler { private static final int STATE_CHANGED = 1; private static final int STATE_CHANGED = 1; Loading