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

Commit d00d70a6 authored by Daichi Hirono's avatar Daichi Hirono Committed by Android (Google) Code Review
Browse files

Merge "DocumentsUI: Save source file list into BaseActivity.State."

parents 02a2a1b2 cf0e9ace
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.documentsui;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

@@ -95,6 +96,9 @@ abstract class BaseActivity extends Activity {
        /** Instance state for every shown directory */
        public HashMap<String, SparseArray<Parcelable>> dirState = Maps.newHashMap();

        /** Currently copying file */
        public List<DocumentInfo> selectedDocumentsForCopy = new ArrayList<DocumentInfo>();

        public static final int ACTION_OPEN = 1;
        public static final int ACTION_CREATE = 2;
        public static final int ACTION_GET_CONTENT = 3;
@@ -134,6 +138,7 @@ abstract class BaseActivity extends Activity {
            DurableUtils.writeToParcel(out, stack);
            out.writeString(currentSearch);
            out.writeMap(dirState);
            out.writeList(selectedDocumentsForCopy);
        }

        public static final Creator<State> CREATOR = new Creator<State>() {
@@ -154,6 +159,7 @@ abstract class BaseActivity extends Activity {
                DurableUtils.readFromParcel(in, state.stack);
                state.currentSearch = in.readString();
                in.readMap(state.dirState, null);
                in.readList(state.selectedDocumentsForCopy, null);
                return state;
            }

+2 −4
Original line number Diff line number Diff line
@@ -100,8 +100,6 @@ public class DirectoryFragment extends Fragment {

    private AbsListView mCurrentView;

    private List<DocumentInfo> mSelectedDocumentsForCopy;

    public static final int TYPE_NORMAL = 1;
    public static final int TYPE_SEARCH = 2;
    public static final int TYPE_RECENT_OPEN = 3;
@@ -357,7 +355,7 @@ public class DirectoryFragment extends Fragment {
            return;
        }

        final List<DocumentInfo> docs = mSelectedDocumentsForCopy;
        final List<DocumentInfo> docs = getDisplayState(this).selectedDocumentsForCopy;
        final Intent copyIntent = new Intent(context, CopyService.class);
        copyIntent.putParcelableArrayListExtra(CopyService.EXTRA_SRC_LIST, new ArrayList<DocumentInfo>(docs));
        copyIntent.putExtra(CopyService.EXTRA_STACK, data.getParcelableExtra(CopyService.EXTRA_STACK));
@@ -674,7 +672,7 @@ public class DirectoryFragment extends Fragment {
    }

    private void onCopyDocuments(List<DocumentInfo> docs) {
        mSelectedDocumentsForCopy = docs;
        getDisplayState(this).selectedDocumentsForCopy = docs;

        // Pop up a dialog to pick a destination.  This is inadequate but works for now.
        // TODO: Implement a picker that is to spec.