mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-23 03:59:23 +00:00
d997ee81a1
* add permission handler * localization * minor fixes --------- Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
32 lines
873 B
Dart
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;
|
|
}
|
|
}
|