From 7e8c5cace305edd330c91030b15478cadae44229 Mon Sep 17 00:00:00 2001 From: harish Date: Wed, 11 Oct 2023 21:41:14 +0530 Subject: [PATCH 01/38] Artefact "fetch_status" check added --- .../commcare/dalvik/abha/ui/main/activity/TestActivity.kt | 4 ++-- .../commcare/dalvik/data/repository/AbdmRepositoryImpl.kt | 8 +++++++- .../commcare/dalvik/domain/model/ConsentArtefactModel.kt | 5 ++++- .../commcare/dalvik/domain/model/ConsentArtefactsList.kt | 2 +- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/TestActivity.kt b/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/TestActivity.kt index 62efcd2..48a657c 100644 --- a/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/TestActivity.kt +++ b/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/TestActivity.kt @@ -111,7 +111,7 @@ class TestActivity : AppCompatActivity() { val intent = Intent(action).apply { putExtras( bundleOf( - "abha_id" to "ajeet2040@sbx", + "abha_id" to "ashish.yogi@sbx", "hiu_id" to "Ashish-HIU-Registered", "abdm_api_token" to token, "lang_code" to lang, @@ -148,7 +148,7 @@ class TestActivity : AppCompatActivity() { } putExtras( bundleOf( - "abhaId" to "ajeet2040@sbx", + "abhaId" to "ashish.yogi@sbx", "purpose" to "LINK", "hipId" to "6004", "patientDetail" to patientJson.toString(), diff --git a/data/src/main/java/org/commcare/dalvik/data/repository/AbdmRepositoryImpl.kt b/data/src/main/java/org/commcare/dalvik/data/repository/AbdmRepositoryImpl.kt index 5c7a761..a40a180 100644 --- a/data/src/main/java/org/commcare/dalvik/data/repository/AbdmRepositoryImpl.kt +++ b/data/src/main/java/org/commcare/dalvik/data/repository/AbdmRepositoryImpl.kt @@ -141,9 +141,15 @@ class AbdmRepositoryImpl @Inject constructor(val hqServices: HqServices) : AbdmR ): ConsentArtefactsList { val result = hqServices.getConsentArtefacts(consentRequestId, searchText,page) Timber.d("RESULT : ${result.body().toString()}") - return Gson().fromJson(result.body(), ConsentArtefactsList::class.java) + val consentArtefactsList = Gson().fromJson(result.body(), ConsentArtefactsList::class.java) + return filterConsentArtefactsList(consentArtefactsList) } + private fun filterConsentArtefactsList(list: ConsentArtefactsList): ConsentArtefactsList { + val filteredList = list.results.filterNot { it.isArtefactRequested() } + list.results = filteredList + return list + } override fun getConsentArtefactPagerData(fetchPatientConsentUsecase: FetchConsentArtefactsUsecase) = Pager( diff --git a/domain/src/main/java/org/commcare/dalvik/domain/model/ConsentArtefactModel.kt b/domain/src/main/java/org/commcare/dalvik/domain/model/ConsentArtefactModel.kt index f5424b5..bd985c1 100644 --- a/domain/src/main/java/org/commcare/dalvik/domain/model/ConsentArtefactModel.kt +++ b/domain/src/main/java/org/commcare/dalvik/domain/model/ConsentArtefactModel.kt @@ -14,6 +14,7 @@ data class ConsentArtefactModel( @SerializedName("last_modified") val lastModified: String?, + @SerializedName("fetch_status") val status: String, val error: String?, @@ -23,5 +24,7 @@ data class ConsentArtefactModel( val details: ConsentArtefactDetailModel -) +){ + fun isArtefactRequested() = status == "REQUESTED" +} diff --git a/domain/src/main/java/org/commcare/dalvik/domain/model/ConsentArtefactsList.kt b/domain/src/main/java/org/commcare/dalvik/domain/model/ConsentArtefactsList.kt index 904bb6f..dc2e0eb 100644 --- a/domain/src/main/java/org/commcare/dalvik/domain/model/ConsentArtefactsList.kt +++ b/domain/src/main/java/org/commcare/dalvik/domain/model/ConsentArtefactsList.kt @@ -4,5 +4,5 @@ data class ConsentArtefactsList( val count: Int, val next: String?, val previous: String?, - val results: List + var results: List ) From 840cf9ed27c293453edc37765f7f5c103646c65a Mon Sep 17 00:00:00 2001 From: harish Date: Fri, 27 Oct 2023 10:29:56 +0530 Subject: [PATCH 02/38] Bug Fixes --- .../abha/ui/main/activity/AbdmActivity.kt | 23 +++++++++++++++---- .../abha/ui/main/activity/TestActivity.kt | 3 ++- .../main/adapters/ConsentArtefactAdapter.kt | 4 ++-- .../main/fragment/CCFetchAuthModeFragment.kt | 2 ++ .../fragment/CreatePatientConsentFragment.kt | 2 +- .../main/fragment/ScanAbhaResultFragment.kt | 1 + .../dalvik/abha/viewmodel/PatientViewModel.kt | 4 ++-- .../abha/viewmodel/ScanAbhaViewModel.kt | 1 + .../res/navigation/scan_abha_navigation.xml | 4 ++-- app/src/main/res/values-hi-rIN/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + .../domain/model/ConsentArtefactModel.kt | 2 +- 12 files changed, 35 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/AbdmActivity.kt b/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/AbdmActivity.kt index dc8e3b4..14587f1 100644 --- a/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/AbdmActivity.kt +++ b/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/AbdmActivity.kt @@ -28,6 +28,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 @@ -43,6 +44,7 @@ class AbdmActivity : BaseActivity(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 @@ -77,6 +79,7 @@ class AbdmActivity : BaseActivity(AbdmActivityBinding::infl observerPatientViewModel() observerCCViewModel() observeBlockedOtpRequest() + observerScanabhaViewModel() intent.extras?.getString("lang_code")?.let { langId -> val config = Configuration(resources.configuration) @@ -109,10 +112,6 @@ class AbdmActivity : BaseActivity(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 = @@ -252,6 +251,22 @@ class AbdmActivity : BaseActivity(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) { diff --git a/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/TestActivity.kt b/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/TestActivity.kt index 48a657c..986f1fd 100644 --- a/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/TestActivity.kt +++ b/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/TestActivity.kt @@ -115,7 +115,8 @@ class TestActivity : AppCompatActivity() { "hiu_id" to "Ashish-HIU-Registered", "abdm_api_token" to token, "lang_code" to lang, - "action" to ACTION_GET_CONSENT + "action" to ACTION_GET_CONSENT, + "requester" to "Dr xyz" ) ) } diff --git a/app/src/main/java/org/commcare/dalvik/abha/ui/main/adapters/ConsentArtefactAdapter.kt b/app/src/main/java/org/commcare/dalvik/abha/ui/main/adapters/ConsentArtefactAdapter.kt index 4ac9e3c..2ad7efb 100644 --- a/app/src/main/java/org/commcare/dalvik/abha/ui/main/adapters/ConsentArtefactAdapter.kt +++ b/app/src/main/java/org/commcare/dalvik/abha/ui/main/adapters/ConsentArtefactAdapter.kt @@ -66,10 +66,10 @@ class ConsentArtefactAdapter(val callback :(artefactId: String)->Unit) : fun bindModel(model: ConsentArtefactModel) { binding.model = model binding.careContextChipGroup.removeAllViews() - model.details.careContexts.forEach { it -> + model.details?.careContexts?.forEach { it -> // careContextsList.forEach { val chip = Chip(binding.root.context, null, R.style.HiTypeStyle) - chip.text = it.patientReference + chip.text = it.careContextReference chip.setTextColor(Color.BLACK) binding.careContextChipGroup.addView(chip) // } diff --git a/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/CCFetchAuthModeFragment.kt b/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/CCFetchAuthModeFragment.kt index 7d89c40..13815f8 100644 --- a/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/CCFetchAuthModeFragment.kt +++ b/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/CCFetchAuthModeFragment.kt @@ -82,6 +82,8 @@ class CCFetchAuthModeFragment : BaseFragment(CCAuthModeBindin setOnItemClickListener(this@CCFetchAuthModeFragment) if (viewModel.authModesList.size == 1) { setText(adapter.getItem(0).toString(), false) + viewModel.selectedAuthMethod = adapter.getItem(0).toString() + binding.ccGenerateAuthOtp.isEnabled = true } } } diff --git a/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/CreatePatientConsentFragment.kt b/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/CreatePatientConsentFragment.kt index 15ee19e..b90f7d0 100644 --- a/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/CreatePatientConsentFragment.kt +++ b/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/CreatePatientConsentFragment.kt @@ -51,7 +51,7 @@ class CreatePatientConsentFragment : arguments?.let { bundle -> bundle.getString("abha_id")?.let { abhaId -> bundle.getString("hiu_id")?.let { hiuId -> - viewmodel.init(abhaId, hiuId) + viewmodel.init(abhaId, hiuId, bundle.getString("requester") ?: "") } } } diff --git a/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/ScanAbhaResultFragment.kt b/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/ScanAbhaResultFragment.kt index 0d76844..c780e98 100644 --- a/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/ScanAbhaResultFragment.kt +++ b/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/ScanAbhaResultFragment.kt @@ -18,6 +18,7 @@ import org.commcare.dalvik.abha.ui.main.activity.AbdmActivity import org.commcare.dalvik.abha.ui.main.activity.AbdmResponseCode import org.commcare.dalvik.abha.viewmodel.GenerateAbhaUiState import org.commcare.dalvik.abha.viewmodel.ScanAbhaViewModel +import timber.log.Timber class ScanAbhaResultFragment : BaseFragment(ScanAbhaResultBinding::inflate) { diff --git a/app/src/main/java/org/commcare/dalvik/abha/viewmodel/PatientViewModel.kt b/app/src/main/java/org/commcare/dalvik/abha/viewmodel/PatientViewModel.kt index 0d40b10..6244b3c 100644 --- a/app/src/main/java/org/commcare/dalvik/abha/viewmodel/PatientViewModel.kt +++ b/app/src/main/java/org/commcare/dalvik/abha/viewmodel/PatientViewModel.kt @@ -42,12 +42,12 @@ class PatientViewModel @Inject constructor( lateinit var patientHealthData:Pair> - fun init(patientId: String, hiuId: String) { + fun init(patientId: String, hiuId: String ,requesterValue:String) { this.patientConsentModel = PatientConsentDetailModel(Purpose(PURPOSE.CAREMGT.name)).apply { hiu = IdNameModel(hiuId) patient = Patient(patientId) - requester = Requester("Dr. Manju") + requester = Requester(requesterValue) permission = ConsentPermission(ACCESS_MODE.VIEW.value) } } diff --git a/app/src/main/java/org/commcare/dalvik/abha/viewmodel/ScanAbhaViewModel.kt b/app/src/main/java/org/commcare/dalvik/abha/viewmodel/ScanAbhaViewModel.kt index 8ecf766..25fff7e 100644 --- a/app/src/main/java/org/commcare/dalvik/abha/viewmodel/ScanAbhaViewModel.kt +++ b/app/src/main/java/org/commcare/dalvik/abha/viewmodel/ScanAbhaViewModel.kt @@ -31,6 +31,7 @@ class ScanAbhaViewModel @Inject constructor(private val abhaAvailbilityUsecase: abhaAvailbilityUsecase.execute(AbhaVerificationRequestModel(abhaId)).collect { when (it) { HqResponseModel.Loading -> { + uiState.emit(GenerateAbhaUiState.InvalidState) uiState.emit(GenerateAbhaUiState.Loading(true)) } diff --git a/app/src/main/res/navigation/scan_abha_navigation.xml b/app/src/main/res/navigation/scan_abha_navigation.xml index aff282d..209f61e 100644 --- a/app/src/main/res/navigation/scan_abha_navigation.xml +++ b/app/src/main/res/navigation/scan_abha_navigation.xml @@ -8,7 +8,7 @@ + android:label="@string/scanAbha" > @@ -16,5 +16,5 @@ + android:label="@string/scanAbhaResult" /> \ No newline at end of file diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index f42d533..9656ceb 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -119,4 +119,5 @@ Context care linked successfully. Context care not linked. NOT LINKED + Scan ABHA Result \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2347f27..421ec05 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -157,4 +157,5 @@ Please fill this field if the beneficiary is interested in a custom ABHA address Context care linked successfully. Context care not linked. NOT LINKED + Scan ABHA Result \ No newline at end of file diff --git a/domain/src/main/java/org/commcare/dalvik/domain/model/ConsentArtefactModel.kt b/domain/src/main/java/org/commcare/dalvik/domain/model/ConsentArtefactModel.kt index bd985c1..31f1bb7 100644 --- a/domain/src/main/java/org/commcare/dalvik/domain/model/ConsentArtefactModel.kt +++ b/domain/src/main/java/org/commcare/dalvik/domain/model/ConsentArtefactModel.kt @@ -22,7 +22,7 @@ data class ConsentArtefactModel( @SerializedName("consent_request") val consentRequest: String, - val details: ConsentArtefactDetailModel + val details: ConsentArtefactDetailModel? ){ fun isArtefactRequested() = status == "REQUESTED" From d1bd2869158ea81b1032e8818dd699f3748ddc48 Mon Sep 17 00:00:00 2001 From: harish Date: Fri, 27 Oct 2023 12:47:07 +0530 Subject: [PATCH 03/38] Barcode changes --- app/build.gradle | 5 +- app/src/main/AndroidManifest.xml | 4 ++ .../abha/ui/main/activity/AbdmActivity.kt | 29 ++++++++++ .../ui/main/activity/BarcodeCaptureAct.kt | 7 +++ .../abha/ui/main/fragment/ScanAbhaFragment.kt | 54 ++++++++++--------- .../main/res/layout/fragment_scan_abha.xml | 11 ---- app/src/main/res/values-hi-rIN/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + build.gradle | 1 + version.gradle | 2 +- 10 files changed, 77 insertions(+), 38 deletions(-) create mode 100644 app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/BarcodeCaptureAct.kt diff --git a/app/build.gradle b/app/build.gradle index 6710fa7..02c57d0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1335800..ece6854 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -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"> + \ No newline at end of file diff --git a/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/AbdmActivity.kt b/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/AbdmActivity.kt index 14587f1..a7d6331 100644 --- a/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/AbdmActivity.kt +++ b/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/AbdmActivity.kt @@ -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 @@ -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 @@ -54,6 +58,18 @@ class AbdmActivity : BaseActivity(AbdmActivityBinding::infl val ACTION_GET_CONSENT = "get_consent" val ACTION_CARE_CONTEXT_LINK = "link_care_context" + lateinit var scanCallback : (result:String?)->Unit + + private val barcodeLauncher = registerForActivityResult( + 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) @@ -434,6 +450,19 @@ class AbdmActivity : BaseActivity(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) + } + + } /** diff --git a/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/BarcodeCaptureAct.kt b/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/BarcodeCaptureAct.kt new file mode 100644 index 0000000..65f02bc --- /dev/null +++ b/app/src/main/java/org/commcare/dalvik/abha/ui/main/activity/BarcodeCaptureAct.kt @@ -0,0 +1,7 @@ +package org.commcare.dalvik.abha.ui.main.activity; + +import com.journeyapps.barcodescanner.CaptureActivity + +class BarcodeCaptureAct : CaptureActivity() { + +} diff --git a/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/ScanAbhaFragment.kt b/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/ScanAbhaFragment.kt index e36003e..4eddcc0 100644 --- a/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/ScanAbhaFragment.kt +++ b/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/ScanAbhaFragment.kt @@ -11,12 +11,9 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.core.content.ContextCompat import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController -import com.budiyev.android.codescanner.AutoFocusMode -import com.budiyev.android.codescanner.CodeScanner -import com.budiyev.android.codescanner.DecodeCallback -import com.budiyev.android.codescanner.ErrorCallback -import com.budiyev.android.codescanner.ScanMode + import com.google.gson.Gson +import com.journeyapps.barcodescanner.ScanOptions import org.commcare.dalvik.abha.R import org.commcare.dalvik.abha.databinding.ScanAbhaBinding import org.commcare.dalvik.abha.ui.main.activity.AbdmActivity @@ -27,7 +24,7 @@ import timber.log.Timber class ScanAbhaFragment : BaseFragment(ScanAbhaBinding::inflate) { - private lateinit var codeScanner: CodeScanner +// private lateinit var codeScanner: CodeScanner val viewmodel: ScanAbhaViewModel by activityViewModels() lateinit var requestPermissionLauncher: ActivityResultLauncher @@ -37,6 +34,8 @@ class ScanAbhaFragment : BaseFragment(ScanAbhaBinding::inflate) binding.clickHandler = this + + val callback = object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { @@ -61,22 +60,22 @@ class ScanAbhaFragment : BaseFragment(ScanAbhaBinding::inflate) } private fun initScanner() { - codeScanner = CodeScanner(requireContext(), binding.scannerView).apply { - camera = CodeScanner.CAMERA_BACK - formats = CodeScanner.ALL_FORMATS - autoFocusMode = AutoFocusMode.CONTINUOUS - scanMode = ScanMode.SINGLE - isAutoFocusEnabled = true - isFlashEnabled = false - decodeCallback = DecodeCallback { - releaseScanner() - validateScannedData(it.text) - } - errorCallback = ErrorCallback { - Timber.d("scan===> ${it.message}") - releaseScanner() - } - } +// codeScanner = CodeScanner(requireContext(), binding.scannerView).apply { +// camera = CodeScanner.CAMERA_BACK +// formats = CodeScanner.ALL_FORMATS +// autoFocusMode = AutoFocusMode.CONTINUOUS +// scanMode = ScanMode.SINGLE +// isAutoFocusEnabled = true +// isFlashEnabled = false +// decodeCallback = DecodeCallback { +// releaseScanner() +// validateScannedData(it.text) +// } +// errorCallback = ErrorCallback { +// Timber.d("scan===> ${it.message}") +// releaseScanner() +// } +// } } @@ -103,12 +102,13 @@ class ScanAbhaFragment : BaseFragment(ScanAbhaBinding::inflate) private fun startScanner() { binding.scanViewHolder.visibility = View.VISIBLE - codeScanner.startPreview() +// codeScanner.startPreview() + (activity as AbdmActivity).scanBarcode(this::onBarcodeDataReceived) } private fun releaseScanner() { - codeScanner.stopPreview() - codeScanner.releaseResources() +// codeScanner.stopPreview() +// codeScanner.releaseResources() activity?.runOnUiThread { binding.scanViewHolder.visibility = View.GONE } @@ -177,4 +177,8 @@ class ScanAbhaFragment : BaseFragment(ScanAbhaBinding::inflate) } + fun onBarcodeDataReceived(scannedDate: String?){ + validateScannedData(scannedDate) + } + } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_scan_abha.xml b/app/src/main/res/layout/fragment_scan_abha.xml index 6e661f4..3e9d073 100644 --- a/app/src/main/res/layout/fragment_scan_abha.xml +++ b/app/src/main/res/layout/fragment_scan_abha.xml @@ -87,18 +87,7 @@ app:srcCompat="@drawable/ic_baseline_close_24" app:tint="@color/red" /> - - diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 9656ceb..7a05dc4 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -120,4 +120,5 @@ Context care not linked. NOT LINKED Scan ABHA Result + Place barcode at the center of the screen. \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 421ec05..7d1df26 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -158,4 +158,5 @@ Please fill this field if the beneficiary is interested in a custom ABHA address Context care not linked. NOT LINKED Scan ABHA Result + Place barcode at the center of the screen. \ No newline at end of file diff --git a/build.gradle b/build.gradle index ad4278e..bd967ec 100644 --- a/build.gradle +++ b/build.gradle @@ -11,6 +11,7 @@ buildscript { repositories { mavenCentral() maven { url 'https://jitpack.io' } + jcenter() } } diff --git a/version.gradle b/version.gradle index 65ce9dc..cdd83b2 100644 --- a/version.gradle +++ b/version.gradle @@ -27,7 +27,7 @@ ext { DATA_STORE_VERSION ="1.0.0" - SCANNER_VER="2.3.2" + ZXING_VER="4.3.0" SQUARE_OKIO_VER="3.2.0" GLIDE_VER="4.13.2" From 352ef0fb89dd4e6dfabc7e7eb9e36f2d884808fb Mon Sep 17 00:00:00 2001 From: harish Date: Fri, 27 Oct 2023 16:05:28 +0530 Subject: [PATCH 04/38] Back button and lable changes --- .../main/fragment/PatientConsentFragment.kt | 5 ++ .../fragment_patient_consent_layout.xml | 58 ++++++++++++++----- app/src/main/res/values-hi-rIN/strings.xml | 3 +- app/src/main/res/values/strings.xml | 3 +- 4 files changed, 54 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/PatientConsentFragment.kt b/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/PatientConsentFragment.kt index d2fd314..d36eeaf 100644 --- a/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/PatientConsentFragment.kt +++ b/app/src/main/java/org/commcare/dalvik/abha/ui/main/fragment/PatientConsentFragment.kt @@ -23,6 +23,7 @@ import com.google.android.material.datepicker.DateValidatorPointForward import com.google.android.material.datepicker.MaterialDatePicker import org.commcare.dalvik.abha.R import org.commcare.dalvik.abha.databinding.PatientConsentBinding +import org.commcare.dalvik.abha.ui.main.activity.AbdmActivity import org.commcare.dalvik.abha.ui.main.adapters.ConsentPageLoaderAdapter import org.commcare.dalvik.abha.ui.main.adapters.PatientConsentAdapter import org.commcare.dalvik.abha.utility.CommonUtil @@ -169,6 +170,10 @@ class PatientConsentFragment : BaseFragment(PatientConsen binding.createConsentBtn.setOnClickListener{ navigateToCreateConsentScreen() } + + binding.backBt.setOnClickListener{ + (activity as AbdmActivity).finish() + } } private fun updateFilterMenu() { diff --git a/app/src/main/res/layout/fragment_patient_consent_layout.xml b/app/src/main/res/layout/fragment_patient_consent_layout.xml index 72c0a68..4aba6fb 100644 --- a/app/src/main/res/layout/fragment_patient_consent_layout.xml +++ b/app/src/main/res/layout/fragment_patient_consent_layout.xml @@ -70,7 +70,7 @@ android:layout_height="0dp" android:background="@color/lightest_grey" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" - app:layout_constraintBottom_toTopOf="@+id/createConsentBtn" + app:layout_constraintBottom_toTopOf="@+id/btnHolder" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" @@ -87,26 +87,58 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/createConsentBtn" + app:layout_constraintTop_toBottomOf="@+id/btnHolder" app:layout_constraintVertical_bias="0.5" /> -