1package com.android.launcher3.util;
2
3public abstract class FlagOp {
4
5    public static FlagOp NO_OP = new FlagOp() {};
6
7    private FlagOp() {}
8
9    public int apply(int flags) {
10        return flags;
11    }
12
13    public static FlagOp addFlag(final int flag) {
14        return new FlagOp() {
15            @Override
16            public int apply(int flags) {
17                return flags | flag;
18            }
19        };
20    }
21
22    public static FlagOp removeFlag(final int flag) {
23        return new FlagOp() {
24            @Override
25            public int apply(int flags) {
26                return flags & ~flag;
27            }
28        };
29    }
30}
31