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/util/FlagOp.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/util/FlagOp.java')
-rw-r--r-- | src/com/android/launcher3/util/FlagOp.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/com/android/launcher3/util/FlagOp.java b/src/com/android/launcher3/util/FlagOp.java new file mode 100644 index 000000000..5e26ed12f --- /dev/null +++ b/src/com/android/launcher3/util/FlagOp.java @@ -0,0 +1,30 @@ +package com.android.launcher3.util; + +public abstract class FlagOp { + + public static FlagOp NO_OP = new FlagOp() {}; + + private FlagOp() {} + + public int apply(int flags) { + return flags; + } + + public static FlagOp addFlag(final int flag) { + return new FlagOp() { + @Override + public int apply(int flags) { + return flags | flag; + } + }; + } + + public static FlagOp removeFlag(final int flag) { + return new FlagOp() { + @Override + public int apply(int flags) { + return flags & ~flag; + } + }; + } +} |