diff options
author | Yvonne Wong <ywong@cyngn.com> | 2015-12-07 17:41:38 -0800 |
---|---|---|
committer | Yvonne Wong <ywong@cyngn.com> | 2015-12-08 15:14:43 -0800 |
commit | d0c2bbfb775fbdd16d7c81e82c828c3134e633e0 (patch) | |
tree | 6117f9beaebe8a4c9ac0aad1fe9036d4c2c4afed /src/com/android/launcher3/model/WidgetsModel.java | |
parent | 68434271efc7c4d0c7cac15de19a6befa2787150 (diff) | |
download | android_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.java | 15 |
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); |