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