Update the subtype icon properly.

Change-Id: Ib89959d1ea13f1e6f56e6280f90532e6695c4a00
diff --git a/services/java/com/android/server/StatusBarManagerService.java b/services/java/com/android/server/StatusBarManagerService.java
index 0eeef38..596db57 100644
--- a/services/java/com/android/server/StatusBarManagerService.java
+++ b/services/java/com/android/server/StatusBarManagerService.java
@@ -263,19 +263,20 @@
         if (SPEW) Slog.d(TAG, (visible?"showing":"hiding") + " IME Button");
 
         synchronized(mLock) {
-            if (mIMEButtonVisible != visible) {
-                mIMEButtonVisible = visible;
-                mHandler.post(new Runnable() {
-                    public void run() {
-                        if (mBar != null) {
-                            try {
-                                mBar.setIMEButtonVisible(visible);
-                            } catch (RemoteException ex) {
-                            }
+            // In case of IME change, we need to call up setIMEButtonVisible() regardless of
+            // mIMEButtonVisible because mIMEButtonVisible may not have been set to false when the
+            // previous IME was destroyed.
+            mIMEButtonVisible = visible;
+            mHandler.post(new Runnable() {
+                public void run() {
+                    if (mBar != null) {
+                        try {
+                            mBar.setIMEButtonVisible(visible);
+                        } catch (RemoteException ex) {
                         }
                     }
-                });
-            }
+                }
+            });
         }
     }