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

View File

@@ -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.order.AudioContentOrderListViewModel
import kr.co.vividnext.sodalive.audio_content.order.OrderType
import kr.co.vividnext.sodalive.base.BaseActivity
@@ -33,7 +34,7 @@ class AlarmSelectAudioContentActivity : BaseActivity<ActivityAlarmSelectAudioCon
override fun setupView() {
loadingDialog = LoadingDialog(this, layoutInflater)
binding.toolbar.tvBack.text = "콘텐츠 선택"
binding.toolbar.tvBack.text = getString(R.string.alarm_select_title)
binding.toolbar.tvBack.setOnClickListener { finish() }
adapter = AlarmSelectAudioContentAdapter {

View File

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

View File

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

View File

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

View File

@@ -453,4 +453,19 @@
<string name="alarm_extra_slot_price_suffix">to get</string>
<string name="alarm_extra_slot_unlimited">unlimited</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>

View File

@@ -453,4 +453,19 @@
<string name="alarm_extra_slot_price_suffix"></string>
<string name="alarm_extra_slot_unlimited">無制限</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>

View File

@@ -452,4 +452,19 @@
<string name="alarm_extra_slot_price_suffix">으로</string>
<string name="alarm_extra_slot_unlimited">무제한</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>