mirror of
https://github.com/pppscn/SmsForwarder
synced 2025-08-03 01:17:41 +08:00
新增:自动任务·快捷指令 —— 执行动作:播放警报 #385
This commit is contained in:
parent
9aeca6f3f6
commit
117a2e42d9
@ -5,7 +5,7 @@ import java.io.Serializable
|
|||||||
data class AlarmSetting(
|
data class AlarmSetting(
|
||||||
var description: String = "", //描述
|
var description: String = "", //描述
|
||||||
var action: String = "stop", //动作: start=启动警报, stop=停止警报
|
var action: String = "stop", //动作: start=启动警报, stop=停止警报
|
||||||
var volume: Int = 100, //播放音量
|
var volume: Int = 80, //播放音量
|
||||||
var loopTimes: Int = 5, //循环次数,0=无限循环
|
var playTimes: Int = 1, //播放次数,0=无限循环
|
||||||
var music: String = "", //音乐文件
|
var music: String = "", //音乐文件
|
||||||
) : Serializable
|
) : Serializable
|
||||||
|
@ -96,11 +96,11 @@ class AlarmFragment : BaseFragment<FragmentTasksActionAlarmBinding?>(), View.OnC
|
|||||||
binding!!.layoutAlarmSettings.visibility = View.GONE
|
binding!!.layoutAlarmSettings.visibility = View.GONE
|
||||||
}
|
}
|
||||||
binding!!.xsbVolume.setDefaultValue(settingVo.volume)
|
binding!!.xsbVolume.setDefaultValue(settingVo.volume)
|
||||||
binding!!.xsbLoopTimes.setDefaultValue(settingVo.loopTimes)
|
binding!!.xsbLoopTimes.setDefaultValue(settingVo.playTimes)
|
||||||
binding!!.etMusicPath.setText(settingVo.music)
|
binding!!.etMusicPath.setText(settingVo.music)
|
||||||
} else {
|
} else {
|
||||||
binding!!.xsbVolume.setDefaultValue(100)
|
binding!!.xsbVolume.setDefaultValue(80)
|
||||||
binding!!.xsbLoopTimes.setDefaultValue(5)
|
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) {
|
val action = if (binding!!.rgAlarmState.checkedRadioButtonId == R.id.rb_start_alarm) {
|
||||||
description.append(getString(R.string.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_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()) {
|
if (music.isNotEmpty()) {
|
||||||
description.append(", ").append(getString(R.string.alarm_music)).append(":").append(music)
|
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 alarmPlayer: MediaPlayer? = null
|
||||||
private var alarmLoopCount = 0
|
private var alarmPlayTimes = 0
|
||||||
private val alarmObserver = Observer<AlarmSetting> { alarm ->
|
private val alarmObserver = Observer<AlarmSetting> { alarm ->
|
||||||
Log.d(TAG, "Received alarm: $alarm")
|
Log.d(TAG, "Received alarm: $alarm")
|
||||||
alarmPlayer?.release()
|
alarmPlayer?.release()
|
||||||
@ -109,21 +109,22 @@ class ForegroundService : Service() {
|
|||||||
setOnPreparedListener {
|
setOnPreparedListener {
|
||||||
Log.d(TAG, "MediaPlayer prepared")
|
Log.d(TAG, "MediaPlayer prepared")
|
||||||
start()
|
start()
|
||||||
|
alarmPlayTimes++
|
||||||
//更新通知栏
|
//更新通知栏
|
||||||
updateNotification(alarm.description, R.drawable.auto_task_icon_alarm, true)
|
updateNotification(alarm.description, R.drawable.auto_task_icon_alarm, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
setOnCompletionListener {
|
setOnCompletionListener {
|
||||||
Log.d(TAG, "MediaPlayer completed")
|
Log.d(TAG, "MediaPlayer completed")
|
||||||
if (alarm.loopTimes == 0 || alarmLoopCount < alarm.loopTimes) {
|
if (alarm.playTimes == 0 || alarmPlayTimes < alarm.playTimes) {
|
||||||
start()
|
start()
|
||||||
alarmLoopCount++
|
alarmPlayTimes++
|
||||||
} else {
|
} else {
|
||||||
stop()
|
stop()
|
||||||
reset()
|
reset()
|
||||||
release()
|
release()
|
||||||
alarmPlayer = null
|
alarmPlayer = null
|
||||||
alarmLoopCount = 0
|
alarmPlayTimes = 0
|
||||||
//恢复音量
|
//恢复音量
|
||||||
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, currentVolume, 0)
|
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, currentVolume, 0)
|
||||||
//恢复通知栏
|
//恢复通知栏
|
||||||
|
@ -130,7 +130,7 @@
|
|||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/alarm_loop_times"
|
android:text="@string/alarm_play_times"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<com.xuexiang.xui.widget.picker.XSeekBar
|
<com.xuexiang.xui.widget.picker.XSeekBar
|
||||||
|
@ -1364,5 +1364,5 @@
|
|||||||
<string name="alarm_music">Specify Music</string>
|
<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_music_tips">Optional, download mp3/ogg/wav to the Download directory.</string>
|
||||||
<string name="alarm_volume">Alarm Volume</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>
|
</resources>
|
||||||
|
@ -1365,5 +1365,5 @@
|
|||||||
<string name="alarm_music">指定音乐</string>
|
<string name="alarm_music">指定音乐</string>
|
||||||
<string name="alarm_music_tips">可选,下载 mp3/ogg/wav 到 Download 目录</string>
|
<string name="alarm_music_tips">可选,下载 mp3/ogg/wav 到 Download 目录</string>
|
||||||
<string name="alarm_volume">播放音量</string>
|
<string name="alarm_volume">播放音量</string>
|
||||||
<string name="alarm_loop_times">循环次数(0=无限)</string>
|
<string name="alarm_play_times">播放次数(0=无限)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1366,5 +1366,5 @@
|
|||||||
<string name="alarm_music">指定音樂</string>
|
<string name="alarm_music">指定音樂</string>
|
||||||
<string name="alarm_music_tips">可選,下載 mp3/ogg/wav 到 Download 目錄</string>
|
<string name="alarm_music_tips">可選,下載 mp3/ogg/wav 到 Download 目錄</string>
|
||||||
<string name="alarm_volume">播放音量</string>
|
<string name="alarm_volume">播放音量</string>
|
||||||
<string name="alarm_loop_times">循環次數(0=無限)</string>
|
<string name="alarm_play_times">播放次數(0=無限)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1365,5 +1365,5 @@
|
|||||||
<string name="alarm_music">指定音乐</string>
|
<string name="alarm_music">指定音乐</string>
|
||||||
<string name="alarm_music_tips">可选,下载 mp3/ogg/wav 到 Download 目录</string>
|
<string name="alarm_music_tips">可选,下载 mp3/ogg/wav 到 Download 目录</string>
|
||||||
<string name="alarm_volume">播放音量</string>
|
<string name="alarm_volume">播放音量</string>
|
||||||
<string name="alarm_loop_times">循环次数(0=无限)</string>
|
<string name="alarm_play_times">播放次数(0=无限)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user