handleContactPermissionFlow function
Future<bool>
handleContactPermissionFlow(
- BuildContext context,
- PermissionService permissionService
Implementation
Future<bool> handleContactPermissionFlow(BuildContext context, PermissionService permissionService) async {
final isGranted = await permissionService.requestContactsPermission();
if (isGranted) return true;
if (!context.mounted) return false;
final alertDialog = AlertDialog(
title: const Text("Contacts Permission Required"),
content: const Text(
"To use become a Champion, please enable contact sync. Go to your app settings and turn on contact permissions.",
),
actions: [
TextButton(
onPressed: () {
Navigator.pop(context);
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text(
'Contacts sync is required for Becoming a Champion!',
style: TextStyle(fontSize: 12, color: Colors.white),
),
),
);
},
child: const Text("Cancel"),
),
TextButton(
onPressed: () async {
Navigator.pop(context);
await openAppSettings();
},
child: const Text("Open Settings"),
),
],
);
showDialog(context: context, builder: (_) => alertDialog);
return false;
}