Commit 627daa91 by Jeroen Weener Committed by GitHub

Implement `Permission.calendarReadOnly` and `Permission.calendarFullAccess` (#1189)

* Clean up `determinePermissionStatus`

* Implement new calendar permissions
parent c2f30555
## 11.1.0
* Implements the `Permission.calendarReadOnly` and `PermissionCalendarFullAccess` permissions.
## 11.0.5 ## 11.0.5
* Removes the obsolete `updatePermissionShouldShowStatus` method from the Java code base. * Removes the obsolete `updatePermissionShouldShowStatus` method from the Java code base.
......
...@@ -17,7 +17,11 @@ final class PermissionConstants { ...@@ -17,7 +17,11 @@ final class PermissionConstants {
static final int PERMISSION_CODE_ACCESS_NOTIFICATION_POLICY = 213; static final int PERMISSION_CODE_ACCESS_NOTIFICATION_POLICY = 213;
static final int PERMISSION_CODE_SCHEDULE_EXACT_ALARM = 214; static final int PERMISSION_CODE_SCHEDULE_EXACT_ALARM = 214;
//PERMISSION_GROUP
// PERMISSION_GROUP
// Deprecated in favor of PERMISSION_GROUP_CALENDAR_READ_ONLY and
// PERMISSION_GROUP_CALENDAR_FULL_ACCESS.
static final int PERMISSION_GROUP_CALENDAR = 0; static final int PERMISSION_GROUP_CALENDAR = 0;
static final int PERMISSION_GROUP_CAMERA = 1; static final int PERMISSION_GROUP_CAMERA = 1;
static final int PERMISSION_GROUP_CONTACTS = 2; static final int PERMISSION_GROUP_CONTACTS = 2;
...@@ -54,6 +58,8 @@ final class PermissionConstants { ...@@ -54,6 +58,8 @@ final class PermissionConstants {
static final int PERMISSION_GROUP_AUDIO = 33; static final int PERMISSION_GROUP_AUDIO = 33;
static final int PERMISSION_GROUP_SCHEDULE_EXACT_ALARM = 34; static final int PERMISSION_GROUP_SCHEDULE_EXACT_ALARM = 34;
static final int PERMISSION_GROUP_SENSORS_ALWAYS = 35; static final int PERMISSION_GROUP_SENSORS_ALWAYS = 35;
static final int PERMISSION_GROUP_CALENDAR_READ_ONLY = 36;
static final int PERMISSION_GROUP_CALENDAR_FULL_ACCESS = 37;
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
@IntDef({ @IntDef({
...@@ -89,7 +95,9 @@ final class PermissionConstants { ...@@ -89,7 +95,9 @@ final class PermissionConstants {
PERMISSION_GROUP_NEARBY_WIFI_DEVICES, PERMISSION_GROUP_NEARBY_WIFI_DEVICES,
PERMISSION_GROUP_VIDEOS, PERMISSION_GROUP_VIDEOS,
PERMISSION_GROUP_AUDIO, PERMISSION_GROUP_AUDIO,
PERMISSION_GROUP_SCHEDULE_EXACT_ALARM PERMISSION_GROUP_SCHEDULE_EXACT_ALARM,
PERMISSION_GROUP_CALENDAR_READ_ONLY,
PERMISSION_GROUP_CALENDAR_FULL_ACCESS
}) })
@interface PermissionGroup { @interface PermissionGroup {
} }
......
...@@ -103,6 +103,12 @@ public class PermissionUtils { ...@@ -103,6 +103,12 @@ public class PermissionUtils {
final ArrayList<String> permissionNames = new ArrayList<>(); final ArrayList<String> permissionNames = new ArrayList<>();
switch (permission) { switch (permission) {
case PermissionConstants.PERMISSION_GROUP_CALENDAR_READ_ONLY:
if (hasPermissionInManifest(context, permissionNames, Manifest.permission.READ_CALENDAR))
permissionNames.add(Manifest.permission.READ_CALENDAR);
break;
case PermissionConstants.PERMISSION_GROUP_CALENDAR_FULL_ACCESS:
case PermissionConstants.PERMISSION_GROUP_CALENDAR: case PermissionConstants.PERMISSION_GROUP_CALENDAR:
if (hasPermissionInManifest(context, permissionNames, Manifest.permission.READ_CALENDAR)) if (hasPermissionInManifest(context, permissionNames, Manifest.permission.READ_CALENDAR))
permissionNames.add(Manifest.permission.READ_CALENDAR); permissionNames.add(Manifest.permission.READ_CALENDAR);
......
...@@ -2,6 +2,13 @@ ...@@ -2,6 +2,13 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
package="com.baseflow.permissionhandler.example"> package="com.baseflow.permissionhandler.example">
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<!-- <!--
Internet permissions do not affect the `permission_handler` plugin, but are required if your app needs access to Internet permissions do not affect the `permission_handler` plugin, but are required if your app needs access to
the internet. the internet.
......
name: permission_handler_android name: permission_handler_android
description: Permission plugin for Flutter. This plugin provides the Android API to request and check permissions. description: Permission plugin for Flutter. This plugin provides the Android API to request and check permissions.
homepage: https://github.com/baseflow/flutter-permission-handler homepage: https://github.com/baseflow/flutter-permission-handler
version: 11.0.5 version: 11.1.0
environment: environment:
sdk: ">=2.15.0 <4.0.0" sdk: ">=2.15.0 <4.0.0"
...@@ -18,7 +18,7 @@ flutter: ...@@ -18,7 +18,7 @@ flutter:
dependencies: dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
permission_handler_platform_interface: ^3.11.2 permission_handler_platform_interface: ^3.12.0
dev_dependencies: dev_dependencies:
flutter_lints: ^1.0.4 flutter_lints: ^1.0.4
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment