Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c79586ed authored by Nicolas Prevot's avatar Nicolas Prevot
Browse files

Cleaning code related to the forwarding intent filters.

Checking for INTERACT_ACROSS_USERS_FULL
Adding equivalent methods in the PackageManager

Change-Id: Iaa1328fa666613a78e67ca669ea045144275e895
parent 6fee7d4c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -5009,12 +5009,12 @@ package android.app.admin {
  }
  public class DevicePolicyManager {
    method public void addForwardingIntentFilter(android.content.ComponentName, android.content.IntentFilter, int);
    method public void addPersistentPreferredActivity(android.content.ComponentName, android.content.IntentFilter, android.content.ComponentName);
    method public void addUserRestriction(android.content.ComponentName, java.lang.String);
    method public void clearForwardingIntentFilters(android.content.ComponentName);
    method public void clearPackagePersistentPreferredActivities(android.content.ComponentName, java.lang.String);
    method public void clearUserRestriction(android.content.ComponentName, java.lang.String);
    method public void forwardMatchingIntents(android.content.ComponentName, android.content.IntentFilter, int);
    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);
+25 −0
Original line number Diff line number Diff line
@@ -1440,6 +1440,31 @@ final class ApplicationPackageManager extends PackageManager {
        return null;
    }

    /**
     * @hide
     */
    @Override
    public void addForwardingIntentFilter(IntentFilter filter, boolean removable, int userIdOrig,
            int userIdDest) {
        try {
            mPM.addForwardingIntentFilter(filter, removable, userIdOrig, userIdDest);
        } catch (RemoteException e) {
            // Should never happen!
        }
    }

    /**
     * @hide
     */
    @Override
    public void clearForwardingIntentFilters(int userIdOrig) {
        try {
            mPM.clearForwardingIntentFilters(userIdOrig);
        } catch (RemoteException e) {
            // Should never happen!
        }
    }

    private final ContextImpl mContext;
    private final IPackageManager mPM;

+5 −5
Original line number Diff line number Diff line
@@ -173,12 +173,12 @@ public class DevicePolicyManager {
    public static final String ACTION_SET_NEW_PASSWORD
            = "android.app.action.SET_NEW_PASSWORD";
    /**
     * Flag for {@link #forwardMatchingIntents}: the intents will forwarded to the primary user.
     * Flag for {@link #addForwardingIntentFilter}: the intents will forwarded to the primary user.
     */
    public static int FLAG_TO_PRIMARY_USER = 0x0001;

    /**
     * Flag for {@link #forwardMatchingIntents}: the intents will be forwarded to the managed
     * Flag for {@link #addForwardingIntentFilter}: the intents will be forwarded to the managed
     * profile.
     */
    public static int FLAG_TO_MANAGED_PROFILE = 0x0002;
@@ -1949,10 +1949,10 @@ public class DevicePolicyManager {
     * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
     * @param filter if an intent matches this IntentFilter, then it can be forwarded.
     */
    public void forwardMatchingIntents(ComponentName admin, IntentFilter filter, int flags) {
    public void addForwardingIntentFilter(ComponentName admin, IntentFilter filter, int flags) {
        if (mService != null) {
            try {
                mService.forwardMatchingIntents(admin, filter, flags);
                mService.addForwardingIntentFilter(admin, filter, flags);
            } catch (RemoteException e) {
                Log.w(TAG, "Failed talking with device policy service", e);
            }
@@ -1960,7 +1960,7 @@ public class DevicePolicyManager {
    }

    /**
     * Called by a profile owner to remove all the forwarding intent filters from the current user
     * Called by a profile owner to remove the forwarding intent filters from the current user
     * and from the owner.
     * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
     */
+1 −1
Original line number Diff line number Diff line
@@ -120,6 +120,6 @@ interface IDevicePolicyManager {
    Bundle getApplicationRestrictions(in ComponentName who, in String packageName);

    void setUserRestriction(in ComponentName who, in String key, boolean enable);
    void forwardMatchingIntents(in ComponentName admin, in IntentFilter filter, int flags);
    void addForwardingIntentFilter(in ComponentName admin, in IntentFilter filter, int flags);
    void clearForwardingIntentFilters(in ComponentName admin);
}
+22 −0
Original line number Diff line number Diff line
@@ -3507,4 +3507,26 @@ public abstract class PackageManager {
        return Environment.getDataDirectory().toString() + "/user/" + userId
                + "/" + packageName;
    }

    /**
     * Adds a forwarding intent filter. After calling this method all intents sent from the user
     * with id userIdOrig can also be be resolved by activities in the user with id userIdDest if
     * they match the specified intent filter.
     * @param filter the {@link IntentFilter} the intent has to match to be forwarded
     * @param removable if set to false, {@link clearForwardingIntents} will not remove this intent
     * filter
     * @param userIdOrig user from which the intent can be forwarded
     * @param userIdDest user to which the intent can be forwarded
     * @hide
     */
    public abstract void addForwardingIntentFilter(IntentFilter filter, boolean removable,
            int userIdOrig, int userIdDest);

    /**
     * Clearing all removable {@link ForwardingIntentFilter}s that are set with the given user as
     * the origin.
     * @param userIdOrig user from which the intent can be forwarded
     * @hide
     */
    public abstract void clearForwardingIntentFilters(int userIdOrig);
}
Loading