summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/AppsCustomizePagedView.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/AppsCustomizePagedView.java')
-rw-r--r--src/com/android/launcher3/AppsCustomizePagedView.java88
1 files changed, 22 insertions, 66 deletions
diff --git a/src/com/android/launcher3/AppsCustomizePagedView.java b/src/com/android/launcher3/AppsCustomizePagedView.java
index abccbb0da..61ae2894d 100644
--- a/src/com/android/launcher3/AppsCustomizePagedView.java
+++ b/src/com/android/launcher3/AppsCustomizePagedView.java
@@ -23,6 +23,7 @@ import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProviderInfo;
import android.content.ComponentName;
import android.content.Context;
+import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
@@ -191,6 +192,11 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
}
private SortMode mSortMode = SortMode.Title;
+ private int mFilterApps = FILTER_APPS_SYSTEM_FLAG | FILTER_APPS_DOWNLOADED_FLAG;
+
+ private static final int FILTER_APPS_SYSTEM_FLAG = 1;
+ private static final int FILTER_APPS_DOWNLOADED_FLAG = 2;
+
// Refs
private Launcher mLauncher;
private DragController mDragController;
@@ -1517,6 +1523,22 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
}
}
+ public void setShowSystemApps(boolean show) {
+ if (show) {
+ mFilterApps |= FILTER_APPS_SYSTEM_FLAG;
+ } else {
+ mFilterApps &= ~FILTER_APPS_DOWNLOADED_FLAG;
+ }
+ }
+
+ public boolean getShowSystemApps() {
+ return (mFilterApps & FILTER_APPS_SYSTEM_FLAG) != 0;
+ }
+
+ public boolean getShowDownloadedApps() {
+ return (mFilterApps & FILTER_APPS_DOWNLOADED_FLAG) != 0;
+ }
+
public void setApps(ArrayList<AppInfo> list) {
if (!LauncherAppState.isDisableAllApps()) {
mApps = list;
@@ -1597,72 +1619,6 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
}
}
- public void filterAppsWithoutInvalidate() {
- updateProtectedAppsList(mLauncher);
-
- mFilteredApps = new ArrayList<AppInfo>(mApps);
- Iterator<AppInfo> iterator = mFilteredApps.iterator();
- while (iterator.hasNext()) {
- AppInfo appInfo = iterator.next();
- boolean system = (appInfo.flags & AppInfo.DOWNLOADED_FLAG) == 0;
- if (mProtectedApps.contains(appInfo.componentName) ||
- (system && !getShowSystemApps()) ||
- (!system && !getShowDownloadedApps())) {
- iterator.remove();
- }
- }
- Collections.sort(mFilteredApps, getComparatorForSortMode());
- }
-
- public void filterApps() {
- filterAppsWithoutInvalidate();
- updatePageCountsAndInvalidateData();
- }
-
- public void filterWidgetsWithoutInvalidate() {
- updateProtectedAppsList(mLauncher);
-
- mFilteredWidgets = new ArrayList<Object>(mWidgets);
-
- Iterator<Object> iterator = mFilteredWidgets.iterator();
- while (iterator.hasNext()) {
- Object o = iterator.next();
-
- String packageName;
- if (o instanceof AppWidgetProviderInfo) {
- AppWidgetProviderInfo widgetInfo = (AppWidgetProviderInfo) o;
- if (widgetInfo.provider == null) {
- continue;
- }
- packageName = widgetInfo.provider.getPackageName();
- } else if (o instanceof ResolveInfo) {
- ResolveInfo shortcut = (ResolveInfo) o;
- packageName = shortcut.activityInfo.applicationInfo.packageName;
- } else {
- Log.w(TAG, "Unknown class in widgets list: " + o.getClass());
- continue;
- }
-
- int flags;
- try {
- flags = AppInfo.initFlags(mPackageManager.getPackageInfo(packageName, 0));
- } catch (NameNotFoundException e) {
- flags = 0;
- }
- boolean system = (flags & AppInfo.DOWNLOADED_FLAG) == 0;
- if (mProtectedPackages.contains(packageName) ||
- (system && !getShowSystemApps()) ||
- (!system && !getShowDownloadedApps())) {
- iterator.remove();
- }
- }
- }
-
- public void filterWidgets() {
- filterWidgetsWithoutInvalidate();
- updatePageCountsAndInvalidateData();
- }
-
public void reset() {
// If we have reset, then we should not continue to restore the previous state
mSaveInstanceStateItemIndex = -1;