You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit a5a8a0b
Browse filesBrowse the repository at this point in the historyBrowse files
fix(android): warn when a permission revoke kills the session app
settings permission deny|reset maps to pm revoke, and Android kills the
app's process whenever a runtime permission it currently holds is revoked,
so a grant -> deny/reset sequence silently left the session on the launcher
and the next selector failed with no hint. The revoke path now reads the
prior grant state from dumpsys package first and, when it was granted,
returns wasGranted: true plus a warning naming open <app> --relaunch; the
settings CLI output renders response warnings, and commands.md documents
the behavior next to the pm revoke mapping.
Closes#1796
summary: 'Change OS settings and app permissions',
61
62
cliDetail:
62
-
'macOS supports only settings appearance <light|dark|toggle> and settings permission <grant|reset> <accessibility|screen-recording|input-monitoring>; wifi|airplane|location|animations remain unsupported on macOS. Mobile permission actions use the active session app.',
63
+
'macOS supports only settings appearance <light|dark|toggle> and settings permission <grant|reset> <accessibility|screen-recording|input-monitoring>; wifi|airplane|location|animations remain unsupported on macOS. Mobile permission actions use the active session app. On Android, deny|reset of a permission the app currently holds kills the app process; the response warns, and open <app> --relaunch restores it.',
63
64
},
64
65
metadata: settingsCommandMetadata,
65
66
definition: settingsCommandDefinition,
66
67
cliSchema: settingsCliSchema,
67
68
cliReader: settingsCliReader,
68
69
daemonWriter: settingsDaemonWriter,
70
+
// Android permission revokes append a relaunch warning (#1796); render it for humans too.
- On macOS, `settings permission grant ...` checks/request access and opens System Settings guidance when needed; it does not silently grant TCC permissions.
674
674
- On macOS, `settings permission deny ...` is intentionally unsupported.
675
675
- Android uses `pm grant|revoke`for runtime permissions (`reset` maps to revoke) and `appops`for notifications.
676
+
- Android kills the app process whenever a runtime permission it currently holds is revoked, so `settings permission deny|reset` after a grant leaves the session app not running. The response then carries `wasGranted: true` and a warning; relaunch with `open <app> --relaunch` before the next interaction. Revoking a permission the app does not hold is harmless.
676
677
- `full|limited` mode is supported only for iOS `photos`; other targets reject mode.
677
678
- Use `match`/`nonmatch` to simulate valid/invalid Face ID, Touch ID, and Android fingerprint outcomes.
0 commit comments