닉네임 변경 화면 문자열 리소스화
This commit is contained in:
@@ -6,6 +6,7 @@ import android.widget.Toast
|
||||
import com.jakewharton.rxbinding4.widget.textChanges
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
import kr.co.vividnext.sodalive.R
|
||||
import kr.co.vividnext.sodalive.base.BaseActivity
|
||||
import kr.co.vividnext.sodalive.common.LoadingDialog
|
||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||
@@ -31,7 +32,7 @@ class NicknameUpdateActivity : BaseActivity<ActivityNicknameUpdateBinding>(
|
||||
}
|
||||
|
||||
override fun setupView() {
|
||||
binding.toolbar.tvBack.text = "닉네임 변경"
|
||||
binding.toolbar.tvBack.text = getString(R.string.screen_nickname_update_title)
|
||||
binding.toolbar.tvBack.setOnClickListener { finish() }
|
||||
|
||||
loadingDialog = LoadingDialog(this, layoutInflater)
|
||||
@@ -59,8 +60,9 @@ class NicknameUpdateActivity : BaseActivity<ActivityNicknameUpdateBinding>(
|
||||
)
|
||||
|
||||
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()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,11 +74,12 @@ class NicknameUpdateActivity : BaseActivity<ActivityNicknameUpdateBinding>(
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.priceLiveData.observe(this) {
|
||||
if (it > 0) {
|
||||
binding.tvChangeNickname.text = "${it}캔으로 닉네임 변경하기"
|
||||
viewModel.priceLiveData.observe(this) { price ->
|
||||
if (price > 0) {
|
||||
binding.tvChangeNickname.text =
|
||||
getString(R.string.screen_nickname_update_submit_with_can, price)
|
||||
} else {
|
||||
binding.tvChangeNickname.text = "닉네임 변경하기"
|
||||
binding.tvChangeNickname.text = getString(R.string.screen_nickname_update_submit)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,8 +5,10 @@ import androidx.lifecycle.MutableLiveData
|
||||
import com.orhanobut.logger.Logger
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||
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
|
||||
import kr.co.vividnext.sodalive.mypage.profile.ProfileUpdateRequest
|
||||
import kr.co.vividnext.sodalive.user.UserRepository
|
||||
|
||||
@@ -21,8 +23,8 @@ class NicknameUpdateViewModel(private val repository: UserRepository) : BaseView
|
||||
val isLoading: LiveData<Boolean>
|
||||
get() = _isLoading
|
||||
|
||||
private val _toastLiveData = MutableLiveData<String?>()
|
||||
val toastLiveData: LiveData<String?>
|
||||
private val _toastLiveData = MutableLiveData<ToastMessage?>()
|
||||
val toastLiveData: LiveData<ToastMessage?>
|
||||
get() = _toastLiveData
|
||||
|
||||
var isCheckedNickname = false
|
||||
@@ -40,19 +42,17 @@ class NicknameUpdateViewModel(private val repository: UserRepository) : BaseView
|
||||
if (it.success && it.data != null) {
|
||||
_priceLiveData.value = it.data.price
|
||||
} 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)
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
|
||||
_toastLiveData.postValue(ToastMessage(resId = R.string.common_error_unknown))
|
||||
}
|
||||
)
|
||||
)
|
||||
@@ -68,31 +68,31 @@ class NicknameUpdateViewModel(private val repository: UserRepository) : BaseView
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(
|
||||
{
|
||||
_isLoading.value = false
|
||||
if (it.success) {
|
||||
isCheckedNickname = true
|
||||
_toastLiveData.postValue("사용가능한 닉네임 입니다.")
|
||||
} else {
|
||||
if (it.message != null) {
|
||||
_toastLiveData.postValue(it.message)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
)
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_isLoading.value = false
|
||||
if (it.success) {
|
||||
isCheckedNickname = true
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
ToastMessage(resId = R.string.msg_nickname_update_available)
|
||||
)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
it.message?.let { message ->
|
||||
ToastMessage(message = message)
|
||||
} ?: ToastMessage(resId = R.string.common_error_unknown)
|
||||
)
|
||||
}
|
||||
)
|
||||
},
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue(ToastMessage(resId = R.string.common_error_unknown))
|
||||
}
|
||||
)
|
||||
)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
ToastMessage(resId = R.string.msg_nickname_update_input_required)
|
||||
)
|
||||
} else {
|
||||
_toastLiveData.postValue("닉네임을 입력하세요.")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,32 +111,32 @@ class NicknameUpdateViewModel(private val repository: UserRepository) : BaseView
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(
|
||||
{
|
||||
_isLoading.value = false
|
||||
if (it.success) {
|
||||
_toastLiveData.postValue("닉네임이 변경되었습니다.")
|
||||
SharedPreferenceManager.nickname = nickname
|
||||
onSuccess()
|
||||
} else {
|
||||
if (it.message != null) {
|
||||
_toastLiveData.postValue(it.message)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
)
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_isLoading.value = false
|
||||
if (it.success) {
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
ToastMessage(resId = R.string.msg_nickname_update_success)
|
||||
)
|
||||
SharedPreferenceManager.nickname = nickname
|
||||
onSuccess()
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
it.message?.let { message ->
|
||||
ToastMessage(message = message)
|
||||
} ?: ToastMessage(resId = R.string.common_error_unknown)
|
||||
)
|
||||
}
|
||||
)
|
||||
},
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue(ToastMessage(resId = R.string.common_error_unknown))
|
||||
}
|
||||
)
|
||||
)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
ToastMessage(resId = R.string.msg_nickname_update_check_required)
|
||||
)
|
||||
} else {
|
||||
_toastLiveData.postValue("닉네임 중복체크를 해주세요.")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
android:layout_marginHorizontal="20dp"
|
||||
android:layout_marginTop="40dp"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:text="닉네임 변경으로 인해 피해를 입는 사용자가 지속적으로 발생하여 닉네임 변경을 부득이하게 유료로 전환합니다."
|
||||
android:text="@string/screen_nickname_update_notice_primary"
|
||||
android:textColor="@color/color_eeeeee" />
|
||||
|
||||
<TextView
|
||||
@@ -33,7 +33,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="20dp"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:text="최초 1회에 한해서 무료로 변경이 가능하고, 그 이후부터는 유료로 전환됩니다."
|
||||
android:text="@string/screen_nickname_update_notice_secondary"
|
||||
android:textColor="@color/color_dd4500" />
|
||||
|
||||
<LinearLayout
|
||||
@@ -48,7 +48,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="6.7dp"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:text="닉네임 (최대 12자)"
|
||||
android:text="@string/screen_nickname_update_label"
|
||||
android:textColor="@color/color_eeeeee"
|
||||
android:textSize="12sp" />
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/edittext_underline"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:hint="닉네임"
|
||||
android:hint="@string/screen_nickname_update_hint"
|
||||
android:importantForAutofill="no"
|
||||
android:inputType="textWebEditText"
|
||||
android:maxLength="12"
|
||||
@@ -81,7 +81,7 @@
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:gravity="center"
|
||||
android:paddingVertical="13.3dp"
|
||||
android:text="중복확인"
|
||||
android:text="@string/screen_nickname_update_check"
|
||||
android:textColor="@color/color_eeeeee" />
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
@@ -103,6 +103,7 @@
|
||||
android:fontFamily="@font/gmarket_sans_bold"
|
||||
android:gravity="center"
|
||||
android:paddingVertical="16dp"
|
||||
android:text="@string/screen_nickname_update_submit"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="18.3sp"
|
||||
tools:text="1000캔으로 닉네임 변경하기" />
|
||||
|
||||
@@ -341,6 +341,19 @@
|
||||
<string name="screen_modify_password_new_confirm_hint">Re-enter the new password</string>
|
||||
<string name="screen_modify_password_requirement">* At least 8 characters with letters and numbers</string>
|
||||
<string name="screen_modify_password_submit">Update password</string>
|
||||
<!-- Nickname Update -->
|
||||
<string name="screen_nickname_update_title">Change nickname</string>
|
||||
<string name="screen_nickname_update_notice_primary">Because some users keep being harmed by nickname changes, we must switch nickname changes to a paid feature.</string>
|
||||
<string name="screen_nickname_update_notice_secondary">Your first change is free. All later changes will be paid.</string>
|
||||
<string name="screen_nickname_update_label">Nickname (up to 12 characters)</string>
|
||||
<string name="screen_nickname_update_hint">Nickname</string>
|
||||
<string name="screen_nickname_update_check">Check availability</string>
|
||||
<string name="screen_nickname_update_submit">Change nickname</string>
|
||||
<string name="screen_nickname_update_submit_with_can">Change nickname with %1$d cans</string>
|
||||
<string name="msg_nickname_update_available">Nickname is available.</string>
|
||||
<string name="msg_nickname_update_input_required">Please enter a nickname.</string>
|
||||
<string name="msg_nickname_update_success">Nickname changed.</string>
|
||||
<string name="msg_nickname_update_check_required">Please check nickname availability.</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>
|
||||
|
||||
@@ -341,6 +341,19 @@
|
||||
<string name="screen_modify_password_new_confirm_hint">新しいパスワードをもう一度入力してください</string>
|
||||
<string name="screen_modify_password_requirement">* 英数字8文字以上</string>
|
||||
<string name="screen_modify_password_submit">パスワードを変更</string>
|
||||
<!-- Nickname Update -->
|
||||
<string name="screen_nickname_update_title">ニックネーム変更</string>
|
||||
<string name="screen_nickname_update_notice_primary">ニックネーム変更による被害が継続的に発生しているため、やむを得ず有料に切り替えます。</string>
|
||||
<string name="screen_nickname_update_notice_secondary">初回1回のみ無料で変更でき、それ以降は有料になります。</string>
|
||||
<string name="screen_nickname_update_label">ニックネーム(最大12文字)</string>
|
||||
<string name="screen_nickname_update_hint">ニックネーム</string>
|
||||
<string name="screen_nickname_update_check">重複確認</string>
|
||||
<string name="screen_nickname_update_submit">ニックネームを変更</string>
|
||||
<string name="screen_nickname_update_submit_with_can">%1$dCANでニックネームを変更</string>
|
||||
<string name="msg_nickname_update_available">使用可能なニックネームです。</string>
|
||||
<string name="msg_nickname_update_input_required">ニックネームを入力してください。</string>
|
||||
<string name="msg_nickname_update_success">ニックネームを変更しました。</string>
|
||||
<string name="msg_nickname_update_check_required">ニックネームの重複チェックを行ってください。</string>
|
||||
<string name="screen_my_view_channel">マイチャンネルを見る</string>
|
||||
<string name="screen_my_charge_can">CANチャージ</string>
|
||||
<string name="screen_my_point_reward">ポイントリワード</string>
|
||||
|
||||
@@ -340,6 +340,19 @@
|
||||
<string name="screen_modify_password_new_confirm_hint">신규 비밀번호를 재입력해주세요</string>
|
||||
<string name="screen_modify_password_requirement">* 영문, 숫자 포함 8자 이상</string>
|
||||
<string name="screen_modify_password_submit">비밀번호 변경하기</string>
|
||||
<!-- Nickname Update -->
|
||||
<string name="screen_nickname_update_title">닉네임 변경</string>
|
||||
<string name="screen_nickname_update_notice_primary">닉네임 변경으로 인해 피해를 입는 사용자가 지속적으로 발생하여 닉네임 변경을 부득이하게 유료로 전환합니다.</string>
|
||||
<string name="screen_nickname_update_notice_secondary">최초 1회에 한해서 무료로 변경이 가능하고, 그 이후부터는 유료로 전환됩니다.</string>
|
||||
<string name="screen_nickname_update_label">닉네임 (최대 12자)</string>
|
||||
<string name="screen_nickname_update_hint">닉네임</string>
|
||||
<string name="screen_nickname_update_check">중복확인</string>
|
||||
<string name="screen_nickname_update_submit">닉네임 변경하기</string>
|
||||
<string name="screen_nickname_update_submit_with_can">%1$d캔으로 닉네임 변경하기</string>
|
||||
<string name="msg_nickname_update_available">사용가능한 닉네임 입니다.</string>
|
||||
<string name="msg_nickname_update_input_required">닉네임을 입력하세요.</string>
|
||||
<string name="msg_nickname_update_success">닉네임이 변경되었습니다.</string>
|
||||
<string name="msg_nickname_update_check_required">닉네임 중복체크를 해주세요.</string>
|
||||
<string name="screen_my_view_channel">내 채널 보기</string>
|
||||
<string name="screen_my_charge_can">캔 충전</string>
|
||||
<string name="screen_my_point_reward">포인트 리워드</string>
|
||||
|
||||
Reference in New Issue
Block a user