From 11f197c3fe24c5fdccf3c2feacb22bc16d73d5fc Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Wed, 22 Jun 2016 10:35:29 -0600 Subject: [PATCH] Avoid runtime restart when storage is missing. When primary shared storage is completely missing, catch the thrown exception and treat as if ejected. Bug: 29461637 Change-Id: I8eb5cdeb01983efbf26da3d32ab19a6630662156 --- .../java/com/android/server/pm/PackageManagerService.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 2a8569480bb8a..96513b98f02e2 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -12526,13 +12526,12 @@ public class PackageManagerService extends IPackageManager.Stub { } if (mSuccess) { - final boolean mounted; - if (Environment.isExternalStorageEmulated()) { - mounted = true; - } else { + boolean mounted = false; + try { final String status = Environment.getExternalStorageState(); mounted = (Environment.MEDIA_MOUNTED.equals(status) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(status)); + } catch (Exception e) { } if (mounted) {