From 9f0adb656e0bbda808c2d0ee63354f45a0fe94be Mon Sep 17 00:00:00 2001 From: Sam Mortimer Date: Wed, 22 Aug 2018 23:38:08 -0700 Subject: [PATCH] lineage-sdk: Make styles init at system services ready *) On pie, lineage system server is starting before overlay manager service so mOverlay was being initialized with null (and crashing). *) Change to only attempt to get service handles after boot phase system services ready. Change-Id: I4965ce6015275a421e2e3864e66e77b8c15477f0 --- .../platform/internal/StyleInterfaceService.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lineage/lib/main/java/org/lineageos/platform/internal/StyleInterfaceService.java b/lineage/lib/main/java/org/lineageos/platform/internal/StyleInterfaceService.java index bb2c2739..9085b5d1 100644 --- a/lineage/lib/main/java/org/lineageos/platform/internal/StyleInterfaceService.java +++ b/lineage/lib/main/java/org/lineageos/platform/internal/StyleInterfaceService.java @@ -32,6 +32,8 @@ import android.os.ServiceManager; import android.os.UserHandle; import android.util.Log; +import com.android.server.SystemService; + import lineageos.app.LineageContextConstants; import lineageos.providers.LineageSettings; import lineageos.style.IStyleInterface; @@ -70,8 +72,15 @@ public class StyleInterfaceService extends LineageSystemService { @Override public void onStart() { - mPackageManager = mContext.getPackageManager(); - mOverlayService = IOverlayManager.Stub.asInterface(ServiceManager.getService("overlay")); + /* No-op */ + } + + @Override + public void onBootPhase(int phase) { + if (phase == SystemService.PHASE_SYSTEM_SERVICES_READY) { + mPackageManager = mContext.getPackageManager(); + mOverlayService = IOverlayManager.Stub.asInterface(ServiceManager.getService("overlay")); + } } private void enforceChangeStylePermission() { @@ -399,4 +408,4 @@ public class StyleInterfaceService extends LineageSystemService { return result; } }; -} \ No newline at end of file +}