The previous APK shipped the default Flutter logo on the home screen. This build carries the adaptive launcher icon, the monochrome notification icon, and dark launch screens, all verified on an Android emulator. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
84 lines
3.2 KiB
Markdown
84 lines
3.2 KiB
Markdown
# Rippr — copies held here
|
||
|
||
Rippr is a GPS ride recorder for motorcycles. There are now **two** codebases, and
|
||
neither has a git remote — they exist only on that machine, so the bundles below are the
|
||
only off-machine copies of their history.
|
||
|
||
| Repo | What it is |
|
||
|---|---|
|
||
| `~/dojo/rippr` | The original **native Android** app (Kotlin, v1 → v2.0.1). **Superseded**, but still the only version that has recorded real rides. |
|
||
| `~/dojo/rippr-flutter` | The **Flutter port** — Android *and* iOS. Feature-complete, better tested, never yet ridden. |
|
||
|
||
**Snapshots taken at:** native `ba57a92`, Flutter `82f07a2`.
|
||
|
||
## What is here
|
||
|
||
| File | Purpose |
|
||
|---|---|
|
||
| `rippr-flutter-src/` | Flutter port, browsable source (`git archive HEAD`) |
|
||
| `rippr-flutter-history.bundle` | Flutter port, full git history — the actual backup |
|
||
| `rippr-flutter-1.0-debug.apk` | **Installable Flutter build** (`com.rippr.port`) |
|
||
| `rippr-src/` | Native app, browsable source |
|
||
| `rippr-full-history.bundle` | Native app, full git history |
|
||
| `rippr-2.0.1-debug.apk` | Native app, latest installable build (`com.rippr`) |
|
||
| `rippr-2.0-debug.apk`, `rippr-1.0-debug.apk` | Older native builds |
|
||
|
||
**The two APKs use different application ids on purpose** (`com.rippr` vs
|
||
`com.rippr.port`), so both install side by side. That is not an accident — validating the
|
||
port depends on recording the same ride on both at once.
|
||
|
||
## Installing
|
||
|
||
See **[INSTALL.md](INSTALL.md)** for Android and iOS, including the sideloading route for
|
||
iPhone (which needs a Mac and takes about ten minutes).
|
||
|
||
## Restoring either repo
|
||
|
||
```bash
|
||
git clone rippr-flutter-history.bundle rippr-flutter
|
||
cd rippr-flutter && flutter pub get && dart run build_runner build
|
||
flutter test
|
||
|
||
# or the native app
|
||
git clone rippr-full-history.bundle rippr
|
||
cd rippr && echo "sdk.dir=$HOME/Library/Android/sdk" > local.properties
|
||
./gradlew assembleDebug
|
||
```
|
||
|
||
Both need **JDK 17–21** for Android — AGP does not support 25.
|
||
|
||
## Where to start reading
|
||
|
||
Inside `rippr-flutter-src/`:
|
||
|
||
- `README.md` — status, and the two bugs the port found in the native app
|
||
- `docs/port/PARITY-AUDIT.md` — feature by feature, with the evidence behind each claim
|
||
- `docs/port/REAL-RIDE-CHECKLIST.md` — **the outstanding work**
|
||
- `docs/ARCHITECTURE.md` — why it is built this way
|
||
- `docs/port/PROGRESS.md` — everything that went wrong during the port
|
||
|
||
Inside `rippr-src/` (native): `docs/v2/PROGRESS.md` and `docs/TESTING.md` remain the
|
||
record of how the app got here.
|
||
|
||
## Keeping these current
|
||
|
||
```bash
|
||
cd ~/dojo/samplez
|
||
|
||
rm -rf rippr-flutter-src && mkdir rippr-flutter-src
|
||
git -C ~/dojo/rippr-flutter archive HEAD | tar -x -C rippr-flutter-src
|
||
(cd ~/dojo/rippr-flutter && git bundle create /tmp/fb.bundle --all) \
|
||
&& mv /tmp/fb.bundle rippr-flutter-history.bundle
|
||
|
||
rm -rf rippr-src && mkdir rippr-src
|
||
git -C ~/dojo/rippr archive HEAD | tar -x -C rippr-src
|
||
(cd ~/dojo/rippr && git bundle create /tmp/rb.bundle --all) \
|
||
&& mv /tmp/rb.bundle rippr-full-history.bundle
|
||
|
||
git bundle verify rippr-flutter-history.bundle
|
||
git bundle verify rippr-full-history.bundle
|
||
```
|
||
|
||
The exports wipe those directories wholesale, which is why this file and `INSTALL.md`
|
||
live at the repo root rather than inside them.
|