@@ -7,6 +7,8 @@ import android.media.RingtoneManager
77import android.text.format.DateFormat
88import android.widget.TextView
99import androidx.appcompat.app.AlertDialog
10+ import com.google.android.material.timepicker.MaterialTimePicker
11+ import com.google.android.material.timepicker.TimeFormat
1012import com.simplemobiletools.clock.R
1113import com.simplemobiletools.clock.activities.SimpleActivity
1214import com.simplemobiletools.clock.extensions.*
@@ -31,14 +33,34 @@ class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callba
3133
3234 view.apply {
3335 edit_alarm_time.setOnClickListener {
34- TimePickerDialog (
35- context,
36- context.getTimePickerDialogTheme(),
37- timeSetListener,
38- alarm.timeInMinutes / 60 ,
39- alarm.timeInMinutes % 60 ,
40- DateFormat .is24HourFormat(activity)
41- ).show()
36+ if (activity.config.isUsingSystemTheme) {
37+ val timeFormat = if (DateFormat .is24HourFormat(activity)) {
38+ TimeFormat .CLOCK_24H
39+ } else {
40+ TimeFormat .CLOCK_12H
41+ }
42+
43+ val timePicker = MaterialTimePicker .Builder ()
44+ .setTimeFormat(timeFormat)
45+ .setHour(alarm.timeInMinutes / 60 )
46+ .setMinute(alarm.timeInMinutes % 60 )
47+ .build()
48+
49+ timePicker.addOnPositiveButtonClickListener {
50+ timePicked(timePicker.hour, timePicker.minute)
51+ }
52+
53+ timePicker.show(activity.supportFragmentManager, " " )
54+ } else {
55+ TimePickerDialog (
56+ context,
57+ context.getTimePickerDialogTheme(),
58+ timeSetListener,
59+ alarm.timeInMinutes / 60 ,
60+ alarm.timeInMinutes % 60 ,
61+ DateFormat .is24HourFormat(activity)
62+ ).show()
63+ }
4264 }
4365
4466 edit_alarm_sound.colorCompoundDrawable(textColor)
@@ -169,7 +191,11 @@ class EditAlarmDialog(val activity: SimpleActivity, val alarm: Alarm, val callba
169191 }
170192
171193 private val timeSetListener = TimePickerDialog .OnTimeSetListener { view, hourOfDay, minute ->
172- alarm.timeInMinutes = hourOfDay * 60 + minute
194+ timePicked(hourOfDay, minute)
195+ }
196+
197+ private fun timePicked (hours : Int , minutes : Int ) {
198+ alarm.timeInMinutes = hours * 60 + minutes
173199 updateAlarmTime()
174200 }
175201
0 commit comments