OSDN Git Service

Fix 2431663: Ensure password field retains focus in PasswordUnlockScreen.
authorJim Miller <jaggies@google.com>
Thu, 11 Feb 2010 23:39:45 +0000 (15:39 -0800)
committerJim Miller <jaggies@google.com>
Thu, 11 Feb 2010 23:44:01 +0000 (15:44 -0800)
phone/com/android/internal/policy/impl/PasswordUnlockScreen.java

index 4006683..560a000 100644 (file)
 package com.android.internal.policy.impl;
 
 import android.content.Context;
+import android.graphics.Rect;
 
-import com.android.internal.telephony.IccCard.State;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.internal.widget.PasswordEntryKeyboardView;
 
-import android.text.Editable;
-import android.util.Log;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.inputmethod.EditorInfo;
-import android.widget.Button;
 import android.widget.EditText;
 import android.widget.LinearLayout;
 import android.widget.TextView;
@@ -89,10 +86,15 @@ public class PasswordUnlockScreen extends LinearLayout implements KeyguardScreen
                 : PasswordEntryKeyboardHelper.KEYBOARD_MODE_NUMERIC);
 
         updateMonitor.registerConfigurationChangeCallback(this);
-        setFocusableInTouchMode(true);
         mPasswordEntry.requestFocus();
     }
 
+    @Override
+    protected boolean onRequestFocusInDescendants(int direction, Rect previouslyFocusedRect) {
+        // send focus to the password field
+        return mPasswordEntry.requestFocus(direction, previouslyFocusedRect);
+    }
+
     /** {@inheritDoc} */
     public boolean needsInput() {
         return false;