summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/AllAppsList.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2016-03-15 09:16:30 -0700
committerSunny Goyal <sunnygoyal@google.com>2016-03-18 15:13:28 -0700
commit3bbbabc54ac73a4451b0a862a3faac6426b1b7b4 (patch)
treed3833e7eb292d4137ec87c0f481d2c59139916fd /src/com/android/launcher3/AllAppsList.java
parentb8f00da8deec7f65002830261042da0140cbead0 (diff)
downloadandroid_packages_apps_Trebuchet-3bbbabc54ac73a4451b0a862a3faac6426b1b7b4.tar.gz
android_packages_apps_Trebuchet-3bbbabc54ac73a4451b0a862a3faac6426b1b7b4.tar.bz2
android_packages_apps_Trebuchet-3bbbabc54ac73a4451b0a862a3faac6426b1b7b4.zip
Fixing model being updated on UI thread
> When package gets unavailable or suspended, the disabled flag was getting updated on the UI thread. This could lead to inconsistent model if launcher activity didn't exist. > Fixing: When unsuspending one work profile apps, all work profile apps get unsuspended Bug: 27673573,27673373,27403236 Change-Id: I7fde3f79c36204e73ca66ccf8431fa0f0cce3d08
Diffstat (limited to 'src/com/android/launcher3/AllAppsList.java')
-rw-r--r--src/com/android/launcher3/AllAppsList.java11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/com/android/launcher3/AllAppsList.java b/src/com/android/launcher3/AllAppsList.java
index f76c18512..962396c3b 100644
--- a/src/com/android/launcher3/AllAppsList.java
+++ b/src/com/android/launcher3/AllAppsList.java
@@ -22,6 +22,7 @@ import android.content.Context;
import com.android.launcher3.compat.LauncherActivityInfoCompat;
import com.android.launcher3.compat.LauncherAppsCompat;
import com.android.launcher3.compat.UserHandleCompat;
+import com.android.launcher3.util.FlagOp;
import java.util.ArrayList;
import java.util.HashSet;
@@ -119,19 +120,15 @@ class AllAppsList {
}
/**
- * Suspend the apps for the given apk identified by packageName.
+ * Updates the apps for the given packageName and user based on {@param op}.
*/
- public void suspendPackage(String packageName, UserHandleCompat user, boolean suspend) {
+ public void updatePackageFlags(String packageName, UserHandleCompat user, FlagOp op) {
final List<AppInfo> data = this.data;
for (int i = data.size() - 1; i >= 0; i--) {
AppInfo info = data.get(i);
final ComponentName component = info.intent.getComponent();
if (info.user.equals(user) && packageName.equals(component.getPackageName())) {
- if (suspend) {
- info.isDisabled |= ShortcutInfo.FLAG_DISABLED_SUSPENDED;
- } else {
- info.isDisabled &= ~ShortcutInfo.FLAG_DISABLED_SUSPENDED;
- }
+ info.isDisabled = op.apply(info.isDisabled);
modified.add(info);
}
}