diff --git a/packages/permission_handler/CHANGELOG.md b/packages/permission_handler/CHANGELOG.md index f938a4a3c..40a9683c0 100644 --- a/packages/permission_handler/CHANGELOG.md +++ b/packages/permission_handler/CHANGELOG.md @@ -1,7 +1,11 @@ -## NEXT +## 1.3.0 * Increase the minimum Flutter version to 3.3. * Replace effective_dart dependency with flutter_lints. +* Update permission_handler to 10.4.3. +* Update permission_handler_platform_interface to 3.11.0. +* Update the example app. +* Map `sensorsAlways` to `http://tizen.org/privilege/healthinfo` ## 1.2.1 diff --git a/packages/permission_handler/README.md b/packages/permission_handler/README.md index 3f0924d9f..0e650c8cd 100644 --- a/packages/permission_handler/README.md +++ b/packages/permission_handler/README.md @@ -20,8 +20,8 @@ You can use this plugin to ask the user for runtime permissions if your app perf ```yaml dependencies: - permission_handler: ^8.3.0 - permission_handler_tizen: ^1.2.1 + permission_handler: ^10.4.3 + permission_handler_tizen: ^1.3.0 ``` Then you can import `permission_handler` in your Dart code: @@ -43,14 +43,14 @@ You can use this plugin to ask the user for runtime permissions if your app perf | `Permission.mediaLibrary` | Storage | `http://tizen.org/privilege/mediastorage` | | `Permission.microphone` | Microphone | `http://tizen.org/privilege/recorder` | | `Permission.phone` | Call | `http://tizen.org/privilege/call` | -| `Permission.sensors` | Sensor | `http://tizen.org/privilege/healthinfo` | +| `Permission.sensors`
`Permission.sensorsAlways` | Sensor | `http://tizen.org/privilege/healthinfo` | | `Permission.sms` | Message | `http://tizen.org/privilege/message.read`
`http://tizen.org/privilege/message.write` | | `Permission.storage` | Storage | `http://tizen.org/privilege/externalstorage` | The following permissions are not applicable for Tizen: -- Android-only: `accessMediaLocation`, `accessNotificationPolicy`, `activityRecognition`, `bluetoothAdvertise`, `bluetoothConnect`, `bluetoothScan`, `manageExternalStorage`, `requestInstallPackages`, `systemAlertWindow` -- iOS-only: `appTrackingTransparency`, `bluetooth`, `criticalAlerts`, `photos`, `photosAddOnly`, `reminders`, `speech` +- Android-only: `accessMediaLocation`, `accessNotificationPolicy`, `activityRecognition`, `audio`, `bluetoothAdvertise`, `bluetoothConnect`, `bluetoothScan`, `ignoreBatteryOptimizations`, `manageExternalStorage`, `nearbyWifiDevices`, `requestInstallPackages`, `scheduleExactAlarm`, `systemAlertWindow`, `videos` +- iOS-only: `appTrackingTransparency`, `criticalAlerts`, `photosAddOnly`, `reminders`, `speech` On Tizen, your app can use some security-sensitive features (such as bluetooth) without explicitly acquiring permissions. However, you might need to declare relevant privileges in its `tizen-manifest.xml` file. For detailed information on Tizen privileges, see [Tizen Docs: API Privileges](https://docs.tizen.org/application/dotnet/get-started/api-privileges). diff --git a/packages/permission_handler/example/lib/main.dart b/packages/permission_handler/example/lib/main.dart index f5e01784b..ada33bb74 100644 --- a/packages/permission_handler/example/lib/main.dart +++ b/packages/permission_handler/example/lib/main.dart @@ -1,5 +1,3 @@ -import 'dart:io'; - import 'package:baseflow_plugin_template/baseflow_plugin_template.dart'; import 'package:flutter/material.dart'; import 'package:permission_handler/permission_handler.dart'; @@ -37,31 +35,32 @@ class _PermissionHandlerWidgetState extends State { child: ListView( children: Permission.values .where((permission) { - if (Platform.isIOS) { - return permission != Permission.unknown && - permission != Permission.sms && - permission != Permission.storage && - permission != Permission.ignoreBatteryOptimizations && - permission != Permission.accessMediaLocation && - permission != Permission.activityRecognition && - permission != Permission.manageExternalStorage && - permission != Permission.systemAlertWindow && - permission != Permission.requestInstallPackages && - permission != Permission.accessNotificationPolicy && - permission != Permission.bluetoothScan && - permission != Permission.bluetoothAdvertise && - permission != Permission.bluetoothConnect; - } else { - return permission != Permission.unknown && - permission != Permission.mediaLibrary && - permission != Permission.photos && - permission != Permission.photosAddOnly && - permission != Permission.reminders && - permission != Permission.appTrackingTransparency && - permission != Permission.criticalAlerts; - } + // Permissions not applicable for Tizen. + return permission != Permission.unknown && + permission != Permission.photos && + permission != Permission.photosAddOnly && + permission != Permission.reminders && + permission != Permission.speech && + permission != Permission.ignoreBatteryOptimizations && + permission != Permission.notification && + permission != Permission.accessMediaLocation && + permission != Permission.activityRecognition && + permission != Permission.bluetooth && + permission != Permission.manageExternalStorage && + permission != Permission.systemAlertWindow && + permission != Permission.requestInstallPackages && + permission != Permission.appTrackingTransparency && + permission != Permission.criticalAlerts && + permission != Permission.accessNotificationPolicy && + permission != Permission.bluetoothScan && + permission != Permission.bluetoothAdvertise && + permission != Permission.bluetoothConnect && + permission != Permission.nearbyWifiDevices && + permission != Permission.videos && + permission != Permission.audio && + permission != Permission.scheduleExactAlarm; }) - .map(PermissionWidget.new) + .map((permission) => PermissionWidget(permission)) .toList()), ); } diff --git a/packages/permission_handler/example/pubspec.yaml b/packages/permission_handler/example/pubspec.yaml index 92fa24209..366e95207 100644 --- a/packages/permission_handler/example/pubspec.yaml +++ b/packages/permission_handler/example/pubspec.yaml @@ -10,10 +10,10 @@ dependencies: baseflow_plugin_template: ^2.1.2 flutter: sdk: flutter - permission_handler: ^8.3.0 + permission_handler: ^10.4.3 permission_handler_tizen: path: ../ - url_launcher: ^6.0.12 + url_launcher: ^6.1.0 url_launcher_tizen: path: ../../url_launcher/ diff --git a/packages/permission_handler/pubspec.yaml b/packages/permission_handler/pubspec.yaml index 7e8860456..7eb25c35a 100644 --- a/packages/permission_handler/pubspec.yaml +++ b/packages/permission_handler/pubspec.yaml @@ -2,7 +2,7 @@ name: permission_handler_tizen description: Tizen implementation of the permission_handler plugin. homepage: https://github.com/flutter-tizen/plugins repository: https://github.com/flutter-tizen/plugins/tree/master/packages/permission_handler -version: 1.2.1 +version: 1.3.0 environment: sdk: ">=2.18.0 <4.0.0" @@ -18,7 +18,7 @@ flutter: dependencies: flutter: sdk: flutter - permission_handler_platform_interface: ^3.7.0 + permission_handler_platform_interface: ^3.11.0 dev_dependencies: flutter_lints: ^1.0.4 diff --git a/packages/permission_handler/tizen/src/permission_handler_tizen_plugin.cc b/packages/permission_handler/tizen/src/permission_handler_tizen_plugin.cc index ded0a5100..94978bb95 100644 --- a/packages/permission_handler/tizen/src/permission_handler_tizen_plugin.cc +++ b/packages/permission_handler/tizen/src/permission_handler_tizen_plugin.cc @@ -36,6 +36,7 @@ std::string PermissionToPrivilege(Permission permission) { case Permission::kPhone: return "http://tizen.org/privilege/call"; case Permission::kSensors: + case Permission::kSensorsAlways: return "http://tizen.org/privilege/healthinfo"; case Permission::kSMS: return "http://tizen.org/privilege/message.read"; diff --git a/packages/permission_handler/tizen/src/permission_manager.h b/packages/permission_handler/tizen/src/permission_manager.h index cb39db5d1..bc0c4c44e 100644 --- a/packages/permission_handler/tizen/src/permission_manager.h +++ b/packages/permission_handler/tizen/src/permission_manager.h @@ -17,7 +17,8 @@ enum class PermissionStatus { kRestricted = 2, kLimited = 3, kPermanentlyDenied = 4, - kError = 5, + kProvisional = 5, + kError = 6 }; class PermissionManager { diff --git a/packages/permission_handler/tizen/src/permissions.h b/packages/permission_handler/tizen/src/permissions.h index 02afb7e90..a241d9983 100644 --- a/packages/permission_handler/tizen/src/permissions.h +++ b/packages/permission_handler/tizen/src/permissions.h @@ -39,7 +39,12 @@ enum class Permission { kAccessNotificationPolicy = 27, kBluetoothScan = 28, kBluetoothAdvertise = 29, - kBluetoothConnect = 30 + kBluetoothConnect = 30, + kNearbyWifiDevices = 31, + kVideos = 32, + kAudio = 33, + kScheduleExactAlarm = 34, + kSensorsAlways = 35 }; #endif // FLUTTER_PLUGIN_PERMISSIONS_H_