From f0e820fb7215e1b61cca6cda437d95e6b5ca064f Mon Sep 17 00:00:00 2001 From: Siddharth Agarwal Date: Tue, 29 Oct 2024 10:34:00 +0530 Subject: [PATCH] Migrate statin nudge to jetpack compose (#5090) Co-authored-by: Siddharth Agarwal --- CHANGELOG.md | 1 + .../clinic/summary/PatientSummaryModel.kt | 10 +- .../clinic/summary/PatientSummaryScreen.kt | 63 ++++---- .../clinic/summary/PatientSummaryScreenUi.kt | 2 +- .../clinic/summary/PatientSummaryUpdate.kt | 10 +- .../summary/PatientSummaryViewRenderer.kt | 6 +- .../clinic/summary/compose/StatinNudgeView.kt | 146 ++++++++++++++++++ .../res/drawable/background_statin_alert.xml | 12 -- app/src/main/res/drawable/ic_statin_alert.xml | 27 ---- .../res/layout/screen_patient_summary.xml | 7 +- app/src/main/res/layout/view_statin_alert.xml | 56 ------- app/src/main/res/values-bn-rBD/strings.xml | 10 -- app/src/main/res/values/ids.xml | 1 - app/src/main/res/values/strings.xml | 11 +- .../summary/PatientSummaryUpdateTest.kt | 10 +- .../summary/PatientSummaryViewRendererTest.kt | 34 +--- .../clinic/common/ui/theme/SimpleColors.kt | 2 +- .../clinic/common/ui/theme/SimpleTheme.kt | 2 +- common-ui/src/main/res/values/colors.xml | 4 - 19 files changed, 200 insertions(+), 214 deletions(-) create mode 100644 app/src/main/java/org/simple/clinic/summary/compose/StatinNudgeView.kt delete mode 100644 app/src/main/res/drawable/background_statin_alert.xml delete mode 100644 app/src/main/res/drawable/ic_statin_alert.xml delete mode 100644 app/src/main/res/layout/view_statin_alert.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index 372c1cb43a5..db4306851b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ - Update translations: `bn-BD` - Migrate `SplashScreen` to Compose - Migrate `OnboardingScreen` to Compose +- Migrate `StainNudge` to Compose ### Features diff --git a/app/src/main/java/org/simple/clinic/summary/PatientSummaryModel.kt b/app/src/main/java/org/simple/clinic/summary/PatientSummaryModel.kt index db370fd5359..82e719bfd35 100644 --- a/app/src/main/java/org/simple/clinic/summary/PatientSummaryModel.kt +++ b/app/src/main/java/org/simple/clinic/summary/PatientSummaryModel.kt @@ -27,7 +27,7 @@ data class PatientSummaryModel( val hasPrescribedDrugsChangedToday: Boolean?, val scheduledAppointment: ParcelableOptional?, val hasShownDiagnosisWarningDialog: Boolean, - val statin: StatinModel?, + val canPrescribeStatin: Boolean?, ) : Parcelable, PatientSummaryChildModel { companion object { @@ -46,7 +46,7 @@ data class PatientSummaryModel( hasPrescribedDrugsChangedToday = null, scheduledAppointment = null, hasShownDiagnosisWarningDialog = false, - statin = null, + canPrescribeStatin = null, ) } } @@ -82,7 +82,7 @@ data class PatientSummaryModel( get() = scheduledAppointment != null && scheduledAppointment.isPresent() val hasStatinInfoLoaded: Boolean - get() = statin != null + get() = canPrescribeStatin != null override fun readyToRender(): Boolean { return hasLoadedPatientSummaryProfile && hasLoadedCurrentFacility && hasPatientRegistrationData != null @@ -128,7 +128,7 @@ data class PatientSummaryModel( return copy(scheduledAppointment = appointment.toOptional().parcelable()) } - fun updateStatinInfo(statin: StatinModel): PatientSummaryModel { - return copy(statin = statin) + fun updateStatinInfo(canPrescribeStatin: Boolean): PatientSummaryModel { + return copy(canPrescribeStatin = canPrescribeStatin) } } diff --git a/app/src/main/java/org/simple/clinic/summary/PatientSummaryScreen.kt b/app/src/main/java/org/simple/clinic/summary/PatientSummaryScreen.kt index f918607d733..0e96610cf2e 100644 --- a/app/src/main/java/org/simple/clinic/summary/PatientSummaryScreen.kt +++ b/app/src/main/java/org/simple/clinic/summary/PatientSummaryScreen.kt @@ -12,6 +12,13 @@ import android.view.View.GONE import android.view.View.VISIBLE import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.ViewCompositionStrategy +import androidx.compose.ui.unit.dp import androidx.core.text.buildSpannedString import androidx.core.text.inSpans import androidx.dynamicanimation.animation.DynamicAnimation @@ -32,6 +39,7 @@ import io.reactivex.subjects.PublishSubject import kotlinx.parcelize.Parcelize import org.simple.clinic.R import org.simple.clinic.ReportAnalyticsEvents +import org.simple.clinic.common.ui.theme.SimpleTheme import org.simple.clinic.contactpatient.ContactPatientBottomSheet import org.simple.clinic.databinding.ScreenPatientSummaryBinding import org.simple.clinic.di.injector @@ -61,6 +69,7 @@ import org.simple.clinic.remoteconfig.ConfigReader import org.simple.clinic.scheduleappointment.ScheduleAppointmentSheet import org.simple.clinic.scheduleappointment.facilityselection.FacilitySelectionScreen import org.simple.clinic.summary.addphone.AddPhoneNumberDialog +import org.simple.clinic.summary.compose.StatinNudge import org.simple.clinic.summary.linkId.LinkIdWithPatientSheet.LinkIdWithPatientSheetKey import org.simple.clinic.summary.teleconsultation.contactdoctor.ContactDoctorSheet import org.simple.clinic.summary.teleconsultation.messagebuilder.LongTeleconsultMessageBuilder_Old @@ -168,11 +177,8 @@ class PatientSummaryScreen : private val clinicalDecisionSupportAlertView get() = binding.clinicalDecisionSupportBpHighAlert.rootView - private val statinAlertView - get() = binding.statinAlert.rootView - - private val statinAlertDescription - get() = binding.statinAlert.statinAlertSubtitle + private val statinComposeView + get() = binding.statinComposeView @Inject lateinit var router: Router @@ -210,6 +216,8 @@ class PatientSummaryScreen : private val additionalEvents = DeferredEventSource() + private var shouldShowStatinNudge by mutableStateOf(false) + override fun defaultModel(): PatientSummaryModel { return PatientSummaryModel.from(screenKey.intention, screenKey.patientUuid) } @@ -305,6 +313,18 @@ class PatientSummaryScreen : rootLayout.hideKeyboard() subscriptions.add(setupChildViewVisibility()) + + statinComposeView.apply { + setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) + setContent { + SimpleTheme { + StatinNudge( + isVisible = shouldShowStatinNudge, + modifier = Modifier.padding(start = 8.dp, end = 8.dp, top = 8.dp) + ) + } + } + } } private fun handleScreenResult(requestKey: Parcelable, result: Succeeded) { @@ -741,39 +761,12 @@ class PatientSummaryScreen : clinicalDecisionSupportAlertView.visibility = GONE } - override fun showStatinAlert(statin: StatinModel) { - statinAlertDescription.text = buildString { - append("${getString(R.string.statin_alert_patient)} ") - - if (statin.hasDiabetes) { - append(String.format(getString(R.string.statin_alert_has_diabetes), statin.age.toString())) - - if (statin.hasHadHeartAttack.xor(statin.hasHadStroke)) { - append(" ${getString(R.string.statin_alert_and_seperator)} ") - } - } - - when { - statin.hasHadHeartAttack && statin.hasHadStroke -> append(getCVDString(statin.hasDiabetes)) - statin.hasHadHeartAttack -> append(getString(R.string.statin_alert_heart_attack)) - statin.hasHadStroke -> append(getString(R.string.statin_alert_stroke)) - } - - append(".") - } - showWithAnimation(statinAlertView) + override fun showStatinAlert() { + shouldShowStatinNudge = true } override fun hideStatinAlert() { - hideWithAnimation(statinAlertView, R.id.tag_statin_alert_end_listener) - } - - private fun getCVDString(hasDiabetes: Boolean): String { - return if (hasDiabetes) { - getString(R.string.statin_alert_cvd_with_diabetes) - } else { - getString(R.string.statin_alert_cvd) - } + shouldShowStatinNudge = false } private fun showWithAnimation(view: View) { diff --git a/app/src/main/java/org/simple/clinic/summary/PatientSummaryScreenUi.kt b/app/src/main/java/org/simple/clinic/summary/PatientSummaryScreenUi.kt index 9578ee33df7..090c3c55304 100644 --- a/app/src/main/java/org/simple/clinic/summary/PatientSummaryScreenUi.kt +++ b/app/src/main/java/org/simple/clinic/summary/PatientSummaryScreenUi.kt @@ -18,6 +18,6 @@ interface PatientSummaryScreenUi { fun showClinicalDecisionSupportAlert() fun hideClinicalDecisionSupportAlert() fun hideClinicalDecisionSupportAlertWithoutAnimation() - fun showStatinAlert(statin: StatinModel) + fun showStatinAlert() fun hideStatinAlert() } diff --git a/app/src/main/java/org/simple/clinic/summary/PatientSummaryUpdate.kt b/app/src/main/java/org/simple/clinic/summary/PatientSummaryUpdate.kt index 8ec3b5f5954..c78d1c36cd9 100644 --- a/app/src/main/java/org/simple/clinic/summary/PatientSummaryUpdate.kt +++ b/app/src/main/java/org/simple/clinic/summary/PatientSummaryUpdate.kt @@ -116,15 +116,7 @@ class PatientSummaryUpdate( hasStatinsPrescribedAlready.not() && isPatientEligibleForStatin - val updatedModel = model.updateStatinInfo( - StatinModel( - canPrescribeStatin = canPrescribeStatin, - age = event.age, - hasDiabetes = hasDiabetes, - hasHadStroke = hasHadStroke, - hasHadHeartAttack = hasHadHeartAttack, - ) - ) + val updatedModel = model.updateStatinInfo(canPrescribeStatin) return next(updatedModel) } diff --git a/app/src/main/java/org/simple/clinic/summary/PatientSummaryViewRenderer.kt b/app/src/main/java/org/simple/clinic/summary/PatientSummaryViewRenderer.kt index 16f9fa763a7..2360d622d22 100644 --- a/app/src/main/java/org/simple/clinic/summary/PatientSummaryViewRenderer.kt +++ b/app/src/main/java/org/simple/clinic/summary/PatientSummaryViewRenderer.kt @@ -48,7 +48,7 @@ class PatientSummaryViewRenderer( } private fun renderClinicalDecisionBasedOnAppointment(model: PatientSummaryModel) { - if (model.statin?.canPrescribeStatin == true) + if (model.canPrescribeStatin == true) return if (model.hasScheduledAppointment) { @@ -154,8 +154,8 @@ class PatientSummaryViewRenderer( private fun renderStatinAlert(model: PatientSummaryModel) { if (model.hasStatinInfoLoaded.not()) return - if (model.statin!!.canPrescribeStatin) { - ui.showStatinAlert(model.statin) + if (model.canPrescribeStatin == true) { + ui.showStatinAlert() ui.hideClinicalDecisionSupportAlertWithoutAnimation() } else { ui.hideStatinAlert() diff --git a/app/src/main/java/org/simple/clinic/summary/compose/StatinNudgeView.kt b/app/src/main/java/org/simple/clinic/summary/compose/StatinNudgeView.kt new file mode 100644 index 00000000000..5b0427645fa --- /dev/null +++ b/app/src/main/java/org/simple/clinic/summary/compose/StatinNudgeView.kt @@ -0,0 +1,146 @@ +package org.simple.clinic.summary.compose + +import androidx.compose.animation.AnimatedVisibility +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.Card +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.draw.drawWithContent +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.buildAnnotatedString +import androidx.compose.ui.text.withStyle +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import org.simple.clinic.R +import org.simple.clinic.common.ui.theme.SimpleTheme + +@Composable +fun StatinNudge( + isVisible: Boolean, + modifier: Modifier = Modifier +) { + AnimatedVisibility( + visible = isVisible, + ) { + Card( + modifier = modifier + ) { + Column( + modifier = Modifier + .padding(16.dp), + horizontalAlignment = Alignment.CenterHorizontally + ) { + Row { + Box( + modifier = Modifier + .weight(2f) + ) + Column( + modifier = Modifier + .weight(3f), + horizontalAlignment = Alignment.CenterHorizontally + ) { + Text( + modifier = Modifier + .background(SimpleTheme.colors.material.error, shape = RoundedCornerShape(50)) + .padding(horizontal = 8.dp, vertical = 4.dp), + style = SimpleTheme.typography.material.button, + color = SimpleTheme.colors.onToolbarPrimary, + text = stringResource(R.string.statin_alert_at_risk_patient) + ) + } + } + Spacer(modifier = Modifier.height(4.dp)) + RiskProgressBar() + Spacer(modifier = Modifier.height(16.dp)) + Text( + text = buildAnnotatedString { + append(stringResource(R.string.statin_alert_refer_to_doctor_for)) + append(" ") + withStyle(style = SimpleTheme.typography.body2Bold.toSpanStyle()) { + append(stringResource(R.string.statin_alert_statin_medicine)) + } + }, + color = SimpleTheme.colors.material.error, + style = SimpleTheme.typography.material.body2, + ) + } + } + } +} + +@Composable +fun RiskProgressBar() { + val riskColors = listOf( + Color(0xFF00B849), // Very Low + Color(0xFFFFC800), // Low + SimpleTheme.colors.material.error, // Medium + Color(0xFFB81631), // High + Color(0xFF731814) // Very High + ) + + val indicatorColor = Color(0xFF2F363D) + + Box( + modifier = Modifier + .fillMaxWidth() + .height(14.dp) + .drawWithContent { + drawContent() + + val widthPerSegment = size.width / riskColors.size + + drawLine( + color = indicatorColor, + start = Offset(2 * widthPerSegment, 0f), + end = Offset(2 * widthPerSegment, size.height), + strokeWidth = 2.dp.toPx() + ) + drawLine( + color = indicatorColor, + start = Offset(size.width, 0f), + end = Offset(size.width, size.height), + strokeWidth = 2.dp.toPx() + ) + }, + contentAlignment = Alignment.Center, + ) { + Row( + modifier = Modifier + .fillMaxWidth() + .height(4.dp) + .clip(RoundedCornerShape(50)) + ) { + riskColors.forEach { color -> + Box( + modifier = Modifier + .weight(1f) + .fillMaxHeight() + .background(color), + ) + } + } + } +} + +@Preview +@Composable +fun StatinNudgePreview() { + SimpleTheme { + StatinNudge(true) + } +} diff --git a/app/src/main/res/drawable/background_statin_alert.xml b/app/src/main/res/drawable/background_statin_alert.xml deleted file mode 100644 index 18933454133..00000000000 --- a/app/src/main/res/drawable/background_statin_alert.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_statin_alert.xml b/app/src/main/res/drawable/ic_statin_alert.xml deleted file mode 100644 index 0efb0bbb515..00000000000 --- a/app/src/main/res/drawable/ic_statin_alert.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - diff --git a/app/src/main/res/layout/screen_patient_summary.xml b/app/src/main/res/layout/screen_patient_summary.xml index 1dce37059ac..bdc5ced61d0 100644 --- a/app/src/main/res/layout/screen_patient_summary.xml +++ b/app/src/main/res/layout/screen_patient_summary.xml @@ -158,9 +158,10 @@ android:id="@+id/clinicalDecisionSupportBpHighAlert" layout="@layout/view_clinical_decision_support_bp_high" /> - + - - - - - - - - - diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml index 9aaf99efbf2..0112f663191 100644 --- a/app/src/main/res/values-bn-rBD/strings.xml +++ b/app/src/main/res/values-bn-rBD/strings.xml @@ -916,14 +916,4 @@ এখন নয় - - উচ্চ ঝুঁকিতে, স্ট্যাটিন ওষুধ যোগ করুন - রোগী - ডায়াবেটিসে আক্রান্ত, বয়স %s - এবং - , হার্ট অ্যাটাক এবং স্ট্রোকের ইতিহাস রয়েছে। - হার্ট অ্যাটাক এবং স্ট্রোকের ইতিহাস রয়েছে। - হার্ট অ্যাটাকের ইতিহাস আছে। - স্ট্রোকের ইতিহাস আছে - diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml index f0daab7c308..be616e92986 100644 --- a/app/src/main/res/values/ids.xml +++ b/app/src/main/res/values/ids.xml @@ -15,5 +15,4 @@ - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index be3d4919242..c57e80f5560 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1084,13 +1084,8 @@ The Simple app contains private health information of patients (“Data”).\n\n Not now - High risk. Add statin medicine - Patient - is %s with diabetes - and - , has history of heart attack and stroke - has history of heart attack and stroke - has history of heart attack - has history of stroke + AT RISK PATIENT + Refer to doctor for + statin medicine diff --git a/app/src/test/java/org/simple/clinic/summary/PatientSummaryUpdateTest.kt b/app/src/test/java/org/simple/clinic/summary/PatientSummaryUpdateTest.kt index 6e293d40dc3..4982100e37f 100644 --- a/app/src/test/java/org/simple/clinic/summary/PatientSummaryUpdateTest.kt +++ b/app/src/test/java/org/simple/clinic/summary/PatientSummaryUpdateTest.kt @@ -2129,15 +2129,7 @@ class PatientSummaryUpdateTest { ), )) .then(assertThatNext( - hasModel(defaultModel.updateStatinInfo( - StatinModel( - canPrescribeStatin = true, - age = 50, - hasDiabetes = true, - hasHadStroke = false, - hasHadHeartAttack = false, - ) - )), + hasModel(defaultModel.updateStatinInfo(true)), hasNoEffects() )) } diff --git a/app/src/test/java/org/simple/clinic/summary/PatientSummaryViewRendererTest.kt b/app/src/test/java/org/simple/clinic/summary/PatientSummaryViewRendererTest.kt index f135712a438..c71e3bb0206 100644 --- a/app/src/test/java/org/simple/clinic/summary/PatientSummaryViewRendererTest.kt +++ b/app/src/test/java/org/simple/clinic/summary/PatientSummaryViewRendererTest.kt @@ -795,17 +795,9 @@ class PatientSummaryViewRendererTest { @Test fun `when statin info is loaded and can prescribe statin then show the statin alert`() { //given - val statinModel = StatinModel( - canPrescribeStatin = true, - age = 40, - hasDiabetes = true, - hasHadStroke = false, - hasHadHeartAttack = false, - ) - val model = defaultModel .currentFacilityLoaded(facilityWithDiabetesManagementDisabled) - .updateStatinInfo(statinModel) + .updateStatinInfo(true) // when uiRenderer.render(model) @@ -815,24 +807,16 @@ class PatientSummaryViewRendererTest { verify(ui).hideTeleconsultButton() verify(ui).hideNextAppointmentCard() verify(ui, times(2)).hideClinicalDecisionSupportAlertWithoutAnimation() - verify(ui).showStatinAlert(statinModel) + verify(ui).showStatinAlert() verifyNoMoreInteractions(ui) } @Test fun `when statin info is loaded and can not prescribe statin then hide the statin alert`() { //given - val statinModel = StatinModel( - canPrescribeStatin = false, - age = 40, - hasDiabetes = false, - hasHadStroke = false, - hasHadHeartAttack = false, - ) - val model = defaultModel .currentFacilityLoaded(facilityWithDiabetesManagementDisabled) - .updateStatinInfo(statinModel) + .updateStatinInfo(false) // when uiRenderer.render(model) @@ -877,21 +861,13 @@ class PatientSummaryViewRendererTest { scheduledDate = LocalDate.parse("2018-01-01") ) - val statinModel = StatinModel( - canPrescribeStatin = true, - age = 40, - hasDiabetes = true, - hasHadStroke = false, - hasHadHeartAttack = false, - ) - val updatedModel = defaultModel .patientRegistrationDataLoaded(hasPatientRegistrationData = true) .currentFacilityLoaded(facility = facility) .patientSummaryProfileLoaded(patientSummaryProfile = patientSummaryProfile) .clinicalDecisionSupportInfoLoaded(isNewestBpEntryHigh = true, hasPrescribedDrugsChangedToday = false) .scheduledAppointmentLoaded(appointment) - .updateStatinInfo(statinModel) + .updateStatinInfo(true) val uiRenderer = PatientSummaryViewRenderer( @@ -912,7 +888,7 @@ class PatientSummaryViewRendererTest { verify(ui).showPatientDiedStatus() verify(ui).hideDiabetesView() verify(ui).hideTeleconsultButton() - verify(ui).showStatinAlert(statinModel) + verify(ui).showStatinAlert() verify(ui).hideClinicalDecisionSupportAlertWithoutAnimation() verify(ui).hideNextAppointmentCard() verifyNoMoreInteractions(ui) diff --git a/common-ui/src/main/java/org/simple/clinic/common/ui/theme/SimpleColors.kt b/common-ui/src/main/java/org/simple/clinic/common/ui/theme/SimpleColors.kt index 7ca8ed5b812..f30ebad6aec 100644 --- a/common-ui/src/main/java/org/simple/clinic/common/ui/theme/SimpleColors.kt +++ b/common-ui/src/main/java/org/simple/clinic/common/ui/theme/SimpleColors.kt @@ -11,7 +11,7 @@ data class SimpleColors( val toolbarPrimary: Color = Color.Unspecified, val toolbarPrimaryVariant: Color = Color.Unspecified, val onToolbarPrimary: Color = Color.Unspecified, - val material: Colors = lightColors() + val material: Colors = lightColors(), ) internal val LocalSimpleColors = staticCompositionLocalOf { SimpleColors() } diff --git a/common-ui/src/main/java/org/simple/clinic/common/ui/theme/SimpleTheme.kt b/common-ui/src/main/java/org/simple/clinic/common/ui/theme/SimpleTheme.kt index 7006d3ccb59..c11fc685689 100644 --- a/common-ui/src/main/java/org/simple/clinic/common/ui/theme/SimpleTheme.kt +++ b/common-ui/src/main/java/org/simple/clinic/common/ui/theme/SimpleTheme.kt @@ -288,7 +288,7 @@ private fun parseSimpleTypography( ) .copy(platformStyle = platformTextStyle, lineHeightStyle = lineHeightStyle), buttonBig = - parseTextAppearance( + parseTextAppearance( context, ta.getResourceIdOrThrow(R.styleable.SimpleThemeAttrs_textAppearanceButtonBig), density, diff --git a/common-ui/src/main/res/values/colors.xml b/common-ui/src/main/res/values/colors.xml index 70012a48313..4fd19eb0718 100644 --- a/common-ui/src/main/res/values/colors.xml +++ b/common-ui/src/main/res/values/colors.xml @@ -23,13 +23,9 @@ #80FFD6DD #B48E00 - #E0B000 #FFC800 #FFF8E0 - #874D00 - #CC874D00 - #FFFFFF #B8FFFFFF