blob: 8be52d8d9d4f7dc321eab06d86f776ec02b173ab [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
Rubin Xud86d58c2015-05-05 16:57:37 +010020import android.app.admin.SystemUpdatePolicy;
Dianne Hackbornd6847842010-01-12 18:14:19 -080021import android.content.ComponentName;
Adam Connors010cfd42014-04-16 12:48:13 +010022import android.content.Intent;
Sander Alewijnsef475ca32014-02-17 15:13:58 +000023import android.content.IntentFilter;
Rubin Xuc3cd05f2016-01-11 12:11:35 +000024import android.content.pm.ParceledListSlice;
Julia Reynoldsfca04ca2015-02-17 13:39:12 -050025import android.graphics.Bitmap;
Jason Monk03bc9912014-05-13 09:44:57 -040026import android.net.ProxyInfo;
Robin Lee39087b12015-05-05 15:57:17 +010027import android.net.Uri;
Robin Lee66e5d962014-04-09 16:44:21 +010028import android.os.Bundle;
Jim Millere303bf42014-08-26 17:12:29 -070029import android.os.PersistableBundle;
Dianne Hackborn8ea138c2010-01-26 18:01:04 -080030import android.os.RemoteCallback;
Julia Reynolds1e958392014-05-16 14:25:21 -040031import android.os.UserHandle;
Kenny Guyfa80a4f2014-08-20 19:40:59 +010032import java.util.List;
Dianne Hackbornd6847842010-01-12 18:14:19 -080033
34/**
35 * Internal IPC interface to the device policy service.
36 * {@hide}
37 */
38interface IDevicePolicyManager {
Clara Bayarri3e826ef2015-12-14 17:51:22 +000039 void setPasswordQuality(in ComponentName who, int quality, boolean parent);
40 int getPasswordQuality(in ComponentName who, int userHandle, boolean parent);
Konstantin Lopyreva15dcfa2010-05-24 17:10:56 -070041
Esteban Talavera62399912016-01-11 15:37:55 +000042 void setPasswordMinimumLength(in ComponentName who, int length, boolean parent);
43 int getPasswordMinimumLength(in ComponentName who, int userHandle, boolean parent);
Konstantin Lopyreva15dcfa2010-05-24 17:10:56 -070044
Esteban Talavera62399912016-01-11 15:37:55 +000045 void setPasswordMinimumUpperCase(in ComponentName who, int length, boolean parent);
46 int getPasswordMinimumUpperCase(in ComponentName who, int userHandle, boolean parent);
Konstantin Lopyreva15dcfa2010-05-24 17:10:56 -070047
Esteban Talavera62399912016-01-11 15:37:55 +000048 void setPasswordMinimumLowerCase(in ComponentName who, int length, boolean parent);
49 int getPasswordMinimumLowerCase(in ComponentName who, int userHandle, boolean parent);
Konstantin Lopyreva15dcfa2010-05-24 17:10:56 -070050
Esteban Talavera62399912016-01-11 15:37:55 +000051 void setPasswordMinimumLetters(in ComponentName who, int length, boolean parent);
52 int getPasswordMinimumLetters(in ComponentName who, int userHandle, boolean parent);
Konstantin Lopyreva15dcfa2010-05-24 17:10:56 -070053
Esteban Talavera62399912016-01-11 15:37:55 +000054 void setPasswordMinimumNumeric(in ComponentName who, int length, boolean parent);
55 int getPasswordMinimumNumeric(in ComponentName who, int userHandle, boolean parent);
Konstantin Lopyreva15dcfa2010-05-24 17:10:56 -070056
Esteban Talavera62399912016-01-11 15:37:55 +000057 void setPasswordMinimumSymbols(in ComponentName who, int length, boolean parent);
58 int getPasswordMinimumSymbols(in ComponentName who, int userHandle, boolean parent);
Konstantin Lopyrevc8577402010-06-04 17:15:02 -070059
Esteban Talavera62399912016-01-11 15:37:55 +000060 void setPasswordMinimumNonLetter(in ComponentName who, int length, boolean parent);
61 int getPasswordMinimumNonLetter(in ComponentName who, int userHandle, boolean parent);
Jim Millerb8ec4702012-08-31 17:19:10 -070062
Esteban Talavera62399912016-01-11 15:37:55 +000063 void setPasswordHistoryLength(in ComponentName who, int length, boolean parent);
64 int getPasswordHistoryLength(in ComponentName who, int userHandle, boolean parent);
Konstantin Lopyrev32558232010-05-20 16:18:05 -070065
Esteban Talavera62399912016-01-11 15:37:55 +000066 void setPasswordExpirationTimeout(in ComponentName who, long expiration, boolean parent);
67 long getPasswordExpirationTimeout(in ComponentName who, int userHandle, boolean parent);
Jim Millera4e28d12010-11-08 16:15:47 -080068
Esteban Talavera62399912016-01-11 15:37:55 +000069 long getPasswordExpiration(in ComponentName who, int userHandle, boolean parent);
Jim Millera4e28d12010-11-08 16:15:47 -080070
Clara Bayarri3e826ef2015-12-14 17:51:22 +000071 boolean isActivePasswordSufficient(int userHandle, boolean parent);
Clara Bayarrid7693912016-01-22 17:26:31 +000072 boolean isProfileActivePasswordSufficientForParent(int userHandle);
Esteban Talavera62399912016-01-11 15:37:55 +000073 int getCurrentFailedPasswordAttempts(int userHandle, boolean parent);
74 int getProfileWithMinimumFailedPasswordsForWipe(int userHandle, boolean parent);
Jim Millerb8ec4702012-08-31 17:19:10 -070075
Esteban Talavera62399912016-01-11 15:37:55 +000076 void setMaximumFailedPasswordsForWipe(in ComponentName admin, int num, boolean parent);
77 int getMaximumFailedPasswordsForWipe(in ComponentName admin, int userHandle, boolean parent);
Jim Millerb8ec4702012-08-31 17:19:10 -070078
Fyodor Kupolovbdc58c62015-01-29 13:24:03 -080079 boolean resetPassword(String password, int flags);
Jim Millerb8ec4702012-08-31 17:19:10 -070080
Esteban Talavera62399912016-01-11 15:37:55 +000081 void setMaximumTimeToLock(in ComponentName who, long timeMs, boolean parent);
82 long getMaximumTimeToLock(in ComponentName who, int userHandle, boolean parent);
Jim Millerb8ec4702012-08-31 17:19:10 -070083
Esteban Talavera62399912016-01-11 15:37:55 +000084 void lockNow(boolean parent);
Jim Millerb8ec4702012-08-31 17:19:10 -070085
Makoto Onuki70f929e2015-11-11 12:40:15 -080086 void wipeData(int flags);
Oscar Montemayor69238c62010-08-03 10:51:06 -070087
Fyodor Kupolovbdc58c62015-01-29 13:24:03 -080088 ComponentName setGlobalProxy(in ComponentName admin, String proxySpec, String exclusionList);
Amith Yamasani599dd7c2012-09-14 23:20:08 -070089 ComponentName getGlobalProxyAdmin(int userHandle);
Jason Monk03bc9912014-05-13 09:44:57 -040090 void setRecommendedGlobalProxy(in ComponentName admin, in ProxyInfo proxyInfo);
Andy Stadler7b0f8f02011-01-12 14:59:52 -080091
Fyodor Kupolovbdc58c62015-01-29 13:24:03 -080092 int setStorageEncryption(in ComponentName who, boolean encrypt);
Amith Yamasani599dd7c2012-09-14 23:20:08 -070093 boolean getStorageEncryption(in ComponentName who, int userHandle);
Makoto Onukid4c9e542016-02-25 18:17:30 -080094 int getStorageEncryptionStatus(in String callerPackage, int userHandle);
Andy Stadler7b0f8f02011-01-12 14:59:52 -080095
Michal Karpinski3fc437e2015-12-15 10:09:00 +000096 boolean requestBugreport(in ComponentName who);
97
Fyodor Kupolovbdc58c62015-01-29 13:24:03 -080098 void setCameraDisabled(in ComponentName who, boolean disabled);
Amith Yamasani599dd7c2012-09-14 23:20:08 -070099 boolean getCameraDisabled(in ComponentName who, int userHandle);
Ben Komalo2447edd2011-05-09 16:05:33 -0700100
Fyodor Kupolovbdc58c62015-01-29 13:24:03 -0800101 void setScreenCaptureDisabled(in ComponentName who, boolean disabled);
Sander Alewijnsed2a1eec2014-07-09 12:57:05 +0100102 boolean getScreenCaptureDisabled(in ComponentName who, int userHandle);
103
Esteban Talavera62399912016-01-11 15:37:55 +0000104 void setKeyguardDisabledFeatures(in ComponentName who, int which, boolean parent);
105 int getKeyguardDisabledFeatures(in ComponentName who, int userHandle, boolean parent);
Jim Millerb8ec4702012-08-31 17:19:10 -0700106
Amith Yamasani599dd7c2012-09-14 23:20:08 -0700107 void setActiveAdmin(in ComponentName policyReceiver, boolean refreshing, int userHandle);
108 boolean isAdminActive(in ComponentName policyReceiver, int userHandle);
109 List<ComponentName> getActiveAdmins(int userHandle);
110 boolean packageHasActiveAdmins(String packageName, int userHandle);
111 void getRemoveWarning(in ComponentName policyReceiver, in RemoteCallback result, int userHandle);
112 void removeActiveAdmin(in ComponentName policyReceiver, int userHandle);
113 boolean hasGrantedPolicy(in ComponentName policyReceiver, int usesPolicy, int userHandle);
Jim Millerb8ec4702012-08-31 17:19:10 -0700114
Konstantin Lopyrevc8577402010-06-04 17:15:02 -0700115 void setActivePasswordState(int quality, int length, int letters, int uppercase, int lowercase,
Amith Yamasani599dd7c2012-09-14 23:20:08 -0700116 int numbers, int symbols, int nonletter, int userHandle);
117 void reportFailedPasswordAttempt(int userHandle);
118 void reportSuccessfulPasswordAttempt(int userHandle);
Michal Karpinskied5c8f02016-02-09 15:43:41 +0000119 void reportFailedFingerprintAttempt(int userHandle);
120 void reportSuccessfulFingerprintAttempt(int userHandle);
121 void reportKeyguardDismissed(int userHandle);
122 void reportKeyguardSecured(int userHandle);
Michal Karpinski31502d32016-01-25 16:43:07 +0000123
Makoto Onukia52562c2015-10-01 16:12:31 -0700124 boolean setDeviceOwner(in ComponentName who, String ownerName, int userId);
Makoto Onukic8a5a552015-11-19 14:29:12 -0800125 ComponentName getDeviceOwnerComponent(boolean callingUserOnly);
Geoffrey Borggaard334c7e32013-08-08 14:31:36 -0400126 String getDeviceOwnerName();
Jason Monkb0dced82014-06-06 14:36:20 -0400127 void clearDeviceOwner(String packageName);
Makoto Onukic8a5a552015-11-19 14:29:12 -0800128 int getDeviceOwnerUserId();
Maggie Benthallda51e682013-08-08 22:35:44 -0400129
Amith Yamasanibf3a9462014-07-28 14:26:42 -0700130 boolean setProfileOwner(in ComponentName who, String ownerName, int userHandle);
131 ComponentName getProfileOwner(int userHandle);
Adam Connors776c5552014-01-09 10:42:56 +0000132 String getProfileOwnerName(int userHandle);
Alexandra Gherghina512675b2014-04-02 11:23:54 +0100133 void setProfileEnabled(in ComponentName who);
Jessica Hummel1333ea12014-06-23 11:20:10 +0100134 void setProfileName(in ComponentName who, String profileName);
Amith Yamasanibf3a9462014-07-28 14:26:42 -0700135 void clearProfileOwner(in ComponentName who);
136 boolean hasUserSetupCompleted();
Adam Connors776c5552014-01-09 10:42:56 +0000137
Andrei Stingaceanu16187902016-03-21 15:44:45 +0000138 void setDeviceOwnerLockScreenInfo(in ComponentName who, CharSequence deviceOwnerInfo);
139 CharSequence getDeviceOwnerLockScreenInfo();
Andrei Stingaceanu6644cd92015-11-10 13:03:31 +0000140
Andrei Stingaceanueb84b182016-01-26 18:39:55 +0000141 String[] setPackagesSuspended(in ComponentName admin, in String[] packageNames, boolean suspended);
Andrei Stingaceanu1e283912015-11-26 15:26:28 +0000142 boolean getPackageSuspended(in ComponentName admin, String packageName);
143
Robin Lee306fe082014-06-19 14:04:24 +0000144 boolean installCaCert(in ComponentName admin, in byte[] certBuffer);
Robin Lee83881bd2015-06-09 16:04:38 -0700145 void uninstallCaCerts(in ComponentName admin, in String[] aliases);
Esteban Talavera808f6ef2014-08-28 17:15:54 +0100146 void enforceCanManageCaCerts(in ComponentName admin);
Sander Alewijnsef475ca32014-02-17 15:13:58 +0000147
Robin Leece3399f2016-02-24 12:08:32 +0000148 boolean installKeyPair(in ComponentName who, in byte[] privKeyBuffer, in byte[] certBuffer,
Rubin Xub4365912016-03-23 12:13:22 +0000149 in byte[] certChainBuffer, String alias, boolean requestAccess);
Robin Leefbc65642015-08-03 16:21:22 +0100150 boolean removeKeyPair(in ComponentName who, String alias);
Robin Lee39087b12015-05-05 15:57:17 +0100151 void choosePrivateKeyAlias(int uid, in Uri uri, in String alias, IBinder aliasCallback);
Bernhard Bauer26408cc2014-09-08 14:07:31 +0100152
Rubin Xuec32b562015-03-03 17:34:05 +0000153 void setCertInstallerPackage(in ComponentName who, String installerPackage);
154 String getCertInstallerPackage(in ComponentName who);
155
Robin Lee244ce8e2016-01-05 18:03:46 +0000156 boolean setAlwaysOnVpnPackage(in ComponentName who, String vpnPackage);
157 String getAlwaysOnVpnPackage(in ComponentName who);
158
Sander Alewijnsef475ca32014-02-17 15:13:58 +0000159 void addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity);
160 void clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName);
Robin Lee66e5d962014-04-09 16:44:21 +0100161
162 void setApplicationRestrictions(in ComponentName who, in String packageName, in Bundle settings);
163 Bundle getApplicationRestrictions(in ComponentName who, in String packageName);
Victor Changcd14c0a2016-03-16 19:10:15 +0000164 boolean setApplicationRestrictionsManagingPackage(in ComponentName admin, in String packageName);
Esteban Talaverabf60f722015-12-10 16:26:44 +0000165 String getApplicationRestrictionsManagingPackage(in ComponentName admin);
166 boolean isCallerApplicationRestrictionsManagingPackage();
Amith Yamasanibe465322014-04-24 13:45:17 -0700167
Amith Yamasanif20d6402014-05-24 15:34:37 -0700168 void setRestrictionsProvider(in ComponentName who, in ComponentName provider);
169 ComponentName getRestrictionsProvider(int userHandle);
170
Amith Yamasanibe465322014-04-24 13:45:17 -0700171 void setUserRestriction(in ComponentName who, in String key, boolean enable);
Sudheer Shanka1c277a52015-11-11 21:58:24 +0000172 Bundle getUserRestrictions(in ComponentName who, int userId);
Nicolas Prevot81948992014-05-16 18:25:26 +0100173 void addCrossProfileIntentFilter(in ComponentName admin, in IntentFilter filter, int flags);
174 void clearCrossProfileIntentFilters(in ComponentName admin);
Adam Connors010cfd42014-04-16 12:48:13 +0100175
Kenny Guyfa80a4f2014-08-20 19:40:59 +0100176 boolean setPermittedAccessibilityServices(in ComponentName admin,in List packageList);
177 List getPermittedAccessibilityServices(in ComponentName admin);
178 List getPermittedAccessibilityServicesForUser(int userId);
Sudheer Shanka56925862016-01-28 19:43:59 +0000179 boolean isAccessibilityServicePermittedByAdmin(in ComponentName admin, String packageName, int userId);
Kenny Guyfa80a4f2014-08-20 19:40:59 +0100180
181 boolean setPermittedInputMethods(in ComponentName admin,in List packageList);
182 List getPermittedInputMethods(in ComponentName admin);
183 List getPermittedInputMethodsForCurrentUser();
Sudheer Shanka56925862016-01-28 19:43:59 +0000184 boolean isInputMethodPermittedByAdmin(in ComponentName admin, String packageName, int userId);
Kenny Guyfa80a4f2014-08-20 19:40:59 +0100185
Amith Yamasanie5bcff62014-07-19 15:44:09 -0700186 boolean setApplicationHidden(in ComponentName admin, in String packageName, boolean hidden);
Amith Yamasanie5bcff62014-07-19 15:44:09 -0700187 boolean isApplicationHidden(in ComponentName admin, in String packageName);
Julia Reynolds966881e2014-05-14 12:23:08 -0400188
phweissa92e1212016-01-25 17:14:10 +0100189 UserHandle createAndManageUser(in ComponentName who, in String name, in ComponentName profileOwner, in PersistableBundle adminExtras, in int flags);
Julia Reynolds1e958392014-05-16 14:25:21 -0400190 boolean removeUser(in ComponentName who, in UserHandle userHandle);
Jason Monk582d9112014-07-09 19:57:08 -0400191 boolean switchUser(in ComponentName who, in UserHandle userHandle);
Julia Reynolds1e958392014-05-16 14:25:21 -0400192
Adam Connors655be2a2014-07-14 09:01:25 +0000193 void enableSystemApp(in ComponentName admin, in String packageName);
194 int enableSystemAppWithIntent(in ComponentName admin, in Intent intent);
195
Sander Alewijnse5c02db62014-05-07 10:46:57 +0100196 void setAccountManagementDisabled(in ComponentName who, in String accountType, in boolean disabled);
197 String[] getAccountTypesWithManagementDisabled();
Alexandra Gherghina999d3942014-07-03 11:40:08 +0100198 String[] getAccountTypesWithManagementDisabledAsUser(int userId);
justinzhang511e0d82014-03-24 16:09:24 -0400199
Jason Monk48aacba2014-08-13 16:29:08 -0400200 void setLockTaskPackages(in ComponentName who, in String[] packages);
201 String[] getLockTaskPackages(in ComponentName who);
Jason Monkd7b86212014-06-16 13:15:38 -0400202 boolean isLockTaskPermitted(in String pkg);
Julia Reynoldsda551652014-05-14 17:15:16 -0400203
204 void setGlobalSetting(in ComponentName who, in String setting, in String value);
205 void setSecureSetting(in ComponentName who, in String setting, in String value);
Julia Reynolds4a21b252014-06-04 11:11:43 -0400206
207 void setMasterVolumeMuted(in ComponentName admin, boolean on);
208 boolean isMasterVolumeMuted(in ComponentName admin);
Jason Monk35c62a42014-06-17 10:24:47 -0400209
210 void notifyLockTaskModeChanged(boolean isEnabled, String pkg, int userId);
Kenny Guyc13053b2014-05-29 14:17:17 +0100211
Esteban Talaverad5c5c132014-08-20 11:35:57 +0100212 void setUninstallBlocked(in ComponentName admin, in String packageName, boolean uninstallBlocked);
Esteban Talavera729b2a62014-08-27 18:01:58 +0100213 boolean isUninstallBlocked(in ComponentName admin, in String packageName);
Adam Connors210fe212014-07-17 15:41:43 +0100214
215 void setCrossProfileCallerIdDisabled(in ComponentName who, boolean disabled);
216 boolean getCrossProfileCallerIdDisabled(in ComponentName who);
217 boolean getCrossProfileCallerIdDisabledForUser(int userId);
Victor Chang1060c6182016-01-04 20:16:23 +0000218 void setCrossProfileContactsSearchDisabled(in ComponentName who, boolean disabled);
219 boolean getCrossProfileContactsSearchDisabled(in ComponentName who);
220 boolean getCrossProfileContactsSearchDisabledForUser(int userId);
Victor Chang97bdacc2016-01-21 22:24:11 +0000221 void startManagedQuickContact(String lookupKey, long contactId, boolean isContactIdIgnored, long directoryId, in Intent originalIntent);
Jim Miller604e7552014-07-18 19:00:02 -0700222
Ricky Wai778ba132015-03-31 14:21:22 +0100223 void setBluetoothContactSharingDisabled(in ComponentName who, boolean disabled);
224 boolean getBluetoothContactSharingDisabled(in ComponentName who);
225 boolean getBluetoothContactSharingDisabledForUser(int userId);
226
Jim Millere303bf42014-08-26 17:12:29 -0700227 void setTrustAgentConfiguration(in ComponentName admin, in ComponentName agent,
Fyodor Kupolovbdc58c62015-01-29 13:24:03 -0800228 in PersistableBundle args);
Jim Millere303bf42014-08-26 17:12:29 -0700229 List<PersistableBundle> getTrustAgentConfiguration(in ComponentName admin,
230 in ComponentName agent, int userId);
Jim Miller604e7552014-07-18 19:00:02 -0700231
Svetoslav976e8bd2014-07-16 15:12:03 -0700232 boolean addCrossProfileWidgetProvider(in ComponentName admin, String packageName);
233 boolean removeCrossProfileWidgetProvider(in ComponentName admin, String packageName);
234 List<String> getCrossProfileWidgetProviders(in ComponentName admin);
Sander Alewijnse0ced6272014-08-26 11:18:26 +0100235
Fyodor Kupolovbdc58c62015-01-29 13:24:03 -0800236 void setAutoTimeRequired(in ComponentName who, boolean required);
Sander Alewijnse0ced6272014-08-26 11:18:26 +0100237 boolean getAutoTimeRequired();
Fyodor Kupolov96fb9322014-12-01 15:08:09 -0800238
Lenka Trochtovaf348e8e2016-01-07 17:20:34 +0100239 void setForceEphemeralUsers(in ComponentName who, boolean forceEpehemeralUsers);
240 boolean getForceEphemeralUsers(in ComponentName who);
241
Fyodor Kupolov96fb9322014-12-01 15:08:09 -0800242 boolean isRemovingAdmin(in ComponentName adminReceiver, int userHandle);
Julia Reynolds20118f12015-02-11 12:34:08 -0500243
Julia Reynoldsfca04ca2015-02-17 13:39:12 -0500244 void setUserIcon(in ComponentName admin, in Bitmap icon);
Craig Lafayettedbe31a62015-04-02 13:14:39 -0400245
Rubin Xud86d58c2015-05-05 16:57:37 +0100246 void setSystemUpdatePolicy(in ComponentName who, in SystemUpdatePolicy policy);
247 SystemUpdatePolicy getSystemUpdatePolicy();
Benjamin Franze36087e2015-04-07 16:40:34 +0100248
Benjamin Franzbece8062015-05-06 12:14:31 +0100249 boolean setKeyguardDisabled(in ComponentName admin, boolean disabled);
250 boolean setStatusBarDisabled(in ComponentName who, boolean disabled);
Andrei Kapishnikov4eb6a362015-04-02 15:21:20 -0400251 boolean getDoNotAskCredentialsOnBoot();
Rubin Xudc105cc2015-04-14 23:38:01 +0100252
253 void notifyPendingSystemUpdate(in long updateReceivedTime);
Amith Yamasanid49489b2015-04-28 14:00:26 -0700254
255 void setPermissionPolicy(in ComponentName admin, int policy);
256 int getPermissionPolicy(in ComponentName admin);
Svet Ganovd8ecc5a2015-05-20 10:45:43 -0700257 boolean setPermissionGrantState(in ComponentName admin, String packageName,
258 String permission, int grantState);
Amith Yamasani184b3752015-05-22 13:00:51 -0700259 int getPermissionGrantState(in ComponentName admin, String packageName, String permission);
Nicolas Prevot07387fe2015-10-30 17:53:30 +0000260 boolean isProvisioningAllowed(String action);
Fyodor Kupolovcb6fd802015-11-05 14:27:06 -0800261 void setKeepUninstalledPackages(in ComponentName admin,in List<String> packageList);
262 List<String> getKeepUninstalledPackages(in ComponentName admin);
Mahaver Chopra15a46b02015-11-11 14:54:35 +0000263 boolean isManagedProfile(in ComponentName admin);
264 boolean isSystemOnlyUser(in ComponentName admin);
Sudheer Shanka3cb4da12016-03-07 18:51:49 -0800265 String getWifiMacAddress(in ComponentName admin);
Mahaver Chopra1ce53bc2015-12-14 13:35:14 +0000266 void reboot(in ComponentName admin);
Kenny Guy06de4e72015-12-22 12:07:39 +0000267
268 void setShortSupportMessage(in ComponentName admin, in String message);
269 String getShortSupportMessage(in ComponentName admin);
270 void setLongSupportMessage(in ComponentName admin, in String message);
271 String getLongSupportMessage(in ComponentName admin);
272
273 String getShortSupportMessageForUser(in ComponentName admin, int userHandle);
274 String getLongSupportMessageForUser(in ComponentName admin, int userHandle);
Clara Bayarria1771112015-12-18 16:29:18 +0000275
276 boolean isSeparateProfileChallengeAllowed(int userHandle);
Benjamin Franz59720bb2016-01-18 15:26:11 +0000277
278 void setOrganizationColor(in ComponentName admin, in int color);
Nicolas Prevot8f7698a2016-02-11 16:05:33 +0000279 void setOrganizationColorForUser(in int color, in int userId);
Benjamin Franz59720bb2016-01-18 15:26:11 +0000280 int getOrganizationColor(in ComponentName admin);
281 int getOrganizationColorForUser(int userHandle);
Bartosz Fabianowski4c052f22016-01-25 14:18:43 +0100282
Benjamin Franz3e8a7092016-01-25 16:19:08 +0000283 void setOrganizationName(in ComponentName admin, in String title);
284 String getOrganizationName(in ComponentName admin);
285 String getOrganizationNameForUser(int userHandle);
286
Alan Treadwayafad8782016-01-19 15:15:08 +0000287 int getUserProvisioningState();
288 void setUserProvisioningState(int state, int userHandle);
289
Bartosz Fabianowski4c052f22016-01-25 14:18:43 +0100290 void setAffiliationIds(in ComponentName admin, in List<String> ids);
291 boolean isAffiliatedUser();
Rubin Xuc3cd05f2016-01-11 12:11:35 +0000292
Michal Karpinski6235a942016-03-15 12:07:23 +0000293 void setSecurityLoggingEnabled(in ComponentName admin, boolean enabled);
294 boolean isSecurityLoggingEnabled(in ComponentName admin);
295 ParceledListSlice retrieveSecurityLogs(in ComponentName admin);
296 ParceledListSlice retrievePreRebootSecurityLogs(in ComponentName admin);
Suprabh Shuklaa2ae2232016-01-28 18:05:14 -0800297
298 boolean isUninstallInQueue(String packageName);
299 void uninstallPackageWithActiveAdmins(String packageName);
Dianne Hackbornd6847842010-01-12 18:14:19 -0800300}