Skip to content

Commit 28f9531

Browse files
aman-FAvatsal201
authored andcommitted
chore(permission_handler): add permission service method for grant permission
1 parent c3e11c9 commit 28f9531

File tree

6 files changed

+118
-6
lines changed

6 files changed

+118
-6
lines changed

example/pubspec.lock

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,6 +1025,54 @@ packages:
10251025
url: "https://pub.dev"
10261026
source: hosted
10271027
version: "2.3.0"
1028+
permission_handler:
1029+
dependency: transitive
1030+
description:
1031+
name: permission_handler
1032+
sha256: bc917da36261b00137bbc8896bf1482169cd76f866282368948f032c8c1caae1
1033+
url: "https://pub.dev"
1034+
source: hosted
1035+
version: "12.0.1"
1036+
permission_handler_android:
1037+
dependency: transitive
1038+
description:
1039+
name: permission_handler_android
1040+
sha256: "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6"
1041+
url: "https://pub.dev"
1042+
source: hosted
1043+
version: "13.0.1"
1044+
permission_handler_apple:
1045+
dependency: transitive
1046+
description:
1047+
name: permission_handler_apple
1048+
sha256: f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023
1049+
url: "https://pub.dev"
1050+
source: hosted
1051+
version: "9.4.7"
1052+
permission_handler_html:
1053+
dependency: transitive
1054+
description:
1055+
name: permission_handler_html
1056+
sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24"
1057+
url: "https://pub.dev"
1058+
source: hosted
1059+
version: "0.1.3+5"
1060+
permission_handler_platform_interface:
1061+
dependency: transitive
1062+
description:
1063+
name: permission_handler_platform_interface
1064+
sha256: eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878
1065+
url: "https://pub.dev"
1066+
source: hosted
1067+
version: "4.3.0"
1068+
permission_handler_windows:
1069+
dependency: transitive
1070+
description:
1071+
name: permission_handler_windows
1072+
sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e"
1073+
url: "https://pub.dev"
1074+
source: hosted
1075+
version: "0.2.1"
10281076
petitparser:
10291077
dependency: transitive
10301078
description:

lib/fa_flutter_core.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,18 @@ export 'package:uuid/uuid.dart';
4242
export 'package:webview_flutter/webview_flutter.dart';
4343

4444
export 'src/device_info/device_info.dart';
45+
export 'src/extension/num_extension.dart';
46+
export 'src/extension/string_extension.dart';
4547
export 'src/fa_firebase_analytics/fa_firebase_analytics.dart';
4648
export 'src/fa_flutter_sembast/fa_flutter_sembast.dart';
4749
export 'src/in_app_update/in_app_updator.dart';
4850
export 'src/package_info/package_info.dart';
51+
export 'src/permission_service/permission_service.dart';
4952
export 'src/pp_tc/fa_policy_tc.dart';
5053
export 'src/prefs/fa_flutter_prefs.dart';
5154
export 'src/result/result.dart';
5255
export 'src/system_info/system_info.dart';
5356
export 'src/utils/expression_utils.dart';
54-
export 'src/utils/platform_utils.dart';
5557
export 'src/utils/image_utils.dart';
58+
export 'src/utils/platform_utils.dart';
5659
export 'src/void_result/void_result.dart';
57-
export 'src/extension/string_extension.dart';
58-
export 'src/extension/num_extension.dart';
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
2-
31
extension NumExtension on num {
42
/// Returns 0 if the number is negative, otherwise returns the original value
53
num nonNegative() {
64
return this < 0 ? 0 : this;
75
}
8-
}
6+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import 'package:permission_handler/permission_handler.dart';
2+
3+
class PermissionService {
4+
Future<bool> request(Permission appPermission) async {
5+
var status = await appPermission.status;
6+
if (status.isGranted) return true;
7+
if (status.isDenied) {
8+
status = await appPermission.request();
9+
return status.isGranted;
10+
}
11+
if (status.isPermanentlyDenied) {
12+
await openAppSettings();
13+
}
14+
return false;
15+
}
16+
}

pubspec.lock

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1202,6 +1202,54 @@ packages:
12021202
url: "https://pub.dev"
12031203
source: hosted
12041204
version: "2.3.0"
1205+
permission_handler:
1206+
dependency: "direct main"
1207+
description:
1208+
name: permission_handler
1209+
sha256: bc917da36261b00137bbc8896bf1482169cd76f866282368948f032c8c1caae1
1210+
url: "https://pub.dev"
1211+
source: hosted
1212+
version: "12.0.1"
1213+
permission_handler_android:
1214+
dependency: transitive
1215+
description:
1216+
name: permission_handler_android
1217+
sha256: "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6"
1218+
url: "https://pub.dev"
1219+
source: hosted
1220+
version: "13.0.1"
1221+
permission_handler_apple:
1222+
dependency: transitive
1223+
description:
1224+
name: permission_handler_apple
1225+
sha256: f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023
1226+
url: "https://pub.dev"
1227+
source: hosted
1228+
version: "9.4.7"
1229+
permission_handler_html:
1230+
dependency: transitive
1231+
description:
1232+
name: permission_handler_html
1233+
sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24"
1234+
url: "https://pub.dev"
1235+
source: hosted
1236+
version: "0.1.3+5"
1237+
permission_handler_platform_interface:
1238+
dependency: transitive
1239+
description:
1240+
name: permission_handler_platform_interface
1241+
sha256: eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878
1242+
url: "https://pub.dev"
1243+
source: hosted
1244+
version: "4.3.0"
1245+
permission_handler_windows:
1246+
dependency: transitive
1247+
description:
1248+
name: permission_handler_windows
1249+
sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e"
1250+
url: "https://pub.dev"
1251+
source: hosted
1252+
version: "0.2.1"
12051253
petitparser:
12061254
dependency: transitive
12071255
description:

pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ dependencies:
6868
uuid: ^4.5.1
6969
provider: ^6.1.5
7070
flutter_image_compress: ^2.4.0
71+
permission_handler: ^12.0.0+1
7172

7273
dev_dependencies:
7374
flutter_test:

0 commit comments

Comments
 (0)