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

Commit e70eb6be authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Merge "Don't use linked mediastore uris in DownloadProvider...

Merge "Merge "Don't use linked mediastore uris in DownloadProvider operations." into qt-dev am: 4344e7c7 am: d8e1bc5f" into qt-r1-dev-plus-aosp
parents 2e61e654 b1d710c9
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -31,11 +31,12 @@ interface IUriGrantsManager {
            in Uri uri, int mode, int sourceUserId, int targetUserId);
    /**
     * Gets the URI permissions granted to an arbitrary package (or all packages if null)
     * NOTE: this is different from getPersistedUriPermissions(), which returns the URIs the package
     * NOTE: this is different from getUriPermissions(), which returns the URIs the package
     * granted to another packages (instead of those granted to it).
     */
    ParceledListSlice getGrantedUriPermissions(in String packageName, int userId);
    /** Clears the URI permissions granted to an arbitrary package. */
    void clearGrantedUriPermissions(in String packageName, int userId);
    ParceledListSlice getPersistedUriPermissions(in String packageName, boolean incoming);
    ParceledListSlice getUriPermissions(in String packageName, boolean incoming,
            boolean persistedOnly);
}
+14 −4
Original line number Diff line number Diff line
@@ -2482,8 +2482,8 @@ public abstract class ContentResolver implements ContentInterface {
     */
    public @NonNull List<UriPermission> getPersistedUriPermissions() {
        try {
            return UriGrantsManager.getService()
                    .getPersistedUriPermissions(mPackageName, true).getList();
            return UriGrantsManager.getService().getUriPermissions(
                    mPackageName, true /* incoming */, true /* persistedOnly */).getList();
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
@@ -2498,8 +2498,18 @@ public abstract class ContentResolver implements ContentInterface {
     */
    public @NonNull List<UriPermission> getOutgoingPersistedUriPermissions() {
        try {
            return UriGrantsManager.getService()
                    .getPersistedUriPermissions(mPackageName, false).getList();
            return UriGrantsManager.getService().getUriPermissions(
                    mPackageName, false /* incoming */, true /* persistedOnly */).getList();
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /** @hide */
    public @NonNull List<UriPermission> getOutgoingUriPermissions() {
        try {
            return UriGrantsManager.getService().getUriPermissions(
                    mPackageName, false /* incoming */, false /* persistedOnly */).getList();
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
+2 −0
Original line number Diff line number Diff line
@@ -849,6 +849,8 @@ public final class Downloads {
    public static final String CALL_MEDIASTORE_DOWNLOADS_DELETED = "mediastore_downloads_deleted";
    /** @hide */
    public static final String CALL_CREATE_EXTERNAL_PUBLIC_DIR = "create_external_public_dir";
    /** @hide */
    public static final String CALL_REVOKE_MEDIASTORE_URI_PERMS = "revoke_mediastore_uri_perms";

    /** @hide */
    public static final String EXTRA_IDS = "ids";
+1 −1
Original line number Diff line number Diff line
@@ -13532,7 +13532,7 @@ HSPLcom/android/server/uri/UriGrantsManagerService;->checkHoldingPermissionsInte
HSPLcom/android/server/uri/UriGrantsManagerService;->checkUriPermission(Lcom/android/server/uri/GrantUri;II)Z
HSPLcom/android/server/uri/UriGrantsManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
HSPLcom/android/server/uri/UriGrantsManagerService;->findOrCreateUriPermission(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/uri/GrantUri;)Lcom/android/server/uri/UriPermission;
PLcom/android/server/uri/UriGrantsManagerService;->getPersistedUriPermissions(Ljava/lang/String;Z)Landroid/content/pm/ParceledListSlice;
PLcom/android/server/uri/UriGrantsManagerService;->getPersistedUriPermissions(Ljava/lang/String;ZZ)Landroid/content/pm/ParceledListSlice;
HSPLcom/android/server/uri/UriGrantsManagerService;->getProviderInfo(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
HSPLcom/android/server/uri/UriGrantsManagerService;->grantUriPermission(ILjava/lang/String;Lcom/android/server/uri/GrantUri;ILcom/android/server/uri/UriPermissionOwner;I)V
HSPLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;Lcom/android/server/uri/UriPermissionOwner;I)V
+7 −5
Original line number Diff line number Diff line
@@ -211,9 +211,9 @@ public class UriGrantsManagerService extends IUriGrantsManager.Stub {
    }

    @Override
    public ParceledListSlice<android.content.UriPermission> getPersistedUriPermissions(
            String packageName, boolean incoming) {
        enforceNotIsolatedCaller("getPersistedUriPermissions");
    public ParceledListSlice<android.content.UriPermission> getUriPermissions(
            String packageName, boolean incoming, boolean persistedOnly) {
        enforceNotIsolatedCaller("getUriPermissions");
        Preconditions.checkNotNull(packageName, "packageName");

        final int callingUid = Binder.getCallingUid();
@@ -240,7 +240,8 @@ public class UriGrantsManagerService extends IUriGrantsManager.Stub {
                } else {
                    for (int j = 0; j < perms.size(); j++) {
                        final UriPermission perm = perms.valueAt(j);
                        if (packageName.equals(perm.targetPkg) && perm.persistedModeFlags != 0) {
                        if (packageName.equals(perm.targetPkg)
                                && (!persistedOnly || perm.persistedModeFlags != 0)) {
                            result.add(perm.buildPersistedPublicApiObject());
                        }
                    }
@@ -252,7 +253,8 @@ public class UriGrantsManagerService extends IUriGrantsManager.Stub {
                            mGrantedUriPermissions.valueAt(i);
                    for (int j = 0; j < perms.size(); j++) {
                        final UriPermission perm = perms.valueAt(j);
                        if (packageName.equals(perm.sourcePkg) && perm.persistedModeFlags != 0) {
                        if (packageName.equals(perm.sourcePkg)
                                && (!persistedOnly || perm.persistedModeFlags != 0)) {
                            result.add(perm.buildPersistedPublicApiObject());
                        }
                    }