오디오 콘텐츠 신규/인기/테마 화면 문자열 리소스화
This commit is contained in:
@@ -49,16 +49,16 @@ class AudioContentNewAllActivity : BaseActivity<ActivityAudioContentNewAllBindin
|
||||
override fun setupView() {
|
||||
loadingDialog = LoadingDialog(this, layoutInflater)
|
||||
binding.toolbar.tvBack.text = if (isFree) {
|
||||
"새로운 무료 콘텐츠"
|
||||
getString(R.string.screen_audio_content_new_all_title_free)
|
||||
} else {
|
||||
"새로운 단편"
|
||||
getString(R.string.screen_audio_content_new_all_title)
|
||||
}
|
||||
binding.toolbar.tvBack.setOnClickListener { finish() }
|
||||
|
||||
binding.tvNotice.text = if (isFree) {
|
||||
"※ 최근 2주간 등록된 새로운 콘텐츠 입니다."
|
||||
getString(R.string.screen_audio_content_new_all_notice_free)
|
||||
} else {
|
||||
"※ 최근 2주간 등록된 새로운 단편 입니다."
|
||||
getString(R.string.screen_audio_content_new_all_notice)
|
||||
}
|
||||
|
||||
setupNewContentTheme()
|
||||
|
||||
@@ -68,7 +68,7 @@ class AudioContentNewAllAdapter(
|
||||
binding.tvCan.text = item.price.moneyFormat()
|
||||
} else {
|
||||
binding.ivCan.visibility = View.GONE
|
||||
binding.tvCan.text = "무료"
|
||||
binding.tvCan.text = context.getString(R.string.audio_content_price_free)
|
||||
}
|
||||
|
||||
binding.tvTime.text = item.duration
|
||||
|
||||
@@ -8,7 +8,9 @@ import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
import kr.co.vividnext.sodalive.audio_content.AudioContentRepository
|
||||
import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentMainItem
|
||||
import kr.co.vividnext.sodalive.base.BaseViewModel
|
||||
import kr.co.vividnext.sodalive.common.SodaLiveApplicationHolder
|
||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||
import kr.co.vividnext.sodalive.R
|
||||
|
||||
class AudioContentNewAllViewModel(
|
||||
private val repository: AudioContentRepository
|
||||
@@ -41,6 +43,7 @@ class AudioContentNewAllViewModel(
|
||||
fun getNewContentList(isFree: Boolean = false) {
|
||||
if (!_isLoading.value!! && !isLast) {
|
||||
_isLoading.value = true
|
||||
val unknownError = SodaLiveApplicationHolder.get().getString(R.string.common_error_unknown)
|
||||
|
||||
compositeDisposable.add(
|
||||
repository.getNewContentAllOfTheme(
|
||||
@@ -67,9 +70,7 @@ class AudioContentNewAllViewModel(
|
||||
if (it.message != null) {
|
||||
_toastLiveData.postValue(it.message)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
)
|
||||
_toastLiveData.postValue(unknownError)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,7 +79,7 @@ class AudioContentNewAllViewModel(
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
|
||||
_toastLiveData.postValue(unknownError)
|
||||
}
|
||||
)
|
||||
)
|
||||
@@ -86,6 +87,7 @@ class AudioContentNewAllViewModel(
|
||||
}
|
||||
|
||||
fun getThemeList() {
|
||||
val unknownError = SodaLiveApplicationHolder.get().getString(R.string.common_error_unknown)
|
||||
compositeDisposable.add(
|
||||
repository.getNewContentThemeList(token = "Bearer ${SharedPreferenceManager.token}")
|
||||
.subscribeOn(Schedulers.io())
|
||||
@@ -98,9 +100,7 @@ class AudioContentNewAllViewModel(
|
||||
if (it.message != null) {
|
||||
_toastLiveData.postValue(it.message)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
)
|
||||
_toastLiveData.postValue(unknownError)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ class AudioContentNewAllViewModel(
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
|
||||
_toastLiveData.postValue(unknownError)
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.view.View
|
||||
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.audio_content.detail.AudioContentDetailActivity
|
||||
import kr.co.vividnext.sodalive.audio_content.main.new_content.AudioContentMainNewContentThemeAdapter
|
||||
import kr.co.vividnext.sodalive.base.BaseActivity
|
||||
@@ -37,7 +38,7 @@ class AudioContentRankingAllActivity : BaseActivity<ActivityAudioContentRankingA
|
||||
override fun setupView() {
|
||||
loadingDialog = LoadingDialog(this, layoutInflater)
|
||||
binding.toolbar.tvBack.setOnClickListener { finish() }
|
||||
binding.toolbar.tvBack.text = "인기 콘텐츠"
|
||||
binding.toolbar.tvBack.text = getString(R.string.screen_audio_content_ranking_title)
|
||||
|
||||
adapter = AudioContentRankingAllAdapter {
|
||||
val intent = Intent(applicationContext, AudioContentDetailActivity::class.java)
|
||||
|
||||
@@ -43,7 +43,7 @@ class AudioContentRankingAllAdapter(
|
||||
binding.tvNickname.text = item.creatorNickname
|
||||
|
||||
if (item.price < 1) {
|
||||
binding.tvPrice.text = "무료"
|
||||
binding.tvPrice.text = context.getString(R.string.audio_content_price_free)
|
||||
binding.tvPrice.setTextColor(ContextCompat.getColor(context, R.color.white))
|
||||
binding.tvPrice.setCompoundDrawables(null, null, null, null)
|
||||
binding.tvPrice.setPadding(
|
||||
|
||||
@@ -8,7 +8,9 @@ import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
import kr.co.vividnext.sodalive.audio_content.AudioContentRepository
|
||||
import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentRankingItem
|
||||
import kr.co.vividnext.sodalive.base.BaseViewModel
|
||||
import kr.co.vividnext.sodalive.common.SodaLiveApplicationHolder
|
||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||
import kr.co.vividnext.sodalive.R
|
||||
|
||||
class AudioContentRankingAllViewModel(
|
||||
private val repository: AudioContentRepository
|
||||
@@ -42,6 +44,7 @@ class AudioContentRankingAllViewModel(
|
||||
fun getAudioContentRanking() {
|
||||
if (!_isLoading.value!! && !isLast && page <= 5) {
|
||||
_isLoading.value = true
|
||||
val unknownError = SodaLiveApplicationHolder.get().getString(R.string.common_error_unknown)
|
||||
compositeDisposable.add(
|
||||
repository.getContentRanking(
|
||||
page = page,
|
||||
@@ -69,15 +72,13 @@ class AudioContentRankingAllViewModel(
|
||||
if (it.message != null) {
|
||||
_toastLiveData.postValue(it.message)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
)
|
||||
_toastLiveData.postValue(unknownError)
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
|
||||
_toastLiveData.postValue(unknownError)
|
||||
}
|
||||
)
|
||||
)
|
||||
@@ -85,6 +86,7 @@ class AudioContentRankingAllViewModel(
|
||||
}
|
||||
|
||||
fun getAudioContentRankingSortType() {
|
||||
val unknownError = SodaLiveApplicationHolder.get().getString(R.string.common_error_unknown)
|
||||
compositeDisposable.add(
|
||||
repository.getContentRankingSortType(token = "Bearer ${SharedPreferenceManager.token}")
|
||||
.subscribeOn(Schedulers.io())
|
||||
@@ -97,15 +99,13 @@ class AudioContentRankingAllViewModel(
|
||||
if (it.message != null) {
|
||||
_toastLiveData.postValue(it.message)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
)
|
||||
_toastLiveData.postValue(unknownError)
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
|
||||
_toastLiveData.postValue(unknownError)
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
@@ -38,7 +38,7 @@ class AudioContentAllByThemeActivity : BaseActivity<ActivityAudioContentAllByThe
|
||||
if (themeId <= 0) {
|
||||
Toast.makeText(
|
||||
applicationContext,
|
||||
"잘못된 요청입니다.\n다시 시도해 주세요.",
|
||||
getString(R.string.screen_audio_content_error_invalid_request_retry),
|
||||
Toast.LENGTH_LONG
|
||||
).show()
|
||||
|
||||
|
||||
@@ -8,7 +8,9 @@ import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
import kr.co.vividnext.sodalive.audio_content.AudioContentRepository
|
||||
import kr.co.vividnext.sodalive.audio_content.AudioContentViewModel
|
||||
import kr.co.vividnext.sodalive.base.BaseViewModel
|
||||
import kr.co.vividnext.sodalive.common.SodaLiveApplicationHolder
|
||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||
import kr.co.vividnext.sodalive.R
|
||||
|
||||
class AudioContentAllByThemeViewModel(
|
||||
private val repository: AudioContentRepository
|
||||
@@ -61,7 +63,8 @@ class AudioContentAllByThemeViewModel(
|
||||
_toastLiveData.postValue(it.message)
|
||||
} else {
|
||||
_toastLiveData.postValue(
|
||||
"알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
|
||||
SodaLiveApplicationHolder.get()
|
||||
.getString(R.string.common_error_unknown)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -71,7 +74,10 @@ class AudioContentAllByThemeViewModel(
|
||||
{
|
||||
_isLoading.value = false
|
||||
it.message?.let { message -> Logger.e(message) }
|
||||
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
|
||||
_toastLiveData.postValue(
|
||||
SodaLiveApplicationHolder.get()
|
||||
.getString(R.string.common_error_unknown)
|
||||
)
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:gravity="center"
|
||||
android:text="최신순"
|
||||
android:text="@string/screen_audio_content_sort_newest"
|
||||
android:textColor="@color/color_88e2e2e2"
|
||||
android:textSize="13.3sp" />
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
android:layout_marginHorizontal="13.3dp"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:gravity="center"
|
||||
android:text="높은 가격순"
|
||||
android:text="@string/screen_audio_content_sort_price_high"
|
||||
android:textColor="@color/color_88e2e2e2"
|
||||
android:textSize="13.3sp" />
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:gravity="center"
|
||||
android:text="낮은 가격순"
|
||||
android:text="@string/screen_audio_content_sort_price_low"
|
||||
android:textColor="@color/color_88e2e2e2"
|
||||
android:textSize="13.3sp" />
|
||||
</LinearLayout>
|
||||
@@ -64,7 +64,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:gravity="center"
|
||||
android:text="전체"
|
||||
android:text="@string/audio_content_label_all"
|
||||
android:textColor="@color/color_e2e2e2"
|
||||
android:textSize="13.3sp" />
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
android:layout_marginStart="2dp"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:gravity="center"
|
||||
android:text="개"
|
||||
android:text="@string/audio_content_total_unit"
|
||||
android:textColor="@color/color_e2e2e2"
|
||||
android:textSize="13.3sp" />
|
||||
</LinearLayout>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:paddingHorizontal="13.3dp"
|
||||
android:paddingVertical="8dp"
|
||||
android:text="※ 최근 2주간 등록된 새로운 콘텐츠 입니다."
|
||||
android:text="@string/screen_audio_content_new_all_notice"
|
||||
android:textSize="14.67sp" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
@@ -44,7 +44,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:gravity="center"
|
||||
android:text="전체"
|
||||
android:text="@string/audio_content_label_all"
|
||||
android:textColor="@color/color_e2e2e2"
|
||||
android:textSize="13.3sp" />
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
android:layout_marginStart="2dp"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:gravity="center"
|
||||
android:text="개"
|
||||
android:text="@string/audio_content_total_unit"
|
||||
android:textColor="@color/color_e2e2e2"
|
||||
android:textSize="13.3sp" />
|
||||
</LinearLayout>
|
||||
@@ -100,7 +100,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:gravity="center"
|
||||
android:text="최근 2주간 등록된 새로운 콘텐츠가 없습니다."
|
||||
android:text="@string/screen_audio_content_new_all_empty"
|
||||
android:textColor="@color/color_bbbbbb"
|
||||
android:textSize="13sp"
|
||||
android:lineSpacingExtra="8dp"
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:fontFamily="@font/gmarket_sans_light"
|
||||
android:text="※ 인기 콘텐츠의 순위는 매주 업데이트됩니다."
|
||||
android:text="@string/screen_audio_content_ranking_notice"
|
||||
android:textColor="@color/color_bbbbbb"
|
||||
android:textSize="13.3sp" />
|
||||
</LinearLayout>
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
android:fontFamily="@font/gmarket_sans_medium"
|
||||
android:gravity="center"
|
||||
android:padding="2.6dp"
|
||||
android:text="포인트"
|
||||
android:text="@string/audio_content_badge_point"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="8sp"
|
||||
android:visibility="gone"
|
||||
|
||||
@@ -855,6 +855,14 @@
|
||||
<string name="audio_content_playlist_content_count">Total %1$d items</string>
|
||||
<string name="audio_content_playlist_empty_title">No playlists yet.</string>
|
||||
<string name="audio_content_playlist_empty_desc">Create a playlist with your favorite content.</string>
|
||||
<string name="screen_audio_content_new_all_title">New short content</string>
|
||||
<string name="screen_audio_content_new_all_title_free">New free content</string>
|
||||
<string name="screen_audio_content_new_all_notice">New short content posted in the last two weeks.</string>
|
||||
<string name="screen_audio_content_new_all_notice_free">New content posted in the last two weeks.</string>
|
||||
<string name="screen_audio_content_new_all_empty">No new content has been posted in the last two weeks.</string>
|
||||
<string name="screen_audio_content_ranking_title">Popular content</string>
|
||||
<string name="screen_audio_content_ranking_notice">※ Rankings are updated weekly.</string>
|
||||
<string name="screen_audio_content_error_invalid_request_retry">Invalid request.\nPlease try again.</string>
|
||||
|
||||
<!-- Alarm -->
|
||||
<string name="alarm_time_format">hh:mm</string>
|
||||
|
||||
@@ -855,6 +855,14 @@
|
||||
<string name="audio_content_playlist_content_count">合計 %1$d件</string>
|
||||
<string name="audio_content_playlist_empty_title">プレイリストが空です。</string>
|
||||
<string name="audio_content_playlist_empty_desc">よく聴くコンテンツで\nプレイリストを作成してください。</string>
|
||||
<string name="screen_audio_content_new_all_title">新しい短編</string>
|
||||
<string name="screen_audio_content_new_all_title_free">新しい無料コンテンツ</string>
|
||||
<string name="screen_audio_content_new_all_notice">過去2週間に登録された新しい短編です。</string>
|
||||
<string name="screen_audio_content_new_all_notice_free">過去2週間に登録された新しいコンテンツです。</string>
|
||||
<string name="screen_audio_content_new_all_empty">過去2週間に登録された新しいコンテンツはありません。</string>
|
||||
<string name="screen_audio_content_ranking_title">人気コンテンツ</string>
|
||||
<string name="screen_audio_content_ranking_notice">※人気コンテンツの順位は毎週更新されます。</string>
|
||||
<string name="screen_audio_content_error_invalid_request_retry">無効なリクエストです。\nもう一度お試しください。</string>
|
||||
|
||||
<!-- Alarm -->
|
||||
<string name="alarm_time_format">hh:mm</string>
|
||||
|
||||
@@ -854,6 +854,14 @@
|
||||
<string name="audio_content_playlist_content_count">총 %1$d개</string>
|
||||
<string name="audio_content_playlist_empty_title">재생목록이 비어있습니다.</string>
|
||||
<string name="audio_content_playlist_empty_desc">자주 듣는 콘텐츠를\n재생목록으로 만들어 보세요.</string>
|
||||
<string name="screen_audio_content_new_all_title">새로운 단편</string>
|
||||
<string name="screen_audio_content_new_all_title_free">새로운 무료 콘텐츠</string>
|
||||
<string name="screen_audio_content_new_all_notice">※ 최근 2주간 등록된 새로운 단편 입니다.</string>
|
||||
<string name="screen_audio_content_new_all_notice_free">※ 최근 2주간 등록된 새로운 콘텐츠 입니다.</string>
|
||||
<string name="screen_audio_content_new_all_empty">최근 2주간 등록된 새로운 콘텐츠가 없습니다.</string>
|
||||
<string name="screen_audio_content_ranking_title">인기 콘텐츠</string>
|
||||
<string name="screen_audio_content_ranking_notice">※ 인기 콘텐츠의 순위는 매주 업데이트됩니다.</string>
|
||||
<string name="screen_audio_content_error_invalid_request_retry">잘못된 요청입니다.\n다시 시도해 주세요.</string>
|
||||
|
||||
<!-- Alarm -->
|
||||
<string name="alarm_time_format">hh:mm</string>
|
||||
|
||||
Reference in New Issue
Block a user