Dianne Hackborn | d684784 | 2010-01-12 18:14:19 -0800 | [diff] [blame] | 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 | |
Dianne Hackborn | 87bba1e | 2010-02-26 17:25:54 -0800 | [diff] [blame] | 18 | package android.app.admin; |
Dianne Hackborn | d684784 | 2010-01-12 18:14:19 -0800 | [diff] [blame] | 19 | |
Rubin Xu | d86d58c | 2015-05-05 16:57:37 +0100 | [diff] [blame] | 20 | import android.app.admin.SystemUpdatePolicy; |
Dianne Hackborn | d684784 | 2010-01-12 18:14:19 -0800 | [diff] [blame] | 21 | import android.content.ComponentName; |
Adam Connors | 010cfd4 | 2014-04-16 12:48:13 +0100 | [diff] [blame] | 22 | import android.content.Intent; |
Sander Alewijnse | f475ca3 | 2014-02-17 15:13:58 +0000 | [diff] [blame] | 23 | import android.content.IntentFilter; |
Rubin Xu | c3cd05f | 2016-01-11 12:11:35 +0000 | [diff] [blame] | 24 | import android.content.pm.ParceledListSlice; |
Julia Reynolds | fca04ca | 2015-02-17 13:39:12 -0500 | [diff] [blame] | 25 | import android.graphics.Bitmap; |
Jason Monk | 03bc991 | 2014-05-13 09:44:57 -0400 | [diff] [blame] | 26 | import android.net.ProxyInfo; |
Robin Lee | 39087b1 | 2015-05-05 15:57:17 +0100 | [diff] [blame] | 27 | import android.net.Uri; |
Robin Lee | 66e5d96 | 2014-04-09 16:44:21 +0100 | [diff] [blame] | 28 | import android.os.Bundle; |
Jim Miller | e303bf4 | 2014-08-26 17:12:29 -0700 | [diff] [blame] | 29 | import android.os.PersistableBundle; |
Dianne Hackborn | 8ea138c | 2010-01-26 18:01:04 -0800 | [diff] [blame] | 30 | import android.os.RemoteCallback; |
Julia Reynolds | 1e95839 | 2014-05-16 14:25:21 -0400 | [diff] [blame] | 31 | import android.os.UserHandle; |
Kenny Guy | fa80a4f | 2014-08-20 19:40:59 +0100 | [diff] [blame] | 32 | import java.util.List; |
Dianne Hackborn | d684784 | 2010-01-12 18:14:19 -0800 | [diff] [blame] | 33 | |
| 34 | /** |
| 35 | * Internal IPC interface to the device policy service. |
| 36 | * {@hide} |
| 37 | */ |
| 38 | interface IDevicePolicyManager { |
Clara Bayarri | 3e826ef | 2015-12-14 17:51:22 +0000 | [diff] [blame] | 39 | void setPasswordQuality(in ComponentName who, int quality, boolean parent); |
| 40 | int getPasswordQuality(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | a15dcfa | 2010-05-24 17:10:56 -0700 | [diff] [blame] | 41 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 42 | void setPasswordMinimumLength(in ComponentName who, int length, boolean parent); |
| 43 | int getPasswordMinimumLength(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | a15dcfa | 2010-05-24 17:10:56 -0700 | [diff] [blame] | 44 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 45 | void setPasswordMinimumUpperCase(in ComponentName who, int length, boolean parent); |
| 46 | int getPasswordMinimumUpperCase(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | a15dcfa | 2010-05-24 17:10:56 -0700 | [diff] [blame] | 47 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 48 | void setPasswordMinimumLowerCase(in ComponentName who, int length, boolean parent); |
| 49 | int getPasswordMinimumLowerCase(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | a15dcfa | 2010-05-24 17:10:56 -0700 | [diff] [blame] | 50 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 51 | void setPasswordMinimumLetters(in ComponentName who, int length, boolean parent); |
| 52 | int getPasswordMinimumLetters(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | a15dcfa | 2010-05-24 17:10:56 -0700 | [diff] [blame] | 53 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 54 | void setPasswordMinimumNumeric(in ComponentName who, int length, boolean parent); |
| 55 | int getPasswordMinimumNumeric(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | a15dcfa | 2010-05-24 17:10:56 -0700 | [diff] [blame] | 56 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 57 | void setPasswordMinimumSymbols(in ComponentName who, int length, boolean parent); |
| 58 | int getPasswordMinimumSymbols(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | c857740 | 2010-06-04 17:15:02 -0700 | [diff] [blame] | 59 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 60 | void setPasswordMinimumNonLetter(in ComponentName who, int length, boolean parent); |
| 61 | int getPasswordMinimumNonLetter(in ComponentName who, int userHandle, boolean parent); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 62 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 63 | void setPasswordHistoryLength(in ComponentName who, int length, boolean parent); |
| 64 | int getPasswordHistoryLength(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | 3255823 | 2010-05-20 16:18:05 -0700 | [diff] [blame] | 65 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 66 | void setPasswordExpirationTimeout(in ComponentName who, long expiration, boolean parent); |
| 67 | long getPasswordExpirationTimeout(in ComponentName who, int userHandle, boolean parent); |
Jim Miller | a4e28d1 | 2010-11-08 16:15:47 -0800 | [diff] [blame] | 68 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 69 | long getPasswordExpiration(in ComponentName who, int userHandle, boolean parent); |
Jim Miller | a4e28d1 | 2010-11-08 16:15:47 -0800 | [diff] [blame] | 70 | |
Clara Bayarri | 3e826ef | 2015-12-14 17:51:22 +0000 | [diff] [blame] | 71 | boolean isActivePasswordSufficient(int userHandle, boolean parent); |
Clara Bayarri | d769391 | 2016-01-22 17:26:31 +0000 | [diff] [blame] | 72 | boolean isProfileActivePasswordSufficientForParent(int userHandle); |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 73 | int getCurrentFailedPasswordAttempts(int userHandle, boolean parent); |
| 74 | int getProfileWithMinimumFailedPasswordsForWipe(int userHandle, boolean parent); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 75 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 76 | void setMaximumFailedPasswordsForWipe(in ComponentName admin, int num, boolean parent); |
| 77 | int getMaximumFailedPasswordsForWipe(in ComponentName admin, int userHandle, boolean parent); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 78 | |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 79 | boolean resetPassword(String password, int flags); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 80 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 81 | void setMaximumTimeToLock(in ComponentName who, long timeMs, boolean parent); |
| 82 | long getMaximumTimeToLock(in ComponentName who, int userHandle, boolean parent); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 83 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 84 | void lockNow(boolean parent); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 85 | |
Makoto Onuki | 70f929e | 2015-11-11 12:40:15 -0800 | [diff] [blame] | 86 | void wipeData(int flags); |
Oscar Montemayor | 69238c6 | 2010-08-03 10:51:06 -0700 | [diff] [blame] | 87 | |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 88 | ComponentName setGlobalProxy(in ComponentName admin, String proxySpec, String exclusionList); |
Amith Yamasani | 599dd7c | 2012-09-14 23:20:08 -0700 | [diff] [blame] | 89 | ComponentName getGlobalProxyAdmin(int userHandle); |
Jason Monk | 03bc991 | 2014-05-13 09:44:57 -0400 | [diff] [blame] | 90 | void setRecommendedGlobalProxy(in ComponentName admin, in ProxyInfo proxyInfo); |
Andy Stadler | 7b0f8f0 | 2011-01-12 14:59:52 -0800 | [diff] [blame] | 91 | |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 92 | int setStorageEncryption(in ComponentName who, boolean encrypt); |
Amith Yamasani | 599dd7c | 2012-09-14 23:20:08 -0700 | [diff] [blame] | 93 | boolean getStorageEncryption(in ComponentName who, int userHandle); |
Makoto Onuki | d4c9e54 | 2016-02-25 18:17:30 -0800 | [diff] [blame] | 94 | int getStorageEncryptionStatus(in String callerPackage, int userHandle); |
Andy Stadler | 7b0f8f0 | 2011-01-12 14:59:52 -0800 | [diff] [blame] | 95 | |
Michal Karpinski | 3fc437e | 2015-12-15 10:09:00 +0000 | [diff] [blame] | 96 | boolean requestBugreport(in ComponentName who); |
| 97 | |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 98 | void setCameraDisabled(in ComponentName who, boolean disabled); |
Amith Yamasani | 599dd7c | 2012-09-14 23:20:08 -0700 | [diff] [blame] | 99 | boolean getCameraDisabled(in ComponentName who, int userHandle); |
Ben Komalo | 2447edd | 2011-05-09 16:05:33 -0700 | [diff] [blame] | 100 | |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 101 | void setScreenCaptureDisabled(in ComponentName who, boolean disabled); |
Sander Alewijnse | d2a1eec | 2014-07-09 12:57:05 +0100 | [diff] [blame] | 102 | boolean getScreenCaptureDisabled(in ComponentName who, int userHandle); |
| 103 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 104 | void setKeyguardDisabledFeatures(in ComponentName who, int which, boolean parent); |
| 105 | int getKeyguardDisabledFeatures(in ComponentName who, int userHandle, boolean parent); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 106 | |
Amith Yamasani | 599dd7c | 2012-09-14 23:20:08 -0700 | [diff] [blame] | 107 | 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 Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 114 | |
Konstantin Lopyrev | c857740 | 2010-06-04 17:15:02 -0700 | [diff] [blame] | 115 | void setActivePasswordState(int quality, int length, int letters, int uppercase, int lowercase, |
Amith Yamasani | 599dd7c | 2012-09-14 23:20:08 -0700 | [diff] [blame] | 116 | int numbers, int symbols, int nonletter, int userHandle); |
| 117 | void reportFailedPasswordAttempt(int userHandle); |
| 118 | void reportSuccessfulPasswordAttempt(int userHandle); |
Michal Karpinski | ed5c8f0 | 2016-02-09 15:43:41 +0000 | [diff] [blame] | 119 | void reportFailedFingerprintAttempt(int userHandle); |
| 120 | void reportSuccessfulFingerprintAttempt(int userHandle); |
| 121 | void reportKeyguardDismissed(int userHandle); |
| 122 | void reportKeyguardSecured(int userHandle); |
Michal Karpinski | 31502d3 | 2016-01-25 16:43:07 +0000 | [diff] [blame] | 123 | |
Makoto Onuki | a52562c | 2015-10-01 16:12:31 -0700 | [diff] [blame] | 124 | boolean setDeviceOwner(in ComponentName who, String ownerName, int userId); |
Makoto Onuki | c8a5a55 | 2015-11-19 14:29:12 -0800 | [diff] [blame] | 125 | ComponentName getDeviceOwnerComponent(boolean callingUserOnly); |
Geoffrey Borggaard | 334c7e3 | 2013-08-08 14:31:36 -0400 | [diff] [blame] | 126 | String getDeviceOwnerName(); |
Jason Monk | b0dced8 | 2014-06-06 14:36:20 -0400 | [diff] [blame] | 127 | void clearDeviceOwner(String packageName); |
Makoto Onuki | c8a5a55 | 2015-11-19 14:29:12 -0800 | [diff] [blame] | 128 | int getDeviceOwnerUserId(); |
Maggie Benthall | da51e68 | 2013-08-08 22:35:44 -0400 | [diff] [blame] | 129 | |
Amith Yamasani | bf3a946 | 2014-07-28 14:26:42 -0700 | [diff] [blame] | 130 | boolean setProfileOwner(in ComponentName who, String ownerName, int userHandle); |
| 131 | ComponentName getProfileOwner(int userHandle); |
Adam Connors | 776c555 | 2014-01-09 10:42:56 +0000 | [diff] [blame] | 132 | String getProfileOwnerName(int userHandle); |
Alexandra Gherghina | 512675b | 2014-04-02 11:23:54 +0100 | [diff] [blame] | 133 | void setProfileEnabled(in ComponentName who); |
Jessica Hummel | 1333ea1 | 2014-06-23 11:20:10 +0100 | [diff] [blame] | 134 | void setProfileName(in ComponentName who, String profileName); |
Amith Yamasani | bf3a946 | 2014-07-28 14:26:42 -0700 | [diff] [blame] | 135 | void clearProfileOwner(in ComponentName who); |
| 136 | boolean hasUserSetupCompleted(); |
Adam Connors | 776c555 | 2014-01-09 10:42:56 +0000 | [diff] [blame] | 137 | |
Andrei Stingaceanu | 1618790 | 2016-03-21 15:44:45 +0000 | [diff] [blame] | 138 | void setDeviceOwnerLockScreenInfo(in ComponentName who, CharSequence deviceOwnerInfo); |
| 139 | CharSequence getDeviceOwnerLockScreenInfo(); |
Andrei Stingaceanu | 6644cd9 | 2015-11-10 13:03:31 +0000 | [diff] [blame] | 140 | |
Andrei Stingaceanu | eb84b18 | 2016-01-26 18:39:55 +0000 | [diff] [blame] | 141 | String[] setPackagesSuspended(in ComponentName admin, in String[] packageNames, boolean suspended); |
Andrei Stingaceanu | 1e28391 | 2015-11-26 15:26:28 +0000 | [diff] [blame] | 142 | boolean getPackageSuspended(in ComponentName admin, String packageName); |
| 143 | |
Robin Lee | 306fe08 | 2014-06-19 14:04:24 +0000 | [diff] [blame] | 144 | boolean installCaCert(in ComponentName admin, in byte[] certBuffer); |
Robin Lee | 83881bd | 2015-06-09 16:04:38 -0700 | [diff] [blame] | 145 | void uninstallCaCerts(in ComponentName admin, in String[] aliases); |
Esteban Talavera | 808f6ef | 2014-08-28 17:15:54 +0100 | [diff] [blame] | 146 | void enforceCanManageCaCerts(in ComponentName admin); |
Sander Alewijnse | f475ca3 | 2014-02-17 15:13:58 +0000 | [diff] [blame] | 147 | |
Robin Lee | ce3399f | 2016-02-24 12:08:32 +0000 | [diff] [blame] | 148 | boolean installKeyPair(in ComponentName who, in byte[] privKeyBuffer, in byte[] certBuffer, |
Rubin Xu | b436591 | 2016-03-23 12:13:22 +0000 | [diff] [blame] | 149 | in byte[] certChainBuffer, String alias, boolean requestAccess); |
Robin Lee | fbc6564 | 2015-08-03 16:21:22 +0100 | [diff] [blame] | 150 | boolean removeKeyPair(in ComponentName who, String alias); |
Robin Lee | 39087b1 | 2015-05-05 15:57:17 +0100 | [diff] [blame] | 151 | void choosePrivateKeyAlias(int uid, in Uri uri, in String alias, IBinder aliasCallback); |
Bernhard Bauer | 26408cc | 2014-09-08 14:07:31 +0100 | [diff] [blame] | 152 | |
Rubin Xu | ec32b56 | 2015-03-03 17:34:05 +0000 | [diff] [blame] | 153 | void setCertInstallerPackage(in ComponentName who, String installerPackage); |
| 154 | String getCertInstallerPackage(in ComponentName who); |
| 155 | |
Robin Lee | 244ce8e | 2016-01-05 18:03:46 +0000 | [diff] [blame] | 156 | boolean setAlwaysOnVpnPackage(in ComponentName who, String vpnPackage); |
| 157 | String getAlwaysOnVpnPackage(in ComponentName who); |
| 158 | |
Sander Alewijnse | f475ca3 | 2014-02-17 15:13:58 +0000 | [diff] [blame] | 159 | void addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity); |
| 160 | void clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName); |
Robin Lee | 66e5d96 | 2014-04-09 16:44:21 +0100 | [diff] [blame] | 161 | |
| 162 | void setApplicationRestrictions(in ComponentName who, in String packageName, in Bundle settings); |
| 163 | Bundle getApplicationRestrictions(in ComponentName who, in String packageName); |
Victor Chang | cd14c0a | 2016-03-16 19:10:15 +0000 | [diff] [blame] | 164 | boolean setApplicationRestrictionsManagingPackage(in ComponentName admin, in String packageName); |
Esteban Talavera | bf60f72 | 2015-12-10 16:26:44 +0000 | [diff] [blame] | 165 | String getApplicationRestrictionsManagingPackage(in ComponentName admin); |
| 166 | boolean isCallerApplicationRestrictionsManagingPackage(); |
Amith Yamasani | be46532 | 2014-04-24 13:45:17 -0700 | [diff] [blame] | 167 | |
Amith Yamasani | f20d640 | 2014-05-24 15:34:37 -0700 | [diff] [blame] | 168 | void setRestrictionsProvider(in ComponentName who, in ComponentName provider); |
| 169 | ComponentName getRestrictionsProvider(int userHandle); |
| 170 | |
Amith Yamasani | be46532 | 2014-04-24 13:45:17 -0700 | [diff] [blame] | 171 | void setUserRestriction(in ComponentName who, in String key, boolean enable); |
Sudheer Shanka | 1c277a5 | 2015-11-11 21:58:24 +0000 | [diff] [blame] | 172 | Bundle getUserRestrictions(in ComponentName who, int userId); |
Nicolas Prevot | 8194899 | 2014-05-16 18:25:26 +0100 | [diff] [blame] | 173 | void addCrossProfileIntentFilter(in ComponentName admin, in IntentFilter filter, int flags); |
| 174 | void clearCrossProfileIntentFilters(in ComponentName admin); |
Adam Connors | 010cfd4 | 2014-04-16 12:48:13 +0100 | [diff] [blame] | 175 | |
Kenny Guy | fa80a4f | 2014-08-20 19:40:59 +0100 | [diff] [blame] | 176 | boolean setPermittedAccessibilityServices(in ComponentName admin,in List packageList); |
| 177 | List getPermittedAccessibilityServices(in ComponentName admin); |
| 178 | List getPermittedAccessibilityServicesForUser(int userId); |
Sudheer Shanka | 5692586 | 2016-01-28 19:43:59 +0000 | [diff] [blame] | 179 | boolean isAccessibilityServicePermittedByAdmin(in ComponentName admin, String packageName, int userId); |
Kenny Guy | fa80a4f | 2014-08-20 19:40:59 +0100 | [diff] [blame] | 180 | |
| 181 | boolean setPermittedInputMethods(in ComponentName admin,in List packageList); |
| 182 | List getPermittedInputMethods(in ComponentName admin); |
| 183 | List getPermittedInputMethodsForCurrentUser(); |
Sudheer Shanka | 5692586 | 2016-01-28 19:43:59 +0000 | [diff] [blame] | 184 | boolean isInputMethodPermittedByAdmin(in ComponentName admin, String packageName, int userId); |
Kenny Guy | fa80a4f | 2014-08-20 19:40:59 +0100 | [diff] [blame] | 185 | |
Amith Yamasani | e5bcff6 | 2014-07-19 15:44:09 -0700 | [diff] [blame] | 186 | boolean setApplicationHidden(in ComponentName admin, in String packageName, boolean hidden); |
Amith Yamasani | e5bcff6 | 2014-07-19 15:44:09 -0700 | [diff] [blame] | 187 | boolean isApplicationHidden(in ComponentName admin, in String packageName); |
Julia Reynolds | 966881e | 2014-05-14 12:23:08 -0400 | [diff] [blame] | 188 | |
phweiss | a92e121 | 2016-01-25 17:14:10 +0100 | [diff] [blame] | 189 | UserHandle createAndManageUser(in ComponentName who, in String name, in ComponentName profileOwner, in PersistableBundle adminExtras, in int flags); |
Julia Reynolds | 1e95839 | 2014-05-16 14:25:21 -0400 | [diff] [blame] | 190 | boolean removeUser(in ComponentName who, in UserHandle userHandle); |
Jason Monk | 582d911 | 2014-07-09 19:57:08 -0400 | [diff] [blame] | 191 | boolean switchUser(in ComponentName who, in UserHandle userHandle); |
Julia Reynolds | 1e95839 | 2014-05-16 14:25:21 -0400 | [diff] [blame] | 192 | |
Adam Connors | 655be2a | 2014-07-14 09:01:25 +0000 | [diff] [blame] | 193 | void enableSystemApp(in ComponentName admin, in String packageName); |
| 194 | int enableSystemAppWithIntent(in ComponentName admin, in Intent intent); |
| 195 | |
Sander Alewijnse | 5c02db6 | 2014-05-07 10:46:57 +0100 | [diff] [blame] | 196 | void setAccountManagementDisabled(in ComponentName who, in String accountType, in boolean disabled); |
| 197 | String[] getAccountTypesWithManagementDisabled(); |
Alexandra Gherghina | 999d394 | 2014-07-03 11:40:08 +0100 | [diff] [blame] | 198 | String[] getAccountTypesWithManagementDisabledAsUser(int userId); |
justinzhang | 511e0d8 | 2014-03-24 16:09:24 -0400 | [diff] [blame] | 199 | |
Jason Monk | 48aacba | 2014-08-13 16:29:08 -0400 | [diff] [blame] | 200 | void setLockTaskPackages(in ComponentName who, in String[] packages); |
| 201 | String[] getLockTaskPackages(in ComponentName who); |
Jason Monk | d7b8621 | 2014-06-16 13:15:38 -0400 | [diff] [blame] | 202 | boolean isLockTaskPermitted(in String pkg); |
Julia Reynolds | da55165 | 2014-05-14 17:15:16 -0400 | [diff] [blame] | 203 | |
| 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 Reynolds | 4a21b25 | 2014-06-04 11:11:43 -0400 | [diff] [blame] | 206 | |
| 207 | void setMasterVolumeMuted(in ComponentName admin, boolean on); |
| 208 | boolean isMasterVolumeMuted(in ComponentName admin); |
Jason Monk | 35c62a4 | 2014-06-17 10:24:47 -0400 | [diff] [blame] | 209 | |
| 210 | void notifyLockTaskModeChanged(boolean isEnabled, String pkg, int userId); |
Kenny Guy | c13053b | 2014-05-29 14:17:17 +0100 | [diff] [blame] | 211 | |
Esteban Talavera | d5c5c13 | 2014-08-20 11:35:57 +0100 | [diff] [blame] | 212 | void setUninstallBlocked(in ComponentName admin, in String packageName, boolean uninstallBlocked); |
Esteban Talavera | 729b2a6 | 2014-08-27 18:01:58 +0100 | [diff] [blame] | 213 | boolean isUninstallBlocked(in ComponentName admin, in String packageName); |
Adam Connors | 210fe21 | 2014-07-17 15:41:43 +0100 | [diff] [blame] | 214 | |
| 215 | void setCrossProfileCallerIdDisabled(in ComponentName who, boolean disabled); |
| 216 | boolean getCrossProfileCallerIdDisabled(in ComponentName who); |
| 217 | boolean getCrossProfileCallerIdDisabledForUser(int userId); |
Victor Chang | 1060c618 | 2016-01-04 20:16:23 +0000 | [diff] [blame] | 218 | void setCrossProfileContactsSearchDisabled(in ComponentName who, boolean disabled); |
| 219 | boolean getCrossProfileContactsSearchDisabled(in ComponentName who); |
| 220 | boolean getCrossProfileContactsSearchDisabledForUser(int userId); |
Victor Chang | 97bdacc | 2016-01-21 22:24:11 +0000 | [diff] [blame] | 221 | void startManagedQuickContact(String lookupKey, long contactId, boolean isContactIdIgnored, long directoryId, in Intent originalIntent); |
Jim Miller | 604e755 | 2014-07-18 19:00:02 -0700 | [diff] [blame] | 222 | |
Ricky Wai | 778ba13 | 2015-03-31 14:21:22 +0100 | [diff] [blame] | 223 | void setBluetoothContactSharingDisabled(in ComponentName who, boolean disabled); |
| 224 | boolean getBluetoothContactSharingDisabled(in ComponentName who); |
| 225 | boolean getBluetoothContactSharingDisabledForUser(int userId); |
| 226 | |
Jim Miller | e303bf4 | 2014-08-26 17:12:29 -0700 | [diff] [blame] | 227 | void setTrustAgentConfiguration(in ComponentName admin, in ComponentName agent, |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 228 | in PersistableBundle args); |
Jim Miller | e303bf4 | 2014-08-26 17:12:29 -0700 | [diff] [blame] | 229 | List<PersistableBundle> getTrustAgentConfiguration(in ComponentName admin, |
| 230 | in ComponentName agent, int userId); |
Jim Miller | 604e755 | 2014-07-18 19:00:02 -0700 | [diff] [blame] | 231 | |
Svetoslav | 976e8bd | 2014-07-16 15:12:03 -0700 | [diff] [blame] | 232 | boolean addCrossProfileWidgetProvider(in ComponentName admin, String packageName); |
| 233 | boolean removeCrossProfileWidgetProvider(in ComponentName admin, String packageName); |
| 234 | List<String> getCrossProfileWidgetProviders(in ComponentName admin); |
Sander Alewijnse | 0ced627 | 2014-08-26 11:18:26 +0100 | [diff] [blame] | 235 | |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 236 | void setAutoTimeRequired(in ComponentName who, boolean required); |
Sander Alewijnse | 0ced627 | 2014-08-26 11:18:26 +0100 | [diff] [blame] | 237 | boolean getAutoTimeRequired(); |
Fyodor Kupolov | 96fb932 | 2014-12-01 15:08:09 -0800 | [diff] [blame] | 238 | |
Lenka Trochtova | f348e8e | 2016-01-07 17:20:34 +0100 | [diff] [blame] | 239 | void setForceEphemeralUsers(in ComponentName who, boolean forceEpehemeralUsers); |
| 240 | boolean getForceEphemeralUsers(in ComponentName who); |
| 241 | |
Fyodor Kupolov | 96fb932 | 2014-12-01 15:08:09 -0800 | [diff] [blame] | 242 | boolean isRemovingAdmin(in ComponentName adminReceiver, int userHandle); |
Julia Reynolds | 20118f1 | 2015-02-11 12:34:08 -0500 | [diff] [blame] | 243 | |
Julia Reynolds | fca04ca | 2015-02-17 13:39:12 -0500 | [diff] [blame] | 244 | void setUserIcon(in ComponentName admin, in Bitmap icon); |
Craig Lafayette | dbe31a6 | 2015-04-02 13:14:39 -0400 | [diff] [blame] | 245 | |
Rubin Xu | d86d58c | 2015-05-05 16:57:37 +0100 | [diff] [blame] | 246 | void setSystemUpdatePolicy(in ComponentName who, in SystemUpdatePolicy policy); |
| 247 | SystemUpdatePolicy getSystemUpdatePolicy(); |
Benjamin Franz | e36087e | 2015-04-07 16:40:34 +0100 | [diff] [blame] | 248 | |
Benjamin Franz | bece806 | 2015-05-06 12:14:31 +0100 | [diff] [blame] | 249 | boolean setKeyguardDisabled(in ComponentName admin, boolean disabled); |
| 250 | boolean setStatusBarDisabled(in ComponentName who, boolean disabled); |
Andrei Kapishnikov | 4eb6a36 | 2015-04-02 15:21:20 -0400 | [diff] [blame] | 251 | boolean getDoNotAskCredentialsOnBoot(); |
Rubin Xu | dc105cc | 2015-04-14 23:38:01 +0100 | [diff] [blame] | 252 | |
| 253 | void notifyPendingSystemUpdate(in long updateReceivedTime); |
Amith Yamasani | d49489b | 2015-04-28 14:00:26 -0700 | [diff] [blame] | 254 | |
| 255 | void setPermissionPolicy(in ComponentName admin, int policy); |
| 256 | int getPermissionPolicy(in ComponentName admin); |
Svet Ganov | d8ecc5a | 2015-05-20 10:45:43 -0700 | [diff] [blame] | 257 | boolean setPermissionGrantState(in ComponentName admin, String packageName, |
| 258 | String permission, int grantState); |
Amith Yamasani | 184b375 | 2015-05-22 13:00:51 -0700 | [diff] [blame] | 259 | int getPermissionGrantState(in ComponentName admin, String packageName, String permission); |
Nicolas Prevot | 07387fe | 2015-10-30 17:53:30 +0000 | [diff] [blame] | 260 | boolean isProvisioningAllowed(String action); |
Fyodor Kupolov | cb6fd80 | 2015-11-05 14:27:06 -0800 | [diff] [blame] | 261 | void setKeepUninstalledPackages(in ComponentName admin,in List<String> packageList); |
| 262 | List<String> getKeepUninstalledPackages(in ComponentName admin); |
Mahaver Chopra | 15a46b0 | 2015-11-11 14:54:35 +0000 | [diff] [blame] | 263 | boolean isManagedProfile(in ComponentName admin); |
| 264 | boolean isSystemOnlyUser(in ComponentName admin); |
Sudheer Shanka | 3cb4da1 | 2016-03-07 18:51:49 -0800 | [diff] [blame] | 265 | String getWifiMacAddress(in ComponentName admin); |
Mahaver Chopra | 1ce53bc | 2015-12-14 13:35:14 +0000 | [diff] [blame] | 266 | void reboot(in ComponentName admin); |
Kenny Guy | 06de4e7 | 2015-12-22 12:07:39 +0000 | [diff] [blame] | 267 | |
| 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 Bayarri | a177111 | 2015-12-18 16:29:18 +0000 | [diff] [blame] | 275 | |
| 276 | boolean isSeparateProfileChallengeAllowed(int userHandle); |
Benjamin Franz | 59720bb | 2016-01-18 15:26:11 +0000 | [diff] [blame] | 277 | |
| 278 | void setOrganizationColor(in ComponentName admin, in int color); |
Nicolas Prevot | 8f7698a | 2016-02-11 16:05:33 +0000 | [diff] [blame] | 279 | void setOrganizationColorForUser(in int color, in int userId); |
Benjamin Franz | 59720bb | 2016-01-18 15:26:11 +0000 | [diff] [blame] | 280 | int getOrganizationColor(in ComponentName admin); |
| 281 | int getOrganizationColorForUser(int userHandle); |
Bartosz Fabianowski | 4c052f2 | 2016-01-25 14:18:43 +0100 | [diff] [blame] | 282 | |
Benjamin Franz | 3e8a709 | 2016-01-25 16:19:08 +0000 | [diff] [blame] | 283 | void setOrganizationName(in ComponentName admin, in String title); |
| 284 | String getOrganizationName(in ComponentName admin); |
| 285 | String getOrganizationNameForUser(int userHandle); |
| 286 | |
Alan Treadway | afad878 | 2016-01-19 15:15:08 +0000 | [diff] [blame] | 287 | int getUserProvisioningState(); |
| 288 | void setUserProvisioningState(int state, int userHandle); |
| 289 | |
Bartosz Fabianowski | 4c052f2 | 2016-01-25 14:18:43 +0100 | [diff] [blame] | 290 | void setAffiliationIds(in ComponentName admin, in List<String> ids); |
| 291 | boolean isAffiliatedUser(); |
Rubin Xu | c3cd05f | 2016-01-11 12:11:35 +0000 | [diff] [blame] | 292 | |
Michal Karpinski | 6235a94 | 2016-03-15 12:07:23 +0000 | [diff] [blame] | 293 | 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 Shukla | a2ae223 | 2016-01-28 18:05:14 -0800 | [diff] [blame] | 297 | |
| 298 | boolean isUninstallInQueue(String packageName); |
| 299 | void uninstallPackageWithActiveAdmins(String packageName); |
Dianne Hackborn | d684784 | 2010-01-12 18:14:19 -0800 | [diff] [blame] | 300 | } |