mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-23 12:09:43 +00:00
33 lines
873 B
Dart
33 lines
873 B
Dart
|
import 'package:cake_wallet/generated/i18n.dart';
|
||
|
import 'package:cake_wallet/utils/show_bar.dart';
|
||
|
import 'package:flutter/cupertino.dart';
|
||
|
import 'package:permission_handler/permission_handler.dart';
|
||
|
|
||
|
class PermissionHandler {
|
||
|
static Future<bool> checkPermission(Permission permission, BuildContext context) async {
|
||
|
final Map<Permission, String> _permissionMessages = {
|
||
|
Permission.camera: S.of(context).camera_permission_is_required,
|
||
|
};
|
||
|
|
||
|
var status = await permission.status;
|
||
|
|
||
|
if (status.isDenied) {
|
||
|
status = await permission.request();
|
||
|
}
|
||
|
|
||
|
if (status.isPermanentlyDenied || status.isDenied) {
|
||
|
String? message = _permissionMessages[permission];
|
||
|
if (message != null) {
|
||
|
showBar<void>(context, message);
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
if (status.isGranted) {
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
return false;
|
||
|
}
|
||
|
}
|