1 /*
2 **
3 ** Copyright 2010, 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.app.admin;
19 
20 import android.accounts.Account;
21 import android.app.admin.NetworkEvent;
22 import android.app.IApplicationThread;
23 import android.app.IServiceConnection;
24 import android.app.admin.ParcelableGranteeMap;
25 import android.app.admin.StartInstallingUpdateCallback;
26 import android.app.admin.SystemUpdateInfo;
27 import android.app.admin.SystemUpdatePolicy;
28 import android.app.admin.PasswordMetrics;
29 import android.app.admin.FactoryResetProtectionPolicy;
30 import android.app.admin.ManagedProfileProvisioningParams;
31 import android.app.admin.FullyManagedDeviceProvisioningParams;
32 import android.content.ComponentName;
33 import android.content.Intent;
34 import android.content.IntentFilter;
35 import android.content.pm.IPackageDataObserver;
36 import android.content.pm.ParceledListSlice;
37 import android.content.pm.StringParceledListSlice;
38 import android.graphics.Bitmap;
39 import android.net.ProxyInfo;
40 import android.net.Uri;
41 import android.os.Bundle;
42 import android.os.PersistableBundle;
43 import android.os.RemoteCallback;
44 import android.os.UserHandle;
45 import android.security.keymaster.KeymasterCertificateChain;
46 import android.security.keystore.ParcelableKeyGenParameterSpec;
47 import android.telephony.data.ApnSetting;
48 
49 import java.util.List;
50 
51 /**
52  * Internal IPC interface to the device policy service.
53  * {@hide}
54  */
55 interface IDevicePolicyManager {
setPasswordQuality(in ComponentName who, int quality, boolean parent)56     void setPasswordQuality(in ComponentName who, int quality, boolean parent);
getPasswordQuality(in ComponentName who, int userHandle, boolean parent)57     int getPasswordQuality(in ComponentName who, int userHandle, boolean parent);
58 
setPasswordMinimumLength(in ComponentName who, int length, boolean parent)59     void setPasswordMinimumLength(in ComponentName who, int length, boolean parent);
getPasswordMinimumLength(in ComponentName who, int userHandle, boolean parent)60     int getPasswordMinimumLength(in ComponentName who, int userHandle, boolean parent);
61 
setPasswordMinimumUpperCase(in ComponentName who, int length, boolean parent)62     void setPasswordMinimumUpperCase(in ComponentName who, int length, boolean parent);
getPasswordMinimumUpperCase(in ComponentName who, int userHandle, boolean parent)63     int getPasswordMinimumUpperCase(in ComponentName who, int userHandle, boolean parent);
64 
setPasswordMinimumLowerCase(in ComponentName who, int length, boolean parent)65     void setPasswordMinimumLowerCase(in ComponentName who, int length, boolean parent);
getPasswordMinimumLowerCase(in ComponentName who, int userHandle, boolean parent)66     int getPasswordMinimumLowerCase(in ComponentName who, int userHandle, boolean parent);
67 
setPasswordMinimumLetters(in ComponentName who, int length, boolean parent)68     void setPasswordMinimumLetters(in ComponentName who, int length, boolean parent);
getPasswordMinimumLetters(in ComponentName who, int userHandle, boolean parent)69     int getPasswordMinimumLetters(in ComponentName who, int userHandle, boolean parent);
70 
setPasswordMinimumNumeric(in ComponentName who, int length, boolean parent)71     void setPasswordMinimumNumeric(in ComponentName who, int length, boolean parent);
getPasswordMinimumNumeric(in ComponentName who, int userHandle, boolean parent)72     int getPasswordMinimumNumeric(in ComponentName who, int userHandle, boolean parent);
73 
setPasswordMinimumSymbols(in ComponentName who, int length, boolean parent)74     void setPasswordMinimumSymbols(in ComponentName who, int length, boolean parent);
getPasswordMinimumSymbols(in ComponentName who, int userHandle, boolean parent)75     int getPasswordMinimumSymbols(in ComponentName who, int userHandle, boolean parent);
76 
setPasswordMinimumNonLetter(in ComponentName who, int length, boolean parent)77     void setPasswordMinimumNonLetter(in ComponentName who, int length, boolean parent);
getPasswordMinimumNonLetter(in ComponentName who, int userHandle, boolean parent)78     int getPasswordMinimumNonLetter(in ComponentName who, int userHandle, boolean parent);
79 
getPasswordMinimumMetrics(int userHandle, boolean deviceWideOnly)80     PasswordMetrics getPasswordMinimumMetrics(int userHandle, boolean deviceWideOnly);
81 
setPasswordHistoryLength(in ComponentName who, int length, boolean parent)82     void setPasswordHistoryLength(in ComponentName who, int length, boolean parent);
getPasswordHistoryLength(in ComponentName who, int userHandle, boolean parent)83     int getPasswordHistoryLength(in ComponentName who, int userHandle, boolean parent);
84 
setPasswordExpirationTimeout(in ComponentName who, long expiration, boolean parent)85     void setPasswordExpirationTimeout(in ComponentName who, long expiration, boolean parent);
getPasswordExpirationTimeout(in ComponentName who, int userHandle, boolean parent)86     long getPasswordExpirationTimeout(in ComponentName who, int userHandle, boolean parent);
87 
getPasswordExpiration(in ComponentName who, int userHandle, boolean parent)88     long getPasswordExpiration(in ComponentName who, int userHandle, boolean parent);
89 
isActivePasswordSufficient(int userHandle, boolean parent)90     boolean isActivePasswordSufficient(int userHandle, boolean parent);
isActivePasswordSufficientForDeviceRequirement()91     boolean isActivePasswordSufficientForDeviceRequirement();
isPasswordSufficientAfterProfileUnification(int userHandle, int profileUser)92     boolean isPasswordSufficientAfterProfileUnification(int userHandle, int profileUser);
getPasswordComplexity(boolean parent)93     int getPasswordComplexity(boolean parent);
setRequiredPasswordComplexity(int passwordComplexity, boolean parent)94     void setRequiredPasswordComplexity(int passwordComplexity, boolean parent);
getRequiredPasswordComplexity(boolean parent)95     int getRequiredPasswordComplexity(boolean parent);
getAggregatedPasswordComplexityForUser(int userId, boolean deviceWideOnly)96     int getAggregatedPasswordComplexityForUser(int userId, boolean deviceWideOnly);
isUsingUnifiedPassword(in ComponentName admin)97     boolean isUsingUnifiedPassword(in ComponentName admin);
getCurrentFailedPasswordAttempts(int userHandle, boolean parent)98     int getCurrentFailedPasswordAttempts(int userHandle, boolean parent);
getProfileWithMinimumFailedPasswordsForWipe(int userHandle, boolean parent)99     int getProfileWithMinimumFailedPasswordsForWipe(int userHandle, boolean parent);
100 
finalizeWorkProfileProvisioning(in UserHandle managedProfileUser, in Account migratedAccount)101     void finalizeWorkProfileProvisioning(in UserHandle managedProfileUser, in Account migratedAccount);
102 
setMaximumFailedPasswordsForWipe(in ComponentName admin, int num, boolean parent)103     void setMaximumFailedPasswordsForWipe(in ComponentName admin, int num, boolean parent);
getMaximumFailedPasswordsForWipe(in ComponentName admin, int userHandle, boolean parent)104     int getMaximumFailedPasswordsForWipe(in ComponentName admin, int userHandle, boolean parent);
105 
resetPassword(String password, int flags)106     boolean resetPassword(String password, int flags);
107 
setMaximumTimeToLock(in ComponentName who, long timeMs, boolean parent)108     void setMaximumTimeToLock(in ComponentName who, long timeMs, boolean parent);
getMaximumTimeToLock(in ComponentName who, int userHandle, boolean parent)109     long getMaximumTimeToLock(in ComponentName who, int userHandle, boolean parent);
110 
setRequiredStrongAuthTimeout(in ComponentName who, long timeMs, boolean parent)111     void setRequiredStrongAuthTimeout(in ComponentName who, long timeMs, boolean parent);
getRequiredStrongAuthTimeout(in ComponentName who, int userId, boolean parent)112     long getRequiredStrongAuthTimeout(in ComponentName who, int userId, boolean parent);
113 
lockNow(int flags, boolean parent)114     void lockNow(int flags, boolean parent);
115 
wipeDataWithReason(int flags, String wipeReasonForUser, boolean parent)116     void wipeDataWithReason(int flags, String wipeReasonForUser, boolean parent);
117 
setFactoryResetProtectionPolicy(in ComponentName who, in FactoryResetProtectionPolicy policy)118     void setFactoryResetProtectionPolicy(in ComponentName who, in FactoryResetProtectionPolicy policy);
getFactoryResetProtectionPolicy(in ComponentName who)119     FactoryResetProtectionPolicy getFactoryResetProtectionPolicy(in ComponentName who);
isFactoryResetProtectionPolicySupported()120     boolean isFactoryResetProtectionPolicySupported();
121 
setGlobalProxy(in ComponentName admin, String proxySpec, String exclusionList)122     ComponentName setGlobalProxy(in ComponentName admin, String proxySpec, String exclusionList);
getGlobalProxyAdmin(int userHandle)123     ComponentName getGlobalProxyAdmin(int userHandle);
setRecommendedGlobalProxy(in ComponentName admin, in ProxyInfo proxyInfo)124     void setRecommendedGlobalProxy(in ComponentName admin, in ProxyInfo proxyInfo);
125 
setStorageEncryption(in ComponentName who, boolean encrypt)126     int setStorageEncryption(in ComponentName who, boolean encrypt);
getStorageEncryption(in ComponentName who, int userHandle)127     boolean getStorageEncryption(in ComponentName who, int userHandle);
getStorageEncryptionStatus(in String callerPackage, int userHandle)128     int getStorageEncryptionStatus(in String callerPackage, int userHandle);
129 
requestBugreport(in ComponentName who)130     boolean requestBugreport(in ComponentName who);
131 
setCameraDisabled(in ComponentName who, boolean disabled, boolean parent)132     void setCameraDisabled(in ComponentName who, boolean disabled, boolean parent);
getCameraDisabled(in ComponentName who, int userHandle, boolean parent)133     boolean getCameraDisabled(in ComponentName who, int userHandle, boolean parent);
134 
setScreenCaptureDisabled(in ComponentName who, boolean disabled, boolean parent)135     void setScreenCaptureDisabled(in ComponentName who, boolean disabled, boolean parent);
getScreenCaptureDisabled(in ComponentName who, int userHandle, boolean parent)136     boolean getScreenCaptureDisabled(in ComponentName who, int userHandle, boolean parent);
137 
setNearbyNotificationStreamingPolicy(int policy)138     void setNearbyNotificationStreamingPolicy(int policy);
getNearbyNotificationStreamingPolicy(int userId)139     int getNearbyNotificationStreamingPolicy(int userId);
140 
setNearbyAppStreamingPolicy(int policy)141     void setNearbyAppStreamingPolicy(int policy);
getNearbyAppStreamingPolicy(int userId)142     int getNearbyAppStreamingPolicy(int userId);
143 
setKeyguardDisabledFeatures(in ComponentName who, int which, boolean parent)144     void setKeyguardDisabledFeatures(in ComponentName who, int which, boolean parent);
getKeyguardDisabledFeatures(in ComponentName who, int userHandle, boolean parent)145     int getKeyguardDisabledFeatures(in ComponentName who, int userHandle, boolean parent);
146 
setActiveAdmin(in ComponentName policyReceiver, boolean refreshing, int userHandle)147     void setActiveAdmin(in ComponentName policyReceiver, boolean refreshing, int userHandle);
isAdminActive(in ComponentName policyReceiver, int userHandle)148     boolean isAdminActive(in ComponentName policyReceiver, int userHandle);
getActiveAdmins(int userHandle)149     List<ComponentName> getActiveAdmins(int userHandle);
150     @UnsupportedAppUsage
packageHasActiveAdmins(String packageName, int userHandle)151     boolean packageHasActiveAdmins(String packageName, int userHandle);
getRemoveWarning(in ComponentName policyReceiver, in RemoteCallback result, int userHandle)152     void getRemoveWarning(in ComponentName policyReceiver, in RemoteCallback result, int userHandle);
removeActiveAdmin(in ComponentName policyReceiver, int userHandle)153     void removeActiveAdmin(in ComponentName policyReceiver, int userHandle);
forceRemoveActiveAdmin(in ComponentName policyReceiver, int userHandle)154     void forceRemoveActiveAdmin(in ComponentName policyReceiver, int userHandle);
hasGrantedPolicy(in ComponentName policyReceiver, int usesPolicy, int userHandle)155     boolean hasGrantedPolicy(in ComponentName policyReceiver, int usesPolicy, int userHandle);
156 
reportPasswordChanged(int userId)157     void reportPasswordChanged(int userId);
reportFailedPasswordAttempt(int userHandle)158     void reportFailedPasswordAttempt(int userHandle);
reportSuccessfulPasswordAttempt(int userHandle)159     void reportSuccessfulPasswordAttempt(int userHandle);
reportFailedBiometricAttempt(int userHandle)160     void reportFailedBiometricAttempt(int userHandle);
reportSuccessfulBiometricAttempt(int userHandle)161     void reportSuccessfulBiometricAttempt(int userHandle);
reportKeyguardDismissed(int userHandle)162     void reportKeyguardDismissed(int userHandle);
reportKeyguardSecured(int userHandle)163     void reportKeyguardSecured(int userHandle);
164 
setDeviceOwner(in ComponentName who, String ownerName, int userId, boolean setProfileOwnerOnCurrentUserIfNecessary)165     boolean setDeviceOwner(in ComponentName who, String ownerName, int userId, boolean setProfileOwnerOnCurrentUserIfNecessary);
getDeviceOwnerComponent(boolean callingUserOnly)166     ComponentName getDeviceOwnerComponent(boolean callingUserOnly);
hasDeviceOwner()167     boolean hasDeviceOwner();
getDeviceOwnerName()168     String getDeviceOwnerName();
clearDeviceOwner(String packageName)169     void clearDeviceOwner(String packageName);
getDeviceOwnerUserId()170     int getDeviceOwnerUserId();
171 
setProfileOwner(in ComponentName who, String ownerName, int userHandle)172     boolean setProfileOwner(in ComponentName who, String ownerName, int userHandle);
getProfileOwnerAsUser(int userHandle)173     ComponentName getProfileOwnerAsUser(int userHandle);
getProfileOwnerOrDeviceOwnerSupervisionComponent(in UserHandle userHandle)174     ComponentName getProfileOwnerOrDeviceOwnerSupervisionComponent(in UserHandle userHandle);
getProfileOwnerName(int userHandle)175     String getProfileOwnerName(int userHandle);
setProfileEnabled(in ComponentName who)176     void setProfileEnabled(in ComponentName who);
setProfileName(in ComponentName who, String profileName)177     void setProfileName(in ComponentName who, String profileName);
clearProfileOwner(in ComponentName who)178     void clearProfileOwner(in ComponentName who);
hasUserSetupCompleted()179     boolean hasUserSetupCompleted();
isOrganizationOwnedDeviceWithManagedProfile()180     boolean isOrganizationOwnedDeviceWithManagedProfile();
181 
checkDeviceIdentifierAccess(in String packageName, int pid, int uid)182     boolean checkDeviceIdentifierAccess(in String packageName, int pid, int uid);
183 
setDeviceOwnerLockScreenInfo(in ComponentName who, CharSequence deviceOwnerInfo)184     void setDeviceOwnerLockScreenInfo(in ComponentName who, CharSequence deviceOwnerInfo);
getDeviceOwnerLockScreenInfo()185     CharSequence getDeviceOwnerLockScreenInfo();
186 
setPackagesSuspended(in ComponentName admin, in String callerPackage, in String[] packageNames, boolean suspended)187     String[] setPackagesSuspended(in ComponentName admin, in String callerPackage, in String[] packageNames, boolean suspended);
isPackageSuspended(in ComponentName admin, in String callerPackage, String packageName)188     boolean isPackageSuspended(in ComponentName admin, in String callerPackage, String packageName);
listPolicyExemptApps()189     List<String> listPolicyExemptApps();
190 
installCaCert(in ComponentName admin, String callerPackage, in byte[] certBuffer)191     boolean installCaCert(in ComponentName admin, String callerPackage, in byte[] certBuffer);
uninstallCaCerts(in ComponentName admin, String callerPackage, in String[] aliases)192     void uninstallCaCerts(in ComponentName admin, String callerPackage, in String[] aliases);
enforceCanManageCaCerts(in ComponentName admin, in String callerPackage)193     void enforceCanManageCaCerts(in ComponentName admin, in String callerPackage);
approveCaCert(in String alias, int userHandle, boolean approval)194     boolean approveCaCert(in String alias, int userHandle, boolean approval);
isCaCertApproved(in String alias, int userHandle)195     boolean isCaCertApproved(in String alias, int userHandle);
196 
installKeyPair(in ComponentName who, in String callerPackage, in byte[] privKeyBuffer, in byte[] certBuffer, in byte[] certChainBuffer, String alias, boolean requestAccess, boolean isUserSelectable)197     boolean installKeyPair(in ComponentName who, in String callerPackage, in byte[] privKeyBuffer,
198             in byte[] certBuffer, in byte[] certChainBuffer, String alias, boolean requestAccess,
199             boolean isUserSelectable);
removeKeyPair(in ComponentName who, in String callerPackage, String alias)200     boolean removeKeyPair(in ComponentName who, in String callerPackage, String alias);
hasKeyPair(in String callerPackage, in String alias)201     boolean hasKeyPair(in String callerPackage, in String alias);
generateKeyPair(in ComponentName who, in String callerPackage, in String algorithm, in ParcelableKeyGenParameterSpec keySpec, in int idAttestationFlags, out KeymasterCertificateChain attestationChain)202     boolean generateKeyPair(in ComponentName who, in String callerPackage, in String algorithm,
203             in ParcelableKeyGenParameterSpec keySpec,
204             in int idAttestationFlags, out KeymasterCertificateChain attestationChain);
setKeyPairCertificate(in ComponentName who, in String callerPackage, in String alias, in byte[] certBuffer, in byte[] certChainBuffer, boolean isUserSelectable)205     boolean setKeyPairCertificate(in ComponentName who, in String callerPackage, in String alias,
206             in byte[] certBuffer, in byte[] certChainBuffer, boolean isUserSelectable);
choosePrivateKeyAlias(int uid, in Uri uri, in String alias, IBinder aliasCallback)207     void choosePrivateKeyAlias(int uid, in Uri uri, in String alias, IBinder aliasCallback);
208 
setDelegatedScopes(in ComponentName who, in String delegatePackage, in List<String> scopes)209     void setDelegatedScopes(in ComponentName who, in String delegatePackage, in List<String> scopes);
getDelegatedScopes(in ComponentName who, String delegatePackage)210     List<String> getDelegatedScopes(in ComponentName who, String delegatePackage);
getDelegatePackages(in ComponentName who, String scope)211     List<String> getDelegatePackages(in ComponentName who, String scope);
212 
setCertInstallerPackage(in ComponentName who, String installerPackage)213     void setCertInstallerPackage(in ComponentName who, String installerPackage);
getCertInstallerPackage(in ComponentName who)214     String getCertInstallerPackage(in ComponentName who);
215 
setAlwaysOnVpnPackage(in ComponentName who, String vpnPackage, boolean lockdown, in List<String> lockdownAllowlist)216     boolean setAlwaysOnVpnPackage(in ComponentName who, String vpnPackage, boolean lockdown, in List<String> lockdownAllowlist);
getAlwaysOnVpnPackage(in ComponentName who)217     String getAlwaysOnVpnPackage(in ComponentName who);
getAlwaysOnVpnPackageForUser(int userHandle)218     String getAlwaysOnVpnPackageForUser(int userHandle);
isAlwaysOnVpnLockdownEnabled(in ComponentName who)219     boolean isAlwaysOnVpnLockdownEnabled(in ComponentName who);
isAlwaysOnVpnLockdownEnabledForUser(int userHandle)220     boolean isAlwaysOnVpnLockdownEnabledForUser(int userHandle);
getAlwaysOnVpnLockdownAllowlist(in ComponentName who)221     List<String> getAlwaysOnVpnLockdownAllowlist(in ComponentName who);
222 
addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity)223     void addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity);
clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName)224     void clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName);
225 
setDefaultSmsApplication(in ComponentName admin, String packageName, boolean parent)226     void setDefaultSmsApplication(in ComponentName admin, String packageName, boolean parent);
227 
setApplicationRestrictions(in ComponentName who, in String callerPackage, in String packageName, in Bundle settings)228     void setApplicationRestrictions(in ComponentName who, in String callerPackage, in String packageName, in Bundle settings);
getApplicationRestrictions(in ComponentName who, in String callerPackage, in String packageName)229     Bundle getApplicationRestrictions(in ComponentName who, in String callerPackage, in String packageName);
setApplicationRestrictionsManagingPackage(in ComponentName admin, in String packageName)230     boolean setApplicationRestrictionsManagingPackage(in ComponentName admin, in String packageName);
getApplicationRestrictionsManagingPackage(in ComponentName admin)231     String getApplicationRestrictionsManagingPackage(in ComponentName admin);
isCallerApplicationRestrictionsManagingPackage(in String callerPackage)232     boolean isCallerApplicationRestrictionsManagingPackage(in String callerPackage);
233 
setRestrictionsProvider(in ComponentName who, in ComponentName provider)234     void setRestrictionsProvider(in ComponentName who, in ComponentName provider);
getRestrictionsProvider(int userHandle)235     ComponentName getRestrictionsProvider(int userHandle);
236 
setUserRestriction(in ComponentName who, in String key, boolean enable, boolean parent)237     void setUserRestriction(in ComponentName who, in String key, boolean enable, boolean parent);
getUserRestrictions(in ComponentName who, boolean parent)238     Bundle getUserRestrictions(in ComponentName who, boolean parent);
addCrossProfileIntentFilter(in ComponentName admin, in IntentFilter filter, int flags)239     void addCrossProfileIntentFilter(in ComponentName admin, in IntentFilter filter, int flags);
clearCrossProfileIntentFilters(in ComponentName admin)240     void clearCrossProfileIntentFilters(in ComponentName admin);
241 
setPermittedAccessibilityServices(in ComponentName admin,in List packageList)242     boolean setPermittedAccessibilityServices(in ComponentName admin,in List packageList);
getPermittedAccessibilityServices(in ComponentName admin)243     List getPermittedAccessibilityServices(in ComponentName admin);
getPermittedAccessibilityServicesForUser(int userId)244     List getPermittedAccessibilityServicesForUser(int userId);
isAccessibilityServicePermittedByAdmin(in ComponentName admin, String packageName, int userId)245     boolean isAccessibilityServicePermittedByAdmin(in ComponentName admin, String packageName, int userId);
246 
setPermittedInputMethods(in ComponentName admin,in List packageList, boolean parent)247     boolean setPermittedInputMethods(in ComponentName admin,in List packageList, boolean parent);
getPermittedInputMethods(in ComponentName admin, boolean parent)248     List getPermittedInputMethods(in ComponentName admin, boolean parent);
getPermittedInputMethodsForCurrentUser()249     List getPermittedInputMethodsForCurrentUser();
isInputMethodPermittedByAdmin(in ComponentName admin, String packageName, int userId, boolean parent)250     boolean isInputMethodPermittedByAdmin(in ComponentName admin, String packageName, int userId, boolean parent);
251 
setPermittedCrossProfileNotificationListeners(in ComponentName admin, in List<String> packageList)252     boolean setPermittedCrossProfileNotificationListeners(in ComponentName admin, in List<String> packageList);
getPermittedCrossProfileNotificationListeners(in ComponentName admin)253     List<String> getPermittedCrossProfileNotificationListeners(in ComponentName admin);
isNotificationListenerServicePermitted(in String packageName, int userId)254     boolean isNotificationListenerServicePermitted(in String packageName, int userId);
255 
createAdminSupportIntent(in String restriction)256     Intent createAdminSupportIntent(in String restriction);
getEnforcingAdminAndUserDetails(int userId,String restriction)257     Bundle getEnforcingAdminAndUserDetails(int userId,String restriction);
setApplicationHidden(in ComponentName admin, in String callerPackage, in String packageName, boolean hidden, boolean parent)258     boolean setApplicationHidden(in ComponentName admin, in String callerPackage, in String packageName, boolean hidden, boolean parent);
isApplicationHidden(in ComponentName admin, in String callerPackage, in String packageName, boolean parent)259     boolean isApplicationHidden(in ComponentName admin, in String callerPackage, in String packageName, boolean parent);
260 
createAndManageUser(in ComponentName who, in String name, in ComponentName profileOwner, in PersistableBundle adminExtras, in int flags)261     UserHandle createAndManageUser(in ComponentName who, in String name, in ComponentName profileOwner, in PersistableBundle adminExtras, in int flags);
removeUser(in ComponentName who, in UserHandle userHandle)262     boolean removeUser(in ComponentName who, in UserHandle userHandle);
switchUser(in ComponentName who, in UserHandle userHandle)263     boolean switchUser(in ComponentName who, in UserHandle userHandle);
startUserInBackground(in ComponentName who, in UserHandle userHandle)264     int startUserInBackground(in ComponentName who, in UserHandle userHandle);
stopUser(in ComponentName who, in UserHandle userHandle)265     int stopUser(in ComponentName who, in UserHandle userHandle);
logoutUser(in ComponentName who)266     int logoutUser(in ComponentName who);
getLogoutUserId()267     int getLogoutUserId();
clearLogoutUser()268     void clearLogoutUser();
getSecondaryUsers(in ComponentName who)269     List<UserHandle> getSecondaryUsers(in ComponentName who);
resetNewUserDisclaimer()270     void resetNewUserDisclaimer();
271 
enableSystemApp(in ComponentName admin, in String callerPackage, in String packageName)272     void enableSystemApp(in ComponentName admin, in String callerPackage, in String packageName);
enableSystemAppWithIntent(in ComponentName admin, in String callerPackage, in Intent intent)273     int enableSystemAppWithIntent(in ComponentName admin, in String callerPackage, in Intent intent);
installExistingPackage(in ComponentName admin, in String callerPackage, in String packageName)274     boolean installExistingPackage(in ComponentName admin, in String callerPackage, in String packageName);
275 
setAccountManagementDisabled(in ComponentName who, in String accountType, in boolean disabled, in boolean parent)276     void setAccountManagementDisabled(in ComponentName who, in String accountType, in boolean disabled, in boolean parent);
getAccountTypesWithManagementDisabled()277     String[] getAccountTypesWithManagementDisabled();
getAccountTypesWithManagementDisabledAsUser(int userId, in boolean parent)278     String[] getAccountTypesWithManagementDisabledAsUser(int userId, in boolean parent);
279 
setSecondaryLockscreenEnabled(in ComponentName who, boolean enabled)280     void setSecondaryLockscreenEnabled(in ComponentName who, boolean enabled);
isSecondaryLockscreenEnabled(in UserHandle userHandle)281     boolean isSecondaryLockscreenEnabled(in UserHandle userHandle);
282 
setPreferentialNetworkServiceEnabled(in boolean enabled)283     void setPreferentialNetworkServiceEnabled(in boolean enabled);
isPreferentialNetworkServiceEnabled(int userHandle)284     boolean isPreferentialNetworkServiceEnabled(int userHandle);
285 
setLockTaskPackages(in ComponentName who, in String[] packages)286     void setLockTaskPackages(in ComponentName who, in String[] packages);
getLockTaskPackages(in ComponentName who)287     String[] getLockTaskPackages(in ComponentName who);
isLockTaskPermitted(in String pkg)288     boolean isLockTaskPermitted(in String pkg);
289 
setLockTaskFeatures(in ComponentName who, int flags)290     void setLockTaskFeatures(in ComponentName who, int flags);
getLockTaskFeatures(in ComponentName who)291     int getLockTaskFeatures(in ComponentName who);
292 
setGlobalSetting(in ComponentName who, in String setting, in String value)293     void setGlobalSetting(in ComponentName who, in String setting, in String value);
setSystemSetting(in ComponentName who, in String setting, in String value)294     void setSystemSetting(in ComponentName who, in String setting, in String value);
setSecureSetting(in ComponentName who, in String setting, in String value)295     void setSecureSetting(in ComponentName who, in String setting, in String value);
296 
setConfiguredNetworksLockdownState(in ComponentName who, boolean lockdown)297     void setConfiguredNetworksLockdownState(in ComponentName who, boolean lockdown);
hasLockdownAdminConfiguredNetworks(in ComponentName who)298     boolean hasLockdownAdminConfiguredNetworks(in ComponentName who);
299 
setLocationEnabled(in ComponentName who, boolean locationEnabled)300     void setLocationEnabled(in ComponentName who, boolean locationEnabled);
301 
setTime(in ComponentName who, long millis)302     boolean setTime(in ComponentName who, long millis);
setTimeZone(in ComponentName who, String timeZone)303     boolean setTimeZone(in ComponentName who, String timeZone);
304 
setMasterVolumeMuted(in ComponentName admin, boolean on)305     void setMasterVolumeMuted(in ComponentName admin, boolean on);
isMasterVolumeMuted(in ComponentName admin)306     boolean isMasterVolumeMuted(in ComponentName admin);
307 
notifyLockTaskModeChanged(boolean isEnabled, String pkg, int userId)308     void notifyLockTaskModeChanged(boolean isEnabled, String pkg, int userId);
309 
setUninstallBlocked(in ComponentName admin, in String callerPackage, in String packageName, boolean uninstallBlocked)310     void setUninstallBlocked(in ComponentName admin, in String callerPackage, in String packageName, boolean uninstallBlocked);
isUninstallBlocked(in ComponentName admin, in String packageName)311     boolean isUninstallBlocked(in ComponentName admin, in String packageName);
312 
setCrossProfileCallerIdDisabled(in ComponentName who, boolean disabled)313     void setCrossProfileCallerIdDisabled(in ComponentName who, boolean disabled);
getCrossProfileCallerIdDisabled(in ComponentName who)314     boolean getCrossProfileCallerIdDisabled(in ComponentName who);
getCrossProfileCallerIdDisabledForUser(int userId)315     boolean getCrossProfileCallerIdDisabledForUser(int userId);
setCrossProfileContactsSearchDisabled(in ComponentName who, boolean disabled)316     void setCrossProfileContactsSearchDisabled(in ComponentName who, boolean disabled);
getCrossProfileContactsSearchDisabled(in ComponentName who)317     boolean getCrossProfileContactsSearchDisabled(in ComponentName who);
getCrossProfileContactsSearchDisabledForUser(int userId)318     boolean getCrossProfileContactsSearchDisabledForUser(int userId);
startManagedQuickContact(String lookupKey, long contactId, boolean isContactIdIgnored, long directoryId, in Intent originalIntent)319     void startManagedQuickContact(String lookupKey, long contactId, boolean isContactIdIgnored, long directoryId, in Intent originalIntent);
320 
setBluetoothContactSharingDisabled(in ComponentName who, boolean disabled)321     void setBluetoothContactSharingDisabled(in ComponentName who, boolean disabled);
getBluetoothContactSharingDisabled(in ComponentName who)322     boolean getBluetoothContactSharingDisabled(in ComponentName who);
getBluetoothContactSharingDisabledForUser(int userId)323     boolean getBluetoothContactSharingDisabledForUser(int userId);
324 
setTrustAgentConfiguration(in ComponentName admin, in ComponentName agent, in PersistableBundle args, boolean parent)325     void setTrustAgentConfiguration(in ComponentName admin, in ComponentName agent,
326             in PersistableBundle args, boolean parent);
getTrustAgentConfiguration(in ComponentName admin, in ComponentName agent, int userId, boolean parent)327     List<PersistableBundle> getTrustAgentConfiguration(in ComponentName admin,
328             in ComponentName agent, int userId, boolean parent);
329 
addCrossProfileWidgetProvider(in ComponentName admin, String packageName)330     boolean addCrossProfileWidgetProvider(in ComponentName admin, String packageName);
removeCrossProfileWidgetProvider(in ComponentName admin, String packageName)331     boolean removeCrossProfileWidgetProvider(in ComponentName admin, String packageName);
getCrossProfileWidgetProviders(in ComponentName admin)332     List<String> getCrossProfileWidgetProviders(in ComponentName admin);
333 
setAutoTimeRequired(in ComponentName who, boolean required)334     void setAutoTimeRequired(in ComponentName who, boolean required);
getAutoTimeRequired()335     boolean getAutoTimeRequired();
336 
setAutoTimeEnabled(in ComponentName who, boolean enabled)337     void setAutoTimeEnabled(in ComponentName who, boolean enabled);
getAutoTimeEnabled(in ComponentName who)338     boolean getAutoTimeEnabled(in ComponentName who);
339 
setAutoTimeZoneEnabled(in ComponentName who, boolean enabled)340     void setAutoTimeZoneEnabled(in ComponentName who, boolean enabled);
getAutoTimeZoneEnabled(in ComponentName who)341     boolean getAutoTimeZoneEnabled(in ComponentName who);
342 
setForceEphemeralUsers(in ComponentName who, boolean forceEpehemeralUsers)343     void setForceEphemeralUsers(in ComponentName who, boolean forceEpehemeralUsers);
getForceEphemeralUsers(in ComponentName who)344     boolean getForceEphemeralUsers(in ComponentName who);
345 
isRemovingAdmin(in ComponentName adminReceiver, int userHandle)346     boolean isRemovingAdmin(in ComponentName adminReceiver, int userHandle);
347 
setUserIcon(in ComponentName admin, in Bitmap icon)348     void setUserIcon(in ComponentName admin, in Bitmap icon);
349 
setSystemUpdatePolicy(in ComponentName who, in SystemUpdatePolicy policy)350     void setSystemUpdatePolicy(in ComponentName who, in SystemUpdatePolicy policy);
getSystemUpdatePolicy()351     SystemUpdatePolicy getSystemUpdatePolicy();
clearSystemUpdatePolicyFreezePeriodRecord()352     void clearSystemUpdatePolicyFreezePeriodRecord();
353 
setKeyguardDisabled(in ComponentName admin, boolean disabled)354     boolean setKeyguardDisabled(in ComponentName admin, boolean disabled);
setStatusBarDisabled(in ComponentName who, boolean disabled)355     boolean setStatusBarDisabled(in ComponentName who, boolean disabled);
getDoNotAskCredentialsOnBoot()356     boolean getDoNotAskCredentialsOnBoot();
357 
notifyPendingSystemUpdate(in SystemUpdateInfo info)358     void notifyPendingSystemUpdate(in SystemUpdateInfo info);
getPendingSystemUpdate(in ComponentName admin)359     SystemUpdateInfo getPendingSystemUpdate(in ComponentName admin);
360 
setPermissionPolicy(in ComponentName admin, in String callerPackage, int policy)361     void setPermissionPolicy(in ComponentName admin, in String callerPackage, int policy);
getPermissionPolicy(in ComponentName admin)362     int  getPermissionPolicy(in ComponentName admin);
setPermissionGrantState(in ComponentName admin, in String callerPackage, String packageName, String permission, int grantState, in RemoteCallback resultReceiver)363     void setPermissionGrantState(in ComponentName admin, in String callerPackage, String packageName,
364             String permission, int grantState, in RemoteCallback resultReceiver);
getPermissionGrantState(in ComponentName admin, in String callerPackage, String packageName, String permission)365     int getPermissionGrantState(in ComponentName admin, in String callerPackage, String packageName, String permission);
isProvisioningAllowed(String action, String packageName)366     boolean isProvisioningAllowed(String action, String packageName);
checkProvisioningPreCondition(String action, String packageName)367     int checkProvisioningPreCondition(String action, String packageName);
setKeepUninstalledPackages(in ComponentName admin, in String callerPackage, in List<String> packageList)368     void setKeepUninstalledPackages(in ComponentName admin, in String callerPackage, in List<String> packageList);
getKeepUninstalledPackages(in ComponentName admin, in String callerPackage)369     List<String> getKeepUninstalledPackages(in ComponentName admin, in String callerPackage);
isManagedProfile(in ComponentName admin)370     boolean isManagedProfile(in ComponentName admin);
getWifiMacAddress(in ComponentName admin)371     String getWifiMacAddress(in ComponentName admin);
reboot(in ComponentName admin)372     void reboot(in ComponentName admin);
373 
setShortSupportMessage(in ComponentName admin, in CharSequence message)374     void setShortSupportMessage(in ComponentName admin, in CharSequence message);
getShortSupportMessage(in ComponentName admin)375     CharSequence getShortSupportMessage(in ComponentName admin);
setLongSupportMessage(in ComponentName admin, in CharSequence message)376     void setLongSupportMessage(in ComponentName admin, in CharSequence message);
getLongSupportMessage(in ComponentName admin)377     CharSequence getLongSupportMessage(in ComponentName admin);
378 
getShortSupportMessageForUser(in ComponentName admin, int userHandle)379     CharSequence getShortSupportMessageForUser(in ComponentName admin, int userHandle);
getLongSupportMessageForUser(in ComponentName admin, int userHandle)380     CharSequence getLongSupportMessageForUser(in ComponentName admin, int userHandle);
381 
isSeparateProfileChallengeAllowed(int userHandle)382     boolean isSeparateProfileChallengeAllowed(int userHandle);
383 
setOrganizationColor(in ComponentName admin, in int color)384     void setOrganizationColor(in ComponentName admin, in int color);
setOrganizationColorForUser(in int color, in int userId)385     void setOrganizationColorForUser(in int color, in int userId);
clearOrganizationIdForUser(int userHandle)386     void clearOrganizationIdForUser(int userHandle);
getOrganizationColor(in ComponentName admin)387     int getOrganizationColor(in ComponentName admin);
getOrganizationColorForUser(int userHandle)388     int getOrganizationColorForUser(int userHandle);
389 
setOrganizationName(in ComponentName admin, in CharSequence title)390     void setOrganizationName(in ComponentName admin, in CharSequence title);
getOrganizationName(in ComponentName admin)391     CharSequence getOrganizationName(in ComponentName admin);
getDeviceOwnerOrganizationName()392     CharSequence getDeviceOwnerOrganizationName();
getOrganizationNameForUser(int userHandle)393     CharSequence getOrganizationNameForUser(int userHandle);
394 
getUserProvisioningState()395     int getUserProvisioningState();
setUserProvisioningState(int state, int userHandle)396     void setUserProvisioningState(int state, int userHandle);
397 
setAffiliationIds(in ComponentName admin, in List<String> ids)398     void setAffiliationIds(in ComponentName admin, in List<String> ids);
getAffiliationIds(in ComponentName admin)399     List<String> getAffiliationIds(in ComponentName admin);
isCallingUserAffiliated()400     boolean isCallingUserAffiliated();
isAffiliatedUser(int userId)401     boolean isAffiliatedUser(int userId);
402 
setSecurityLoggingEnabled(in ComponentName admin, String packageName, boolean enabled)403     void setSecurityLoggingEnabled(in ComponentName admin, String packageName, boolean enabled);
isSecurityLoggingEnabled(in ComponentName admin, String packageName)404     boolean isSecurityLoggingEnabled(in ComponentName admin, String packageName);
retrieveSecurityLogs(in ComponentName admin, String packageName)405     ParceledListSlice retrieveSecurityLogs(in ComponentName admin, String packageName);
retrievePreRebootSecurityLogs(in ComponentName admin, String packageName)406     ParceledListSlice retrievePreRebootSecurityLogs(in ComponentName admin, String packageName);
forceNetworkLogs()407     long forceNetworkLogs();
forceSecurityLogs()408     long forceSecurityLogs();
409 
isUninstallInQueue(String packageName)410     boolean isUninstallInQueue(String packageName);
uninstallPackageWithActiveAdmins(String packageName)411     void uninstallPackageWithActiveAdmins(String packageName);
412 
isDeviceProvisioned()413     boolean isDeviceProvisioned();
isDeviceProvisioningConfigApplied()414     boolean isDeviceProvisioningConfigApplied();
setDeviceProvisioningConfigApplied()415     void setDeviceProvisioningConfigApplied();
416 
forceUpdateUserSetupComplete(int userId)417     void forceUpdateUserSetupComplete(int userId);
418 
setBackupServiceEnabled(in ComponentName admin, boolean enabled)419     void setBackupServiceEnabled(in ComponentName admin, boolean enabled);
isBackupServiceEnabled(in ComponentName admin)420     boolean isBackupServiceEnabled(in ComponentName admin);
421 
setNetworkLoggingEnabled(in ComponentName admin, in String packageName, boolean enabled)422     void setNetworkLoggingEnabled(in ComponentName admin, in String packageName, boolean enabled);
isNetworkLoggingEnabled(in ComponentName admin, in String packageName)423     boolean isNetworkLoggingEnabled(in ComponentName admin, in String packageName);
retrieveNetworkLogs(in ComponentName admin, in String packageName, long batchToken)424     List<NetworkEvent> retrieveNetworkLogs(in ComponentName admin, in String packageName, long batchToken);
425 
bindDeviceAdminServiceAsUser(in ComponentName admin, IApplicationThread caller, IBinder token, in Intent service, IServiceConnection connection, int flags, int targetUserId)426     boolean bindDeviceAdminServiceAsUser(in ComponentName admin,
427         IApplicationThread caller, IBinder token, in Intent service,
428         IServiceConnection connection, int flags, int targetUserId);
getBindDeviceAdminTargetUsers(in ComponentName admin)429     List<UserHandle> getBindDeviceAdminTargetUsers(in ComponentName admin);
isEphemeralUser(in ComponentName admin)430     boolean isEphemeralUser(in ComponentName admin);
431 
getLastSecurityLogRetrievalTime()432     long getLastSecurityLogRetrievalTime();
getLastBugReportRequestTime()433     long getLastBugReportRequestTime();
getLastNetworkLogRetrievalTime()434     long getLastNetworkLogRetrievalTime();
435 
setResetPasswordToken(in ComponentName admin, in byte[] token)436     boolean setResetPasswordToken(in ComponentName admin, in byte[] token);
clearResetPasswordToken(in ComponentName admin)437     boolean clearResetPasswordToken(in ComponentName admin);
isResetPasswordTokenActive(in ComponentName admin)438     boolean isResetPasswordTokenActive(in ComponentName admin);
resetPasswordWithToken(in ComponentName admin, String password, in byte[] token, int flags)439     boolean resetPasswordWithToken(in ComponentName admin, String password, in byte[] token, int flags);
440 
isCurrentInputMethodSetByOwner()441     boolean isCurrentInputMethodSetByOwner();
getOwnerInstalledCaCerts(in UserHandle user)442     StringParceledListSlice getOwnerInstalledCaCerts(in UserHandle user);
443 
clearApplicationUserData(in ComponentName admin, in String packageName, in IPackageDataObserver callback)444     void clearApplicationUserData(in ComponentName admin, in String packageName, in IPackageDataObserver callback);
445 
setLogoutEnabled(in ComponentName admin, boolean enabled)446     void setLogoutEnabled(in ComponentName admin, boolean enabled);
isLogoutEnabled()447     boolean isLogoutEnabled();
448 
getDisallowedSystemApps(in ComponentName admin, int userId, String provisioningAction)449     List<String> getDisallowedSystemApps(in ComponentName admin, int userId, String provisioningAction);
450 
transferOwnership(in ComponentName admin, in ComponentName target, in PersistableBundle bundle)451     void transferOwnership(in ComponentName admin, in ComponentName target, in PersistableBundle bundle);
getTransferOwnershipBundle()452     PersistableBundle getTransferOwnershipBundle();
453 
setStartUserSessionMessage(in ComponentName admin, in CharSequence startUserSessionMessage)454     void setStartUserSessionMessage(in ComponentName admin, in CharSequence startUserSessionMessage);
setEndUserSessionMessage(in ComponentName admin, in CharSequence endUserSessionMessage)455     void setEndUserSessionMessage(in ComponentName admin, in CharSequence endUserSessionMessage);
getStartUserSessionMessage(in ComponentName admin)456     CharSequence getStartUserSessionMessage(in ComponentName admin);
getEndUserSessionMessage(in ComponentName admin)457     CharSequence getEndUserSessionMessage(in ComponentName admin);
458 
setMeteredDataDisabledPackages(in ComponentName admin, in List<String> packageNames)459     List<String> setMeteredDataDisabledPackages(in ComponentName admin, in List<String> packageNames);
getMeteredDataDisabledPackages(in ComponentName admin)460     List<String> getMeteredDataDisabledPackages(in ComponentName admin);
461 
addOverrideApn(in ComponentName admin, in ApnSetting apnSetting)462     int addOverrideApn(in ComponentName admin, in ApnSetting apnSetting);
updateOverrideApn(in ComponentName admin, int apnId, in ApnSetting apnSetting)463     boolean updateOverrideApn(in ComponentName admin, int apnId, in ApnSetting apnSetting);
removeOverrideApn(in ComponentName admin, int apnId)464     boolean removeOverrideApn(in ComponentName admin, int apnId);
getOverrideApns(in ComponentName admin)465     List<ApnSetting> getOverrideApns(in ComponentName admin);
setOverrideApnsEnabled(in ComponentName admin, boolean enabled)466     void setOverrideApnsEnabled(in ComponentName admin, boolean enabled);
isOverrideApnEnabled(in ComponentName admin)467     boolean isOverrideApnEnabled(in ComponentName admin);
468 
isMeteredDataDisabledPackageForUser(in ComponentName admin, String packageName, int userId)469     boolean isMeteredDataDisabledPackageForUser(in ComponentName admin, String packageName, int userId);
470 
setGlobalPrivateDns(in ComponentName admin, int mode, in String privateDnsHost)471     int setGlobalPrivateDns(in ComponentName admin, int mode, in String privateDnsHost);
getGlobalPrivateDnsMode(in ComponentName admin)472     int getGlobalPrivateDnsMode(in ComponentName admin);
getGlobalPrivateDnsHost(in ComponentName admin)473     String getGlobalPrivateDnsHost(in ComponentName admin);
474 
markProfileOwnerOnOrganizationOwnedDevice(in ComponentName who, int userId)475     void markProfileOwnerOnOrganizationOwnedDevice(in ComponentName who, int userId);
476 
installUpdateFromFile(in ComponentName admin, in ParcelFileDescriptor updateFileDescriptor, in StartInstallingUpdateCallback listener)477     void installUpdateFromFile(in ComponentName admin, in ParcelFileDescriptor updateFileDescriptor, in StartInstallingUpdateCallback listener);
478 
setCrossProfileCalendarPackages(in ComponentName admin, in List<String> packageNames)479     void setCrossProfileCalendarPackages(in ComponentName admin, in List<String> packageNames);
getCrossProfileCalendarPackages(in ComponentName admin)480     List<String> getCrossProfileCalendarPackages(in ComponentName admin);
isPackageAllowedToAccessCalendarForUser(String packageName, int userHandle)481     boolean isPackageAllowedToAccessCalendarForUser(String packageName, int userHandle);
getCrossProfileCalendarPackagesForUser(int userHandle)482     List<String> getCrossProfileCalendarPackagesForUser(int userHandle);
483 
setCrossProfilePackages(in ComponentName admin, in List<String> packageNames)484     void setCrossProfilePackages(in ComponentName admin, in List<String> packageNames);
getCrossProfilePackages(in ComponentName admin)485     List<String> getCrossProfilePackages(in ComponentName admin);
486 
getAllCrossProfilePackages()487     List<String> getAllCrossProfilePackages();
getDefaultCrossProfilePackages()488     List<String> getDefaultCrossProfilePackages();
489 
isManagedKiosk()490     boolean isManagedKiosk();
isUnattendedManagedKiosk()491     boolean isUnattendedManagedKiosk();
492 
startViewCalendarEventInManagedProfile(String packageName, long eventId, long start, long end, boolean allDay, int flags)493     boolean startViewCalendarEventInManagedProfile(String packageName, long eventId, long start, long end, boolean allDay, int flags);
494 
setKeyGrantForApp(in ComponentName admin, String callerPackage, String alias, String packageName, boolean hasGrant)495     boolean setKeyGrantForApp(in ComponentName admin, String callerPackage, String alias, String packageName, boolean hasGrant);
getKeyPairGrants(in String callerPackage, in String alias)496     ParcelableGranteeMap getKeyPairGrants(in String callerPackage, in String alias);
setKeyGrantToWifiAuth(String callerPackage, String alias, boolean hasGrant)497     boolean setKeyGrantToWifiAuth(String callerPackage, String alias, boolean hasGrant);
isKeyPairGrantedToWifiAuth(String callerPackage, String alias)498     boolean isKeyPairGrantedToWifiAuth(String callerPackage, String alias);
499 
setUserControlDisabledPackages(in ComponentName admin, in List<String> packages)500     void setUserControlDisabledPackages(in ComponentName admin, in List<String> packages);
501 
getUserControlDisabledPackages(in ComponentName admin)502     List<String> getUserControlDisabledPackages(in ComponentName admin);
503 
setCommonCriteriaModeEnabled(in ComponentName admin, boolean enabled)504     void setCommonCriteriaModeEnabled(in ComponentName admin, boolean enabled);
isCommonCriteriaModeEnabled(in ComponentName admin)505     boolean isCommonCriteriaModeEnabled(in ComponentName admin);
506 
getPersonalAppsSuspendedReasons(in ComponentName admin)507     int getPersonalAppsSuspendedReasons(in ComponentName admin);
setPersonalAppsSuspended(in ComponentName admin, boolean suspended)508     void setPersonalAppsSuspended(in ComponentName admin, boolean suspended);
509 
getManagedProfileMaximumTimeOff(in ComponentName admin)510     long getManagedProfileMaximumTimeOff(in ComponentName admin);
setManagedProfileMaximumTimeOff(in ComponentName admin, long timeoutMs)511     void setManagedProfileMaximumTimeOff(in ComponentName admin, long timeoutMs);
512 
acknowledgeDeviceCompliant()513     void acknowledgeDeviceCompliant();
isComplianceAcknowledgementRequired()514     boolean isComplianceAcknowledgementRequired();
515 
canProfileOwnerResetPasswordWhenLocked(int userId)516     boolean canProfileOwnerResetPasswordWhenLocked(int userId);
517 
setNextOperationSafety(int operation, int reason)518     void setNextOperationSafety(int operation, int reason);
isSafeOperation(int reason)519     boolean isSafeOperation(int reason);
520 
getEnrollmentSpecificId(String callerPackage)521     String getEnrollmentSpecificId(String callerPackage);
setOrganizationIdForUser(in String callerPackage, in String enterpriseId, int userId)522     void setOrganizationIdForUser(in String callerPackage, in String enterpriseId, int userId);
523 
createAndProvisionManagedProfile(in ManagedProfileProvisioningParams provisioningParams, in String callerPackage)524     UserHandle createAndProvisionManagedProfile(in ManagedProfileProvisioningParams provisioningParams, in String callerPackage);
provisionFullyManagedDevice(in FullyManagedDeviceProvisioningParams provisioningParams, in String callerPackage)525     void provisionFullyManagedDevice(in FullyManagedDeviceProvisioningParams provisioningParams, in String callerPackage);
526 
setDeviceOwnerType(in ComponentName admin, in int deviceOwnerType)527     void setDeviceOwnerType(in ComponentName admin, in int deviceOwnerType);
getDeviceOwnerType(in ComponentName admin)528     int getDeviceOwnerType(in ComponentName admin);
529 
resetDefaultCrossProfileIntentFilters(int userId)530     void resetDefaultCrossProfileIntentFilters(int userId);
canAdminGrantSensorsPermissionsForUser(int userId)531     boolean canAdminGrantSensorsPermissionsForUser(int userId);
532 
setUsbDataSignalingEnabled(String callerPackage, boolean enabled)533     void setUsbDataSignalingEnabled(String callerPackage, boolean enabled);
isUsbDataSignalingEnabled(String callerPackage)534     boolean isUsbDataSignalingEnabled(String callerPackage);
isUsbDataSignalingEnabledForUser(int userId)535     boolean isUsbDataSignalingEnabledForUser(int userId);
canUsbDataSignalingBeDisabled()536     boolean canUsbDataSignalingBeDisabled();
537 
listForegroundAffiliatedUsers()538     List<UserHandle> listForegroundAffiliatedUsers();
539 }
540