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.content.ComponentName; 21 import android.os.RemoteCallback; 22 23 /** 24 * Internal IPC interface to the device policy service. 25 * {@hide} 26 */ 27 interface IDevicePolicyManager { 28 void setPasswordQuality(in ComponentName who, int quality); 29 int getPasswordQuality(in ComponentName who); 30 31 void setPasswordMinimumLength(in ComponentName who, int length); 32 int getPasswordMinimumLength(in ComponentName who); 33 34 void setPasswordMinimumUpperCase(in ComponentName who, int length); 35 int getPasswordMinimumUpperCase(in ComponentName who); 36 37 void setPasswordMinimumLowerCase(in ComponentName who, int length); 38 int getPasswordMinimumLowerCase(in ComponentName who); 39 40 void setPasswordMinimumLetters(in ComponentName who, int length); 41 int getPasswordMinimumLetters(in ComponentName who); 42 43 void setPasswordMinimumNumeric(in ComponentName who, int length); 44 int getPasswordMinimumNumeric(in ComponentName who); 45 46 void setPasswordMinimumSymbols(in ComponentName who, int length); 47 int getPasswordMinimumSymbols(in ComponentName who); 48 49 void setPasswordMinimumNonLetter(in ComponentName who, int length); 50 int getPasswordMinimumNonLetter(in ComponentName who); 51 52 void setPasswordHistoryLength(in ComponentName who, int length); 53 int getPasswordHistoryLength(in ComponentName who); 54 55 void setPasswordExpirationTimeout(in ComponentName who, long expiration); 56 long getPasswordExpirationTimeout(in ComponentName who); 57 58 long getPasswordExpiration(in ComponentName who); 59 60 boolean isActivePasswordSufficient(); 61 int getCurrentFailedPasswordAttempts(); 62 63 void setMaximumFailedPasswordsForWipe(in ComponentName admin, int num); 64 int getMaximumFailedPasswordsForWipe(in ComponentName admin); 65 66 boolean resetPassword(String password, int flags); 67 68 void setMaximumTimeToLock(in ComponentName who, long timeMs); 69 long getMaximumTimeToLock(in ComponentName who); 70 71 void lockNow(); 72 73 void wipeData(int flags); 74 75 ComponentName setGlobalProxy(in ComponentName admin, String proxySpec, String exclusionList); 76 ComponentName getGlobalProxyAdmin(); 77 78 int setStorageEncryption(in ComponentName who, boolean encrypt); 79 boolean getStorageEncryption(in ComponentName who); 80 int getStorageEncryptionStatus(); 81 82 void setCameraDisabled(in ComponentName who, boolean disabled); 83 boolean getCameraDisabled(in ComponentName who); 84 85 void setActiveAdmin(in ComponentName policyReceiver, boolean refreshing); 86 boolean isAdminActive(in ComponentName policyReceiver); 87 List<ComponentName> getActiveAdmins(); 88 boolean packageHasActiveAdmins(String packageName); 89 void getRemoveWarning(in ComponentName policyReceiver, in RemoteCallback result); 90 void removeActiveAdmin(in ComponentName policyReceiver); 91 boolean hasGrantedPolicy(in ComponentName policyReceiver, int usesPolicy); 92 93 void setActivePasswordState(int quality, int length, int letters, int uppercase, int lowercase, 94 int numbers, int symbols, int nonletter); 95 void reportFailedPasswordAttempt(); 96 void reportSuccessfulPasswordAttempt(); 97 } 98