diff options
| author | Sudheer Shanka <sudheersai@google.com> | 2018-08-17 16:10:29 -0700 |
|---|---|---|
| committer | Sudheer Shanka <sudheersai@google.com> | 2018-08-21 19:25:08 -0700 |
| commit | 98cb3f09fa539549999697dec340aec1c5912f4e (patch) | |
| tree | 6d89e9a7f08daf2df51a91ed4e38287575bd1fd9 /core/java | |
| parent | 07ae651adf46b363c302dcf7e90f29998761a09a (diff) | |
Allow some apps to get full access to external storage.
Apps with WRITE_MEDIA_STORAGE permission will get
full access to external storage.
Bug: 111890351
Test: manual
Change-Id: Icbfe1f68c0bfca77bdc557e9903ded45994f5945
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/os/ZygoteProcess.java | 3 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/Zygote.java | 2 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/ZygoteConnection.java | 4 |
3 files changed, 8 insertions, 1 deletions
diff --git a/core/java/android/os/ZygoteProcess.java b/core/java/android/os/ZygoteProcess.java index 067e8493717b..732d3778ec6d 100644 --- a/core/java/android/os/ZygoteProcess.java +++ b/core/java/android/os/ZygoteProcess.java @@ -384,7 +384,10 @@ public class ZygoteProcess { argsForZygote.add("--mount-external-read"); } else if (mountExternal == Zygote.MOUNT_EXTERNAL_WRITE) { argsForZygote.add("--mount-external-write"); + } else if (mountExternal == Zygote.MOUNT_EXTERNAL_FULL) { + argsForZygote.add("--mount-external-full"); } + argsForZygote.add("--target-sdk-version=" + targetSdkVersion); // --setgroups is a comma-separated list diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java index 413f89da571e..927322e97e28 100644 --- a/core/java/com/android/internal/os/Zygote.java +++ b/core/java/com/android/internal/os/Zygote.java @@ -81,6 +81,8 @@ public final class Zygote { public static final int MOUNT_EXTERNAL_READ = IVold.REMOUNT_MODE_READ; /** Read-write external storage should be mounted. */ public static final int MOUNT_EXTERNAL_WRITE = IVold.REMOUNT_MODE_WRITE; + /** Read-write external storage should be mounted instead of package sandbox */ + public static final int MOUNT_EXTERNAL_FULL = IVold.REMOUNT_MODE_FULL; private static final ZygoteHooks VM_HOOKS = new ZygoteHooks(); diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java index b9c717f03749..b60b43a8d45d 100644 --- a/core/java/com/android/internal/os/ZygoteConnection.java +++ b/core/java/com/android/internal/os/ZygoteConnection.java @@ -644,7 +644,9 @@ class ZygoteConnection { mountExternal = Zygote.MOUNT_EXTERNAL_READ; } else if (arg.equals("--mount-external-write")) { mountExternal = Zygote.MOUNT_EXTERNAL_WRITE; - } else if (arg.equals("--query-abi-list")) { + } else if (arg.equals("--mount-external-full")) { + mountExternal = Zygote.MOUNT_EXTERNAL_FULL; + } else if (arg.equals("--query-abi-list")) { abiListQuery = true; } else if (arg.equals("--get-pid")) { pidQuery = true; |
