Add app settings permission shortcut
Some checks failed
Gitea Android APK / build (push) Failing after 0s
Gitea Smoke / smoke (push) Successful in 1s

This commit is contained in:
Codex 2026-07-06 13:06:56 +00:00
parent 149d675910
commit 1585d9ee07
3 changed files with 14 additions and 2 deletions

View File

@ -182,5 +182,7 @@ In the app:
- Open the `Update` page and tap `Details` to see the installed version, - Open the `Update` page and tap `Details` to see the installed version,
selected update source, APK/Release resolver behavior, install permission selected update source, APK/Release resolver behavior, install permission
state, and a `Check update` button. state, and a `Check update` button.
- Open the `Update` page and tap `App settings` for Android's full per-app
permission/settings screen.
- Open the `About` page to see the app version, package name, API/protocol - Open the `About` page to see the app version, package name, API/protocol
summary, selected update source, and update policy. summary, selected update source, and update policy.

View File

@ -302,6 +302,7 @@ public final class MainActivity extends Activity {
content.addView(actionPanel( content.addView(actionPanel(
actionButton("Install permission", view -> openInstallPermissionSettings()), actionButton("Install permission", view -> openInstallPermissionSettings()),
actionButton("Notifications", view -> requestNotificationPermission()), actionButton("Notifications", view -> requestNotificationPermission()),
actionButton("App settings", view -> openAppSettings()),
actionButton("Details", view -> showPermissionsAndUpdateStatus()) actionButton("Details", view -> showPermissionsAndUpdateStatus())
)); ));
scroll.addView(content); scroll.addView(content);
@ -1225,6 +1226,7 @@ public final class MainActivity extends Activity {
text.append("Notifications: no runtime permission required.\n"); text.append("Notifications: no runtime permission required.\n");
} }
text.append("SMS: not requested. This tmux client does not need SMS permission."); text.append("SMS: not requested. This tmux client does not need SMS permission.");
text.append("\nOpen App settings for Android's full per-app permission and storage/network controls.");
return text.toString(); return text.toString();
} }
@ -1308,6 +1310,14 @@ public final class MainActivity extends Activity {
requestPermissions(new String[]{Manifest.permission.POST_NOTIFICATIONS}, 3001); requestPermissions(new String[]{Manifest.permission.POST_NOTIFICATIONS}, 3001);
} }
private void openAppSettings() {
Intent intent = new Intent(
Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.parse("package:" + getPackageName())
);
startActivity(intent);
}
private void showImagePreview(String path, String basePath) { private void showImagePreview(String path, String basePath) {
progressBar.setVisibility(View.VISIBLE); progressBar.setVisibility(View.VISIBLE);
executor.execute(() -> { executor.execute(() -> {

View File

@ -89,8 +89,8 @@ Implemented now:
- one-download-per-version APK cache, SHA-256 verification, and installer - one-download-per-version APK cache, SHA-256 verification, and installer
handoff handoff
- permission/about surfaces for unknown-app install status, notification status, - permission/about surfaces for unknown-app install status, notification status,
app version, package name, selected update source, and HTTP/WebSocket app settings, app version, package name, selected update source, and
API/protocol summary HTTP/WebSocket API/protocol summary
## Update And Release Policy ## Update And Release Policy