mirror of
https://github.com/f-droid/fdroidclient.git
synced 2026-04-20 06:47:06 -04:00
Merge branch 'tiramisu-split-perms' into 'master'
Handle API 33 split-permissions See merge request fdroid/fdroidclient!1129
This commit is contained in:
@@ -568,6 +568,23 @@ public class Apk extends ValueObject implements Comparable<Apk>, Parcelable {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
if (targetSdkVersion >= 33) {
|
||||
// Do nothing. The targetSdk for the below split-permissions is set to 33,
|
||||
// so we don't make any changes for apps targetting 33 or above
|
||||
} else {
|
||||
// TODO: Change the strings below to Manifest.permission once we target SDK 31.
|
||||
if (set.contains(Manifest.permission.BODY_SENSORS)) {
|
||||
set.add("android.permission.BODY_SENSORS_BACKGROUND");
|
||||
}
|
||||
if (set.contains(Manifest.permission.READ_EXTERNAL_STORAGE) ||
|
||||
set.contains(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
|
||||
set.add("android.permission.READ_MEDIA_AUDIO");
|
||||
set.add("android.permission.READ_MEDIA_VIDEO");
|
||||
set.add("android.permission.READ_MEDIA_IMAGES");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
requestedPermissions = set.toArray(new String[set.size()]);
|
||||
}
|
||||
|
||||
@@ -139,6 +139,23 @@ public class RepoXMLHandler extends DefaultHandler {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Build.VERSION.SDK_INT >= 33) {
|
||||
if (curapk.targetSdkVersion >= 33) {
|
||||
// Do nothing. The targetSdk for the below split-permissions is set to 33,
|
||||
// so we don't make any changes for apps targetting 33 or above
|
||||
} else {
|
||||
// TODO: Change the strings below to Manifest.permission once we target SDK 33.
|
||||
if (requestedPermissionsSet.contains(Manifest.permission.BODY_SENSORS)) {
|
||||
requestedPermissionsSet.add("android.permission.BODY_SENSORS_BACKGROUND");
|
||||
}
|
||||
if (requestedPermissionsSet.contains(Manifest.permission.READ_EXTERNAL_STORAGE) ||
|
||||
requestedPermissionsSet.contains(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
|
||||
requestedPermissionsSet.add("android.permission.READ_MEDIA_AUDIO");
|
||||
requestedPermissionsSet.add("android.permission.READ_MEDIA_VIDEO");
|
||||
requestedPermissionsSet.add("android.permission.READ_MEDIA_IMAGES");
|
||||
}
|
||||
}
|
||||
}
|
||||
int size = requestedPermissionsSet.size();
|
||||
curapk.requestedPermissions = requestedPermissionsSet.toArray(new String[size]);
|
||||
requestedPermissionsSet.clear();
|
||||
|
||||
Reference in New Issue
Block a user