summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jason Monk <jmonk@google.com> 2015-07-14 17:40:21 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2015-07-14 17:40:23 +0000
commitfe03a84bc6d59e9b09029cfa8800bd9ef8d85d18 (patch)
tree824e165455c9469fa26aaf51c509a9180a44fc4c
parent3ced96178b1b132705e773736cbb707a3a0cd951 (diff)
parenta758ba6be9278a7038ee0ed81e5b790034d31c92 (diff)
Merge "Fix QS labels on language change" into mnc-dev
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSPanel.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSTile.java17
2 files changed, 18 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index 2ded9194d32d..94d517086789 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -158,6 +158,9 @@ public class QSPanel extends ViewGroup {
mColumns = columns;
postInvalidate();
}
+ for (TileRecord r : mRecords) {
+ r.tile.clearState();
+ }
if (mListening) {
refreshAllTiles();
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
index 38fade21390f..b330582089c4 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java
@@ -61,8 +61,8 @@ public abstract class QSTile<TState extends State> implements Listenable {
protected final Handler mUiHandler = new Handler(Looper.getMainLooper());
private Callback mCallback;
- protected final TState mState = newTileState();
- private final TState mTmpState = newTileState();
+ protected TState mState = newTileState();
+ private TState mTmpState = newTileState();
private boolean mAnnounceNextStateChange;
abstract protected TState newTileState();
@@ -139,6 +139,10 @@ public abstract class QSTile<TState extends State> implements Listenable {
mHandler.obtainMessage(H.REFRESH_STATE, arg).sendToTarget();
}
+ public final void clearState() {
+ mHandler.sendEmptyMessage(H.CLEAR_STATE);
+ }
+
public void userSwitch(int newUserId) {
mHandler.obtainMessage(H.USER_SWITCH, newUserId, 0).sendToTarget();
}
@@ -178,6 +182,11 @@ public abstract class QSTile<TState extends State> implements Listenable {
// optional
}
+ protected void handleClearState() {
+ mTmpState = newTileState();
+ mState = newTileState();
+ }
+
protected void handleRefreshState(Object arg) {
handleUpdateState(mTmpState, arg);
final boolean changed = mTmpState.copyTo(mState);
@@ -246,6 +255,7 @@ public abstract class QSTile<TState extends State> implements Listenable {
private static final int TOGGLE_STATE_CHANGED = 8;
private static final int SCAN_STATE_CHANGED = 9;
private static final int DESTROY = 10;
+ private static final int CLEAR_STATE = 11;
private H(Looper looper) {
super(looper);
@@ -286,6 +296,9 @@ public abstract class QSTile<TState extends State> implements Listenable {
} else if (msg.what == DESTROY) {
name = "handleDestroy";
handleDestroy();
+ } else if (msg.what == CLEAR_STATE) {
+ name = "handleClearState";
+ handleClearState();
} else {
throw new IllegalArgumentException("Unknown msg: " + msg.what);
}