{"repo":"Monkopedia/health-disconnect","free":true,"listed":false,"github":"https://github.com/Monkopedia/health-disconnect","clone":"git clone https://github.com/Monkopedia/health-disconnect.git","description":"Privacy-focused Android app for browsing and charting your Health Connect data — view metrics, build custom charts, and export entries, all on-device.","language":"Kotlin","stars":17,"topics":["android","android-app","charts","data-visualization","fdroid","health","health-connect","jetpack-compose","kotlin","privacy"],"license":"Apache-2.0","category":"mobile-apps","readme_excerpt":"Health Disconnect Health Disconnect is a Compose Android app for browsing health data from Health Connect, rendering metric charts, and managing multiple chart views. Project Layout - app/src/main/java/... application sources - app/src/test/java/... local unit tests - app/src/test/java/.../screenshot/... Roborazzi screenshot tests - app/src/androidTest/java/... instrumentation tests Build and Test - Build debug APK: - ./gradlew assembleDebug - Run local unit tests: - ./gradlew :app:testProdDebugUnitTest - Run full local verification (unit + screenshot capture): - ./gradlew :app:allTests - Run only screenshot rendering: - ./gradlew :app:roborazziGate Repo Conventions Preferred test command for most local change validation: - ./gradlew :app:allTests Development Notes - Use Robolectric-based tests for Compose and screenshot rendering. - Use HealthDataModel for record extraction, normalization, and aggregation. - View state lives in DataViewAdapterViewModel and AppThemeViewModel . Data & Storage Notes - Room stores view metadata/configuration. - DataStore stores app-level settings (theme mode and related preferences). - Room and DataStore entries are initialized and migrated through DataViewAdapterViewModel startup pathways in the app process. Migrations Room + DataStore compatibility expectations: - Room is source of truth for view rows. - DataStore is used for lightweight user preferences. - The startup migration path from DataStore into Room is tested in existing integration t","default_branch":null,"files":null,"tree":[],"storefront":"/r/Monkopedia","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Monkopedia/health-disconnect/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}