diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/FaqCategoryAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/FaqCategoryAdapter.kt index a764827e..59d9457b 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/FaqCategoryAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/FaqCategoryAdapter.kt @@ -42,7 +42,11 @@ class FaqCategoryAdapter( } val item = items[position] - viewHolder.tvCategory.text = item + viewHolder.tvCategory.text = if (item.isBlank()) { + context.getString(R.string.screen_service_center_faq_category_all) + } else { + item + } viewHolder.tvCategory.setBackgroundResource( if (item == selectedCategory) { R.drawable.bg_round_corner_4_7_3bb9f1 diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/ServiceCenterActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/ServiceCenterActivity.kt index 81af0a6a..b55dfa4c 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/ServiceCenterActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/ServiceCenterActivity.kt @@ -10,6 +10,7 @@ import android.widget.LinearLayout import android.widget.Toast import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.base.BaseActivity import kr.co.vividnext.sodalive.databinding.ActivityServiceCenterBinding import kr.co.vividnext.sodalive.extensions.dpToPx @@ -30,7 +31,7 @@ class ServiceCenterActivity : BaseActivity( @SuppressLint("NotifyDataSetChanged") override fun setupView() { - binding.toolbar.tvBack.text = "고객센터" + binding.toolbar.tvBack.text = getString(R.string.screen_service_center_title) binding.toolbar.tvBack.setOnClickListener { finish() } val categoryAdapter = FaqCategoryAdapter(this) @@ -86,7 +87,10 @@ class ServiceCenterActivity : BaseActivity( recyclerView.adapter = faqAdapter viewModel.toastLiveData.observe(this) { - it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() } + val message = it?.resId?.let(::getString) ?: it?.message + message?.let { text -> + Toast.makeText(applicationContext, text, Toast.LENGTH_LONG).show() + } } viewModel.categoriesLiveData.observe(this) { diff --git a/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/ServiceCenterViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/ServiceCenterViewModel.kt index df5e4a66..2179f056 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/ServiceCenterViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/mypage/service_center/ServiceCenterViewModel.kt @@ -6,6 +6,8 @@ import com.orhanobut.logger.Logger import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers import kr.co.vividnext.sodalive.base.BaseViewModel +import kr.co.vividnext.sodalive.common.ToastMessage +import kr.co.vividnext.sodalive.R class ServiceCenterViewModel(val repository: FaqRepository) : BaseViewModel() { @@ -17,8 +19,8 @@ class ServiceCenterViewModel(val repository: FaqRepository) : BaseViewModel() { val faqLiveData: LiveData> get() = _faqLiveData - private val _toastLiveData = MutableLiveData() - val toastLiveData: LiveData + private val _toastLiveData = MutableLiveData() + val toastLiveData: LiveData get() = _toastLiveData fun getFaqCategories() { @@ -31,18 +33,16 @@ class ServiceCenterViewModel(val repository: FaqRepository) : BaseViewModel() { if (it.success && it.data != null) { _categoriesLiveData.postValue(it.data!!) } else { - if (it.message != null) { - _toastLiveData.postValue(it.message) - } else { - _toastLiveData.postValue( - "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." - ) - } + _toastLiveData.postValue( + it.message?.let { message -> + ToastMessage(message = message) + } ?: ToastMessage(resId = R.string.common_error_unknown) + ) } }, { it.message?.let { message -> Logger.e(message) } - _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + _toastLiveData.postValue(ToastMessage(resId = R.string.common_error_unknown)) } ) ) @@ -58,18 +58,16 @@ class ServiceCenterViewModel(val repository: FaqRepository) : BaseViewModel() { if (it.success && it.data != null) { _faqLiveData.postValue(it.data!!) } else { - if (it.message != null) { - _toastLiveData.postValue(it.message) - } else { - _toastLiveData.postValue( - "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." - ) - } + _toastLiveData.postValue( + it.message?.let { message -> + ToastMessage(message = message) + } ?: ToastMessage(resId = R.string.common_error_unknown) + ) } }, { it.message?.let { message -> Logger.e(message) } - _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + _toastLiveData.postValue(ToastMessage(resId = R.string.common_error_unknown)) } ) ) diff --git a/app/src/main/res/layout/activity_service_center.xml b/app/src/main/res/layout/activity_service_center.xml index 6c077b4d..4869a193 100644 --- a/app/src/main/res/layout/activity_service_center.xml +++ b/app/src/main/res/layout/activity_service_center.xml @@ -31,7 +31,7 @@ android:layout_height="wrap_content" android:layout_marginTop="16dp" android:fontFamily="@font/gmarket_sans_bold" - android:text="보이스온 고객센터" + android:text="@string/screen_service_center_logo_label" android:textColor="@color/color_eeeeee" android:textSize="20sp" /> @@ -68,7 +68,7 @@ android:layout_height="wrap_content" android:layout_marginHorizontal="13.3dp" android:fontFamily="@font/gmarket_sans_bold" - android:text="자주 묻는 질문" + android:text="@string/screen_service_center_faq_title" android:textColor="@color/color_eeeeee" android:textSize="18.3sp" /> diff --git a/app/src/main/res/layout/item_faq_category.xml b/app/src/main/res/layout/item_faq_category.xml index 451f7f9e..ac7cf360 100644 --- a/app/src/main/res/layout/item_faq_category.xml +++ b/app/src/main/res/layout/item_faq_category.xml @@ -13,6 +13,6 @@ android:lineSpacingExtra="6.7sp" android:textColor="@color/white" android:textSize="13.3sp" - tools:text="전체" /> + tools:text="@string/screen_service_center_faq_category_all" /> diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index daf9bd24..8ef470ac 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -357,6 +357,12 @@ Select interests Apply selection + + Customer service + VoiceOn Customer Service + FAQ + All + TALK inquiry Blocked users Total diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 79e5aaf2..ca0fdbbd 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -357,6 +357,12 @@ 関心事を選択 選択する + + カスタマーセンター + VoiceOn カスタマーセンター + よくある質問 + すべて + TALKお問い合わせ ブロックリスト diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 564f790f..0c97d2d5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -356,6 +356,12 @@ 관심사 선택 선택하기 + + 고객센터 + 보이스온 고객센터 + 자주 묻는 질문 + 전체 + TALK 문의 차단 리스트