Launcher 对于非自适应图标,做了额外的处理,肉眼明显可见的有将之缩小并置于一个形状合规的纯色图块当中。
这个处理的代码关键字是 normalizeAndWrapToAdaptiveIcon,在 Android 11 里,此函数在 BaseIconFactory 类中,而且根据注释,很快此类会被移动到 AndroidX 中去。但是貌似在之前版本的 Launcher 代码里,它是在 com.android.launcher3.graphics.LauncherIcons 类中。这个函数使用到 IconNormalizer 类来干活儿。
另外,对 app 自行请求系统额外创建的快捷方式,会叠加一个 app 自己的小图标作为 badge,这个处理的地方还没有确认。初步看起来,应该是 IconCache 类中的 getShortcutIcon 方法在起作用。
再另外,com.android.launcher3.icons.ColorExtractor 类是一个从位图中找出最显眼的颜色的工具类。
