AlarmSelectAudioContentActivity 문자열 리소스화

This commit is contained in:
2025-12-01 21:51:00 +09:00
parent 958244c9b2
commit 707107328a
8 changed files with 77 additions and 25 deletions

View File

@@ -1,6 +1,5 @@
package kr.co.vividnext.sodalive.mypage.alarm package kr.co.vividnext.sodalive.mypage.alarm
import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.app.DatePickerDialog import android.app.DatePickerDialog
import android.content.Context import android.content.Context
@@ -13,6 +12,7 @@ import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels import androidx.activity.viewModels
import com.orhanobut.logger.Logger import com.orhanobut.logger.Logger
import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.base.BaseActivity import kr.co.vividnext.sodalive.base.BaseActivity
import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.Constants
import kr.co.vividnext.sodalive.databinding.ActivityAddAlarmBinding import kr.co.vividnext.sodalive.databinding.ActivityAddAlarmBinding
@@ -95,7 +95,7 @@ class AddAlarmActivity : BaseActivity<ActivityAddAlarmBinding>(
binding.tvSave.setOnClickListener { saveAlarm() } binding.tvSave.setOnClickListener { saveAlarm() }
binding.toolbar.tvBack.text = "알람 설정" binding.toolbar.tvBack.text = getString(R.string.alarm_add_title)
binding.toolbar.tvBack.setOnClickListener { finish() } binding.toolbar.tvBack.setOnClickListener { finish() }
binding.tvCancel.setOnClickListener { finish() } binding.tvCancel.setOnClickListener { finish() }
@@ -158,20 +158,22 @@ class AddAlarmActivity : BaseActivity<ActivityAddAlarmBinding>(
updateResultText() updateResultText()
} }
@SuppressLint("SetTextI18n")
private fun updateResultText() { private fun updateResultText() {
selectedDays.clear() selectedDays.clear()
dayCheckBoxes.filter { it.isChecked }.map { selectedDays.add(it.text.toString()) } dayCheckBoxes.filter { it.isChecked }.map { selectedDays.add(it.text.toString()) }
if (selectedDays.isNotEmpty()) { if (selectedDays.isNotEmpty()) {
binding.tvDaysOrDate.text = if (selectedDays.size == 7) { binding.tvDaysOrDate.text = if (selectedDays.size == 7) {
"매일" getString(R.string.alarm_add_everyday)
} else { } else {
"매주 ${selectedDays.joinToString(", ")}" getString(
R.string.alarm_add_weekly_format,
selectedDays.joinToString(", ")
)
} }
} else { } else {
val dateFormat = SimpleDateFormat( val dateFormat = SimpleDateFormat(
"yyyy년 M월 d일 (E)", getString(R.string.alarm_add_date_format),
Locale.getDefault() Locale.getDefault()
) )
val formattedDate = dateFormat.format(selectedDateCalendar.time) val formattedDate = dateFormat.format(selectedDateCalendar.time)
@@ -226,7 +228,11 @@ class AddAlarmActivity : BaseActivity<ActivityAddAlarmBinding>(
selectedContentTitle.isBlank() || selectedContentTitle.isBlank() ||
selectedContentCreatorNickname.isBlank() selectedContentCreatorNickname.isBlank()
) { ) {
Toast.makeText(applicationContext, "알람 콘텐츠를 선택하세요", Toast.LENGTH_LONG).show() Toast.makeText(
applicationContext,
getString(R.string.alarm_add_select_content_toast),
Toast.LENGTH_LONG
).show()
return false return false
} }

View File

@@ -8,6 +8,7 @@ import android.view.View
import android.widget.Toast import android.widget.Toast
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderListViewModel import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderListViewModel
import kr.co.vividnext.sodalive.audio_content.order.OrderType import kr.co.vividnext.sodalive.audio_content.order.OrderType
import kr.co.vividnext.sodalive.base.BaseActivity import kr.co.vividnext.sodalive.base.BaseActivity
@@ -33,7 +34,7 @@ class AlarmSelectAudioContentActivity : BaseActivity<ActivityAlarmSelectAudioCon
override fun setupView() { override fun setupView() {
loadingDialog = LoadingDialog(this, layoutInflater) loadingDialog = LoadingDialog(this, layoutInflater)
binding.toolbar.tvBack.text = "콘텐츠 선택" binding.toolbar.tvBack.text = getString(R.string.alarm_select_title)
binding.toolbar.tvBack.setOnClickListener { finish() } binding.toolbar.tvBack.setOnClickListener { finish() }
adapter = AlarmSelectAudioContentAdapter { adapter = AlarmSelectAudioContentAdapter {

View File

@@ -64,7 +64,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:contentDescription="@null" android:contentDescription="@string/alarm_add_calendar_content_description"
android:padding="5dp" android:padding="5dp"
android:src="@drawable/ic_calendar" /> android:src="@drawable/ic_calendar" />
</RelativeLayout> </RelativeLayout>
@@ -78,43 +78,43 @@
<CheckBox <CheckBox
android:id="@+id/chk_sun" android:id="@+id/chk_sun"
style="@style/AlarmDayCheckBox" style="@style/AlarmDayCheckBox"
android:text="" /> android:text="@string/day_sun_short" />
<CheckBox <CheckBox
android:id="@+id/chk_mon" android:id="@+id/chk_mon"
style="@style/AlarmDayCheckBox" style="@style/AlarmDayCheckBox"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:text="" /> android:text="@string/day_mon_short" />
<CheckBox <CheckBox
android:id="@+id/chk_tue" android:id="@+id/chk_tue"
style="@style/AlarmDayCheckBox" style="@style/AlarmDayCheckBox"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:text="" /> android:text="@string/day_tue_short" />
<CheckBox <CheckBox
android:id="@+id/chk_wed" android:id="@+id/chk_wed"
style="@style/AlarmDayCheckBox" style="@style/AlarmDayCheckBox"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:text="" /> android:text="@string/day_wed_short" />
<CheckBox <CheckBox
android:id="@+id/chk_thu" android:id="@+id/chk_thu"
style="@style/AlarmDayCheckBox" style="@style/AlarmDayCheckBox"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:text="" /> android:text="@string/day_thu_short" />
<CheckBox <CheckBox
android:id="@+id/chk_fri" android:id="@+id/chk_fri"
style="@style/AlarmDayCheckBox" style="@style/AlarmDayCheckBox"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:text="" /> android:text="@string/day_fri_short" />
<CheckBox <CheckBox
android:id="@+id/chk_sat" android:id="@+id/chk_sat"
style="@style/AlarmDayCheckBox" style="@style/AlarmDayCheckBox"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:text="" /> android:text="@string/day_sat_short" />
</LinearLayout> </LinearLayout>
<View <View
@@ -128,7 +128,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_round_corner_7_transparent_555555" android:background="@drawable/bg_round_corner_7_transparent_555555"
android:hint="알람 이름 입력" android:hint="@string/alarm_add_name_hint"
android:importantForAutofill="no" android:importantForAutofill="no"
android:inputType="text" android:inputType="text"
android:paddingHorizontal="13.3dp" android:paddingHorizontal="13.3dp"
@@ -155,7 +155,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:text="콘텐츠" android:text="@string/alarm_add_content_label"
android:textColor="@color/color_eeeeee" android:textColor="@color/color_eeeeee"
android:textSize="14.7sp" /> android:textSize="14.7sp" />
@@ -165,7 +165,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:text="콘텐츠를 선택해주세요" android:text="@string/alarm_add_content_placeholder"
android:textColor="@color/color_3bb9f1" android:textColor="@color/color_3bb9f1"
android:textSize="12sp" /> android:textSize="12sp" />
</LinearLayout> </LinearLayout>
@@ -184,7 +184,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="21dp" android:layout_marginTop="21dp"
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:text="볼륨" android:text="@string/alarm_add_volume_label"
android:textColor="@color/color_eeeeee" android:textColor="@color/color_eeeeee"
android:textSize="14.7sp" /> android:textSize="14.7sp" />
@@ -214,7 +214,7 @@
android:fontFamily="@font/gmarket_sans_bold" android:fontFamily="@font/gmarket_sans_bold"
android:gravity="center" android:gravity="center"
android:paddingVertical="16dp" android:paddingVertical="16dp"
android:text="취소" android:text="@string/cancel"
android:textColor="@color/color_3bb9f1" android:textColor="@color/color_3bb9f1"
android:textSize="18.3sp" /> android:textSize="18.3sp" />
@@ -228,7 +228,7 @@
android:fontFamily="@font/gmarket_sans_bold" android:fontFamily="@font/gmarket_sans_bold"
android:gravity="center" android:gravity="center"
android:paddingVertical="16dp" android:paddingVertical="16dp"
android:text="저장" android:text="@string/alarm_add_save"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="18.3sp" /> android:textSize="18.3sp" />
</LinearLayout> </LinearLayout>

View File

@@ -23,7 +23,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:gravity="center" android:gravity="center"
android:text="소장중인 콘텐츠가 없습니다.\n콘텐츠 마켓에서 원하는 알람 콘텐츠를 먼저 구매(소장)하세요." android:text="@string/alarm_select_empty"
android:textColor="@android:color/darker_gray" android:textColor="@android:color/darker_gray"
android:textSize="18sp" android:textSize="18sp"
android:visibility="gone" /> android:visibility="gone" />

View File

@@ -155,7 +155,7 @@
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:paddingHorizontal="5.3dp" android:paddingHorizontal="5.3dp"
android:paddingVertical="2.7dp" android:paddingVertical="2.7dp"
android:text="소장중" android:text="@string/alarm_select_badge_owned"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="10.3sp" android:textSize="10.3sp"
android:visibility="gone" android:visibility="gone"
@@ -168,7 +168,7 @@
android:background="@drawable/bg_round_corner_2_6_660fd4" android:background="@drawable/bg_round_corner_2_6_660fd4"
android:paddingHorizontal="5.3dp" android:paddingHorizontal="5.3dp"
android:paddingVertical="2.7dp" android:paddingVertical="2.7dp"
android:text="대여중" android:text="@string/alarm_select_badge_rental"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="10.3sp" android:textSize="10.3sp"
android:visibility="gone" android:visibility="gone"

View File

@@ -453,4 +453,19 @@
<string name="alarm_extra_slot_price_suffix">to get</string> <string name="alarm_extra_slot_price_suffix">to get</string>
<string name="alarm_extra_slot_unlimited">unlimited</string> <string name="alarm_extra_slot_unlimited">unlimited</string>
<string name="alarm_extra_slot_purchase_suffix">slot(s)</string> <string name="alarm_extra_slot_purchase_suffix">slot(s)</string>
<string name="alarm_add_title">Set alarm</string>
<string name="alarm_add_name_hint">Enter alarm name</string>
<string name="alarm_add_content_label">Content</string>
<string name="alarm_add_content_placeholder">Select content</string>
<string name="alarm_add_volume_label">Volume</string>
<string name="alarm_add_save">Save</string>
<string name="alarm_add_everyday">Every day</string>
<string name="alarm_add_weekly_format">Every %1$s</string>
<string name="alarm_add_date_format">yyyy MMM d (EEE)</string>
<string name="alarm_add_select_content_toast">Please select alarm content.</string>
<string name="alarm_add_calendar_content_description">Select date</string>
<string name="alarm_select_title">Select content</string>
<string name="alarm_select_empty">You dont have any owned content.\nPlease purchase alarm content in the content market first.</string>
<string name="alarm_select_badge_owned">Owned</string>
<string name="alarm_select_badge_rental">Rented</string>
</resources> </resources>

View File

@@ -453,4 +453,19 @@
<string name="alarm_extra_slot_price_suffix"></string> <string name="alarm_extra_slot_price_suffix"></string>
<string name="alarm_extra_slot_unlimited">無制限</string> <string name="alarm_extra_slot_unlimited">無制限</string>
<string name="alarm_extra_slot_purchase_suffix">スロットを購入</string> <string name="alarm_extra_slot_purchase_suffix">スロットを購入</string>
<string name="alarm_add_title">アラーム設定</string>
<string name="alarm_add_name_hint">アラーム名を入力</string>
<string name="alarm_add_content_label">コンテンツ</string>
<string name="alarm_add_content_placeholder">コンテンツを選択してください</string>
<string name="alarm_add_volume_label">音量</string>
<string name="alarm_add_save">保存</string>
<string name="alarm_add_everyday">毎日</string>
<string name="alarm_add_weekly_format">毎週 %1$s</string>
<string name="alarm_add_date_format">yyyy年 M月 d日 (E)</string>
<string name="alarm_add_select_content_toast">アラームコンテンツを選択してください。</string>
<string name="alarm_add_calendar_content_description">日付を選択</string>
<string name="alarm_select_title">コンテンツ選択</string>
<string name="alarm_select_empty">所有中のコンテンツがありません。\nアラームに設定するコンテンツをマーケットで購入してください。</string>
<string name="alarm_select_badge_owned">所有中</string>
<string name="alarm_select_badge_rental">レンタル中</string>
</resources> </resources>

View File

@@ -452,4 +452,19 @@
<string name="alarm_extra_slot_price_suffix">으로</string> <string name="alarm_extra_slot_price_suffix">으로</string>
<string name="alarm_extra_slot_unlimited">무제한</string> <string name="alarm_extra_slot_unlimited">무제한</string>
<string name="alarm_extra_slot_purchase_suffix">슬롯 구매하기</string> <string name="alarm_extra_slot_purchase_suffix">슬롯 구매하기</string>
<string name="alarm_add_title">알람 설정</string>
<string name="alarm_add_name_hint">알람 이름 입력</string>
<string name="alarm_add_content_label">콘텐츠</string>
<string name="alarm_add_content_placeholder">콘텐츠를 선택해주세요</string>
<string name="alarm_add_volume_label">볼륨</string>
<string name="alarm_add_save">저장</string>
<string name="alarm_add_everyday">매일</string>
<string name="alarm_add_weekly_format">매주 %1$s</string>
<string name="alarm_add_date_format">yyyy년 M월 d일 (E)</string>
<string name="alarm_add_select_content_toast">알람 콘텐츠를 선택하세요</string>
<string name="alarm_add_calendar_content_description">날짜 선택</string>
<string name="alarm_select_title">콘텐츠 선택</string>
<string name="alarm_select_empty">소장중인 콘텐츠가 없습니다.\n콘텐츠 마켓에서 원하는 알람 콘텐츠를 먼저 구매(소장)하세요.</string>
<string name="alarm_select_badge_owned">소장중</string>
<string name="alarm_select_badge_rental">대여중</string>
</resources> </resources>