• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
18 package android.app.admin;
19 
20 import android.app.admin.SystemUpdatePolicy;
21 import android.content.ComponentName;
22 import android.content.Intent;
23 import android.content.IntentFilter;
24 import android.graphics.Bitmap;
25 import android.net.ProxyInfo;
26 import android.net.Uri;
27 import android.os.Bundle;
28 import android.os.PersistableBundle;
29 import android.os.RemoteCallback;
30 import android.os.UserHandle;
31 import java.util.List;
32 
33 /**
34  * Internal IPC interface to the device policy service.
35  * {@hide}
36  */
37 interface IDevicePolicyManager {
setPasswordQuality(in ComponentName who, int quality)38     void setPasswordQuality(in ComponentName who, int quality);
getPasswordQuality(in ComponentName who, int userHandle)39     int getPasswordQuality(in ComponentName who, int userHandle);
40 
setPasswordMinimumLength(in ComponentName who, int length)41     void setPasswordMinimumLength(in ComponentName who, int length);
getPasswordMinimumLength(in ComponentName who, int userHandle)42     int getPasswordMinimumLength(in ComponentName who, int userHandle);
43 
setPasswordMinimumUpperCase(in ComponentName who, int length)44     void setPasswordMinimumUpperCase(in ComponentName who, int length);
getPasswordMinimumUpperCase(in ComponentName who, int userHandle)45     int getPasswordMinimumUpperCase(in ComponentName who, int userHandle);
46 
setPasswordMinimumLowerCase(in ComponentName who, int length)47     void setPasswordMinimumLowerCase(in ComponentName who, int length);
getPasswordMinimumLowerCase(in ComponentName who, int userHandle)48     int getPasswordMinimumLowerCase(in ComponentName who, int userHandle);
49 
setPasswordMinimumLetters(in ComponentName who, int length)50     void setPasswordMinimumLetters(in ComponentName who, int length);
getPasswordMinimumLetters(in ComponentName who, int userHandle)51     int getPasswordMinimumLetters(in ComponentName who, int userHandle);
52 
setPasswordMinimumNumeric(in ComponentName who, int length)53     void setPasswordMinimumNumeric(in ComponentName who, int length);
getPasswordMinimumNumeric(in ComponentName who, int userHandle)54     int getPasswordMinimumNumeric(in ComponentName who, int userHandle);
55 
setPasswordMinimumSymbols(in ComponentName who, int length)56     void setPasswordMinimumSymbols(in ComponentName who, int length);
getPasswordMinimumSymbols(in ComponentName who, int userHandle)57     int getPasswordMinimumSymbols(in ComponentName who, int userHandle);
58 
setPasswordMinimumNonLetter(in ComponentName who, int length)59     void setPasswordMinimumNonLetter(in ComponentName who, int length);
getPasswordMinimumNonLetter(in ComponentName who, int userHandle)60     int getPasswordMinimumNonLetter(in ComponentName who, int userHandle);
61 
setPasswordHistoryLength(in ComponentName who, int length)62     void setPasswordHistoryLength(in ComponentName who, int length);
getPasswordHistoryLength(in ComponentName who, int userHandle)63     int getPasswordHistoryLength(in ComponentName who, int userHandle);
64 
setPasswordExpirationTimeout(in ComponentName who, long expiration)65     void setPasswordExpirationTimeout(in ComponentName who, long expiration);
getPasswordExpirationTimeout(in ComponentName who, int userHandle)66     long getPasswordExpirationTimeout(in ComponentName who, int userHandle);
67 
getPasswordExpiration(in ComponentName who, int userHandle)68     long getPasswordExpiration(in ComponentName who, int userHandle);
69 
isActivePasswordSufficient(int userHandle)70     boolean isActivePasswordSufficient(int userHandle);
getCurrentFailedPasswordAttempts(int userHandle)71     int getCurrentFailedPasswordAttempts(int userHandle);
getProfileWithMinimumFailedPasswordsForWipe(int userHandle)72     int getProfileWithMinimumFailedPasswordsForWipe(int userHandle);
73 
setMaximumFailedPasswordsForWipe(in ComponentName admin, int num)74     void setMaximumFailedPasswordsForWipe(in ComponentName admin, int num);
getMaximumFailedPasswordsForWipe(in ComponentName admin, int userHandle)75     int getMaximumFailedPasswordsForWipe(in ComponentName admin, int userHandle);
76 
resetPassword(String password, int flags)77     boolean resetPassword(String password, int flags);
78 
setMaximumTimeToLock(in ComponentName who, long timeMs)79     void setMaximumTimeToLock(in ComponentName who, long timeMs);
getMaximumTimeToLock(in ComponentName who, int userHandle)80     long getMaximumTimeToLock(in ComponentName who, int userHandle);
81 
lockNow()82     void lockNow();
83 
wipeData(int flags, int userHandle)84     void wipeData(int flags, int userHandle);
85 
setGlobalProxy(in ComponentName admin, String proxySpec, String exclusionList)86     ComponentName setGlobalProxy(in ComponentName admin, String proxySpec, String exclusionList);
getGlobalProxyAdmin(int userHandle)87     ComponentName getGlobalProxyAdmin(int userHandle);
setRecommendedGlobalProxy(in ComponentName admin, in ProxyInfo proxyInfo)88     void setRecommendedGlobalProxy(in ComponentName admin, in ProxyInfo proxyInfo);
89 
setStorageEncryption(in ComponentName who, boolean encrypt)90     int setStorageEncryption(in ComponentName who, boolean encrypt);
getStorageEncryption(in ComponentName who, int userHandle)91     boolean getStorageEncryption(in ComponentName who, int userHandle);
getStorageEncryptionStatus(int userHandle)92     int getStorageEncryptionStatus(int userHandle);
93 
setCameraDisabled(in ComponentName who, boolean disabled)94     void setCameraDisabled(in ComponentName who, boolean disabled);
getCameraDisabled(in ComponentName who, int userHandle)95     boolean getCameraDisabled(in ComponentName who, int userHandle);
96 
setScreenCaptureDisabled(in ComponentName who, boolean disabled)97     void setScreenCaptureDisabled(in ComponentName who, boolean disabled);
getScreenCaptureDisabled(in ComponentName who, int userHandle)98     boolean getScreenCaptureDisabled(in ComponentName who, int userHandle);
99 
setKeyguardDisabledFeatures(in ComponentName who, int which)100     void setKeyguardDisabledFeatures(in ComponentName who, int which);
getKeyguardDisabledFeatures(in ComponentName who, int userHandle)101     int getKeyguardDisabledFeatures(in ComponentName who, int userHandle);
102 
setActiveAdmin(in ComponentName policyReceiver, boolean refreshing, int userHandle)103     void setActiveAdmin(in ComponentName policyReceiver, boolean refreshing, int userHandle);
isAdminActive(in ComponentName policyReceiver, int userHandle)104     boolean isAdminActive(in ComponentName policyReceiver, int userHandle);
getActiveAdmins(int userHandle)105     List<ComponentName> getActiveAdmins(int userHandle);
packageHasActiveAdmins(String packageName, int userHandle)106     boolean packageHasActiveAdmins(String packageName, int userHandle);
getRemoveWarning(in ComponentName policyReceiver, in RemoteCallback result, int userHandle)107     void getRemoveWarning(in ComponentName policyReceiver, in RemoteCallback result, int userHandle);
removeActiveAdmin(in ComponentName policyReceiver, int userHandle)108     void removeActiveAdmin(in ComponentName policyReceiver, int userHandle);
hasGrantedPolicy(in ComponentName policyReceiver, int usesPolicy, int userHandle)109     boolean hasGrantedPolicy(in ComponentName policyReceiver, int usesPolicy, int userHandle);
110 
setActivePasswordState(int quality, int length, int letters, int uppercase, int lowercase, int numbers, int symbols, int nonletter, int userHandle)111     void setActivePasswordState(int quality, int length, int letters, int uppercase, int lowercase,
112         int numbers, int symbols, int nonletter, int userHandle);
reportFailedPasswordAttempt(int userHandle)113     void reportFailedPasswordAttempt(int userHandle);
reportSuccessfulPasswordAttempt(int userHandle)114     void reportSuccessfulPasswordAttempt(int userHandle);
115 
setDeviceOwner(String packageName, String ownerName)116     boolean setDeviceOwner(String packageName, String ownerName);
isDeviceOwner(String packageName)117     boolean isDeviceOwner(String packageName);
getDeviceOwner()118     String getDeviceOwner();
getDeviceOwnerName()119     String getDeviceOwnerName();
clearDeviceOwner(String packageName)120     void clearDeviceOwner(String packageName);
121 
setProfileOwner(in ComponentName who, String ownerName, int userHandle)122     boolean setProfileOwner(in ComponentName who, String ownerName, int userHandle);
getProfileOwner(int userHandle)123     ComponentName getProfileOwner(int userHandle);
getProfileOwnerName(int userHandle)124     String getProfileOwnerName(int userHandle);
setProfileEnabled(in ComponentName who)125     void setProfileEnabled(in ComponentName who);
setProfileName(in ComponentName who, String profileName)126     void setProfileName(in ComponentName who, String profileName);
clearProfileOwner(in ComponentName who)127     void clearProfileOwner(in ComponentName who);
hasUserSetupCompleted()128     boolean hasUserSetupCompleted();
129 
installCaCert(in ComponentName admin, in byte[] certBuffer)130     boolean installCaCert(in ComponentName admin, in byte[] certBuffer);
uninstallCaCerts(in ComponentName admin, in String[] aliases)131     void uninstallCaCerts(in ComponentName admin, in String[] aliases);
enforceCanManageCaCerts(in ComponentName admin)132     void enforceCanManageCaCerts(in ComponentName admin);
133 
installKeyPair(in ComponentName who, in byte[] privKeyBuffer, in byte[] certBuffer, String alias)134     boolean installKeyPair(in ComponentName who, in byte[] privKeyBuffer, in byte[] certBuffer, String alias);
choosePrivateKeyAlias(int uid, in Uri uri, in String alias, IBinder aliasCallback)135     void choosePrivateKeyAlias(int uid, in Uri uri, in String alias, IBinder aliasCallback);
136 
setCertInstallerPackage(in ComponentName who, String installerPackage)137     void setCertInstallerPackage(in ComponentName who, String installerPackage);
getCertInstallerPackage(in ComponentName who)138     String getCertInstallerPackage(in ComponentName who);
139 
addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity)140     void addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity);
clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName)141     void clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName);
142 
setApplicationRestrictions(in ComponentName who, in String packageName, in Bundle settings)143     void setApplicationRestrictions(in ComponentName who, in String packageName, in Bundle settings);
getApplicationRestrictions(in ComponentName who, in String packageName)144     Bundle getApplicationRestrictions(in ComponentName who, in String packageName);
145 
setRestrictionsProvider(in ComponentName who, in ComponentName provider)146     void setRestrictionsProvider(in ComponentName who, in ComponentName provider);
getRestrictionsProvider(int userHandle)147     ComponentName getRestrictionsProvider(int userHandle);
148 
setUserRestriction(in ComponentName who, in String key, boolean enable)149     void setUserRestriction(in ComponentName who, in String key, boolean enable);
addCrossProfileIntentFilter(in ComponentName admin, in IntentFilter filter, int flags)150     void addCrossProfileIntentFilter(in ComponentName admin, in IntentFilter filter, int flags);
clearCrossProfileIntentFilters(in ComponentName admin)151     void clearCrossProfileIntentFilters(in ComponentName admin);
152 
setPermittedAccessibilityServices(in ComponentName admin,in List packageList)153     boolean setPermittedAccessibilityServices(in ComponentName admin,in List packageList);
getPermittedAccessibilityServices(in ComponentName admin)154     List getPermittedAccessibilityServices(in ComponentName admin);
getPermittedAccessibilityServicesForUser(int userId)155     List getPermittedAccessibilityServicesForUser(int userId);
156 
setPermittedInputMethods(in ComponentName admin,in List packageList)157     boolean setPermittedInputMethods(in ComponentName admin,in List packageList);
getPermittedInputMethods(in ComponentName admin)158     List getPermittedInputMethods(in ComponentName admin);
getPermittedInputMethodsForCurrentUser()159     List getPermittedInputMethodsForCurrentUser();
160 
setApplicationHidden(in ComponentName admin, in String packageName, boolean hidden)161     boolean setApplicationHidden(in ComponentName admin, in String packageName, boolean hidden);
isApplicationHidden(in ComponentName admin, in String packageName)162     boolean isApplicationHidden(in ComponentName admin, in String packageName);
163 
createUser(in ComponentName who, in String name)164     UserHandle createUser(in ComponentName who, in String name);
createAndInitializeUser(in ComponentName who, in String name, in String profileOwnerName, in ComponentName profileOwnerComponent, in Bundle adminExtras)165     UserHandle createAndInitializeUser(in ComponentName who, in String name, in String profileOwnerName, in ComponentName profileOwnerComponent, in Bundle adminExtras);
removeUser(in ComponentName who, in UserHandle userHandle)166     boolean removeUser(in ComponentName who, in UserHandle userHandle);
switchUser(in ComponentName who, in UserHandle userHandle)167     boolean switchUser(in ComponentName who, in UserHandle userHandle);
168 
enableSystemApp(in ComponentName admin, in String packageName)169     void enableSystemApp(in ComponentName admin, in String packageName);
enableSystemAppWithIntent(in ComponentName admin, in Intent intent)170     int enableSystemAppWithIntent(in ComponentName admin, in Intent intent);
171 
setAccountManagementDisabled(in ComponentName who, in String accountType, in boolean disabled)172     void setAccountManagementDisabled(in ComponentName who, in String accountType, in boolean disabled);
getAccountTypesWithManagementDisabled()173     String[] getAccountTypesWithManagementDisabled();
getAccountTypesWithManagementDisabledAsUser(int userId)174     String[] getAccountTypesWithManagementDisabledAsUser(int userId);
175 
setLockTaskPackages(in ComponentName who, in String[] packages)176     void setLockTaskPackages(in ComponentName who, in String[] packages);
getLockTaskPackages(in ComponentName who)177     String[] getLockTaskPackages(in ComponentName who);
isLockTaskPermitted(in String pkg)178     boolean isLockTaskPermitted(in String pkg);
179 
setGlobalSetting(in ComponentName who, in String setting, in String value)180     void setGlobalSetting(in ComponentName who, in String setting, in String value);
setSecureSetting(in ComponentName who, in String setting, in String value)181     void setSecureSetting(in ComponentName who, in String setting, in String value);
182 
setMasterVolumeMuted(in ComponentName admin, boolean on)183     void setMasterVolumeMuted(in ComponentName admin, boolean on);
isMasterVolumeMuted(in ComponentName admin)184     boolean isMasterVolumeMuted(in ComponentName admin);
185 
notifyLockTaskModeChanged(boolean isEnabled, String pkg, int userId)186     void notifyLockTaskModeChanged(boolean isEnabled, String pkg, int userId);
187 
setUninstallBlocked(in ComponentName admin, in String packageName, boolean uninstallBlocked)188     void setUninstallBlocked(in ComponentName admin, in String packageName, boolean uninstallBlocked);
isUninstallBlocked(in ComponentName admin, in String packageName)189     boolean isUninstallBlocked(in ComponentName admin, in String packageName);
190 
setCrossProfileCallerIdDisabled(in ComponentName who, boolean disabled)191     void setCrossProfileCallerIdDisabled(in ComponentName who, boolean disabled);
getCrossProfileCallerIdDisabled(in ComponentName who)192     boolean getCrossProfileCallerIdDisabled(in ComponentName who);
getCrossProfileCallerIdDisabledForUser(int userId)193     boolean getCrossProfileCallerIdDisabledForUser(int userId);
startManagedQuickContact(String lookupKey, long contactId, in Intent originalIntent)194     void startManagedQuickContact(String lookupKey, long contactId, in Intent originalIntent);
195 
setBluetoothContactSharingDisabled(in ComponentName who, boolean disabled)196     void setBluetoothContactSharingDisabled(in ComponentName who, boolean disabled);
getBluetoothContactSharingDisabled(in ComponentName who)197     boolean getBluetoothContactSharingDisabled(in ComponentName who);
getBluetoothContactSharingDisabledForUser(int userId)198     boolean getBluetoothContactSharingDisabledForUser(int userId);
199 
setTrustAgentConfiguration(in ComponentName admin, in ComponentName agent, in PersistableBundle args)200     void setTrustAgentConfiguration(in ComponentName admin, in ComponentName agent,
201             in PersistableBundle args);
getTrustAgentConfiguration(in ComponentName admin, in ComponentName agent, int userId)202     List<PersistableBundle> getTrustAgentConfiguration(in ComponentName admin,
203             in ComponentName agent, int userId);
204 
addCrossProfileWidgetProvider(in ComponentName admin, String packageName)205     boolean addCrossProfileWidgetProvider(in ComponentName admin, String packageName);
removeCrossProfileWidgetProvider(in ComponentName admin, String packageName)206     boolean removeCrossProfileWidgetProvider(in ComponentName admin, String packageName);
getCrossProfileWidgetProviders(in ComponentName admin)207     List<String> getCrossProfileWidgetProviders(in ComponentName admin);
208 
setAutoTimeRequired(in ComponentName who, boolean required)209     void setAutoTimeRequired(in ComponentName who, boolean required);
getAutoTimeRequired()210     boolean getAutoTimeRequired();
211 
isRemovingAdmin(in ComponentName adminReceiver, int userHandle)212     boolean isRemovingAdmin(in ComponentName adminReceiver, int userHandle);
213 
setUserEnabled(in ComponentName who)214     boolean setUserEnabled(in ComponentName who);
isDeviceInitializer(String packageName)215     boolean isDeviceInitializer(String packageName);
clearDeviceInitializer(in ComponentName who)216     void clearDeviceInitializer(in ComponentName who);
setDeviceInitializer(in ComponentName who, in ComponentName initializer)217     boolean setDeviceInitializer(in ComponentName who, in ComponentName initializer);
getDeviceInitializer()218     String getDeviceInitializer();
getDeviceInitializerComponent()219     ComponentName getDeviceInitializerComponent();
220 
setUserIcon(in ComponentName admin, in Bitmap icon)221     void setUserIcon(in ComponentName admin, in Bitmap icon);
222 
setSystemUpdatePolicy(in ComponentName who, in SystemUpdatePolicy policy)223     void setSystemUpdatePolicy(in ComponentName who, in SystemUpdatePolicy policy);
getSystemUpdatePolicy()224     SystemUpdatePolicy getSystemUpdatePolicy();
225 
setKeyguardDisabled(in ComponentName admin, boolean disabled)226     boolean setKeyguardDisabled(in ComponentName admin, boolean disabled);
setStatusBarDisabled(in ComponentName who, boolean disabled)227     boolean setStatusBarDisabled(in ComponentName who, boolean disabled);
getDoNotAskCredentialsOnBoot()228     boolean getDoNotAskCredentialsOnBoot();
229 
notifyPendingSystemUpdate(in long updateReceivedTime)230     void notifyPendingSystemUpdate(in long updateReceivedTime);
231 
setPermissionPolicy(in ComponentName admin, int policy)232     void setPermissionPolicy(in ComponentName admin, int policy);
getPermissionPolicy(in ComponentName admin)233     int  getPermissionPolicy(in ComponentName admin);
setPermissionGrantState(in ComponentName admin, String packageName, String permission, int grantState)234     boolean setPermissionGrantState(in ComponentName admin, String packageName,
235             String permission, int grantState);
getPermissionGrantState(in ComponentName admin, String packageName, String permission)236     int getPermissionGrantState(in ComponentName admin, String packageName, String permission);
237 }
238