diff options
author | Roman Birg <roman@cyngn.com> | 2016-01-14 09:45:08 -0800 |
---|---|---|
committer | Roman Birg <roman@cyngn.com> | 2016-01-18 11:16:41 -0800 |
commit | 627df3cd7367f0198abb92b8e435bb057ba6f433 (patch) | |
tree | 070792331bcda9b542c9928cf62365ef3d579c62 /packages/SystemUI/src/com/android/systemui/qs/tiles | |
parent | 9ee493accc3573485c5c20de9354676255cfa029 (diff) | |
download | frameworks_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.java | 19 |
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; } } |