Skip to content

Commit 763fc8d

Browse files
committed
feat : 알람 시작 화면 구현
1 parent 12d3ee6 commit 763fc8d

File tree

9 files changed

+185
-172
lines changed

9 files changed

+185
-172
lines changed

data/src/main/java/com/stop/data/repository/AlarmRepositoryImpl.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ internal class AlarmRepositoryImpl @Inject constructor(
1919
alarmUseCaseItem.endPosition,
2020
alarmUseCaseItem.routes,
2121
alarmUseCaseItem.lastTime,
22+
alarmUseCaseItem.walkTime,
2223
alarmUseCaseItem.alarmTime,
2324
alarmUseCaseItem.alarmCode,
2425
alarmUseCaseItem.alarmMethod

domain/src/main/java/com/stop/domain/model/alarm/AlarmUseCaseItem.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ data class AlarmUseCaseItem(
77
val endPosition: String,
88
val routes: List<Route>,
99
val lastTime: String, // 막차 시간 -> 23:30:15 시분초
10+
val walkTime : Int, // 도보시간 -> 분단위
1011
val alarmTime: Int, // 10분 전 알람 설정 -> 10
1112
val alarmCode: Int, // 알람을 식별하기 위한 알람 ID
1213
val alarmMethod: Boolean, // true 소리 false 진동

presentation/src/main/java/com/stop/ui/alarmsetting/AlarmSettingFragment.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import android.view.View
77
import android.view.ViewGroup
88
import androidx.fragment.app.Fragment
99
import androidx.fragment.app.activityViewModels
10-
import androidx.fragment.app.viewModels
1110
import androidx.navigation.findNavController
1211
import androidx.work.PeriodicWorkRequestBuilder
1312
import androidx.work.WorkManager
@@ -27,7 +26,7 @@ class AlarmSettingFragment : Fragment() {
2726
private var _binding: FragmentAlarmSettingBinding? = null
2827
private val binding get() = _binding!!
2928

30-
private val alarmSettingViewModel by viewModels<AlarmSettingViewModel>()
29+
private val alarmSettingViewModel by activityViewModels<AlarmSettingViewModel>()
3130
private val clickRouteViewModel by activityViewModels<ClickRouteViewModel>()
3231

3332
private lateinit var alarmFunctions: AlarmFunctions

presentation/src/main/java/com/stop/ui/alarmstart/AlarmStartFragment.kt

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,43 @@ import android.view.LayoutInflater
66
import android.view.View
77
import android.view.ViewGroup
88
import androidx.fragment.app.Fragment
9+
import androidx.fragment.app.activityViewModels
910
import androidx.navigation.findNavController
1011
import com.stop.R
1112
import com.stop.SoundService
1213
import com.stop.databinding.FragmentAlarmStartBinding
14+
import com.stop.ui.alarmsetting.AlarmSettingViewModel
1315

1416
class AlarmStartFragment : Fragment() {
1517

1618
private var _binding: FragmentAlarmStartBinding? = null
1719
private val binding get() = _binding!!
1820

21+
private val alarmSettingViewModel by activityViewModels<AlarmSettingViewModel>()
22+
1923
override fun onCreateView(
2024
inflater: LayoutInflater, container: ViewGroup?,
2125
savedInstanceState: Bundle?
22-
): View? {
26+
): View {
2327
_binding = FragmentAlarmStartBinding.inflate(
2428
inflater,
2529
container,
2630
false
2731
)
2832

33+
initBinding()
34+
2935
return binding.root
3036
}
3137

38+
private fun initBinding(){
39+
binding.apply {
40+
alarmSettingViewModel.getAlarm()
41+
lifecycleOwner = viewLifecycleOwner
42+
viewModel = alarmSettingViewModel
43+
}
44+
}
45+
3246
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
3347
super.onViewCreated(view, savedInstanceState)
3448

@@ -37,17 +51,22 @@ class AlarmStartFragment : Fragment() {
3751

3852
private fun listenButton() {
3953
with(binding) {
40-
textViewAlarmQuit.setOnClickListener {
41-
val intent = Intent(context, SoundService::class.java)
42-
context?.stopService(intent)
54+
buttonAlarmTurnOff.setOnClickListener {
55+
turnOffSoundService()
4356
}
4457

4558
textViewMissionStart.setOnClickListener {
59+
turnOffSoundService()
4660
root.findNavController().navigate(R.id.action_alarmStartFragment_to_missionFragment)
4761
}
4862
}
4963
}
5064

65+
private fun turnOffSoundService() {
66+
val intent = Intent(context, SoundService::class.java)
67+
requireContext().stopService(intent)
68+
}
69+
5170
override fun onDestroyView() {
5271
_binding = null
5372

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<shape xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:shape="oval">
4+
5+
<solid android:color="@color/purple_700" />
6+
7+
</shape>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<selector xmlns:android="http://schemas.android.com/apk/res/android">
3+
<item android:drawable="@drawable/selected_mission_button" android:state_selected="true" />
4+
<item android:drawable="@drawable/unselected_mission_button" android:state_selected="false" />
5+
</selector>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<shape xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:shape="oval">
4+
5+
<solid android:color="@color/purple_500" />
6+
7+
</shape>

0 commit comments

Comments
 (0)