From 760884e027c4c678e6baed9a9857bd3c351abefb Mon Sep 17 00:00:00 2001 From: satok Date: Tue, 25 Jan 2011 20:55:23 +0900 Subject: [PATCH] Hide recognition view when switchToLastInputMethod failed. Change-Id: Ie5f3d267e1042b4379b51c2dc6c8756e394cfc0f --- .../inputmethod/voice/VoiceIMEConnector.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/java/src/com/android/inputmethod/voice/VoiceIMEConnector.java b/java/src/com/android/inputmethod/voice/VoiceIMEConnector.java index a3a3ea88e..a30570aa2 100644 --- a/java/src/com/android/inputmethod/voice/VoiceIMEConnector.java +++ b/java/src/com/android/inputmethod/voice/VoiceIMEConnector.java @@ -564,8 +564,18 @@ public class VoiceIMEConnector implements VoiceInput.UiListener { } private void switchToLastInputMethod() { - IBinder token = mService.getWindow().getWindow().getAttributes().token; - mImm.switchToLastInputMethod(token); + final IBinder token = mService.getWindow().getWindow().getAttributes().token; + new Thread ("switchToLastInputMethod") { + @Override + public void run() { + if (!mImm.switchToLastInputMethod(token)) { + // Needs to reset here because LatinIME failed to back to any IME and + // the same voice subtype will be triggered in the next time. + mVoiceInput.reset(); + mService.requestHideSelf(0); + } + } + }.start(); } private void reallyStartListening(boolean swipe) {