Bring back wtf() for missing services.
Publish DropBox extremely early during boot process so that it can
pick up wtf() calls while booting.
Bug: 28634953
Change-Id: Ie71d53fc125ebc47fa08ef59a8b7e4f66f2e805c
diff --git a/services/core/java/com/android/server/DropBoxManagerService.java b/services/core/java/com/android/server/DropBoxManagerService.java
index 129fbaa..040d22c 100644
--- a/services/core/java/com/android/server/DropBoxManagerService.java
+++ b/services/core/java/com/android/server/DropBoxManagerService.java
@@ -179,20 +179,6 @@
@Override
public void onStart() {
- // Set up intent receivers
- IntentFilter filter = new IntentFilter();
- filter.addAction(Intent.ACTION_DEVICE_STORAGE_LOW);
- getContext().registerReceiver(mReceiver, filter);
-
- mContentResolver.registerContentObserver(
- Settings.Global.CONTENT_URI, true,
- new ContentObserver(new Handler()) {
- @Override
- public void onChange(boolean selfChange) {
- mReceiver.onReceive(getContext(), (Intent) null);
- }
- });
-
publishBinderService(Context.DROPBOX_SERVICE, mStub);
// The real work gets done lazily in init() -- that way service creation always
@@ -202,6 +188,21 @@
@Override
public void onBootPhase(int phase) {
switch (phase) {
+ case PHASE_SYSTEM_SERVICES_READY:
+ IntentFilter filter = new IntentFilter();
+ filter.addAction(Intent.ACTION_DEVICE_STORAGE_LOW);
+ getContext().registerReceiver(mReceiver, filter);
+
+ mContentResolver.registerContentObserver(
+ Settings.Global.CONTENT_URI, true,
+ new ContentObserver(new Handler()) {
+ @Override
+ public void onChange(boolean selfChange) {
+ mReceiver.onReceive(getContext(), (Intent) null);
+ }
+ });
+ break;
+
case PHASE_BOOT_COMPLETED:
mBooted = true;
break;