Merge "Add option to return a null Dagger graph" into tm-qpr-dev

This commit is contained in:
Govinda Wasserman
2022-12-13 21:00:06 +00:00
committed by Android (Google) Code Review
3 changed files with 23 additions and 2 deletions

View File

@@ -411,6 +411,7 @@
<service android:name=".screenshot.ScreenshotCrossProfileService" <service android:name=".screenshot.ScreenshotCrossProfileService"
android:permission="com.android.systemui.permission.SELF" android:permission="com.android.systemui.permission.SELF"
android:process=":screenshot_cross_profile"
android:exported="false" /> android:exported="false" />
<service android:name=".screenrecord.RecordingService" /> <service android:name=".screenrecord.RecordingService" />

View File

@@ -22,6 +22,8 @@ import android.os.Handler;
import android.os.HandlerThread; import android.os.HandlerThread;
import android.util.Log; import android.util.Log;
import androidx.annotation.Nullable;
import com.android.systemui.dagger.GlobalRootComponent; import com.android.systemui.dagger.GlobalRootComponent;
import com.android.systemui.dagger.SysUIComponent; import com.android.systemui.dagger.SysUIComponent;
import com.android.systemui.dagger.WMComponent; import com.android.systemui.dagger.WMComponent;
@@ -53,6 +55,7 @@ public abstract class SystemUIInitializer {
mContext = context; mContext = context;
} }
@Nullable
protected abstract GlobalRootComponent.Builder getGlobalRootComponentBuilder(); protected abstract GlobalRootComponent.Builder getGlobalRootComponentBuilder();
/** /**
@@ -69,6 +72,11 @@ public abstract class SystemUIInitializer {
* Starts the initialization process. This stands up the Dagger graph. * Starts the initialization process. This stands up the Dagger graph.
*/ */
public void init(boolean fromTest) throws ExecutionException, InterruptedException { public void init(boolean fromTest) throws ExecutionException, InterruptedException {
GlobalRootComponent.Builder globalBuilder = getGlobalRootComponentBuilder();
if (globalBuilder == null) {
return;
}
mRootComponent = getGlobalRootComponentBuilder() mRootComponent = getGlobalRootComponentBuilder()
.context(mContext) .context(mContext)
.instrumentationTest(fromTest) .instrumentationTest(fromTest)
@@ -119,6 +127,7 @@ public abstract class SystemUIInitializer {
.setBackAnimation(Optional.ofNullable(null)) .setBackAnimation(Optional.ofNullable(null))
.setDesktopMode(Optional.ofNullable(null)); .setDesktopMode(Optional.ofNullable(null));
} }
mSysUIComponent = builder.build(); mSysUIComponent = builder.build();
if (initializeComponents) { if (initializeComponents) {
mSysUIComponent.init(); mSysUIComponent.init();

View File

@@ -16,6 +16,7 @@
package com.android.systemui package com.android.systemui
import android.app.Application
import android.content.Context import android.content.Context
import com.android.systemui.dagger.DaggerReferenceGlobalRootComponent import com.android.systemui.dagger.DaggerReferenceGlobalRootComponent
import com.android.systemui.dagger.GlobalRootComponent import com.android.systemui.dagger.GlobalRootComponent
@@ -24,7 +25,17 @@ import com.android.systemui.dagger.GlobalRootComponent
* {@link SystemUIInitializer} that stands up AOSP SystemUI. * {@link SystemUIInitializer} that stands up AOSP SystemUI.
*/ */
class SystemUIInitializerImpl(context: Context) : SystemUIInitializer(context) { class SystemUIInitializerImpl(context: Context) : SystemUIInitializer(context) {
override fun getGlobalRootComponentBuilder(): GlobalRootComponent.Builder {
return DaggerReferenceGlobalRootComponent.builder() override fun getGlobalRootComponentBuilder(): GlobalRootComponent.Builder? {
return when (Application.getProcessName()) {
SCREENSHOT_CROSS_PROFILE_PROCESS -> null
else -> DaggerReferenceGlobalRootComponent.builder()
}
}
companion object {
private const val SYSTEMUI_PROCESS = "com.android.systemui"
private const val SCREENSHOT_CROSS_PROFILE_PROCESS =
"$SYSTEMUI_PROCESS:screenshot_cross_profile"
} }
} }