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>
237
237
}
238
238
} else {
239
239
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
+ }
242
246
243
247
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);
245
250
while (permStatus != PermissionStatus .granted) {
246
251
await _showRequiredPermDialog (
247
252
item.config.itemText,
248
253
_showAppSettings,
249
254
);
250
255
// ignore: avoid-ignoring-return-values, not needed.
251
256
await widget._resumed.stream.firstWhere ((element) => element);
257
+ // ignore: prefer-moving-to-variable, multiple calls needed to ensure up-to-date data.
252
258
permStatus = await widget._service.status (perm);
253
259
}
254
260
}
Original file line number Diff line number Diff line change @@ -30,6 +30,8 @@ void main() {
30
30
.thenAnswer ((realInvocation) => Future .value (prefs));
31
31
when (testStub.request (Permission .location))
32
32
.thenAnswer ((realInvocation) => Future .value (PermissionStatus .granted));
33
+ when (testStub.status (Permission .location))
34
+ .thenAnswer ((realInvocation) => Future .value (PermissionStatus .granted));
33
35
34
36
final config = FlutterForcePermissionConfig (
35
37
title: 'Title' ,
You can’t perform that action at this time.
0 commit comments