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

Commit 769f04c8 authored by Jerry Chang's avatar Jerry Chang
Browse files

Revert "Revert "Provide IconProvider in sysui dagger""

This reverts commit 289347ae.

Reason for revert: re-land the CL with CarLauncher change

Merged-In: If4ab0590f4b850103411b6a2dccf2092bb06d563
Change-Id: I5a43908f958b45a936d0e7ac09f96d85d08663b7
parent 289347ae
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -110,9 +110,9 @@ public class SplashscreenContentDrawer {
    @VisibleForTesting
    @VisibleForTesting
    final ColorCache mColorCache;
    final ColorCache mColorCache;


    SplashscreenContentDrawer(Context context, TransactionPool pool) {
    SplashscreenContentDrawer(Context context, IconProvider iconProvider, TransactionPool pool) {
        mContext = context;
        mContext = context;
        mIconProvider = new IconProvider(context);
        mIconProvider = iconProvider;
        mTransactionPool = pool;
        mTransactionPool = pool;


        // Initialize Splashscreen worker thread
        // Initialize Splashscreen worker thread
+3 −2
Original line number Original line Diff line number Diff line
@@ -61,6 +61,7 @@ import android.window.TaskSnapshot;


import com.android.internal.R;
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.VisibleForTesting;
import com.android.launcher3.icons.IconProvider;
import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.TransactionPool;
import com.android.wm.shell.common.TransactionPool;
import com.android.wm.shell.common.annotations.ShellSplashscreenThread;
import com.android.wm.shell.common.annotations.ShellSplashscreenThread;
@@ -123,11 +124,11 @@ public class StartingSurfaceDrawer {
     * @param splashScreenExecutor The thread used to control add and remove starting window.
     * @param splashScreenExecutor The thread used to control add and remove starting window.
     */
     */
    public StartingSurfaceDrawer(Context context, ShellExecutor splashScreenExecutor,
    public StartingSurfaceDrawer(Context context, ShellExecutor splashScreenExecutor,
            TransactionPool pool) {
            IconProvider iconProvider, TransactionPool pool) {
        mContext = context;
        mContext = context;
        mDisplayManager = mContext.getSystemService(DisplayManager.class);
        mDisplayManager = mContext.getSystemService(DisplayManager.class);
        mSplashScreenExecutor = splashScreenExecutor;
        mSplashScreenExecutor = splashScreenExecutor;
        mSplashscreenContentDrawer = new SplashscreenContentDrawer(mContext, pool);
        mSplashscreenContentDrawer = new SplashscreenContentDrawer(mContext, iconProvider, pool);
        mSplashScreenExecutor.execute(() -> mChoreographer = Choreographer.getInstance());
        mSplashScreenExecutor.execute(() -> mChoreographer = Choreographer.getInstance());
        mWindowManagerGlobal = WindowManagerGlobal.getInstance();
        mWindowManagerGlobal = WindowManagerGlobal.getInstance();
        mDisplayManager.getDisplay(DEFAULT_DISPLAY);
        mDisplayManager.getDisplay(DEFAULT_DISPLAY);
+5 −2
Original line number Original line Diff line number Diff line
@@ -43,6 +43,7 @@ import androidx.annotation.BinderThread;


import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.function.TriConsumer;
import com.android.internal.util.function.TriConsumer;
import com.android.launcher3.icons.IconProvider;
import com.android.wm.shell.common.RemoteCallable;
import com.android.wm.shell.common.RemoteCallable;
import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.TransactionPool;
import com.android.wm.shell.common.TransactionPool;
@@ -85,9 +86,11 @@ public class StartingWindowController implements RemoteCallable<StartingWindowCo
    private final SparseIntArray mTaskBackgroundColors = new SparseIntArray();
    private final SparseIntArray mTaskBackgroundColors = new SparseIntArray();


    public StartingWindowController(Context context, ShellExecutor splashScreenExecutor,
    public StartingWindowController(Context context, ShellExecutor splashScreenExecutor,
            StartingWindowTypeAlgorithm startingWindowTypeAlgorithm, TransactionPool pool) {
            StartingWindowTypeAlgorithm startingWindowTypeAlgorithm, IconProvider iconProvider,
            TransactionPool pool) {
        mContext = context;
        mContext = context;
        mStartingSurfaceDrawer = new StartingSurfaceDrawer(context, splashScreenExecutor, pool);
        mStartingSurfaceDrawer = new StartingSurfaceDrawer(context, splashScreenExecutor,
                iconProvider, pool);
        mStartingWindowTypeAlgorithm = startingWindowTypeAlgorithm;
        mStartingWindowTypeAlgorithm = startingWindowTypeAlgorithm;
        mSplashScreenExecutor = splashScreenExecutor;
        mSplashScreenExecutor = splashScreenExecutor;
    }
    }
+7 −3
Original line number Original line Diff line number Diff line
@@ -69,6 +69,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
import androidx.test.filters.SmallTest;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.platform.app.InstrumentationRegistry;


import com.android.launcher3.icons.IconProvider;
import com.android.wm.shell.common.HandlerExecutor;
import com.android.wm.shell.common.HandlerExecutor;
import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.TransactionPool;
import com.android.wm.shell.common.TransactionPool;
@@ -93,6 +94,8 @@ public class StartingSurfaceDrawerTests {
    @Mock
    @Mock
    private WindowManager mMockWindowManager;
    private WindowManager mMockWindowManager;
    @Mock
    @Mock
    private IconProvider mIconProvider;
    @Mock
    private TransactionPool mTransactionPool;
    private TransactionPool mTransactionPool;


    private final Handler mTestHandler = new Handler(Looper.getMainLooper());
    private final Handler mTestHandler = new Handler(Looper.getMainLooper());
@@ -105,8 +108,8 @@ public class StartingSurfaceDrawerTests {
        int mAddWindowForTask = 0;
        int mAddWindowForTask = 0;


        TestStartingSurfaceDrawer(Context context, ShellExecutor splashScreenExecutor,
        TestStartingSurfaceDrawer(Context context, ShellExecutor splashScreenExecutor,
                TransactionPool pool) {
                IconProvider iconProvider, TransactionPool pool) {
            super(context, splashScreenExecutor, pool);
            super(context, splashScreenExecutor, iconProvider, pool);
        }
        }


        @Override
        @Override
@@ -156,7 +159,8 @@ public class StartingSurfaceDrawerTests {
        doNothing().when(mMockWindowManager).addView(any(), any());
        doNothing().when(mMockWindowManager).addView(any(), any());
        mTestExecutor = new HandlerExecutor(mTestHandler);
        mTestExecutor = new HandlerExecutor(mTestHandler);
        mStartingSurfaceDrawer = spy(
        mStartingSurfaceDrawer = spy(
                new TestStartingSurfaceDrawer(mTestContext, mTestExecutor, mTransactionPool));
                new TestStartingSurfaceDrawer(mTestContext, mTestExecutor, mIconProvider,
                        mTransactionPool));
    }
    }


    @Test
    @Test
+10 −2
Original line number Original line Diff line number Diff line
@@ -26,6 +26,7 @@ import android.view.WindowManager;


import com.android.internal.logging.UiEventLogger;
import com.android.internal.logging.UiEventLogger;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.IStatusBarService;
import com.android.launcher3.icons.IconProvider;
import com.android.systemui.dagger.WMComponent;
import com.android.systemui.dagger.WMComponent;
import com.android.systemui.dagger.WMSingleton;
import com.android.systemui.dagger.WMSingleton;
import com.android.wm.shell.RootTaskDisplayAreaOrganizer;
import com.android.wm.shell.RootTaskDisplayAreaOrganizer;
@@ -166,6 +167,12 @@ public abstract class WMShellBaseModule {
        return new SystemWindows(displayController, wmService);
        return new SystemWindows(displayController, wmService);
    }
    }


    @WMSingleton
    @Provides
    static IconProvider provideIconProvider(Context context) {
        return new IconProvider(context);
    }

    // We currently dedupe multiple messages, so we use the shell main handler directly
    // We currently dedupe multiple messages, so we use the shell main handler directly
    @WMSingleton
    @WMSingleton
    @Provides
    @Provides
@@ -486,9 +493,10 @@ public abstract class WMShellBaseModule {
    @Provides
    @Provides
    static StartingWindowController provideStartingWindowController(Context context,
    static StartingWindowController provideStartingWindowController(Context context,
            @ShellSplashscreenThread ShellExecutor splashScreenExecutor,
            @ShellSplashscreenThread ShellExecutor splashScreenExecutor,
            StartingWindowTypeAlgorithm startingWindowTypeAlgorithm, TransactionPool pool) {
            StartingWindowTypeAlgorithm startingWindowTypeAlgorithm, IconProvider iconProvider,
            TransactionPool pool) {
        return new StartingWindowController(context, splashScreenExecutor,
        return new StartingWindowController(context, splashScreenExecutor,
                startingWindowTypeAlgorithm, pool);
                startingWindowTypeAlgorithm, iconProvider, pool);
    }
    }


    //
    //