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

Commit cb8d1677 authored by Steve McKay's avatar Steve McKay Committed by android-build-merger
Browse files

Move share impl into files ActionHandler.

am: d071895e

Change-Id: I736d2ceee2648a69cd19daba7beb807a2715ee55
parents b6aadd5d d071895e
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -155,6 +155,11 @@ public abstract class AbstractActionHandler<T extends Activity & CommonAddons>
        throw new UnsupportedOperationException("Delete not supported!");
        throw new UnsupportedOperationException("Delete not supported!");
    }
    }


    @Override
    public void shareSelectedDocuments() {
        throw new UnsupportedOperationException("Share not supported!");
    }

    @Override
    @Override
    public final void loadDocument(Uri uri) {
    public final void loadDocument(Uri uri) {
        new OpenUriForViewTask<>(mActivity, mState, mRoots, mDocs, uri)
        new OpenUriForViewTask<>(mActivity, mState, mRoots, mDocs, uri)
+2 −0
Original line number Original line Diff line number Diff line
@@ -67,6 +67,8 @@ public interface ActionHandler {


    void deleteSelectedDocuments();
    void deleteSelectedDocuments();


    void shareSelectedDocuments();

    /**
    /**
     * Called when initial activity setup is complete. Implementations
     * Called when initial activity setup is complete. Implementations
     * should override this method to set the initial location of the
     * should override this method to set the initial location of the
+2 −2
Original line number Original line Diff line number Diff line
@@ -55,13 +55,13 @@ public class FilteringCursorWrapper extends AbstractCursor {
        while (cursor.moveToNext() && mCount < count) {
        while (cursor.moveToNext() && mCount < count) {
            final String mimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE);
            final String mimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE);
            final long lastModified = getCursorLong(cursor, Document.COLUMN_LAST_MODIFIED);
            final long lastModified = getCursorLong(cursor, Document.COLUMN_LAST_MODIFIED);
            if (rejectMimes != null && MimePredicate.mimeMatches(rejectMimes, mimeType)) {
            if (rejectMimes != null && MimeTypes.mimeMatches(rejectMimes, mimeType)) {
                continue;
                continue;
            }
            }
            if (lastModified < rejectBefore) {
            if (lastModified < rejectBefore) {
                continue;
                continue;
            }
            }
            if (MimePredicate.mimeMatches(acceptMimes, mimeType)) {
            if (MimeTypes.mimeMatches(acceptMimes, mimeType)) {
                mPosition[mCount++] = cursor.getPosition();
                mPosition[mCount++] = cursor.getPosition();
            }
            }
        }
        }
+25 −16
Original line number Original line Diff line number Diff line
/*
/*
 * Copyright (C) 2013 The Android Open Source Project
 * Copyright (C) 2016 The Android Open Source Project
 *
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * you may not use this file except in compliance with the License.
@@ -13,16 +13,16 @@
 * See the License for the specific language governing permissions and
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * limitations under the License.
 */
 */

package com.android.documentsui.base;
package com.android.documentsui.base;


import android.annotation.Nullable;
import android.annotation.Nullable;
import android.provider.DocumentsContract.Document;
import android.provider.DocumentsContract.Document;


import com.android.internal.util.Predicate;
import java.util.List;

public final class MimeTypes {


public class MimePredicate implements Predicate<DocumentInfo> {
    private MimeTypes() {}
    private final String[] mFilters;


    private static final String APK_TYPE = "application/vnd.android.package-archive";
    private static final String APK_TYPE = "application/vnd.android.package-archive";
    /**
    /**
@@ -31,19 +31,28 @@ public class MimePredicate implements Predicate<DocumentInfo> {
     */
     */
    public static final String[] VISUAL_MIMES = new String[] { "image/*", "video/*" };
    public static final String[] VISUAL_MIMES = new String[] { "image/*", "video/*" };


    public MimePredicate(String[] filters) {
    public static String findCommonMimeType(List<String> mimeTypes) {
        mFilters = filters;
        String[] commonType = mimeTypes.get(0).split("/");
        if (commonType.length != 2) {
            return "*/*";
        }
        }


    @Override
        for (int i = 1; i < mimeTypes.size(); i++) {
    public boolean apply(DocumentInfo doc) {
            String[] type = mimeTypes.get(i).split("/");
        if (doc.isDirectory()) {
            if (type.length != 2) continue;
            return true;

            if (!commonType[1].equals(type[1])) {
                commonType[1] = "*";
            }
            }
        if (mimeMatches(mFilters, doc.mimeType)) {

            return true;
            if (!commonType[0].equals(type[0])) {
                commonType[0] = "*";
                commonType[1] = "*";
                break;
            }
            }
        return false;
        }

        return commonType[0] + "/" + commonType[1];
    }
    }


    public static boolean mimeMatches(String[] filters, String[] tests) {
    public static boolean mimeMatches(String[] filters, String[] tests) {
+228 −278

File changed.

Preview size limit exceeded, changes collapsed.

Loading