cake_wallet/lib/utils/permission_handler.dart
Serhii d997ee81a1
CW-315-Add-a-toast-message-to-enable-denied-permissions-in-device-settings (#1157)
* add permission handler

* localization

* minor fixes

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2023-11-02 19:19:39 +02:00

32 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;
}
}