am 19fa262c: Merge "Send ACTION_USER_PRESENT when provisioning is completed." into ics-mr0

* commit '19fa262c52ddaf0e5ec200f4f7f21bda0d4b617b':
  Send ACTION_USER_PRESENT when provisioning is completed.
This commit is contained in:
Martijn Coenen
2011-10-13 16:48:58 -07:00
committed by Android Git Automerger
4 changed files with 39 additions and 5 deletions

View File

@@ -609,6 +609,10 @@ class KeyguardStatusViewManager implements OnClickListener {
public void onClockVisibilityChanged() {
// ignored
}
public void onDeviceProvisioned() {
// ignored
}
};
private SimStateCallback mSimStateCallback = new SimStateCallback() {

View File

@@ -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();
}
/**

View File

@@ -1316,4 +1316,9 @@ public class KeyguardViewMediator implements KeyguardViewCallback,
public void onTimeChanged() {
// ignored
}
/** {@inheritDoc} */
public void onDeviceProvisioned() {
mContext.sendBroadcast(mUserPresentIntent);
}
}

View File

@@ -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