diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-03-15 09:16:30 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2016-03-18 15:13:28 -0700 |
commit | 3bbbabc54ac73a4451b0a862a3faac6426b1b7b4 (patch) | |
tree | d3833e7eb292d4137ec87c0f481d2c59139916fd /src/com/android/launcher3/AllAppsList.java | |
parent | b8f00da8deec7f65002830261042da0140cbead0 (diff) | |
download | android_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.java | 11 |
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); } } |