공용 토스트 메시지로 unknown 오류를 통합

Toast 메시지를 공용 데이터 클래스로 정의합니다.

화면별 unknown 에러 문자열을 common_error_unknown으로 통일합니다.
This commit is contained in:
2025-12-01 13:40:31 +09:00
parent 492077ddb2
commit 4d1e859bbf
7 changed files with 54 additions and 67 deletions

View File

@@ -0,0 +1,8 @@
package kr.co.vividnext.sodalive.common
import androidx.annotation.StringRes
data class ToastMessage(
@StringRes val resId: Int? = null,
val message: String? = null
)

View File

@@ -1,6 +1,5 @@
package kr.co.vividnext.sodalive.home
import androidx.annotation.StringRes
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.orhanobut.logger.Logger
@@ -12,6 +11,7 @@ import kr.co.vividnext.sodalive.audio_content.series.GetSeriesListResponse
import kr.co.vividnext.sodalive.base.BaseViewModel
import kr.co.vividnext.sodalive.chat.character.Character
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
import kr.co.vividnext.sodalive.common.ToastMessage
import kr.co.vividnext.sodalive.explorer.GetExplorerSectionCreatorResponse
import kr.co.vividnext.sodalive.live.GetRoomListResponse
import kr.co.vividnext.sodalive.user.UserRepository
@@ -26,8 +26,8 @@ class HomeViewModel(
val isLoading: LiveData<Boolean>
get() = _isLoading
private val _toastLiveData = MutableLiveData<HomeToastMessage?>()
val toastLiveData: LiveData<HomeToastMessage?>
private val _toastLiveData = MutableLiveData<ToastMessage?>()
val toastLiveData: LiveData<ToastMessage?>
get() = _toastLiveData
private var _liveListLiveData = MutableLiveData<List<GetRoomListResponse>>()
@@ -117,9 +117,9 @@ class HomeViewModel(
} else {
_toastLiveData.postValue(
if (it.message != null) {
HomeToastMessage(message = it.message)
ToastMessage(message = it.message)
} else {
HomeToastMessage(resId = R.string.screen_home_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
}
)
}
@@ -128,7 +128,7 @@ class HomeViewModel(
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue(
HomeToastMessage(resId = R.string.screen_home_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
)
}
)
@@ -147,10 +147,10 @@ class HomeViewModel(
_contentRankingLiveData.value = data
} else {
if (it.message != null) {
_toastLiveData.postValue(HomeToastMessage(message = it.message))
_toastLiveData.postValue(ToastMessage(message = it.message))
} else {
_toastLiveData.postValue(
HomeToastMessage(resId = R.string.screen_home_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
)
}
}
@@ -158,7 +158,7 @@ class HomeViewModel(
{
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue(
HomeToastMessage(resId = R.string.screen_home_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
)
}
)
@@ -182,7 +182,7 @@ class HomeViewModel(
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue(
HomeToastMessage(resId = R.string.screen_home_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
)
}
)
@@ -210,7 +210,7 @@ class HomeViewModel(
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue(
HomeToastMessage(resId = R.string.screen_home_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
)
}
)
@@ -238,7 +238,7 @@ class HomeViewModel(
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue(
HomeToastMessage(resId = R.string.screen_home_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
)
}
)
@@ -261,10 +261,10 @@ class HomeViewModel(
_isLoading.value = false
if (!it.success || it.data == null) {
if (it.message != null) {
_toastLiveData.postValue(HomeToastMessage(message = it.message))
_toastLiveData.postValue(ToastMessage(message = it.message))
} else {
_toastLiveData.postValue(
HomeToastMessage(resId = R.string.screen_home_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
)
}
}
@@ -273,15 +273,10 @@ class HomeViewModel(
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue(
HomeToastMessage(resId = R.string.screen_home_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
)
}
)
)
}
}
data class HomeToastMessage(
@StringRes val resId: Int? = null,
val message: String? = null
)

View File

@@ -1,6 +1,5 @@
package kr.co.vividnext.sodalive.mypage
import androidx.annotation.StringRes
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.orhanobut.logger.Logger
@@ -9,6 +8,7 @@ import io.reactivex.rxjava3.schedulers.Schedulers
import kr.co.vividnext.sodalive.base.BaseViewModel
import kr.co.vividnext.sodalive.common.ApiResponse
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
import kr.co.vividnext.sodalive.common.ToastMessage
import kr.co.vividnext.sodalive.mypage.auth.AuthRepository
import kr.co.vividnext.sodalive.mypage.auth.AuthVerifyRequest
import kr.co.vividnext.sodalive.settings.ContentType
@@ -22,8 +22,8 @@ class MyPageViewModel(
private val authRepository: AuthRepository,
private val noticeRepository: NoticeRepository
) : BaseViewModel() {
private val _toastLiveData = MutableLiveData<MyPageToastMessage?>()
val toastLiveData: LiveData<MyPageToastMessage?>
private val _toastLiveData = MutableLiveData<ToastMessage?>()
val toastLiveData: LiveData<ToastMessage?>
get() = _toastLiveData
private var _isLoading = MutableLiveData(false)
@@ -54,9 +54,9 @@ class MyPageViewModel(
} else {
_toastLiveData.postValue(
if (it.message != null) {
MyPageToastMessage(message = it.message)
ToastMessage(message = it.message)
} else {
MyPageToastMessage(resId = R.string.screen_my_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
}
)
}
@@ -66,7 +66,7 @@ class MyPageViewModel(
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue(
MyPageToastMessage(resId = R.string.screen_my_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
)
}
)
@@ -95,9 +95,9 @@ class MyPageViewModel(
} else {
_toastLiveData.postValue(
if (it.message != null) {
MyPageToastMessage(message = it.message)
ToastMessage(message = it.message)
} else {
MyPageToastMessage(resId = R.string.screen_my_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
}
)
@@ -108,7 +108,7 @@ class MyPageViewModel(
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue(
MyPageToastMessage(resId = R.string.screen_my_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
)
}
)
@@ -136,8 +136,3 @@ class MyPageViewModel(
)
}
}
data class MyPageToastMessage(
@StringRes val resId: Int? = null,
val message: String? = null
)

View File

@@ -1,6 +1,5 @@
package kr.co.vividnext.sodalive.search
import androidx.annotation.StringRes
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.orhanobut.logger.Logger
@@ -9,6 +8,7 @@ import io.reactivex.rxjava3.schedulers.Schedulers
import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.base.BaseViewModel
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
import kr.co.vividnext.sodalive.common.ToastMessage
class SearchViewModel(
private val repository: SearchRepository
@@ -29,8 +29,8 @@ class SearchViewModel(
val currentTabLiveData: LiveData<SearchPageTab>
get() = _currentTabLiveData
private val _toastLiveData = MutableLiveData<SearchToastMessage?>()
val toastLiveData: LiveData<SearchToastMessage?>
private val _toastLiveData = MutableLiveData<ToastMessage?>()
val toastLiveData: LiveData<ToastMessage?>
get() = _toastLiveData
private var _isLoading = MutableLiveData(false)
@@ -94,9 +94,9 @@ class SearchViewModel(
_searchUnifiedLiveData.value = it.data!!
} else {
_toastLiveData.value = if (it.message != null) {
SearchToastMessage(message = it.message)
ToastMessage(message = it.message)
} else {
SearchToastMessage(resId = R.string.screen_search_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
}
}
},
@@ -104,8 +104,8 @@ class SearchViewModel(
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData
.value = SearchToastMessage(
resId = R.string.screen_search_error_unknown
.value = ToastMessage(
resId = R.string.common_error_unknown
)
}
)
@@ -139,9 +139,9 @@ class SearchViewModel(
}
} else {
_toastLiveData.value = if (it.message != null) {
SearchToastMessage(message = it.message)
ToastMessage(message = it.message)
} else {
SearchToastMessage(resId = R.string.screen_search_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
}
}
},
@@ -149,8 +149,8 @@ class SearchViewModel(
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData
.value = SearchToastMessage(
resId = R.string.screen_search_error_unknown
.value = ToastMessage(
resId = R.string.common_error_unknown
)
}
)
@@ -186,9 +186,9 @@ class SearchViewModel(
}
} else {
_toastLiveData.value = if (it.message != null) {
SearchToastMessage(message = it.message)
ToastMessage(message = it.message)
} else {
SearchToastMessage(resId = R.string.screen_search_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
}
}
},
@@ -196,8 +196,8 @@ class SearchViewModel(
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData
.value = SearchToastMessage(
resId = R.string.screen_search_error_unknown
.value = ToastMessage(
resId = R.string.common_error_unknown
)
}
)
@@ -233,9 +233,9 @@ class SearchViewModel(
}
} else {
_toastLiveData.value = if (it.message != null) {
SearchToastMessage(message = it.message)
ToastMessage(message = it.message)
} else {
SearchToastMessage(resId = R.string.screen_search_error_unknown)
ToastMessage(resId = R.string.common_error_unknown)
}
}
},
@@ -243,8 +243,8 @@ class SearchViewModel(
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData
.value = SearchToastMessage(
resId = R.string.screen_search_error_unknown
.value = ToastMessage(
resId = R.string.common_error_unknown
)
}
)
@@ -254,8 +254,3 @@ class SearchViewModel(
}
}
}
data class SearchToastMessage(
@StringRes val resId: Int? = null,
val message: String? = null
)