diff --git a/permission_handler_platform_interface/CHANGELOG.md b/permission_handler_platform_interface/CHANGELOG.md index 6e3b35cc9..825a49ee8 100644 --- a/permission_handler_platform_interface/CHANGELOG.md +++ b/permission_handler_platform_interface/CHANGELOG.md @@ -1,161 +1,165 @@ +## 4.3.0 + +- Updates project dependencies. + ## 4.2.3 -* Fixes class name references in the API documentation. +- Fixes class name references in the API documentation. ## 4.2.2 -* Adds limited access permission for Android 14+. +- Adds limited access permission for Android 14+. ## 4.2.1 -* Resolves an error that occurred when calling the `shouldShowRequestPermissionRationale` on iOS. +- Resolves an error that occurred when calling the `shouldShowRequestPermissionRationale` on iOS. ## 4.2.0 -* Adds a new permission `Permission.backgroundRefresh` to check the background refresh permission status on iOS & macOS platforms. This is a no-op on all other platforms. +- Adds a new permission `Permission.backgroundRefresh` to check the background refresh permission status on iOS & macOS platforms. This is a no-op on all other platforms. ## 4.1.0 -* Adds the `Permission.assistant` which allows users to request permissions to access SiriKit on iOS and macOS platforms. This is a no-op on all other platforms. +- Adds the `Permission.assistant` which allows users to request permissions to access SiriKit on iOS and macOS platforms. This is a no-op on all other platforms. ## 4.0.2 -* Improved the documentation around the `PermissionStatus`, `PermissionStatusGetters` and `FuturePermissionStatusGetters`. +- Improved the documentation around the `PermissionStatus`, `PermissionStatusGetters` and `FuturePermissionStatusGetters`. ## 4.0.1 -* Updates Android documentation on how to use `permission.photo` on Android 12 (API 32) and below and Android 13 (API 33) and above. +- Updates Android documentation on how to use `permission.photo` on Android 12 (API 32) and below and Android 13 (API 33) and above. ## 4.0.0 -* **BREAKING CHANGE**: Replaces `Permission.calendarReadOnly` with `Permission.calendarWriteOnly`. +- **BREAKING CHANGE**: Replaces `Permission.calendarReadOnly` with `Permission.calendarWriteOnly`. ## 3.12.0 -* Adds `Permission.calendarReadOnly` and `Permission.calendarFullAccess`. -* Deprecates `Permission.calendar`. Developers should use `Permission.calendarReadOnly` and `Permission.calendarFullAccess` instead. +- Adds `Permission.calendarReadOnly` and `Permission.calendarFullAccess`. +- Deprecates `Permission.calendar`. Developers should use `Permission.calendarReadOnly` and `Permission.calendarFullAccess` instead. ## 3.11.5 -* Updates the mentions of Android versions throughout the plugin, now following a format of 'Android {name} (API {number})'. For example: 'Android 13 (API 33)'. +- Updates the mentions of Android versions throughout the plugin, now following a format of 'Android {name} (API {number})'. For example: 'Android 13 (API 33)'. ## 3.11.4 -* Clarifies the documentation on requesting background location permission +- Clarifies the documentation on requesting background location permission through `Permission.locationAlways` on Android 10+ (API 29+). ## 3.11.3 -* Updates the documentation for the `Permission.bluetooth` permission regarding the limitations of the permission on iOS. +- Updates the documentation for the `Permission.bluetooth` permission regarding the limitations of the permission on iOS. ## 3.11.2 -* Changes `Permission.bluetooth` into an instance of `PermissionWithService` instead of `Permission` in order to determine iOS native's `CBManagerStatePoweredOn`. +- Changes `Permission.bluetooth` into an instance of `PermissionWithService` instead of `Permission` in order to determine iOS native's `CBManagerStatePoweredOn`. ## 3.11.1 -* Updates the documentation for the `Permission.storage` permission regarding its use on Android. +- Updates the documentation for the `Permission.storage` permission regarding its use on Android. ## 3.11.0+1 -* **HOTFIX**: Fixes misalignment in the `Permission` enum after adding the new BODY_SENSORS_BACKGROUND permission. +- **HOTFIX**: Fixes misalignment in the `Permission` enum after adding the new BODY_SENSORS_BACKGROUND permission. ## 3.11.0 -* Adds support for the new Android 13 permission: BODY_SENSORS_BACKGROUND. +- Adds support for the new Android 13 permission: BODY_SENSORS_BACKGROUND. ## 3.10.0 -* Adds support for the "Provisional" permission status introduced with iOS 12+. +- Adds support for the "Provisional" permission status introduced with iOS 12+. ## 3.9.0 -* Adds support for the new Android 13 permissions: SCHEDULE_EXACT_ALARM, READ_MEDIA_IMAGES, READ_MEDIA_VIDEO and READ_MEDIA_AUDIO +- Adds support for the new Android 13 permissions: SCHEDULE_EXACT_ALARM, READ_MEDIA_IMAGES, READ_MEDIA_VIDEO and READ_MEDIA_AUDIO ## 3.8.0 -* Adds support for the new Android 13 permission: NEARBY_WIFI_DEVICES. +- Adds support for the new Android 13 permission: NEARBY_WIFI_DEVICES. ## 3.7.1 -* Updates the documentation on permissions in `permission_status.dart` +- Updates the documentation on permissions in `permission_status.dart` ## 3.7.0 -* Adds support for the new Android 12 Bluetooth permissions: BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE, and BLUETOOTH_CONNECT. +- Adds support for the new Android 12 Bluetooth permissions: BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE, and BLUETOOTH_CONNECT. ## 3.6.2 -* Updates the MethodChannelMock due to breaking changes in the platform channel test interface. +- Updates the MethodChannelMock due to breaking changes in the platform channel test interface. ## 3.6.1 -* Updates the `meta` dependency to version `^1.3.0`. -* Updates documentation for the `locationAlways` permission +- Updates the `meta` dependency to version `^1.3.0`. +- Updates documentation for the `locationAlways` permission ## 3.6.0 -* Adds support for iOS Critical Alerts and Android Access Notification Policy. +- Adds support for iOS Critical Alerts and Android Access Notification Policy. ## 3.5.1 -* Updates API documentation for the `PermissionStatus.permanentlyDenied` status. +- Updates API documentation for the `PermissionStatus.permanentlyDenied` status. ## 3.5.0 -* Adds support for app tracking transparency permission. +- Adds support for app tracking transparency permission. ## 3.4.0 -* Adds support request install packages permission. +- Adds support request install packages permission. ## 3.3.0 -* Adds support for system alert window permission. +- Adds support for system alert window permission. ## 3.2.0 -* Adds support for managing external storage permission available on Android 10 and up. +- Adds support for managing external storage permission available on Android 10 and up. ## 3.1.3 -* Implements the equality operator for the `Permission` class; -* Reverts the status of the services check for notification permission. Turns out the implementation does not fit with the ideas of the permission_handler plugin. +- Implements the equality operator for the `Permission` class; +- Reverts the status of the services check for notification permission. Turns out the implementation does not fit with the ideas of the permission_handler plugin. ## 3.1.2 -* Allows checking service status for notification permission. +- Allows checking service status for notification permission. ## 3.1.1 -* Fixes conversion issue where `PermissionStatus.denied` was not translated to the correct index. -* Adds unit tests to guard API against breaking changes. +- Fixes conversion issue where `PermissionStatus.denied` was not translated to the correct index. +- Adds unit tests to guard API against breaking changes. ## 3.1.0 -* Adds support for Bluetooth permissions. +- Adds support for Bluetooth permissions. ## 3.0.0+1 -* **BREAKING**: Removes the PermissionStatus.undetermined. This is now replaced by PermissionStatus.denied. +- **BREAKING**: Removes the PermissionStatus.undetermined. This is now replaced by PermissionStatus.denied. ## 3.0.0 -* Migrates to null safety. +- Migrates to null safety. ## 2.0.2 -* Adds support for the limited photo permission available on iOS 14 and up. +- Adds support for the limited photo permission available on iOS 14 and up. ## 2.0.1 -* Updates to `platform_interface 1.0.2` -* Fixes bug that allows requesting if the device has phone capabilities. +- Updates to `platform_interface 1.0.2` +- Fixes bug that allows requesting if the device has phone capabilities. ## 2.0.0 -* **BREAKING**: Creates a much more intuitive API using Dart's new extension methods ([#230](https://github.com/Baseflow/flutter-permission-handler/issues/230)). Big thank you to [@marcelgarus](https://github.com/marcelgarus) for the idea and for doing all the grunt work. +- **BREAKING**: Creates a much more intuitive API using Dart's new extension methods ([#230](https://github.com/Baseflow/flutter-permission-handler/issues/230)). Big thank you to [@marcelgarus](https://github.com/marcelgarus) for the idea and for doing all the grunt work. ## 1.0.0 -* Initial open-source release. +- Initial open-source release. diff --git a/permission_handler_platform_interface/lib/permission_handler_platform_interface.dart b/permission_handler_platform_interface/lib/permission_handler_platform_interface.dart index 4f44f6143..50965347e 100644 --- a/permission_handler_platform_interface/lib/permission_handler_platform_interface.dart +++ b/permission_handler_platform_interface/lib/permission_handler_platform_interface.dart @@ -1,5 +1,3 @@ -library permission_handler_platform_interface; - import 'dart:async'; import 'package:meta/meta.dart'; import 'package:plugin_platform_interface/plugin_platform_interface.dart'; diff --git a/permission_handler_platform_interface/lib/src/permission_handler_platform_interface.dart b/permission_handler_platform_interface/lib/src/permission_handler_platform_interface.dart index 65d965bf6..32cb2b722 100644 --- a/permission_handler_platform_interface/lib/src/permission_handler_platform_interface.dart +++ b/permission_handler_platform_interface/lib/src/permission_handler_platform_interface.dart @@ -1,4 +1,4 @@ -part of permission_handler_platform_interface; +part of '../permission_handler_platform_interface.dart'; /// The interface that implementations of `permission_handler` must implement. /// diff --git a/permission_handler_platform_interface/lib/src/permission_status.dart b/permission_handler_platform_interface/lib/src/permission_status.dart index 59a6278ba..29e9c94f9 100644 --- a/permission_handler_platform_interface/lib/src/permission_status.dart +++ b/permission_handler_platform_interface/lib/src/permission_status.dart @@ -1,4 +1,4 @@ -part of permission_handler_platform_interface; +part of '../permission_handler_platform_interface.dart'; /// Defines the state of a [Permission]. enum PermissionStatus { @@ -60,8 +60,6 @@ extension PermissionStatusValue on PermissionStatus { return 4; case PermissionStatus.provisional: return 5; - default: - throw UnimplementedError(); } } diff --git a/permission_handler_platform_interface/lib/src/permissions.dart b/permission_handler_platform_interface/lib/src/permissions.dart index 15edb6ac7..b81a99f28 100644 --- a/permission_handler_platform_interface/lib/src/permissions.dart +++ b/permission_handler_platform_interface/lib/src/permissions.dart @@ -1,17 +1,17 @@ -part of permission_handler_platform_interface; +part of '../permission_handler_platform_interface.dart'; /// A special kind of permission, used to access a service. /// /// Additionally to the actions that normal [Permission]s have, you can also /// query the status of the related service. class PermissionWithService extends Permission { - const PermissionWithService._(int value) : super._(value); + const PermissionWithService._(super.value) : super._(); /// Creates a [PermissionWithService] instance. /// /// This constructor is marked public for testing purposes only. @visibleForTesting - const PermissionWithService.private(int value) : super._(value); + const PermissionWithService.private(super.value) : super._(); } /// Defines the permissions which can be checked and requested. @@ -102,8 +102,8 @@ class Permission { /// - Devices running Android 13 (API level 33) and above: Should use [Permission.photos]. /// /// EXAMPLE: in Manifest: - /// - /// + /// <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32"/> + /// <uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/> /// /// In Flutter to check the status: /// diff --git a/permission_handler_platform_interface/lib/src/service_status.dart b/permission_handler_platform_interface/lib/src/service_status.dart index b8db14f5b..8bc0497d1 100644 --- a/permission_handler_platform_interface/lib/src/service_status.dart +++ b/permission_handler_platform_interface/lib/src/service_status.dart @@ -1,4 +1,4 @@ -part of permission_handler_platform_interface; +part of '../permission_handler_platform_interface.dart'; /// Defines the different states a service can be in. enum ServiceStatus { @@ -24,8 +24,6 @@ extension ServiceStatusValue on ServiceStatus { return 1; case ServiceStatus.notApplicable: return 2; - default: - throw UnimplementedError(); } } diff --git a/permission_handler_platform_interface/pubspec.yaml b/permission_handler_platform_interface/pubspec.yaml index ca3aea932..586671633 100644 --- a/permission_handler_platform_interface/pubspec.yaml +++ b/permission_handler_platform_interface/pubspec.yaml @@ -3,7 +3,11 @@ description: A common platform interface for the permission_handler plugin. homepage: https://github.com/baseflow/flutter-permission-handler/tree/master/permission_handler_platform_interface # NOTE: We strongly prefer non-breaking changes, even at the expense of a # less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes -version: 4.2.3 +version: 4.3.0 + +environment: + sdk: ^3.5.0 + flutter: ">=3.24.0" dependencies: flutter: @@ -14,9 +18,5 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - mockito: ^5.0.0 - flutter_lints: ^1.0.4 - -environment: - sdk: ">=2.14.0 <4.0.0" - flutter: ">=2.5.0" + mockito: ^5.4.5 + flutter_lints: ^5.0.0