AlarmListActivity 문자열 리소스화
This commit is contained in:
@@ -37,10 +37,13 @@ class AlarmAdapter(
|
||||
private val binding: ItemAlarmBinding
|
||||
) : RecyclerView.ViewHolder(binding.root) {
|
||||
fun bind(alarm: Alarm) {
|
||||
val context = binding.root.context
|
||||
binding.tvTitle.text = alarm.title
|
||||
binding.tvAmpm.text = SimpleDateFormat("a", Locale.getDefault())
|
||||
val amPmPattern = context.getString(R.string.alarm_list_ampm_format)
|
||||
binding.tvAmpm.text = SimpleDateFormat(amPmPattern, Locale.getDefault())
|
||||
.format(alarm.time)
|
||||
binding.tvTime.text = SimpleDateFormat("hh:mm", Locale.getDefault())
|
||||
val timePattern = context.getString(R.string.alarm_list_time_format)
|
||||
binding.tvTime.text = SimpleDateFormat(timePattern, Locale.getDefault())
|
||||
.format(alarm.time)
|
||||
binding.tvDays.text = if (alarm.days.isNotEmpty()) {
|
||||
alarm.getDaysText()
|
||||
@@ -52,9 +55,9 @@ class AlarmAdapter(
|
||||
val pattern = if (
|
||||
currentCalendar.get(Calendar.YEAR) == alarmCalendar.get(Calendar.YEAR)
|
||||
) {
|
||||
"M월 d일 (E)"
|
||||
context.getString(R.string.alarm_list_date_same_year_format)
|
||||
} else {
|
||||
"yyyy년 M월 d일 (E)"
|
||||
context.getString(R.string.alarm_list_date_diff_year_format)
|
||||
}
|
||||
|
||||
SimpleDateFormat(pattern, Locale.getDefault())
|
||||
|
||||
@@ -19,6 +19,7 @@ import androidx.core.app.NotificationManagerCompat
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.gun0912.tedpermission.PermissionListener
|
||||
import com.gun0912.tedpermission.normal.TedPermission
|
||||
import kr.co.vividnext.sodalive.R
|
||||
import kr.co.vividnext.sodalive.base.BaseActivity
|
||||
import kr.co.vividnext.sodalive.base.SodaDialog
|
||||
import kr.co.vividnext.sodalive.common.Constants
|
||||
@@ -27,6 +28,7 @@ import kr.co.vividnext.sodalive.databinding.ActivityAlarmListBinding
|
||||
import kr.co.vividnext.sodalive.extensions.moneyFormat
|
||||
import kr.co.vividnext.sodalive.mypage.alarm.db.Alarm
|
||||
import org.koin.android.ext.android.inject
|
||||
import androidx.core.net.toUri
|
||||
|
||||
class AlarmListActivity : BaseActivity<ActivityAlarmListBinding>(
|
||||
ActivityAlarmListBinding::inflate
|
||||
@@ -55,13 +57,14 @@ class AlarmListActivity : BaseActivity<ActivityAlarmListBinding>(
|
||||
}
|
||||
|
||||
private fun checkAndRequestOverlayPermission() {
|
||||
val permissionMessage = getString(R.string.alarm_list_overlay_permission_required)
|
||||
requestOverlayPermissionLauncher = registerForActivityResult(
|
||||
ActivityResultContracts.StartActivityForResult()
|
||||
) {
|
||||
if (!Settings.canDrawOverlays(this)) {
|
||||
Toast.makeText(
|
||||
this,
|
||||
"알람서비스를 이용하시려면 다른 앱 위에 표시 권한을 허용하셔야 합니다.",
|
||||
permissionMessage,
|
||||
Toast.LENGTH_SHORT
|
||||
).show()
|
||||
|
||||
@@ -72,12 +75,12 @@ class AlarmListActivity : BaseActivity<ActivityAlarmListBinding>(
|
||||
if (!Settings.canDrawOverlays(this)) {
|
||||
Toast.makeText(
|
||||
this,
|
||||
"알람서비스를 이용하시려면 다른 앱 위에 표시 권한을 허용하셔야 합니다.",
|
||||
permissionMessage,
|
||||
Toast.LENGTH_SHORT
|
||||
).show()
|
||||
val intent = Intent(
|
||||
Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
|
||||
Uri.parse("package:$packageName")
|
||||
"package:$packageName".toUri()
|
||||
)
|
||||
requestOverlayPermissionLauncher.launch(intent)
|
||||
}
|
||||
@@ -85,6 +88,7 @@ class AlarmListActivity : BaseActivity<ActivityAlarmListBinding>(
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.S)
|
||||
private fun checkAndRequestExactAlarmPermission() {
|
||||
val permissionMessage = getString(R.string.alarm_list_exact_alarm_permission_required)
|
||||
requestExactAlarmPermissionLauncher = registerForActivityResult(
|
||||
ActivityResultContracts.StartActivityForResult()
|
||||
) {
|
||||
@@ -92,7 +96,7 @@ class AlarmListActivity : BaseActivity<ActivityAlarmListBinding>(
|
||||
if (!alarmManager.canScheduleExactAlarms()) {
|
||||
Toast.makeText(
|
||||
this,
|
||||
"알람서비스를 이용하시려면 권한을 허용하셔야 합니다.",
|
||||
permissionMessage,
|
||||
Toast.LENGTH_SHORT
|
||||
).show()
|
||||
finish()
|
||||
@@ -109,7 +113,7 @@ class AlarmListActivity : BaseActivity<ActivityAlarmListBinding>(
|
||||
override fun setupView() {
|
||||
loadingDialog = LoadingDialog(this, layoutInflater)
|
||||
|
||||
binding.tvBack.text = "보이스 모닝콜 등록"
|
||||
binding.tvBack.text = getString(R.string.alarm_list_title)
|
||||
binding.tvBack.setOnClickListener { finish() }
|
||||
binding.ivPlus.setOnClickListener {
|
||||
startActivity(
|
||||
@@ -209,7 +213,7 @@ class AlarmListActivity : BaseActivity<ActivityAlarmListBinding>(
|
||||
}
|
||||
})
|
||||
.setDeniedMessage(
|
||||
"권한을 거부하시면 알람서비스를 이용하실 수 없습니다."
|
||||
getString(R.string.alarm_list_post_notification_denied)
|
||||
)
|
||||
.setPermissions(*permissions.toTypedArray())
|
||||
.check()
|
||||
@@ -220,19 +224,19 @@ class AlarmListActivity : BaseActivity<ActivityAlarmListBinding>(
|
||||
SodaDialog(
|
||||
this,
|
||||
layoutInflater,
|
||||
title = "알림",
|
||||
desc = "알람을 삭제하시겠습니까?",
|
||||
confirmButtonTitle = "삭제",
|
||||
title = getString(R.string.dialog_alert_title),
|
||||
desc = getString(R.string.alarm_list_delete_desc),
|
||||
confirmButtonTitle = getString(R.string.confirm_delete_title),
|
||||
confirmButtonClick = {
|
||||
alarmViewModel.delete(alarm)
|
||||
Toast.makeText(
|
||||
applicationContext,
|
||||
"알람이 삭제되었습니다.",
|
||||
getString(R.string.alarm_list_delete_toast),
|
||||
Toast.LENGTH_SHORT
|
||||
).show()
|
||||
adapterRefresh()
|
||||
},
|
||||
cancelButtonTitle = "취소",
|
||||
cancelButtonTitle = getString(R.string.cancel),
|
||||
).show(screenWidth)
|
||||
}
|
||||
|
||||
@@ -240,11 +244,11 @@ class AlarmListActivity : BaseActivity<ActivityAlarmListBinding>(
|
||||
SodaDialog(
|
||||
this,
|
||||
layoutInflater,
|
||||
title = "알림",
|
||||
desc = "추가 슬롯을 구매하시겠습니까?",
|
||||
confirmButtonTitle = "구매",
|
||||
title = getString(R.string.dialog_alert_title),
|
||||
desc = getString(R.string.alarm_list_buy_desc),
|
||||
confirmButtonTitle = getString(R.string.alarm_list_buy_confirm),
|
||||
confirmButtonClick = { viewModel.buyExtraSlot() },
|
||||
cancelButtonTitle = "취소",
|
||||
cancelButtonTitle = getString(R.string.cancel),
|
||||
).show(screenWidth)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user