新增:自动任务·快捷指令 —— 执行动作:播放警报 #385

pull/408/head
pppscn 5 months ago
parent 9aeca6f3f6
commit 117a2e42d9

@ -5,7 +5,7 @@ import java.io.Serializable
data class AlarmSetting(
var description: String = "", //描述
var action: String = "stop", //动作: start=启动警报, stop=停止警报
var volume: Int = 100, //播放音量
var loopTimes: Int = 5, //循环次数0=无限循环
var volume: Int = 80, //播放音量
var playTimes: Int = 1, //播放次数0=无限循环
var music: String = "", //音乐文件
) : Serializable

@ -96,11 +96,11 @@ class AlarmFragment : BaseFragment<FragmentTasksActionAlarmBinding?>(), View.OnC
binding!!.layoutAlarmSettings.visibility = View.GONE
}
binding!!.xsbVolume.setDefaultValue(settingVo.volume)
binding!!.xsbLoopTimes.setDefaultValue(settingVo.loopTimes)
binding!!.xsbLoopTimes.setDefaultValue(settingVo.playTimes)
binding!!.etMusicPath.setText(settingVo.music)
} else {
binding!!.xsbVolume.setDefaultValue(100)
binding!!.xsbLoopTimes.setDefaultValue(5)
binding!!.xsbVolume.setDefaultValue(80)
binding!!.xsbLoopTimes.setDefaultValue(1)
}
}
@ -250,7 +250,7 @@ class AlarmFragment : BaseFragment<FragmentTasksActionAlarmBinding?>(), View.OnC
val action = if (binding!!.rgAlarmState.checkedRadioButtonId == R.id.rb_start_alarm) {
description.append(getString(R.string.start_alarm))
description.append(", ").append(getString(R.string.alarm_volume)).append(":").append(volume).append("%")
description.append(", ").append(getString(R.string.alarm_loop_times)).append(":").append(loopTimes)
description.append(", ").append(getString(R.string.alarm_play_times)).append(":").append(loopTimes)
if (music.isNotEmpty()) {
description.append(", ").append(getString(R.string.alarm_music)).append(":").append(music)
}

@ -74,7 +74,7 @@ class ForegroundService : Service() {
}
private var alarmPlayer: MediaPlayer? = null
private var alarmLoopCount = 0
private var alarmPlayTimes = 0
private val alarmObserver = Observer<AlarmSetting> { alarm ->
Log.d(TAG, "Received alarm: $alarm")
alarmPlayer?.release()
@ -109,21 +109,22 @@ class ForegroundService : Service() {
setOnPreparedListener {
Log.d(TAG, "MediaPlayer prepared")
start()
alarmPlayTimes++
//更新通知栏
updateNotification(alarm.description, R.drawable.auto_task_icon_alarm, true)
}
setOnCompletionListener {
Log.d(TAG, "MediaPlayer completed")
if (alarm.loopTimes == 0 || alarmLoopCount < alarm.loopTimes) {
if (alarm.playTimes == 0 || alarmPlayTimes < alarm.playTimes) {
start()
alarmLoopCount++
alarmPlayTimes++
} else {
stop()
reset()
release()
alarmPlayer = null
alarmLoopCount = 0
alarmPlayTimes = 0
//恢复音量
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, currentVolume, 0)
//恢复通知栏

@ -130,7 +130,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/alarm_loop_times"
android:text="@string/alarm_play_times"
android:textStyle="bold" />
<com.xuexiang.xui.widget.picker.XSeekBar

@ -1364,5 +1364,5 @@
<string name="alarm_music">Specify Music</string>
<string name="alarm_music_tips">Optional, download mp3/ogg/wav to the Download directory.</string>
<string name="alarm_volume">Alarm Volume</string>
<string name="alarm_loop_times">Loop Times(0=Infinite)</string>
<string name="alarm_play_times">Play Times(0=Infinite)</string>
</resources>

@ -1365,5 +1365,5 @@
<string name="alarm_music">指定音乐</string>
<string name="alarm_music_tips">可选,下载 mp3/ogg/wav 到 Download 目录</string>
<string name="alarm_volume">播放音量</string>
<string name="alarm_loop_times">循环次数(0=无限)</string>
<string name="alarm_play_times">播放次数(0=无限)</string>
</resources>

@ -1366,5 +1366,5 @@
<string name="alarm_music">指定音樂</string>
<string name="alarm_music_tips">可選,下載 mp3/ogg/wav 到 Download 目錄</string>
<string name="alarm_volume">播放音量</string>
<string name="alarm_loop_times">循環次數(0=無限)</string>
<string name="alarm_play_times">播放次數(0=無限)</string>
</resources>

@ -1365,5 +1365,5 @@
<string name="alarm_music">指定音乐</string>
<string name="alarm_music_tips">可选,下载 mp3/ogg/wav 到 Download 目录</string>
<string name="alarm_volume">播放音量</string>
<string name="alarm_loop_times">循环次数(0=无限)</string>
<string name="alarm_play_times">播放次数(0=无限)</string>
</resources>

Loading…
Cancel
Save