summaryrefslogtreecommitdiffstats
path: root/policy/src
diff options
context:
space:
mode:
authorMartijn Coenen <maco@google.com>2011-10-13 16:47:02 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-10-13 16:47:02 -0700
commit19fa262c52ddaf0e5ec200f4f7f21bda0d4b617b (patch)
tree4b8e60587d723c1d4d8e82581f89f78547bc7a4d /policy/src
parent97e9ea98afac197722d7620d5fd09a8c06aafe3a (diff)
parent24d7b5f22ac98392f8b2d2c94560173e44d1ca6c (diff)
downloadframeworks_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')
-rw-r--r--policy/src/com/android/internal/policy/impl/KeyguardStatusViewManager.java4
-rw-r--r--policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java33
-rw-r--r--policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java5
-rw-r--r--policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java2
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