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

Commit cf952e74 authored by Mark Renouf's avatar Mark Renouf Committed by android-build-merger
Browse files

Allow power button to close an input method am: d28e9071 am: 8da4ced4

am: 9a21708e

Change-Id: I63d939d4dbd889cbd6f83ef101d817ccd561d707
parents 8a5a950a 9a21708e
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -482,6 +482,16 @@ public interface WindowManagerPolicy {
         */
         */
        public void switchInputMethod(boolean forwardDirection);
        public void switchInputMethod(boolean forwardDirection);


        /**
         * Returns the visibility of the current input method window (false if there is none).
         */
        public boolean isInputMethodWindowVisible();

        /**
         * Hides the current input method, if visible.
         */
        public void hideCurrentInputMethod();

        public void shutdown(boolean confirm);
        public void shutdown(boolean confirm);
        public void reboot(boolean confirm);
        public void reboot(boolean confirm);
        public void rebootSafeMode(boolean confirm);
        public void rebootSafeMode(boolean confirm);
+9 −0
Original line number Original line Diff line number Diff line
@@ -265,6 +265,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    static final int SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP = 2;
    static final int SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP = 2;
    static final int SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP_AND_GO_HOME = 3;
    static final int SHORT_PRESS_POWER_REALLY_GO_TO_SLEEP_AND_GO_HOME = 3;
    static final int SHORT_PRESS_POWER_GO_HOME = 4;
    static final int SHORT_PRESS_POWER_GO_HOME = 4;
    static final int SHORT_PRESS_POWER_CLOSE_IME_OR_GO_HOME = 5;


    static final int LONG_PRESS_POWER_NOTHING = 0;
    static final int LONG_PRESS_POWER_NOTHING = 0;
    static final int LONG_PRESS_POWER_GLOBAL_ACTIONS = 1;
    static final int LONG_PRESS_POWER_GLOBAL_ACTIONS = 1;
@@ -1345,6 +1346,14 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                case SHORT_PRESS_POWER_GO_HOME:
                case SHORT_PRESS_POWER_GO_HOME:
                    launchHomeFromHotKey(true /* awakenFromDreams */, false /*respectKeyguard*/);
                    launchHomeFromHotKey(true /* awakenFromDreams */, false /*respectKeyguard*/);
                    break;
                    break;
                case SHORT_PRESS_POWER_CLOSE_IME_OR_GO_HOME:
                    if (mWindowManagerFuncs.isInputMethodWindowVisible()) {
                        mWindowManagerFuncs.hideCurrentInputMethod();
                    } else {
                        launchHomeFromHotKey(true /* awakenFromDreams */,
                            false /*respectKeyguard*/);
                    }
                    break;
            }
            }
        }
        }
    }
    }
+18 −0
Original line number Original line Diff line number Diff line
@@ -4089,6 +4089,24 @@ public class WindowManagerService extends IWindowManager.Stub
        }
        }
    }
    }


    // Called by window manager policy.  Not exposed externally.
    @Override
    public boolean isInputMethodWindowVisible() {
        synchronized (mWindowMap) {
            return mInputMethodWindow != null && mInputMethodWindow.isVisibleLw();
        }
    }

    // Called by window manager policy.  Not exposed externally.
    @Override
    public void hideCurrentInputMethod() {
        final InputMethodManagerInternal inputMethodManagerInternal =
            LocalServices.getService(InputMethodManagerInternal.class);
        if (inputMethodManagerInternal != null) {
            inputMethodManagerInternal.hideCurrentInputMethod();
        }
    }

    // Called by window manager policy. Not exposed externally.
    // Called by window manager policy. Not exposed externally.
    @Override
    @Override
    public void lockDeviceNow() {
    public void lockDeviceNow() {