summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorsatok <satok@google.com>2010-12-13 22:15:17 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-12-13 22:15:17 -0800
commit7a49e60eb37dd6326e7a567d89916068f30235b0 (patch)
treec0525b240fe9a66b0ad83bffca357957582157a7 /packages
parentb7b7cdf46ada1af3c9dd89eb7912864bd57e51bb (diff)
parenta84b8d94fbe20a2d51902da29ff00a57e1851dbe (diff)
downloadframeworks_base-7a49e60eb37dd6326e7a567d89916068f30235b0.zip
frameworks_base-7a49e60eb37dd6326e7a567d89916068f30235b0.tar.gz
frameworks_base-7a49e60eb37dd6326e7a567d89916068f30235b0.tar.bz2
Merge "Hide ime switch icon when there are only one IME and no enabled subtypes"
Diffstat (limited to 'packages')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/tablet/InputMethodButton.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/InputMethodButton.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/InputMethodButton.java
index 66ed727..aa431bc 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/InputMethodButton.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/InputMethodButton.java
@@ -157,6 +157,17 @@ public class InputMethodButton extends ImageView {
return null;
}
+ // Display IME switcher icon only when all of the followings are true:
+ // * There is only one enabled IME on the device. (Note that the IME should be the system IME)
+ // * There are no explicitly enabled (by the user) subtypes of the IME, or the IME doesn't have
+ // its subtypes at all
+ private boolean needsToShowIMEButton() {
+ List<InputMethodInfo> imis = mImm.getInputMethodList();
+ final int size = imis.size();
+ return size > 1
+ || (size == 1 && mImm.getEnabledInputMethodSubtypeList(imis.get(0)).size() > 1);
+ }
+
private void refreshStatusIcon(boolean keyboardShown) {
if (!keyboardShown) {
setVisibility(View.INVISIBLE);
@@ -187,7 +198,7 @@ public class InputMethodButton extends ImageView {
public void setIMEButtonVisible(IBinder token, boolean visible) {
mToken = token;
- mKeyboardShown = visible;
+ mKeyboardShown = visible ? needsToShowIMEButton() : false;
refreshStatusIcon(mKeyboardShown);
}
}