diff --git a/core/common/src/main/java/com/android/mediproject/core/common/bindingadapter/BindingAdapter.kt b/core/common/src/main/java/com/android/mediproject/core/common/bindingadapter/BindingAdapter.kt index dac34297f..75744e320 100644 --- a/core/common/src/main/java/com/android/mediproject/core/common/bindingadapter/BindingAdapter.kt +++ b/core/common/src/main/java/com/android/mediproject/core/common/bindingadapter/BindingAdapter.kt @@ -11,7 +11,7 @@ import androidx.core.view.isVisible import androidx.core.widget.TextViewCompat import androidx.databinding.BindingAdapter import com.android.mediproject.core.common.R -import com.android.mediproject.core.model.medicine.common.producttype.MedicationProductType +import com.android.mediproject.core.model.medicine.common.producttype.FilterMedicationProductType import com.bumptech.glide.annotation.GlideModule import com.bumptech.glide.module.AppGlideModule @@ -21,7 +21,7 @@ class GlideAppModule : AppGlideModule() object BindingAdapter { @JvmStatic @BindingAdapter("medicationTypeText") - fun setMedicationTypeText(textView: TextView, type: MedicationProductType) { + fun setMedicationTypeText(textView: TextView, type: FilterMedicationProductType) { val arr = textView.context.resources.getStringArray(R.array.medicationTypes) textView.text = arr[type.ordinal] } diff --git a/core/model/src/main/java/com/android/mediproject/core/model/medicine/common/producttype/FilterMedicationProductType.kt b/core/model/src/main/java/com/android/mediproject/core/model/medicine/common/producttype/FilterMedicationProductType.kt index e6353e5ec..31ece454d 100644 --- a/core/model/src/main/java/com/android/mediproject/core/model/medicine/common/producttype/FilterMedicationProductType.kt +++ b/core/model/src/main/java/com/android/mediproject/core/model/medicine/common/producttype/FilterMedicationProductType.kt @@ -20,8 +20,9 @@ enum class FilterMedicationProductType(val text: String, @StringRes val stringRe ); companion object { - fun FilterMedicationProductType.text() = text fun FilterMedicationProductType.stringResId() = stringResId + + fun enumOf(text: String) = values().find { text.contains(it.text) }!! } } diff --git a/core/model/src/main/java/com/android/mediproject/core/model/medicine/common/producttype/MedicationProductType.kt b/core/model/src/main/java/com/android/mediproject/core/model/medicine/common/producttype/MedicationProductType.kt index 8aa0dac4e..9ddb2849f 100644 --- a/core/model/src/main/java/com/android/mediproject/core/model/medicine/common/producttype/MedicationProductType.kt +++ b/core/model/src/main/java/com/android/mediproject/core/model/medicine/common/producttype/MedicationProductType.kt @@ -16,6 +16,6 @@ enum class MedicationProductType(val description: String, @StringRes val stringR GENERAL("일반", R.string.medicineProductType_general); companion object { - fun valueOf(description: String) = values().find { description.contains(it.name) } ?: throw IllegalArgumentException() + fun enumOf(description: String) = values().find { description.contains(it.name) } ?: throw IllegalArgumentException() } } diff --git a/core/model/src/main/java/com/android/mediproject/core/model/medicine/medicinedetailinfo/MedicineDetail.kt b/core/model/src/main/java/com/android/mediproject/core/model/medicine/medicinedetailinfo/MedicineDetail.kt index 4de7d16d4..77fb04fc5 100644 --- a/core/model/src/main/java/com/android/mediproject/core/model/medicine/medicinedetailinfo/MedicineDetail.kt +++ b/core/model/src/main/java/com/android/mediproject/core/model/medicine/medicinedetailinfo/MedicineDetail.kt @@ -3,7 +3,7 @@ package com.android.mediproject.core.model.medicine.medicinedetailinfo import com.android.mediproject.core.model.DateTimeValue import com.android.mediproject.core.model.medicine.common.cancel.MedicineCancelStatus import com.android.mediproject.core.model.medicine.common.cancel.MedicineCancelStatusMapper -import com.android.mediproject.core.model.medicine.common.producttype.MedicationProductType +import com.android.mediproject.core.model.medicine.common.producttype.FilterMedicationProductType import com.android.mediproject.core.model.toLocalDate import com.android.mediproject.core.model.util.XMLParsedResult import com.android.mediproject.core.model.util.parseXmlString @@ -66,7 +66,7 @@ data class MedicineDetail( val entpEnglishName: String, val entpName: String, val entpNumber: String, - val medicationProductType: MedicationProductType, + val medicationProductType: FilterMedicationProductType, val gbnName: String, val industryType: String, val ingredientName: String, @@ -107,7 +107,7 @@ fun MedicineDetailInfoResponse.Item.toMedicineDetail(medicineIdInServer: Long = entpEnglishName = entpEnglishName, entpName = entpName, entpNumber = entpNumber, - medicationProductType = MedicationProductType.valueOf(etcOtcCode), + medicationProductType = FilterMedicationProductType.enumOf(etcOtcCode), gbnName = gbnName, industryType = industryType, ingredientName = ingredientName, diff --git a/feature/news/src/main/java/com/android/mediproject/feature/news/recallsuspension/RecallSuspensionScreen.kt b/feature/news/src/main/java/com/android/mediproject/feature/news/recallsuspension/RecallSuspensionScreen.kt index 9efe41aaa..bba899fc6 100644 --- a/feature/news/src/main/java/com/android/mediproject/feature/news/recallsuspension/RecallSuspensionScreen.kt +++ b/feature/news/src/main/java/com/android/mediproject/feature/news/recallsuspension/RecallSuspensionScreen.kt @@ -113,9 +113,9 @@ fun ListItem(recallSuspension: RecallSuspension) { ) Text( text = recallSuspension.run { - if (recallCommandDate != null) recallCommandDate + if (recallCommandDate.isEmpty) recallCommandDate else destructionOrderDate - }!!.format(dateFormat), + }.value.format(dateFormat), fontSize = 12.sp, modifier = Modifier.align(CenterVertically), color = Color.Gray, diff --git a/feature/search/src/main/java/com/android/mediproject/feature/search/result/ai/AiSearchResultViewModel.kt b/feature/search/src/main/java/com/android/mediproject/feature/search/result/ai/AiSearchResultViewModel.kt index 87e8423e1..ab27af2e8 100644 --- a/feature/search/src/main/java/com/android/mediproject/feature/search/result/ai/AiSearchResultViewModel.kt +++ b/feature/search/src/main/java/com/android/mediproject/feature/search/result/ai/AiSearchResultViewModel.kt @@ -9,8 +9,8 @@ import com.android.mediproject.core.common.viewmodel.UiState import com.android.mediproject.core.common.viewmodel.asEventFlow import com.android.mediproject.core.domain.GetMedicineDetailsUseCase import com.android.mediproject.core.model.ai.ClassificationResult -import com.android.mediproject.core.model.navargs.MedicineInfoArgs import com.android.mediproject.core.model.medicine.medicinedetailinfo.MedicineDetail +import com.android.mediproject.core.model.navargs.MedicineInfoArgs import com.android.mediproject.core.ui.base.BaseViewModel import com.android.mediproject.feature.search.result.EventState import dagger.hilt.android.lifecycle.HiltViewModel @@ -80,7 +80,7 @@ class AiSearchResultViewModel @Inject constructor( itemEngName = e.itemEnglishName, itemSeq = e.itemSequence.toLong(), productType = e.industryType, - medicineType = e.medicationProductType, + medicineType = e.medicationProductType.text, imgUrl = e.insertFileUrl, ), ), diff --git a/feature/search/src/main/res/layout/ai_medicine_item.xml b/feature/search/src/main/res/layout/ai_medicine_item.xml index 365ecc666..3434c725f 100644 --- a/feature/search/src/main/res/layout/ai_medicine_item.xml +++ b/feature/search/src/main/res/layout/ai_medicine_item.xml @@ -113,7 +113,7 @@ android:layout_height="wrap_content" android:background="@drawable/medicine_type_background" android:maxLines="1" - android:text="@{item.medicineDetail.medicationProductType}" + android:text="@{item.medicineDetail.medicationProductType.stringResId}" android:textColor="@color/medicineType" android:textSize="11sp" app:layout_constraintLeft_toRightOf="@id/medicineNameTextView"