Merge "DocumentsUI: Save source file list into BaseActivity.State."
This commit is contained in:
committed by
Android (Google) Code Review
commit
d00d70a6ce
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user