diff options
author | John Spurlock <jspurlock@google.com> | 2014-05-17 15:54:40 -0400 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2014-05-17 16:06:12 -0400 |
commit | ccb6b9a90f228cc4e31a9442ed28756ff474c080 (patch) | |
tree | 9131d8141df6ff7a7fde37319ec88b221c23c31e /packages/SystemUI/src/com/android/systemui/qs/QSTile.java | |
parent | f967a5486a78db244624fde4c105aa5e6fa914b9 (diff) | |
download | frameworks_base-ccb6b9a90f228cc4e31a9442ed28756ff474c080.zip frameworks_base-ccb6b9a90f228cc4e31a9442ed28756ff474c080.tar.gz frameworks_base-ccb6b9a90f228cc4e31a9442ed28756ff474c080.tar.bz2 |
QuickSettings: only listen when expanded.
Register for active state updates only when the quick settings
panel is open.
Don't allow a dual-target tile and single-target tile on the same row.
Bug:14133785
Change-Id: I8a5ad3df9b67b5bc3518210d62b705483a422d8e
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/qs/QSTile.java')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/QSTile.java | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java index 05f308d..38496b4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java @@ -30,7 +30,7 @@ import android.view.ViewGroup; import com.android.systemui.qs.QSTile.State; import com.android.systemui.statusbar.policy.BluetoothController; import com.android.systemui.statusbar.policy.CastController; -import com.android.systemui.statusbar.policy.Disposable; +import com.android.systemui.statusbar.policy.Listenable; import com.android.systemui.statusbar.policy.LocationController; import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.policy.RotationLockController; @@ -47,8 +47,9 @@ import java.util.Objects; * handleUpdateState. Callbacks affecting state should use refreshState to trigger another * state update pass on tile looper. */ -public abstract class QSTile<TState extends State> implements Disposable { - private final String TAG = "QSTile." + getClass().getSimpleName(); +public abstract class QSTile<TState extends State> implements Listenable { + protected final String TAG = "QSTile." + getClass().getSimpleName(); + protected static final boolean DEBUG = false; protected final Host mHost; protected final Context mContext; @@ -69,6 +70,10 @@ public abstract class QSTile<TState extends State> implements Disposable { mHandler = new H(host.getLooper()); } + public boolean supportsDualTargets() { + return false; + } + public Host getHost() { return mHost; } @@ -111,10 +116,6 @@ public abstract class QSTile<TState extends State> implements Disposable { mHandler.obtainMessage(H.USER_SWITCH, newUserId).sendToTarget(); } - public void setShown(boolean shown) { - mHandler.obtainMessage(H.SHOWN, shown ? 1 : 0, 0).sendToTarget(); - } - // call only on tile worker looper private void handleSetCallback(Callback callback) { @@ -126,10 +127,6 @@ public abstract class QSTile<TState extends State> implements Disposable { // optional } - protected void handleShown(boolean shown) { - // optional, discouraged - } - protected void handleRefreshState(Object arg) { handleUpdateState(mTmpState, arg); final boolean changed = mTmpState.copyTo(mState); @@ -161,7 +158,6 @@ public abstract class QSTile<TState extends State> implements Disposable { private static final int REFRESH_STATE = 4; private static final int SHOW_DETAIL = 5; private static final int USER_SWITCH = 6; - private static final int SHOWN = 7; private H(Looper looper) { super(looper); @@ -189,9 +185,6 @@ public abstract class QSTile<TState extends State> implements Disposable { } else if (msg.what == USER_SWITCH) { name = "handleUserSwitch"; handleUserSwitch(msg.arg1); - } else if (msg.what == SHOWN) { - name = "handleShown"; - handleShown(msg.arg1 != 0); } } catch (Throwable t) { final String error = "Error in " + name; |