summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/util/FlagOp.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/util/FlagOp.java')
-rw-r--r--src/com/android/launcher3/util/FlagOp.java30
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;
+ }
+ };
+ }
+}