diff options
| -rw-r--r-- | core/java/android/os/StrictMode.java | 6 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java | 14 |
2 files changed, 14 insertions, 6 deletions
diff --git a/core/java/android/os/StrictMode.java b/core/java/android/os/StrictMode.java index 94cca30d9e6c..c707ba839336 100644 --- a/core/java/android/os/StrictMode.java +++ b/core/java/android/os/StrictMode.java @@ -1284,13 +1284,15 @@ public final class StrictMode { return oldPolicyMask; } - private static ThreadPolicy allowThreadViolations() { + /** @hide */ + public static ThreadPolicy allowThreadViolations() { ThreadPolicy oldPolicy = getThreadPolicy(); setThreadPolicyMask(0); return oldPolicy; } - private static VmPolicy allowVmViolations() { + /** @hide */ + public static VmPolicy allowVmViolations() { VmPolicy oldPolicy = getVmPolicy(); sVmPolicy = VmPolicy.LAX; return oldPolicy; diff --git a/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java b/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java index 329d02959435..de86f3d8cfb4 100644 --- a/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java +++ b/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java @@ -29,6 +29,7 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManager.MoveCallback; import android.os.Bundle; import android.os.Handler; +import android.os.StrictMode; import android.os.UserHandle; import android.os.storage.DiskInfo; import android.os.storage.StorageEventListener; @@ -639,11 +640,16 @@ public class StorageNotification extends SystemUI { } private PendingIntent buildBrowsePendingIntent(VolumeInfo vol) { - final Intent intent = vol.buildBrowseIntentForUser(vol.getMountUserId()); + final StrictMode.VmPolicy oldPolicy = StrictMode.allowVmViolations(); + try { + final Intent intent = vol.buildBrowseIntentForUser(vol.getMountUserId()); - final int requestKey = vol.getId().hashCode(); - return PendingIntent.getActivityAsUser(mContext, requestKey, intent, - PendingIntent.FLAG_CANCEL_CURRENT, null, UserHandle.CURRENT); + final int requestKey = vol.getId().hashCode(); + return PendingIntent.getActivityAsUser(mContext, requestKey, intent, + PendingIntent.FLAG_CANCEL_CURRENT, null, UserHandle.CURRENT); + } finally { + StrictMode.setVmPolicy(oldPolicy); + } } private PendingIntent buildVolumeSettingsPendingIntent(VolumeInfo vol) { |