1 /* 2 ** 3 ** Copyright 2012, The Android Open Source Project 4 ** 5 ** Licensed under the Apache License, Version 2.0 (the "License"); 6 ** you may not use this file except in compliance with the License. 7 ** You may obtain a copy of the License at 8 ** 9 ** http://www.apache.org/licenses/LICENSE-2.0 10 ** 11 ** Unless required by applicable law or agreed to in writing, software 12 ** distributed under the License is distributed on an "AS IS" BASIS, 13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 ** See the License for the specific language governing permissions and 15 ** limitations under the License. 16 */ 17 18 package android.os; 19 20 import android.os.Bundle; 21 import android.os.PersistableBundle; 22 import android.os.UserManager; 23 import android.content.pm.UserInfo; 24 import android.content.IntentSender; 25 import android.content.RestrictionEntry; 26 import android.graphics.Bitmap; 27 import android.os.ParcelFileDescriptor; 28 29 /** 30 * {@hide} 31 */ 32 interface IUserManager { 33 34 /* 35 * DO NOT MOVE - UserManager.h depends on the ordering of this function. 36 */ getCredentialOwnerProfile(int userHandle)37 int getCredentialOwnerProfile(int userHandle); getProfileParentId(int userHandle)38 int getProfileParentId(int userHandle); 39 /* 40 * END OF DO NOT MOVE 41 */ 42 createUser(in String name, int flags)43 UserInfo createUser(in String name, int flags); preCreateUser(int flags)44 UserInfo preCreateUser(int flags); createProfileForUser(in String name, int flags, int userHandle, in String[] disallowedPackages)45 UserInfo createProfileForUser(in String name, int flags, int userHandle, 46 in String[] disallowedPackages); createRestrictedProfile(String name, int parentUserHandle)47 UserInfo createRestrictedProfile(String name, int parentUserHandle); setUserEnabled(int userHandle)48 void setUserEnabled(int userHandle); setUserAdmin(int userId)49 void setUserAdmin(int userId); evictCredentialEncryptionKey(int userHandle)50 void evictCredentialEncryptionKey(int userHandle); removeUser(int userHandle)51 boolean removeUser(int userHandle); removeUserEvenWhenDisallowed(int userHandle)52 boolean removeUserEvenWhenDisallowed(int userHandle); setUserName(int userHandle, String name)53 void setUserName(int userHandle, String name); setUserIcon(int userHandle, in Bitmap icon)54 void setUserIcon(int userHandle, in Bitmap icon); getUserIcon(int userHandle)55 ParcelFileDescriptor getUserIcon(int userHandle); getPrimaryUser()56 UserInfo getPrimaryUser(); getUsers(boolean excludePartial, boolean excludeDying, boolean excludePreCreated)57 List<UserInfo> getUsers(boolean excludePartial, boolean excludeDying, boolean excludePreCreated); getProfiles(int userHandle, boolean enabledOnly)58 List<UserInfo> getProfiles(int userHandle, boolean enabledOnly); getProfileIds(int userId, boolean enabledOnly)59 int[] getProfileIds(int userId, boolean enabledOnly); canAddMoreManagedProfiles(int userHandle, boolean allowedToRemoveOne)60 boolean canAddMoreManagedProfiles(int userHandle, boolean allowedToRemoveOne); getProfileParent(int userHandle)61 UserInfo getProfileParent(int userHandle); isSameProfileGroup(int userHandle, int otherUserHandle)62 boolean isSameProfileGroup(int userHandle, int otherUserHandle); 63 @UnsupportedAppUsage getUserInfo(int userHandle)64 UserInfo getUserInfo(int userHandle); getUserAccount(int userHandle)65 String getUserAccount(int userHandle); setUserAccount(int userHandle, String accountName)66 void setUserAccount(int userHandle, String accountName); getUserCreationTime(int userHandle)67 long getUserCreationTime(int userHandle); isRestricted()68 boolean isRestricted(); canHaveRestrictedProfile(int userHandle)69 boolean canHaveRestrictedProfile(int userHandle); getUserSerialNumber(int userHandle)70 int getUserSerialNumber(int userHandle); getUserHandle(int userSerialNumber)71 int getUserHandle(int userSerialNumber); getUserRestrictionSource(String restrictionKey, int userHandle)72 int getUserRestrictionSource(String restrictionKey, int userHandle); getUserRestrictionSources(String restrictionKey, int userHandle)73 List<UserManager.EnforcingUser> getUserRestrictionSources(String restrictionKey, int userHandle); getUserRestrictions(int userHandle)74 Bundle getUserRestrictions(int userHandle); hasBaseUserRestriction(String restrictionKey, int userHandle)75 boolean hasBaseUserRestriction(String restrictionKey, int userHandle); hasUserRestriction(in String restrictionKey, int userHandle)76 boolean hasUserRestriction(in String restrictionKey, int userHandle); hasUserRestrictionOnAnyUser(in String restrictionKey)77 boolean hasUserRestrictionOnAnyUser(in String restrictionKey); setUserRestriction(String key, boolean value, int userHandle)78 void setUserRestriction(String key, boolean value, int userHandle); setApplicationRestrictions(in String packageName, in Bundle restrictions, int userHandle)79 void setApplicationRestrictions(in String packageName, in Bundle restrictions, 80 int userHandle); getApplicationRestrictions(in String packageName)81 Bundle getApplicationRestrictions(in String packageName); getApplicationRestrictionsForUser(in String packageName, int userHandle)82 Bundle getApplicationRestrictionsForUser(in String packageName, int userHandle); setDefaultGuestRestrictions(in Bundle restrictions)83 void setDefaultGuestRestrictions(in Bundle restrictions); getDefaultGuestRestrictions()84 Bundle getDefaultGuestRestrictions(); markGuestForDeletion(int userHandle)85 boolean markGuestForDeletion(int userHandle); isQuietModeEnabled(int userHandle)86 boolean isQuietModeEnabled(int userHandle); setSeedAccountData(int userHandle, in String accountName, in String accountType, in PersistableBundle accountOptions, boolean persist)87 void setSeedAccountData(int userHandle, in String accountName, 88 in String accountType, in PersistableBundle accountOptions, boolean persist); getSeedAccountName()89 String getSeedAccountName(); getSeedAccountType()90 String getSeedAccountType(); getSeedAccountOptions()91 PersistableBundle getSeedAccountOptions(); clearSeedAccountData()92 void clearSeedAccountData(); someUserHasSeedAccount(in String accountName, in String accountType)93 boolean someUserHasSeedAccount(in String accountName, in String accountType); isManagedProfile(int userId)94 boolean isManagedProfile(int userId); isDemoUser(int userId)95 boolean isDemoUser(int userId); isPreCreated(int userId)96 boolean isPreCreated(int userId); createProfileForUserEvenWhenDisallowed(in String name, int flags, int userHandle, in String[] disallowedPackages)97 UserInfo createProfileForUserEvenWhenDisallowed(in String name, int flags, int userHandle, 98 in String[] disallowedPackages); isUserUnlockingOrUnlocked(int userId)99 boolean isUserUnlockingOrUnlocked(int userId); getManagedProfileBadge(int userId)100 int getManagedProfileBadge(int userId); isUserUnlocked(int userId)101 boolean isUserUnlocked(int userId); isUserRunning(int userId)102 boolean isUserRunning(int userId); isUserNameSet(int userHandle)103 boolean isUserNameSet(int userHandle); hasRestrictedProfiles()104 boolean hasRestrictedProfiles(); requestQuietModeEnabled(String callingPackage, boolean enableQuietMode, int userHandle, in IntentSender target)105 boolean requestQuietModeEnabled(String callingPackage, boolean enableQuietMode, int userHandle, in IntentSender target); getUserName()106 String getUserName(); getUserStartRealtime()107 long getUserStartRealtime(); getUserUnlockRealtime()108 long getUserUnlockRealtime(); notifyOnNextUserRemoveForTest()109 void notifyOnNextUserRemoveForTest(); 110 } 111