# 📱 OxygenHub Android ![Status: Planning](https://img.shields.io/badge/Status-Planning-blue) ![Platform: Android](https://img.shields.io/badge/Platform-Android-green) ![CI: Flow](https://img.shields.io/badge/CI-Flow-blue) The official native Android client for OxygenHub, designed for modern devices and fully optimized for foldables like the Pixel 10 Pro Fold. Built with **Kotlin**, **Jetpack Compose**, and deep **Rust interop** (via `uniffi-rs`) to execute native `oxy` commands directly on your device. --- ## ✨ Features * 🧬 **Commutative History:** Native visualization of the change graph. * 🔀 **Offline-First Conflicts:** Resolve conflicts on the go; they're just data. * 🌊 **Job Flow Control:** Orchestrate OxygenFlow CI/CD pipelines right from your phone. ## 🛠️ Setup 1. Clone the repository with `oxy clone`, and fetch the pinned Oxygen sources: `oxy submodule update --init` (rust-core builds over `oxygen/`). 2. Install the Android SDK with an NDK (Android Studio's SDK manager), and point `local.properties` at it (`sdk.dir=…`) or set `ANDROID_HOME`. 3. Install the Rust side: `cargo install cargo-ndk` and `rustup target add aarch64-linux-android x86_64-linux-android`. 4. Build and test; the build compiles rust-core for arm64-v8a and x86_64 and generates its Kotlin bindings itself: ```bash ./gradlew :app:assembleDebug :app:testDebugUnitTest ``` ## 🏗️ CI/CD We dogfood **OxygenFlow** for our builds. The pipeline is defined in `.flow/pipeline.kdl`. --- *If you notice any issues with Flow or Oxygen during development, please log them in the `~/oxygen_feedback.md` document for the core team.*