Loading services/core/java/com/android/server/am/ProcessList.java +9 −3 Original line number Diff line number Diff line Loading @@ -1626,7 +1626,8 @@ public final class ProcessList { } int numGids = 3; if (mountExternal == Zygote.MOUNT_EXTERNAL_ANDROID_WRITABLE) { if (mountExternal == Zygote.MOUNT_EXTERNAL_ANDROID_WRITABLE || app.info.packageName.equals("com.android.externalstorage")) { numGids++; } Loading @@ -1643,9 +1644,15 @@ public final class ProcessList { gids[0] = UserHandle.getSharedAppGid(UserHandle.getAppId(uid)); gids[1] = UserHandle.getCacheAppGid(UserHandle.getAppId(uid)); gids[2] = UserHandle.getUserGid(UserHandle.getUserId(uid)); if (numGids > 3) { if (app.info.packageName.equals("com.android.externalstorage")) { // Allows access to 'unreliable' (USB OTG) volumes via SAF gids[3] = Process.MEDIA_RW_GID; } else if (mountExternal == Zygote.MOUNT_EXTERNAL_ANDROID_WRITABLE) { gids[3] = Process.SDCARD_RW_GID; } } // Replace any invalid GIDs if (gids[0] == UserHandle.ERR_GID) gids[0] = gids[2]; Loading Loading @@ -3962,4 +3969,3 @@ public final class ProcessList { } }; } Loading
services/core/java/com/android/server/am/ProcessList.java +9 −3 Original line number Diff line number Diff line Loading @@ -1626,7 +1626,8 @@ public final class ProcessList { } int numGids = 3; if (mountExternal == Zygote.MOUNT_EXTERNAL_ANDROID_WRITABLE) { if (mountExternal == Zygote.MOUNT_EXTERNAL_ANDROID_WRITABLE || app.info.packageName.equals("com.android.externalstorage")) { numGids++; } Loading @@ -1643,9 +1644,15 @@ public final class ProcessList { gids[0] = UserHandle.getSharedAppGid(UserHandle.getAppId(uid)); gids[1] = UserHandle.getCacheAppGid(UserHandle.getAppId(uid)); gids[2] = UserHandle.getUserGid(UserHandle.getUserId(uid)); if (numGids > 3) { if (app.info.packageName.equals("com.android.externalstorage")) { // Allows access to 'unreliable' (USB OTG) volumes via SAF gids[3] = Process.MEDIA_RW_GID; } else if (mountExternal == Zygote.MOUNT_EXTERNAL_ANDROID_WRITABLE) { gids[3] = Process.SDCARD_RW_GID; } } // Replace any invalid GIDs if (gids[0] == UserHandle.ERR_GID) gids[0] = gids[2]; Loading Loading @@ -3962,4 +3969,3 @@ public final class ProcessList { } }; }