resolved conflicts for merge of d26707da to master
Change-Id: I1a379194f70c4b14191333ca2d8e6dd9d8b0f9dd
diff --git a/services/java/com/android/server/MountService.java b/services/java/com/android/server/MountService.java
index cd17bd2..81ebe03 100644
--- a/services/java/com/android/server/MountService.java
+++ b/services/java/com/android/server/MountService.java
@@ -215,7 +215,7 @@
throw new SecurityException("Requires SHUTDOWN permission");
}
- Log.i(TAG, "Shutting down");
+ Log.d(TAG, "Shutting down");
String state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_SHARED)) {
@@ -259,6 +259,20 @@
try {
String m = Environment.getExternalStorageDirectory().toString();
unmountMedia(m);
+
+ int retries = 12;
+ while (!state.equals(Environment.MEDIA_UNMOUNTED) && (retries-- >=0)) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException iex) {
+ Log.e(TAG, "Interrupted while waiting for media", iex);
+ break;
+ }
+ state = Environment.getExternalStorageState();
+ }
+ if (retries == 0) {
+ Log.e(TAG, "Timed out waiting for media to unmount");
+ }
} catch (Exception e) {
Log.e(TAG, "external storage unmount failed", e);
}