From 16537757decfa09374852f2361b63a8738b67601 Mon Sep 17 00:00:00 2001 From: Joe Onorato Date: Wed, 17 Mar 2010 22:19:51 -0700 Subject: [PATCH] fix 2517656 Pin/Password Unlocks place focus on the launcher screen when they shouldn't PasswordEntryKeyboardHelper now sets the FLAG_KEEP_TOUCH_MODE flag for the events so that the last event we process from the soft keybaord doesn't exit touch mode and we don't erroneously go into non-touch mode since the on-screen button pressing left us in touch mode. Change-Id: Id2546ec3bc4b337aedb5e925de0c709ce62ea059 --- .../internal/widget/PasswordEntryKeyboardHelper.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java b/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java index 28bf6bba0766e..53720e4bb140c 100644 --- a/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java +++ b/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java @@ -106,12 +106,16 @@ public class PasswordEntryKeyboardHelper implements OnKeyboardActionListener { mKeyboardMode = mode; } - private void sendKeyEventsToTarget(int keyEventCode) { + private void sendKeyEventsToTarget(int character) { Handler handler = mTargetView.getHandler(); KeyEvent[] events = KeyCharacterMap.load(KeyCharacterMap.ALPHA).getEvents( - new char[] { (char) keyEventCode }); + new char[] { (char) character }); if (events != null) { - for (KeyEvent event : events) { + final int N = events.length; + for (int i=0; i