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