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