summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/model/WidgetsModel.java
diff options
context:
space:
mode:
authorYvonne Wong <ywong@cyngn.com>2015-12-07 17:41:38 -0800
committerYvonne Wong <ywong@cyngn.com>2015-12-08 15:14:43 -0800
commitd0c2bbfb775fbdd16d7c81e82c828c3134e633e0 (patch)
tree6117f9beaebe8a4c9ac0aad1fe9036d4c2c4afed /src/com/android/launcher3/model/WidgetsModel.java
parent68434271efc7c4d0c7cac15de19a6befa2787150 (diff)
downloadandroid_packages_apps_Trebuchet-d0c2bbfb775fbdd16d7c81e82c828c3134e633e0.tar.gz
android_packages_apps_Trebuchet-d0c2bbfb775fbdd16d7c81e82c828c3134e633e0.tar.bz2
android_packages_apps_Trebuchet-d0c2bbfb775fbdd16d7c81e82c828c3134e633e0.zip
Reimplement CM Settings Overview Panel Part 4
- Enable protected apps and update workspace/app drawer/widgets view when protected apps change - Change reload launcher to happen after each setting toggle to reduce UI lag Change-Id: I0a4a4a077c3cb94eaccfb4e8c4213135cb99d57e
Diffstat (limited to 'src/com/android/launcher3/model/WidgetsModel.java')
-rw-r--r--src/com/android/launcher3/model/WidgetsModel.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/com/android/launcher3/model/WidgetsModel.java b/src/com/android/launcher3/model/WidgetsModel.java
index eef4f9173..d0fdad32a 100644
--- a/src/com/android/launcher3/model/WidgetsModel.java
+++ b/src/com/android/launcher3/model/WidgetsModel.java
@@ -7,15 +7,18 @@ import android.content.pm.ResolveInfo;
import android.util.Log;
import com.android.launcher3.AppFilter;
+import com.android.launcher3.AppInfo;
import com.android.launcher3.IconCache;
import com.android.launcher3.InvariantDeviceProfile;
import com.android.launcher3.ItemInfo;
import com.android.launcher3.LauncherAppState;
import com.android.launcher3.LauncherAppWidgetProviderInfo;
+import com.android.launcher3.ProtectedComponentsHelper;
import com.android.launcher3.Utilities;
import com.android.launcher3.compat.AlphabeticIndexCompat;
import com.android.launcher3.compat.AppWidgetManagerCompat;
import com.android.launcher3.compat.UserHandleCompat;
+import cyanogenmod.providers.CMSettings;
import java.util.ArrayList;
import java.util.Collections;
@@ -41,6 +44,7 @@ public class WidgetsModel {
private ArrayList<Object> mRawList;
+ private Context mContext;
private final AppWidgetManagerCompat mAppWidgetMgr;
private final WidgetsAndShortcutNameComparator mWidgetAndShortcutNameComparator;
private final Comparator<ItemInfo> mAppNameComparator;
@@ -49,6 +53,7 @@ public class WidgetsModel {
private AlphabeticIndexCompat mIndexer;
public WidgetsModel(Context context, IconCache iconCache, AppFilter appFilter) {
+ mContext = context;
mAppWidgetMgr = AppWidgetManagerCompat.getInstance(context);
mWidgetAndShortcutNameComparator = new WidgetsAndShortcutNameComparator(context);
mAppNameComparator = (new AppNameComparator(context)).getAppInfoComparator();
@@ -110,6 +115,7 @@ public class WidgetsModel {
mWidgetAndShortcutNameComparator.reset();
InvariantDeviceProfile idp = LauncherAppState.getInstance().getInvariantDeviceProfile();
+ ProtectedComponentsHelper.updateProtectedComponentsLists(mContext);
// add and update.
for (Object o: rawWidgetsShortcuts) {
@@ -158,11 +164,18 @@ public class WidgetsModel {
PackageItemInfo pInfo = tmpPackageItemInfos.get(packageName);
ArrayList<Object> widgetsShortcutsList = mWidgetsList.get(pInfo);
if (widgetsShortcutsList != null) {
+ if (pInfo != null && ProtectedComponentsHelper.isProtectedPackage(pInfo.flags,
+ packageName)) {
+ continue;
+ }
widgetsShortcutsList.add(o);
} else {
+ pInfo = new PackageItemInfo(packageName);
+ if (ProtectedComponentsHelper.isProtectedPackage(pInfo.flags, packageName)) {
+ continue;
+ }
widgetsShortcutsList = new ArrayList<>();
widgetsShortcutsList.add(o);
- pInfo = new PackageItemInfo(packageName);
mIconCache.getTitleAndIconForApp(packageName, userHandle,
true /* userLowResIcon */, pInfo);
pInfo.titleSectionName = mIndexer.computeSectionName(pInfo.title);