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 | |
Michal Karpinski | f77ee4f | 2016-10-12 16:40:06 +0100 | [diff] [blame] | 20 | import android.app.admin.NetworkEvent; |
Tony Mak | 46aabe5 | 2016-11-14 12:53:06 +0000 | [diff] [blame] | 21 | import android.app.IApplicationThread; |
| 22 | import android.app.IServiceConnection; |
Pavel Grafov | d65799e | 2016-12-02 11:21:45 +0000 | [diff] [blame] | 23 | import android.app.admin.SystemUpdateInfo; |
Rubin Xu | d86d58c | 2015-05-05 16:57:37 +0100 | [diff] [blame] | 24 | import android.app.admin.SystemUpdatePolicy; |
Andrew Scull | 5f9e6f3 | 2016-08-02 14:22:17 +0100 | [diff] [blame] | 25 | import android.app.admin.PasswordMetrics; |
Dianne Hackborn | d684784 | 2010-01-12 18:14:19 -0800 | [diff] [blame] | 26 | import android.content.ComponentName; |
Adam Connors | 010cfd4 | 2014-04-16 12:48:13 +0100 | [diff] [blame] | 27 | import android.content.Intent; |
Sander Alewijnse | f475ca3 | 2014-02-17 15:13:58 +0000 | [diff] [blame] | 28 | import android.content.IntentFilter; |
Rubin Xu | c3cd05f | 2016-01-11 12:11:35 +0000 | [diff] [blame] | 29 | import android.content.pm.ParceledListSlice; |
Bartosz Fabianowski | 05dc9f7 | 2017-02-22 23:41:14 +0100 | [diff] [blame^] | 30 | import android.content.pm.StringParceledListSlice; |
Julia Reynolds | fca04ca | 2015-02-17 13:39:12 -0500 | [diff] [blame] | 31 | import android.graphics.Bitmap; |
Jason Monk | 03bc991 | 2014-05-13 09:44:57 -0400 | [diff] [blame] | 32 | import android.net.ProxyInfo; |
Robin Lee | 39087b1 | 2015-05-05 15:57:17 +0100 | [diff] [blame] | 33 | import android.net.Uri; |
Robin Lee | 66e5d96 | 2014-04-09 16:44:21 +0100 | [diff] [blame] | 34 | import android.os.Bundle; |
Jim Miller | e303bf4 | 2014-08-26 17:12:29 -0700 | [diff] [blame] | 35 | import android.os.PersistableBundle; |
Dianne Hackborn | 8ea138c | 2010-01-26 18:01:04 -0800 | [diff] [blame] | 36 | import android.os.RemoteCallback; |
Julia Reynolds | 1e95839 | 2014-05-16 14:25:21 -0400 | [diff] [blame] | 37 | import android.os.UserHandle; |
Andrew Scull | 5f9e6f3 | 2016-08-02 14:22:17 +0100 | [diff] [blame] | 38 | |
Kenny Guy | fa80a4f | 2014-08-20 19:40:59 +0100 | [diff] [blame] | 39 | import java.util.List; |
Dianne Hackborn | d684784 | 2010-01-12 18:14:19 -0800 | [diff] [blame] | 40 | |
| 41 | /** |
| 42 | * Internal IPC interface to the device policy service. |
| 43 | * {@hide} |
| 44 | */ |
| 45 | interface IDevicePolicyManager { |
Clara Bayarri | 3e826ef | 2015-12-14 17:51:22 +0000 | [diff] [blame] | 46 | void setPasswordQuality(in ComponentName who, int quality, boolean parent); |
| 47 | int getPasswordQuality(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | a15dcfa | 2010-05-24 17:10:56 -0700 | [diff] [blame] | 48 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 49 | void setPasswordMinimumLength(in ComponentName who, int length, boolean parent); |
| 50 | int getPasswordMinimumLength(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | a15dcfa | 2010-05-24 17:10:56 -0700 | [diff] [blame] | 51 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 52 | void setPasswordMinimumUpperCase(in ComponentName who, int length, boolean parent); |
| 53 | int getPasswordMinimumUpperCase(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | a15dcfa | 2010-05-24 17:10:56 -0700 | [diff] [blame] | 54 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 55 | void setPasswordMinimumLowerCase(in ComponentName who, int length, boolean parent); |
| 56 | int getPasswordMinimumLowerCase(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | a15dcfa | 2010-05-24 17:10:56 -0700 | [diff] [blame] | 57 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 58 | void setPasswordMinimumLetters(in ComponentName who, int length, boolean parent); |
| 59 | int getPasswordMinimumLetters(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | a15dcfa | 2010-05-24 17:10:56 -0700 | [diff] [blame] | 60 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 61 | void setPasswordMinimumNumeric(in ComponentName who, int length, boolean parent); |
| 62 | int getPasswordMinimumNumeric(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | a15dcfa | 2010-05-24 17:10:56 -0700 | [diff] [blame] | 63 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 64 | void setPasswordMinimumSymbols(in ComponentName who, int length, boolean parent); |
| 65 | int getPasswordMinimumSymbols(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | c857740 | 2010-06-04 17:15:02 -0700 | [diff] [blame] | 66 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 67 | void setPasswordMinimumNonLetter(in ComponentName who, int length, boolean parent); |
| 68 | int getPasswordMinimumNonLetter(in ComponentName who, int userHandle, boolean parent); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 69 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 70 | void setPasswordHistoryLength(in ComponentName who, int length, boolean parent); |
| 71 | int getPasswordHistoryLength(in ComponentName who, int userHandle, boolean parent); |
Konstantin Lopyrev | 3255823 | 2010-05-20 16:18:05 -0700 | [diff] [blame] | 72 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 73 | void setPasswordExpirationTimeout(in ComponentName who, long expiration, boolean parent); |
| 74 | long getPasswordExpirationTimeout(in ComponentName who, int userHandle, boolean parent); |
Jim Miller | a4e28d1 | 2010-11-08 16:15:47 -0800 | [diff] [blame] | 75 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 76 | long getPasswordExpiration(in ComponentName who, int userHandle, boolean parent); |
Jim Miller | a4e28d1 | 2010-11-08 16:15:47 -0800 | [diff] [blame] | 77 | |
Clara Bayarri | 3e826ef | 2015-12-14 17:51:22 +0000 | [diff] [blame] | 78 | boolean isActivePasswordSufficient(int userHandle, boolean parent); |
Clara Bayarri | d769391 | 2016-01-22 17:26:31 +0000 | [diff] [blame] | 79 | boolean isProfileActivePasswordSufficientForParent(int userHandle); |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 80 | int getCurrentFailedPasswordAttempts(int userHandle, boolean parent); |
| 81 | int getProfileWithMinimumFailedPasswordsForWipe(int userHandle, boolean parent); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 82 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 83 | void setMaximumFailedPasswordsForWipe(in ComponentName admin, int num, boolean parent); |
| 84 | int getMaximumFailedPasswordsForWipe(in ComponentName admin, int userHandle, boolean parent); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 85 | |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 86 | boolean resetPassword(String password, int flags); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 87 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 88 | void setMaximumTimeToLock(in ComponentName who, long timeMs, boolean parent); |
| 89 | long getMaximumTimeToLock(in ComponentName who, int userHandle, boolean parent); |
Ricky Wai | 035e924 | 2016-03-18 16:43:31 +0000 | [diff] [blame] | 90 | long getMaximumTimeToLockForUserAndProfiles(int userHandle); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 91 | |
Michal Karpinski | 8f010dd | 2016-06-21 15:05:53 +0100 | [diff] [blame] | 92 | void setRequiredStrongAuthTimeout(in ComponentName who, long timeMs, boolean parent); |
| 93 | long getRequiredStrongAuthTimeout(in ComponentName who, int userId, boolean parent); |
| 94 | |
Andrew Scull | 85a63bc | 2016-10-24 13:47:47 +0100 | [diff] [blame] | 95 | void lockNow(int flags, boolean parent); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 96 | |
Makoto Onuki | 70f929e | 2015-11-11 12:40:15 -0800 | [diff] [blame] | 97 | void wipeData(int flags); |
Oscar Montemayor | 69238c6 | 2010-08-03 10:51:06 -0700 | [diff] [blame] | 98 | |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 99 | ComponentName setGlobalProxy(in ComponentName admin, String proxySpec, String exclusionList); |
Amith Yamasani | 599dd7c | 2012-09-14 23:20:08 -0700 | [diff] [blame] | 100 | ComponentName getGlobalProxyAdmin(int userHandle); |
Jason Monk | 03bc991 | 2014-05-13 09:44:57 -0400 | [diff] [blame] | 101 | void setRecommendedGlobalProxy(in ComponentName admin, in ProxyInfo proxyInfo); |
Andy Stadler | 7b0f8f0 | 2011-01-12 14:59:52 -0800 | [diff] [blame] | 102 | |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 103 | int setStorageEncryption(in ComponentName who, boolean encrypt); |
Amith Yamasani | 599dd7c | 2012-09-14 23:20:08 -0700 | [diff] [blame] | 104 | boolean getStorageEncryption(in ComponentName who, int userHandle); |
Makoto Onuki | d4c9e54 | 2016-02-25 18:17:30 -0800 | [diff] [blame] | 105 | int getStorageEncryptionStatus(in String callerPackage, int userHandle); |
Andy Stadler | 7b0f8f0 | 2011-01-12 14:59:52 -0800 | [diff] [blame] | 106 | |
Michal Karpinski | 3fc437e | 2015-12-15 10:09:00 +0000 | [diff] [blame] | 107 | boolean requestBugreport(in ComponentName who); |
| 108 | |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 109 | void setCameraDisabled(in ComponentName who, boolean disabled); |
Amith Yamasani | 599dd7c | 2012-09-14 23:20:08 -0700 | [diff] [blame] | 110 | boolean getCameraDisabled(in ComponentName who, int userHandle); |
Ben Komalo | 2447edd | 2011-05-09 16:05:33 -0700 | [diff] [blame] | 111 | |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 112 | void setScreenCaptureDisabled(in ComponentName who, boolean disabled); |
Sander Alewijnse | d2a1eec | 2014-07-09 12:57:05 +0100 | [diff] [blame] | 113 | boolean getScreenCaptureDisabled(in ComponentName who, int userHandle); |
| 114 | |
Esteban Talavera | 6239991 | 2016-01-11 15:37:55 +0000 | [diff] [blame] | 115 | void setKeyguardDisabledFeatures(in ComponentName who, int which, boolean parent); |
| 116 | int getKeyguardDisabledFeatures(in ComponentName who, int userHandle, boolean parent); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 117 | |
Amith Yamasani | 599dd7c | 2012-09-14 23:20:08 -0700 | [diff] [blame] | 118 | void setActiveAdmin(in ComponentName policyReceiver, boolean refreshing, int userHandle); |
| 119 | boolean isAdminActive(in ComponentName policyReceiver, int userHandle); |
| 120 | List<ComponentName> getActiveAdmins(int userHandle); |
| 121 | boolean packageHasActiveAdmins(String packageName, int userHandle); |
| 122 | void getRemoveWarning(in ComponentName policyReceiver, in RemoteCallback result, int userHandle); |
| 123 | void removeActiveAdmin(in ComponentName policyReceiver, int userHandle); |
Kenny Guy | 38dcca5 | 2016-04-19 13:09:18 +0100 | [diff] [blame] | 124 | void forceRemoveActiveAdmin(in ComponentName policyReceiver, int userHandle); |
Amith Yamasani | 599dd7c | 2012-09-14 23:20:08 -0700 | [diff] [blame] | 125 | boolean hasGrantedPolicy(in ComponentName policyReceiver, int usesPolicy, int userHandle); |
Jim Miller | b8ec470 | 2012-08-31 17:19:10 -0700 | [diff] [blame] | 126 | |
Andrew Scull | 5f9e6f3 | 2016-08-02 14:22:17 +0100 | [diff] [blame] | 127 | void setActivePasswordState(in PasswordMetrics metrics, int userHandle); |
Andrew Scull | 5daf273 | 2016-11-14 15:02:45 +0000 | [diff] [blame] | 128 | void reportPasswordChanged(int userId); |
Amith Yamasani | 599dd7c | 2012-09-14 23:20:08 -0700 | [diff] [blame] | 129 | void reportFailedPasswordAttempt(int userHandle); |
| 130 | void reportSuccessfulPasswordAttempt(int userHandle); |
Michal Karpinski | ed5c8f0 | 2016-02-09 15:43:41 +0000 | [diff] [blame] | 131 | void reportFailedFingerprintAttempt(int userHandle); |
| 132 | void reportSuccessfulFingerprintAttempt(int userHandle); |
| 133 | void reportKeyguardDismissed(int userHandle); |
| 134 | void reportKeyguardSecured(int userHandle); |
Michal Karpinski | 31502d3 | 2016-01-25 16:43:07 +0000 | [diff] [blame] | 135 | |
Makoto Onuki | a52562c | 2015-10-01 16:12:31 -0700 | [diff] [blame] | 136 | boolean setDeviceOwner(in ComponentName who, String ownerName, int userId); |
Makoto Onuki | c8a5a55 | 2015-11-19 14:29:12 -0800 | [diff] [blame] | 137 | ComponentName getDeviceOwnerComponent(boolean callingUserOnly); |
Bartosz Fabianowski | dd7f8da | 2016-11-30 11:09:22 +0100 | [diff] [blame] | 138 | boolean hasDeviceOwner(); |
Geoffrey Borggaard | 334c7e3 | 2013-08-08 14:31:36 -0400 | [diff] [blame] | 139 | String getDeviceOwnerName(); |
Jason Monk | b0dced8 | 2014-06-06 14:36:20 -0400 | [diff] [blame] | 140 | void clearDeviceOwner(String packageName); |
Makoto Onuki | c8a5a55 | 2015-11-19 14:29:12 -0800 | [diff] [blame] | 141 | int getDeviceOwnerUserId(); |
Maggie Benthall | da51e68 | 2013-08-08 22:35:44 -0400 | [diff] [blame] | 142 | |
Amith Yamasani | bf3a946 | 2014-07-28 14:26:42 -0700 | [diff] [blame] | 143 | boolean setProfileOwner(in ComponentName who, String ownerName, int userHandle); |
| 144 | ComponentName getProfileOwner(int userHandle); |
Adam Connors | 776c555 | 2014-01-09 10:42:56 +0000 | [diff] [blame] | 145 | String getProfileOwnerName(int userHandle); |
Alexandra Gherghina | 512675b | 2014-04-02 11:23:54 +0100 | [diff] [blame] | 146 | void setProfileEnabled(in ComponentName who); |
Jessica Hummel | 1333ea1 | 2014-06-23 11:20:10 +0100 | [diff] [blame] | 147 | void setProfileName(in ComponentName who, String profileName); |
Amith Yamasani | bf3a946 | 2014-07-28 14:26:42 -0700 | [diff] [blame] | 148 | void clearProfileOwner(in ComponentName who); |
| 149 | boolean hasUserSetupCompleted(); |
Adam Connors | 776c555 | 2014-01-09 10:42:56 +0000 | [diff] [blame] | 150 | |
Andrei Stingaceanu | 1618790 | 2016-03-21 15:44:45 +0000 | [diff] [blame] | 151 | void setDeviceOwnerLockScreenInfo(in ComponentName who, CharSequence deviceOwnerInfo); |
| 152 | CharSequence getDeviceOwnerLockScreenInfo(); |
Andrei Stingaceanu | 6644cd9 | 2015-11-10 13:03:31 +0000 | [diff] [blame] | 153 | |
Edman Anjos | 52088e4 | 2017-01-13 22:26:17 +0100 | [diff] [blame] | 154 | String[] setPackagesSuspended(in ComponentName admin, in String callerPackage, in String[] packageNames, boolean suspended); |
| 155 | boolean isPackageSuspended(in ComponentName admin, in String callerPackage, String packageName); |
Andrei Stingaceanu | 1e28391 | 2015-11-26 15:26:28 +0000 | [diff] [blame] | 156 | |
Edman Anjos | f994677 | 2016-11-28 16:35:15 +0100 | [diff] [blame] | 157 | boolean installCaCert(in ComponentName admin, String callerPackage, in byte[] certBuffer); |
| 158 | void uninstallCaCerts(in ComponentName admin, String callerPackage, in String[] aliases); |
| 159 | void enforceCanManageCaCerts(in ComponentName admin, in String callerPackage); |
Robin Lee | 2f7e1e4 | 2016-03-21 10:50:01 +0000 | [diff] [blame] | 160 | boolean approveCaCert(in String alias, int userHandle, boolean approval); |
| 161 | boolean isCaCertApproved(in String alias, int userHandle); |
Sander Alewijnse | f475ca3 | 2014-02-17 15:13:58 +0000 | [diff] [blame] | 162 | |
Edman Anjos | f994677 | 2016-11-28 16:35:15 +0100 | [diff] [blame] | 163 | boolean installKeyPair(in ComponentName who, in String callerPackage, in byte[] privKeyBuffer, |
| 164 | in byte[] certBuffer, in byte[] certChainBuffer, String alias, boolean requestAccess); |
| 165 | boolean removeKeyPair(in ComponentName who, in String callerPackage, String alias); |
Robin Lee | 39087b1 | 2015-05-05 15:57:17 +0100 | [diff] [blame] | 166 | void choosePrivateKeyAlias(int uid, in Uri uri, in String alias, IBinder aliasCallback); |
Bernhard Bauer | 26408cc | 2014-09-08 14:07:31 +0100 | [diff] [blame] | 167 | |
Edman Anjos | f994677 | 2016-11-28 16:35:15 +0100 | [diff] [blame] | 168 | void setDelegatedScopes(in ComponentName who, in String delegatePackage, in List<String> scopes); |
| 169 | List<String> getDelegatedScopes(in ComponentName who, String delegatePackage); |
| 170 | List<String> getDelegatePackages(in ComponentName who, String scope); |
| 171 | |
Rubin Xu | ec32b56 | 2015-03-03 17:34:05 +0000 | [diff] [blame] | 172 | void setCertInstallerPackage(in ComponentName who, String installerPackage); |
| 173 | String getCertInstallerPackage(in ComponentName who); |
| 174 | |
Robin Lee | dc67971 | 2016-05-03 13:23:03 +0100 | [diff] [blame] | 175 | boolean setAlwaysOnVpnPackage(in ComponentName who, String vpnPackage, boolean lockdown); |
Robin Lee | 244ce8e | 2016-01-05 18:03:46 +0000 | [diff] [blame] | 176 | String getAlwaysOnVpnPackage(in ComponentName who); |
| 177 | |
Sander Alewijnse | f475ca3 | 2014-02-17 15:13:58 +0000 | [diff] [blame] | 178 | void addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity); |
| 179 | void clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName); |
Robin Lee | 66e5d96 | 2014-04-09 16:44:21 +0100 | [diff] [blame] | 180 | |
Edman Anjos | f994677 | 2016-11-28 16:35:15 +0100 | [diff] [blame] | 181 | void setApplicationRestrictions(in ComponentName who, in String callerPackage, in String packageName, in Bundle settings); |
| 182 | Bundle getApplicationRestrictions(in ComponentName who, in String callerPackage, in String packageName); |
Victor Chang | cd14c0a | 2016-03-16 19:10:15 +0000 | [diff] [blame] | 183 | boolean setApplicationRestrictionsManagingPackage(in ComponentName admin, in String packageName); |
Esteban Talavera | bf60f72 | 2015-12-10 16:26:44 +0000 | [diff] [blame] | 184 | String getApplicationRestrictionsManagingPackage(in ComponentName admin); |
Edman Anjos | f994677 | 2016-11-28 16:35:15 +0100 | [diff] [blame] | 185 | boolean isCallerApplicationRestrictionsManagingPackage(in String callerPackage); |
Amith Yamasani | be46532 | 2014-04-24 13:45:17 -0700 | [diff] [blame] | 186 | |
Amith Yamasani | f20d640 | 2014-05-24 15:34:37 -0700 | [diff] [blame] | 187 | void setRestrictionsProvider(in ComponentName who, in ComponentName provider); |
| 188 | ComponentName getRestrictionsProvider(int userHandle); |
| 189 | |
Amith Yamasani | be46532 | 2014-04-24 13:45:17 -0700 | [diff] [blame] | 190 | void setUserRestriction(in ComponentName who, in String key, boolean enable); |
Sudheer Shanka | 549b969 | 2016-03-30 17:12:07 -0700 | [diff] [blame] | 191 | Bundle getUserRestrictions(in ComponentName who); |
Nicolas Prevot | 8194899 | 2014-05-16 18:25:26 +0100 | [diff] [blame] | 192 | void addCrossProfileIntentFilter(in ComponentName admin, in IntentFilter filter, int flags); |
| 193 | void clearCrossProfileIntentFilters(in ComponentName admin); |
Adam Connors | 010cfd4 | 2014-04-16 12:48:13 +0100 | [diff] [blame] | 194 | |
Kenny Guy | fa80a4f | 2014-08-20 19:40:59 +0100 | [diff] [blame] | 195 | boolean setPermittedAccessibilityServices(in ComponentName admin,in List packageList); |
| 196 | List getPermittedAccessibilityServices(in ComponentName admin); |
| 197 | List getPermittedAccessibilityServicesForUser(int userId); |
Sudheer Shanka | 5692586 | 2016-01-28 19:43:59 +0000 | [diff] [blame] | 198 | boolean isAccessibilityServicePermittedByAdmin(in ComponentName admin, String packageName, int userId); |
Kenny Guy | fa80a4f | 2014-08-20 19:40:59 +0100 | [diff] [blame] | 199 | |
| 200 | boolean setPermittedInputMethods(in ComponentName admin,in List packageList); |
| 201 | List getPermittedInputMethods(in ComponentName admin); |
| 202 | List getPermittedInputMethodsForCurrentUser(); |
Sudheer Shanka | 5692586 | 2016-01-28 19:43:59 +0000 | [diff] [blame] | 203 | boolean isInputMethodPermittedByAdmin(in ComponentName admin, String packageName, int userId); |
Kenny Guy | fa80a4f | 2014-08-20 19:40:59 +0100 | [diff] [blame] | 204 | |
phweiss | 73145f4 | 2017-01-17 19:06:38 +0100 | [diff] [blame] | 205 | Intent createAdminSupportIntent(in String restriction); |
Edman Anjos | 52088e4 | 2017-01-13 22:26:17 +0100 | [diff] [blame] | 206 | boolean setApplicationHidden(in ComponentName admin, in String callerPackage, in String packageName, boolean hidden); |
| 207 | boolean isApplicationHidden(in ComponentName admin, in String callerPackage, in String packageName); |
Julia Reynolds | 966881e | 2014-05-14 12:23:08 -0400 | [diff] [blame] | 208 | |
phweiss | a92e121 | 2016-01-25 17:14:10 +0100 | [diff] [blame] | 209 | 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] | 210 | boolean removeUser(in ComponentName who, in UserHandle userHandle); |
Jason Monk | 582d911 | 2014-07-09 19:57:08 -0400 | [diff] [blame] | 211 | boolean switchUser(in ComponentName who, in UserHandle userHandle); |
Julia Reynolds | 1e95839 | 2014-05-16 14:25:21 -0400 | [diff] [blame] | 212 | |
Edman Anjos | 52088e4 | 2017-01-13 22:26:17 +0100 | [diff] [blame] | 213 | void enableSystemApp(in ComponentName admin, in String callerPackage, in String packageName); |
| 214 | int enableSystemAppWithIntent(in ComponentName admin, in String callerPackage, in Intent intent); |
Adam Connors | 655be2a | 2014-07-14 09:01:25 +0000 | [diff] [blame] | 215 | |
Sander Alewijnse | 5c02db6 | 2014-05-07 10:46:57 +0100 | [diff] [blame] | 216 | void setAccountManagementDisabled(in ComponentName who, in String accountType, in boolean disabled); |
| 217 | String[] getAccountTypesWithManagementDisabled(); |
Alexandra Gherghina | 999d394 | 2014-07-03 11:40:08 +0100 | [diff] [blame] | 218 | String[] getAccountTypesWithManagementDisabledAsUser(int userId); |
justinzhang | 511e0d8 | 2014-03-24 16:09:24 -0400 | [diff] [blame] | 219 | |
Jason Monk | 48aacba | 2014-08-13 16:29:08 -0400 | [diff] [blame] | 220 | void setLockTaskPackages(in ComponentName who, in String[] packages); |
| 221 | String[] getLockTaskPackages(in ComponentName who); |
Jason Monk | d7b8621 | 2014-06-16 13:15:38 -0400 | [diff] [blame] | 222 | boolean isLockTaskPermitted(in String pkg); |
Julia Reynolds | da55165 | 2014-05-14 17:15:16 -0400 | [diff] [blame] | 223 | |
| 224 | void setGlobalSetting(in ComponentName who, in String setting, in String value); |
| 225 | void setSecureSetting(in ComponentName who, in String setting, in String value); |
Julia Reynolds | 4a21b25 | 2014-06-04 11:11:43 -0400 | [diff] [blame] | 226 | |
| 227 | void setMasterVolumeMuted(in ComponentName admin, boolean on); |
| 228 | boolean isMasterVolumeMuted(in ComponentName admin); |
Jason Monk | 35c62a4 | 2014-06-17 10:24:47 -0400 | [diff] [blame] | 229 | |
| 230 | void notifyLockTaskModeChanged(boolean isEnabled, String pkg, int userId); |
Kenny Guy | c13053b | 2014-05-29 14:17:17 +0100 | [diff] [blame] | 231 | |
Edman Anjos | a5f2fb1 | 2016-12-19 11:25:54 -0800 | [diff] [blame] | 232 | void setUninstallBlocked(in ComponentName admin, in String callerPackage, in String packageName, boolean uninstallBlocked); |
Esteban Talavera | 729b2a6 | 2014-08-27 18:01:58 +0100 | [diff] [blame] | 233 | boolean isUninstallBlocked(in ComponentName admin, in String packageName); |
Adam Connors | 210fe21 | 2014-07-17 15:41:43 +0100 | [diff] [blame] | 234 | |
| 235 | void setCrossProfileCallerIdDisabled(in ComponentName who, boolean disabled); |
| 236 | boolean getCrossProfileCallerIdDisabled(in ComponentName who); |
| 237 | boolean getCrossProfileCallerIdDisabledForUser(int userId); |
Victor Chang | 1060c618 | 2016-01-04 20:16:23 +0000 | [diff] [blame] | 238 | void setCrossProfileContactsSearchDisabled(in ComponentName who, boolean disabled); |
| 239 | boolean getCrossProfileContactsSearchDisabled(in ComponentName who); |
| 240 | boolean getCrossProfileContactsSearchDisabledForUser(int userId); |
Victor Chang | 97bdacc | 2016-01-21 22:24:11 +0000 | [diff] [blame] | 241 | 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] | 242 | |
Ricky Wai | 778ba13 | 2015-03-31 14:21:22 +0100 | [diff] [blame] | 243 | void setBluetoothContactSharingDisabled(in ComponentName who, boolean disabled); |
| 244 | boolean getBluetoothContactSharingDisabled(in ComponentName who); |
| 245 | boolean getBluetoothContactSharingDisabledForUser(int userId); |
| 246 | |
Jim Miller | e303bf4 | 2014-08-26 17:12:29 -0700 | [diff] [blame] | 247 | void setTrustAgentConfiguration(in ComponentName admin, in ComponentName agent, |
Tony Mak | 089d840 | 2016-04-05 17:42:55 +0100 | [diff] [blame] | 248 | in PersistableBundle args, boolean parent); |
Jim Miller | e303bf4 | 2014-08-26 17:12:29 -0700 | [diff] [blame] | 249 | List<PersistableBundle> getTrustAgentConfiguration(in ComponentName admin, |
Tony Mak | 089d840 | 2016-04-05 17:42:55 +0100 | [diff] [blame] | 250 | in ComponentName agent, int userId, boolean parent); |
Jim Miller | 604e755 | 2014-07-18 19:00:02 -0700 | [diff] [blame] | 251 | |
Svetoslav | 976e8bd | 2014-07-16 15:12:03 -0700 | [diff] [blame] | 252 | boolean addCrossProfileWidgetProvider(in ComponentName admin, String packageName); |
| 253 | boolean removeCrossProfileWidgetProvider(in ComponentName admin, String packageName); |
| 254 | List<String> getCrossProfileWidgetProviders(in ComponentName admin); |
Sander Alewijnse | 0ced627 | 2014-08-26 11:18:26 +0100 | [diff] [blame] | 255 | |
Fyodor Kupolov | bdc58c6 | 2015-01-29 13:24:03 -0800 | [diff] [blame] | 256 | void setAutoTimeRequired(in ComponentName who, boolean required); |
Sander Alewijnse | 0ced627 | 2014-08-26 11:18:26 +0100 | [diff] [blame] | 257 | boolean getAutoTimeRequired(); |
Fyodor Kupolov | 96fb932 | 2014-12-01 15:08:09 -0800 | [diff] [blame] | 258 | |
Lenka Trochtova | f348e8e | 2016-01-07 17:20:34 +0100 | [diff] [blame] | 259 | void setForceEphemeralUsers(in ComponentName who, boolean forceEpehemeralUsers); |
| 260 | boolean getForceEphemeralUsers(in ComponentName who); |
| 261 | |
Fyodor Kupolov | 96fb932 | 2014-12-01 15:08:09 -0800 | [diff] [blame] | 262 | boolean isRemovingAdmin(in ComponentName adminReceiver, int userHandle); |
Julia Reynolds | 20118f1 | 2015-02-11 12:34:08 -0500 | [diff] [blame] | 263 | |
Julia Reynolds | fca04ca | 2015-02-17 13:39:12 -0500 | [diff] [blame] | 264 | void setUserIcon(in ComponentName admin, in Bitmap icon); |
Craig Lafayette | dbe31a6 | 2015-04-02 13:14:39 -0400 | [diff] [blame] | 265 | |
Rubin Xu | d86d58c | 2015-05-05 16:57:37 +0100 | [diff] [blame] | 266 | void setSystemUpdatePolicy(in ComponentName who, in SystemUpdatePolicy policy); |
| 267 | SystemUpdatePolicy getSystemUpdatePolicy(); |
Benjamin Franz | e36087e | 2015-04-07 16:40:34 +0100 | [diff] [blame] | 268 | |
Benjamin Franz | bece806 | 2015-05-06 12:14:31 +0100 | [diff] [blame] | 269 | boolean setKeyguardDisabled(in ComponentName admin, boolean disabled); |
| 270 | boolean setStatusBarDisabled(in ComponentName who, boolean disabled); |
Andrei Kapishnikov | 4eb6a36 | 2015-04-02 15:21:20 -0400 | [diff] [blame] | 271 | boolean getDoNotAskCredentialsOnBoot(); |
Rubin Xu | dc105cc | 2015-04-14 23:38:01 +0100 | [diff] [blame] | 272 | |
Charles He | dea0c3b | 2017-01-13 10:04:12 +0000 | [diff] [blame] | 273 | void notifyPendingSystemUpdate(in SystemUpdateInfo info); |
Pavel Grafov | d65799e | 2016-12-02 11:21:45 +0000 | [diff] [blame] | 274 | SystemUpdateInfo getPendingSystemUpdate(in ComponentName admin); |
Amith Yamasani | d49489b | 2015-04-28 14:00:26 -0700 | [diff] [blame] | 275 | |
Edman Anjos | 52088e4 | 2017-01-13 22:26:17 +0100 | [diff] [blame] | 276 | void setPermissionPolicy(in ComponentName admin, in String callerPackage, int policy); |
Amith Yamasani | d49489b | 2015-04-28 14:00:26 -0700 | [diff] [blame] | 277 | int getPermissionPolicy(in ComponentName admin); |
Edman Anjos | 52088e4 | 2017-01-13 22:26:17 +0100 | [diff] [blame] | 278 | boolean setPermissionGrantState(in ComponentName admin, in String callerPackage, String packageName, |
Svet Ganov | d8ecc5a | 2015-05-20 10:45:43 -0700 | [diff] [blame] | 279 | String permission, int grantState); |
Edman Anjos | 52088e4 | 2017-01-13 22:26:17 +0100 | [diff] [blame] | 280 | int getPermissionGrantState(in ComponentName admin, in String callerPackage, String packageName, String permission); |
Esteban Talavera | 0157686 | 2016-12-15 11:16:44 +0000 | [diff] [blame] | 281 | boolean isProvisioningAllowed(String action, String packageName); |
| 282 | int checkProvisioningPreCondition(String action, String packageName); |
Edman Anjos | 52088e4 | 2017-01-13 22:26:17 +0100 | [diff] [blame] | 283 | void setKeepUninstalledPackages(in ComponentName admin, in String callerPackage, in List<String> packageList); |
| 284 | List<String> getKeepUninstalledPackages(in ComponentName admin, in String callerPackage); |
Mahaver Chopra | 15a46b0 | 2015-11-11 14:54:35 +0000 | [diff] [blame] | 285 | boolean isManagedProfile(in ComponentName admin); |
| 286 | boolean isSystemOnlyUser(in ComponentName admin); |
Sudheer Shanka | 3cb4da1 | 2016-03-07 18:51:49 -0800 | [diff] [blame] | 287 | String getWifiMacAddress(in ComponentName admin); |
Mahaver Chopra | 1ce53bc | 2015-12-14 13:35:14 +0000 | [diff] [blame] | 288 | void reboot(in ComponentName admin); |
Kenny Guy | 06de4e7 | 2015-12-22 12:07:39 +0000 | [diff] [blame] | 289 | |
Sudheer Shanka | 3ccca91e | 2016-04-11 21:36:17 -0700 | [diff] [blame] | 290 | void setShortSupportMessage(in ComponentName admin, in CharSequence message); |
| 291 | CharSequence getShortSupportMessage(in ComponentName admin); |
| 292 | void setLongSupportMessage(in ComponentName admin, in CharSequence message); |
| 293 | CharSequence getLongSupportMessage(in ComponentName admin); |
Kenny Guy | 06de4e7 | 2015-12-22 12:07:39 +0000 | [diff] [blame] | 294 | |
Sudheer Shanka | 3ccca91e | 2016-04-11 21:36:17 -0700 | [diff] [blame] | 295 | CharSequence getShortSupportMessageForUser(in ComponentName admin, int userHandle); |
| 296 | CharSequence getLongSupportMessageForUser(in ComponentName admin, int userHandle); |
Clara Bayarri | a177111 | 2015-12-18 16:29:18 +0000 | [diff] [blame] | 297 | |
| 298 | boolean isSeparateProfileChallengeAllowed(int userHandle); |
Benjamin Franz | 59720bb | 2016-01-18 15:26:11 +0000 | [diff] [blame] | 299 | |
| 300 | void setOrganizationColor(in ComponentName admin, in int color); |
Nicolas Prevot | 8f7698a | 2016-02-11 16:05:33 +0000 | [diff] [blame] | 301 | void setOrganizationColorForUser(in int color, in int userId); |
Benjamin Franz | 59720bb | 2016-01-18 15:26:11 +0000 | [diff] [blame] | 302 | int getOrganizationColor(in ComponentName admin); |
| 303 | int getOrganizationColorForUser(int userHandle); |
Bartosz Fabianowski | 4c052f2 | 2016-01-25 14:18:43 +0100 | [diff] [blame] | 304 | |
Michal Karpinski | 74cd730 | 2016-04-12 15:17:36 +0100 | [diff] [blame] | 305 | void setOrganizationName(in ComponentName admin, in CharSequence title); |
| 306 | CharSequence getOrganizationName(in ComponentName admin); |
Bartosz Fabianowski | 365a3db | 2016-11-30 18:28:10 +0100 | [diff] [blame] | 307 | CharSequence getDeviceOwnerOrganizationName(); |
Michal Karpinski | 74cd730 | 2016-04-12 15:17:36 +0100 | [diff] [blame] | 308 | CharSequence getOrganizationNameForUser(int userHandle); |
Benjamin Franz | 3e8a709 | 2016-01-25 16:19:08 +0000 | [diff] [blame] | 309 | |
Alan Treadway | afad878 | 2016-01-19 15:15:08 +0000 | [diff] [blame] | 310 | int getUserProvisioningState(); |
| 311 | void setUserProvisioningState(int state, int userHandle); |
| 312 | |
Bartosz Fabianowski | 4c052f2 | 2016-01-25 14:18:43 +0100 | [diff] [blame] | 313 | void setAffiliationIds(in ComponentName admin, in List<String> ids); |
Esteban Talavera | c9bb378 | 2016-11-11 15:41:14 +0000 | [diff] [blame] | 314 | List<String> getAffiliationIds(in ComponentName admin); |
Bartosz Fabianowski | 4c052f2 | 2016-01-25 14:18:43 +0100 | [diff] [blame] | 315 | boolean isAffiliatedUser(); |
Rubin Xu | c3cd05f | 2016-01-11 12:11:35 +0000 | [diff] [blame] | 316 | |
Michal Karpinski | 6235a94 | 2016-03-15 12:07:23 +0000 | [diff] [blame] | 317 | void setSecurityLoggingEnabled(in ComponentName admin, boolean enabled); |
| 318 | boolean isSecurityLoggingEnabled(in ComponentName admin); |
| 319 | ParceledListSlice retrieveSecurityLogs(in ComponentName admin); |
| 320 | ParceledListSlice retrievePreRebootSecurityLogs(in ComponentName admin); |
Suprabh Shukla | a2ae223 | 2016-01-28 18:05:14 -0800 | [diff] [blame] | 321 | |
| 322 | boolean isUninstallInQueue(String packageName); |
| 323 | void uninstallPackageWithActiveAdmins(String packageName); |
Mahaver Chopra | 790d198 | 2016-07-07 16:06:49 +0100 | [diff] [blame] | 324 | |
| 325 | boolean isDeviceProvisioned(); |
Benjamin Franz | 2aa9bab | 2016-07-11 19:10:36 +0100 | [diff] [blame] | 326 | boolean isDeviceProvisioningConfigApplied(); |
| 327 | void setDeviceProvisioningConfigApplied(); |
Victor Chang | 9bfc65f | 2016-08-15 12:27:09 +0100 | [diff] [blame] | 328 | |
| 329 | void forceUpdateUserSetupComplete(); |
Vladislav Kuzkokov | a820252 | 2016-08-18 19:01:27 +0200 | [diff] [blame] | 330 | |
| 331 | void setBackupServiceEnabled(in ComponentName admin, boolean enabled); |
| 332 | boolean isBackupServiceEnabled(in ComponentName admin); |
Michal Karpinski | dd9bb4f | 2016-10-12 14:59:26 +0100 | [diff] [blame] | 333 | |
| 334 | void setNetworkLoggingEnabled(in ComponentName admin, boolean enabled); |
| 335 | boolean isNetworkLoggingEnabled(in ComponentName admin); |
Michal Karpinski | a9ff206 | 2016-11-03 15:46:17 +0000 | [diff] [blame] | 336 | List<NetworkEvent> retrieveNetworkLogs(in ComponentName admin, long batchToken); |
Tony Mak | 46aabe5 | 2016-11-14 12:53:06 +0000 | [diff] [blame] | 337 | |
| 338 | boolean bindDeviceAdminServiceAsUser(in ComponentName admin, |
| 339 | IApplicationThread caller, IBinder token, in Intent service, |
| 340 | IServiceConnection connection, int flags, int targetUserId); |
Esteban Talavera | fc291bc | 2016-11-21 13:52:03 +0000 | [diff] [blame] | 341 | List<UserHandle> getBindDeviceAdminTargetUsers(in ComponentName admin); |
Bartosz Fabianowski | b21b241 | 2016-11-17 04:53:33 +0100 | [diff] [blame] | 342 | |
| 343 | long getLastSecurityLogRetrievalTime(); |
| 344 | long getLastBugReportRequestTime(); |
| 345 | long getLastNetworkLogRetrievalTime(); |
Rubin Xu | aab7a41 | 2016-12-30 21:13:29 +0000 | [diff] [blame] | 346 | |
| 347 | boolean setResetPasswordToken(in ComponentName admin, in byte[] token); |
| 348 | boolean clearResetPasswordToken(in ComponentName admin); |
| 349 | boolean isResetPasswordTokenActive(in ComponentName admin); |
| 350 | boolean resetPasswordWithToken(in ComponentName admin, String password, in byte[] token, int flags); |
Bartosz Fabianowski | aff5e9c | 2017-01-25 06:09:13 +0100 | [diff] [blame] | 351 | |
| 352 | boolean isDefaultInputMethodSetByOwner(in UserHandle user); |
Bartosz Fabianowski | 05dc9f7 | 2017-02-22 23:41:14 +0100 | [diff] [blame^] | 353 | StringParceledListSlice getOwnerInstalledCaCerts(in UserHandle user); |
Dianne Hackborn | d684784 | 2010-01-12 18:14:19 -0800 | [diff] [blame] | 354 | } |