diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/menu/MenuConfigActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/menu/MenuConfigActivity.kt index d3e7c47a..357ccf4d 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/menu/MenuConfigActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/menu/MenuConfigActivity.kt @@ -40,7 +40,7 @@ class MenuConfigActivity : BaseActivity( } override fun setupView() { - binding.toolbar.tvBack.text = "메뉴 설정" + binding.toolbar.tvBack.setText(R.string.screen_menu_config_title) binding.toolbar.tvBack.setOnClickListener { finish() } loadingDialog = LoadingDialog(this, layoutInflater) @@ -71,7 +71,9 @@ class MenuConfigActivity : BaseActivity( } private fun bindData() { - viewModel.toastLiveData.observe(this) { it?.let { showToast(it) } } + viewModel.toastLiveData.observe(this) { uiText -> + uiText?.let { showToast(it.asString(this)) } + } viewModel.isLoading.observe(this) { if (it) { loadingDialog.show(screenWidth) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/menu/MenuConfigViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/menu/MenuConfigViewModel.kt index 66973c29..12aba6fb 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/menu/MenuConfigViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/menu/MenuConfigViewModel.kt @@ -6,8 +6,12 @@ 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.UiText +import kr.co.vividnext.sodalive.common.UiText.DynamicString +import kr.co.vividnext.sodalive.common.UiText.StringResource import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.live.room.create.LiveRoomCreateViewModel +import kr.co.vividnext.sodalive.R class MenuConfigViewModel(private val repository: MenuConfigRepository) : BaseViewModel() { @@ -15,8 +19,8 @@ class MenuConfigViewModel(private val repository: MenuConfigRepository) : BaseVi val isLoading: LiveData get() = _isLoading - private val _toastLiveData = MutableLiveData() - val toastLiveData: LiveData + private val _toastLiveData = MutableLiveData() + val toastLiveData: LiveData get() = _toastLiveData private val _selectedMenuLiveData = MutableLiveData() @@ -51,10 +55,10 @@ class MenuConfigViewModel(private val repository: MenuConfigRepository) : BaseVi selectMenuPreset(selectedMenu) } else { if (it.message != null) { - _toastLiveData.postValue(it.message) + _toastLiveData.postValue(DynamicString(it.message)) } else { _toastLiveData.postValue( - "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." + StringResource(R.string.common_error_unknown) ) } } @@ -63,7 +67,9 @@ class MenuConfigViewModel(private val repository: MenuConfigRepository) : BaseVi { _isLoading.value = false it.message?.let { message -> Logger.e(message) } - _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + _toastLiveData.postValue( + StringResource(R.string.common_error_unknown) + ) } ) ) @@ -77,12 +83,14 @@ class MenuConfigViewModel(private val repository: MenuConfigRepository) : BaseVi selectedMenuPreset == LiveRoomCreateViewModel.SelectedMenu.MENU_3 ) ) { - _toastLiveData.value = "메뉴 1을 먼저 설정하세요" + _toastLiveData.value = + StringResource(R.string.screen_live_room_menu_first_required) return } if (menuList.size == 1 && selectedMenuPreset == LiveRoomCreateViewModel.SelectedMenu.MENU_3) { - _toastLiveData.value = "메뉴 1과 메뉴 2를 먼저 설정하세요" + _toastLiveData.value = + StringResource(R.string.screen_live_room_menu_first_second_required) return } @@ -105,7 +113,7 @@ class MenuConfigViewModel(private val repository: MenuConfigRepository) : BaseVi fun saveMenu() { if (menuText == _selectedMenuTextLiveData.value) { - _toastLiveData.postValue("저장되었습니다.") + _toastLiveData.postValue(StringResource(R.string.msg_menu_config_saved)) return } @@ -121,14 +129,16 @@ class MenuConfigViewModel(private val repository: MenuConfigRepository) : BaseVi .subscribe( { if (it.success) { - _toastLiveData.postValue("저장되었습니다.") + _toastLiveData.postValue( + StringResource(R.string.msg_menu_config_saved) + ) getAllMenuPreset(selectedMenu = _selectedMenuLiveData.value!!) } else { if (it.message != null) { - _toastLiveData.postValue(it.message) + _toastLiveData.postValue(DynamicString(it.message)) } else { _toastLiveData.postValue( - "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." + StringResource(R.string.common_error_unknown) ) } } @@ -137,7 +147,9 @@ class MenuConfigViewModel(private val repository: MenuConfigRepository) : BaseVi { _isLoading.value = false it.message?.let { message -> Logger.e(message) } - _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + _toastLiveData.postValue( + StringResource(R.string.common_error_unknown) + ) } ) ) diff --git a/app/src/main/res/layout/activity_menu_config.xml b/app/src/main/res/layout/activity_menu_config.xml index d95c521e..515b1811 100644 --- a/app/src/main/res/layout/activity_menu_config.xml +++ b/app/src/main/res/layout/activity_menu_config.xml @@ -49,7 +49,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="메뉴 1" + android:text="@string/screen_live_room_menu_preset_1" android:textColor="@color/color_3bb9f1" android:textSize="14.7sp" /> @@ -78,7 +78,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="메뉴 2" + android:text="@string/screen_live_room_menu_preset_2" android:textColor="@color/color_555555" android:textSize="14.7sp" /> @@ -107,7 +107,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_bold" - android:text="메뉴 3" + android:text="@string/screen_live_room_menu_preset_3" android:textColor="@color/color_555555" android:textSize="14.7sp" /> @@ -121,7 +121,7 @@ android:background="@drawable/bg_round_corner_6_7_222222" android:fontFamily="@font/gmarket_sans_medium" android:gravity="top" - android:hint="메뉴판을 작성해주세요." + android:hint="@string/screen_live_room_menu_hint" android:importantForAutofill="no" android:inputType="textMultiLine" android:overScrollMode="always" @@ -143,7 +143,7 @@ android:fontFamily="@font/gmarket_sans_bold" android:gravity="center" android:paddingVertical="16dp" - android:text="메뉴 저장" + android:text="@string/screen_menu_config_save" android:textColor="@color/white" android:textSize="18.3sp" /> diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index 45c113c8..62023a09 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -483,6 +483,10 @@ Set menu 1 first. Set menu 1 and menu 2 first. Please enter a cancellation reason. + + Menu settings + Save menu + Saved. Invalid request. No changes to update. diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 85821f4e..051540cb 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -483,6 +483,10 @@ メニュー1を先に設定してください メニュー1とメニュー2を先に設定してください キャンセル理由を入力してください。 + + メニュー設定 + メニュー保存 + 保存しました。 不正なリクエストです。 変更内容がありません。 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index aa778765..d3ca78ce 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -482,6 +482,10 @@ 메뉴 1을 먼저 설정하세요 메뉴 1과 메뉴 2를 먼저 설정하세요 취소사유를 입력하세요. + + 메뉴 설정 + 메뉴 저장 + 저장되었습니다. 잘못된 요청입니다. 변경사항이 없습니다.