Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7a49e60e authored by satok's avatar satok Committed by Android (Google) Code Review
Browse files

Merge "Hide ime switch icon when there are only one IME and no enabled subtypes"

parents b7b7cdf4 a84b8d94
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -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);
    }
}