新增:自动任务·快捷指令 —— 执行动作:播放警报 #385
This commit is contained in:
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…
Reference in New Issue