Skip to content

Commit 0de4345

Browse files
authored
added partial media permission to android (#1347)
* added partial media permission to android and bumped compileSDK to 34. Also set android project to use local interface * updated unit test with total permissions count + reset pubspec to not use local path * baked the partial permission into original photo * removed the partial permission as its baked into photos now * added new limited to videos as well * fixed format * Versioning + reset platform_interface
1 parent 42e1c85 commit 0de4345

File tree

7 files changed

+22
-6
lines changed

7 files changed

+22
-6
lines changed

permission_handler_android/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 12.0.8
2+
3+
* Added support for limited photo and video permission on Android.
4+
15
## 12.0.7
26

37
* Removes additional Android v1 embedding class reference.

permission_handler_android/android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ android {
2626
if (project.android.hasProperty("namespace")) {
2727
namespace 'com.baseflow.permissionhandler'
2828
}
29-
compileSdk 33
29+
compileSdk 34
3030

3131
compileOptions {
3232
sourceCompatibility JavaVersion.VERSION_1_8

permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionConstants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ final class PermissionConstants {
100100
PERMISSION_GROUP_SCHEDULE_EXACT_ALARM,
101101
PERMISSION_GROUP_CALENDAR_WRITE_ONLY,
102102
PERMISSION_GROUP_CALENDAR_FULL_ACCESS,
103-
PERMISSION_GROUP_ASSISTANT
103+
PERMISSION_GROUP_ASSISTANT,
104104
})
105105
@interface PermissionGroup {
106106
}

permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionManager.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,18 @@ private int determinePermissionStatus(final @PermissionConstants.PermissionGroup
537537
} else {
538538
permissionStatuses.add(PermissionConstants.PERMISSION_STATUS_GRANTED);
539539
}
540-
} else {
540+
} else if (permission == PermissionConstants.PERMISSION_GROUP_PHOTOS || permission == PermissionConstants.PERMISSION_GROUP_VIDEOS){
541+
final int permissionStatusLimited = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED);
542+
final int permissionStatus = ContextCompat.checkSelfPermission(context, name);
543+
if (permissionStatusLimited == PackageManager.PERMISSION_GRANTED){
544+
permissionStatuses.add(PermissionConstants.PERMISSION_STATUS_LIMITED);
545+
}
546+
else{
547+
if (permissionStatus != PackageManager.PERMISSION_GRANTED) {
548+
permissionStatuses.add(PermissionUtils.determineDeniedVariant(activity, name));
549+
}
550+
}
551+
}else {
541552
final int permissionStatus = ContextCompat.checkSelfPermission(context, name);
542553
if (permissionStatus != PackageManager.PERMISSION_GRANTED) {
543554
permissionStatuses.add(PermissionUtils.determineDeniedVariant(activity, name));

permission_handler_android/example/android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
2626

2727
android {
2828
namespace 'com.baseflow.permissionhandler.example'
29-
compileSdk 33
29+
compileSdk 34
3030

3131
defaultConfig {
3232
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
3333
applicationId "com.baseflow.permissionhandler.example"
3434
minSdkVersion flutter.minSdkVersion
35-
targetSdkVersion flutter.targetSdkVersion
35+
targetSdkVersion 34
3636
versionCode flutterVersionCode.toInteger()
3737
versionName flutterVersionName
3838
}

permission_handler_android/example/android/app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
2727
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
2828
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
29+
<uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED" />
2930

3031
<!-- Permissions options for the `camera` group -->
3132
<uses-permission android:name="android.permission.CAMERA"/>

permission_handler_android/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: permission_handler_android
22
description: Permission plugin for Flutter. This plugin provides the Android API to request and check permissions.
33
homepage: https://github.com/baseflow/flutter-permission-handler
4-
version: 12.0.7
4+
version: 12.0.8
55

66
environment:
77
sdk: ">=2.15.0 <4.0.0"

0 commit comments

Comments
 (0)