diff options
author | Martijn Coenen <maco@google.com> | 2011-10-13 16:47:02 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-10-13 16:47:02 -0700 |
commit | 19fa262c52ddaf0e5ec200f4f7f21bda0d4b617b (patch) | |
tree | 4b8e60587d723c1d4d8e82581f89f78547bc7a4d /policy/src | |
parent | 97e9ea98afac197722d7620d5fd09a8c06aafe3a (diff) | |
parent | 24d7b5f22ac98392f8b2d2c94560173e44d1ca6c (diff) | |
download | frameworks_base-19fa262c52ddaf0e5ec200f4f7f21bda0d4b617b.zip frameworks_base-19fa262c52ddaf0e5ec200f4f7f21bda0d4b617b.tar.gz frameworks_base-19fa262c52ddaf0e5ec200f4f7f21bda0d4b617b.tar.bz2 |
Merge "Send ACTION_USER_PRESENT when provisioning is completed." into ics-mr0
Diffstat (limited to 'policy/src')
4 files changed, 39 insertions, 5 deletions
diff --git a/policy/src/com/android/internal/policy/impl/KeyguardStatusViewManager.java b/policy/src/com/android/internal/policy/impl/KeyguardStatusViewManager.java index 8343bbd..6614d79 100644 --- a/policy/src/com/android/internal/policy/impl/KeyguardStatusViewManager.java +++ b/policy/src/com/android/internal/policy/impl/KeyguardStatusViewManager.java @@ -609,6 +609,10 @@ class KeyguardStatusViewManager implements OnClickListener { public void onClockVisibilityChanged() { // ignored } + + public void onDeviceProvisioned() { + // ignored + } }; private SimStateCallback mSimStateCallback = new SimStateCallback() { diff --git a/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java b/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java index f67f0e0..2d8185b 100644 --- a/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java +++ b/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java @@ -99,6 +99,7 @@ public class KeyguardUpdateMonitor { private static final int MSG_RINGER_MODE_CHANGED = 305; private static final int MSG_PHONE_STATE_CHANGED = 306; private static final int MSG_CLOCK_VISIBILITY_CHANGED = 307; + private static final int MSG_DEVICE_PROVISIONED = 308; /** * When we receive a @@ -178,6 +179,9 @@ public class KeyguardUpdateMonitor { case MSG_CLOCK_VISIBILITY_CHANGED: handleClockVisibilityChanged(); break; + case MSG_DEVICE_PROVISIONED: + handleDeviceProvisioned(); + break; } } }; @@ -197,10 +201,8 @@ public class KeyguardUpdateMonitor { super.onChange(selfChange); mDeviceProvisioned = Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.DEVICE_PROVISIONED, 0) != 0; - if (mDeviceProvisioned && mContentObserver != null) { - // We don't need the observer anymore... - mContext.getContentResolver().unregisterContentObserver(mContentObserver); - mContentObserver = null; + if (mDeviceProvisioned) { + mHandler.sendMessage(mHandler.obtainMessage(MSG_DEVICE_PROVISIONED)); } if (DEBUG) Log.d(TAG, "DEVICE_PROVISIONED state = " + mDeviceProvisioned); } @@ -212,8 +214,14 @@ public class KeyguardUpdateMonitor { // prevent a race condition between where we check the flag and where we register the // observer by grabbing the value once again... - mDeviceProvisioned = Settings.Secure.getInt(mContext.getContentResolver(), + boolean provisioned = Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.DEVICE_PROVISIONED, 0) != 0; + if (provisioned != mDeviceProvisioned) { + mDeviceProvisioned = provisioned; + if (mDeviceProvisioned) { + mHandler.sendMessage(mHandler.obtainMessage(MSG_DEVICE_PROVISIONED)); + } + } } // take a guess to start @@ -271,6 +279,17 @@ public class KeyguardUpdateMonitor { }, filter); } + protected void handleDeviceProvisioned() { + for (int i = 0; i < mInfoCallbacks.size(); i++) { + mInfoCallbacks.get(i).onDeviceProvisioned(); + } + if (mContentObserver != null) { + // We don't need the observer anymore... + mContext.getContentResolver().unregisterContentObserver(mContentObserver); + mContentObserver = null; + } + } + protected void handlePhoneStateChanged(String newState) { if (DEBUG) Log.d(TAG, "handlePhoneStateChanged(" + newState + ")"); if (TelephonyManager.EXTRA_STATE_IDLE.equals(newState)) { @@ -477,6 +496,10 @@ public class KeyguardUpdateMonitor { */ void onClockVisibilityChanged(); + /** + * Called when the device becomes provisioned + */ + void onDeviceProvisioned(); } /** diff --git a/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java b/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java index bbfc513..0471dfe 100644 --- a/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java +++ b/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java @@ -1316,4 +1316,9 @@ public class KeyguardViewMediator implements KeyguardViewCallback, public void onTimeChanged() { // ignored } + + /** {@inheritDoc} */ + public void onDeviceProvisioned() { + mContext.sendBroadcast(mUserPresentIntent); + } } diff --git a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java index 0c44e45..d1bb8d1 100644 --- a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java +++ b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java @@ -649,6 +649,8 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler public void onRingerModeChanged(int state) {} @Override public void onClockVisibilityChanged() {} + @Override + public void onDeviceProvisioned() {} //We need to stop faceunlock when a phonecall comes in @Override |