Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6be8b386 authored by Dave Mankoff's avatar Dave Mankoff
Browse files

Remove DozeHost from Components.

DozeHost is injectable. Inject it where needed.

Bug: 143982853
Test: atest SystemUITests
Change-Id: I76e01b6fc6946754baf2218e5fd7b68728e206c1
parent 6f382b70
Loading
Loading
Loading
Loading
+18 −21
Original line number Diff line number Diff line
@@ -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);
    }
}
+0 −4
Original line number Diff line number Diff line
@@ -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);
    }