@@ -4,7 +4,6 @@ import android.annotation.SuppressLint
44import android.app.*
55import android.content.*
66import android.content.pm.PackageManager
7- import android.content.pm.ServiceInfo
87import android.graphics.Color
98import android.net.wifi.WifiManager
109import android.os.*
@@ -19,11 +18,9 @@ import com.pravera.flutter_foreground_task.FlutterForegroundTaskLifecycleListene
1918import com.pravera.flutter_foreground_task.RequestCode
2019import com.pravera.flutter_foreground_task.models.*
2120import com.pravera.flutter_foreground_task.utils.ForegroundServiceUtils
22- import kotlinx.coroutines.*
2321import kotlinx.coroutines.flow.MutableStateFlow
2422import kotlinx.coroutines.flow.asStateFlow
2523import kotlinx.coroutines.flow.update
26- import java.util.*
2724
2825/* *
2926 * A service class for implementing foreground service.
@@ -81,6 +78,7 @@ class ForegroundService : Service() {
8178 }
8279
8380 private lateinit var foregroundServiceStatus: ForegroundServiceStatus
81+ private lateinit var foregroundServiceTypes: ForegroundServiceTypes
8482 private lateinit var foregroundTaskOptions: ForegroundTaskOptions
8583 private lateinit var foregroundTaskData: ForegroundTaskData
8684 private lateinit var notificationOptions: NotificationOptions
@@ -228,25 +226,14 @@ class ForegroundService : Service() {
228226
229227 private fun loadDataFromPreferences () {
230228 foregroundServiceStatus = ForegroundServiceStatus .getData(applicationContext)
231-
232- if (::foregroundTaskOptions.isInitialized) {
233- prevForegroundTaskOptions = foregroundTaskOptions
234- }
229+ foregroundServiceTypes = ForegroundServiceTypes .getData(applicationContext)
230+ if (::foregroundTaskOptions.isInitialized) { prevForegroundTaskOptions = foregroundTaskOptions }
235231 foregroundTaskOptions = ForegroundTaskOptions .getData(applicationContext)
236-
237- if (::foregroundTaskData.isInitialized) {
238- prevForegroundTaskData = foregroundTaskData
239- }
232+ if (::foregroundTaskData.isInitialized) { prevForegroundTaskData = foregroundTaskData }
240233 foregroundTaskData = ForegroundTaskData .getData(applicationContext)
241-
242- if (::notificationOptions.isInitialized) {
243- prevNotificationOptions = notificationOptions
244- }
234+ if (::notificationOptions.isInitialized) { prevNotificationOptions = notificationOptions }
245235 notificationOptions = NotificationOptions .getData(applicationContext)
246-
247- if (::notificationContent.isInitialized) {
248- prevNotificationContent = notificationContent
249- }
236+ if (::notificationContent.isInitialized) { prevNotificationContent = notificationContent }
250237 notificationContent = NotificationContent .getData(applicationContext)
251238 }
252239
@@ -278,11 +265,7 @@ class ForegroundService : Service() {
278265 val serviceId = notificationOptions.serviceId
279266 val notification = createNotification()
280267 if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .Q ) {
281- startForeground(
282- serviceId,
283- notification,
284- ServiceInfo .FOREGROUND_SERVICE_TYPE_MANIFEST
285- )
268+ startForeground(serviceId, notification, foregroundServiceTypes.value)
286269 } else {
287270 startForeground(serviceId, notification)
288271 }
0 commit comments