UserManagerCompat.java revision d794a3f46521b972fa02826d379d1efa112793d2
1ed13187a745866483139e2878037e1f8427ce567Kenny Guy/*
2ed13187a745866483139e2878037e1f8427ce567Kenny Guy * Copyright (C) 2014 The Android Open Source Project
3ed13187a745866483139e2878037e1f8427ce567Kenny Guy *
4ed13187a745866483139e2878037e1f8427ce567Kenny Guy * Licensed under the Apache License, Version 2.0 (the "License");
5ed13187a745866483139e2878037e1f8427ce567Kenny Guy * you may not use this file except in compliance with the License.
6ed13187a745866483139e2878037e1f8427ce567Kenny Guy * You may obtain a copy of the License at
7ed13187a745866483139e2878037e1f8427ce567Kenny Guy *
8ed13187a745866483139e2878037e1f8427ce567Kenny Guy *      http://www.apache.org/licenses/LICENSE-2.0
9ed13187a745866483139e2878037e1f8427ce567Kenny Guy *
10ed13187a745866483139e2878037e1f8427ce567Kenny Guy * Unless required by applicable law or agreed to in writing, software
11ed13187a745866483139e2878037e1f8427ce567Kenny Guy * distributed under the License is distributed on an "AS IS" BASIS,
12ed13187a745866483139e2878037e1f8427ce567Kenny Guy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ed13187a745866483139e2878037e1f8427ce567Kenny Guy * See the License for the specific language governing permissions and
14ed13187a745866483139e2878037e1f8427ce567Kenny Guy * limitations under the License.
15ed13187a745866483139e2878037e1f8427ce567Kenny Guy */
16ed13187a745866483139e2878037e1f8427ce567Kenny Guy
17ed13187a745866483139e2878037e1f8427ce567Kenny Guypackage com.android.launcher3.compat;
18ed13187a745866483139e2878037e1f8427ce567Kenny Guy
19ed13187a745866483139e2878037e1f8427ce567Kenny Guyimport android.content.Context;
20ed13187a745866483139e2878037e1f8427ce567Kenny Guyimport android.graphics.drawable.Drawable;
21ed13187a745866483139e2878037e1f8427ce567Kenny Guyimport android.os.Build;
22ed13187a745866483139e2878037e1f8427ce567Kenny Guy
23d794a3f46521b972fa02826d379d1efa112793d2Kenny Guyimport com.android.launcher3.Utilities;
24d794a3f46521b972fa02826d379d1efa112793d2Kenny Guy
25ed13187a745866483139e2878037e1f8427ce567Kenny Guyimport java.util.List;
26ed13187a745866483139e2878037e1f8427ce567Kenny Guy
27ed13187a745866483139e2878037e1f8427ce567Kenny Guypublic abstract class UserManagerCompat {
28ed13187a745866483139e2878037e1f8427ce567Kenny Guy    protected UserManagerCompat() {
29ed13187a745866483139e2878037e1f8427ce567Kenny Guy    }
30ed13187a745866483139e2878037e1f8427ce567Kenny Guy
31ed13187a745866483139e2878037e1f8427ce567Kenny Guy    public static UserManagerCompat getInstance(Context context) {
32d794a3f46521b972fa02826d379d1efa112793d2Kenny Guy        if (Utilities.isLmpOrAbove()) {
33ed13187a745866483139e2878037e1f8427ce567Kenny Guy            return new UserManagerCompatVL(context);
34ed13187a745866483139e2878037e1f8427ce567Kenny Guy        } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
35ed13187a745866483139e2878037e1f8427ce567Kenny Guy            return new UserManagerCompatV17(context);
36ed13187a745866483139e2878037e1f8427ce567Kenny Guy        } else {
37ed13187a745866483139e2878037e1f8427ce567Kenny Guy            return new UserManagerCompatV16();
38ed13187a745866483139e2878037e1f8427ce567Kenny Guy        }
39ed13187a745866483139e2878037e1f8427ce567Kenny Guy    }
40ed13187a745866483139e2878037e1f8427ce567Kenny Guy
41ed13187a745866483139e2878037e1f8427ce567Kenny Guy    public abstract List<UserHandleCompat> getUserProfiles();
42ed13187a745866483139e2878037e1f8427ce567Kenny Guy    public abstract long getSerialNumberForUser(UserHandleCompat user);
43ed13187a745866483139e2878037e1f8427ce567Kenny Guy    public abstract UserHandleCompat getUserForSerialNumber(long serialNumber);
44ed13187a745866483139e2878037e1f8427ce567Kenny Guy    public abstract Drawable getBadgedDrawableForUser(Drawable unbadged, UserHandleCompat user);
45d6fe52636dcaa96ec1e10ce2daebe98b820c9739Kenny Guy    public abstract CharSequence getBadgedLabelForUser(CharSequence label, UserHandleCompat user);
46ed13187a745866483139e2878037e1f8427ce567Kenny Guy}
47