The medic-android application is a thin wrapper to load the CHT Core Framework web application in a webview. This allows the application to be hardcoded to a specific CHT deployment and have a partner specific logo and display name. This app also provides some deeper integration with other android apps and native phone functions that are otherwise unavailable to webapps.
In order to comply with Play Store policy it was necessary to switch from using crosswalk to webview for Android 10 and above. To make this transition smoother we have implemented a migration to copy patient data and session information into the webview implementation, however please note:
- When loading the application after upgrade you will need an internet connection in order to cache the application code.
- The migration can take a few minutes to complete so after upgrade the user may be shown a login screen. If this happens, restart the application periodically until the user is logged in and the app loads as per usual.
Users on Android 9 and below will continue to use crosswalk and be unaffected by this change.
- [improvement] medic-android#106: Update target SDK version to 29 for Play Store compliance
This release changes the way in which location data is collected to better align with Play Store policies. Now the information is gathered only when filling in a form as opposed to as soon as the app is loaded.
Note: This breaks backwards compatibility with older versions of the CHT Core Framework which may mean that location data is no longer collected at all. Tt is recommended you upgrade to CHT v3.9.2 or later before upgrading the android app.
- [feature] cht-core#6380: Adds intent so opening deployment URLs will prompt to load in app
- [improvement] medic-android#111: Compliance with Play Store developer policies for PII collection disclosure
- [bug] cht-core#6648: Blank screen when launching external apps from CHT Android app
- Install Android SDK
- Clone the repo
- Plug in your phone. Check it's detected with
adb devices
- Execute:
make
(will also push app unto phone)
Refer to the cht-core Developer Guide.
To build and deploy APKs for all configured brands:
make branded
To add a new brand:
- add
productFlavors { <new_brand> { ... } }
inbuild.gradle
- add icons, strings etc. in
src/<new_brand>
- to enable automated deployments, add the
new_brand
to.travis.yml
- Make sure all issues for this release have passed AT and been merged into
master
- Create a git tag starting with
v
and ending with the alpha version, e.g.v1.2.3-alpha.1
and push the tag to GitHub. - Creating this tag will trigger Travis CI to build, sign, and properly version the build. The release-ready APKs are available for side-loading from GitHub Releases and are uploaded to the Google Play Console in the "alpha" channel for only the
unbranded
andgamma
flavors. - Announce the release in #quality-assurance
- Create a git tag starting with
v
, e.g.v1.2.3
and push the tag to GitHub. - The exact same process as Step 3 above, but the
demo
flavour is updated also. - Announce the release on the CHT forum, under the "Product - Releases" category.
- Each flavor is then individually released to users via "Release Management" in the Google Play Console. Once a flavor has been tested and is ready to go live, click Release to Production
Copyright 2013-2020 Medic Mobile, Inc. [email protected]
The software is provided under AGPL-3.0. Contributions to this project are accepted under the same license.