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

This commit is contained in:
Brian Colonna
2011-10-18 15:46:54 -07:00
committed by Android (Google) Code Review
5 changed files with 29 additions and 16 deletions

View File

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

View File

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

View File

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

View File

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

View File

@@ -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) {
mFaceLockAreaView = view.findViewById(R.id.faceLockAreaView);
if (mFaceLockAreaView == null) {
if (DEBUG) Log.d(TAG, "Layout does not have faceLockAreaView");
if (mLockPatternUtils.usingBiometricWeak() &&
mLockPatternUtils.isBiometricWeakInstalled()) {
mFaceLockAreaView = view.findViewById(R.id.faceLockAreaView);
if (mFaceLockAreaView == null) {
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");
}
}
}