From f863e627b49ea22119cd4da50518463bca41c931 Mon Sep 17 00:00:00 2001 From: thrillfall Date: Tue, 16 Jan 2024 12:44:52 +0100 Subject: [PATCH] - #1270 add sleep timer --- .../dialog/SleepTimePickerDialog.kt | 40 +++++++++++++++++++ .../ultrasonic/fragment/PlayerFragment.kt | 20 ++++++++++ .../src/main/res/drawable/time_sleep.xml | 31 ++++++++++++++ .../main/res/layout/sleep_minutes_picker.xml | 24 +++++++++++ ultrasonic/src/main/res/menu/nowplaying.xml | 5 +++ ultrasonic/src/main/res/values/strings.xml | 2 + 6 files changed, 122 insertions(+) create mode 100644 ultrasonic/src/main/kotlin/org/moire/ultrasonic/dialog/SleepTimePickerDialog.kt create mode 100644 ultrasonic/src/main/res/drawable/time_sleep.xml create mode 100644 ultrasonic/src/main/res/layout/sleep_minutes_picker.xml diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/dialog/SleepTimePickerDialog.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/dialog/SleepTimePickerDialog.kt new file mode 100644 index 00000000..35e03a83 --- /dev/null +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/dialog/SleepTimePickerDialog.kt @@ -0,0 +1,40 @@ +package org.moire.ultrasonic.dialog + +import android.app.Dialog +import android.content.Context +import android.os.Bundle +import android.widget.Button +import android.widget.NumberPicker +import org.moire.ultrasonic.R + +class SleepTimePickerDialog(context: Context, private val onTimeSetListener: OnTimeSetListener) : + + Dialog(context) { + + private val minMinutes: Int = 1 + private val maxxMinutes: Int = 90 + private val presetMinutes: Int = 30 + + private lateinit var minutePicker: NumberPicker + + interface OnTimeSetListener { + fun onTimeSet(minutes: Int) + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.sleep_minutes_picker) + + minutePicker = findViewById(R.id.minutePicker) + val setButton = findViewById