Skip to content

Commit ab441e1

Browse files
Fixes bug 1274, removed SDK check to see permission status of schedule exact alarm on Android. (#1277)
* Fixes bug 1274, removed SDK check to see permission status. * Added support for older API versions
1 parent 310ee3a commit ab441e1

File tree

5 files changed

+12
-8
lines changed

5 files changed

+12
-8
lines changed

permission_handler_android/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 12.0.4
2+
3+
* Returns `granted` on permission `Permission.scheduleExactAlarm` for devices running lower than Android S (API 31), before this change the default return was `denied`.
4+
* Updates `minSdkVersion` version to `flutter.minSdkVersion`.
5+
16
## 12.0.3
27

38
* Updates the dependency on `permission_handler_platform_interface` to version 4.1.0 (SiriKit support is only available for iOS or macOS).

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,14 +126,14 @@ public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
126126
return false;
127127
}
128128
} else if (requestCode == PermissionConstants.PERMISSION_CODE_SCHEDULE_EXACT_ALARM) {
129+
permission = PermissionConstants.PERMISSION_GROUP_SCHEDULE_EXACT_ALARM;
130+
AlarmManager alarmManager = (AlarmManager) activity.getSystemService(Context.ALARM_SERVICE);
129131
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
130-
AlarmManager alarmManager = (AlarmManager) activity.getSystemService(Context.ALARM_SERVICE);
131132
status = alarmManager.canScheduleExactAlarms()
132133
? PermissionConstants.PERMISSION_STATUS_GRANTED
133134
: PermissionConstants.PERMISSION_STATUS_DENIED;
134-
permission = PermissionConstants.PERMISSION_GROUP_SCHEDULE_EXACT_ALARM;
135135
} else {
136-
return false;
136+
status = PermissionConstants.PERMISSION_STATUS_GRANTED;
137137
}
138138
} else {
139139
return false;

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -348,9 +348,8 @@ static List<String> getManifestNames(Context context, @PermissionConstants.Permi
348348
permissionNames.add(Manifest.permission.READ_MEDIA_AUDIO);
349349
break;
350350
case PermissionConstants.PERMISSION_GROUP_SCHEDULE_EXACT_ALARM:
351-
// The SCHEDULE_EXACT_ALARM permission is introduced in Android S, meaning we should
352-
// not handle permissions on pre Android S devices.
353-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && hasPermissionInManifest(context, permissionNames, Manifest.permission.SCHEDULE_EXACT_ALARM))
351+
// The SCHEDULE_EXACT_ALARM permission is introduced in Android S, before Android 31 it should alway return Granted
352+
if (hasPermissionInManifest(context, permissionNames, Manifest.permission.SCHEDULE_EXACT_ALARM))
354353
permissionNames.add(Manifest.permission.SCHEDULE_EXACT_ALARM);
355354
break;
356355
case PermissionConstants.PERMISSION_GROUP_MEDIA_LIBRARY:

permission_handler_android/example/android/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ android {
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"
34-
minSdkVersion 16
34+
minSdkVersion flutter.minSdkVersion
3535
targetSdkVersion 33
3636
versionCode flutterVersionCode.toInteger()
3737
versionName flutterVersionName

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.3
4+
version: 12.0.4
55

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

0 commit comments

Comments
 (0)