diff options
| author | 2019-04-28 17:04:03 +0000 | |
|---|---|---|
| committer | 2019-04-28 17:04:03 +0000 | |
| commit | 8eccead1be0aec61ea83b32ec180b72a286e1ae7 (patch) | |
| tree | 6ab2a6e8006bbf3f20db6a0b59d6936e4718b6c9 | |
| parent | 0107bbb1ef528a786dd92999a0d6d3daa1c6c4df (diff) | |
| parent | e3644411a0ddb754bfba98c80f0b6c9505eb0283 (diff) | |
Merge "Avoid triggering StrictMode for storage notifs." into qt-dev
| -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) { |