From 37496accdcd221a53bce36e09660726b0a7dbc79 Mon Sep 17 00:00:00 2001 From: YannickMaljaars Date: Wed, 28 Sep 2022 13:34:38 +0200 Subject: [PATCH 1/2] Added support for the NEARBY_WIFI_DEVICES permission to platform packages --- permission_handler_android/CHANGELOG.md | 4 ++++ .../baseflow/permissionhandler/PermissionConstants.java | 4 +++- .../com/baseflow/permissionhandler/PermissionUtils.java | 8 ++++++++ .../example/android/app/src/main/AndroidManifest.xml | 3 ++- permission_handler_android/pubspec.yaml | 2 +- permission_handler_apple/CHANGELOG.md | 4 ++++ .../ios/Classes/PermissionHandlerEnums.h | 1 + permission_handler_apple/pubspec.yaml | 2 +- permission_handler_windows/CHANGELOG.md | 4 ++++ permission_handler_windows/pubspec.yaml | 2 +- permission_handler_windows/windows/permission_constants.h | 3 ++- 11 files changed, 31 insertions(+), 6 deletions(-) diff --git a/permission_handler_android/CHANGELOG.md b/permission_handler_android/CHANGELOG.md index 50906d08f..0d68a01e1 100644 --- a/permission_handler_android/CHANGELOG.md +++ b/permission_handler_android/CHANGELOG.md @@ -1,3 +1,7 @@ +## 10.1.0 + +* Added support for the new Android 13 permission: NEARBY_WIFI_DEVICES. + ## 10.0.0 * __BREAKING CHANGE__: Updated Android `compileSdkVersion` to `33` to handle the new `POST_NOTIFICATIONS` permission. diff --git a/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionConstants.java b/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionConstants.java index 00694e5ab..ee5f369b1 100644 --- a/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionConstants.java +++ b/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionConstants.java @@ -46,6 +46,7 @@ final class PermissionConstants { static final int PERMISSION_GROUP_BLUETOOTH_SCAN = 28; static final int PERMISSION_GROUP_BLUETOOTH_ADVERTISE = 29; static final int PERMISSION_GROUP_BLUETOOTH_CONNECT = 30; + static final int PERMISSION_GROUP_NEARBY_WIFI_DEVICES = 31; @Retention(RetentionPolicy.SOURCE) @@ -77,7 +78,8 @@ final class PermissionConstants { PERMISSION_GROUP_ACCESS_NOTIFICATION_POLICY, PERMISSION_GROUP_BLUETOOTH_SCAN, PERMISSION_GROUP_BLUETOOTH_ADVERTISE, - PERMISSION_GROUP_BLUETOOTH_CONNECT + PERMISSION_GROUP_BLUETOOTH_CONNECT, + PERMISSION_GROUP_NEARBY_WIFI_DEVICES }) @interface PermissionGroup { } diff --git a/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java b/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java index b0a67cf05..4efc9416a 100644 --- a/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java +++ b/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java @@ -77,6 +77,8 @@ static int parseManifestName(String permission) { return PermissionConstants.PERMISSION_GROUP_BLUETOOTH_CONNECT; case Manifest.permission.POST_NOTIFICATIONS: return PermissionConstants.PERMISSION_GROUP_NOTIFICATION; + case Manifest.permission.NEARBY_WIFI_DEVICES: + return PermissionConstants.PERMISSION_GROUP_NEARBY_WIFI_DEVICES; default: return PermissionConstants.PERMISSION_GROUP_UNKNOWN; } @@ -295,6 +297,12 @@ static List getManifestNames(Context context, @PermissionConstants.Permi if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && hasPermissionInManifest(context, permissionNames, Manifest.permission.POST_NOTIFICATIONS )) permissionNames.add(Manifest.permission.POST_NOTIFICATIONS); break; + case PermissionConstants.PERMISSION_GROUP_NOTIFICATION: + // The NEARBY_WIFI_DEVICES permission is introduced in Android 13, meaning we should + // not handle permissions on pre Android 13 devices. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && hasPermissionInManifest(context, permissionNames, Manifest.permission.NEARBY_WIFI_DEVICES )) + permissionNames.add(Manifest.permission.NEARBY_WIFI_DEVICES); + break; case PermissionConstants.PERMISSION_GROUP_MEDIA_LIBRARY: case PermissionConstants.PERMISSION_GROUP_PHOTOS: case PermissionConstants.PERMISSION_GROUP_REMINDERS: diff --git a/permission_handler_android/example/android/app/src/main/AndroidManifest.xml b/permission_handler_android/example/android/app/src/main/AndroidManifest.xml index 93111d87b..577ff494d 100644 --- a/permission_handler_android/example/android/app/src/main/AndroidManifest.xml +++ b/permission_handler_android/example/android/app/src/main/AndroidManifest.xml @@ -60,11 +60,12 @@ - + + diff --git a/permission_handler_android/pubspec.yaml b/permission_handler_android/pubspec.yaml index e8efa988b..ab35d5646 100644 --- a/permission_handler_android/pubspec.yaml +++ b/permission_handler_android/pubspec.yaml @@ -1,6 +1,6 @@ name: permission_handler_android description: Permission plugin for Flutter. This plugin provides the Android API to request and check permissions. -version: 10.0.0 +version: 10.1.0 homepage: https://github.com/baseflow/flutter-permission-handler environment: diff --git a/permission_handler_apple/CHANGELOG.md b/permission_handler_apple/CHANGELOG.md index 3ceb4430f..fcb64c2fc 100644 --- a/permission_handler_apple/CHANGELOG.md +++ b/permission_handler_apple/CHANGELOG.md @@ -1,3 +1,7 @@ +## 9.0.5 + +* Added new Android 13 NEARBY_WIFI_DEVICES permission to PermissionHandlerEnums.h + ## 9.0.4 * Add flag inside `UserDefaults` to save whether locationAlways has already been requested and prevent further requests, which would be left unanswered by the system. diff --git a/permission_handler_apple/ios/Classes/PermissionHandlerEnums.h b/permission_handler_apple/ios/Classes/PermissionHandlerEnums.h index 46aeb20e4..510e02a36 100644 --- a/permission_handler_apple/ios/Classes/PermissionHandlerEnums.h +++ b/permission_handler_apple/ios/Classes/PermissionHandlerEnums.h @@ -142,6 +142,7 @@ typedef NS_ENUM(int, PermissionGroup) { PermissionGroupBluetoothScan, PermissionGroupBluetoothAdvertise, PermissionGroupBluetoothConnect, + PermissionGroupNearbyWifiDevices }; typedef NS_ENUM(int, PermissionStatus) { diff --git a/permission_handler_apple/pubspec.yaml b/permission_handler_apple/pubspec.yaml index 16206f77e..5357a3ad0 100644 --- a/permission_handler_apple/pubspec.yaml +++ b/permission_handler_apple/pubspec.yaml @@ -1,6 +1,6 @@ name: permission_handler_apple description: Permission plugin for Flutter. This plugin provides the iOS API to request and check permissions. -version: 9.0.4 +version: 9.0.5 homepage: https://github.com/baseflow/flutter-permission-handler environment: diff --git a/permission_handler_windows/CHANGELOG.md b/permission_handler_windows/CHANGELOG.md index 0e2497e5b..e419652bc 100644 --- a/permission_handler_windows/CHANGELOG.md +++ b/permission_handler_windows/CHANGELOG.md @@ -1,3 +1,7 @@ +# 0.1.1 + +* Added new Android 13 NEARBY_WIFI_DEVICES permission to permission_constants.h + ## 0.1.0 * Adds an initial implementation of Windows support for the permission_handler plugin. diff --git a/permission_handler_windows/pubspec.yaml b/permission_handler_windows/pubspec.yaml index 07b76488a..f664fc33f 100644 --- a/permission_handler_windows/pubspec.yaml +++ b/permission_handler_windows/pubspec.yaml @@ -1,6 +1,6 @@ name: permission_handler_windows description: Permission plugin for Flutter. This plugin provides the Windows API to request and check permissions. -version: 0.1.0 +version: 0.1.1 homepage: https://github.com/baseflow/flutter-permission-handler flutter: diff --git a/permission_handler_windows/windows/permission_constants.h b/permission_handler_windows/windows/permission_constants.h index 6e359abec..19be8d55f 100644 --- a/permission_handler_windows/windows/permission_constants.h +++ b/permission_handler_windows/windows/permission_constants.h @@ -41,7 +41,8 @@ class PermissionConstants { ACCESS_NOTIFICATION_POLICY = 27, BLUETOOTH_SCAN = 28, BLUETOOTH_ADVERTISE = 29, - BLUETOOTH_CONNECT = 30 + BLUETOOTH_CONNECT = 30, + NEARBY_WIFI_DEVICES = 31 }; //PERMISSION_STATUS From 4bf1298d20da4b70c681f5ecf5daeb2bd65cf4c1 Mon Sep 17 00:00:00 2001 From: YannickMaljaars Date: Wed, 28 Sep 2022 13:41:50 +0200 Subject: [PATCH 2/2] Hotfix PermissionUtils.java --- .../java/com/baseflow/permissionhandler/PermissionUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java b/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java index 4efc9416a..ce708c509 100644 --- a/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java +++ b/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java @@ -297,7 +297,7 @@ static List getManifestNames(Context context, @PermissionConstants.Permi if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && hasPermissionInManifest(context, permissionNames, Manifest.permission.POST_NOTIFICATIONS )) permissionNames.add(Manifest.permission.POST_NOTIFICATIONS); break; - case PermissionConstants.PERMISSION_GROUP_NOTIFICATION: + case PermissionConstants.PERMISSION_GROUP_NEARBY_WIFI_DEVICES: // The NEARBY_WIFI_DEVICES permission is introduced in Android 13, meaning we should // not handle permissions on pre Android 13 devices. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && hasPermissionInManifest(context, permissionNames, Manifest.permission.NEARBY_WIFI_DEVICES ))