Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dce0bb62 authored by Steven Ross's avatar Steven Ross
Browse files

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
parent 50dabc5f
Loading
Loading
Loading
Loading
+23 −1
Original line number Diff line number Diff line
@@ -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