IDevicePolicyManager.aidl revision fca04ca0965d5e04dacc025b77f2b4881ee1afd8
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 addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity); 136 void clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName); 137 138 void setApplicationRestrictions(in ComponentName who, in String packageName, in Bundle settings); 139 Bundle getApplicationRestrictions(in ComponentName who, in String packageName); 140 141 void setRestrictionsProvider(in ComponentName who, in ComponentName provider); 142 ComponentName getRestrictionsProvider(int userHandle); 143 144 void setUserRestriction(in ComponentName who, in String key, boolean enable); 145 void addCrossProfileIntentFilter(in ComponentName admin, in IntentFilter filter, int flags); 146 void clearCrossProfileIntentFilters(in ComponentName admin); 147 148 boolean setPermittedAccessibilityServices(in ComponentName admin,in List packageList); 149 List getPermittedAccessibilityServices(in ComponentName admin); 150 List getPermittedAccessibilityServicesForUser(int userId); 151 152 boolean setPermittedInputMethods(in ComponentName admin,in List packageList); 153 List getPermittedInputMethods(in ComponentName admin); 154 List getPermittedInputMethodsForCurrentUser(); 155 156 boolean setApplicationHidden(in ComponentName admin, in String packageName, boolean hidden); 157 boolean isApplicationHidden(in ComponentName admin, in String packageName); 158 159 UserHandle createUser(in ComponentName who, in String name); 160 UserHandle createAndInitializeUser(in ComponentName who, in String name, in String profileOwnerName, in ComponentName profileOwnerComponent, in Bundle adminExtras); 161 boolean removeUser(in ComponentName who, in UserHandle userHandle); 162 boolean switchUser(in ComponentName who, in UserHandle userHandle); 163 164 void enableSystemApp(in ComponentName admin, in String packageName); 165 int enableSystemAppWithIntent(in ComponentName admin, in Intent intent); 166 167 void setAccountManagementDisabled(in ComponentName who, in String accountType, in boolean disabled); 168 String[] getAccountTypesWithManagementDisabled(); 169 String[] getAccountTypesWithManagementDisabledAsUser(int userId); 170 171 void setLockTaskPackages(in ComponentName who, in String[] packages); 172 String[] getLockTaskPackages(in ComponentName who); 173 boolean isLockTaskPermitted(in String pkg); 174 175 void setGlobalSetting(in ComponentName who, in String setting, in String value); 176 void setSecureSetting(in ComponentName who, in String setting, in String value); 177 178 void setMasterVolumeMuted(in ComponentName admin, boolean on); 179 boolean isMasterVolumeMuted(in ComponentName admin); 180 181 void notifyLockTaskModeChanged(boolean isEnabled, String pkg, int userId); 182 183 void setUninstallBlocked(in ComponentName admin, in String packageName, boolean uninstallBlocked); 184 boolean isUninstallBlocked(in ComponentName admin, in String packageName); 185 186 void setCrossProfileCallerIdDisabled(in ComponentName who, boolean disabled); 187 boolean getCrossProfileCallerIdDisabled(in ComponentName who); 188 boolean getCrossProfileCallerIdDisabledForUser(int userId); 189 190 void setTrustAgentConfiguration(in ComponentName admin, in ComponentName agent, 191 in PersistableBundle args); 192 List<PersistableBundle> getTrustAgentConfiguration(in ComponentName admin, 193 in ComponentName agent, int userId); 194 195 boolean addCrossProfileWidgetProvider(in ComponentName admin, String packageName); 196 boolean removeCrossProfileWidgetProvider(in ComponentName admin, String packageName); 197 List<String> getCrossProfileWidgetProviders(in ComponentName admin); 198 199 void setAutoTimeRequired(in ComponentName who, boolean required); 200 boolean getAutoTimeRequired(); 201 202 boolean isRemovingAdmin(in ComponentName adminReceiver, int userHandle); 203 204 boolean setUserEnabled(in ComponentName who); 205 boolean isDeviceInitializer(String packageName); 206 void clearDeviceInitializer(String packageName); 207 boolean setDeviceInitializer(in ComponentName who, in ComponentName initializer, String initializerName); 208 String getDeviceInitializer(); 209 210 void setUserIcon(in ComponentName admin, in Bitmap icon); 211} 212