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
* Removes the obsolete `updatePermissionShouldShowStatus` method from the Java code base.
......
......@@ -17,7 +17,11 @@ final class PermissionConstants {
static final int PERMISSION_CODE_ACCESS_NOTIFICATION_POLICY = 213;
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_CAMERA = 1;
static final int PERMISSION_GROUP_CONTACTS = 2;
......@@ -54,6 +58,8 @@ final class PermissionConstants {
static final int PERMISSION_GROUP_AUDIO = 33;
static final int PERMISSION_GROUP_SCHEDULE_EXACT_ALARM = 34;
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)
@IntDef({
......@@ -89,7 +95,9 @@ final class PermissionConstants {
PERMISSION_GROUP_NEARBY_WIFI_DEVICES,
PERMISSION_GROUP_VIDEOS,
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 {
}
......
......@@ -103,6 +103,12 @@ public class PermissionUtils {
final ArrayList<String> permissionNames = new ArrayList<>();
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:
if (hasPermissionInManifest(context, permissionNames, Manifest.permission.READ_CALENDAR))
permissionNames.add(Manifest.permission.READ_CALENDAR);
......
......@@ -2,6 +2,13 @@
xmlns:tools="http://schemas.android.com/tools"
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
the internet.
......
name: permission_handler_android
description: Permission plugin for Flutter. This plugin provides the Android API to request and check permissions.
homepage: https://github.com/baseflow/flutter-permission-handler
version: 11.0.5
version: 11.1.0
environment:
sdk: ">=2.15.0 <4.0.0"
......@@ -18,7 +18,7 @@ flutter:
dependencies:
flutter:
sdk: flutter
permission_handler_platform_interface: ^3.11.2
permission_handler_platform_interface: ^3.12.0
dev_dependencies:
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