From eaf833a4e4accaadaadfe23f57b26a803308bded Mon Sep 17 00:00:00 2001 From: Steve Kondik Date: Mon, 3 Dec 2018 09:55:47 +0100 Subject: [PATCH] lineage-sdk: Start Weather service in onUnlockUser. After reboot the active WeatherProvider is started (onBootPhase) too early, resulting in WeatherProvider not syncing anymore. Start the active Provider when userland apps are ready to fix this, like on 14.1: https://github.com/LineageOS/cm_platform_sdk/commit/0cee14b03c42fc606b9674d22f9a82a638617d0e Found by meiser@xda lineage-15.1 ready Weatherproviders for testing: https://github.com/nvertigo/android_vendor_nlos/tree/nlos-15.1/weatherproviders Change-Id: I8d3eb7aacaf265c55d5d0b5157731e04068a7c7d --- .../internal/LineageWeatherManagerService.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lineage/lib/main/java/org/lineageos/platform/internal/LineageWeatherManagerService.java b/lineage/lib/main/java/org/lineageos/platform/internal/LineageWeatherManagerService.java index f35ccec5..6515fb8f 100644 --- a/lineage/lib/main/java/org/lineageos/platform/internal/LineageWeatherManagerService.java +++ b/lineage/lib/main/java/org/lineageos/platform/internal/LineageWeatherManagerService.java @@ -235,9 +235,13 @@ public class LineageWeatherManagerService extends LineageSystemService { @Override public void onBootPhase(int phase) { - if (phase == PHASE_ACTIVITY_MANAGER_READY) { - bindActiveWeatherProviderService(); - } + // Do nothing. We need userland apps to be fully up and running. + // We will connect in onUnlockUser instead. + } + + @Override + public void onUnlockUser(int userHandle) { + bindActiveWeatherProviderService(); } private void bindActiveWeatherProviderService() {