summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xpackages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java19
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/LockscreenToggleTile.java19
2 files changed, 22 insertions, 16 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index 8555ef0..563dfa1 100755
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -290,7 +290,7 @@ public class KeyguardViewMediator extends SystemUI {
/**
* Whether we are disabling the lock screen internally
*/
- private boolean mInternallyDisabled = false;
+ private Boolean mInternallyDisabled = null;
/**
* we send this intent when the keyguard is dismissed.
@@ -690,9 +690,20 @@ public class KeyguardViewMediator extends SystemUI {
CMSettings.Secure.LOCKSCREEN_INTERNALLY_ENABLED,
getPersistedDefaultOldSetting() ? 1 : 0,
UserHandle.USER_CURRENT) == 0;
- if (newDisabledState != mInternallyDisabled && mKeyguardBound) {
- // it was updated,
- setKeyguardEnabledInternal(!newDisabledState);
+
+ if (mKeyguardBound) {
+ if (mInternallyDisabled == null) {
+ // if it's enabled on boot, don't go through the notions of
+ // setting it enabled, as it might cause a flicker, just set the state
+ if (newDisabledState) {
+ setKeyguardEnabledInternal(false); // will set mInternallyDisabled
+ } else {
+ mInternallyDisabled = false;
+ }
+ } else if (newDisabledState != mInternallyDisabled) {
+ // it was updated,
+ setKeyguardEnabledInternal(!newDisabledState);
+ }
}
}
};
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;
}
}