summaryrefslogtreecommitdiff
path: root/iconloaderlib/src/com/android/launcher3/util/UserIconInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'iconloaderlib/src/com/android/launcher3/util/UserIconInfo.java')
-rw-r--r--iconloaderlib/src/com/android/launcher3/util/UserIconInfo.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/iconloaderlib/src/com/android/launcher3/util/UserIconInfo.java b/iconloaderlib/src/com/android/launcher3/util/UserIconInfo.java
new file mode 100644
index 0000000..f1d753d
--- /dev/null
+++ b/iconloaderlib/src/com/android/launcher3/util/UserIconInfo.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.util;
+
+import static com.android.launcher3.icons.BitmapInfo.FLAG_CLONE;
+import static com.android.launcher3.icons.BitmapInfo.FLAG_PRIVATE;
+import static com.android.launcher3.icons.BitmapInfo.FLAG_WORK;
+
+import android.os.UserHandle;
+
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
+
+/**
+ * Data class which stores various properties of a {@link android.os.UserHandle}
+ * which affects rendering
+ */
+public class UserIconInfo {
+
+ public static final int TYPE_MAIN = 0;
+ public static final int TYPE_WORK = 1;
+ public static final int TYPE_CLONED = 2;
+
+ public static final int TYPE_PRIVATE = 3;
+
+ @IntDef({TYPE_MAIN, TYPE_WORK, TYPE_CLONED, TYPE_PRIVATE})
+ public @interface UserType { }
+
+ public final UserHandle user;
+ @UserType
+ public final int type;
+
+ public final long userSerial;
+
+ public UserIconInfo(UserHandle user, @UserType int type) {
+ this(user, type, 0);
+ }
+
+ public UserIconInfo(UserHandle user, @UserType int type, long userSerial) {
+ this.user = user;
+ this.type = type;
+ this.userSerial = userSerial;
+ }
+
+ public boolean isMain() {
+ return type == TYPE_MAIN;
+ }
+
+ public boolean isWork() {
+ return type == TYPE_WORK;
+ }
+
+ public boolean isCloned() {
+ return type == TYPE_CLONED;
+ }
+
+ public boolean isPrivate() {
+ return type == TYPE_PRIVATE;
+ }
+
+ @NonNull
+ public FlagOp applyBitmapInfoFlags(@NonNull FlagOp op) {
+ return op.setFlag(FLAG_WORK, isWork())
+ .setFlag(FLAG_CLONE, isCloned())
+ .setFlag(FLAG_PRIVATE, isPrivate());
+ }
+}