mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-04-23 14:47:34 +02:00
Fixed issue #77 Do not stop the timer at closing the app
This commit is contained in:
parent
44ac30ada4
commit
f6d9c5aece
@ -377,5 +377,3 @@ fun Context.checkAlarmsWithDeletedSoundUri(uri: String) {
|
|||||||
dbHelper.updateAlarm(it)
|
dbHelper.updateAlarm(it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val Context.preferences: SharedPreferences get() = PreferenceManager.getDefaultSharedPreferences(this)
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package app.common
|
package com.simplemobiletools.clock.extensions.gson
|
||||||
|
|
||||||
|
import com.google.gson.Gson
|
||||||
import com.google.gson.GsonBuilder
|
import com.google.gson.GsonBuilder
|
||||||
import com.google.gson.TypeAdapterFactory
|
import com.google.gson.TypeAdapterFactory
|
||||||
import com.simplemobiletools.clock.extensions.gson.RuntimeTypeAdapterFactory
|
|
||||||
import com.simplemobiletools.clock.services.TimerState
|
import com.simplemobiletools.clock.services.TimerState
|
||||||
|
|
||||||
val timerStates = valueOf<TimerState>()
|
val timerStates = valueOf<TimerState>()
|
||||||
@ -19,4 +19,4 @@ fun GsonBuilder.registerTypes(vararg types: TypeAdapterFactory) = apply {
|
|||||||
types.forEach { registerTypeAdapterFactory(it) }
|
types.forEach { registerTypeAdapterFactory(it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
val gson = GsonBuilder().registerTypes(timerStates).create()
|
val gson: Gson = GsonBuilder().registerTypes(timerStates).create()
|
||||||
|
@ -26,18 +26,9 @@ import org.greenrobot.eventbus.ThreadMode
|
|||||||
class TimerFragment : Fragment() {
|
class TimerFragment : Fragment() {
|
||||||
|
|
||||||
lateinit var view: ViewGroup
|
lateinit var view: ViewGroup
|
||||||
private var timerState: TimerState = TimerState.Idle
|
|
||||||
|
|
||||||
override fun onResume() {
|
|
||||||
super.onResume()
|
|
||||||
|
|
||||||
timerState = requiredActivity.config.timerState
|
|
||||||
updateViewStates(timerState)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
EventBus.getDefault().register(this)
|
EventBus.getDefault().register(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,9 +58,7 @@ class TimerFragment : Fragment() {
|
|||||||
timer_sound.colorLeftDrawable(textColor)
|
timer_sound.colorLeftDrawable(textColor)
|
||||||
|
|
||||||
timer_time.setOnClickListener {
|
timer_time.setOnClickListener {
|
||||||
EventBus.getDefault().post(TimerState.Idle)
|
stopTimer()
|
||||||
requiredActivity.hideTimerNotification()
|
|
||||||
requiredActivity.toast(R.string.timer_stopped)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
timer_play_pause.setOnClickListener {
|
timer_play_pause.setOnClickListener {
|
||||||
@ -77,9 +66,7 @@ class TimerFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
timer_reset.setOnClickListener {
|
timer_reset.setOnClickListener {
|
||||||
EventBus.getDefault().post(TimerState.Idle)
|
stopTimer()
|
||||||
requiredActivity.hideTimerNotification()
|
|
||||||
requiredActivity.toast(R.string.timer_stopped)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
timer_initial_time.setOnClickListener {
|
timer_initial_time.setOnClickListener {
|
||||||
@ -117,6 +104,12 @@ class TimerFragment : Fragment() {
|
|||||||
return view
|
return view
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun stopTimer() {
|
||||||
|
EventBus.getDefault().post(TimerState.Idle)
|
||||||
|
requiredActivity.hideTimerNotification()
|
||||||
|
requiredActivity.toast(R.string.timer_stopped)
|
||||||
|
}
|
||||||
|
|
||||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||||
fun onMessageEvent(state: TimerState.Idle) {
|
fun onMessageEvent(state: TimerState.Idle) {
|
||||||
view.timer_time.text = 0.getFormattedDuration()
|
view.timer_time.text = 0.getFormattedDuration()
|
||||||
|
@ -1,15 +1,13 @@
|
|||||||
package com.simplemobiletools.clock.helpers
|
package com.simplemobiletools.clock.helpers
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import app.common.gson
|
import com.simplemobiletools.clock.extensions.gson.gson
|
||||||
import com.google.gson.Gson
|
|
||||||
import com.simplemobiletools.clock.services.StateWrapper
|
import com.simplemobiletools.clock.services.StateWrapper
|
||||||
import com.simplemobiletools.clock.services.TimerState
|
import com.simplemobiletools.clock.services.TimerState
|
||||||
import com.simplemobiletools.commons.extensions.getDefaultAlarmTitle
|
import com.simplemobiletools.commons.extensions.getDefaultAlarmTitle
|
||||||
import com.simplemobiletools.commons.extensions.getDefaultAlarmUri
|
import com.simplemobiletools.commons.extensions.getDefaultAlarmUri
|
||||||
import com.simplemobiletools.commons.helpers.ALARM_SOUND_TYPE_ALARM
|
import com.simplemobiletools.commons.helpers.ALARM_SOUND_TYPE_ALARM
|
||||||
import com.simplemobiletools.commons.helpers.BaseConfig
|
import com.simplemobiletools.commons.helpers.BaseConfig
|
||||||
import java.sql.Time
|
|
||||||
|
|
||||||
class Config(context: Context) : BaseConfig(context) {
|
class Config(context: Context) : BaseConfig(context) {
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -12,7 +12,10 @@ import android.os.CountDownTimer
|
|||||||
import android.os.IBinder
|
import android.os.IBinder
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import com.simplemobiletools.clock.R
|
import com.simplemobiletools.clock.R
|
||||||
import com.simplemobiletools.clock.extensions.*
|
import com.simplemobiletools.clock.extensions.config
|
||||||
|
import com.simplemobiletools.clock.extensions.getOpenTimerTabIntent
|
||||||
|
import com.simplemobiletools.clock.extensions.getTimerNotification
|
||||||
|
import com.simplemobiletools.clock.extensions.secondsToMillis
|
||||||
import com.simplemobiletools.clock.helpers.TIMER_NOTIF_ID
|
import com.simplemobiletools.clock.helpers.TIMER_NOTIF_ID
|
||||||
import com.simplemobiletools.clock.helpers.TIMER_RUNNING_NOTIF_ID
|
import com.simplemobiletools.clock.helpers.TIMER_RUNNING_NOTIF_ID
|
||||||
import com.simplemobiletools.commons.extensions.getFormattedDuration
|
import com.simplemobiletools.commons.extensions.getFormattedDuration
|
||||||
@ -87,7 +90,6 @@ class TimerService : Service() {
|
|||||||
val pendingIntent = getOpenTimerTabIntent()
|
val pendingIntent = getOpenTimerTabIntent()
|
||||||
val notification = getTimerNotification(pendingIntent, false) //MAYBE IN FUTURE ADD TIME TO NOTIFICATION
|
val notification = getTimerNotification(pendingIntent, false) //MAYBE IN FUTURE ADD TIME TO NOTIFICATION
|
||||||
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
||||||
|
|
||||||
notificationManager.notify(TIMER_NOTIF_ID, notification)
|
notificationManager.notify(TIMER_NOTIF_ID, notification)
|
||||||
|
|
||||||
bus.post(TimerState.Idle)
|
bus.post(TimerState.Idle)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user