From 3b9dae8c20d2203dc082b57ded0c7357be9a1a54 Mon Sep 17 00:00:00 2001 From: "Wang, ArvinX" Date: Thu, 13 Sep 2018 11:17:55 +0800 Subject: [PATCH] Unable to input PIN with hardware keyboard After typing a wrong PIN, the EditText view will be disabled and lose the focus, as a result, inputs from hardware keyboard won't be sent to PIN EditText. Test: 1. Enable PIN lock Test: 2. Lock the device with Power key Test: 3. Enter wrong PIN from a physical keyboard Test: 4. Try to enter PIN again with physical keyboard Bug: 119287260 Change-Id: I04df523c19c99bef75ea481b44154f7ba2270689 Signed-off-by: Wang, ArvinX Signed-off-by: Guobin Zhang --- .../src/com/android/keyguard/KeyguardPinBasedInputView.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPinBasedInputView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPinBasedInputView.java index cb8c119d08ebc..f400f60398824 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardPinBasedInputView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPinBasedInputView.java @@ -68,12 +68,18 @@ public abstract class KeyguardPinBasedInputView extends KeyguardAbsKeyInputView protected void setPasswordEntryEnabled(boolean enabled) { mPasswordEntry.setEnabled(enabled); mOkButton.setEnabled(enabled); + if (enabled && !mPasswordEntry.hasFocus()) { + mPasswordEntry.requestFocus(); + } } @Override protected void setPasswordEntryInputEnabled(boolean enabled) { mPasswordEntry.setEnabled(enabled); mOkButton.setEnabled(enabled); + if (enabled && !mPasswordEntry.hasFocus()) { + mPasswordEntry.requestFocus(); + } } @Override