blob: 85ba58b2698510ca839b8a08bd35d7cebd1c38d1 [file] [log] [blame]
Dianne Hackbornd6847842010-01-12 18:14:19 -08001/*
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
Dianne Hackborn87bba1e2010-02-26 17:25:54 -080018package android.app.admin;
Dianne Hackbornd6847842010-01-12 18:14:19 -080019
20import android.content.ComponentName;
Sander Alewijnsef475ca32014-02-17 15:13:58 +000021import android.content.IntentFilter;
Robin Lee66e5d962014-04-09 16:44:21 +010022import android.os.Bundle;
Dianne Hackborn8ea138c2010-01-26 18:01:04 -080023import android.os.RemoteCallback;
Dianne Hackbornd6847842010-01-12 18:14:19 -080024
25/**
26 * Internal IPC interface to the device policy service.
27 * {@hide}
28 */
29interface IDevicePolicyManager {
Amith Yamasani599dd7c2012-09-14 23:20:08 -070030 void setPasswordQuality(in ComponentName who, int quality, int userHandle);
31 int getPasswordQuality(in ComponentName who, int userHandle);
Konstantin Lopyreva15dcfa2010-05-24 17:10:56 -070032
Amith Yamasani599dd7c2012-09-14 23:20:08 -070033 void setPasswordMinimumLength(in ComponentName who, int length, int userHandle);
34 int getPasswordMinimumLength(in ComponentName who, int userHandle);
Konstantin Lopyreva15dcfa2010-05-24 17:10:56 -070035
Amith Yamasani599dd7c2012-09-14 23:20:08 -070036 void setPasswordMinimumUpperCase(in ComponentName who, int length, int userHandle);
37 int getPasswordMinimumUpperCase(in ComponentName who, int userHandle);
Konstantin Lopyreva15dcfa2010-05-24 17:10:56 -070038
Amith Yamasani599dd7c2012-09-14 23:20:08 -070039 void setPasswordMinimumLowerCase(in ComponentName who, int length, int userHandle);
40 int getPasswordMinimumLowerCase(in ComponentName who, int userHandle);
Konstantin Lopyreva15dcfa2010-05-24 17:10:56 -070041
Amith Yamasani599dd7c2012-09-14 23:20:08 -070042 void setPasswordMinimumLetters(in ComponentName who, int length, int userHandle);
43 int getPasswordMinimumLetters(in ComponentName who, int userHandle);
Konstantin Lopyreva15dcfa2010-05-24 17:10:56 -070044
Amith Yamasani599dd7c2012-09-14 23:20:08 -070045 void setPasswordMinimumNumeric(in ComponentName who, int length, int userHandle);
46 int getPasswordMinimumNumeric(in ComponentName who, int userHandle);
Konstantin Lopyreva15dcfa2010-05-24 17:10:56 -070047
Amith Yamasani599dd7c2012-09-14 23:20:08 -070048 void setPasswordMinimumSymbols(in ComponentName who, int length, int userHandle);
49 int getPasswordMinimumSymbols(in ComponentName who, int userHandle);
Konstantin Lopyrevc8577402010-06-04 17:15:02 -070050
Amith Yamasani599dd7c2012-09-14 23:20:08 -070051 void setPasswordMinimumNonLetter(in ComponentName who, int length, int userHandle);
52 int getPasswordMinimumNonLetter(in ComponentName who, int userHandle);
Jim Millerb8ec4702012-08-31 17:19:10 -070053
Amith Yamasani599dd7c2012-09-14 23:20:08 -070054 void setPasswordHistoryLength(in ComponentName who, int length, int userHandle);
55 int getPasswordHistoryLength(in ComponentName who, int userHandle);
Konstantin Lopyrev32558232010-05-20 16:18:05 -070056
Amith Yamasani599dd7c2012-09-14 23:20:08 -070057 void setPasswordExpirationTimeout(in ComponentName who, long expiration, int userHandle);
58 long getPasswordExpirationTimeout(in ComponentName who, int userHandle);
Jim Millera4e28d12010-11-08 16:15:47 -080059
Amith Yamasani599dd7c2012-09-14 23:20:08 -070060 long getPasswordExpiration(in ComponentName who, int userHandle);
Jim Millera4e28d12010-11-08 16:15:47 -080061
Amith Yamasani599dd7c2012-09-14 23:20:08 -070062 boolean isActivePasswordSufficient(int userHandle);
63 int getCurrentFailedPasswordAttempts(int userHandle);
Jim Millerb8ec4702012-08-31 17:19:10 -070064
Amith Yamasani599dd7c2012-09-14 23:20:08 -070065 void setMaximumFailedPasswordsForWipe(in ComponentName admin, int num, int userHandle);
66 int getMaximumFailedPasswordsForWipe(in ComponentName admin, int userHandle);
Jim Millerb8ec4702012-08-31 17:19:10 -070067
Amith Yamasani599dd7c2012-09-14 23:20:08 -070068 boolean resetPassword(String password, int flags, int userHandle);
Jim Millerb8ec4702012-08-31 17:19:10 -070069
Amith Yamasani599dd7c2012-09-14 23:20:08 -070070 void setMaximumTimeToLock(in ComponentName who, long timeMs, int userHandle);
71 long getMaximumTimeToLock(in ComponentName who, int userHandle);
Jim Millerb8ec4702012-08-31 17:19:10 -070072
Dianne Hackborndf83afa2010-01-20 13:37:26 -080073 void lockNow();
Jim Millerb8ec4702012-08-31 17:19:10 -070074
Amith Yamasani599dd7c2012-09-14 23:20:08 -070075 void wipeData(int flags, int userHandle);
Oscar Montemayor69238c62010-08-03 10:51:06 -070076
Amith Yamasani599dd7c2012-09-14 23:20:08 -070077 ComponentName setGlobalProxy(in ComponentName admin, String proxySpec, String exclusionList, int userHandle);
78 ComponentName getGlobalProxyAdmin(int userHandle);
Andy Stadler7b0f8f02011-01-12 14:59:52 -080079
Amith Yamasani599dd7c2012-09-14 23:20:08 -070080 int setStorageEncryption(in ComponentName who, boolean encrypt, int userHandle);
81 boolean getStorageEncryption(in ComponentName who, int userHandle);
82 int getStorageEncryptionStatus(int userHandle);
Andy Stadler7b0f8f02011-01-12 14:59:52 -080083
Amith Yamasani599dd7c2012-09-14 23:20:08 -070084 void setCameraDisabled(in ComponentName who, boolean disabled, int userHandle);
85 boolean getCameraDisabled(in ComponentName who, int userHandle);
Ben Komalo2447edd2011-05-09 16:05:33 -070086
Jim Miller48b9b0d2012-09-19 23:16:50 -070087 void setKeyguardDisabledFeatures(in ComponentName who, int which, int userHandle);
88 int getKeyguardDisabledFeatures(in ComponentName who, int userHandle);
Jim Millerb8ec4702012-08-31 17:19:10 -070089
Amith Yamasani599dd7c2012-09-14 23:20:08 -070090 void setActiveAdmin(in ComponentName policyReceiver, boolean refreshing, int userHandle);
91 boolean isAdminActive(in ComponentName policyReceiver, int userHandle);
92 List<ComponentName> getActiveAdmins(int userHandle);
93 boolean packageHasActiveAdmins(String packageName, int userHandle);
94 void getRemoveWarning(in ComponentName policyReceiver, in RemoteCallback result, int userHandle);
95 void removeActiveAdmin(in ComponentName policyReceiver, int userHandle);
96 boolean hasGrantedPolicy(in ComponentName policyReceiver, int usesPolicy, int userHandle);
Jim Millerb8ec4702012-08-31 17:19:10 -070097
Konstantin Lopyrevc8577402010-06-04 17:15:02 -070098 void setActivePasswordState(int quality, int length, int letters, int uppercase, int lowercase,
Amith Yamasani599dd7c2012-09-14 23:20:08 -070099 int numbers, int symbols, int nonletter, int userHandle);
100 void reportFailedPasswordAttempt(int userHandle);
101 void reportSuccessfulPasswordAttempt(int userHandle);
Amith Yamasani71e6c692013-03-24 17:39:28 -0700102
Geoffrey Borggaard334c7e32013-08-08 14:31:36 -0400103 boolean setDeviceOwner(String packageName, String ownerName);
Amith Yamasani71e6c692013-03-24 17:39:28 -0700104 boolean isDeviceOwner(String packageName);
105 String getDeviceOwner();
Geoffrey Borggaard334c7e32013-08-08 14:31:36 -0400106 String getDeviceOwnerName();
Maggie Benthallda51e682013-08-08 22:35:44 -0400107
Adam Connors776c5552014-01-09 10:42:56 +0000108 boolean setProfileOwner(String packageName, String ownerName, int userHandle);
109 String getProfileOwner(int userHandle);
110 String getProfileOwnerName(int userHandle);
Alexandra Gherghina512675b2014-04-02 11:23:54 +0100111 void setProfileEnabled(in ComponentName who);
Alexandra Gherghina385124d2014-04-03 13:37:39 +0100112 boolean isProfileEnabled(int userHandle);
Adam Connors776c5552014-01-09 10:42:56 +0000113
Maggie Benthallda51e682013-08-08 22:35:44 -0400114 boolean installCaCert(in byte[] certBuffer);
115 void uninstallCaCert(in byte[] certBuffer);
Sander Alewijnsef475ca32014-02-17 15:13:58 +0000116
117 void addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity);
118 void clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName);
Robin Lee66e5d962014-04-09 16:44:21 +0100119
120 void setApplicationRestrictions(in ComponentName who, in String packageName, in Bundle settings);
121 Bundle getApplicationRestrictions(in ComponentName who, in String packageName);
Dianne Hackbornd6847842010-01-12 18:14:19 -0800122}