diff options
author | Steve Kondik <steve@cyngn.com> | 2018-12-03 09:55:47 +0100 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2019-01-06 14:57:39 +0100 |
commit | 915e52eda2602558843fa5355861e79e993c65d9 (patch) | |
tree | 25a16a9f435eabd6efe68f6253f9084181b661da | |
parent | 5f06011a755307465238b04a6ce933472a7d9321 (diff) | |
download | lineage-sdk-915e52eda2602558843fa5355861e79e993c65d9.tar.gz lineage-sdk-915e52eda2602558843fa5355861e79e993c65d9.tar.bz2 lineage-sdk-915e52eda2602558843fa5355861e79e993c65d9.zip |
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
-rw-r--r-- | lineage/lib/main/java/org/lineageos/platform/internal/LineageWeatherManagerService.java | 10 |
1 files 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() { |