No description
| app | ||
| docs | ||
| gradle/wrapper | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| HANDOFF.md | ||
| README.md | ||
| settings.gradle.kts | ||
PON Go — Android
Native Android app for Ciena MCMS 6.2 PON Manager basics on the go — dashboard,
ONU and OLT browsing/diagnostics, firmware updates, resets. Kotlin + Jetpack
Compose + OkHttp. Sibling of the iOS app (../mcms_ios); the REST behaviour and
field paths are identical and documented in docs/MCMS_API.md.
Status: complete and building. ./gradlew :app:assembleDebug → BUILD SUCCESSFUL, runs in the emulator. Package no.svorka.mcms, app name PON Go.
Build & run
- Open the folder in Android Studio → let it sync → Run on a device/emulator that can reach your MCMS host.
- Or CLI:
./gradlew :app:assembleDebug(needslocal.propertieswithsdk.dir=…, and a JDK 17+ — Android Studio's bundled JBR works).
Verified toolchain on the dev machine: AGP 8.11.0, Kotlin 2.0.21, Gradle 8.13, compileSdk 36, minSdk 26, JBR 21.
What it does (feature parity with iOS)
- Login / Settings — URL normalisation (
/apiauto-appended), self-signed TLS toggle, test-connection probe, remember-me (Android Keystore), sign out. - Dashboard — ONU/OLT/controller counts; total OLT traffic; a Health section (abnormal-Rx ONUs, laser-off OLTs) that drills into the affected devices; ONU-state breakdown; Detailed stats (opt-in Rx scan) and Auto-refresh 30 s toggles.
- ONUs — searchable list; detail with Overview (status, firmware + update picker, optical/FEC, UNI ports, traffic), CPE (DHCPv4/v6 leases), Logs, Config (raw JSON). Reset + firmware behind hardened, acknowledge-to-enable, red confirmations.
- OLTs — list with up/down summary; detail with status/uptime, PON traffic, environment, uplink (LLDP), registration buckets (→ ONU detail), reset.
Layout
app/src/main/java/no/svorka/mcms/
MainActivity.kt root: state-based nav + bottom bar
core/ networking / models / repositories (≈ iOS core)
Json, ApiConfiguration, ApiError, ApiQuery, McmsEndpoint, Util,
Models, AuthModels, Firmware, Networking, ApiClient, Repositories,
McmsConnection, KeychainStore
ui/ Jetpack Compose
Theme, Types, Components, AppState,
AuthScreens (Login+Settings), DashboardScreen (+drill-downs),
OnuScreens (list+detail+firmware+reset), OltScreens (list+detail)
app/src/main/res/ adaptive launcher icon, strings (app_name), colors
docs/MCMS_API.md the MCMS REST field guide (single source of truth)
See HANDOFF.md for architecture notes, the build/verify loop, the
API gotchas, and what's deliberately trimmed vs iOS.