IDevicePolicyManager.aidl revision 8027a4ffc285ba39df3a262abfff1cfdd6dd31db
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 18package android.app.admin; 19 20import android.content.ComponentName; 21import android.content.Intent; 22import android.content.IntentFilter; 23import android.graphics.Bitmap; 24import android.net.ProxyInfo; 25import android.os.Bundle; 26import android.os.PersistableBundle; 27import android.os.RemoteCallback; 28import android.os.UserHandle; 29import java.util.List; 30 31/** 32 * Internal IPC interface to the device policy service. 33 * {@hide} 34 */ 35interface IDevicePolicyManager { 36 void setPasswordQuality(in ComponentName who, int quality); 37 int getPasswordQuality(in ComponentName who, int userHandle); 38 39 void setPasswordMinimumLength(in ComponentName who, int length); 40 int getPasswordMinimumLength(in ComponentName who, int userHandle); 41 42 void setPasswordMinimumUpperCase(in ComponentName who, int length); 43 int getPasswordMinimumUpperCase(in ComponentName who, int userHandle); 44 45 void setPasswordMinimumLowerCase(in ComponentName who, int length); 46 int getPasswordMinimumLowerCase(in ComponentName who, int userHandle); 47 48 void setPasswordMinimumLetters(in ComponentName who, int length); 49 int getPasswordMinimumLetters(in ComponentName who, int userHandle); 50 51 void setPasswordMinimumNumeric(in ComponentName who, int length); 52 int getPasswordMinimumNumeric(in ComponentName who, int userHandle); 53 54 void setPasswordMinimumSymbols(in ComponentName who, int length); 55 int getPasswordMinimumSymbols(in ComponentName who, int userHandle); 56 57 void setPasswordMinimumNonLetter(in ComponentName who, int length); 58 int getPasswordMinimumNonLetter(in ComponentName who, int userHandle); 59 60 void setPasswordHistoryLength(in ComponentName who, int length); 61 int getPasswordHistoryLength(in ComponentName who, int userHandle); 62 63 void setPasswordExpirationTimeout(in ComponentName who, long expiration); 64 long getPasswordExpirationTimeout(in ComponentName who, int userHandle); 65 66 long getPasswordExpiration(in ComponentName who, int userHandle); 67 68 boolean isActivePasswordSufficient(int userHandle); 69 int getCurrentFailedPasswordAttempts(int userHandle); 70 int getProfileWithMinimumFailedPasswordsForWipe(int userHandle); 71 72 void setMaximumFailedPasswordsForWipe(in ComponentName admin, int num); 73 int getMaximumFailedPasswordsForWipe(in ComponentName admin, int userHandle); 74 75 boolean resetPassword(String password, int flags); 76 77 void setMaximumTimeToLock(in ComponentName who, long timeMs); 78 long getMaximumTimeToLock(in ComponentName who, int userHandle); 79 80 void lockNow(); 81 82 void wipeData(int flags, int userHandle); 83 84 ComponentName setGlobalProxy(in ComponentName admin, String proxySpec, String exclusionList); 85 ComponentName getGlobalProxyAdmin(int userHandle); 86 void setRecommendedGlobalProxy(in ComponentName admin, in ProxyInfo proxyInfo); 87 88 int setStorageEncryption(in ComponentName who, boolean encrypt); 89 boolean getStorageEncryption(in ComponentName who, int userHandle); 90 int getStorageEncryptionStatus(int userHandle); 91 92 void setCameraDisabled(in ComponentName who, boolean disabled); 93 boolean getCameraDisabled(in ComponentName who, int userHandle); 94 95 void setScreenCaptureDisabled(in ComponentName who, boolean disabled); 96 boolean getScreenCaptureDisabled(in ComponentName who, int userHandle); 97 98 void setKeyguardDisabledFeatures(in ComponentName who, int which); 99 int getKeyguardDisabledFeatures(in ComponentName who, int userHandle); 100 101 void setActiveAdmin(in ComponentName policyReceiver, boolean refreshing, int userHandle); 102 boolean isAdminActive(in ComponentName policyReceiver, int userHandle); 103 List<ComponentName> getActiveAdmins(int userHandle); 104 boolean packageHasActiveAdmins(String packageName, int userHandle); 105 void getRemoveWarning(in ComponentName policyReceiver, in RemoteCallback result, int userHandle); 106 void removeActiveAdmin(in ComponentName policyReceiver, int userHandle); 107 boolean hasGrantedPolicy(in ComponentName policyReceiver, int usesPolicy, int userHandle); 108 109 void setActivePasswordState(int quality, int length, int letters, int uppercase, int lowercase, 110 int numbers, int symbols, int nonletter, int userHandle); 111 void reportFailedPasswordAttempt(int userHandle); 112 void reportSuccessfulPasswordAttempt(int userHandle); 113 114 boolean setDeviceOwner(String packageName, String ownerName); 115 boolean isDeviceOwner(String packageName); 116 String getDeviceOwner(); 117 String getDeviceOwnerName(); 118 void clearDeviceOwner(String packageName); 119 120 boolean setProfileOwner(in ComponentName who, String ownerName, int userHandle); 121 ComponentName getProfileOwner(int userHandle); 122 String getProfileOwnerName(int userHandle); 123 void setProfileEnabled(in ComponentName who); 124 void setProfileName(in ComponentName who, String profileName); 125 void clearProfileOwner(in ComponentName who); 126 boolean hasUserSetupCompleted(); 127 128 boolean installCaCert(in ComponentName admin, in byte[] certBuffer); 129 void uninstallCaCert(in ComponentName admin, in String alias); 130 void enforceCanManageCaCerts(in ComponentName admin); 131 132 boolean installKeyPair(in ComponentName who, in byte[] privKeyBuffer, in byte[] certBuffer, String alias); 133 void choosePrivateKeyAlias(int uid, in String host, int port, in String url, in String alias, IBinder aliasCallback); 134 135 void setCertInstallerPackage(in ComponentName who, String installerPackage); 136 String getCertInstallerPackage(in ComponentName who); 137 138 void addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity); 139 void clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName); 140 141 void setApplicationRestrictions(in ComponentName who, in String packageName, in Bundle settings); 142 Bundle getApplicationRestrictions(in ComponentName who, in String packageName); 143 144 void setRestrictionsProvider(in ComponentName who, in ComponentName provider); 145 ComponentName getRestrictionsProvider(int userHandle); 146 147 void setUserRestriction(in ComponentName who, in String key, boolean enable); 148 void addCrossProfileIntentFilter(in ComponentName admin, in IntentFilter filter, int flags); 149 void clearCrossProfileIntentFilters(in ComponentName admin); 150 151 boolean setPermittedAccessibilityServices(in ComponentName admin,in List packageList); 152 List getPermittedAccessibilityServices(in ComponentName admin); 153 List getPermittedAccessibilityServicesForUser(int userId); 154 155 boolean setPermittedInputMethods(in ComponentName admin,in List packageList); 156 List getPermittedInputMethods(in ComponentName admin); 157 List getPermittedInputMethodsForCurrentUser(); 158 159 boolean setApplicationHidden(in ComponentName admin, in String packageName, boolean hidden); 160 boolean isApplicationHidden(in ComponentName admin, in String packageName); 161 162 UserHandle createUser(in ComponentName who, in String name); 163 UserHandle createAndInitializeUser(in ComponentName who, in String name, in String profileOwnerName, in ComponentName profileOwnerComponent, in Bundle adminExtras); 164 boolean removeUser(in ComponentName who, in UserHandle userHandle); 165 boolean switchUser(in ComponentName who, in UserHandle userHandle); 166 167 void enableSystemApp(in ComponentName admin, in String packageName); 168 int enableSystemAppWithIntent(in ComponentName admin, in Intent intent); 169 170 void setAccountManagementDisabled(in ComponentName who, in String accountType, in boolean disabled); 171 String[] getAccountTypesWithManagementDisabled(); 172 String[] getAccountTypesWithManagementDisabledAsUser(int userId); 173 174 void setLockTaskPackages(in ComponentName who, in String[] packages); 175 String[] getLockTaskPackages(in ComponentName who); 176 boolean isLockTaskPermitted(in String pkg); 177 178 void setGlobalSetting(in ComponentName who, in String setting, in String value); 179 void setSecureSetting(in ComponentName who, in String setting, in String value); 180 181 void setMasterVolumeMuted(in ComponentName admin, boolean on); 182 boolean isMasterVolumeMuted(in ComponentName admin); 183 184 void notifyLockTaskModeChanged(boolean isEnabled, String pkg, int userId); 185 186 void setUninstallBlocked(in ComponentName admin, in String packageName, boolean uninstallBlocked); 187 boolean isUninstallBlocked(in ComponentName admin, in String packageName); 188 189 void setCrossProfileCallerIdDisabled(in ComponentName who, boolean disabled); 190 boolean getCrossProfileCallerIdDisabled(in ComponentName who); 191 boolean getCrossProfileCallerIdDisabledForUser(int userId); 192 void startManagedQuickContact(String lookupKey, long contactId, in Intent originalIntent); 193 194 void setTrustAgentConfiguration(in ComponentName admin, in ComponentName agent, 195 in PersistableBundle args); 196 List<PersistableBundle> getTrustAgentConfiguration(in ComponentName admin, 197 in ComponentName agent, int userId); 198 199 boolean addCrossProfileWidgetProvider(in ComponentName admin, String packageName); 200 boolean removeCrossProfileWidgetProvider(in ComponentName admin, String packageName); 201 List<String> getCrossProfileWidgetProviders(in ComponentName admin); 202 203 void setAutoTimeRequired(in ComponentName who, boolean required); 204 boolean getAutoTimeRequired(); 205 206 boolean isRemovingAdmin(in ComponentName adminReceiver, int userHandle); 207 208 boolean setUserEnabled(in ComponentName who); 209 boolean isDeviceInitializer(String packageName); 210 void clearDeviceInitializer(in ComponentName who); 211 boolean setDeviceInitializer(in ComponentName who, in ComponentName initializer, String initializerName); 212 String getDeviceInitializer(); 213 ComponentName getDeviceInitializerComponent(); 214 215 void setUserIcon(in ComponentName admin, in Bitmap icon); 216 217 void sendDeviceInitializerStatus(int statusCode, String description); 218 void setOtaPolicy(in ComponentName who, in PersistableBundle policy); 219 PersistableBundle getOtaPolicy(); 220} 221