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

Commit f5a3fee9 authored by Bryce Lee's avatar Bryce Lee Committed by android-build-merger
Browse files

am 1d97aa4d: Merge "Allow single press of physical button to go home without...

am 1d97aa4d: Merge "Allow single press of physical button to go home without sleeping." into lmp-mr1-modular-dev
automerge: d1444b63

* commit 'd1444b63':
  Allow single press of physical button to go home without sleeping.
parents 11f51ffa d1444b63
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.view;

import android.annotation.IntDef;
import android.annotation.SystemApi;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.content.res.CompatibilityInfo;
@@ -104,6 +105,13 @@ public interface WindowManagerPolicy {
     */
    public final static String EXTRA_HDMI_PLUGGED_STATE = "state";

    /**
     * Set to {@code true} when intent was invoked from pressing the home key.
     * @hide
     */
    @SystemApi
    public static final String EXTRA_FROM_HOME_KEY = "android.intent.extra.FROM_HOME_KEY";

    /**
     * Pass this event to the user / app.  To be returned from
     * {@link #interceptKeyBeforeQueueing}.
+21 −5
Original line number Diff line number Diff line
@@ -154,6 +154,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    static final int SHORT_PRESS_POWER_GO_TO_SLEEP = 1;
    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_GO_HOME = 4;

    static final int LONG_PRESS_POWER_NOTHING = 0;
    static final int LONG_PRESS_POWER_GLOBAL_ACTIONS = 1;
@@ -974,6 +975,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                            PowerManager.GO_TO_SLEEP_FLAG_NO_DOZE);
                    launchHomeFromHotKey();
                    break;
                case SHORT_PRESS_POWER_GO_HOME:
                    launchHomeFromHotKey();
                    break;
            }
        }
    }
@@ -2989,7 +2993,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                        } catch (RemoteException e) {
                        }
                        sendCloseSystemWindows(SYSTEM_DIALOG_REASON_HOME_KEY);
                        startDockOrHome();
                        startDockOrHome(true /*fromHomeKey*/);
                    }
                }
            });
@@ -3007,7 +3011,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            } else {
                // Otherwise, just launch Home
                sendCloseSystemWindows(SYSTEM_DIALOG_REASON_HOME_KEY);
                startDockOrHome();
                startDockOrHome(true /*fromHomeKey*/);
            }
        }
    }
@@ -5880,19 +5884,31 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        return null;
    }

    void startDockOrHome() {
    void startDockOrHome(boolean fromHomeKey) {
        awakenDreams();

        Intent dock = createHomeDockIntent();
        if (dock != null) {
            try {
                if (fromHomeKey) {
                    dock.putExtra(WindowManagerPolicy.EXTRA_FROM_HOME_KEY, fromHomeKey);
                }
                mContext.startActivityAsUser(dock, UserHandle.CURRENT);
                return;
            } catch (ActivityNotFoundException e) {
            }
        }

        mContext.startActivityAsUser(mHomeIntent, UserHandle.CURRENT);
        Intent intent;

        if (fromHomeKey) {
            intent = new Intent(mHomeIntent);
            intent.putExtra(WindowManagerPolicy.EXTRA_FROM_HOME_KEY, fromHomeKey);
        } else {
            intent = mHomeIntent;
        }

        mContext.startActivityAsUser(intent, UserHandle.CURRENT);
    }

    /**
@@ -5907,7 +5923,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            } catch (RemoteException e) {
            }
            sendCloseSystemWindows();
            startDockOrHome();
            startDockOrHome(false /*fromHomeKey*/);
        } else {
            // This code brings home to the front or, if it is already
            // at the front, puts the device to sleep.