feat(android): redesign Agent Zero as a native app shell #88

Open
nsaspy wants to merge 15 commits from feat/android-native-app-redesign into main
Owner

What changed

Reworks the Android client so it behaves like an Android app rather than a browser wrapper while preserving Agent Zero's authoritative WebUI/plugin contract.

  • replaces the floating browser-style session pill with a native Material 3 app bar
  • adds native Android session controls in a bottom sheet: back, forward, home, reload and share
  • adds a full native offline/reconnect state instead of overlaying a browser card
  • redesigns instance setup into a normal app settings screen and preserves the current instance until a replacement is confirmed
  • adds system/dark/light appearance modes plus optional Android dynamic color
  • restores the current WebView URL across activity recreation where possible
  • makes renderer-crash recovery recreate a dead WebView instead of retrying a null controller
  • keeps HTTP clearly marked insecure and never bypasses HTTPS certificate validation
  • keeps plugin/auth/CSRF/WebSocket/service-worker behavior inside the real Agent Zero WebUI
  • adds a branded adaptive launcher icon

Architecture

This does not create a parallel Kotlin Agent Zero protocol. The WebView remains the compatibility surface and all mobile adjustments remain additive/origin-scoped, per android/AGENTS.md and #49.

Protocol/native-Prolog work that depends on the separate core contract remains out of this PR.

Verification

CI should run:

gradle --no-daemon testDebugUnitTest lintDebug assembleDebug --stacktrace

Closes no protocol/core issues.

Related: #49

## What changed Reworks the Android client so it behaves like an Android app rather than a browser wrapper while preserving Agent Zero's authoritative WebUI/plugin contract. - replaces the floating browser-style session pill with a native Material 3 app bar - adds native Android session controls in a bottom sheet: back, forward, home, reload and share - adds a full native offline/reconnect state instead of overlaying a browser card - redesigns instance setup into a normal app settings screen and preserves the current instance until a replacement is confirmed - adds system/dark/light appearance modes plus optional Android dynamic color - restores the current WebView URL across activity recreation where possible - makes renderer-crash recovery recreate a dead WebView instead of retrying a null controller - keeps HTTP clearly marked insecure and never bypasses HTTPS certificate validation - keeps plugin/auth/CSRF/WebSocket/service-worker behavior inside the real Agent Zero WebUI - adds a branded adaptive launcher icon ## Architecture This does **not** create a parallel Kotlin Agent Zero protocol. The WebView remains the compatibility surface and all mobile adjustments remain additive/origin-scoped, per `android/AGENTS.md` and #49. Protocol/native-Prolog work that depends on the separate core contract remains out of this PR. ## Verification CI should run: ```text gradle --no-daemon testDebugUnitTest lintDebug assembleDebug --stacktrace ``` Closes no protocol/core issues. Related: #49
Merge branch 'main' into feat/android-native-app-redesign
Some checks failed
Android APK / build (pull_request) Failing after 3s
a9919ab64e
Merge branch 'main' into feat/android-native-app-redesign
Some checks failed
Android APK / build (pull_request) Has been cancelled
7befb64458
Merge branch 'main' into feat/android-native-app-redesign
All checks were successful
Android APK / build (pull_request) Successful in 26m32s
f6ffffe9d6
All checks were successful
Android APK / build (pull_request) Successful in 26m32s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/android-native-app-redesign:feat/android-native-app-redesign
git switch feat/android-native-app-redesign

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff feat/android-native-app-redesign
git switch feat/android-native-app-redesign
git rebase main
git switch main
git merge --ff-only feat/android-native-app-redesign
git switch feat/android-native-app-redesign
git rebase main
git switch main
git merge --no-ff feat/android-native-app-redesign
git switch main
git merge --squash feat/android-native-app-redesign
git switch main
git merge --ff-only feat/android-native-app-redesign
git switch main
git merge feat/android-native-app-redesign
git push origin main
Sign in to join this conversation.
No description provided.