마이페이지 문자열 리소스화
This commit is contained in:
@@ -234,7 +234,7 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
FunctionButtonHelper.setupFunctionButton(
|
||||
buttonView = binding.btnStorage.root,
|
||||
iconRes = R.drawable.ic_my_storage,
|
||||
title = "보관함"
|
||||
title = getString(R.string.screen_my_storage)
|
||||
) {
|
||||
startActivity(
|
||||
Intent(
|
||||
@@ -247,7 +247,7 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
FunctionButtonHelper.setupFunctionButton(
|
||||
buttonView = binding.btnBlockList.root,
|
||||
iconRes = R.drawable.ic_my_block,
|
||||
title = "차단목록"
|
||||
title = getString(R.string.screen_my_block_list)
|
||||
) {
|
||||
startActivity(
|
||||
Intent(
|
||||
@@ -260,7 +260,7 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
FunctionButtonHelper.setupFunctionButton(
|
||||
buttonView = binding.btnMorningCall.root,
|
||||
iconRes = R.drawable.ic_my_alarm,
|
||||
title = "모닝콜"
|
||||
title = getString(R.string.screen_my_morning_call)
|
||||
) {
|
||||
startActivity(
|
||||
Intent(
|
||||
@@ -273,7 +273,7 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
FunctionButtonHelper.setupFunctionButton(
|
||||
buttonView = binding.btnNotice.root,
|
||||
iconRes = R.drawable.ic_my_notice,
|
||||
title = "공지사항"
|
||||
title = getString(R.string.screen_my_notice)
|
||||
) {
|
||||
startActivity(
|
||||
Intent(
|
||||
@@ -286,7 +286,7 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
FunctionButtonHelper.setupFunctionButton(
|
||||
buttonView = binding.btnEvent.root,
|
||||
iconRes = R.drawable.ic_my_event,
|
||||
title = "이벤트"
|
||||
title = getString(R.string.screen_my_event)
|
||||
) {
|
||||
startActivity(
|
||||
Intent(
|
||||
@@ -299,7 +299,7 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
FunctionButtonHelper.setupFunctionButton(
|
||||
buttonView = binding.btnCustomerService.root,
|
||||
iconRes = R.drawable.ic_my_service_center,
|
||||
title = "고객센터"
|
||||
title = getString(R.string.screen_my_customer_service)
|
||||
) {
|
||||
startActivity(
|
||||
Intent(
|
||||
@@ -310,21 +310,21 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
}
|
||||
|
||||
if (SharedPreferenceManager.role == MemberRole.CREATOR.name) {
|
||||
binding.tvMyChannel.visibility = View.VISIBLE
|
||||
binding.tvMyChannel.setOnClickListener {
|
||||
startActivity(
|
||||
Intent(
|
||||
requireContext(),
|
||||
UserProfileActivity::class.java
|
||||
).apply {
|
||||
putExtra(
|
||||
Constants.EXTRA_USER_ID,
|
||||
SharedPreferenceManager.userId
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
} else {
|
||||
binding.tvMyChannel.visibility = View.VISIBLE
|
||||
binding.tvMyChannel.setOnClickListener {
|
||||
startActivity(
|
||||
Intent(
|
||||
requireContext(),
|
||||
UserProfileActivity::class.java
|
||||
).apply {
|
||||
putExtra(
|
||||
Constants.EXTRA_USER_ID,
|
||||
SharedPreferenceManager.userId
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
} else {
|
||||
binding.tvMyChannel.visibility = View.GONE
|
||||
}
|
||||
} else {
|
||||
@@ -355,7 +355,10 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
@SuppressLint("SetTextI18n", "NotifyDataSetChanged")
|
||||
private fun bindData() {
|
||||
viewModel.toastLiveData.observe(viewLifecycleOwner) {
|
||||
it?.let { Toast.makeText(requireContext(), it, Toast.LENGTH_LONG).show() }
|
||||
val text = it?.message ?: it?.resId?.let { resId -> getString(resId) }
|
||||
if (!text.isNullOrBlank()) {
|
||||
Toast.makeText(requireContext(), text, Toast.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.isLoading.observe(viewLifecycleOwner) {
|
||||
@@ -371,13 +374,13 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
FunctionButtonHelper.setupFunctionButton(
|
||||
buttonView = binding.btnIdentityVerification.root,
|
||||
iconRes = R.drawable.ic_my_auth,
|
||||
title = "인증완료"
|
||||
title = getString(R.string.screen_my_identity_verified)
|
||||
)
|
||||
|
||||
FunctionButtonHelper.setupFunctionButton(
|
||||
buttonView = binding.btnCoupon.root,
|
||||
iconRes = R.drawable.ic_my_coupon,
|
||||
title = "쿠폰등록"
|
||||
title = getString(R.string.screen_my_coupon_register)
|
||||
) {
|
||||
startActivity(
|
||||
Intent(
|
||||
@@ -390,7 +393,7 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
FunctionButtonHelper.setupFunctionButton(
|
||||
buttonView = binding.btnIdentityVerification.root,
|
||||
iconRes = R.drawable.ic_my_auth,
|
||||
title = "본인인증"
|
||||
title = getString(R.string.screen_my_identity_verification)
|
||||
) {
|
||||
showAuthDialog()
|
||||
}
|
||||
@@ -398,11 +401,11 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
FunctionButtonHelper.setupFunctionButton(
|
||||
buttonView = binding.btnCoupon.root,
|
||||
iconRes = R.drawable.ic_my_coupon,
|
||||
title = "쿠폰등록"
|
||||
title = getString(R.string.screen_my_coupon_register)
|
||||
) {
|
||||
Toast.makeText(
|
||||
requireContext(),
|
||||
"본인인증 후 사용가능합니다.",
|
||||
getString(R.string.screen_my_auth_required),
|
||||
Toast.LENGTH_LONG
|
||||
).show()
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package kr.co.vividnext.sodalive.mypage
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.orhanobut.logger.Logger
|
||||
@@ -14,14 +15,15 @@ import kr.co.vividnext.sodalive.settings.ContentType
|
||||
import kr.co.vividnext.sodalive.settings.notice.NoticeItem
|
||||
import kr.co.vividnext.sodalive.settings.notice.NoticeRepository
|
||||
import kr.co.vividnext.sodalive.user.UserRepository
|
||||
import kr.co.vividnext.sodalive.R
|
||||
|
||||
class MyPageViewModel(
|
||||
private val userRepository: UserRepository,
|
||||
private val authRepository: AuthRepository,
|
||||
private val noticeRepository: NoticeRepository
|
||||
) : BaseViewModel() {
|
||||
private val _toastLiveData = MutableLiveData<String?>()
|
||||
val toastLiveData: LiveData<String?>
|
||||
private val _toastLiveData = MutableLiveData<MyPageToastMessage?>()
|
||||
val toastLiveData: LiveData<MyPageToastMessage?>
|
||||
get() = _toastLiveData
|
||||
|
||||
private var _isLoading = MutableLiveData(false)
|
||||
@@ -50,20 +52,22 @@ class MyPageViewModel(
|
||||
if (it.success && it.data != null) {
|
||||
_myPageLiveData.postValue(it.data!!)
|
||||
} else {
|
||||
if (it.message != null) {
|
||||
_toastLiveData.postValue(it.message)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
)
|
||||
}
|
||||
_toastLiveData.postValue(
|
||||
if (it.message != null) {
|
||||
MyPageToastMessage(message = it.message)
|
||||
} else {
|
||||
MyPageToastMessage(resId = R.string.screen_my_error_unknown)
|
||||
}
|
||||
)
|
||||
}
|
||||
_isLoading.value = false
|
||||
},
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
|
||||
_toastLiveData.postValue(
|
||||
MyPageToastMessage(resId = R.string.screen_my_error_unknown)
|
||||
)
|
||||
}
|
||||
)
|
||||
)
|
||||
@@ -89,13 +93,13 @@ class MyPageViewModel(
|
||||
|
||||
onSuccess()
|
||||
} else {
|
||||
if (it.message != null) {
|
||||
_toastLiveData.postValue(it.message)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
)
|
||||
}
|
||||
_toastLiveData.postValue(
|
||||
if (it.message != null) {
|
||||
MyPageToastMessage(message = it.message)
|
||||
} else {
|
||||
MyPageToastMessage(resId = R.string.screen_my_error_unknown)
|
||||
}
|
||||
)
|
||||
|
||||
_isLoading.value = false
|
||||
}
|
||||
@@ -103,7 +107,9 @@ class MyPageViewModel(
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
|
||||
_toastLiveData.postValue(
|
||||
MyPageToastMessage(resId = R.string.screen_my_error_unknown)
|
||||
)
|
||||
}
|
||||
)
|
||||
)
|
||||
@@ -130,3 +136,8 @@ class MyPageViewModel(
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
data class MyPageToastMessage(
|
||||
@StringRes val resId: Int? = null,
|
||||
val message: String? = null
|
||||
)
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="2dp"
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:text="자세히"
|
||||
android:text="@string/screen_my_notice_more"
|
||||
android:textColor="#B0BEC5"
|
||||
android:textSize="16sp"
|
||||
app:drawableEndCompat="@drawable/ic_arrow_right" />
|
||||
@@ -107,7 +107,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:gravity="center_vertical"
|
||||
android:text="LOGIN"
|
||||
android:text="@string/screen_my_login"
|
||||
android:textColor="#777777"
|
||||
android:textSize="32sp" />
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
android:fontFamily="@font/pretendard_regular"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="6dp"
|
||||
android:text="프로필 수정"
|
||||
android:text="@string/screen_my_edit_profile"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="14sp" />
|
||||
</RelativeLayout>
|
||||
@@ -173,7 +173,7 @@
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:gravity="center"
|
||||
android:paddingVertical="12dp"
|
||||
android:text="내 채널 보기"
|
||||
android:text="@string/screen_my_view_channel"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="16sp"
|
||||
android:visibility="gone" />
|
||||
@@ -220,7 +220,7 @@
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="10dp"
|
||||
android:text="캔 충전"
|
||||
android:text="@string/screen_my_charge_can"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="14sp"
|
||||
android:visibility="invisible" />
|
||||
@@ -258,7 +258,7 @@
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="10dp"
|
||||
android:text="포인트 리워드"
|
||||
android:text="@string/screen_my_point_reward"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="14sp"
|
||||
android:visibility="invisible" />
|
||||
@@ -388,7 +388,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/pretendard_bold"
|
||||
android:text="최근 들은 "
|
||||
android:text="@string/screen_my_recent_prefix"
|
||||
android:textColor="#B0BEC5"
|
||||
android:textSize="16sp" />
|
||||
|
||||
|
||||
@@ -136,4 +136,22 @@
|
||||
<string name="screen_live_reservation_pay_title">Reserve with %1$s cans</string>
|
||||
<string name="screen_live_reservation_pay_desc">Pay to join the live \"%1$s\".</string>
|
||||
<string name="screen_live_reservation_confirm">Reserve</string>
|
||||
<string name="screen_my_notice_more">Details</string>
|
||||
<string name="screen_my_login">Login</string>
|
||||
<string name="screen_my_edit_profile">Edit profile</string>
|
||||
<string name="screen_my_view_channel">View my channel</string>
|
||||
<string name="screen_my_charge_can">Charge cans</string>
|
||||
<string name="screen_my_point_reward">Point reward</string>
|
||||
<string name="screen_my_recent_prefix">Recently listened</string>
|
||||
<string name="screen_my_storage">Storage</string>
|
||||
<string name="screen_my_block_list">Blocked users</string>
|
||||
<string name="screen_my_morning_call">Morning call</string>
|
||||
<string name="screen_my_notice">Notice</string>
|
||||
<string name="screen_my_event">Event</string>
|
||||
<string name="screen_my_customer_service">Customer service</string>
|
||||
<string name="screen_my_identity_verified">Verified</string>
|
||||
<string name="screen_my_identity_verification">Verify identity</string>
|
||||
<string name="screen_my_coupon_register">Register coupon</string>
|
||||
<string name="screen_my_auth_required">Available after identity verification.</string>
|
||||
<string name="screen_my_error_unknown">An unknown error occurred. Please try again.</string>
|
||||
</resources>
|
||||
|
||||
@@ -136,4 +136,22 @@
|
||||
<string name="screen_live_reservation_pay_title">%1$sCANで予約</string>
|
||||
<string name="screen_live_reservation_pay_desc">ライブ「%1$s」に参加するために決済します。</string>
|
||||
<string name="screen_live_reservation_confirm">予約する</string>
|
||||
<string name="screen_my_notice_more">詳細</string>
|
||||
<string name="screen_my_login">ログイン</string>
|
||||
<string name="screen_my_edit_profile">プロフィール編集</string>
|
||||
<string name="screen_my_view_channel">マイチャンネルを見る</string>
|
||||
<string name="screen_my_charge_can">CANチャージ</string>
|
||||
<string name="screen_my_point_reward">ポイントリワード</string>
|
||||
<string name="screen_my_recent_prefix">最近聴いた</string>
|
||||
<string name="screen_my_storage">保存箱</string>
|
||||
<string name="screen_my_block_list">ブロック一覧</string>
|
||||
<string name="screen_my_morning_call">モーニングコール</string>
|
||||
<string name="screen_my_notice">お知らせ</string>
|
||||
<string name="screen_my_event">イベント</string>
|
||||
<string name="screen_my_customer_service">カスタマーセンター</string>
|
||||
<string name="screen_my_identity_verified">認証済み</string>
|
||||
<string name="screen_my_identity_verification">本人認証</string>
|
||||
<string name="screen_my_coupon_register">クーポン登録</string>
|
||||
<string name="screen_my_auth_required">本人認証後に利用できます。</string>
|
||||
<string name="screen_my_error_unknown">不明なエラーが発生しました。もう一度お試しください。</string>
|
||||
</resources>
|
||||
|
||||
@@ -135,4 +135,22 @@
|
||||
<string name="screen_live_reservation_pay_title">%1$s캔으로 예약</string>
|
||||
<string name="screen_live_reservation_pay_desc">\'%1$s\' 라이브에 참여하기 위해 결제합니다.</string>
|
||||
<string name="screen_live_reservation_confirm">예약하기</string>
|
||||
<string name="screen_my_notice_more">자세히</string>
|
||||
<string name="screen_my_login">LOGIN</string>
|
||||
<string name="screen_my_edit_profile">프로필 수정</string>
|
||||
<string name="screen_my_view_channel">내 채널 보기</string>
|
||||
<string name="screen_my_charge_can">캔 충전</string>
|
||||
<string name="screen_my_point_reward">포인트 리워드</string>
|
||||
<string name="screen_my_recent_prefix">최근 들은 </string>
|
||||
<string name="screen_my_storage">보관함</string>
|
||||
<string name="screen_my_block_list">차단목록</string>
|
||||
<string name="screen_my_morning_call">모닝콜</string>
|
||||
<string name="screen_my_notice">공지사항</string>
|
||||
<string name="screen_my_event">이벤트</string>
|
||||
<string name="screen_my_customer_service">고객센터</string>
|
||||
<string name="screen_my_identity_verified">인증완료</string>
|
||||
<string name="screen_my_identity_verification">본인인증</string>
|
||||
<string name="screen_my_coupon_register">쿠폰등록</string>
|
||||
<string name="screen_my_auth_required">본인인증 후 사용가능합니다.</string>
|
||||
<string name="screen_my_error_unknown">알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.</string>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user