Loading api/current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -4922,6 +4922,7 @@ package android.app.admin { method public void addPersistentPreferredActivity(android.content.ComponentName, android.content.IntentFilter, android.content.ComponentName); method public void clearPackagePersistentPreferredActivities(android.content.ComponentName, java.lang.String); method public java.util.List<android.content.ComponentName> getActiveAdmins(); method public android.os.Bundle getApplicationRestrictions(android.content.ComponentName, java.lang.String); method public boolean getCameraDisabled(android.content.ComponentName); method public int getCurrentFailedPasswordAttempts(); method public int getKeyguardDisabledFeatures(android.content.ComponentName); Loading Loading @@ -4949,6 +4950,7 @@ package android.app.admin { method public void lockNow(); method public void removeActiveAdmin(android.content.ComponentName); method public boolean resetPassword(java.lang.String, int); method public void setApplicationRestrictions(android.content.ComponentName, java.lang.String, android.os.Bundle); method public void setCameraDisabled(android.content.ComponentName, boolean); method public void setKeyguardDisabledFeatures(android.content.ComponentName, int); method public void setMaximumFailedPasswordsForWipe(android.content.ComponentName, int); Loading Loading @@ -6825,6 +6827,7 @@ package android.content { field public static final java.lang.String ACTION_AIRPLANE_MODE_CHANGED = "android.intent.action.AIRPLANE_MODE"; field public static final java.lang.String ACTION_ALL_APPS = "android.intent.action.ALL_APPS"; field public static final java.lang.String ACTION_ANSWER = "android.intent.action.ANSWER"; field public static final java.lang.String ACTION_APPLICATION_RESTRICTIONS_CHANGED = "android.intent.action.APPLICATION_RESTRICTIONS_CHANGED"; field public static final java.lang.String ACTION_APP_ERROR = "android.intent.action.APP_ERROR"; field public static final java.lang.String ACTION_ASSIST = "android.intent.action.ASSIST"; field public static final java.lang.String ACTION_ATTACH_DATA = "android.intent.action.ATTACH_DATA"; core/java/android/app/admin/DevicePolicyManager.java +56 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.IntentFilter; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Bundle; import android.os.Handler; import android.os.Process; import android.os.RemoteCallback; Loading Loading @@ -1880,4 +1881,59 @@ public class DevicePolicyManager { } } } /** * Called by a profile or device owner to set the application restrictions for a given target * application running in the managed profile. * * <p>The provided {@link Bundle} consists of key-value pairs, where the types of values may be * {@link Boolean}, {@link String}, or {@link String}[]. The recommended format for key strings * is "com.example.packagename/example-setting" to avoid naming conflicts with library * components such as {@link android.webkit.WebView}. * * <p>The application restrictions are only made visible to the target application and the * profile or device owner. * * <p>The calling device admin must be a profile or device owner; if it is not, a security * exception will be thrown. * * @param admin Which {@link DeviceAdminReceiver} this request is associated with. * @param packageName The name of the package to update restricted settings for. * @param settings A {@link Bundle} to be parsed by the receiving application, conveying a new * set of active restrictions. */ public void setApplicationRestrictions(ComponentName admin, String packageName, Bundle settings) { if (mService != null) { try { mService.setApplicationRestrictions(admin, packageName, settings); } catch (RemoteException e) { Log.w(TAG, "Failed talking with device policy service", e); } } } /** * Called by a profile or device owner to get the application restrictions for a given target * application running in the managed profile. * * <p>The calling device admin must be a profile or device owner; if it is not, a security * exception will be thrown. * * @param admin Which {@link DeviceAdminReceiver} this request is associated with. * @param packageName The name of the package to fetch restricted settings of. * @return {@link Bundle} of settings corresponding to what was set last time * {@link DevicePolicyManager#setApplicationRestrictions} was called, or an empty {@link Bundle} * if no restrictions have been set. */ public Bundle getApplicationRestrictions(ComponentName admin, String packageName) { if (mService != null) { try { return mService.getApplicationRestrictions(admin, packageName); } catch (RemoteException e) { Log.w(TAG, "Failed talking with device policy service", e); } } return null; } } core/java/android/app/admin/IDevicePolicyManager.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.app.admin; import android.content.ComponentName; import android.content.IntentFilter; import android.os.Bundle; import android.os.RemoteCallback; /** Loading Loading @@ -114,4 +115,7 @@ interface IDevicePolicyManager { void addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity); void clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName); void setApplicationRestrictions(in ComponentName who, in String packageName, in Bundle settings); Bundle getApplicationRestrictions(in ComponentName who, in String packageName); } core/java/android/content/Intent.java +10 −0 Original line number Diff line number Diff line Loading @@ -2305,6 +2305,16 @@ public class Intent implements Parcelable, Cloneable { public static final String ACTION_ADVANCED_SETTINGS_CHANGED = "android.intent.action.ADVANCED_SETTINGS"; /** * Broadcast Action: Sent after application restrictions are changed. * * <p class="note">This is a protected intent that can only be sent * by the system.</p> */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_APPLICATION_RESTRICTIONS_CHANGED = "android.intent.action.APPLICATION_RESTRICTIONS_CHANGED"; /** * Broadcast Action: An outgoing call is about to be placed. * Loading core/res/AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -239,6 +239,7 @@ <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" /> <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" /> <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" /> <protected-broadcast android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" /> <protected-broadcast android:name="android.intent.action.BUGREPORT_FINISHED" /> <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" /> Loading Loading
api/current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -4922,6 +4922,7 @@ package android.app.admin { method public void addPersistentPreferredActivity(android.content.ComponentName, android.content.IntentFilter, android.content.ComponentName); method public void clearPackagePersistentPreferredActivities(android.content.ComponentName, java.lang.String); method public java.util.List<android.content.ComponentName> getActiveAdmins(); method public android.os.Bundle getApplicationRestrictions(android.content.ComponentName, java.lang.String); method public boolean getCameraDisabled(android.content.ComponentName); method public int getCurrentFailedPasswordAttempts(); method public int getKeyguardDisabledFeatures(android.content.ComponentName); Loading Loading @@ -4949,6 +4950,7 @@ package android.app.admin { method public void lockNow(); method public void removeActiveAdmin(android.content.ComponentName); method public boolean resetPassword(java.lang.String, int); method public void setApplicationRestrictions(android.content.ComponentName, java.lang.String, android.os.Bundle); method public void setCameraDisabled(android.content.ComponentName, boolean); method public void setKeyguardDisabledFeatures(android.content.ComponentName, int); method public void setMaximumFailedPasswordsForWipe(android.content.ComponentName, int); Loading Loading @@ -6825,6 +6827,7 @@ package android.content { field public static final java.lang.String ACTION_AIRPLANE_MODE_CHANGED = "android.intent.action.AIRPLANE_MODE"; field public static final java.lang.String ACTION_ALL_APPS = "android.intent.action.ALL_APPS"; field public static final java.lang.String ACTION_ANSWER = "android.intent.action.ANSWER"; field public static final java.lang.String ACTION_APPLICATION_RESTRICTIONS_CHANGED = "android.intent.action.APPLICATION_RESTRICTIONS_CHANGED"; field public static final java.lang.String ACTION_APP_ERROR = "android.intent.action.APP_ERROR"; field public static final java.lang.String ACTION_ASSIST = "android.intent.action.ASSIST"; field public static final java.lang.String ACTION_ATTACH_DATA = "android.intent.action.ATTACH_DATA";
core/java/android/app/admin/DevicePolicyManager.java +56 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.IntentFilter; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Bundle; import android.os.Handler; import android.os.Process; import android.os.RemoteCallback; Loading Loading @@ -1880,4 +1881,59 @@ public class DevicePolicyManager { } } } /** * Called by a profile or device owner to set the application restrictions for a given target * application running in the managed profile. * * <p>The provided {@link Bundle} consists of key-value pairs, where the types of values may be * {@link Boolean}, {@link String}, or {@link String}[]. The recommended format for key strings * is "com.example.packagename/example-setting" to avoid naming conflicts with library * components such as {@link android.webkit.WebView}. * * <p>The application restrictions are only made visible to the target application and the * profile or device owner. * * <p>The calling device admin must be a profile or device owner; if it is not, a security * exception will be thrown. * * @param admin Which {@link DeviceAdminReceiver} this request is associated with. * @param packageName The name of the package to update restricted settings for. * @param settings A {@link Bundle} to be parsed by the receiving application, conveying a new * set of active restrictions. */ public void setApplicationRestrictions(ComponentName admin, String packageName, Bundle settings) { if (mService != null) { try { mService.setApplicationRestrictions(admin, packageName, settings); } catch (RemoteException e) { Log.w(TAG, "Failed talking with device policy service", e); } } } /** * Called by a profile or device owner to get the application restrictions for a given target * application running in the managed profile. * * <p>The calling device admin must be a profile or device owner; if it is not, a security * exception will be thrown. * * @param admin Which {@link DeviceAdminReceiver} this request is associated with. * @param packageName The name of the package to fetch restricted settings of. * @return {@link Bundle} of settings corresponding to what was set last time * {@link DevicePolicyManager#setApplicationRestrictions} was called, or an empty {@link Bundle} * if no restrictions have been set. */ public Bundle getApplicationRestrictions(ComponentName admin, String packageName) { if (mService != null) { try { return mService.getApplicationRestrictions(admin, packageName); } catch (RemoteException e) { Log.w(TAG, "Failed talking with device policy service", e); } } return null; } }
core/java/android/app/admin/IDevicePolicyManager.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.app.admin; import android.content.ComponentName; import android.content.IntentFilter; import android.os.Bundle; import android.os.RemoteCallback; /** Loading Loading @@ -114,4 +115,7 @@ interface IDevicePolicyManager { void addPersistentPreferredActivity(in ComponentName admin, in IntentFilter filter, in ComponentName activity); void clearPackagePersistentPreferredActivities(in ComponentName admin, String packageName); void setApplicationRestrictions(in ComponentName who, in String packageName, in Bundle settings); Bundle getApplicationRestrictions(in ComponentName who, in String packageName); }
core/java/android/content/Intent.java +10 −0 Original line number Diff line number Diff line Loading @@ -2305,6 +2305,16 @@ public class Intent implements Parcelable, Cloneable { public static final String ACTION_ADVANCED_SETTINGS_CHANGED = "android.intent.action.ADVANCED_SETTINGS"; /** * Broadcast Action: Sent after application restrictions are changed. * * <p class="note">This is a protected intent that can only be sent * by the system.</p> */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_APPLICATION_RESTRICTIONS_CHANGED = "android.intent.action.APPLICATION_RESTRICTIONS_CHANGED"; /** * Broadcast Action: An outgoing call is about to be placed. * Loading
core/res/AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -239,6 +239,7 @@ <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" /> <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" /> <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" /> <protected-broadcast android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" /> <protected-broadcast android:name="android.intent.action.BUGREPORT_FINISHED" /> <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" /> Loading