Skip to content

Commit be92e11

Browse files
committed
Merge branch 'master' into health_pulse
2 parents 1d295f8 + 032b571 commit be92e11

27 files changed

+114
-23
lines changed

.github/workflows/publish.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -621,6 +621,58 @@ jobs:
621621
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD_LUMBINI_CHIS }}
622622
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD_LUMBINI_CHIS }}
623623

624+
- name: Unpack secrets moh_civ_coach
625+
env:
626+
ANDROID_SECRETS_KEY: ${{ secrets.ANDROID_SECRETS_KEY_MOH_CIV_COACH }}
627+
ANDROID_SECRETS_IV: ${{ secrets.ANDROID_SECRETS_IV_MOH_CIV_COACH }}
628+
run: make org=moh_civ_coach keydec
629+
630+
- name: Assemble moh_civ_coach
631+
uses: maierj/[email protected]
632+
with:
633+
lane: build
634+
options: '{ "flavor": "moh_civ_coach" }'
635+
env:
636+
ANDROID_KEYSTORE_PATH: moh_civ_coach.keystore
637+
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD_MOH_CIV_COACH }}
638+
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD_MOH_CIV_COACH }}
639+
640+
- name: Bundle moh_civ_coach
641+
uses: maierj/[email protected]
642+
with:
643+
lane: bundle
644+
options: '{ "flavor": "moh_civ_coach" }'
645+
env:
646+
ANDROID_KEYSTORE_PATH: moh_civ_coach.keystore
647+
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD_MOH_CIV_COACH }}
648+
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD_MOH_CIV_COACH }}
649+
650+
- name: Unpack secrets moh_civ_coach_uat
651+
env:
652+
ANDROID_SECRETS_KEY: ${{ secrets.ANDROID_SECRETS_KEY_MOH_CIV_COACH_UAT }}
653+
ANDROID_SECRETS_IV: ${{ secrets.ANDROID_SECRETS_IV_MOH_CIV_COACH_UAT }}
654+
run: make org=moh_civ_coach_uat keydec
655+
656+
- name: Assemble moh_civ_coach_uat
657+
uses: maierj/[email protected]
658+
with:
659+
lane: build
660+
options: '{ "flavor": "moh_civ_coach_uat" }'
661+
env:
662+
ANDROID_KEYSTORE_PATH: moh_civ_coach_uat.keystore
663+
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD_MOH_CIV_COACH_UAT }}
664+
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD_MOH_CIV_COACH_UAT }}
665+
666+
- name: Bundle moh_civ_coach_uat
667+
uses: maierj/[email protected]
668+
with:
669+
lane: bundle
670+
options: '{ "flavor": "moh_civ_coach_uat" }'
671+
env:
672+
ANDROID_KEYSTORE_PATH: moh_civ_coach_uat.keystore
673+
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD_MOH_CIV_COACH_UAT }}
674+
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD_MOH_CIV_COACH_UAT }}
675+
624676
- name: GitHub release
625677
uses: softprops/action-gh-release@v1
626678
if: startsWith(github.ref, 'refs/tags/')

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
1-
CHT Android App
2-
===============
1+
# CHT Android
32

4-
The cht-android application is a thin Android wrapper to load the [CHT Core Framework](https://github.com/medic/cht-core/) web application in a Webview native container.
3+
![GitHub license](https://img.shields.io/github/license/medic/cht-android)
4+
![GitHub release](https://img.shields.io/github/v/release/medic/cht-android)
5+
[![Discourse](https://img.shields.io/badge/discourse-join-blue)](https://forum.communityhealthtoolkit.org/)
56

6-
The repository contains “flavored” configurations, where each “flavor” or “brand” is an app. This allows the application to be hardcoded to a specific CHT deployment and have a partner specific logo and display name. The app also provides some deeper integration with other android apps and native phone functions that are otherwise unavailable to webapps.
7+
CHT Android application is a thin Android wrapper to load the [CHT Core Framework](https://github.com/medic/cht-core/) web application in a Webview native container.
78

9+
The repository contains “flavored” configurations, where each “flavor” or “brand” is an app. This allows the application to be hardcoded to a specific CHT deployment and have a partner specific logo and display name. The app also provides some deeper integration with other android apps and native phone functions that are otherwise unavailable to webapps.
810

9-
## Release notes
11+
## Release Notes
1012

1113
Checkout the release notes in the [Changelog](CHANGELOG.md) page, our you can see the full release history with the installable files for sideloading [here](https://github.com/medic/cht-android/releases).
1214

13-
1415
## Development
1516

16-
Development guides are available in the "Android" section of the [Community Health Toolkit Docs Site](https://docs.communityhealthtoolkit.org/core/guides/android/). You will find instructions of how to setup your development environment, build and test new features, creates new branded apps, release, publish... and so on.
17+
Development guides are available in the "Android" section of the [Community Health Toolkit Docs Site](https://docs.communityhealthtoolkit.org/building/branding/publishing/). You will find instructions of how to setup your development environment, build and test new features, creates new branded apps, release, and publish.
1718

18-
## Settings page
19+
## Settings Page
1920
To open the app's Settings page, tap 5 times with one finger on the screen and then swipe right with two fingers, make sure to do this sequence fast. Once opened, you can change the URL of the CHT server and click "Save" to save the changes and close the Settings page.
2021

2122
## Copyright
2223

2324
Copyright 2013-2025 Medic Mobile, Inc. <[email protected]>.
2425

25-
2626
## License
2727

2828
The software is provided under AGPL-3.0. Contributions to this project are accepted under the same license.

build.gradle

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,16 @@ android {
445445
applicationId = 'org.medicmobile.webapp.mobile.moh_civ_uat'
446446
}
447447

448+
moh_civ_coach {
449+
dimension = 'brand'
450+
applicationId = 'org.medicmobile.webapp.mobile.moh_civ_coach'
451+
}
452+
453+
moh_civ_coach_uat {
454+
dimension = 'brand'
455+
applicationId = 'org.medicmobile.webapp.mobile.moh_civ_coach_uat'
456+
}
457+
448458
moh_nepal_mhealth {
449459
dimension = 'brand'
450460
applicationId = 'org.medicmobile.webapp.mobile.moh_nepal_mhealth'
@@ -476,6 +486,7 @@ dependencies {
476486
implementation fileTree(dir: 'libs', include: ['*.jar'])
477487
implementation platform('org.jetbrains.kotlin:kotlin-bom:1.9.24')
478488
implementation 'androidx.browser:browser:1.8.0'
489+
implementation 'androidx.appcompat:appcompat:1.7.1'
479490
implementation 'androidx.core:core:1.13.1'
480491
implementation 'androidx.activity:activity:1.9.0'
481492
implementation 'androidx.fragment:fragment:1.7.1'
5.84 KB
Binary file not shown.
5.97 KB
Binary file not shown.

src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
android:screenOrientation="portrait"
4444
android:configChanges="orientation|screenSize"
4545
android:launchMode="singleTask"
46+
android:theme="@style/Theme.AppCompat.NoActionBar"
4647
android:exported="true"
4748
tools:ignore="DiscouragedApi">
4849
<intent-filter android:autoVerify="true">

src/main/res/layout/connection_error.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools"
34
android:layout_width="fill_parent"
45
android:layout_height="wrap_content"
56
android:orientation="vertical"
@@ -48,7 +49,8 @@
4849
style="@style/borderlessButton"
4950
android:onClick="onClickMoreInfo"
5051
android:text="@string/btnMoreInfo"
51-
android:textAllCaps="true" />
52+
android:textAllCaps="true"
53+
tools:ignore="UsingOnClickInXml" />
5254

5355
<View
5456
android:layout_width="0dp"
@@ -60,7 +62,8 @@
6062
style="@style/borderlessButton"
6163
android:onClick="onClickRetry"
6264
android:text="@string/btnRetry"
63-
android:textAllCaps="true" />
65+
android:textAllCaps="true"
66+
tools:ignore="UsingOnClickInXml" />
6467
</LinearLayout>
6568
</RelativeLayout>
6669

src/main/res/layout/custom_server_form.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
android:layout_toStartOf="@+id/btnSaveSettings"
2828
android:onClick="cancelSettingsEdit"
2929
android:text="@string/btnCancel"
30-
tools:ignore="OnClick" />
30+
tools:ignore="OnClick,UsingOnClickInXml" />
3131
<!-- OnClick is ignored because lint generates error
3232
incorrectly. Test with future build tool versions
3333
to see if this exception can be removed -->
@@ -38,5 +38,5 @@
3838
android:layout_alignParentBottom="true"
3939
android:onClick="verifyAndSave"
4040
android:text="@string/btnSave"
41-
tools:ignore="OnClick" />
41+
tools:ignore="OnClick,UsingOnClickInXml" />
4242
</RelativeLayout>

src/main/res/layout/free_space_warning.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
style="@style/standardButton"
3838
android:text="@string/btnQuit"
3939
android:onClick="evtQuit"
40-
tools:ignore="OnClick"
40+
tools:ignore="OnClick,UsingOnClickInXml"
4141
android:layout_toStartOf="@+id/btnFreeSpaceContinue"
4242
android:layout_alignParentBottom="true"/>
4343
<!-- OnClick is ignored because lint generates error
@@ -47,7 +47,7 @@
4747
style="@style/standardButton"
4848
android:text="@string/btnContinue"
4949
android:onClick="evtContinue"
50-
tools:ignore="OnClick"
50+
tools:ignore="OnClick,UsingOnClickInXml"
5151
android:layout_alignParentEnd="true"
5252
android:layout_alignParentBottom="true"/>
5353
</RelativeLayout>

src/main/res/layout/request_app_domain_association.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
style="@style/borderlessButton"
4646
android:onClick="onClickNegative"
4747
android:text="@string/domainAppAssociationRequestDenyButton"
48-
tools:ignore="OnClick"
48+
tools:ignore="OnClick,UsingOnClickInXml"
4949
android:layout_marginTop="10dp"/>
5050

5151
<View
@@ -61,7 +61,7 @@
6161
android:onClick="onClickOk"
6262
android:text="@string/domainAppAssociationRequestOkButton"
6363
android:textColor="#ffffff"
64-
tools:ignore="OnClick" />
64+
tools:ignore="OnClick,UsingOnClickInXml" />
6565

6666
</LinearLayout>
6767

0 commit comments

Comments
 (0)