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

Commit 21a0fca7 authored by Bill Lin's avatar Bill Lin
Browse files

Decouple Injection of PipManager (6/N)

Let WindowManagerShellModule provides
DeviceConfigProxy, FloatingContentCoordinator, and PipUiEventLogger
instead of Inject throught PipManager constructor

Bug: 161118569
Test: make SystemUI
Test: make ArcSystemUI
Test: launch aosp_tv_arm-userdebug & make
Test: atest WindowManagerShellTests
Test: atest SystemUITests
Test: manual test Pip demo AP
Change-Id: Ib6c9dd8792bca931ce96898bae47767558225f74
parent fd2a63b4
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -22,9 +22,6 @@ import com.android.internal.logging.UiEvent;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.dagger.SysUISingleton;

import javax.inject.Inject;


/**
 * Helper class that ends PiP log to UiEvent, see also go/uievent
 */
@@ -35,7 +32,6 @@ public class PipUiEventLogger {

    private TaskInfo mTaskInfo;

    @Inject
    public PipUiEventLogger(UiEventLogger uiEventLogger) {
        mUiEventLogger = uiEventLogger;
    }
+1 −3
Original line number Diff line number Diff line
@@ -25,13 +25,11 @@ import android.provider.Settings;

import java.util.concurrent.Executor;

import javax.inject.Inject;

/**
 * Wrapper around DeviceConfig useful for testing.
 */
public class DeviceConfigProxy {
    @Inject

    public DeviceConfigProxy() {
    }

+3 −4
Original line number Diff line number Diff line
@@ -4,8 +4,7 @@ import android.graphics.Rect
import android.util.Log
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.util.FloatingContentCoordinator.FloatingContent
import java.util.*
import javax.inject.Inject
import java.util.HashMap

/** Tag for debug logging. */
private const val TAG = "FloatingCoordinator"
@@ -20,9 +19,9 @@ private const val TAG = "FloatingCoordinator"
 * other content out of the way. [onContentRemoved] should be called when the content is removed or
 * no longer visible.
 */
@SysUISingleton
class FloatingContentCoordinator @Inject constructor() {

@SysUISingleton
class FloatingContentCoordinator constructor() {
    /**
     * Represents a piece of floating content, such as PIP or the Bubbles stack. Provides methods
     * that allow the [FloatingContentCoordinator] to determine the current location of the content,
+22 −0
Original line number Diff line number Diff line
@@ -20,8 +20,12 @@ import android.content.Context;
import android.os.Handler;
import android.view.IWindowManager;

import com.android.internal.logging.UiEventLogger;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.pip.PipUiEventLogger;
import com.android.systemui.util.DeviceConfigProxy;
import com.android.systemui.util.FloatingContentCoordinator;
import com.android.wm.shell.common.DisplayController;
import com.android.wm.shell.common.SystemWindows;
import com.android.wm.shell.common.TransactionPool;
@@ -49,10 +53,28 @@ public class WMShellBaseModule {
        return new DisplayController(context, handler, wmService);
    }

    @SysUISingleton
    @Provides
    static DeviceConfigProxy provideDeviceConfigProxy() {
        return new DeviceConfigProxy();
    }
    @SysUISingleton
    @Provides
    static FloatingContentCoordinator provideFloatingContentCoordinator() {
        return new FloatingContentCoordinator();
    }

    @SysUISingleton
    @Provides
    static PipUiEventLogger providePipUiEventLogger(UiEventLogger uiEventLogger) {
        return new PipUiEventLogger(uiEventLogger);
    }

    @SysUISingleton
    @Provides
    static SystemWindows provideSystemWindows(DisplayController displayController,
            IWindowManager wmService) {
        return new SystemWindows(displayController, wmService);
    }

}