am 8a1131d7: Merge "DO NOT MERGE cherry-picked FU framework tablet commits" into ics-mr1

* commit '8a1131d78925756835561c3e19cddd2ddf9dbd99':
  DO NOT MERGE cherry-picked FU framework tablet commits
This commit is contained in:
Brian Colonna
2012-01-12 06:36:02 -08:00
committed by Android Git Automerger
5 changed files with 222 additions and 151 deletions

View File

@@ -63,7 +63,7 @@
</RelativeLayout>
<!-- right side: password -->
<LinearLayout
<RelativeLayout
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="match_parent"
@@ -72,6 +72,7 @@
<LinearLayout
android:orientation="vertical"
android:layout_centerInParent="true"
android:layout_width="330dip"
android:layout_height="wrap_content">
@@ -152,6 +153,15 @@
</LinearLayout>
</LinearLayout>
<!-- Area to overlay FaceLock -->
<View android:id="@+id/faceLockAreaView"
android:visibility="invisible"
android:layout_width="512dip"
android:layout_height="512dip"
android:layout_centerInParent="true"
android:background="@color/facelock_color_background"
/>
</RelativeLayout>
</LinearLayout>

View File

@@ -61,92 +61,109 @@
</RelativeLayout>
<!-- bottom: password -->
<LinearLayout
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center">
<!-- Password entry field -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="330dip"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="120dip"
android:layout_marginBottom="5dip"
android:background="@drawable/lockscreen_password_field_dark">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:orientation="vertical"
android:gravity="center">
<EditText android:id="@+id/passwordEntry"
<!-- Password entry field -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="330dip"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_gravity="center"
android:layout_marginTop="120dip"
android:layout_marginBottom="5dip"
android:background="@drawable/lockscreen_password_field_dark">
<EditText android:id="@+id/passwordEntry"
android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_weight="1"
android:singleLine="true"
android:textStyle="normal"
android:inputType="textPassword"
android:gravity="center"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/keyguard_lockscreen_pin_margin_left"
android:textSize="24sp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:background="@null"
android:textColor="#ffffffff"
android:privateImeOptions="com.google.android.inputmethod.latin.forceAscii"
/>
<!-- This delete button is only visible for numeric PIN entry -->
<ImageButton android:id="@+id/pinDel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_input_delete"
android:clickable="true"
android:padding="8dip"
android:layout_gravity="center"
android:background="?android:attr/selectableItemBackground"
android:visibility="gone"
/>
<ImageView android:id="@+id/switch_ime_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_lockscreen_ime"
android:clickable="true"
android:padding="8dip"
android:layout_gravity="center"
android:background="?android:attr/selectableItemBackground"
android:visibility="gone"
/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:singleLine="true"
android:textStyle="normal"
android:inputType="textPassword"
android:gravity="center"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/keyguard_lockscreen_pin_margin_left"
android:textSize="24sp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:background="@null"
android:textColor="#ffffffff"
android:privateImeOptions="com.google.android.inputmethod.latin.forceAscii"
/>
/>
<!-- This delete button is only visible for numeric PIN entry -->
<ImageButton android:id="@+id/pinDel"
<!-- Numeric keyboard -->
<com.android.internal.widget.PasswordEntryKeyboardView android:id="@+id/keyboard"
android:layout_width="330dip"
android:layout_height="260dip"
android:background="#40000000"
android:keyBackground="@drawable/btn_keyboard_key_ics"
android:layout_marginBottom="80dip"
android:clickable="true"
/>
<!-- emergency call button -->
<Button android:id="@+id/emergencyCallButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_input_delete"
android:clickable="true"
android:padding="8dip"
android:layout_gravity="center"
android:background="?android:attr/selectableItemBackground"
android:drawableLeft="@drawable/ic_emergency"
android:drawablePadding="8dip"
android:text="@string/lockscreen_emergency_call"
android:visibility="gone"
/>
<ImageView android:id="@+id/switch_ime_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_lockscreen_ime"
android:clickable="true"
android:padding="8dip"
android:layout_gravity="center"
android:background="?android:attr/selectableItemBackground"
android:visibility="gone"
/>
style="@style/Widget.Button.Transparent"
/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
<!-- Area to overlay FaceLock -->
<View android:id="@+id/faceLockAreaView"
android:visibility="invisible"
android:layout_width="512dip"
android:layout_height="512dip"
android:layout_centerInParent="true"
android:background="@color/facelock_color_background"
/>
<!-- Numeric keyboard -->
<com.android.internal.widget.PasswordEntryKeyboardView android:id="@+id/keyboard"
android:layout_width="330dip"
android:layout_height="260dip"
android:background="#40000000"
android:keyBackground="@drawable/btn_keyboard_key_ics"
android:layout_marginBottom="80dip"
android:clickable="true"
/>
</RelativeLayout>
<!-- emergency call button -->
<Button
android:id="@+id/emergencyCallButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_emergency"
android:drawablePadding="8dip"
android:text="@string/lockscreen_emergency_call"
android:visibility="gone"
style="@style/Widget.Button.Transparent"
/>
</LinearLayout>
</LinearLayout>

View File

@@ -72,48 +72,65 @@
android:layout_height="match_parent"
android:gravity="center_vertical|center_horizontal">
<com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
android:layout_width="354dip"
android:layout_height="354dip"
android:layout_gravity="center_vertical"
/>
<!-- Emergency and forgot pattern buttons. -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/lockPattern"
android:layout_alignLeft="@id/lockPattern"
android:layout_alignRight="@id/lockPattern"
android:layout_marginTop="28dip"
android:gravity="center"
style="?android:attr/buttonBarStyle"
android:weightSum="2">
android:layout_centerInParent="true"
android:gravity="center_vertical|center_horizontal">
<Button android:id="@+id/forgotPatternButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
style="?android:attr/buttonBarButtonStyle"
android:drawableLeft="@drawable/lockscreen_forgot_password_button"
android:drawablePadding="8dip"
android:text="@string/lockscreen_forgot_pattern_button_text"
android:visibility="gone"
<com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
android:layout_width="354dip"
android:layout_height="354dip"
android:layout_gravity="center_vertical"
/>
<Button android:id="@+id/emergencyCallButton"
android:layout_width="wrap_content"
<!-- Emergency and forgot pattern buttons. -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
style="?android:attr/buttonBarButtonStyle"
android:drawableLeft="@drawable/ic_emergency"
android:drawablePadding="8dip"
android:text="@string/lockscreen_emergency_call"
android:visibility="gone"
/>
android:orientation="horizontal"
android:layout_below="@id/lockPattern"
android:layout_alignLeft="@id/lockPattern"
android:layout_alignRight="@id/lockPattern"
android:layout_marginTop="28dip"
style="?android:attr/buttonBarStyle"
android:gravity="center"
android:weightSum="2">
</LinearLayout>
<Button android:id="@+id/forgotPatternButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
style="?android:attr/buttonBarButtonStyle"
android:drawableLeft="@drawable/lockscreen_forgot_password_button"
android:drawablePadding="8dip"
android:text="@string/lockscreen_forgot_pattern_button_text"
android:visibility="gone"
/>
<Button android:id="@+id/emergencyCallButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
style="?android:attr/buttonBarButtonStyle"
android:drawableLeft="@drawable/ic_emergency"
android:drawablePadding="8dip"
android:text="@string/lockscreen_emergency_call"
android:visibility="gone"
/>
</LinearLayout>
</RelativeLayout>
<!-- Area to overlay FaceLock -->
<View android:id="@+id/faceLockAreaView"
android:visibility="invisible"
android:layout_width="512dip"
android:layout_height="512dip"
android:layout_centerInParent="true"
android:background="@color/facelock_color_background"
/>
</RelativeLayout>

View File

@@ -62,52 +62,71 @@
</RelativeLayout>
<!-- bottom: lock pattern, emergency dialer and forgot pattern button -->
<LinearLayout
<RelativeLayout
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="0dip"
android:orientation="vertical"
android:gravity="center">
<com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
android:layout_width="354dip"
android:layout_height="354dip"
android:layout_marginTop="50dip"/>
<!-- Emergency and forgot pattern buttons. -->
<LinearLayout
android:layout_width="match_parent"
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
style="?android:attr/buttonBarStyle"
android:gravity="center"
android:weightSum="2">
android:layout_centerInParent="true"
android:gravity="center">
<Button android:id="@+id/forgotPatternButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
style="?android:attr/buttonBarButtonStyle"
android:drawableLeft="@drawable/lockscreen_forgot_password_button"
android:drawablePadding="8dip"
android:text="@string/lockscreen_forgot_pattern_button_text"
android:visibility="gone"
<com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
android:layout_width="354dip"
android:layout_height="354dip"
android:layout_marginTop="50dip"
/>
<Button android:id="@+id/emergencyCallButton"
android:layout_width="wrap_content"
<!-- Emergency and forgot pattern buttons. -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
style="?android:attr/buttonBarButtonStyle"
android:drawableLeft="@drawable/ic_emergency"
android:drawablePadding="8dip"
android:text="@string/lockscreen_emergency_call"
android:visibility="gone"
/>
android:orientation="horizontal"
android:layout_below="@id/lockPattern"
android:layout_alignLeft="@id/lockPattern"
android:layout_alignRight="@id/lockPattern"
style="?android:attr/buttonBarStyle"
android:gravity="center"
android:weightSum="2">
</LinearLayout>
<Button android:id="@+id/forgotPatternButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
style="?android:attr/buttonBarButtonStyle"
android:drawableLeft="@drawable/lockscreen_forgot_password_button"
android:drawablePadding="8dip"
android:text="@string/lockscreen_forgot_pattern_button_text"
android:visibility="gone"
/>
</LinearLayout>
<Button android:id="@+id/emergencyCallButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
style="?android:attr/buttonBarButtonStyle"
android:drawableLeft="@drawable/ic_emergency"
android:drawablePadding="8dip"
android:text="@string/lockscreen_emergency_call"
android:visibility="gone"
/>
</LinearLayout>
</RelativeLayout>
<!-- Area to overlay FaceLock -->
<View android:id="@+id/faceLockAreaView"
android:visibility="invisible"
android:layout_width="512dip"
android:layout_height="512dip"
android:layout_centerInParent="true"
android:background="@color/facelock_color_background"
/>
</RelativeLayout>
</com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>

View File

@@ -584,15 +584,20 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
(failedBackupAttempts >= LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT);
if (tooManyFaceUnlockTries) Log.i(TAG, "tooManyFaceUnlockTries: " + tooManyFaceUnlockTries);
if (mUpdateMonitor.getPhoneState() == TelephonyManager.CALL_STATE_IDLE
&& usingFaceLock()
&& !mHasOverlay
&& !tooManyFaceUnlockTries
&& !backupIsTimedOut) {
bindToFaceLock();
// Show FaceLock area, but only for a little bit so lockpattern will become visible if
// FaceLock fails to start or crashes
if (usingFaceLock()) {
showFaceLockAreaWithTimeout(FACELOCK_VIEW_AREA_SERVICE_TIMEOUT);
}
showFaceLockAreaWithTimeout(FACELOCK_VIEW_AREA_SERVICE_TIMEOUT);
// When switching between portrait and landscape view while FaceLock is running, the
// screen will eventually go dark unless we poke the wakelock when FaceLock is
// restarted
mKeyguardScreenCallback.pokeWakelock();
} else {
hideFaceLockArea();
}
@@ -1292,8 +1297,11 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
}
if (mFaceLockAreaView != null) {
int[] faceLockPosition;
faceLockPosition = new int[2];
mFaceLockAreaView.getLocationInWindow(faceLockPosition);
startFaceLock(mFaceLockAreaView.getWindowToken(),
mFaceLockAreaView.getLeft(), mFaceLockAreaView.getTop(),
faceLockPosition[0], faceLockPosition[1],
mFaceLockAreaView.getWidth(), mFaceLockAreaView.getHeight());
}
}
@@ -1311,14 +1319,14 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
};
// Tells the FaceLock service to start displaying its UI and perform recognition
public void startFaceLock(IBinder windowToken, int x, int y, int h, int w)
public void startFaceLock(IBinder windowToken, int x, int y, int w, int h)
{
if (usingFaceLock()) {
synchronized (mFaceLockServiceRunningLock) {
if (!mFaceLockServiceRunning) {
if (DEBUG) Log.d(TAG, "Starting FaceLock");
try {
mFaceLockService.startUi(windowToken, x, y, h, w);
mFaceLockService.startUi(windowToken, x, y, w, h);
} catch (RemoteException e) {
Log.e(TAG, "Caught exception starting FaceLock: " + e.toString());
return;
@@ -1360,7 +1368,7 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
public void unlock() {
if (DEBUG) Log.d(TAG, "FaceLock unlock()");
showFaceLockArea(); // Keep fallback covered
stopFaceLock();
stopAndUnbindFromFaceLock();
mKeyguardScreenCallback.keyguardDone(true);
mKeyguardScreenCallback.reportSuccessfulUnlockAttempt();
@@ -1372,7 +1380,7 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
public void cancel() {
if (DEBUG) Log.d(TAG, "FaceLock cancel()");
hideFaceLockArea(); // Expose fallback
stopFaceLock();
stopAndUnbindFromFaceLock();
mKeyguardScreenCallback.pokeWakelock(BACKUP_LOCK_TIMEOUT);
}
@@ -1383,7 +1391,7 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
if (DEBUG) Log.d(TAG, "FaceLock reportFailedAttempt()");
mFailedFaceUnlockAttempts++;
hideFaceLockArea(); // Expose fallback
stopFaceLock();
stopAndUnbindFromFaceLock();
mKeyguardScreenCallback.pokeWakelock(BACKUP_LOCK_TIMEOUT);
}