Commit c013888b by Maurits van Beusekom Committed by GitHub

Background refresh status platform interface (#1281)

* Fix/1174 background refresh status (#1176)

* Update project files

* Add a new background refresh permission check for iOS

* versions

* cleanups

* version bumps

* missing constants

* Revert to platforms to main

* Revert changes to Apple package

---------

Co-authored-by: Sebastian Roth <sebastian.roth@gmail.com>
parent 669aff85
## 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.
## 4.1.0 ## 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.
......
...@@ -323,6 +323,9 @@ class Permission { ...@@ -323,6 +323,9 @@ class Permission {
/// iOS: SiriKit /// iOS: SiriKit
static const assistant = Permission._(38); static const assistant = Permission._(38);
/// Permission for reading the current background refresh status. (iOS only)
static const backgroundRefresh = Permission._(39);
/// Returns a list of all possible [PermissionGroup] values. /// Returns a list of all possible [PermissionGroup] values.
static const List<Permission> values = <Permission>[ static const List<Permission> values = <Permission>[
// ignore: deprecated_member_use_from_same_package // ignore: deprecated_member_use_from_same_package
...@@ -365,6 +368,7 @@ class Permission { ...@@ -365,6 +368,7 @@ class Permission {
calendarWriteOnly, calendarWriteOnly,
calendarFullAccess, calendarFullAccess,
assistant, assistant,
backgroundRefresh,
]; ];
static const List<String> _names = <String>[ static const List<String> _names = <String>[
...@@ -407,6 +411,7 @@ class Permission { ...@@ -407,6 +411,7 @@ class Permission {
'calendarWriteOnly', 'calendarWriteOnly',
'calendarFullAccess', 'calendarFullAccess',
'assistant', 'assistant',
'backgroundRefresh'
]; ];
@override @override
......
...@@ -3,7 +3,7 @@ description: A common platform interface for the permission_handler plugin. ...@@ -3,7 +3,7 @@ description: A common platform interface for the permission_handler plugin.
homepage: https://github.com/baseflow/flutter-permission-handler/tree/master/permission_handler_platform_interface 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 # 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 # less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes
version: 4.1.0 version: 4.2.0
dependencies: dependencies:
flutter: flutter:
......
...@@ -2,14 +2,13 @@ import 'package:flutter_test/flutter_test.dart'; ...@@ -2,14 +2,13 @@ import 'package:flutter_test/flutter_test.dart';
import 'package:permission_handler_platform_interface/permission_handler_platform_interface.dart'; import 'package:permission_handler_platform_interface/permission_handler_platform_interface.dart';
void main() { void main() {
test('Permission has the right amount of possible PermissionGroup values', test('Permission has the right amount of possible Permission values', () {
() {
const values = Permission.values; const values = Permission.values;
expect(values.length, 39); expect(values.length, 40);
}); });
test('check if byValue returns corresponding PermissionGroup value', () { test('check if byValue returns corresponding Permission value', () {
const values = Permission.values; const values = Permission.values;
for (var i = 0; i < values.length; i++) { for (var i = 0; i < values.length; i++) {
...@@ -24,6 +23,14 @@ void main() { ...@@ -24,6 +23,14 @@ void main() {
expect(permissionName, 'Permission.calendar'); expect(permissionName, 'Permission.calendar');
}); });
test('check if toString works on all Permission values', () {
const values = Permission.values;
for (var i = 0; i < values.length; i++) {
expect(values[i].toString(), isNotNull);
}
});
test( test(
// ignore: lines_longer_than_80_chars // ignore: lines_longer_than_80_chars
'equality operator should return true for two instances with the same values', 'equality operator should return true for two instances with the same values',
......
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