Loading Android.mk +1 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,7 @@ LOCAL_SRC_FILES += \ core/java/android/content/IIntentReceiver.aidl \ core/java/android/content/IIntentSender.aidl \ core/java/android/content/IOnPrimaryClipChangedListener.aidl \ core/java/android/content/IRestrictionsManager.aidl \ core/java/android/content/ISyncAdapter.aidl \ core/java/android/content/ISyncContext.aidl \ core/java/android/content/ISyncServiceAdapter.aidl \ Loading api/current.txt +31 −0 Original line number Diff line number Diff line Loading @@ -5229,6 +5229,7 @@ package android.app.admin { method public void setPasswordMinimumUpperCase(android.content.ComponentName, int); method public void setPasswordQuality(android.content.ComponentName, int); method public void setProfileEnabled(android.content.ComponentName); method public void setRestrictionsProvider(android.content.ComponentName, android.content.ComponentName); method public void setSecureSetting(android.content.ComponentName, java.lang.String, java.lang.String); method public int setStorageEncryption(android.content.ComponentName, boolean); method public void wipeData(int); Loading Loading @@ -7024,6 +7025,7 @@ package android.content { field public static final java.lang.String NSD_SERVICE = "servicediscovery"; field public static final java.lang.String POWER_SERVICE = "power"; field public static final java.lang.String PRINT_SERVICE = "print"; field public static final java.lang.String RESTRICTIONS_SERVICE = "restrictions"; field public static final java.lang.String SEARCH_SERVICE = "search"; field public static final java.lang.String SENSOR_SERVICE = "sensor"; field public static final java.lang.String STORAGE_SERVICE = "storage"; Loading Loading @@ -7780,12 +7782,14 @@ package android.content { ctor public RestrictionEntry(java.lang.String, java.lang.String); ctor public RestrictionEntry(java.lang.String, boolean); ctor public RestrictionEntry(java.lang.String, java.lang.String[]); ctor public RestrictionEntry(java.lang.String, int); ctor public RestrictionEntry(android.os.Parcel); method public int describeContents(); method public java.lang.String[] getAllSelectedStrings(); method public java.lang.String[] getChoiceEntries(); method public java.lang.String[] getChoiceValues(); method public java.lang.String getDescription(); method public int getIntValue(); method public java.lang.String getKey(); method public boolean getSelectedState(); method public java.lang.String getSelectedString(); Loading @@ -7797,6 +7801,7 @@ package android.content { method public void setChoiceValues(java.lang.String[]); method public void setChoiceValues(android.content.Context, int); method public void setDescription(java.lang.String); method public void setIntValue(int); method public void setSelectedState(boolean); method public void setSelectedString(java.lang.String); method public void setTitle(java.lang.String); Loading @@ -7805,10 +7810,36 @@ package android.content { field public static final android.os.Parcelable.Creator CREATOR; field public static final int TYPE_BOOLEAN = 1; // 0x1 field public static final int TYPE_CHOICE = 2; // 0x2 field public static final int TYPE_INTEGER = 5; // 0x5 field public static final int TYPE_MULTI_SELECT = 4; // 0x4 field public static final int TYPE_NULL = 0; // 0x0 } public class RestrictionsManager { method public android.os.Bundle getApplicationRestrictions(); method public java.util.List<android.content.RestrictionEntry> getManifestRestrictions(java.lang.String); method public boolean hasRestrictionsProvider(); method public void notifyPermissionResponse(java.lang.String, android.os.Bundle); method public void requestPermission(java.lang.String, android.os.Bundle); field public static final java.lang.String ACTION_PERMISSION_RESPONSE_RECEIVED = "android.intent.action.PERMISSION_RESPONSE_RECEIVED"; field public static final java.lang.String ACTION_REQUEST_PERMISSION = "android.intent.action.REQUEST_PERMISSION"; field public static final java.lang.String EXTRA_PACKAGE_NAME = "package_name"; field public static final java.lang.String EXTRA_REQUEST_BUNDLE = "request_bundle"; field public static final java.lang.String EXTRA_RESPONSE_BUNDLE = "response_bundle"; field public static final java.lang.String EXTRA_TEMPLATE_ID = "template_id"; field public static final java.lang.String REQUEST_KEY_APPROVE_LABEL = "android.req_template.accept"; field public static final java.lang.String REQUEST_KEY_DATA = "android.req_template.data"; field public static final java.lang.String REQUEST_KEY_DENY_LABEL = "android.req_template.reject"; field public static final java.lang.String REQUEST_KEY_DEVICE_NAME = "android.req_template.device"; field public static final java.lang.String REQUEST_KEY_ICON = "android.req_template.icon"; field public static final java.lang.String REQUEST_KEY_ID = "android.req_template.req_id"; field public static final java.lang.String REQUEST_KEY_MESSAGE = "android.req_template.mesg"; field public static final java.lang.String REQUEST_KEY_REQUESTOR_NAME = "android.req_template.requestor"; field public static final java.lang.String REQUEST_KEY_TITLE = "android.req_template.title"; field public static final java.lang.String REQUEST_TEMPLATE_QUESTION = "android.req_template.type.simple"; field public static final java.lang.String RESPONSE_KEY_BOOLEAN = "android.req_template.response"; } public class SearchRecentSuggestionsProvider extends android.content.ContentProvider { ctor public SearchRecentSuggestionsProvider(); method public int delete(android.net.Uri, java.lang.String, java.lang.String[]); core/java/android/app/ContextImpl.java +9 −0 Original line number Diff line number Diff line Loading @@ -35,7 +35,9 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.IIntentReceiver; import android.content.IntentSender; import android.content.IRestrictionsManager; import android.content.ReceiverCallNotAllowedException; import android.content.RestrictionsManager; import android.content.ServiceConnection; import android.content.SharedPreferences; import android.content.pm.ApplicationInfo; Loading Loading @@ -662,6 +664,13 @@ class ContextImpl extends Context { } }); registerService(RESTRICTIONS_SERVICE, new ServiceFetcher() { public Object createService(ContextImpl ctx) { IBinder b = ServiceManager.getService(RESTRICTIONS_SERVICE); IRestrictionsManager service = IRestrictionsManager.Stub.asInterface(b); return new RestrictionsManager(ctx, service); } }); registerService(PRINT_SERVICE, new ServiceFetcher() { public Object createService(ContextImpl ctx) { IBinder iBinder = ServiceManager.getService(Context.PRINT_SERVICE); Loading core/java/android/app/admin/DevicePolicyManager.java +20 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.content.IntentFilter; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.RestrictionsManager; import android.os.Bundle; import android.os.Handler; import android.os.Process; Loading Loading @@ -2320,4 +2321,23 @@ public class DevicePolicyManager { } } /** * Designates a specific broadcast receiver component as the provider for * making permission requests of a local or remote administrator of the user. * <p/> * Only a profile owner can designate the restrictions provider. * @param admin Which {@link DeviceAdminReceiver} this request is associated with. * @param receiver The component name of a BroadcastReceiver that handles the * {@link RestrictionsManager#ACTION_REQUEST_PERMISSION} intent. If this param is null, * it removes the restrictions provider previously assigned. */ public void setRestrictionsProvider(ComponentName admin, ComponentName receiver) { if (mService != null) { try { mService.setRestrictionsProvider(admin, receiver); } catch (RemoteException re) { Log.w(TAG, "Failed to set permission provider on device policy service"); } } } } core/java/android/app/admin/IDevicePolicyManager.aidl +3 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,9 @@ interface IDevicePolicyManager { void setApplicationRestrictions(in ComponentName who, in String packageName, in Bundle settings); Bundle getApplicationRestrictions(in ComponentName who, in String packageName); void setRestrictionsProvider(in ComponentName who, in ComponentName provider); ComponentName getRestrictionsProvider(int userHandle); void setUserRestriction(in ComponentName who, in String key, boolean enable); void addCrossProfileIntentFilter(in ComponentName admin, in IntentFilter filter, int flags); void clearCrossProfileIntentFilters(in ComponentName admin); Loading Loading
Android.mk +1 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,7 @@ LOCAL_SRC_FILES += \ core/java/android/content/IIntentReceiver.aidl \ core/java/android/content/IIntentSender.aidl \ core/java/android/content/IOnPrimaryClipChangedListener.aidl \ core/java/android/content/IRestrictionsManager.aidl \ core/java/android/content/ISyncAdapter.aidl \ core/java/android/content/ISyncContext.aidl \ core/java/android/content/ISyncServiceAdapter.aidl \ Loading
api/current.txt +31 −0 Original line number Diff line number Diff line Loading @@ -5229,6 +5229,7 @@ package android.app.admin { method public void setPasswordMinimumUpperCase(android.content.ComponentName, int); method public void setPasswordQuality(android.content.ComponentName, int); method public void setProfileEnabled(android.content.ComponentName); method public void setRestrictionsProvider(android.content.ComponentName, android.content.ComponentName); method public void setSecureSetting(android.content.ComponentName, java.lang.String, java.lang.String); method public int setStorageEncryption(android.content.ComponentName, boolean); method public void wipeData(int); Loading Loading @@ -7024,6 +7025,7 @@ package android.content { field public static final java.lang.String NSD_SERVICE = "servicediscovery"; field public static final java.lang.String POWER_SERVICE = "power"; field public static final java.lang.String PRINT_SERVICE = "print"; field public static final java.lang.String RESTRICTIONS_SERVICE = "restrictions"; field public static final java.lang.String SEARCH_SERVICE = "search"; field public static final java.lang.String SENSOR_SERVICE = "sensor"; field public static final java.lang.String STORAGE_SERVICE = "storage"; Loading Loading @@ -7780,12 +7782,14 @@ package android.content { ctor public RestrictionEntry(java.lang.String, java.lang.String); ctor public RestrictionEntry(java.lang.String, boolean); ctor public RestrictionEntry(java.lang.String, java.lang.String[]); ctor public RestrictionEntry(java.lang.String, int); ctor public RestrictionEntry(android.os.Parcel); method public int describeContents(); method public java.lang.String[] getAllSelectedStrings(); method public java.lang.String[] getChoiceEntries(); method public java.lang.String[] getChoiceValues(); method public java.lang.String getDescription(); method public int getIntValue(); method public java.lang.String getKey(); method public boolean getSelectedState(); method public java.lang.String getSelectedString(); Loading @@ -7797,6 +7801,7 @@ package android.content { method public void setChoiceValues(java.lang.String[]); method public void setChoiceValues(android.content.Context, int); method public void setDescription(java.lang.String); method public void setIntValue(int); method public void setSelectedState(boolean); method public void setSelectedString(java.lang.String); method public void setTitle(java.lang.String); Loading @@ -7805,10 +7810,36 @@ package android.content { field public static final android.os.Parcelable.Creator CREATOR; field public static final int TYPE_BOOLEAN = 1; // 0x1 field public static final int TYPE_CHOICE = 2; // 0x2 field public static final int TYPE_INTEGER = 5; // 0x5 field public static final int TYPE_MULTI_SELECT = 4; // 0x4 field public static final int TYPE_NULL = 0; // 0x0 } public class RestrictionsManager { method public android.os.Bundle getApplicationRestrictions(); method public java.util.List<android.content.RestrictionEntry> getManifestRestrictions(java.lang.String); method public boolean hasRestrictionsProvider(); method public void notifyPermissionResponse(java.lang.String, android.os.Bundle); method public void requestPermission(java.lang.String, android.os.Bundle); field public static final java.lang.String ACTION_PERMISSION_RESPONSE_RECEIVED = "android.intent.action.PERMISSION_RESPONSE_RECEIVED"; field public static final java.lang.String ACTION_REQUEST_PERMISSION = "android.intent.action.REQUEST_PERMISSION"; field public static final java.lang.String EXTRA_PACKAGE_NAME = "package_name"; field public static final java.lang.String EXTRA_REQUEST_BUNDLE = "request_bundle"; field public static final java.lang.String EXTRA_RESPONSE_BUNDLE = "response_bundle"; field public static final java.lang.String EXTRA_TEMPLATE_ID = "template_id"; field public static final java.lang.String REQUEST_KEY_APPROVE_LABEL = "android.req_template.accept"; field public static final java.lang.String REQUEST_KEY_DATA = "android.req_template.data"; field public static final java.lang.String REQUEST_KEY_DENY_LABEL = "android.req_template.reject"; field public static final java.lang.String REQUEST_KEY_DEVICE_NAME = "android.req_template.device"; field public static final java.lang.String REQUEST_KEY_ICON = "android.req_template.icon"; field public static final java.lang.String REQUEST_KEY_ID = "android.req_template.req_id"; field public static final java.lang.String REQUEST_KEY_MESSAGE = "android.req_template.mesg"; field public static final java.lang.String REQUEST_KEY_REQUESTOR_NAME = "android.req_template.requestor"; field public static final java.lang.String REQUEST_KEY_TITLE = "android.req_template.title"; field public static final java.lang.String REQUEST_TEMPLATE_QUESTION = "android.req_template.type.simple"; field public static final java.lang.String RESPONSE_KEY_BOOLEAN = "android.req_template.response"; } public class SearchRecentSuggestionsProvider extends android.content.ContentProvider { ctor public SearchRecentSuggestionsProvider(); method public int delete(android.net.Uri, java.lang.String, java.lang.String[]);
core/java/android/app/ContextImpl.java +9 −0 Original line number Diff line number Diff line Loading @@ -35,7 +35,9 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.IIntentReceiver; import android.content.IntentSender; import android.content.IRestrictionsManager; import android.content.ReceiverCallNotAllowedException; import android.content.RestrictionsManager; import android.content.ServiceConnection; import android.content.SharedPreferences; import android.content.pm.ApplicationInfo; Loading Loading @@ -662,6 +664,13 @@ class ContextImpl extends Context { } }); registerService(RESTRICTIONS_SERVICE, new ServiceFetcher() { public Object createService(ContextImpl ctx) { IBinder b = ServiceManager.getService(RESTRICTIONS_SERVICE); IRestrictionsManager service = IRestrictionsManager.Stub.asInterface(b); return new RestrictionsManager(ctx, service); } }); registerService(PRINT_SERVICE, new ServiceFetcher() { public Object createService(ContextImpl ctx) { IBinder iBinder = ServiceManager.getService(Context.PRINT_SERVICE); Loading
core/java/android/app/admin/DevicePolicyManager.java +20 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.content.IntentFilter; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.RestrictionsManager; import android.os.Bundle; import android.os.Handler; import android.os.Process; Loading Loading @@ -2320,4 +2321,23 @@ public class DevicePolicyManager { } } /** * Designates a specific broadcast receiver component as the provider for * making permission requests of a local or remote administrator of the user. * <p/> * Only a profile owner can designate the restrictions provider. * @param admin Which {@link DeviceAdminReceiver} this request is associated with. * @param receiver The component name of a BroadcastReceiver that handles the * {@link RestrictionsManager#ACTION_REQUEST_PERMISSION} intent. If this param is null, * it removes the restrictions provider previously assigned. */ public void setRestrictionsProvider(ComponentName admin, ComponentName receiver) { if (mService != null) { try { mService.setRestrictionsProvider(admin, receiver); } catch (RemoteException re) { Log.w(TAG, "Failed to set permission provider on device policy service"); } } } }
core/java/android/app/admin/IDevicePolicyManager.aidl +3 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,9 @@ interface IDevicePolicyManager { void setApplicationRestrictions(in ComponentName who, in String packageName, in Bundle settings); Bundle getApplicationRestrictions(in ComponentName who, in String packageName); void setRestrictionsProvider(in ComponentName who, in ComponentName provider); ComponentName getRestrictionsProvider(int userHandle); void setUserRestriction(in ComponentName who, in String key, boolean enable); void addCrossProfileIntentFilter(in ComponentName admin, in IntentFilter filter, int flags); void clearCrossProfileIntentFilters(in ComponentName admin); Loading