Avoid starting multiple threads in ShutdownThread

The previous code allowed this to happen if a second call to shutdown
happened while the dialog was being displayed.

BUG: 2563243

Change-Id: I93adc4ef316917a79002d580b17eda0dc354704c
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/core/java/com/android/internal/app/ShutdownThread.java b/core/java/com/android/internal/app/ShutdownThread.java
index a96253b..d1aff2a 100644
--- a/core/java/com/android/internal/app/ShutdownThread.java
+++ b/core/java/com/android/internal/app/ShutdownThread.java
@@ -84,7 +84,7 @@
     public static void shutdown(final Context context, boolean confirm) {
         // ensure that only one thread is trying to power down.
         // any additional calls are just returned
-        synchronized (sIsStartedGuard){
+        synchronized (sIsStartedGuard) {
             if (sIsStarted) {
                 Log.d(TAG, "Request to shutdown already running, returning.");
                 return;
@@ -133,6 +133,10 @@
 
     private static void beginShutdownSequence(Context context) {
         synchronized (sIsStartedGuard) {
+            if (sIsStarted) {
+                Log.d(TAG, "Request to shutdown already running, returning.");
+                return;
+            }
             sIsStarted = true;
         }