OXYGENHUB
# 5ae4af48ddd2 oxygenhub-android / README.md
1.6 KiB · Markdown · last changed Set the project up properly (closes #1) 11 days ago renderedsource blame history raw
1
# 📱 OxygenHub Android
2
3
![Status: Planning]https://img.shields.io/badge/Status-Planning-blue
4
![Platform: Android]https://img.shields.io/badge/Platform-Android-green
5
![CI: Flow]https://img.shields.io/badge/CI-Flow-blue
6
7
The official native Android client for OxygenHub, designed for modern devices and fully optimized for foldables like the Pixel 10 Pro Fold. 
8
9
Built with **Kotlin**, **Jetpack Compose**, and deep **Rust interop** (via `uniffi-rs`) to execute native `oxy` commands directly on your device.
10
11
---
12
13
## ✨ Features
14
* 🧬 **Commutative History:** Native visualization of the change graph.
15
* 🔀 **Offline-First Conflicts:** Resolve conflicts on the go; they're just data.
16
* 🌊 **Job Flow Control:** Orchestrate OxygenFlow CI/CD pipelines right from your phone.
17
18
## 🛠️ Setup
19
20
1. Clone the repository with `oxy clone`, and fetch the pinned Oxygen
21
   sources: `oxy submodule update --init` (rust-core builds over `oxygen/`).
22
2. Install the Android SDK with an NDK (Android Studio's SDK manager), and
23
   point `local.properties` at it (`sdk.dir=…`) or set `ANDROID_HOME`.
24
3. Install the Rust side: `cargo install cargo-ndk` and
25
   `rustup target add aarch64-linux-android x86_64-linux-android`.
26
4. Build and test; the build compiles rust-core for arm64-v8a and x86_64
27
   and generates its Kotlin bindings itself:
28
   ```bash
29
   ./gradlew :app:assembleDebug :app:testDebugUnitTest
30
   ```
31
32
## 🏗️ CI/CD
33
34
We dogfood **OxygenFlow** for our builds. 
35
The pipeline is defined in `.flow/pipeline.kdl`.
36
37
---
38
*If you notice any issues with Flow or Oxygen during development, please log them in the `~/oxygen_feedback.md` document for the core team.*