make sure we launch startForeground from the main thread

This commit is contained in:
tibbi 2022-05-19 10:30:45 +02:00
parent d77dd0e992
commit 732704c5d4
5 changed files with 17 additions and 5 deletions

View File

@ -63,7 +63,7 @@ android {
}
dependencies {
implementation 'com.github.SimpleMobileTools:Simple-Commons:c8c3073668'
implementation 'com.github.SimpleMobileTools:Simple-Commons:0e71682b27'
implementation 'com.facebook.stetho:stetho:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'com.shawnlin:number-picker:2.4.6'

View File

@ -8,6 +8,7 @@
<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.SCHEDULE_EXACT_ALARM" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"

View File

@ -5,7 +5,9 @@ import android.app.NotificationManager
import android.app.Service
import android.content.Context
import android.content.Intent
import android.os.Handler
import android.os.IBinder
import android.os.Looper
import androidx.core.app.NotificationCompat
import androidx.core.content.ContextCompat
import com.simplemobiletools.clock.R
@ -110,7 +112,9 @@ class StopwatchService : Service() {
}
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

View File

@ -6,7 +6,9 @@ import android.app.NotificationManager
import android.app.Service
import android.content.Context
import android.content.Intent
import android.os.Handler
import android.os.IBinder
import android.os.Looper
import androidx.core.app.NotificationCompat
import androidx.core.content.ContextCompat
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)
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 {
stopService()
}
@ -109,7 +114,9 @@ class TimerService : Service() {
}
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

View File

@ -1,7 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.6.20'
ext.kotlin_version = '1.6.21'
repositories {
google()