Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/common/WindowDecorTaskResourceLoader.kt +1 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ import android.util.Slog import androidx.tracing.Trace import com.android.internal.annotations.VisibleForTesting import com.android.launcher3.icons.BaseIconFactory import com.android.launcher3.icons.BaseIconFactory.MODE_DEFAULT import com.android.launcher3.icons.BaseIconFactory.Companion.MODE_DEFAULT import com.android.launcher3.icons.IconProvider import com.android.wm.shell.R import com.android.wm.shell.common.UserProfileContexts Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/common/WindowDecorTaskResourceLoaderTest.kt +4 −3 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ import android.testing.AndroidTestingRunner import android.testing.TestableContext import androidx.test.filters.SmallTest import com.android.launcher3.icons.BaseIconFactory import com.android.launcher3.icons.BaseIconFactory.MODE_DEFAULT import com.android.launcher3.icons.BaseIconFactory.Companion.MODE_DEFAULT import com.android.launcher3.icons.IconProvider import com.android.wm.shell.ShellTestCase import com.android.wm.shell.TestRunningTaskInfoBuilder Loading @@ -41,11 +41,11 @@ import com.android.wm.shell.sysui.ShellInit import com.android.wm.shell.sysui.UserChangeListener import com.android.wm.shell.windowdecor.common.WindowDecorTaskResourceLoader.AppResources import com.google.common.truth.Truth.assertThat import java.util.Locale import org.junit.Assert.assertThrows import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.anyBoolean import org.mockito.ArgumentMatchers.anyFloat import org.mockito.ArgumentMatchers.anyInt import org.mockito.kotlin.any Loading @@ -58,6 +58,7 @@ import org.mockito.kotlin.spy import org.mockito.kotlin.verify import org.mockito.kotlin.verifyNoMoreInteractions import org.mockito.kotlin.whenever import java.util.Locale /** * Tests for [WindowDecorTaskResourceLoader]. Loading Loading @@ -155,7 +156,7 @@ class WindowDecorTaskResourceLoaderTest : ShellTestCase() { loader.getHeaderIcon(task) verify(mockHeaderIconFactory).createIconBitmap(any(), anyFloat()) verify(mockHeaderIconFactory).createIconBitmap(any(), anyFloat(), anyInt(), anyBoolean()) assertThat(loader.taskToResourceCache[task.taskId]?.appIcon).isNotNull() } Loading packages/SettingsLib/src/com/android/settingslib/notification/ConversationIconFactory.java +3 −3 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ public class ConversationIconFactory extends BaseIconFactory { * Returns the conversation info drawable */ public Drawable getBaseIconDrawable(ShortcutInfo shortcutInfo) { return mLauncherApps.getShortcutIconDrawable(shortcutInfo, mFullResIconDpi); return mLauncherApps.getShortcutIconDrawable(shortcutInfo, fullResIconDpi); } /** Loading @@ -99,7 +99,7 @@ public class ConversationIconFactory extends BaseIconFactory { try { final ApplicationInfo appInfo = mPackageManager.getApplicationInfoAsUser( packageName, PackageManager.GET_META_DATA, userId); badge = Utils.getBadgedIcon(mContext, appInfo); badge = Utils.getBadgedIcon(context, appInfo); } catch (PackageManager.NameNotFoundException e) { badge = mPackageManager.getDefaultActivityIcon(); } Loading @@ -123,7 +123,7 @@ public class ConversationIconFactory extends BaseIconFactory { boolean important) { return new ConversationIconDrawable(baseIcon, getAppBadge(packageName, UserHandle.getUserId(uid)), mIconBitmapSize, iconBitmapSize, mImportantConversationColor, important); } Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/row/icon/AppIconProvider.kt +40 −44 Original line number Diff line number Diff line Loading @@ -111,56 +111,52 @@ constructor( private val densityDpi: Int get() = sysuiContext.resources.configuration.densityDpi private class StandardNotificationIcons( context: Context, fillResIconDpi: Int, iconBitmapSize: Int, ) : BaseIconFactory(context, fillResIconDpi, iconBitmapSize) { init { if (notificationsRedesignThemedAppIcons()) { private val standardIconFactory: BaseIconFactory get() = BaseIconFactory( context = sysuiContext, fullResIconDpi = densityDpi, iconBitmapSize = iconSize, // Initialize the controller so that we can support themed icons. mThemeController = themeController = if (notificationsRedesignThemedAppIcons()) MonoIconThemeController( shouldForceThemeIcon = true, colorProvider = { ctx -> val res = ctx.resources intArrayOf( /* background */ res.getColor(R.color.materialColorPrimary), /* icon */ res.getColor(R.color.materialColorSurfaceContainerHigh), /* adaptive background */ res.getColor(R.color.materialColorPrimary) /* icon */ res.getColor( R.color.materialColorSurfaceContainerHigh ), /* adaptive background */ res.getColor( R.color.materialColorPrimary ), ) }, ) } } } else null, ) private class SkeletonNotificationIcons( context: Context, fillResIconDpi: Int, iconBitmapSize: Int, ) : BaseIconFactory(context, fillResIconDpi, iconBitmapSize) { init { mThemeController = private val skeletonIconFactory: BaseIconFactory get() = BaseIconFactory( context = sysuiContext, fullResIconDpi = densityDpi, iconBitmapSize = iconSize, themeController = MonoIconThemeController( shouldForceThemeIcon = true, colorProvider = { _ -> intArrayOf( /* background */ Color.BLACK, /* icon */ Color.WHITE, /* adaptive background */ Color.BLACK /* background */ Color.BLACK, /* icon */ Color.WHITE, /* adaptive background */ Color.BLACK, ) }, ), ) } } private val standardIconFactory: BaseIconFactory get() = StandardNotificationIcons(sysuiContext, densityDpi, iconSize) private val skeletonIconFactory: BaseIconFactory get() = SkeletonNotificationIcons(sysuiContext, densityDpi, iconSize) /** Cache of standard-appearance icons as used in the notification row and guts */ private val standardCache = AppIconCache(systemClock = systemClock) Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/common/WindowDecorTaskResourceLoader.kt +1 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ import android.util.Slog import androidx.tracing.Trace import com.android.internal.annotations.VisibleForTesting import com.android.launcher3.icons.BaseIconFactory import com.android.launcher3.icons.BaseIconFactory.MODE_DEFAULT import com.android.launcher3.icons.BaseIconFactory.Companion.MODE_DEFAULT import com.android.launcher3.icons.IconProvider import com.android.wm.shell.R import com.android.wm.shell.common.UserProfileContexts Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/common/WindowDecorTaskResourceLoaderTest.kt +4 −3 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ import android.testing.AndroidTestingRunner import android.testing.TestableContext import androidx.test.filters.SmallTest import com.android.launcher3.icons.BaseIconFactory import com.android.launcher3.icons.BaseIconFactory.MODE_DEFAULT import com.android.launcher3.icons.BaseIconFactory.Companion.MODE_DEFAULT import com.android.launcher3.icons.IconProvider import com.android.wm.shell.ShellTestCase import com.android.wm.shell.TestRunningTaskInfoBuilder Loading @@ -41,11 +41,11 @@ import com.android.wm.shell.sysui.ShellInit import com.android.wm.shell.sysui.UserChangeListener import com.android.wm.shell.windowdecor.common.WindowDecorTaskResourceLoader.AppResources import com.google.common.truth.Truth.assertThat import java.util.Locale import org.junit.Assert.assertThrows import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.anyBoolean import org.mockito.ArgumentMatchers.anyFloat import org.mockito.ArgumentMatchers.anyInt import org.mockito.kotlin.any Loading @@ -58,6 +58,7 @@ import org.mockito.kotlin.spy import org.mockito.kotlin.verify import org.mockito.kotlin.verifyNoMoreInteractions import org.mockito.kotlin.whenever import java.util.Locale /** * Tests for [WindowDecorTaskResourceLoader]. Loading Loading @@ -155,7 +156,7 @@ class WindowDecorTaskResourceLoaderTest : ShellTestCase() { loader.getHeaderIcon(task) verify(mockHeaderIconFactory).createIconBitmap(any(), anyFloat()) verify(mockHeaderIconFactory).createIconBitmap(any(), anyFloat(), anyInt(), anyBoolean()) assertThat(loader.taskToResourceCache[task.taskId]?.appIcon).isNotNull() } Loading
packages/SettingsLib/src/com/android/settingslib/notification/ConversationIconFactory.java +3 −3 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ public class ConversationIconFactory extends BaseIconFactory { * Returns the conversation info drawable */ public Drawable getBaseIconDrawable(ShortcutInfo shortcutInfo) { return mLauncherApps.getShortcutIconDrawable(shortcutInfo, mFullResIconDpi); return mLauncherApps.getShortcutIconDrawable(shortcutInfo, fullResIconDpi); } /** Loading @@ -99,7 +99,7 @@ public class ConversationIconFactory extends BaseIconFactory { try { final ApplicationInfo appInfo = mPackageManager.getApplicationInfoAsUser( packageName, PackageManager.GET_META_DATA, userId); badge = Utils.getBadgedIcon(mContext, appInfo); badge = Utils.getBadgedIcon(context, appInfo); } catch (PackageManager.NameNotFoundException e) { badge = mPackageManager.getDefaultActivityIcon(); } Loading @@ -123,7 +123,7 @@ public class ConversationIconFactory extends BaseIconFactory { boolean important) { return new ConversationIconDrawable(baseIcon, getAppBadge(packageName, UserHandle.getUserId(uid)), mIconBitmapSize, iconBitmapSize, mImportantConversationColor, important); } Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/row/icon/AppIconProvider.kt +40 −44 Original line number Diff line number Diff line Loading @@ -111,56 +111,52 @@ constructor( private val densityDpi: Int get() = sysuiContext.resources.configuration.densityDpi private class StandardNotificationIcons( context: Context, fillResIconDpi: Int, iconBitmapSize: Int, ) : BaseIconFactory(context, fillResIconDpi, iconBitmapSize) { init { if (notificationsRedesignThemedAppIcons()) { private val standardIconFactory: BaseIconFactory get() = BaseIconFactory( context = sysuiContext, fullResIconDpi = densityDpi, iconBitmapSize = iconSize, // Initialize the controller so that we can support themed icons. mThemeController = themeController = if (notificationsRedesignThemedAppIcons()) MonoIconThemeController( shouldForceThemeIcon = true, colorProvider = { ctx -> val res = ctx.resources intArrayOf( /* background */ res.getColor(R.color.materialColorPrimary), /* icon */ res.getColor(R.color.materialColorSurfaceContainerHigh), /* adaptive background */ res.getColor(R.color.materialColorPrimary) /* icon */ res.getColor( R.color.materialColorSurfaceContainerHigh ), /* adaptive background */ res.getColor( R.color.materialColorPrimary ), ) }, ) } } } else null, ) private class SkeletonNotificationIcons( context: Context, fillResIconDpi: Int, iconBitmapSize: Int, ) : BaseIconFactory(context, fillResIconDpi, iconBitmapSize) { init { mThemeController = private val skeletonIconFactory: BaseIconFactory get() = BaseIconFactory( context = sysuiContext, fullResIconDpi = densityDpi, iconBitmapSize = iconSize, themeController = MonoIconThemeController( shouldForceThemeIcon = true, colorProvider = { _ -> intArrayOf( /* background */ Color.BLACK, /* icon */ Color.WHITE, /* adaptive background */ Color.BLACK /* background */ Color.BLACK, /* icon */ Color.WHITE, /* adaptive background */ Color.BLACK, ) }, ), ) } } private val standardIconFactory: BaseIconFactory get() = StandardNotificationIcons(sysuiContext, densityDpi, iconSize) private val skeletonIconFactory: BaseIconFactory get() = SkeletonNotificationIcons(sysuiContext, densityDpi, iconSize) /** Cache of standard-appearance icons as used in the notification row and guts */ private val standardCache = AppIconCache(systemClock = systemClock) Loading