Merge "DocumentsUI: Save source file list into BaseActivity.State."
diff --git a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java
index 66792da..8039b71 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java
@@ -16,6 +16,7 @@
package com.android.documentsui;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -95,6 +96,9 @@
/** 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 @@
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 @@
DurableUtils.readFromParcel(in, state.stack);
state.currentSearch = in.readString();
in.readMap(state.dirState, null);
+ in.readList(state.selectedDocumentsForCopy, null);
return state;
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
index a617bd3..37a14c6 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
@@ -100,8 +100,6 @@
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 @@
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 @@
}
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.