diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java b/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java index f0deaf06b46e3..aa226181d7136 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java @@ -152,7 +152,7 @@ public class DozeFactory { } } - private static DozeHost getHost(DozeService service) { + public static DozeHost getHost(DozeService service) { Application appCandidate = service.getApplication(); final SystemUIApplication app = (SystemUIApplication) appCandidate; return app.getComponent(DozeHost.class); diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeService.java b/packages/SystemUI/src/com/android/systemui/doze/DozeService.java index 52f1fb4c3c65b..828728f0ae9e7 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeService.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeService.java @@ -42,6 +42,11 @@ public class DozeService extends DreamService implements DozeMachine.Service { setWindowless(true); + if (DozeFactory.getHost(this) == null) { + finish(); + return; + } + DozeProvider provider = PluginManager.getInstance(this) .getOneShotPlugin(DozeProvider.ACTION, DozeProvider.VERSION); mDozeMachine = new DozeFactory(provider).assembleMachine(this); @@ -62,6 +67,8 @@ public class DozeService extends DreamService implements DozeMachine.Service { @Override protected void dumpOnHandler(FileDescriptor fd, PrintWriter pw, String[] args) { - mDozeMachine.dump(pw); + if (mDozeMachine != null) { + mDozeMachine.dump(pw); + } } }