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

Commit acfb0988 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 5406228 from 558cdbd2 to qt-release

Change-Id: I28d52e19a1f1418c3a857b282e550cfc273999ad
parents 65321ffa 558cdbd2
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -16,12 +16,13 @@

package com.android.documentsui.base;

import androidx.annotation.IntDef;
import android.content.Intent;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.SparseArray;

import androidx.annotation.IntDef;

import com.android.documentsui.services.FileOperationService;
import com.android.documentsui.services.FileOperationService.OpType;
import com.android.documentsui.sorting.SortModel;
@@ -130,7 +131,7 @@ public class State implements android.os.Parcelable {
     * @return True, if acceptMimes are all image type and action is file picking.
     */
    public boolean isPhotoPicking() {
        if (action != ACTION_GET_CONTENT && action != ACTION_OPEN) {
        if (action != ACTION_GET_CONTENT && action != ACTION_OPEN || acceptMimes == null) {
            return false;
        }

+6 −3
Original line number Diff line number Diff line
@@ -16,9 +16,10 @@

package com.android.documentsui.dirlist;

import android.view.ViewGroup;

import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView.AdapterDataObserver;
import android.view.ViewGroup;

import com.android.documentsui.Model;
import com.android.documentsui.Model.Update;
@@ -72,17 +73,19 @@ final class DirectoryAddonsAdapter extends DocumentsAdapter {
        return new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                final int columnCount = mEnv.getColumnCount();
                // Make layout whitespace span the grid. This has the effect of breaking
                // grid rows whenever layout whitespace is encountered.
                if (getItemViewType(position) == ITEM_TYPE_SECTION_BREAK
                        || getItemViewType(position) == ITEM_TYPE_HEADER_MESSAGE
                        || getItemViewType(position) == ITEM_TYPE_INFLATED_MESSAGE) {
                    return mEnv.getColumnCount();
                    return columnCount;
                } else if (mEnv.getDisplayState().isPhotoPicking()
                        && mEnv.getDisplayState().derivedMode == State.MODE_GRID) {
                    // If on photo picking state and grid mode,
                    // the UI should show 3 images a row or 2 folders a row.
                    return getItemViewType(position) == ITEM_TYPE_DIRECTORY ? 3 : 2;
                    return getItemViewType(position) == ITEM_TYPE_DIRECTORY
                            ? Math.min(columnCount, 3) : Math.min(columnCount, 2);
                } else {
                    return 1;
                }
+7 −6
Original line number Diff line number Diff line
@@ -22,9 +22,6 @@ import static com.android.documentsui.base.SharedMinimal.VERBOSE;
import static com.android.documentsui.base.State.MODE_GRID;
import static com.android.documentsui.base.State.MODE_LIST;

import androidx.annotation.DimenRes;
import androidx.annotation.FractionRes;
import androidx.annotation.IntDef;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
@@ -47,6 +44,9 @@ import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.widget.ImageView;

import androidx.annotation.DimenRes;
import androidx.annotation.FractionRes;
import androidx.annotation.IntDef;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
@@ -56,8 +56,8 @@ import androidx.recyclerview.selection.ItemDetailsLookup.ItemDetails;
import androidx.recyclerview.selection.MutableSelection;
import androidx.recyclerview.selection.Selection;
import androidx.recyclerview.selection.SelectionTracker;
import androidx.recyclerview.selection.StorageStrategy;
import androidx.recyclerview.selection.SelectionTracker.SelectionPredicate;
import androidx.recyclerview.selection.StorageStrategy;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup;
import androidx.recyclerview.widget.RecyclerView;
@@ -166,6 +166,7 @@ public class DirectoryFragment extends Fragment implements SwipeRefreshLayout.On
    private DocumentClipper mClipper;
    private GridLayoutManager mLayout;
    private int mColumnCount = 1;  // This will get updated when layout changes.
    private int mColumnUnit = 1;

    private float mLiveScale = 1.0f;
    private @ViewMode int mMode;
@@ -597,8 +598,8 @@ public class DirectoryFragment extends Fragment implements SwipeRefreshLayout.On
        // Clamp so that we always lay out the grid with at least 2 columns by default.
        // If on photo picking state, the UI should show 3 images a row or 2 folders a row,
        // so use 6 columns by default and set folder size to 3 and document size is to 2.
        int minColumnCount = mState.isPhotoPicking() ? 6 : 2;
        int columnCount = Math.max(minColumnCount,
        mColumnUnit = mState.isPhotoPicking() ? 3 : 1;
        int columnCount = mColumnUnit * Math.max(2,
                (mRecView.getWidth() - viewPadding) / (cellWidth + cellMargin));

        // Finally with our grid count logic firmly in place, we apply any live scaling
+10 −0
Original line number Diff line number Diff line
@@ -133,4 +133,14 @@ public class StateTest {

        assertFalse(mState.isPhotoPicking());
    }

    @Test
    public void testPhotoPicking_nullExrta() {
        final String[] mimeTypes = null;
        mIntent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
        mState.initAcceptMimes(mIntent, "*/*");
        mState.action = State.ACTION_GET_CONTENT;

        assertFalse(mState.isPhotoPicking());
    }
}