Merge "[DO NOT MERGE] Provide IconProvider in sysui dagger" into sc-v2-dev
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.RootDisplayAreaOrganizer;
|
import com.android.wm.shell.RootDisplayAreaOrganizer;
|
||||||
@@ -169,6 +170,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
|
||||||
@@ -504,9 +511,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);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user