# Android Home and HTTPS synchronization (#97) Home renders the private runtime's typed Rust Git page: tracked branch, freshness and refresh time, ahead/behind totals, incoming/outgoing commits, changed objects, notices and permitted actions. An unfetched tracking branch retains local status and Fetch/Pull/Push controls without presenting unknown remote counts as zero. Rust bounds activity and local-change presentation to 50 records; committing still includes all eligible repository changes. Compose uses lazy rows for large pages. Commit collects only a message and displays the configured Rust Git name/email. Fetch updates tracking data; Pull integrates fetched changes; Push sends committed objects. Entry/foreground refresh fetches stale activity. The primary button and swipe gesture share Rust's pull-before-push synchronization contract. A local store refreshes its status without network or authentication. All bridge calls use the injected I/O dispatcher. Each request publishes typed progress, with monotonic Rust phases and a persistent Cancel control above the scrolling history. A sequence rejects obsolete results; leaving/backgrounding cancels the active operation and clears the unsaved commit dialog. Reload reads status and refreshes stale tracking data; it never replays a commit, pull or push. Completed mutations report partial progress if cancellation or status rebuilding prevents displaying their result. Ambiguous pushes require Fetch and inspection before retrying. The private runtime retains one Rust authentication owner across navigation, editors and Home. Existing reservations reject Pull with any open editor and Push with dirty drafts. Git retains its worktree/conflict checks; Rust revalidates entry revisions and TOTP catalog ciphertext hashes against repository changes, without decrypting entries for cached discovery. TOTP discovery and cached-list requests reject an active repository operation. Successful Pull/sync refreshes the Android tree and viewer. Configuration/root replacement locks and replaces the shared owner; updating only the cached Home timestamp does not discard drafts or leases. Repository remotes are authoritative. Android accepts configured HTTPS endpoints only, obtains that application's credential through the injected Rust secure store, and closes credential state after each operation. Kotlin receives no token, stages no paths, constructs no commit or remote URL, and interprets no Git text. Offline, TLS, authentication, conflict, dirty-editor and cancellation errors remain typed, bounded and recoverable. No interactive Git operation uses WorkManager. ## Validation Rust regressions exercise real local commits and identity, shared draft guards, unfetched tracking references, 200 local changes with bounded presentation, actual smart-HTTP pack generation, injected protected credentials, offline/TLS/authentication errors, monotonic slow-transfer cancellation/retry and cancellation after a completed commit, plus immediate rejection of changed/deleted cached TOTP entries. Protocol fixtures substitute the transport, not repository or Git behavior. Android native instrumentation creates isolated encrypted fixtures through Rust, shares editor reservations, commits an encrypted entry, exercises typed errors and cancellation, and checks locked authentication state. An opt-in public HTTPS test also fetches actual remote activity using the Android certificate verifier. Compose instrumentation exercises every action, commit identity/message, reload without mutation replay, swipe refresh, and cancellation while scrolling 1,000 changed objects. GUI fixtures test presentation; production Home uses the private Rust API. The emulator scope is ARM64 API 26/4 KB, API 37/4 KB and strict API 37/16 KB. ARMv7 is compiled and package-audited; an ARMv7 image is unavailable locally. Authenticated remote push is covered by Rust protocol tests, rather than sending the user's private repository credential from an emulator. Physical devices are excluded by the milestone's user-directed validation scope. API 37 installations were updated in place. API 26 was reset with explicit user authorization after its previous emulator state prevented GUI instrumentation from starting. Final validation passed all four required Rust gates (473 workspace tests), the complete Android build/lint/JVM/style/architecture/package/dependency gates, and app plus native instrumentation on all three emulator configurations. Each configuration also passed five native cold loads and five application cold starts. The opt-in public HTTPS native tests passed on API 37. Computer use verified the production Home page, refresh behavior and history scrolling in Android Studio's embedded emulator. No Apple project changes were required.