Merge "Add logging to app startup to find flaky tests."
diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIAppComponentFactory.java b/packages/SystemUI/src/com/android/systemui/SystemUIAppComponentFactory.java
index 0f99674..e8b5285 100644
--- a/packages/SystemUI/src/com/android/systemui/SystemUIAppComponentFactory.java
+++ b/packages/SystemUI/src/com/android/systemui/SystemUIAppComponentFactory.java
@@ -21,6 +21,8 @@
import android.content.ContentProvider;
import android.content.Context;
import android.content.Intent;
+import android.os.Process;
+import android.util.Log;
import androidx.annotation.NonNull;
import androidx.core.app.AppComponentFactory;
@@ -38,6 +40,7 @@
*/
public class SystemUIAppComponentFactory extends AppComponentFactory {
+ private static final String TAG = "AppComponentFactory";
@Inject
public ContextComponentHelper mComponentHelper;
@@ -57,6 +60,9 @@
SystemUIFactory.createFromConfig(context);
SystemUIFactory.getInstance().getRootComponent().inject(
SystemUIAppComponentFactory.this);
+ Log.d(TAG, "Initialized during Application creation in Process "
+ + Process.myPid() + ", Thread " + Process.myTid());
+ Log.d(TAG, "mComponentHelper: " + mComponentHelper);
}
);
}
@@ -77,6 +83,8 @@
SystemUIFactory.createFromConfig(context);
SystemUIFactory.getInstance().getRootComponent().inject(
contentProvider);
+ Log.d(TAG, "Initialized during ContentProvider creation in Process "
+ + Process.myPid() + ", Thread " + Process.myTid());
}
);
}
@@ -89,6 +97,12 @@
public Service instantiateServiceCompat(
@NonNull ClassLoader cl, @NonNull String className, Intent intent)
throws InstantiationException, IllegalAccessException, ClassNotFoundException {
+ if (mComponentHelper == null) {
+ // Everything is about to crash if this is true, but that is inevitable. We either crash
+ // here or crash lower in the stack. Better to crash early!
+ Log.wtf(TAG, "Uninitialized mComponentHelper in Process" + Process.myPid() + ", Thread "
+ + Process.myTid());
+ }
Service service = mComponentHelper.resolveService(className);
if (service != null) {
return service;