summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/qs/tiles
diff options
context:
space:
mode:
authorRoman Birg <roman@cyngn.com>2016-01-14 09:45:08 -0800
committerRoman Birg <roman@cyngn.com>2016-01-18 11:16:41 -0800
commit627df3cd7367f0198abb92b8e435bb057ba6f433 (patch)
tree070792331bcda9b542c9928cf62365ef3d579c62 /packages/SystemUI/src/com/android/systemui/qs/tiles
parent9ee493accc3573485c5c20de9354676255cfa029 (diff)
downloadframeworks_base-627df3cd7367f0198abb92b8e435bb057ba6f433.zip
frameworks_base-627df3cd7367f0198abb92b8e435bb057ba6f433.tar.gz
frameworks_base-627df3cd7367f0198abb92b8e435bb057ba6f433.tar.bz2
SystemUI: fix lock screen tile state refresh
Now should instantly reflect the proper state after clicking. In certain situations it would not update immediately. Ref: CYNGNOS-1607 Change-Id: I97a5e3417f91315ca5d06a832fa799938981e284 Signed-off-by: Roman Birg <roman@cyngn.com>
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/qs/tiles')
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/LockscreenToggleTile.java19
1 files changed, 7 insertions, 12 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/LockscreenToggleTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/LockscreenToggleTile.java
index 37cfa6e..2d764ba 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/LockscreenToggleTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/LockscreenToggleTile.java
@@ -34,7 +34,6 @@ public class LockscreenToggleTile extends QSTile<QSTile.BooleanState>
private KeyguardViewMediator mKeyguardViewMediator;
private KeyguardMonitor mKeyguard;
- private boolean mPersistedState;
private boolean mListening;
private KeyguardViewMediator.LockscreenEnabledSettingsObserver mSettingsObserver;
@@ -52,15 +51,12 @@ public class LockscreenToggleTile extends QSTile<QSTile.BooleanState>
@Override
public void update() {
- boolean newEnabledState = CMSettings.Secure.getIntForUser(
+ boolean newState = CMSettings.Secure.getIntForUser(
mContext.getContentResolver(),
CMSettings.Secure.LOCKSCREEN_INTERNALLY_ENABLED,
getPersistedDefaultOldSetting() ? 1 : 0,
UserHandle.USER_CURRENT) != 0;
- if (newEnabledState != mPersistedState) {
- mPersistedState = newEnabledState;
- refreshState();
- }
+ refreshState(newState);
}
};
@@ -89,8 +85,9 @@ public class LockscreenToggleTile extends QSTile<QSTile.BooleanState>
@Override
protected void handleClick() {
- setPersistedState(!mPersistedState);
- refreshState();
+ final boolean newState = !getState().value;
+ setPersistedState(newState);
+ refreshState(newState);
}
@Override
@@ -101,9 +98,8 @@ public class LockscreenToggleTile extends QSTile<QSTile.BooleanState>
@Override
protected void handleUpdateState(BooleanState state, Object arg) {
final boolean lockscreenEnforced = mKeyguardViewMediator.lockscreenEnforcedByDevicePolicy();
- final boolean lockscreenEnabled = lockscreenEnforced
- || mPersistedState
- || mKeyguardViewMediator.getKeyguardEnabledInternal();
+ final boolean lockscreenEnabled = lockscreenEnforced ||
+ arg != null ? (Boolean) arg : mKeyguardViewMediator.getKeyguardEnabledInternal();
state.value = lockscreenEnabled;
state.visible = mKeyguardViewMediator.isKeyguardBound();
@@ -147,6 +143,5 @@ public class LockscreenToggleTile extends QSTile<QSTile.BooleanState>
CMSettings.Secure.putIntForUser(mContext.getContentResolver(),
CMSettings.Secure.LOCKSCREEN_INTERNALLY_ENABLED,
enabled ? 1 : 0, UserHandle.USER_CURRENT);
- mPersistedState = enabled;
}
}