mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-04-02 21:01:02 +02:00
make sure we launch startForeground from the main thread
This commit is contained in:
parent
d77dd0e992
commit
732704c5d4
@ -63,7 +63,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.github.SimpleMobileTools:Simple-Commons:c8c3073668'
|
implementation 'com.github.SimpleMobileTools:Simple-Commons:0e71682b27'
|
||||||
implementation 'com.facebook.stetho:stetho:1.5.0'
|
implementation 'com.facebook.stetho:stetho:1.5.0'
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
|
||||||
implementation 'com.shawnlin:number-picker:2.4.6'
|
implementation 'com.shawnlin:number-picker:2.4.6'
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||||
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
|
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
|
||||||
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
|
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
|
||||||
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
|
|
||||||
<uses-permission
|
<uses-permission
|
||||||
android:name="android.permission.ACCESS_NETWORK_STATE"
|
android:name="android.permission.ACCESS_NETWORK_STATE"
|
||||||
|
@ -5,7 +5,9 @@ import android.app.NotificationManager
|
|||||||
import android.app.Service
|
import android.app.Service
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.os.Handler
|
||||||
import android.os.IBinder
|
import android.os.IBinder
|
||||||
|
import android.os.Looper
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import com.simplemobiletools.clock.R
|
import com.simplemobiletools.clock.R
|
||||||
@ -110,7 +112,9 @@ class StopwatchService : Service() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun startStopwatchService(context: Context) {
|
fun startStopwatchService(context: Context) {
|
||||||
ContextCompat.startForegroundService(context, Intent(context, StopwatchService::class.java))
|
Handler(Looper.getMainLooper()).post {
|
||||||
|
ContextCompat.startForegroundService(context, Intent(context, StopwatchService::class.java))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
object StopwatchStopService
|
object StopwatchStopService
|
||||||
|
@ -6,7 +6,9 @@ import android.app.NotificationManager
|
|||||||
import android.app.Service
|
import android.app.Service
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.os.Handler
|
||||||
import android.os.IBinder
|
import android.os.IBinder
|
||||||
|
import android.os.Looper
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import com.simplemobiletools.clock.R
|
import com.simplemobiletools.clock.R
|
||||||
@ -50,7 +52,10 @@ class TimerService : Service() {
|
|||||||
firstTimer.label.isNotEmpty() -> getString(R.string.timer_single_notification_label_msg, firstTimer.label)
|
firstTimer.label.isNotEmpty() -> getString(R.string.timer_single_notification_label_msg, firstTimer.label)
|
||||||
else -> resources.getQuantityString(R.plurals.timer_notification_msg, runningTimers.size, runningTimers.size)
|
else -> resources.getQuantityString(R.plurals.timer_notification_msg, runningTimers.size, runningTimers.size)
|
||||||
}
|
}
|
||||||
startForeground(TIMER_RUNNING_NOTIF_ID, notification(formattedDuration, contextText, firstTimer.id!!))
|
|
||||||
|
Handler(Looper.getMainLooper()).post {
|
||||||
|
startForeground(TIMER_RUNNING_NOTIF_ID, notification(formattedDuration, contextText, firstTimer.id!!))
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
stopService()
|
stopService()
|
||||||
}
|
}
|
||||||
@ -109,7 +114,9 @@ class TimerService : Service() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun startTimerService(context: Context) {
|
fun startTimerService(context: Context) {
|
||||||
ContextCompat.startForegroundService(context, Intent(context, TimerService::class.java))
|
Handler(Looper.getMainLooper()).post {
|
||||||
|
ContextCompat.startForegroundService(context, Intent(context, TimerService::class.java))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
object TimerStopService
|
object TimerStopService
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
ext.kotlin_version = '1.6.20'
|
ext.kotlin_version = '1.6.21'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user