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

Commit 2720cfae authored by Brian Colonna's avatar Brian Colonna Committed by Android (Google) Code Review
Browse files

Merge "Fix 5433466 - FU out of position during orientation change" into ics-mr0

parents ee5aa0e8 9d20405e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -206,7 +206,7 @@

    <!-- Area to overlay FaceLock -->
    <TextView android:id="@+id/faceLockAreaView"
        android:visibility="gone"
        android:visibility="invisible"
        android:layout_row="0"
        android:layout_column="2"
        android:layout_rowSpan="8"
+1 −1
Original line number Diff line number Diff line
@@ -195,7 +195,7 @@

    <!-- Area to overlay FaceLock -->
    <TextView android:id="@+id/faceLockAreaView"
        android:visibility="gone"
        android:visibility="invisible"
        android:layout_row="3"
        android:layout_column="0"
        android:layout_rowSpan="2"
+1 −1
Original line number Diff line number Diff line
@@ -162,7 +162,7 @@

    <!-- Area to overlay FaceLock -->
    <TextView android:id="@+id/faceLockAreaView"
        android:visibility="gone"
        android:visibility="invisible"
        android:layout_row="0"
        android:layout_column="1"
        android:layout_rowSpan="7"
+1 −1
Original line number Diff line number Diff line
@@ -174,7 +174,7 @@

    <!-- Area to overlay FaceLock -->
    <TextView android:id="@+id/faceLockAreaView"
        android:visibility="gone"
        android:visibility="invisible"
        android:layout_row="4"
        android:layout_column="0"
        android:layout_rowSpan="1"
+25 −12
Original line number Diff line number Diff line
@@ -1140,14 +1140,25 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler

    // Everything below pertains to FaceLock - might want to separate this out

    // Only pattern and pin unlock screens actually have a view for the FaceLock area, so it's not
    // uncommon for it to not exist.  But if it does exist, we need to make sure it's shown (hiding
    // the fallback) if FaceLock is enabled, and make sure it's hidden (showing the unlock) if
    // FaceLock is disabled
    // Take care of FaceLock area when layout is created
    private void initializeFaceLockAreaView(View view) {
        if (mLockPatternUtils.usingBiometricWeak() &&
                mLockPatternUtils.isBiometricWeakInstalled()) {
            mFaceLockAreaView = view.findViewById(R.id.faceLockAreaView);
            if (mFaceLockAreaView == null) {
            if (DEBUG) Log.d(TAG, "Layout does not have faceLockAreaView");
                Log.e(TAG, "Layout does not have faceLockAreaView and FaceLock is enabled");
            } else {
                if (mBoundToFaceLockService) {
                    // If we are creating a layout when we are already bound to FaceLock, then we
                    // are undergoing an orientation change.  Stop FaceLock and restart it in the
                    // new location.
                    if (DEBUG) Log.d(TAG, "Restarting FL - creating view while already bound");
                    stopAndUnbindFromFaceLock();
                    activateFaceLockIfAble();
                }
            }
        } else {
            mFaceLockAreaView = null; // Set to null if not using FaceLock
        }
    }

@@ -1164,7 +1175,7 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
            break;
        case MSG_HIDE_FACELOCK_AREA_VIEW:
            if (mFaceLockAreaView != null) {
                mFaceLockAreaView.setVisibility(View.GONE);
                mFaceLockAreaView.setVisibility(View.INVISIBLE);
            }
            break;
        default:
@@ -1200,7 +1211,8 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
        mHandler.sendEmptyMessageDelayed(MSG_HIDE_FACELOCK_AREA_VIEW, timeoutMillis);
    }

    // Binds to FaceLock service, but does not tell it to start
    // Binds to FaceLock service.  This call does not tell it to start, but it causes the service
    // to call the onServiceConnected callback, which then starts FaceLock.
    public void bindToFaceLock() {
        if (mLockPatternUtils.usingBiometricWeak() &&
                mLockPatternUtils.isBiometricWeakInstalled()) {
@@ -1236,9 +1248,10 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
                if (DEBUG) Log.d(TAG, "after unbind from FaceLock service");
                mBoundToFaceLockService = false;
            } else {
                // This could probably happen after the session when someone activates FaceLock
                // because it wasn't active when the phone was turned on
                Log.w(TAG, "Attempt to unbind from FaceLock when not bound");
                // This is usually not an error when this happens.  Sometimes we will tell it to
                // unbind multiple times because it's called from both onWindowFocusChanged and
                // onDetachedFromWindow.
                if (DEBUG) Log.d(TAG, "Attempt to unbind from FaceLock when not bound");
            }
        }
    }