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

Commit dd273de0 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Notify keyguard of when power button is pressed." into oc-dev

parents ab17493e b4045d37
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -93,4 +93,10 @@ oneway interface IKeyguardService {
     * @param fadeoutDuration the duration of the exit animation, in milliseconds
     */
    void startKeyguardExitAnimation(long startTime, long fadeoutDuration);

    /**
     * Notifies the Keyguard that the power key was pressed while locked and launched Home rather
     * than putting the device to sleep or waking up.
     */
    void onShortPowerPressedGoHome();
}
+6 −0
Original line number Diff line number Diff line
@@ -194,6 +194,12 @@ public class KeyguardService extends Service {
            mKeyguardViewMediator.startKeyguardExitAnimation(startTime, fadeoutDuration);
            Trace.endSection();
        }

        @Override
        public void onShortPowerPressedGoHome() {
            checkPermission();
            mKeyguardViewMediator.onShortPowerPressedGoHome();
        }
    };
}
+4 −0
Original line number Diff line number Diff line
@@ -2013,6 +2013,10 @@ public class KeyguardViewMediator extends SystemUI {
        Trace.endSection();
    }

    public void onShortPowerPressedGoHome() {
        // do nothing
    }

    public ViewMediatorCallback getViewMediatorCallback() {
        return mViewMediatorCallback;
    }
+11 −3
Original line number Diff line number Diff line
@@ -1418,7 +1418,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                    launchHomeFromHotKey();
                    break;
                case SHORT_PRESS_POWER_GO_HOME:
                    launchHomeFromHotKey(true /* awakenFromDreams */, false /*respectKeyguard*/);
                    shortPressPowerGoHome();
                    break;
                case SHORT_PRESS_POWER_CLOSE_IME_OR_GO_HOME: {
                    if (mDismissImeOnBackKeyPressed) {
@@ -1430,8 +1430,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                            mInputMethodManagerInternal.hideCurrentInputMethod();
                        }
                    } else {
                        launchHomeFromHotKey(true /* awakenFromDreams */,
                                false /*respectKeyguard*/);
                        shortPressPowerGoHome();
                    }
                    break;
                }
@@ -1439,6 +1438,15 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        }
    }

    private void shortPressPowerGoHome() {
        launchHomeFromHotKey(true /* awakenFromDreams */, false /*respectKeyguard*/);
        if (isKeyguardShowingAndNotOccluded()) {
            // Notify keyguard so it can do any special handling for the power button since the
            // device will not power off and only launch home.
            mKeyguardDelegate.onShortPowerPressedGoHome();
        }
    }

    private void powerMultiPressAction(long eventTime, boolean interactive, int behavior) {
        switch (behavior) {
            case MULTI_PRESS_POWER_NOTHING:
+6 −0
Original line number Diff line number Diff line
@@ -372,6 +372,12 @@ public class KeyguardServiceDelegate {
        mKeyguardState.bootCompleted = true;
    }

    public void onShortPowerPressedGoHome() {
        if (mKeyguardService != null) {
            mKeyguardService.onShortPowerPressedGoHome();
        }
    }

    public void dump(String prefix, PrintWriter pw) {
        pw.println(prefix + TAG);
        prefix += "  ";
Loading