Fix ConcurrentModificationException in ServiceNotification
This commit is contained in:
@@ -51,11 +51,13 @@ object ServiceNotification {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun startForeground(service: Service, deviceCounts: Map<String, Int>, inactive: List<String> = emptyList()) {
|
fun startForeground(service: Service, deviceCounts: Map<String, Int>, inactive: List<String> = emptyList()) {
|
||||||
|
synchronized(this) {
|
||||||
deviceCountsMap[service] = deviceCounts
|
deviceCountsMap[service] = deviceCounts
|
||||||
if (inactive.isEmpty()) inactiveMap.remove(service) else inactiveMap[service] = inactive
|
if (inactive.isEmpty()) inactiveMap.remove(service) else inactiveMap[service] = inactive
|
||||||
service.startForeground(CHANNEL_ID, buildNotification(service))
|
service.startForeground(CHANNEL_ID, buildNotification(service))
|
||||||
}
|
}
|
||||||
fun stopForeground(service: Service) {
|
}
|
||||||
|
fun stopForeground(service: Service) = synchronized(this) {
|
||||||
deviceCountsMap.remove(service)
|
deviceCountsMap.remove(service)
|
||||||
if (deviceCountsMap.isEmpty()) service.stopForeground(true) else {
|
if (deviceCountsMap.isEmpty()) service.stopForeground(true) else {
|
||||||
service.stopForeground(false)
|
service.stopForeground(false)
|
||||||
|
|||||||
Reference in New Issue
Block a user