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

Commit 3e04db13 authored by Tomasz Mikolajewski's avatar Tomasz Mikolajewski Committed by Android (Google) Code Review
Browse files

Merge "DO NOT MERGE: Move archive support library to DocumentsUI." into nyc-andromeda-dev

parents f6f17cfd dbd6b8bd
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -108,6 +108,13 @@
            android:authorities="com.android.documentsui.lastAccessed"
            android:authorities="com.android.documentsui.lastAccessed"
            android:exported="false"/>
            android:exported="false"/>


        <provider
            android:name=".archives.ArchivesProvider"
            android:authorities="com.android.documentsui.archives"
            android:grantUriPermissions="true"
            android:permission="android.permission.MANAGE_DOCUMENTS"
            android:exported="true"/>

        <receiver android:name=".PackageReceiver">
        <receiver android:name=".PackageReceiver">
            <intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
+14 −3
Original line number Original line Diff line number Diff line
@@ -25,6 +25,7 @@ import android.os.Parcelable;
import android.support.annotation.VisibleForTesting;
import android.support.annotation.VisibleForTesting;


import com.android.documentsui.AbstractActionHandler.CommonAddons;
import com.android.documentsui.AbstractActionHandler.CommonAddons;
import com.android.documentsui.archives.ArchivesProvider;
import com.android.documentsui.base.BooleanConsumer;
import com.android.documentsui.base.BooleanConsumer;
import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.DocumentStack;
import com.android.documentsui.base.DocumentStack;
@@ -32,8 +33,8 @@ import com.android.documentsui.base.Lookup;
import com.android.documentsui.base.RootInfo;
import com.android.documentsui.base.RootInfo;
import com.android.documentsui.base.Shared;
import com.android.documentsui.base.Shared;
import com.android.documentsui.base.State;
import com.android.documentsui.base.State;
import com.android.documentsui.dirlist.AnimationView;
import com.android.documentsui.dirlist.AnimationView.AnimationType;
import com.android.documentsui.dirlist.AnimationView.AnimationType;
import com.android.documentsui.dirlist.AnimationView;
import com.android.documentsui.dirlist.DocumentDetails;
import com.android.documentsui.dirlist.DocumentDetails;
import com.android.documentsui.files.LauncherActivity;
import com.android.documentsui.files.LauncherActivity;
import com.android.documentsui.files.OpenUriForViewTask;
import com.android.documentsui.files.OpenUriForViewTask;
@@ -158,10 +159,20 @@ public abstract class AbstractActionHandler<T extends Activity & CommonAddons>
    @Override
    @Override
    public void openContainerDocument(DocumentInfo doc) {
    public void openContainerDocument(DocumentInfo doc) {
        assert(doc.isContainer());
        assert(doc.isContainer());
        DocumentInfo currentDoc = null;

        if (doc.isDirectory()) {
            // Regular directory.
            currentDoc = doc;
        } else if (doc.isArchive()) {
            // Archive.
            currentDoc = mDocs.getArchiveDocument(doc.derivedUri);
        }


        mActivity.notifyDirectoryNavigated(doc.derivedUri);
        assert(currentDoc != null);
        mActivity.notifyDirectoryNavigated(currentDoc.derivedUri);
        mState.pushDocument(currentDoc);


        mState.pushDocument(doc);
        // Show an opening animation only if pressing "back" would get us back to the
        // Show an opening animation only if pressing "back" would get us back to the
        // previous directory. Especially after opening a root document, pressing
        // previous directory. Especially after opening a root document, pressing
        // back, wouldn't go to the previous root, but close the activity.
        // back, wouldn't go to the previous root, but close the activity.
+7 −0
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ import android.net.Uri;
import android.provider.DocumentsContract;
import android.provider.DocumentsContract;
import android.util.Log;
import android.util.Log;


import com.android.documentsui.archives.ArchivesProvider;
import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.DocumentInfo;
import com.android.documentsui.base.RootInfo;
import com.android.documentsui.base.RootInfo;


@@ -35,6 +36,7 @@ public interface DocumentsAccess {
    @Nullable DocumentInfo getRootDocument(RootInfo root);
    @Nullable DocumentInfo getRootDocument(RootInfo root);
    @Nullable DocumentInfo getRootDocument(Uri uri);
    @Nullable DocumentInfo getRootDocument(Uri uri);
    @Nullable DocumentInfo getDocument(Uri uri);
    @Nullable DocumentInfo getDocument(Uri uri);
    @Nullable DocumentInfo getArchiveDocument(Uri uri);


    public static DocumentsAccess create(Context context) {
    public static DocumentsAccess create(Context context) {
        return new RuntimeDocumentAccess(context);
        return new RuntimeDocumentAccess(context);
@@ -76,5 +78,10 @@ public interface DocumentsAccess {


            return null;
            return null;
        }
        }

        @Override
        public DocumentInfo getArchiveDocument(Uri uri) {
            return getDocument(ArchivesProvider.buildUriForArchive(uri));
        }
    }
    }
}
}
+501 −0

File added.

Preview size limit exceeded, changes collapsed.

+43 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading