Killing Facelock when a phonecall comes in

This needs to actively listen for phonecall callbacks,
or calls that come in while Facelock is active will drop.

Change-Id: I818433e5de9085f0357f61d6a04b395e58871396
This commit is contained in:
Steven Ross
2011-10-05 11:52:52 -04:00
parent 50dabc5f0e
commit dce0bb62ce

View File

@@ -76,7 +76,8 @@ import java.io.IOException;
* {@link com.android.internal.policy.impl.KeyguardViewManager}
* via its {@link com.android.internal.policy.impl.KeyguardViewCallback}, as appropriate.
*/
public class LockPatternKeyguardView extends KeyguardViewBase implements Handler.Callback {
public class LockPatternKeyguardView extends KeyguardViewBase implements Handler.Callback,
KeyguardUpdateMonitor.InfoCallback {
private static final int TRANSPORT_USERACTIVITY_TIMEOUT = 10000;
@@ -266,6 +267,8 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
mLockPatternUtils = lockPatternUtils;
mWindowController = controller;
mUpdateMonitor.registerInfoCallback(this);
mKeyguardScreenCallback = new KeyguardScreenCallback() {
public void goToLockScreen() {
@@ -588,6 +591,25 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
post(mRecreateRunnable);
}
//Ignore these events; they are implemented only because they come from the same interface
@Override
public void onRefreshBatteryInfo(boolean showBatteryInfo, boolean pluggedIn, int batteryLevel)
{}
@Override
public void onTimeChanged() {}
@Override
public void onRefreshCarrierInfo(CharSequence plmn, CharSequence spn) {}
@Override
public void onRingerModeChanged(int state) {}
@Override
public void onClockVisibilityChanged() {}
//We need to stop faceunlock when a phonecall comes in
@Override
public void onPhoneStateChanged(int phoneState) {
if(phoneState == TelephonyManager.CALL_STATE_RINGING) stopAndUnbindFromFaceLock();
}
@Override
protected boolean dispatchHoverEvent(MotionEvent event) {
// Do not let the screen to get locked while the user is disabled and touch