From f0afd8c14e193025d8c31d2221b0904035a0d888 Mon Sep 17 00:00:00 2001 From: Alison Cichowlas Date: Mon, 31 Jul 2017 11:24:34 -0400 Subject: Move ShutdownThread calls to system ui thread. Test: Manual Fixes: 63680790 Change-Id: I6e431efb7594ba86311aac857dbf3970d48044ac --- services/java/com/android/server/SystemServer.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'services/java') diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index a902a19082f0..35062c17169c 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -34,6 +34,7 @@ import android.os.FactoryTest; import android.os.FileUtils; import android.os.IIncidentManager; import android.os.Looper; +import android.os.Message; import android.os.PowerManager; import android.os.Process; import android.os.RemoteException; @@ -472,7 +473,20 @@ public final class SystemServer { } } } - ShutdownThread.rebootOrShutdown(null, reboot, reason); + Runnable runnable = new Runnable() { + @Override + public void run() { + synchronized (this) { + ShutdownThread.rebootOrShutdown(null, reboot, reason); + } + } + }; + + // ShutdownThread must run on a looper capable of displaying the UI. + Message msg = Message.obtain(UiThread.getHandler(), runnable); + msg.setAsynchronous(true); + UiThread.getHandler().sendMessage(msg); + } } -- cgit v1.2.3-59-g8ed1b