File tree Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -237,18 +237,24 @@ class _DisclosurePageState extends State<DisclosurePage>
237237 }
238238 } else {
239239 for (final Permission perm in item.config.permissions) {
240- // ignore: avoid-ignoring-return-values, not needed.
241- await widget._service.request (perm);
240+ // ignore: prefer-moving-to-variable, multiple calls needed to ensure up-to-date data.
241+ var permStatus = await widget._service.status (perm);
242+ if (permStatus != PermissionStatus .permanentlyDenied) {
243+ // ignore: avoid-ignoring-return-values, not needed.
244+ await widget._service.request (perm);
245+ }
242246
243247 if (item.config.required ) {
244- var permStatus = await widget._service.status (perm);
248+ // ignore: prefer-moving-to-variable, multiple calls needed to ensure up-to-date data.
249+ permStatus = await widget._service.status (perm);
245250 while (permStatus != PermissionStatus .granted) {
246251 await _showRequiredPermDialog (
247252 item.config.itemText,
248253 _showAppSettings,
249254 );
250255 // ignore: avoid-ignoring-return-values, not needed.
251256 await widget._resumed.stream.firstWhere ((element) => element);
257+ // ignore: prefer-moving-to-variable, multiple calls needed to ensure up-to-date data.
252258 permStatus = await widget._service.status (perm);
253259 }
254260 }
Original file line number Diff line number Diff line change @@ -30,6 +30,8 @@ void main() {
3030 .thenAnswer ((realInvocation) => Future .value (prefs));
3131 when (testStub.request (Permission .location))
3232 .thenAnswer ((realInvocation) => Future .value (PermissionStatus .granted));
33+ when (testStub.status (Permission .location))
34+ .thenAnswer ((realInvocation) => Future .value (PermissionStatus .granted));
3335
3436 final config = FlutterForcePermissionConfig (
3537 title: 'Title' ,
You can’t perform that action at this time.
0 commit comments