summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2014-05-17 15:54:40 -0400
committerJohn Spurlock <jspurlock@google.com>2014-05-17 16:06:12 -0400
commitccb6b9a90f228cc4e31a9442ed28756ff474c080 (patch)
tree9131d8141df6ff7a7fde37319ec88b221c23c31e /packages/SystemUI/src/com/android/systemui/qs/QSTile.java
parentf967a5486a78db244624fde4c105aa5e6fa914b9 (diff)
downloadframeworks_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.java23
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;