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