1d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn/* 2d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** 3d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** Copyright 2010, The Android Open Source Project 4d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** 5d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** Licensed under the Apache License, Version 2.0 (the "License"); 6d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** you may not use this file except in compliance with the License. 7d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** You may obtain a copy of the License at 8d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** 9d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** http://www.apache.org/licenses/LICENSE-2.0 10d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** 11d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** Unless required by applicable law or agreed to in writing, software 12d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** distributed under the License is distributed on an "AS IS" BASIS, 13d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** See the License for the specific language governing permissions and 15d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn** limitations under the License. 16d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn*/ 17d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn 1887bba1ee14279bb14a28d42e27c4ef66d9967bf8Dianne Hackbornpackage android.app.admin; 19d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn 20d68478467e3f837511196c80891d7245d0e163dfDianne Hackbornimport android.content.ComponentName; 218ea138cbf12b140d43fd81f4f12fe1a9234f1f25Dianne Hackbornimport android.os.RemoteCallback; 22d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn 23d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn/** 24d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn * Internal IPC interface to the device policy service. 25d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn * {@hide} 26d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn */ 27d68478467e3f837511196c80891d7245d0e163dfDianne Hackborninterface IDevicePolicyManager { 289327f4f671de3cbb795612bf4f314ceff88de865Dianne Hackborn void setPasswordQuality(in ComponentName who, int quality); 299327f4f671de3cbb795612bf4f314ceff88de865Dianne Hackborn int getPasswordQuality(in ComponentName who); 30a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev 31254cb446faa7cb13699d8150eb4cc4f44cb61a2dDianne Hackborn void setPasswordMinimumLength(in ComponentName who, int length); 32254cb446faa7cb13699d8150eb4cc4f44cb61a2dDianne Hackborn int getPasswordMinimumLength(in ComponentName who); 33a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev 34a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev void setPasswordMinimumUpperCase(in ComponentName who, int length); 35a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev int getPasswordMinimumUpperCase(in ComponentName who); 36a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev 37a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev void setPasswordMinimumLowerCase(in ComponentName who, int length); 38a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev int getPasswordMinimumLowerCase(in ComponentName who); 39a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev 40a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev void setPasswordMinimumLetters(in ComponentName who, int length); 41a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev int getPasswordMinimumLetters(in ComponentName who); 42a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev 43a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev void setPasswordMinimumNumeric(in ComponentName who, int length); 44a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev int getPasswordMinimumNumeric(in ComponentName who); 45a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev 46a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev void setPasswordMinimumSymbols(in ComponentName who, int length); 47a15dcfaf2bc7cbd13b30db6766afe3bbaa01db97Konstantin Lopyrev int getPasswordMinimumSymbols(in ComponentName who); 48c857740f242169f2ca7fd42f0d1268661b399ad6Konstantin Lopyrev 49c857740f242169f2ca7fd42f0d1268661b399ad6Konstantin Lopyrev void setPasswordMinimumNonLetter(in ComponentName who, int length); 50c857740f242169f2ca7fd42f0d1268661b399ad6Konstantin Lopyrev int getPasswordMinimumNonLetter(in ComponentName who); 51d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn 523255823de062e981f7bfc7994919207988697e45Konstantin Lopyrev void setPasswordHistoryLength(in ComponentName who, int length); 533255823de062e981f7bfc7994919207988697e45Konstantin Lopyrev int getPasswordHistoryLength(in ComponentName who); 543255823de062e981f7bfc7994919207988697e45Konstantin Lopyrev 55a4e28d181942018ba8759989799a28fa88764ce3Jim Miller void setPasswordExpirationTimeout(in ComponentName who, long expiration); 56a4e28d181942018ba8759989799a28fa88764ce3Jim Miller long getPasswordExpirationTimeout(in ComponentName who); 57a4e28d181942018ba8759989799a28fa88764ce3Jim Miller 58a4e28d181942018ba8759989799a28fa88764ce3Jim Miller long getPasswordExpiration(in ComponentName who); 59a4e28d181942018ba8759989799a28fa88764ce3Jim Miller 60df83afaf299666e99c519aa86e7e082b7c116e95Dianne Hackborn boolean isActivePasswordSufficient(); 61d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn int getCurrentFailedPasswordAttempts(); 62254cb446faa7cb13699d8150eb4cc4f44cb61a2dDianne Hackborn 638ea138cbf12b140d43fd81f4f12fe1a9234f1f25Dianne Hackborn void setMaximumFailedPasswordsForWipe(in ComponentName admin, int num); 64254cb446faa7cb13699d8150eb4cc4f44cb61a2dDianne Hackborn int getMaximumFailedPasswordsForWipe(in ComponentName admin); 65d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn 6687bba1ee14279bb14a28d42e27c4ef66d9967bf8Dianne Hackborn boolean resetPassword(String password, int flags); 67df83afaf299666e99c519aa86e7e082b7c116e95Dianne Hackborn 68d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn void setMaximumTimeToLock(in ComponentName who, long timeMs); 69254cb446faa7cb13699d8150eb4cc4f44cb61a2dDianne Hackborn long getMaximumTimeToLock(in ComponentName who); 70d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn 71df83afaf299666e99c519aa86e7e082b7c116e95Dianne Hackborn void lockNow(); 72df83afaf299666e99c519aa86e7e082b7c116e95Dianne Hackborn 73d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn void wipeData(int flags); 7469238c6a37ae43c748ad9cd7613f2209149ee7daOscar Montemayor 7569238c6a37ae43c748ad9cd7613f2209149ee7daOscar Montemayor ComponentName setGlobalProxy(in ComponentName admin, String proxySpec, String exclusionList); 7669238c6a37ae43c748ad9cd7613f2209149ee7daOscar Montemayor ComponentName getGlobalProxyAdmin(); 777b0f8f08ac7b3ed5cf462b92283713b033d6a64aAndy Stadler 787b0f8f08ac7b3ed5cf462b92283713b033d6a64aAndy Stadler int setStorageEncryption(in ComponentName who, boolean encrypt); 7922dbfda976aab9ae897eed0625e2e64ead32bbc4Andy Stadler boolean getStorageEncryption(in ComponentName who); 8022dbfda976aab9ae897eed0625e2e64ead32bbc4Andy Stadler int getStorageEncryptionStatus(); 817b0f8f08ac7b3ed5cf462b92283713b033d6a64aAndy Stadler 822447edd85baac3225a12b868ef40f76cfdc6ec11Ben Komalo void setCameraDisabled(in ComponentName who, boolean disabled); 832447edd85baac3225a12b868ef40f76cfdc6ec11Ben Komalo boolean getCameraDisabled(in ComponentName who); 842447edd85baac3225a12b868ef40f76cfdc6ec11Ben Komalo 85c25f70a440ef9468085b8d98c8416c7e8b116753Andy Stadler void setActiveAdmin(in ComponentName policyReceiver, boolean refreshing); 86d47c6ed4a9f2b5bd31f6c806b74701428efe458bDianne Hackborn boolean isAdminActive(in ComponentName policyReceiver); 87d47c6ed4a9f2b5bd31f6c806b74701428efe458bDianne Hackborn List<ComponentName> getActiveAdmins(); 8821f1bd17b2dfe361acbb28453b3f3b1a110932faDianne Hackborn boolean packageHasActiveAdmins(String packageName); 898ea138cbf12b140d43fd81f4f12fe1a9234f1f25Dianne Hackborn void getRemoveWarning(in ComponentName policyReceiver, in RemoteCallback result); 90d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn void removeActiveAdmin(in ComponentName policyReceiver); 91c25f70a440ef9468085b8d98c8416c7e8b116753Andy Stadler boolean hasGrantedPolicy(in ComponentName policyReceiver, int usesPolicy); 92d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn 93c857740f242169f2ca7fd42f0d1268661b399ad6Konstantin Lopyrev void setActivePasswordState(int quality, int length, int letters, int uppercase, int lowercase, 94c857740f242169f2ca7fd42f0d1268661b399ad6Konstantin Lopyrev int numbers, int symbols, int nonletter); 95d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn void reportFailedPasswordAttempt(); 96d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn void reportSuccessfulPasswordAttempt(); 97d68478467e3f837511196c80891d7245d0e163dfDianne Hackborn} 98