Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
7e8c5ca
Artefact "fetch_status" check added
RawatH Oct 11, 2023
e5fa2e0
Merge branch 'dimagi:main' into main
RawatH Oct 27, 2023
840cf9e
Bug Fixes
RawatH Oct 27, 2023
23e6919
Merge remote-tracking branch 'origin/main'
RawatH Oct 27, 2023
d1bd286
Barcode changes
RawatH Oct 27, 2023
352ef0f
Back button and lable changes
RawatH Oct 27, 2023
f8d391b
Date error fix
RawatH Oct 27, 2023
230c522
link CC packet update
RawatH Oct 27, 2023
c6f2e08
record date changes
RawatH Oct 31, 2023
50ff893
UTC time ui fix
RawatH Oct 31, 2023
4900e1f
Abha availability check update
RawatH Nov 6, 2023
c86afdc
Notify patient API
RawatH Nov 11, 2023
d4c3e76
Create consent UTC fix
RawatH Nov 11, 2023
6526ed4
Logs added
RawatH Nov 14, 2023
fa3b571
Patient consent list UTC time updated
RawatH Nov 14, 2023
3605da8
Removed the @abdm requirement in few places
akyogi Nov 14, 2023
e5bd4ca
Bug Fixes
RawatH Nov 15, 2023
0c87b84
TIME ISSUE FIX
RawatH Nov 16, 2023
af3087d
RECORD TIME ISSUE FIX
RawatH Nov 16, 2023
cb0b773
Time Format FIX
RawatH Nov 17, 2023
1d40484
401 error messgae fix for Notify
RawatH Nov 27, 2023
6857a24
401 error message fix
RawatH Nov 27, 2023
fbaf3cd
Exception hadling for case when abha address was directly created wit…
RawatH Nov 28, 2023
4dfc629
CR
RawatH Dec 8, 2023
365ab4e
UI FIX
RawatH Dec 8, 2023
b10c753
UI FIX
RawatH Dec 15, 2023
0a5f321
CR :
RawatH Jan 3, 2024
cee56f5
Date Format fix
RawatH Jan 9, 2024
c7d80a1
Fetch auth method screen auto selection when count is 1
RawatH Jan 9, 2024
e710fa6
Error msg fix
RawatH Jan 9, 2024
ec303da
Empty health record list dialog message added
RawatH Jan 10, 2024
dcf6544
CR
RawatH Jan 18, 2024
c32b721
health id added in link context care request
RawatH Jan 21, 2024
47056db
health id replace with patient abha id
RawatH Jan 22, 2024
3444e01
Demographic auth mode added
RawatH Feb 26, 2024
f69d088
CR for gender text
RawatH Feb 27, 2024
5567f4a
added below details on when select auth method.
RawatH Feb 28, 2024
7bda820
Change request
RawatH Mar 12, 2024
c07b70f
Change request for Health Data screen
RawatH Mar 15, 2024
47bd177
CR : Patient consent status date update
RawatH Apr 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .idea/deploymentTargetDropDown.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,10 @@ dependencies {
implementation "com.github.bumptech.glide:glide:$GLIDE_VER"
annotationProcessor "com.github.bumptech.glide:compiler:$GLIDE_VER"

implementation "com.github.yuriy-budiyev:code-scanner:$SCANNER_VER"


implementation "com.journeyapps:zxing-android-embedded:$ZXING_VER"

implementation "com.squareup.okio:okio:$SQUARE_OKIO_VER"
// implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
// implementation 'com.github.barteksc:android-pdf-viewer:1.6.0'
Expand Down
4 changes: 4 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:hardwareAccelerated="true"
android:theme="@style/Theme.ABDMApp">
<activity
android:name=".ui.main.activity.AbdmActivity"
Expand All @@ -43,6 +44,9 @@
</intent-filter>
</activity>

<activity android:name=".ui.main.activity.BarcodeCaptureAct"
android:screenOrientation="portrait"
android:stateNotNeeded="true"/>
</application>

</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ data class AbhaScanModel(
) {

fun getAbha(): String? {
hid?.let {
return it
}
hidn?.let {
return it.replace("-", "")
} ?: run {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import org.commcare.dalvik.domain.model.CCRequesterModel

class LinkCareContextModel {
lateinit var patientAbhaId: String
lateinit var abhaNumber: String
lateinit var hipId: String
lateinit var purpose: String
lateinit var patient: CCPatientDetails
Expand All @@ -19,7 +20,7 @@ class LinkCareContextModel {
}

fun getCCLinkRequestModel(accessToken:String):CCLinkModel{
return CCLinkModel(accessToken,hipId,patient)
return CCLinkModel(accessToken,hipId,patient,patientAbhaId)
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.widget.Toast
import androidx.activity.OnBackPressedCallback
import androidx.activity.viewModels
import androidx.core.os.bundleOf
Expand All @@ -16,6 +17,9 @@ import androidx.lifecycle.repeatOnLifecycle
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.ui.setupActionBarWithNavController
import com.google.android.material.snackbar.Snackbar
import com.journeyapps.barcodescanner.ScanContract
import com.journeyapps.barcodescanner.ScanIntentResult
import com.journeyapps.barcodescanner.ScanOptions
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
Expand All @@ -28,6 +32,7 @@ import org.commcare.dalvik.abha.viewmodel.AbdmViewModel
import org.commcare.dalvik.abha.viewmodel.CareContextViewModel
import org.commcare.dalvik.abha.viewmodel.GenerateAbhaUiState
import org.commcare.dalvik.abha.viewmodel.PatientViewModel
import org.commcare.dalvik.abha.viewmodel.ScanAbhaViewModel
import org.commcare.dalvik.data.network.HeaderInterceptor
import org.commcare.dalvik.domain.model.LanguageManager
import org.commcare.dalvik.domain.model.TranslationKey
Expand All @@ -43,6 +48,7 @@ class AbdmActivity : BaseActivity<AbdmActivityBinding>(AbdmActivityBinding::infl
val viewmodel: AbdmViewModel by viewModels()
val patientViewModel: PatientViewModel by viewModels()
val careContextViewModel: CareContextViewModel by viewModels()
val scanAbhaViewModel: ScanAbhaViewModel by viewModels()

private var showMenu = true

Expand All @@ -51,6 +57,19 @@ class AbdmActivity : BaseActivity<AbdmActivityBinding>(AbdmActivityBinding::infl
val ACTION_SCAN_ABHA = "scan_abha"
val ACTION_GET_CONSENT = "get_consent"
val ACTION_CARE_CONTEXT_LINK = "link_care_context"
val ACTION_NOTIFY_PATIENT = "notify_patient"

lateinit var scanCallback : (result:String?)->Unit

private val barcodeLauncher = registerForActivityResult<ScanOptions, ScanIntentResult>(
ScanContract()
) { result: ScanIntentResult ->
if (result.contents == null) {
Toast.makeText(this@AbdmActivity, "Scan cancelled", Toast.LENGTH_LONG).show()
} else {
scanCallback.invoke( result.contents)
}
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand All @@ -69,14 +88,12 @@ class AbdmActivity : BaseActivity<AbdmActivityBinding>(AbdmActivityBinding::infl
supportActionBar?.setDisplayShowHomeEnabled(true)
supportActionBar?.setHomeAsUpIndicator(R.drawable.ic_arrow_back)

// binding.toolbarContainer.toolbar.setNavigationOnClickListener { view ->
// Toast.makeText(this, "BACK", Toast.LENGTH_SHORT).show()
// }

observeLoader()
observerPatientViewModel()
observerCCViewModel()
observeBlockedOtpRequest()
observerScanabhaViewModel()

intent.extras?.getString("lang_code")?.let { langId ->
val config = Configuration(resources.configuration)
Expand Down Expand Up @@ -109,15 +126,16 @@ class AbdmActivity : BaseActivity<AbdmActivityBinding>(AbdmActivityBinding::infl
LanguageManager.getTranslatedValue(this, R.string.ABHA_CREATION)
}

ACTION_SCAN_ABHA -> {
supportActionBar?.title =
LanguageManager.getTranslatedValue(this, R.string.scanAbha)
}

ACTION_CARE_CONTEXT_LINK->{
supportActionBar?.title =
LanguageManager.getTranslatedValue(this, R.string.linkCareContext)
}

ACTION_NOTIFY_PATIENT ->{
supportActionBar?.title =
LanguageManager.getTranslatedValue(this, R.string.notifyPatient)
}
}

}
Expand Down Expand Up @@ -171,16 +189,20 @@ class AbdmActivity : BaseActivity<AbdmActivityBinding>(AbdmActivityBinding::infl
* Verify intent data
*/
private fun verifyIntentData() {
Timber.d("Verifying intet data.")
intent.extras?.containsKey("abdm_api_token")?.let { tokenPresent ->
if (tokenPresent) {
intent.extras?.getString("abdm_api_token")?.let {
Timber.d("Token ----> $it")
if (it.isEmpty()) {
Timber.d("Token is empty.")
showMessageAndDispatchResult(TranslationKey.TOKEN_MISSING.toString())
} else {
AbdmApplication.API_TOKEN = it
}
}
} else {
Timber.d("Token not present.")
showMessageAndDispatchResult(TranslationKey.TOKEN_MISSING.toString())
}
}
Expand All @@ -193,14 +215,8 @@ class AbdmActivity : BaseActivity<AbdmActivityBinding>(AbdmActivityBinding::infl
showMessageAndDispatchResult(TranslationKey.REQ_DATA_MISSING.toString())
}
}

ACTION_SCAN_ABHA -> {

}
}

}

}

/**
Expand Down Expand Up @@ -252,6 +268,22 @@ class AbdmActivity : BaseActivity<AbdmActivityBinding>(AbdmActivityBinding::infl
}
}

private fun observerScanabhaViewModel(){
lifecycleScope.launch(Dispatchers.Main) {
repeatOnLifecycle(Lifecycle.State.STARTED) {
scanAbhaViewModel.uiState.collect {
when (it) {
is GenerateAbhaUiState.Loading -> {
Timber.d("LOADER VISIBILITY ${it.isLoading}")
binding.loader.visibility =
if (it.isLoading) View.VISIBLE else View.GONE
}
else -> false
}
}
}
}
}
private fun observerCCViewModel(){
lifecycleScope.launch(Dispatchers.Main) {
repeatOnLifecycle(Lifecycle.State.STARTED) {
Expand Down Expand Up @@ -300,6 +332,7 @@ class AbdmActivity : BaseActivity<AbdmActivityBinding>(AbdmActivityBinding::infl


private fun inflateNavGraph() {
Timber.d("Initializing nav graph.")
val bundle = intent.extras ?: bundleOf()

bundle.getString("abdm_api_token")?.let {
Expand Down Expand Up @@ -333,7 +366,13 @@ class AbdmActivity : BaseActivity<AbdmActivityBinding>(AbdmActivityBinding::infl
ACTION_CARE_CONTEXT_LINK ->{
R.navigation.link_care_context
}

ACTION_NOTIFY_PATIENT ->{
Timber.d("Action = notify_patient.")
R.navigation.notify_patient
}
else -> {
Timber.d("ACTION = -1")
-1
}
}
Expand All @@ -343,7 +382,7 @@ class AbdmActivity : BaseActivity<AbdmActivityBinding>(AbdmActivityBinding::infl
graph.addInDefaultArgs(intent.extras)
navController.setGraph(graph, bundle)
} else {
Timber.d("Action not present. Navgra ")
Timber.d("Action not present.")
}

}
Expand Down Expand Up @@ -419,6 +458,19 @@ class AbdmActivity : BaseActivity<AbdmActivityBinding>(AbdmActivityBinding::infl
}


fun scanBarcode(callback : (result:String?)->Unit){
scanCallback = callback
val options = ScanOptions()
options.setDesiredBarcodeFormats(ScanOptions.ALL_CODE_TYPES)
options.setPrompt(resources.getString(R.string.place_barcode_inside))
options.setCameraId(0)
options.setBeepEnabled(true)
options.setBarcodeImageEnabled(true)
options.captureActivity = BarcodeCaptureAct::class.java
barcodeLauncher.launch(options)
}


}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package org.commcare.dalvik.abha.ui.main.activity;

import com.journeyapps.barcodescanner.CaptureActivity

class BarcodeCaptureAct : CaptureActivity() {

}
Loading