Remove DozeHost from Components.

DozeHost is injectable. Inject it where needed.

Bug: 143982853
Test: atest SystemUITests
Change-Id: I76e01b6fc6946754baf2218e5fd7b68728e206c1
This commit is contained in:
Dave Mankoff
2019-11-05 21:30:07 -05:00
parent 6f382b7061
commit 6be8b38652
2 changed files with 18 additions and 25 deletions

View File

@@ -18,7 +18,6 @@ package com.android.systemui.doze;
import android.annotation.Nullable;
import android.app.AlarmManager;
import android.app.Application;
import android.app.IWallpaperManager;
import android.content.Context;
import android.hardware.Sensor;
@@ -28,13 +27,13 @@ import android.os.Handler;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.R;
import com.android.systemui.SystemUIApplication;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dock.DockManager;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.statusbar.phone.BiometricUnlockController;
import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.DozeServiceHost;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.util.sensors.AsyncSensorManager;
import com.android.systemui.util.sensors.ProximitySensor;
@@ -60,6 +59,7 @@ public class DozeFactory {
private final Handler mHandler;
private final BiometricUnlockController mBiometricUnlockController;
private final BroadcastDispatcher mBroadcastDispatcher;
private final DozeServiceHost mDozeServiceHost;
@Inject
public DozeFactory(FalsingManager falsingManager, DozeLog dozeLog,
@@ -70,7 +70,7 @@ public class DozeFactory {
ProximitySensor proximitySensor,
DelayedWakeLock.Builder delayedWakeLockBuilder, Handler handler,
BiometricUnlockController biometricUnlockController,
BroadcastDispatcher broadcastDispatcher) {
BroadcastDispatcher broadcastDispatcher, DozeServiceHost dozeServiceHost) {
mFalsingManager = falsingManager;
mDozeLog = dozeLog;
mDozeParameters = dozeParameters;
@@ -86,16 +86,16 @@ public class DozeFactory {
mHandler = handler;
mBiometricUnlockController = biometricUnlockController;
mBroadcastDispatcher = broadcastDispatcher;
mDozeServiceHost = dozeServiceHost;
}
/** Creates a DozeMachine with its parts for {@code dozeService}. */
DozeMachine assembleMachine(DozeService dozeService) {
DozeHost host = getHost(dozeService);
AmbientDisplayConfiguration config = new AmbientDisplayConfiguration(dozeService);
WakeLock wakeLock = mDelayedWakeLockBuilder.setHandler(mHandler).setTag("Doze").build();
DozeMachine.Service wrappedService = dozeService;
wrappedService = new DozeBrightnessHostForwarder(wrappedService, host);
wrappedService = new DozeBrightnessHostForwarder(wrappedService, mDozeServiceHost);
wrappedService = DozeScreenStatePreventingAdapter.wrapIfNeeded(
wrappedService, mDozeParameters);
wrappedService = DozeSuspendScreenStatePreventingAdapter.wrapIfNeeded(
@@ -106,16 +106,19 @@ public class DozeFactory {
machine.setParts(new DozeMachine.Part[]{
new DozePauser(mHandler, machine, mAlarmManager, mDozeParameters.getPolicy()),
new DozeFalsingManagerAdapter(mFalsingManager),
createDozeTriggers(dozeService, mAsyncSensorManager, host, mAlarmManager, config,
mDozeParameters, mHandler, wakeLock, machine, mDockManager, mDozeLog),
createDozeUi(dozeService, host, wakeLock, machine, mHandler, mAlarmManager,
mDozeParameters, mDozeLog),
new DozeScreenState(wrappedService, mHandler, host, mDozeParameters, wakeLock),
createDozeScreenBrightness(dozeService, wrappedService, mAsyncSensorManager, host,
mDozeParameters, mHandler),
new DozeWallpaperState(
mWallpaperManager, mBiometricUnlockController, mDozeParameters),
new DozeDockHandler(dozeService, machine, host, config, mHandler, mDockManager),
createDozeTriggers(dozeService, mAsyncSensorManager, mDozeServiceHost,
mAlarmManager, config, mDozeParameters, mHandler, wakeLock, machine,
mDockManager, mDozeLog),
createDozeUi(dozeService, mDozeServiceHost, wakeLock, machine, mHandler,
mAlarmManager, mDozeParameters, mDozeLog),
new DozeScreenState(wrappedService, mHandler, mDozeServiceHost, mDozeParameters,
wakeLock),
createDozeScreenBrightness(dozeService, wrappedService, mAsyncSensorManager,
mDozeServiceHost, mDozeParameters, mHandler),
new DozeWallpaperState(mWallpaperManager, mBiometricUnlockController,
mDozeParameters),
new DozeDockHandler(dozeService, machine, mDozeServiceHost, config, mHandler,
mDockManager),
new DozeAuthRemover(dozeService)
});
@@ -148,10 +151,4 @@ public class DozeFactory {
return new DozeUi(context, alarmManager, machine, wakeLock, host, handler, params,
mKeyguardUpdateMonitor, dozeLog);
}
public static DozeHost getHost(DozeService service) {
Application appCandidate = service.getApplication();
final SystemUIApplication app = (SystemUIApplication) appCandidate;
return app.getComponent(DozeHost.class);
}
}

View File

@@ -55,10 +55,6 @@ public class DozeService extends DreamService
setWindowless(true);
if (DozeFactory.getHost(this) == null) {
finish();
return;
}
mPluginManager.addPluginListener(this, DozeServicePlugin.class, false /* allowMultiple */);
mDozeMachine = mDozeFactory.assembleMachine(this);
}