summaryrefslogtreecommitdiffstats
path: root/packages/Keyguard/src
diff options
context:
space:
mode:
authorAdrian Roos <roosa@google.com>2014-05-14 15:52:53 +0200
committerAdrian Roos <roosa@google.com>2014-05-14 16:51:18 +0200
commitb601162a60663329355720083bfa199909dbf6ef (patch)
treed416da09f17e2c1d7d5b2c069a2be6c7a909cc04 /packages/Keyguard/src
parent54b6fd0cbe48fc0980da0617352785c973c60c86 (diff)
downloadframeworks_base-b601162a60663329355720083bfa199909dbf6ef.zip
frameworks_base-b601162a60663329355720083bfa199909dbf6ef.tar.gz
frameworks_base-b601162a60663329355720083bfa199909dbf6ef.tar.bz2
Fix visibility and add bouncer event in KeyguardUpdateMonitor
Bug: 14087751 Change-Id: I45bc2213dfcce751180762d18ead0382f68cac74
Diffstat (limited to 'packages/Keyguard/src')
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java42
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java6
2 files changed, 46 insertions, 2 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
index ba67a82..d6351df 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -99,6 +99,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
private static final int MSG_SCREEN_TURNED_ON = 319;
private static final int MSG_SCREEN_TURNED_OFF = 320;
private static final int MSG_NFC_UNLOCK = 321;
+ private static final int MSG_KEYGUARD_BOUNCER_CHANGED = 322;
private static KeyguardUpdateMonitor sInstance;
@@ -111,6 +112,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
private int mRingMode;
private int mPhoneState;
private boolean mKeyguardIsVisible;
+ private boolean mBouncer;
private boolean mBootCompleted;
// Device provisioning state
@@ -155,7 +157,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
handleRingerModeChange(msg.arg1);
break;
case MSG_PHONE_STATE_CHANGED:
- handlePhoneStateChanged((String)msg.obj);
+ handlePhoneStateChanged((String) msg.obj);
break;
case MSG_CLOCK_VISIBILITY_CHANGED:
handleClockVisibilityChanged();
@@ -167,7 +169,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
handleDevicePolicyManagerStateChanged();
break;
case MSG_USER_SWITCHING:
- handleUserSwitching(msg.arg1, (IRemoteCallback)msg.obj);
+ handleUserSwitching(msg.arg1, (IRemoteCallback) msg.obj);
break;
case MSG_USER_SWITCH_COMPLETE:
handleUserSwitchComplete(msg.arg1);
@@ -178,6 +180,9 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
case MSG_KEYGUARD_VISIBILITY_CHANGED:
handleKeyguardVisibilityChanged(msg.arg1);
break;
+ case MSG_KEYGUARD_BOUNCER_CHANGED:
+ handleKeyguardBouncerChanged(msg.arg1);
+ break;
case MSG_BOOT_COMPLETED:
handleBootCompleted();
break;
@@ -887,6 +892,22 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
}
/**
+ * Handle {@link #MSG_KEYGUARD_BOUNCER_CHANGED}
+ * @see #sendKeyguardBouncerChanged(boolean)
+ */
+ private void handleKeyguardBouncerChanged(int bouncer) {
+ if (DEBUG) Log.d(TAG, "handleKeyguardBouncerChanged(" + bouncer + ")");
+ boolean isBouncer = (bouncer == 1);
+ mBouncer = isBouncer;
+ for (int i = 0; i < mCallbacks.size(); i++) {
+ KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
+ if (cb != null) {
+ cb.onKeyguardBouncerChanged(isBouncer);
+ }
+ }
+ }
+
+ /**
* Handle {@link #MSG_REPORT_EMERGENCY_CALL_ACTION}
*/
private void handleReportEmergencyCallAction() {
@@ -902,6 +923,13 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
return mKeyguardIsVisible;
}
+ /**
+ * @return if the keyguard is currently in bouncer mode.
+ */
+ public boolean isKeyguardBouncer() {
+ return mBouncer;
+ }
+
public boolean isSwitchingUser() {
return mSwitchingUser;
}
@@ -1021,6 +1049,16 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
message.sendToTarget();
}
+ /**
+ * @see #handleKeyguardBouncerChanged(int)
+ */
+ public void sendKeyguardBouncerChanged(boolean showingBouncer) {
+ if (DEBUG) Log.d(TAG, "sendKeyguardBouncerChanged(" + showingBouncer + ")");
+ Message message = mHandler.obtainMessage(MSG_KEYGUARD_BOUNCER_CHANGED);
+ message.arg1 = showingBouncer ? 1 : 0;
+ message.sendToTarget();
+ }
+
public void reportClockVisible(boolean visible) {
mClockVisible = visible;
mHandler.obtainMessage(MSG_CLOCK_VISIBILITY_CHANGED).sendToTarget();
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java
index 7be4cec..91a024f 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java
@@ -87,6 +87,12 @@ public class KeyguardUpdateMonitorCallback {
}
/**
+ * Called when the keyguard enters or leaves bouncer mode.
+ * @param bouncer if true, keyguard is now in bouncer mode.
+ */
+ public void onKeyguardBouncerChanged(boolean bouncer) { }
+
+ /**
* Called when visibility of lockscreen clock changes, such as when
* obscured by a widget.
*/