做项目时有时会遇到这样的需求,客户要求隐藏Launcher3桌面的某个app图标,但是又不能删除去掉这个app,具体修改如下:
- diff --git a/src/com/android/launcher3/model/LoaderTask.java b/src/com/android/launcher3/model/LoaderTask.java
- old mode 100644
- new mode 100755
- index 4756edc..eb737de
- --- a/src/com/android/launcher3/model/LoaderTask.java
- +++ b/src/com/android/launcher3/model/LoaderTask.java
- @@ -817,6 +817,9 @@ public class LoaderTask implements Runnable {
- for (int i = 0; i < apps.size(); i++) {
- LauncherActivityInfo app = apps.get(i);
- // This builds the icon bitmaps.
- + if (app.getComponentName().getPackageName().equals("org.chromium.webview_shell")) {
- + continue;
- + }
- mBgAllAppsList.add(new AppInfo(app, user, quietMode), app);
- }
-
- diff --git a/src/com/android/launcher3/model/PackageUpdatedTask.java b/src/com/android/launcher3/model/PackageUpdatedTask.java
- old mode 100644
- new mode 100755
- index 78ecbc6..d928383
- --- a/src/com/android/launcher3/model/PackageUpdatedTask.java
- +++ b/src/com/android/launcher3/model/PackageUpdatedTask.java
- @@ -94,6 +94,9 @@ public class PackageUpdatedTask extends BaseModelUpdateTask {
- case OP_ADD: {
- for (int i = 0; i < N; i++) {
- if (DEBUG) Log.d(TAG, "mAllAppsList.addPackage " + packages[i]);
- + if ("org.chromium.webview_shell".equals(packages[i])) {
- + continue;
- + }
- iconCache.updateIconsForPkg(packages[i], mUser);
- if (FeatureFlags.LAUNCHER3_PROMISE_APPS_IN_ALL_APPS) {
- appsList.removePackage(packages[i], Process.myUserHandle());
- @@ -111,6 +114,9 @@ public class PackageUpdatedTask extends BaseModelUpdateTask {
- case OP_UPDATE:
- for (int i = 0; i < N; i++) {
- if (DEBUG) Log.d(TAG, "mAllAppsList.updatePackage " + packages[i]);
- + if ("org.chromium.webview_shell".equals(packages[i])) {
- + continue;
- + }
- iconCache.updateIconsForPkg(packages[i], mUser);
- appsList.updatePackage(context, packages[i], mUser);
- app.getWidgetCache().removePackage(packages[i], mUser);