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

Commit 6cd10268 authored by Michael Wright's avatar Michael Wright
Browse files

Make shutdown use the UI context.

Test: manual
Bug: 36879116
Change-Id: Id2d6257a5a462573c3481c886778f51b429117d7
parent 31a6d784
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -763,8 +763,10 @@ public class StatusBarManagerService extends IStatusBarService.Stub {
        enforceStatusBarService();
        long identity = Binder.clearCallingIdentity();
        try {
            // ShutdownThread displays UI, so give it a UI context.
            mHandler.post(() ->
                    ShutdownThread.shutdown(mContext, PowerManager.SHUTDOWN_USER_REQUESTED, false));
                    ShutdownThread.shutdown(getUiContext(),
                        PowerManager.SHUTDOWN_USER_REQUESTED, false));
        } finally {
            Binder.restoreCallingIdentity(identity);
        }
@@ -780,11 +782,11 @@ public class StatusBarManagerService extends IStatusBarService.Stub {
        try {
            mHandler.post(() -> {
                // ShutdownThread displays UI, so give it a UI context.
                Context uiContext = ActivityThread.currentActivityThread().getSystemUiContext();
                if (safeMode) {
                    ShutdownThread.rebootSafeMode(uiContext, false);
                    ShutdownThread.rebootSafeMode(getUiContext(), false);
                } else {
                    ShutdownThread.reboot(uiContext, PowerManager.SHUTDOWN_USER_REQUESTED, false);
                    ShutdownThread.reboot(getUiContext(),
                            PowerManager.SHUTDOWN_USER_REQUESTED, false);
                }
            });
        } finally {
@@ -1018,4 +1020,8 @@ public class StatusBarManagerService extends IStatusBarService.Stub {
            }
        }
    }

    private static final Context getUiContext() {
        return ActivityThread.currentActivityThread().getSystemUiContext();
    }
}