From daa8c33eaefc3d8295460aef3c9f2a78679ba9c8 Mon Sep 17 00:00:00 2001 From: Marvin W Date: Fri, 21 Jan 2022 22:41:33 +0100 Subject: [PATCH] Add delay when before connecting to userspace service from system service This helps with rare ANRs when updating the package --- .../main/java/org/microg/nlp/geocode/v1/GeocodeService.kt | 6 +++++- .../main/java/org/microg/nlp/location/v2/LocationService.kt | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/geocode-v1/src/main/java/org/microg/nlp/geocode/v1/GeocodeService.kt b/geocode-v1/src/main/java/org/microg/nlp/geocode/v1/GeocodeService.kt index 378744c..f489743 100644 --- a/geocode-v1/src/main/java/org/microg/nlp/geocode/v1/GeocodeService.kt +++ b/geocode-v1/src/main/java/org/microg/nlp/geocode/v1/GeocodeService.kt @@ -9,6 +9,7 @@ import android.os.IBinder import android.util.Log import androidx.lifecycle.LifecycleService import androidx.lifecycle.lifecycleScope +import kotlinx.coroutines.delay import kotlinx.coroutines.runBlocking class GeocodeService : LifecycleService() { @@ -18,7 +19,10 @@ class GeocodeService : LifecycleService() { super.onCreate() Log.d(TAG, "Creating system service...") provider = GeocodeProvider(this, lifecycle) - lifecycleScope.launchWhenStarted { provider.connect() } + lifecycleScope.launchWhenStarted { + delay(5000) + provider.connect() + } Log.d(TAG, "Created system service.") } diff --git a/location-v2/src/main/java/org/microg/nlp/location/v2/LocationService.kt b/location-v2/src/main/java/org/microg/nlp/location/v2/LocationService.kt index 6e67f60..70fdac8 100644 --- a/location-v2/src/main/java/org/microg/nlp/location/v2/LocationService.kt +++ b/location-v2/src/main/java/org/microg/nlp/location/v2/LocationService.kt @@ -9,6 +9,7 @@ import android.content.Intent import android.os.IBinder import android.util.Log import androidx.lifecycle.lifecycleScope +import kotlinx.coroutines.delay import kotlinx.coroutines.runBlocking import java.io.FileDescriptor import java.io.PrintWriter @@ -20,7 +21,10 @@ open class LocationService : LifecycleService() { super.onCreate() Log.d(TAG, "Creating system service...") provider = LocationProvider(this, lifecycle) - lifecycleScope.launchWhenStarted { provider.connect() } + lifecycleScope.launchWhenStarted { + delay(5000) + provider.connect() + } Log.d(TAG, "Created system service.") }