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

Commit 2c0b485d authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Jeff Sharkey
Browse files

Replace ContentInterface with wrapping.

After much discussion, we can't safely introduce ContentInterface,
so instead offer ContentResolver.wrap() methods.

Bug: 120974438
Test: manual
Exempted-From-Owner-Approval: mechanical API refactoring
Change-Id: I71c7c997383dfaff6752e2a83967d456ab3a2aa1
parent 438f2cee
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.documentsui;

import static android.content.ContentResolver.wrap;

import static com.android.documentsui.base.SharedMinimal.TAG;

import android.app.Dialog;
@@ -147,7 +149,7 @@ public class CreateDirectoryFragment extends DialogFragment {
                client = DocumentsApplication.acquireUnstableProviderOrThrow(
                        resolver, mCwd.derivedUri.getAuthority());
                final Uri childUri = DocumentsContract.createDocument(
                        client, mCwd.derivedUri, Document.MIME_TYPE_DIR, mDisplayName);
                        wrap(client), mCwd.derivedUri, Document.MIME_TYPE_DIR, mDisplayName);
                DocumentInfo doc = DocumentInfo.fromUri(resolver, childUri);
                return doc.isDirectory() ? doc : null;
            } catch (Exception e) {
+5 −2
Original line number Diff line number Diff line
@@ -17,6 +17,9 @@
package com.android.documentsui;

import androidx.annotation.Nullable;

import static android.content.ContentResolver.wrap;

import android.content.ContentProviderClient;
import android.content.ContentResolver;
import android.content.Context;
@@ -124,7 +127,7 @@ public interface DocumentsAccess {
            final ContentResolver resolver = mContext.getContentResolver();
            try (final ContentProviderClient client = DocumentsApplication
                    .acquireUnstableProviderOrThrow(resolver, docUri.getAuthority())) {
                return DocumentsContract.findDocumentPath(client, docUri);
                return DocumentsContract.findDocumentPath(wrap(client), docUri);
            }
        }

@@ -134,7 +137,7 @@ public interface DocumentsAccess {
            try (ContentProviderClient client = DocumentsApplication.acquireUnstableProviderOrThrow(
                        resolver, parentDoc.derivedUri.getAuthority())) {
                return DocumentsContract.createDocument(
                        client, parentDoc.derivedUri, mimeType, displayName);
                        wrap(client), parentDoc.derivedUri, mimeType, displayName);
            } catch (Exception e) {
                Log.w(TAG, "Failed to create document", e);
                return null;
+3 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.documentsui;

import static android.content.ContentResolver.wrap;

import static com.android.documentsui.DocumentsApplication.acquireUnstableProviderOrThrow;

import androidx.annotation.Nullable;
@@ -291,7 +293,7 @@ public final class Metrics {
        boolean isInternal;
        try (ContentProviderClient client = acquireUnstableProviderOrThrow(
                context.getContentResolver(), Providers.AUTHORITY_STORAGE)) {
            final Path path = DocumentsContract.findDocumentPath(client, docUri);
            final Path path = DocumentsContract.findDocumentPath(wrap(client), docUri);
            final ProvidersAccess providers = DocumentsApplication.getProvidersCache(context);
            final RootInfo root = providers.getRootOneshot(
                    Providers.AUTHORITY_STORAGE, path.getRootId());
+4 −1
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@
 */
package com.android.documentsui;

import static android.content.ContentResolver.wrap;

import static com.android.documentsui.base.SharedMinimal.VERBOSE;

import android.content.ContentProviderClient;
@@ -104,7 +106,8 @@ public final class ThumbnailLoader extends AsyncTask<Uri, Void, Bitmap> implemen
        try {
            client = DocumentsApplication.acquireUnstableProviderOrThrow(
                resolver, mUri.getAuthority());
            result = DocumentsContract.getDocumentThumbnail(client, mUri, mThumbSize, mSignal);
            result = DocumentsContract.getDocumentThumbnail(wrap(client),
                    mUri, mThumbSize, mSignal);
            if (result != null && mAddToCache) {
                final ThumbnailCache cache = DocumentsApplication.getThumbnailCache(context);
                cache.putThumbnail(mUri, mThumbSize, result, mLastModified);
+3 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.documentsui.files;

import static android.content.ContentResolver.wrap;

import static com.android.documentsui.base.SharedMinimal.DEBUG;

import android.content.ActivityNotFoundException;
@@ -174,7 +176,7 @@ public class ActionHandler<T extends FragmentActivity & Addons> extends Abstract
            client = DocumentsApplication.acquireUnstableProviderOrThrow(
                    resolver, document.derivedUri.getAuthority());
            Uri newUri = DocumentsContract.renameDocument(
                    client, document.derivedUri, name);
                    wrap(client), document.derivedUri, name);
            return DocumentInfo.fromUri(resolver, newUri);
        } catch (Exception e) {
            Log.w(TAG, "Failed to rename file", e);
Loading