summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNate Myren <ntmyren@google.com>2023-04-14 12:00:21 -0700
committerNate Myren <ntmyren@google.com>2023-05-10 23:14:05 +0000
commit6e5d255b68621afc3c871fb8775179c939bde409 (patch)
treea87b03b9ee5f103d81abfbd74dfec520efe6a24b
parent71340eac829e259f888a7049e6df4619a3e01b82 (diff)
downloadPermission-6e5d255b68621afc3c871fb8775179c939bde409.tar.gz
DO NOT MERGE Use parent MediaProvider in clone profiles
clone profiles have no MediaProvider, so they must use that of the parent profile, or else the photo picker will be nonfunctional Bug: 277166838 Test: manual Change-Id: If3dd5ffd64c44e1c8e6a6b57022ee7fa744eb9cc
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt13
1 files changed, 11 insertions, 2 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt
index 4e88d4c9b..24dc51bdf 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt
@@ -39,6 +39,7 @@ import android.health.connect.HealthPermissions.HEALTH_PERMISSION_GROUP
import android.os.Build
import android.os.Bundle
import android.os.Process
+import android.os.UserManager
import android.permission.PermissionManager
import android.provider.MediaStore
import android.util.Log
@@ -1346,10 +1347,18 @@ class GrantPermissionsViewModel(
}
requestInfosLiveData.update()
}
- activity.startActivityForResult(Intent(MediaStore.ACTION_USER_SELECT_IMAGES_FOR_APP)
+ // A clone profile doesn't have a MediaProvider. If this user is a clone profile, open
+ // the photo picker in the parent profile
+ val userManager = activity.getSystemService(UserManager::class.java)!!
+ val user = if (userManager.isCloneProfile) {
+ userManager.getProfileParent(Process.myUserHandle()) ?: Process.myUserHandle()
+ } else {
+ Process.myUserHandle()
+ }
+ activity.startActivityForResultAsUser(Intent(MediaStore.ACTION_USER_SELECT_IMAGES_FOR_APP)
.putExtra(Intent.EXTRA_UID, packageInfo.uid)
.setType(KotlinUtils.getMimeTypeForPermissions(unfilteredAffectedPermissions)),
- PHOTO_PICKER_REQUEST_CODE)
+ PHOTO_PICKER_REQUEST_CODE, user)
}
/**