Commit Graph

3 Commits

Author SHA1 Message Date
Preventnetworkhacking
8a1dea306e feat(android): Phase 4 - Widget, accessibility, one-liner installers
Phase 4 polish features:

Widget:
- ZeroClawWidget for home screen
- Shows agent status (running/stopped)
- Toggle button to start/stop
- Tap to open app
- Material 3 styling with rounded corners

Accessibility:
- AccessibilityUtils for TalkBack support
- Content descriptions for all UI elements
- Screen reader detection
- Live region announcements
- ContentDescriptions constants

Install Scripts:
- termux-install.sh - One-liner for Termux users
- adb-install.sh - Install from computer via USB
- android-install.html - Web installer page with:
  - Platform detection (Android vs desktop)
  - Direct APK download
  - QR code for desktop users
  - Step-by-step instructions
  - Copy-to-clipboard for commands

Files:
- widget/ZeroClawWidget.kt (128 lines)
- accessibility/AccessibilityUtils.kt (123 lines)
- res/layout/widget_zeroclaw.xml
- res/xml/widget_info.xml
- res/drawable/widget_*.xml
- scripts/android/*.sh
- site/android-install.html

Total: +799 lines across 12 files
2026-02-26 21:34:06 -08:00
Preventnetworkhacking
ed80ffb59a fix(android): cleanup and add missing resources
- Remove UDL file (using proc-macro UniFFI instead)
- Remove build.rs (not needed with setup_scaffolding!)
- Comment out zeroclaw dep temporarily (standalone build)
- Add placeholder launcher icon drawable
- Add notification icon drawable
- Fix service notification to use hardcoded strings

The UniFFI proc-macro approach is cleaner and doesn't require
separate UDL definitions - the Rust types are annotated directly.
2026-02-26 21:05:39 -08:00
Preventnetworkhacking
b2462585b7 feat(android): add Android client foundation
Initial Android client implementation for ZeroClaw:

Structure:
- clients/android/ - Self-contained Android project
- Kotlin/Jetpack Compose UI
- Material 3 with dynamic theming

Components:
- MainActivity with chat UI scaffold
- ZeroClawService (foreground service)
- ZeroClawBridge (JNI stub for Rust FFI)
- BootReceiver (auto-start on boot)
- Theme with ZeroClaw brand colors

Technical:
- Target SDK 34, Min SDK 26
- arm64-v8a, armeabi-v7a, x86_64 ABIs
- WorkManager ready for background tasks
- Android Keystore ready for secrets

TODO:
- UniFFI bindings generation
- Cargo NDK build integration
- Native library loading
- Config persistence (DataStore)

Part of Android ownership initiative - Phase 1
2026-02-26 20:52:43 -08:00