Commit 077b908e by Jan-Derk

Updated permission_handler

parent aa9064a6
import 'dart:io'; import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:permission_handler_platform_interface/permission_handler_platform_interface.dart'; import 'package:permission_handler_platform_interface/permission_handler_platform_interface.dart';
export 'package:permission_handler_platform_interface/permission_handler_platform_interface.dart' export 'package:permission_handler_platform_interface/permission_handler_platform_interface.dart'
...@@ -34,7 +34,7 @@ extension PermissionActions on Permission { ...@@ -34,7 +34,7 @@ extension PermissionActions on Permission {
/// This is only implemented on Android, calling this on iOS always returns /// This is only implemented on Android, calling this on iOS always returns
/// [false]. /// [false].
Future<bool> get shouldShowRequestRationale async { Future<bool> get shouldShowRequestRationale async {
if (!Platform.isAndroid) { if (defaultTargetPlatform != TargetPlatform.android) {
return false; return false;
} }
......
...@@ -22,12 +22,21 @@ void main() { ...@@ -22,12 +22,21 @@ void main() {
expect(permissionStatus, PermissionStatus.granted); expect(permissionStatus, PermissionStatus.granted);
}); });
test('PermissionActions on Permission: get shouldShowRequestRationale', test(
// ignore: lines_longer_than_80_chars
'PermissionActions on Permission: get shouldShowRequestRationale should return true when on android',
() async { () async {
final requestRationale = final mockPermissionHandlerPlatform = PermissionHandlerPlatform.instance;
when(mockPermissionHandlerPlatform
.shouldShowRequestPermissionRationale(Permission.calendar))
.thenAnswer((_) => Future.value(true));
await Permission.calendar.shouldShowRequestRationale; await Permission.calendar.shouldShowRequestRationale;
expect(requestRationale, false); verify(mockPermissionHandlerPlatform
.shouldShowRequestPermissionRationale(Permission.calendar))
.called(1);
}); });
test('PermissionActions on Permission: request()', () async { test('PermissionActions on Permission: request()', () async {
...@@ -108,6 +117,13 @@ class MockPermissionHandlerPlatform extends Mock ...@@ -108,6 +117,13 @@ class MockPermissionHandlerPlatform extends Mock
} }
@override @override
Future<bool> shouldShowRequestPermissionRationale(Permission permission) => Future<bool> shouldShowRequestPermissionRationale(Permission? permission) {
Future.value(true); return super.noSuchMethod(
Invocation.method(
#shouldShowPermissionRationale,
[permission],
),
returnValue: Future.value(true),
);
}
} }
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