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

Commit da119930 authored by Tony Huang's avatar Tony Huang Committed by Android (Google) Code Review
Browse files

Merge "Fix preview function not work"

parents a6276827 ee512b3d
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -256,6 +256,14 @@ public final class Shared {
        return context.getResources().getBoolean(R.bool.show_documents_root);
    }

    /**
     * Check config has quick viewer package value or not.
     * @return True, if "trusted_quick_viewer_package" has value.
     */
    public static boolean hasQuickViewer(Context context) {
        return !TextUtils.isEmpty(context.getString(R.string.trusted_quick_viewer_package));
    }

    /*
     * Returns true if the local/device storage root must be visible (this also hides
     * the option to toggle visibility in the menu.)
+3 −1
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import com.android.documentsui.Model;
import com.android.documentsui.Model.Update;
import com.android.documentsui.base.EventListener;
import com.android.documentsui.base.Lookup;
import com.android.documentsui.base.Shared;
import com.android.documentsui.base.State;

import java.util.ArrayList;
@@ -138,7 +139,8 @@ final class ModelBackedDocumentsAdapter extends DocumentsAdapter {
        }
        holder.setEnabled(enabled);
        holder.setSelected(mEnv.isSelected(modelId), false);
        holder.bindPreviewIcon(mEnv.getDisplayState().shouldShowPreview() && enabled,
        holder.bindPreviewIcon(Shared.hasQuickViewer(mEnv.getContext())
                        && mEnv.getDisplayState().shouldShowPreview() && enabled,
                view -> mEnv.getActionHandler().previewItem(holder.getItemDetails()));

        mEnv.onBindDocumentHolder(holder, cursor);
+2 −0
Original line number Diff line number Diff line
@@ -306,6 +306,8 @@ class ActionHandler<T extends FragmentActivity & Addons> extends AbstractActionH
        } else {
            Log.e(TAG, "Quick view intetn is null");
        }

        mInjector.dialogs.showNoApplicationFound();
        return false;
    }

+44 −0
Original line number Diff line number Diff line
@@ -16,17 +16,23 @@

package com.android.documentsui;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import android.content.Intent;
import android.provider.DocumentsContract;

import androidx.test.filters.LargeTest;

import com.android.documentsui.base.Shared;
import com.android.documentsui.bots.UiBot;
import com.android.documentsui.picker.PickActivity;

@LargeTest
public class PickerPreviewAllTypeUiTest extends ActivityTest<PickActivity> {

    private boolean mHasQuickViewer;

    public PickerPreviewAllTypeUiTest() {
        super(PickActivity.class);
    }
@@ -35,6 +41,8 @@ public class PickerPreviewAllTypeUiTest extends ActivityTest<PickActivity> {
    public void setUp() throws Exception {
        super.setUp();
        initTestFiles();

        mHasQuickViewer = Shared.hasQuickViewer(context);
    }

    @Override
@@ -51,19 +59,51 @@ public class PickerPreviewAllTypeUiTest extends ActivityTest<PickActivity> {
        getActivity();  // Launch the activity.
    }

    public void testPreviewInvisible_noQuickViewer_gridMode() throws Exception {
        if (mHasQuickViewer) {
            return;
        }

        bots.main.switchToGridMode();
        assertTrue(bots.directory.findDocument(fileName1).isEnabled());
        assertFalse(bots.directory.hasDocumentPreview(fileName1));
    }

    public void testPreviewInvisible_noQuickViewer_listMode() throws Exception {
        if (mHasQuickViewer) {
            return;
        }

        bots.main.switchToListMode();
        assertTrue(bots.directory.findDocument(fileName1).isEnabled());
        assertFalse(bots.directory.hasDocumentPreview(fileName1));
    }

    public void testPreviewInvisible_directory_gridMode() throws Exception {
        if (!mHasQuickViewer) {
            return;
        }

        bots.main.switchToGridMode();
        assertTrue(bots.directory.findDocument(dirName1).isEnabled());
        assertFalse(bots.directory.hasDocumentPreview(dirName1));
    }

    public void testPreviewInvisible_directory_listMode() throws Exception {
        if (!mHasQuickViewer) {
            return;
        }

        bots.main.switchToListMode();
        assertTrue(bots.directory.findDocument(dirName1).isEnabled());
        assertFalse(bots.directory.hasDocumentPreview(dirName1));
    }

    public void testPreviewVisible_allType_girdMode() throws Exception {
        if (!mHasQuickViewer) {
            return;
        }

        bots.main.switchToGridMode();
        assertTrue(bots.directory.findDocument(fileName1).isEnabled());
        assertTrue(bots.directory.hasDocumentPreview(fileName1));
@@ -72,6 +112,10 @@ public class PickerPreviewAllTypeUiTest extends ActivityTest<PickActivity> {
    }

    public void testPreviewVisible_allType_listMode() throws Exception {
        if (!mHasQuickViewer) {
            return;
        }

        bots.main.switchToListMode();
        assertTrue(bots.directory.findDocument(fileName1).isEnabled());
        assertTrue(bots.directory.hasDocumentPreview(fileName1));
+32 −0
Original line number Diff line number Diff line
@@ -16,17 +16,23 @@

package com.android.documentsui;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import android.content.Intent;
import android.provider.DocumentsContract;

import androidx.test.filters.LargeTest;

import com.android.documentsui.base.Shared;
import com.android.documentsui.bots.UiBot;
import com.android.documentsui.picker.PickActivity;

@LargeTest
public class PickerPreviewTextUiTest extends ActivityTest<PickActivity>{

    private boolean mHasQuickViewer;

    public PickerPreviewTextUiTest() {
        super(PickActivity.class);
    }
@@ -35,6 +41,8 @@ public class PickerPreviewTextUiTest extends ActivityTest<PickActivity>{
    public void setUp() throws Exception {
        super.setUp();
        initTestFiles();

        mHasQuickViewer = Shared.hasQuickViewer(context);
    }

    @Override
@@ -52,36 +60,60 @@ public class PickerPreviewTextUiTest extends ActivityTest<PickActivity>{
    }

    public void testPreviewInvisible_disabled_gridMode() throws Exception {
        if (!mHasQuickViewer) {
            return;
        }

        bots.main.switchToGridMode();
        assertFalse(bots.directory.findDocument(fileName2).isEnabled());
        assertFalse(bots.directory.hasDocumentPreview(fileName2));
    }

    public void testPreviewInvisible_disabled_listMode() throws Exception {
        if (!mHasQuickViewer) {
            return;
        }

        bots.main.switchToListMode();
        assertFalse(bots.directory.findDocument(fileName2).isEnabled());
        assertFalse(bots.directory.hasDocumentPreview(fileName2));
    }

    public void testPreviewInvisible_directory_gridMode() throws Exception {
        if (!mHasQuickViewer) {
            return;
        }

        bots.main.switchToGridMode();
        assertTrue(bots.directory.findDocument(dirName1).isEnabled());
        assertFalse(bots.directory.hasDocumentPreview(dirName1));
    }

    public void testPreviewInvisible_directory_listMode() throws Exception {
        if (!mHasQuickViewer) {
            return;
        }

        bots.main.switchToListMode();
        assertTrue(bots.directory.findDocument(dirName1).isEnabled());
        assertFalse(bots.directory.hasDocumentPreview(dirName1));
    }

    public void testPreviewVisible_enabled_gridMode() throws Exception {
        if (!mHasQuickViewer) {
            return;
        }

        bots.main.switchToGridMode();
        assertTrue(bots.directory.findDocument(fileName1).isEnabled());
        assertTrue(bots.directory.hasDocumentPreview(fileName1));
    }

    public void testPreviewVisible_enabled_listMode() throws Exception {
        if (!mHasQuickViewer) {
            return;
        }

        bots.main.switchToListMode();
        assertTrue(bots.directory.findDocument(fileName1).isEnabled());
        assertTrue(bots.directory.hasDocumentPreview(fileName1));