• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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, String provisioningContext)163     void setActiveAdmin(in ComponentName policyReceiver, boolean refreshing,
164         int userHandle, String provisioningContext);
isAdminActive(in ComponentName policyReceiver, int userHandle)165     boolean isAdminActive(in ComponentName policyReceiver, int userHandle);
getActiveAdmins(int userHandle)166     List<ComponentName> getActiveAdmins(int userHandle);
167     @UnsupportedAppUsage
packageHasActiveAdmins(String packageName, int userHandle)168     boolean packageHasActiveAdmins(String packageName, int userHandle);
getRemoveWarning(in ComponentName policyReceiver, in RemoteCallback result, int userHandle)169     void getRemoveWarning(in ComponentName policyReceiver, in RemoteCallback result, int userHandle);
removeActiveAdmin(in ComponentName policyReceiver, int userHandle)170     void removeActiveAdmin(in ComponentName policyReceiver, int userHandle);
forceRemoveActiveAdmin(in ComponentName policyReceiver, int userHandle)171     void forceRemoveActiveAdmin(in ComponentName policyReceiver, int userHandle);
hasGrantedPolicy(in ComponentName policyReceiver, int usesPolicy, int userHandle)172     boolean hasGrantedPolicy(in ComponentName policyReceiver, int usesPolicy, int userHandle);
173 
reportPasswordChanged(in PasswordMetrics metrics, int userId)174     void reportPasswordChanged(in PasswordMetrics metrics, int userId);
reportFailedPasswordAttempt(int userHandle, boolean parent)175     void reportFailedPasswordAttempt(int userHandle, boolean parent);
reportSuccessfulPasswordAttempt(int userHandle)176     void reportSuccessfulPasswordAttempt(int userHandle);
reportFailedBiometricAttempt(int userHandle)177     void reportFailedBiometricAttempt(int userHandle);
reportSuccessfulBiometricAttempt(int userHandle)178     void reportSuccessfulBiometricAttempt(int userHandle);
reportKeyguardDismissed(int userHandle)179     void reportKeyguardDismissed(int userHandle);
reportKeyguardSecured(int userHandle)180     void reportKeyguardSecured(int userHandle);
181 
setDeviceOwner(in ComponentName who, int userId, boolean setProfileOwnerOnCurrentUserIfNecessary)182     boolean setDeviceOwner(in ComponentName who, int userId, boolean setProfileOwnerOnCurrentUserIfNecessary);
getDeviceOwnerComponent(boolean callingUserOnly)183     ComponentName getDeviceOwnerComponent(boolean callingUserOnly);
getDeviceOwnerComponentOnUser(int userId)184     ComponentName getDeviceOwnerComponentOnUser(int userId);
hasDeviceOwner()185     boolean hasDeviceOwner();
getDeviceOwnerName()186     String getDeviceOwnerName();
clearDeviceOwner(String packageName)187     void clearDeviceOwner(String packageName);
getDeviceOwnerUserId()188     int getDeviceOwnerUserId();
189 
setProfileOwner(in ComponentName who, int userHandle)190     boolean setProfileOwner(in ComponentName who, int userHandle);
getProfileOwnerAsUser(int userHandle)191     ComponentName getProfileOwnerAsUser(int userHandle);
getProfileOwnerOrDeviceOwnerSupervisionComponent(in UserHandle userHandle)192     ComponentName getProfileOwnerOrDeviceOwnerSupervisionComponent(in UserHandle userHandle);
isSupervisionComponent(in ComponentName who)193     boolean isSupervisionComponent(in ComponentName who);
getProfileOwnerName(int userHandle)194     String getProfileOwnerName(int userHandle);
setProfileEnabled(in ComponentName who)195     void setProfileEnabled(in ComponentName who);
setProfileName(in ComponentName who, String profileName)196     void setProfileName(in ComponentName who, String profileName);
clearProfileOwner(in ComponentName who)197     void clearProfileOwner(in ComponentName who);
hasUserSetupCompleted()198     boolean hasUserSetupCompleted();
isOrganizationOwnedDeviceWithManagedProfile()199     boolean isOrganizationOwnedDeviceWithManagedProfile();
200 
checkDeviceIdentifierAccess(in String packageName, int pid, int uid)201     boolean checkDeviceIdentifierAccess(in String packageName, int pid, int uid);
202 
setDeviceOwnerLockScreenInfo(in ComponentName who, CharSequence deviceOwnerInfo)203     void setDeviceOwnerLockScreenInfo(in ComponentName who, CharSequence deviceOwnerInfo);
getDeviceOwnerLockScreenInfo()204     CharSequence getDeviceOwnerLockScreenInfo();
205 
setPackagesSuspended(in ComponentName admin, in String callerPackage, in String[] packageNames, boolean suspended)206     String[] setPackagesSuspended(in ComponentName admin, in String callerPackage, in String[] packageNames, boolean suspended);
isPackageSuspended(in ComponentName admin, in String callerPackage, String packageName)207     boolean isPackageSuspended(in ComponentName admin, in String callerPackage, String packageName);
listPolicyExemptApps()208     List<String> listPolicyExemptApps();
209 
installCaCert(in ComponentName admin, String callerPackage, in byte[] certBuffer)210     boolean installCaCert(in ComponentName admin, String callerPackage, in byte[] certBuffer);
uninstallCaCerts(in ComponentName admin, String callerPackage, in String[] aliases)211     void uninstallCaCerts(in ComponentName admin, String callerPackage, in String[] aliases);
enforceCanManageCaCerts(in ComponentName admin, in String callerPackage)212     void enforceCanManageCaCerts(in ComponentName admin, in String callerPackage);
approveCaCert(in String alias, int userHandle, boolean approval)213     boolean approveCaCert(in String alias, int userHandle, boolean approval);
isCaCertApproved(in String alias, int userHandle)214     boolean isCaCertApproved(in String alias, int userHandle);
215 
installKeyPair(in ComponentName who, in String callerPackage, in byte[] privKeyBuffer, in byte[] certBuffer, in byte[] certChainBuffer, String alias, boolean requestAccess, boolean isUserSelectable)216     boolean installKeyPair(in ComponentName who, in String callerPackage, in byte[] privKeyBuffer,
217             in byte[] certBuffer, in byte[] certChainBuffer, String alias, boolean requestAccess,
218             boolean isUserSelectable);
removeKeyPair(in ComponentName who, in String callerPackage, String alias)219     boolean removeKeyPair(in ComponentName who, in String callerPackage, String alias);
hasKeyPair(in String callerPackage, in String alias)220     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)221     boolean generateKeyPair(in ComponentName who, in String callerPackage, in String algorithm,
222             in ParcelableKeyGenParameterSpec keySpec,
223             in int idAttestationFlags, out KeymasterCertificateChain attestationChain);
setKeyPairCertificate(in ComponentName who, in String callerPackage, in String alias, in byte[] certBuffer, in byte[] certChainBuffer, boolean isUserSelectable)224     boolean setKeyPairCertificate(in ComponentName who, in String callerPackage, in String alias,
225             in byte[] certBuffer, in byte[] certChainBuffer, boolean isUserSelectable);
choosePrivateKeyAlias(int uid, in Uri uri, in String alias, IBinder aliasCallback)226     void choosePrivateKeyAlias(int uid, in Uri uri, in String alias, IBinder aliasCallback);
227 
setDelegatedScopes(in ComponentName who, in String delegatePackage, in List<String> scopes)228     void setDelegatedScopes(in ComponentName who, in String delegatePackage, in List<String> scopes);
getDelegatedScopes(in ComponentName who, String delegatePackage)229     List<String> getDelegatedScopes(in ComponentName who, String delegatePackage);
getDelegatePackages(in ComponentName who, String scope)230     List<String> getDelegatePackages(in ComponentName who, String scope);
231 
setCertInstallerPackage(in ComponentName who, String installerPackage)232     void setCertInstallerPackage(in ComponentName who, String installerPackage);
getCertInstallerPackage(in ComponentName who)233     String getCertInstallerPackage(in ComponentName who);
234 
setAlwaysOnVpnPackage(in ComponentName who, String vpnPackage, boolean lockdown, in List<String> lockdownAllowlist)235     boolean setAlwaysOnVpnPackage(in ComponentName who, String vpnPackage, boolean lockdown, in List<String> lockdownAllowlist);
getAlwaysOnVpnPackage(in ComponentName who)236     String getAlwaysOnVpnPackage(in ComponentName who);
getAlwaysOnVpnPackageForUser(int userHandle)237     String getAlwaysOnVpnPackageForUser(int userHandle);
isAlwaysOnVpnLockdownEnabled(in ComponentName who)238     boolean isAlwaysOnVpnLockdownEnabled(in ComponentName who);
isAlwaysOnVpnLockdownEnabledForUser(int userHandle)239     boolean isAlwaysOnVpnLockdownEnabledForUser(int userHandle);
getAlwaysOnVpnLockdownAllowlist(in ComponentName who)240     List<String> getAlwaysOnVpnLockdownAllowlist(in ComponentName who);
241 
addPersistentPreferredActivity(in ComponentName admin, String callerPackageName, in IntentFilter filter, in ComponentName activity)242     void addPersistentPreferredActivity(in ComponentName admin, String callerPackageName, in IntentFilter filter, in ComponentName activity);
clearPackagePersistentPreferredActivities(in ComponentName admin, String callerPackageName, String packageName)243     void clearPackagePersistentPreferredActivities(in ComponentName admin, String callerPackageName, String packageName);
244 
setDefaultSmsApplication(in ComponentName admin, String callerPackageName, String packageName, boolean parent)245     void setDefaultSmsApplication(in ComponentName admin, String callerPackageName, String packageName, boolean parent);
setDefaultDialerApplication(String packageName)246     void setDefaultDialerApplication(String packageName);
247 
setApplicationRestrictions(in ComponentName who, in String callerPackage, in String packageName, in Bundle settings, in boolean parent)248     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)249     Bundle getApplicationRestrictions(in ComponentName who, in String callerPackage, in String packageName, in boolean parent);
setApplicationRestrictionsManagingPackage(in ComponentName admin, in String packageName)250     boolean setApplicationRestrictionsManagingPackage(in ComponentName admin, in String packageName);
getApplicationRestrictionsManagingPackage(in ComponentName admin)251     String getApplicationRestrictionsManagingPackage(in ComponentName admin);
isCallerApplicationRestrictionsManagingPackage(in String callerPackage)252     boolean isCallerApplicationRestrictionsManagingPackage(in String callerPackage);
253 
setRestrictionsProvider(in ComponentName who, in ComponentName provider)254     void setRestrictionsProvider(in ComponentName who, in ComponentName provider);
getRestrictionsProvider(int userHandle)255     ComponentName getRestrictionsProvider(int userHandle);
256 
setUserRestriction(in ComponentName who, in String callerPackage, in String key, boolean enable, boolean parent)257     void setUserRestriction(in ComponentName who, in String callerPackage, in String key, boolean enable, boolean parent);
setUserRestrictionForUser(in String systemEntity, in String key, boolean enable, int targetUser)258     void setUserRestrictionForUser(in String systemEntity, in String key, boolean enable, int targetUser);
setUserRestrictionGlobally(in String callerPackage, in String key)259     void setUserRestrictionGlobally(in String callerPackage, in String key);
setUserRestrictionGloballyFromSystem(in String systemEntity, in String key, boolean enable)260     void setUserRestrictionGloballyFromSystem(in String systemEntity, in String key, boolean enable);
getUserRestrictions(in ComponentName who, in String callerPackage, boolean parent)261     Bundle getUserRestrictions(in ComponentName who, in String callerPackage, boolean parent);
getUserRestrictionsGlobally(in String callerPackage)262     Bundle getUserRestrictionsGlobally(in String callerPackage);
263 
addCrossProfileIntentFilter(in ComponentName admin, String callerPackageName, in IntentFilter filter, int flags)264     void addCrossProfileIntentFilter(in ComponentName admin, String callerPackageName, in IntentFilter filter, int flags);
clearCrossProfileIntentFilters(in ComponentName admin, String callerPackageName)265     void clearCrossProfileIntentFilters(in ComponentName admin, String callerPackageName);
266 
setPermittedAccessibilityServices(in ComponentName admin,in List<String> packageList)267     boolean setPermittedAccessibilityServices(in ComponentName admin,in List<String> packageList);
getPermittedAccessibilityServices(in ComponentName admin)268     List<String> getPermittedAccessibilityServices(in ComponentName admin);
getPermittedAccessibilityServicesForUser(int userId)269     List<String> getPermittedAccessibilityServicesForUser(int userId);
isAccessibilityServicePermittedByAdmin(in ComponentName admin, String packageName, int userId)270     boolean isAccessibilityServicePermittedByAdmin(in ComponentName admin, String packageName, int userId);
271 
setPermittedInputMethods(in ComponentName admin, String callerPackageName, in List<String> packageList, boolean parent)272     boolean setPermittedInputMethods(in ComponentName admin, String callerPackageName, in List<String> packageList, boolean parent);
getPermittedInputMethods(in ComponentName admin, String callerPackageName, boolean parent)273     List<String> getPermittedInputMethods(in ComponentName admin, String callerPackageName, boolean parent);
getPermittedInputMethodsAsUser(int userId)274     List<String> getPermittedInputMethodsAsUser(int userId);
isInputMethodPermittedByAdmin(in ComponentName admin, String packageName, int userId, boolean parent)275     boolean isInputMethodPermittedByAdmin(in ComponentName admin, String packageName, int userId, boolean parent);
276 
setPermittedCrossProfileNotificationListeners(in ComponentName admin, in List<String> packageList)277     boolean setPermittedCrossProfileNotificationListeners(in ComponentName admin, in List<String> packageList);
getPermittedCrossProfileNotificationListeners(in ComponentName admin)278     List<String> getPermittedCrossProfileNotificationListeners(in ComponentName admin);
isNotificationListenerServicePermitted(in String packageName, int userId)279     boolean isNotificationListenerServicePermitted(in String packageName, int userId);
280 
createAdminSupportIntent(in String restriction)281     Intent createAdminSupportIntent(in String restriction);
getEnforcingAdminAndUserDetails(int userId, String restriction)282     Bundle getEnforcingAdminAndUserDetails(int userId, String restriction);
getEnforcingAdmin(int userId, String identifier)283     EnforcingAdmin getEnforcingAdmin(int userId, String identifier);
getEnforcingAdminsForRestriction(int userId, String restriction)284     List<EnforcingAdmin> getEnforcingAdminsForRestriction(int userId, String restriction);
setApplicationHidden(in ComponentName admin, in String callerPackage, in String packageName, boolean hidden, boolean parent)285     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)286     boolean isApplicationHidden(in ComponentName admin, in String callerPackage, in String packageName, boolean parent);
287 
createAndManageUser(in ComponentName who, in String name, in ComponentName profileOwner, in PersistableBundle adminExtras, in int flags)288     UserHandle createAndManageUser(in ComponentName who, in String name, in ComponentName profileOwner, in PersistableBundle adminExtras, in int flags);
removeUser(in ComponentName who, in UserHandle userHandle)289     boolean removeUser(in ComponentName who, in UserHandle userHandle);
switchUser(in ComponentName who, in UserHandle userHandle)290     boolean switchUser(in ComponentName who, in UserHandle userHandle);
startUserInBackground(in ComponentName who, in UserHandle userHandle)291     int startUserInBackground(in ComponentName who, in UserHandle userHandle);
stopUser(in ComponentName who, in UserHandle userHandle)292     int stopUser(in ComponentName who, in UserHandle userHandle);
logoutUser(in ComponentName who)293     int logoutUser(in ComponentName who);
logoutUserInternal()294     int logoutUserInternal(); // AIDL doesn't allow overloading name (logoutUser())
getLogoutUserId()295     int getLogoutUserId();
getSecondaryUsers(in ComponentName who)296     List<UserHandle> getSecondaryUsers(in ComponentName who);
acknowledgeNewUserDisclaimer(int userId)297     void acknowledgeNewUserDisclaimer(int userId);
isNewUserDisclaimerAcknowledged(int userId)298     boolean isNewUserDisclaimerAcknowledged(int userId);
299 
enableSystemApp(in ComponentName admin, in String callerPackage, in String packageName)300     void enableSystemApp(in ComponentName admin, in String callerPackage, in String packageName);
enableSystemAppWithIntent(in ComponentName admin, in String callerPackage, in Intent intent)301     int enableSystemAppWithIntent(in ComponentName admin, in String callerPackage, in Intent intent);
installExistingPackage(in ComponentName admin, in String callerPackage, in String packageName)302     boolean installExistingPackage(in ComponentName admin, in String callerPackage, in String packageName);
303 
setAccountManagementDisabled(in ComponentName who, String callerPackageName, in String accountType, in boolean disabled, in boolean parent)304     void setAccountManagementDisabled(in ComponentName who, String callerPackageName, in String accountType, in boolean disabled, in boolean parent);
getAccountTypesWithManagementDisabled(String callerPackageName)305     String[] getAccountTypesWithManagementDisabled(String callerPackageName);
getAccountTypesWithManagementDisabledAsUser(int userId, String callerPackageName, in boolean parent)306     String[] getAccountTypesWithManagementDisabledAsUser(int userId, String callerPackageName, in boolean parent);
307 
setSecondaryLockscreenEnabled(in ComponentName who, boolean enabled, in PersistableBundle options)308     void setSecondaryLockscreenEnabled(in ComponentName who, boolean enabled, in PersistableBundle options);
isSecondaryLockscreenEnabled(in UserHandle userHandle)309     boolean isSecondaryLockscreenEnabled(in UserHandle userHandle);
310 
setPreferentialNetworkServiceConfigs( in List<PreferentialNetworkServiceConfig> preferentialNetworkServiceConfigs)311     void setPreferentialNetworkServiceConfigs(
312             in List<PreferentialNetworkServiceConfig> preferentialNetworkServiceConfigs);
getPreferentialNetworkServiceConfigs()313     List<PreferentialNetworkServiceConfig> getPreferentialNetworkServiceConfigs();
314 
setLockTaskPackages(in ComponentName who, String callerPackageName, in String[] packages)315     void setLockTaskPackages(in ComponentName who, String callerPackageName, in String[] packages);
getLockTaskPackages(in ComponentName who, String callerPackageName)316     String[] getLockTaskPackages(in ComponentName who, String callerPackageName);
isLockTaskPermitted(in String pkg)317     boolean isLockTaskPermitted(in String pkg);
318 
setLockTaskFeatures(in ComponentName who, String callerPackageName, int flags)319     void setLockTaskFeatures(in ComponentName who, String callerPackageName, int flags);
getLockTaskFeatures(in ComponentName who, String callerPackageName)320     int getLockTaskFeatures(in ComponentName who, String callerPackageName);
321 
setGlobalSetting(in ComponentName who, in String setting, in String value)322     void setGlobalSetting(in ComponentName who, in String setting, in String value);
setSystemSetting(in ComponentName who, in String setting, in String value, boolean parent)323     void setSystemSetting(in ComponentName who, in String setting, in String value, boolean parent);
setSecureSetting(in ComponentName who, in String setting, in String value)324     void setSecureSetting(in ComponentName who, in String setting, in String value);
325 
setConfiguredNetworksLockdownState(in ComponentName who, String callerPackageName, boolean lockdown)326     void setConfiguredNetworksLockdownState(in ComponentName who, String callerPackageName, boolean lockdown);
hasLockdownAdminConfiguredNetworks(in ComponentName who)327     boolean hasLockdownAdminConfiguredNetworks(in ComponentName who);
328 
setLocationEnabled(in ComponentName who, boolean locationEnabled)329     void setLocationEnabled(in ComponentName who, boolean locationEnabled);
330 
setTime(in ComponentName who, String callerPackageName, long millis)331     boolean setTime(in ComponentName who, String callerPackageName, long millis);
setTimeZone(in ComponentName who, String callerPackageName, String timeZone)332     boolean setTimeZone(in ComponentName who, String callerPackageName, String timeZone);
333 
setMasterVolumeMuted(in ComponentName admin, boolean on)334     void setMasterVolumeMuted(in ComponentName admin, boolean on);
isMasterVolumeMuted(in ComponentName admin)335     boolean isMasterVolumeMuted(in ComponentName admin);
336 
notifyLockTaskModeChanged(boolean isEnabled, String pkg, int userId)337     void notifyLockTaskModeChanged(boolean isEnabled, String pkg, int userId);
338 
setUninstallBlocked(in ComponentName admin, in String callerPackage, in String packageName, boolean uninstallBlocked)339     void setUninstallBlocked(in ComponentName admin, in String callerPackage, in String packageName, boolean uninstallBlocked);
isUninstallBlocked(in String packageName)340     boolean isUninstallBlocked(in String packageName);
341 
setCrossProfileCallerIdDisabled(in ComponentName who, boolean disabled)342     void setCrossProfileCallerIdDisabled(in ComponentName who, boolean disabled);
getCrossProfileCallerIdDisabled(in ComponentName who)343     boolean getCrossProfileCallerIdDisabled(in ComponentName who);
getCrossProfileCallerIdDisabledForUser(int userId)344     boolean getCrossProfileCallerIdDisabledForUser(int userId);
setCrossProfileContactsSearchDisabled(in ComponentName who, boolean disabled)345     void setCrossProfileContactsSearchDisabled(in ComponentName who, boolean disabled);
getCrossProfileContactsSearchDisabled(in ComponentName who)346     boolean getCrossProfileContactsSearchDisabled(in ComponentName who);
getCrossProfileContactsSearchDisabledForUser(int userId)347     boolean getCrossProfileContactsSearchDisabledForUser(int userId);
startManagedQuickContact(String lookupKey, long contactId, boolean isContactIdIgnored, long directoryId, in Intent originalIntent)348     void startManagedQuickContact(String lookupKey, long contactId, boolean isContactIdIgnored, long directoryId, in Intent originalIntent);
349 
setManagedProfileCallerIdAccessPolicy(in PackagePolicy policy)350     void setManagedProfileCallerIdAccessPolicy(in PackagePolicy policy);
getManagedProfileCallerIdAccessPolicy()351     PackagePolicy getManagedProfileCallerIdAccessPolicy();
hasManagedProfileCallerIdAccess(int userId, String packageName)352     boolean hasManagedProfileCallerIdAccess(int userId, String packageName);
353 
setCredentialManagerPolicy(in PackagePolicy policy)354     void setCredentialManagerPolicy(in PackagePolicy policy);
getCredentialManagerPolicy(int userId)355     PackagePolicy getCredentialManagerPolicy(int userId);
356 
setManagedProfileContactsAccessPolicy(in PackagePolicy policy)357     void setManagedProfileContactsAccessPolicy(in PackagePolicy policy);
getManagedProfileContactsAccessPolicy()358     PackagePolicy getManagedProfileContactsAccessPolicy();
hasManagedProfileContactsAccess(int userId, String packageName)359     boolean hasManagedProfileContactsAccess(int userId, String packageName);
360 
setBluetoothContactSharingDisabled(in ComponentName who, boolean disabled)361     void setBluetoothContactSharingDisabled(in ComponentName who, boolean disabled);
getBluetoothContactSharingDisabled(in ComponentName who)362     boolean getBluetoothContactSharingDisabled(in ComponentName who);
getBluetoothContactSharingDisabledForUser(int userId)363     boolean getBluetoothContactSharingDisabledForUser(int userId);
364 
setTrustAgentConfiguration(in ComponentName admin, String callerPackageName, in ComponentName agent, in PersistableBundle args, boolean parent)365     void setTrustAgentConfiguration(in ComponentName admin, String callerPackageName,
366             in ComponentName agent, in PersistableBundle args, boolean parent);
getTrustAgentConfiguration(in ComponentName admin, in ComponentName agent, int userId, boolean parent)367     List<PersistableBundle> getTrustAgentConfiguration(in ComponentName admin,
368             in ComponentName agent, int userId, boolean parent);
369 
addCrossProfileWidgetProvider(in ComponentName admin, String callerPackageName, String packageName)370     boolean addCrossProfileWidgetProvider(in ComponentName admin, String callerPackageName, String packageName);
removeCrossProfileWidgetProvider(in ComponentName admin, String callerPackageName, String packageName)371     boolean removeCrossProfileWidgetProvider(in ComponentName admin, String callerPackageName, String packageName);
getCrossProfileWidgetProviders(in ComponentName admin, String callerPackageName)372     List<String> getCrossProfileWidgetProviders(in ComponentName admin, String callerPackageName);
373 
setAutoTimeRequired(in ComponentName who, boolean required)374     void setAutoTimeRequired(in ComponentName who, boolean required);
getAutoTimeRequired()375     boolean getAutoTimeRequired();
376 
setAutoTimeEnabled(in ComponentName who, String callerPackageName, boolean enabled)377     void setAutoTimeEnabled(in ComponentName who, String callerPackageName, boolean enabled);
getAutoTimeEnabled(in ComponentName who, String callerPackageName)378     boolean getAutoTimeEnabled(in ComponentName who, String callerPackageName);
379 
setAutoTimePolicy(String callerPackageName, int policy)380     void setAutoTimePolicy(String callerPackageName, int policy);
getAutoTimePolicy(String callerPackageName)381     int getAutoTimePolicy(String callerPackageName);
382 
setAutoTimeZoneEnabled(in ComponentName who, String callerPackageName, boolean enabled)383     void setAutoTimeZoneEnabled(in ComponentName who, String callerPackageName, boolean enabled);
getAutoTimeZoneEnabled(in ComponentName who, String callerPackageName)384     boolean getAutoTimeZoneEnabled(in ComponentName who, String callerPackageName);
385 
setAutoTimeZonePolicy(String callerPackageName, int policy)386     void setAutoTimeZonePolicy(String callerPackageName, int policy);
getAutoTimeZonePolicy(String callerPackageName)387     int getAutoTimeZonePolicy(String callerPackageName);
388 
setForceEphemeralUsers(in ComponentName who, boolean forceEpehemeralUsers)389     void setForceEphemeralUsers(in ComponentName who, boolean forceEpehemeralUsers);
getForceEphemeralUsers(in ComponentName who)390     boolean getForceEphemeralUsers(in ComponentName who);
391 
isRemovingAdmin(in ComponentName adminReceiver, int userHandle)392     boolean isRemovingAdmin(in ComponentName adminReceiver, int userHandle);
393 
setUserIcon(in ComponentName admin, in Bitmap icon)394     void setUserIcon(in ComponentName admin, in Bitmap icon);
395 
setSystemUpdatePolicy(in ComponentName who, String callerPackageName, in SystemUpdatePolicy policy)396     void setSystemUpdatePolicy(in ComponentName who, String callerPackageName, in SystemUpdatePolicy policy);
getSystemUpdatePolicy()397     SystemUpdatePolicy getSystemUpdatePolicy();
clearSystemUpdatePolicyFreezePeriodRecord()398     void clearSystemUpdatePolicyFreezePeriodRecord();
399 
setKeyguardDisabled(in ComponentName admin, boolean disabled)400     boolean setKeyguardDisabled(in ComponentName admin, boolean disabled);
setStatusBarDisabled(in ComponentName who, String callerPackageName, boolean disabled)401     boolean setStatusBarDisabled(in ComponentName who, String callerPackageName, boolean disabled);
isStatusBarDisabled(in String callerPackage)402     boolean isStatusBarDisabled(in String callerPackage);
getDoNotAskCredentialsOnBoot()403     boolean getDoNotAskCredentialsOnBoot();
404 
notifyPendingSystemUpdate(in SystemUpdateInfo info)405     void notifyPendingSystemUpdate(in SystemUpdateInfo info);
getPendingSystemUpdate(in ComponentName admin, in String callerPackage)406     SystemUpdateInfo getPendingSystemUpdate(in ComponentName admin, in String callerPackage);
407 
setPermissionPolicy(in ComponentName admin, in String callerPackage, int policy)408     void setPermissionPolicy(in ComponentName admin, in String callerPackage, int policy);
getPermissionPolicy(in ComponentName admin)409     int  getPermissionPolicy(in ComponentName admin);
setPermissionGrantState(in ComponentName admin, in String callerPackage, String packageName, String permission, int grantState, in RemoteCallback resultReceiver)410     void setPermissionGrantState(in ComponentName admin, in String callerPackage, String packageName,
411             String permission, int grantState, in RemoteCallback resultReceiver);
getPermissionGrantState(in ComponentName admin, in String callerPackage, String packageName, String permission)412     int getPermissionGrantState(in ComponentName admin, in String callerPackage, String packageName, String permission);
isProvisioningAllowed(String action, String packageName)413     boolean isProvisioningAllowed(String action, String packageName);
checkProvisioningPrecondition(String action, String packageName)414     int checkProvisioningPrecondition(String action, String packageName);
setKeepUninstalledPackages(in ComponentName admin, in String callerPackage, in List<String> packageList)415     void setKeepUninstalledPackages(in ComponentName admin, in String callerPackage, in List<String> packageList);
getKeepUninstalledPackages(in ComponentName admin, in String callerPackage)416     List<String> getKeepUninstalledPackages(in ComponentName admin, in String callerPackage);
isManagedProfile(in ComponentName admin)417     boolean isManagedProfile(in ComponentName admin);
getWifiMacAddress(in ComponentName admin, String callerPackageName)418     String getWifiMacAddress(in ComponentName admin, String callerPackageName);
reboot(in ComponentName admin)419     void reboot(in ComponentName admin);
420 
setShortSupportMessage(in ComponentName admin, String callerPackageName, in CharSequence message)421     void setShortSupportMessage(in ComponentName admin, String callerPackageName, in CharSequence message);
getShortSupportMessage(in ComponentName admin, String callerPackageName)422     CharSequence getShortSupportMessage(in ComponentName admin, String callerPackageName);
setLongSupportMessage(in ComponentName admin, in CharSequence message)423     void setLongSupportMessage(in ComponentName admin, in CharSequence message);
getLongSupportMessage(in ComponentName admin)424     CharSequence getLongSupportMessage(in ComponentName admin);
425 
getShortSupportMessageForUser(in ComponentName admin, int userHandle)426     CharSequence getShortSupportMessageForUser(in ComponentName admin, int userHandle);
getLongSupportMessageForUser(in ComponentName admin, int userHandle)427     CharSequence getLongSupportMessageForUser(in ComponentName admin, int userHandle);
428 
setOrganizationColor(in ComponentName admin, in int color)429     void setOrganizationColor(in ComponentName admin, in int color);
setOrganizationColorForUser(in int color, in int userId)430     void setOrganizationColorForUser(in int color, in int userId);
clearOrganizationIdForUser(int userHandle)431     void clearOrganizationIdForUser(int userHandle);
getOrganizationColor(in ComponentName admin)432     int getOrganizationColor(in ComponentName admin);
getOrganizationColorForUser(int userHandle)433     int getOrganizationColorForUser(int userHandle);
434 
setOrganizationName(in ComponentName admin, String callerPackageName, in CharSequence title)435     void setOrganizationName(in ComponentName admin, String callerPackageName, in CharSequence title);
getOrganizationName(in ComponentName admin, String callerPackageName)436     CharSequence getOrganizationName(in ComponentName admin, String callerPackageName);
getDeviceOwnerOrganizationName()437     CharSequence getDeviceOwnerOrganizationName();
getOrganizationNameForUser(int userHandle)438     CharSequence getOrganizationNameForUser(int userHandle);
439 
getUserProvisioningState(int userHandle)440     int getUserProvisioningState(int userHandle);
setUserProvisioningState(int state, int userHandle)441     void setUserProvisioningState(int state, int userHandle);
442 
setAffiliationIds(in ComponentName admin, in List<String> ids)443     void setAffiliationIds(in ComponentName admin, in List<String> ids);
getAffiliationIds(in ComponentName admin)444     List<String> getAffiliationIds(in ComponentName admin);
isCallingUserAffiliated()445     boolean isCallingUserAffiliated();
isAffiliatedUser(int userId)446     boolean isAffiliatedUser(int userId);
447 
setSecurityLoggingEnabled(in ComponentName admin, String packageName, boolean enabled)448     void setSecurityLoggingEnabled(in ComponentName admin, String packageName, boolean enabled);
isSecurityLoggingEnabled(in ComponentName admin, String packageName)449     boolean isSecurityLoggingEnabled(in ComponentName admin, String packageName);
retrieveSecurityLogs(in ComponentName admin, String packageName)450     ParceledListSlice retrieveSecurityLogs(in ComponentName admin, String packageName);
retrievePreRebootSecurityLogs(in ComponentName admin, String packageName)451     ParceledListSlice retrievePreRebootSecurityLogs(in ComponentName admin, String packageName);
forceNetworkLogs()452     long forceNetworkLogs();
forceSecurityLogs()453     long forceSecurityLogs();
454 
setAuditLogEnabled(String callerPackage, boolean enabled)455     void setAuditLogEnabled(String callerPackage, boolean enabled);
isAuditLogEnabled(String callerPackage)456     boolean isAuditLogEnabled(String callerPackage);
setAuditLogEventsCallback(String callerPackage, in IAuditLogEventsCallback callback)457     void setAuditLogEventsCallback(String callerPackage, in IAuditLogEventsCallback callback);
458 
isUninstallInQueue(String packageName)459     boolean isUninstallInQueue(String packageName);
uninstallPackageWithActiveAdmins(String packageName)460     void uninstallPackageWithActiveAdmins(String packageName);
461 
isDeviceProvisioned()462     boolean isDeviceProvisioned();
isDeviceProvisioningConfigApplied()463     boolean isDeviceProvisioningConfigApplied();
setDeviceProvisioningConfigApplied()464     void setDeviceProvisioningConfigApplied();
465 
forceUpdateUserSetupComplete(int userId)466     void forceUpdateUserSetupComplete(int userId);
467 
setBackupServiceEnabled(in ComponentName admin, boolean enabled)468     void setBackupServiceEnabled(in ComponentName admin, boolean enabled);
isBackupServiceEnabled(in ComponentName admin)469     boolean isBackupServiceEnabled(in ComponentName admin);
470 
setNetworkLoggingEnabled(in ComponentName admin, in String packageName, boolean enabled)471     void setNetworkLoggingEnabled(in ComponentName admin, in String packageName, boolean enabled);
isNetworkLoggingEnabled(in ComponentName admin, in String packageName)472     boolean isNetworkLoggingEnabled(in ComponentName admin, in String packageName);
retrieveNetworkLogs(in ComponentName admin, in String packageName, long batchToken)473     List<NetworkEvent> retrieveNetworkLogs(in ComponentName admin, in String packageName, long batchToken);
474 
bindDeviceAdminServiceAsUser(in ComponentName admin, IApplicationThread caller, IBinder token, in Intent service, IServiceConnection connection, long flags, int targetUserId)475     boolean bindDeviceAdminServiceAsUser(in ComponentName admin,
476         IApplicationThread caller, IBinder token, in Intent service,
477         IServiceConnection connection, long flags, int targetUserId);
getBindDeviceAdminTargetUsers(in ComponentName admin)478     List<UserHandle> getBindDeviceAdminTargetUsers(in ComponentName admin);
isEphemeralUser(in ComponentName admin)479     boolean isEphemeralUser(in ComponentName admin);
480 
getLastSecurityLogRetrievalTime()481     long getLastSecurityLogRetrievalTime();
getLastBugReportRequestTime()482     long getLastBugReportRequestTime();
getLastNetworkLogRetrievalTime()483     long getLastNetworkLogRetrievalTime();
484 
setResetPasswordToken(in ComponentName admin, String callerPackageName, in byte[] token)485     boolean setResetPasswordToken(in ComponentName admin, String callerPackageName, in byte[] token);
clearResetPasswordToken(in ComponentName admin, String callerPackageName)486     boolean clearResetPasswordToken(in ComponentName admin, String callerPackageName);
isResetPasswordTokenActive(in ComponentName admin, String callerPackageName)487     boolean isResetPasswordTokenActive(in ComponentName admin, String callerPackageName);
resetPasswordWithToken(in ComponentName admin, String callerPackageName, String password, in byte[] token, int flags)488     boolean resetPasswordWithToken(in ComponentName admin, String callerPackageName, String password, in byte[] token, int flags);
489 
isCurrentInputMethodSetByOwner()490     boolean isCurrentInputMethodSetByOwner();
getOwnerInstalledCaCerts(in UserHandle user)491     StringParceledListSlice getOwnerInstalledCaCerts(in UserHandle user);
492 
clearApplicationUserData(in ComponentName admin, in String packageName, in IPackageDataObserver callback)493     void clearApplicationUserData(in ComponentName admin, in String packageName, in IPackageDataObserver callback);
494 
setLogoutEnabled(in ComponentName admin, boolean enabled)495     void setLogoutEnabled(in ComponentName admin, boolean enabled);
isLogoutEnabled()496     boolean isLogoutEnabled();
497 
getDisallowedSystemApps(in ComponentName admin, int userId, String provisioningAction)498     List<String> getDisallowedSystemApps(in ComponentName admin, int userId, String provisioningAction);
499 
transferOwnership(in ComponentName admin, in ComponentName target, in PersistableBundle bundle)500     void transferOwnership(in ComponentName admin, in ComponentName target, in PersistableBundle bundle);
getTransferOwnershipBundle()501     PersistableBundle getTransferOwnershipBundle();
502 
setStartUserSessionMessage(in ComponentName admin, in CharSequence startUserSessionMessage)503     void setStartUserSessionMessage(in ComponentName admin, in CharSequence startUserSessionMessage);
setEndUserSessionMessage(in ComponentName admin, in CharSequence endUserSessionMessage)504     void setEndUserSessionMessage(in ComponentName admin, in CharSequence endUserSessionMessage);
getStartUserSessionMessage(in ComponentName admin)505     CharSequence getStartUserSessionMessage(in ComponentName admin);
getEndUserSessionMessage(in ComponentName admin)506     CharSequence getEndUserSessionMessage(in ComponentName admin);
507 
setMeteredDataDisabledPackages(in ComponentName admin, in List<String> packageNames)508     List<String> setMeteredDataDisabledPackages(in ComponentName admin, in List<String> packageNames);
getMeteredDataDisabledPackages(in ComponentName admin)509     List<String> getMeteredDataDisabledPackages(in ComponentName admin);
510 
addOverrideApn(in ComponentName admin, in ApnSetting apnSetting)511     int addOverrideApn(in ComponentName admin, in ApnSetting apnSetting);
updateOverrideApn(in ComponentName admin, int apnId, in ApnSetting apnSetting)512     boolean updateOverrideApn(in ComponentName admin, int apnId, in ApnSetting apnSetting);
removeOverrideApn(in ComponentName admin, int apnId)513     boolean removeOverrideApn(in ComponentName admin, int apnId);
getOverrideApns(in ComponentName admin)514     List<ApnSetting> getOverrideApns(in ComponentName admin);
setOverrideApnsEnabled(in ComponentName admin, boolean enabled)515     void setOverrideApnsEnabled(in ComponentName admin, boolean enabled);
isOverrideApnEnabled(in ComponentName admin)516     boolean isOverrideApnEnabled(in ComponentName admin);
517 
isMeteredDataDisabledPackageForUser(in ComponentName admin, String packageName, int userId)518     boolean isMeteredDataDisabledPackageForUser(in ComponentName admin, String packageName, int userId);
519 
setGlobalPrivateDns(in ComponentName admin, int mode, in String privateDnsHost)520     int setGlobalPrivateDns(in ComponentName admin, int mode, in String privateDnsHost);
getGlobalPrivateDnsMode(in ComponentName admin)521     int getGlobalPrivateDnsMode(in ComponentName admin);
getGlobalPrivateDnsHost(in ComponentName admin)522     String getGlobalPrivateDnsHost(in ComponentName admin);
523 
setProfileOwnerOnOrganizationOwnedDevice(in ComponentName who, int userId, boolean isProfileOwnerOnOrganizationOwnedDevice)524     void setProfileOwnerOnOrganizationOwnedDevice(in ComponentName who, int userId, boolean isProfileOwnerOnOrganizationOwnedDevice);
525 
installUpdateFromFile(in ComponentName admin, String callerPackageName, in ParcelFileDescriptor updateFileDescriptor, in StartInstallingUpdateCallback listener)526     void installUpdateFromFile(in ComponentName admin, String callerPackageName, in ParcelFileDescriptor updateFileDescriptor, in StartInstallingUpdateCallback listener);
527 
setCrossProfileCalendarPackages(in ComponentName admin, in List<String> packageNames)528     void setCrossProfileCalendarPackages(in ComponentName admin, in List<String> packageNames);
getCrossProfileCalendarPackages(in ComponentName admin)529     List<String> getCrossProfileCalendarPackages(in ComponentName admin);
isPackageAllowedToAccessCalendarForUser(String packageName, int userHandle)530     boolean isPackageAllowedToAccessCalendarForUser(String packageName, int userHandle);
getCrossProfileCalendarPackagesForUser(int userHandle)531     List<String> getCrossProfileCalendarPackagesForUser(int userHandle);
532 
setCrossProfilePackages(in ComponentName admin, in List<String> packageNames)533     void setCrossProfilePackages(in ComponentName admin, in List<String> packageNames);
getCrossProfilePackages(in ComponentName admin)534     List<String> getCrossProfilePackages(in ComponentName admin);
535 
getAllCrossProfilePackages(int userId)536     List<String> getAllCrossProfilePackages(int userId);
getDefaultCrossProfilePackages()537     List<String> getDefaultCrossProfilePackages();
538 
isManagedKiosk()539     boolean isManagedKiosk();
isUnattendedManagedKiosk()540     boolean isUnattendedManagedKiosk();
541 
startViewCalendarEventInManagedProfile(String packageName, long eventId, long start, long end, boolean allDay, int flags)542     boolean startViewCalendarEventInManagedProfile(String packageName, long eventId, long start, long end, boolean allDay, int flags);
543 
setKeyGrantForApp(in ComponentName admin, String callerPackage, String alias, String packageName, boolean hasGrant)544     boolean setKeyGrantForApp(in ComponentName admin, String callerPackage, String alias, String packageName, boolean hasGrant);
getKeyPairGrants(in String callerPackage, in String alias)545     ParcelableGranteeMap getKeyPairGrants(in String callerPackage, in String alias);
setKeyGrantToWifiAuth(String callerPackage, String alias, boolean hasGrant)546     boolean setKeyGrantToWifiAuth(String callerPackage, String alias, boolean hasGrant);
isKeyPairGrantedToWifiAuth(String callerPackage, String alias)547     boolean isKeyPairGrantedToWifiAuth(String callerPackage, String alias);
548 
setUserControlDisabledPackages(in ComponentName admin, String callerPackageName, in List<String> packages)549     void setUserControlDisabledPackages(in ComponentName admin, String callerPackageName, in List<String> packages);
550 
getUserControlDisabledPackages(in ComponentName admin, String callerPackageName)551     List<String> getUserControlDisabledPackages(in ComponentName admin, String callerPackageName);
552 
setCommonCriteriaModeEnabled(in ComponentName admin, String callerPackageName, boolean enabled)553     void setCommonCriteriaModeEnabled(in ComponentName admin, String callerPackageName, boolean enabled);
isCommonCriteriaModeEnabled(in ComponentName admin)554     boolean isCommonCriteriaModeEnabled(in ComponentName admin);
555 
getPersonalAppsSuspendedReasons(in ComponentName admin)556     int getPersonalAppsSuspendedReasons(in ComponentName admin);
setPersonalAppsSuspended(in ComponentName admin, boolean suspended)557     void setPersonalAppsSuspended(in ComponentName admin, boolean suspended);
558 
getManagedProfileMaximumTimeOff(in ComponentName admin)559     long getManagedProfileMaximumTimeOff(in ComponentName admin);
setManagedProfileMaximumTimeOff(in ComponentName admin, long timeoutMs)560     void setManagedProfileMaximumTimeOff(in ComponentName admin, long timeoutMs);
561 
acknowledgeDeviceCompliant()562     void acknowledgeDeviceCompliant();
isComplianceAcknowledgementRequired()563     boolean isComplianceAcknowledgementRequired();
564 
canProfileOwnerResetPasswordWhenLocked(int userId)565     boolean canProfileOwnerResetPasswordWhenLocked(int userId);
566 
setNextOperationSafety(int operation, int reason)567     void setNextOperationSafety(int operation, int reason);
isSafeOperation(int reason)568     boolean isSafeOperation(int reason);
569 
getEnrollmentSpecificId(String callerPackage)570     String getEnrollmentSpecificId(String callerPackage);
setOrganizationIdForUser(in String callerPackage, in String enterpriseId, int userId)571     void setOrganizationIdForUser(in String callerPackage, in String enterpriseId, int userId);
572 
createAndProvisionManagedProfile(in ManagedProfileProvisioningParams provisioningParams, in String callerPackage)573     UserHandle createAndProvisionManagedProfile(in ManagedProfileProvisioningParams provisioningParams, in String callerPackage);
createManagedProfile(in ManagedProfileProvisioningParams provisioningParams, in String callerPackage)574     UserHandle createManagedProfile(in ManagedProfileProvisioningParams provisioningParams, in String callerPackage);
finalizeCreateManagedProfile(in ManagedProfileProvisioningParams provisioningParams, in UserHandle managedProfileUser)575     void finalizeCreateManagedProfile(in ManagedProfileProvisioningParams provisioningParams, in UserHandle managedProfileUser);
provisionFullyManagedDevice(in FullyManagedDeviceProvisioningParams provisioningParams, in String callerPackage)576     void provisionFullyManagedDevice(in FullyManagedDeviceProvisioningParams provisioningParams, in String callerPackage);
577 
finalizeWorkProfileProvisioning(in UserHandle managedProfileUser, in Account migratedAccount)578     void finalizeWorkProfileProvisioning(in UserHandle managedProfileUser, in Account migratedAccount);
579 
removeManagedProfile(int userId)580     boolean removeManagedProfile(int userId);
581 
setDeviceOwnerType(in ComponentName admin, in int deviceOwnerType)582     void setDeviceOwnerType(in ComponentName admin, in int deviceOwnerType);
getDeviceOwnerType(in ComponentName admin)583     int getDeviceOwnerType(in ComponentName admin);
584 
resetDefaultCrossProfileIntentFilters(int userId)585     void resetDefaultCrossProfileIntentFilters(int userId);
canAdminGrantSensorsPermissions()586     boolean canAdminGrantSensorsPermissions();
587 
setUsbDataSignalingEnabled(String callerPackage, boolean enabled)588     void setUsbDataSignalingEnabled(String callerPackage, boolean enabled);
isUsbDataSignalingEnabled(String callerPackage)589     boolean isUsbDataSignalingEnabled(String callerPackage);
canUsbDataSignalingBeDisabled()590     boolean canUsbDataSignalingBeDisabled();
591 
setMinimumRequiredWifiSecurityLevel(String callerPackageName, int level)592     void setMinimumRequiredWifiSecurityLevel(String callerPackageName, int level);
getMinimumRequiredWifiSecurityLevel()593     int getMinimumRequiredWifiSecurityLevel();
594 
setWifiSsidPolicy(String callerPackageName, in WifiSsidPolicy policy)595     void setWifiSsidPolicy(String callerPackageName, in WifiSsidPolicy policy);
getWifiSsidPolicy(String callerPackageName)596     WifiSsidPolicy getWifiSsidPolicy(String callerPackageName);
597 
isDevicePotentiallyStolen(String callerPackageName)598     boolean isDevicePotentiallyStolen(String callerPackageName);
599 
listForegroundAffiliatedUsers()600     List<UserHandle> listForegroundAffiliatedUsers();
setDrawables(in List<DevicePolicyDrawableResource> drawables)601     void setDrawables(in List<DevicePolicyDrawableResource> drawables);
resetDrawables(in List<String> drawableIds)602     void resetDrawables(in List<String> drawableIds);
getDrawable(String drawableId, String drawableStyle, String drawableSource)603     ParcelableResource getDrawable(String drawableId, String drawableStyle, String drawableSource);
604 
isDpcDownloaded()605     boolean isDpcDownloaded();
setDpcDownloaded(boolean downloaded)606     void setDpcDownloaded(boolean downloaded);
607 
setStrings(in List<DevicePolicyStringResource> strings)608     void setStrings(in List<DevicePolicyStringResource> strings);
resetStrings(in List<String> stringIds)609     void resetStrings(in List<String> stringIds);
getString(String stringId)610     ParcelableResource getString(String stringId);
611 
resetShouldAllowBypassingDevicePolicyManagementRoleQualificationState()612     void resetShouldAllowBypassingDevicePolicyManagementRoleQualificationState();
shouldAllowBypassingDevicePolicyManagementRoleQualification()613     boolean shouldAllowBypassingDevicePolicyManagementRoleQualification();
614 
getPolicyManagedProfiles(in UserHandle userHandle)615     List<UserHandle> getPolicyManagedProfiles(in UserHandle userHandle);
616 
setApplicationExemptions(String callerPackage, String packageName, in int[]exemptions)617     void setApplicationExemptions(String callerPackage, String packageName, in int[]exemptions);
getApplicationExemptions(String packageName)618     int[] getApplicationExemptions(String packageName);
619 
setMtePolicy(int flag, String callerPackageName)620     void setMtePolicy(int flag, String callerPackageName);
setMtePolicyBySystem(in String systemEntity, int policy)621     void setMtePolicyBySystem(in String systemEntity, int policy);
getMtePolicy(String callerPackageName)622     int getMtePolicy(String callerPackageName);
623 
setManagedSubscriptionsPolicy(in ManagedSubscriptionsPolicy policy)624     void setManagedSubscriptionsPolicy(in ManagedSubscriptionsPolicy policy);
getManagedSubscriptionsPolicy()625     ManagedSubscriptionsPolicy getManagedSubscriptionsPolicy();
626 
getDevicePolicyState()627     DevicePolicyState getDevicePolicyState();
628 
triggerDevicePolicyEngineMigration(boolean forceMigration)629     boolean triggerDevicePolicyEngineMigration(boolean forceMigration);
630 
isDeviceFinanced(String callerPackageName)631     boolean isDeviceFinanced(String callerPackageName);
getFinancedDeviceKioskRoleHolder(String callerPackageName)632     String getFinancedDeviceKioskRoleHolder(String callerPackageName);
633 
calculateHasIncompatibleAccounts()634     void calculateHasIncompatibleAccounts();
635 
setContentProtectionPolicy(in ComponentName who, String callerPackageName, int policy)636     void setContentProtectionPolicy(in ComponentName who, String callerPackageName, int policy);
getContentProtectionPolicy(in ComponentName who, String callerPackageName, int userId)637     int getContentProtectionPolicy(in ComponentName who, String callerPackageName, int userId);
638 
getSubscriptionIds(String callerPackageName)639     int[] getSubscriptionIds(String callerPackageName);
640 
setMaxPolicyStorageLimit(String callerPackageName, int storageLimit)641     void setMaxPolicyStorageLimit(String callerPackageName, int storageLimit);
forceSetMaxPolicyStorageLimit(String callerPackageName, int storageLimit)642     void forceSetMaxPolicyStorageLimit(String callerPackageName, int storageLimit);
getMaxPolicyStorageLimit(String callerPackageName)643     int getMaxPolicyStorageLimit(String callerPackageName);
getPolicySizeForAdmin(String callerPackageName, in EnforcingAdmin admin)644     int getPolicySizeForAdmin(String callerPackageName, in EnforcingAdmin admin);
645 
getHeadlessDeviceOwnerMode(String callerPackageName)646     int getHeadlessDeviceOwnerMode(String callerPackageName);
647 
setAppFunctionsPolicy(String callerPackageName, int policy)648     void setAppFunctionsPolicy(String callerPackageName, int policy);
getAppFunctionsPolicy(String callerPackageName, int userId)649     int getAppFunctionsPolicy(String callerPackageName, int userId);
650 }
651