1.概述
在11.0的开发中,Launcher3 workspace的app列表页 会负责加载系统中app的所有图标 但针对某个不需要显示在桌面的app图标需要过滤掉 所以需要在加载和更新的时候过滤 需要更改两处地方,一处是 加在列表时 一处是安装卸载app 更新app列表时
2.核心代码
主要代码:
packages\apps\Launcher3\src\com\android\launcher3\model\LoadTask.java
packages\apps\Launcher3\src\com\android\launcher3\model\PackageUpdatedTask.java
3.核心代码功能分析
3.1 LoadTask.java中代码分析
loadAllApps()中去掉不需要显示的app
private List<LauncherActivityInfo> loadAllApps() {
final List<UserHandle> profiles = mUserManager.getUserProfiles();
List<LauncherActivityInfo> allActivityList = new ArrayList<>();
// Clear the list of apps
mBgAllAppsList.clear();
for (UserHandle user : profiles) {
// Query for the set of apps
final List<LauncherActivityInfo> apps = mLauncherApps.getActivityList(null, user);
// Fail if we don't have any apps