Merge "Fix 2672155 Check the code path when enabling disabling packages." into froyo
diff --git a/core/java/com/android/internal/app/ShutdownThread.java b/core/java/com/android/internal/app/ShutdownThread.java
index 83614a8..a96253b 100644
--- a/core/java/com/android/internal/app/ShutdownThread.java
+++ b/core/java/com/android/internal/app/ShutdownThread.java
@@ -199,10 +199,10 @@
         mContext.sendOrderedBroadcast(new Intent(Intent.ACTION_SHUTDOWN), null,
                 br, mHandler, 0, null, null);
         
-        final long endTime = System.currentTimeMillis() + MAX_BROADCAST_TIME;
+        final long endTime = SystemClock.elapsedRealtime() + MAX_BROADCAST_TIME;
         synchronized (mActionDoneSync) {
             while (!mActionDone) {
-                long delay = endTime - System.currentTimeMillis();
+                long delay = endTime - SystemClock.elapsedRealtime();
                 if (delay <= 0) {
                     Log.w(TAG, "Shutdown broadcast timed out");
                     break;
@@ -297,7 +297,7 @@
         Log.i(TAG, "Shutting down MountService");
         // Set initial variables and time out time.
         mActionDone = false;
-        final long endShutTime = System.currentTimeMillis() + MAX_SHUTDOWN_WAIT_TIME;
+        final long endShutTime = SystemClock.elapsedRealtime() + MAX_SHUTDOWN_WAIT_TIME;
         synchronized (mActionDoneSync) {
             try {
                 if (mount != null) {
@@ -309,7 +309,7 @@
                 Log.e(TAG, "Exception during MountService shutdown", e);
             }
             while (!mActionDone) {
-                long delay = endShutTime - System.currentTimeMillis();
+                long delay = endShutTime - SystemClock.elapsedRealtime();
                 if (delay <= 0) {
                     Log.w(TAG, "Shutdown wait timed out");
                     break;