summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java4
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java15
2 files changed, 15 insertions, 4 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java
index 5ffc435a581b..d235b3044a23 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java
@@ -492,6 +492,10 @@ public abstract class BaseActivity extends Activity implements SearchManagerList
return;
}
+ if (DirectoryFragment.get(getFragmentManager()).onBackPressed()) {
+ return;
+ }
+
if (!mState.hasLocationChanged()) {
super.onBackPressed();
return;
diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java
index f57aa4b44530..2aabc991431c 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java
@@ -642,10 +642,7 @@ public class DirectoryFragment extends Fragment implements DocumentsAdapter.Envi
return true;
case R.id.menu_copy_to_clipboard:
- if (!selection.isEmpty()) {
- copySelectionToClipboard(selection);
- mode.finish();
- }
+ copySelectedToClipboard();
return true;
case R.id.menu_select_all:
@@ -664,6 +661,15 @@ public class DirectoryFragment extends Fragment implements DocumentsAdapter.Envi
}
}
+ public final boolean onBackPressed() {
+ if (mSelectionManager.hasSelection()) {
+ if (DEBUG) Log.d(TAG, "Clearing selection on back pressed.");
+ mSelectionManager.clearSelection();
+ return true;
+ }
+ return false;
+ }
+
private void cancelThumbnailTask(View view) {
final ImageView iconThumb = (ImageView) view.findViewById(R.id.icon_thumb);
if (iconThumb != null) {
@@ -993,6 +999,7 @@ public class DirectoryFragment extends Fragment implements DocumentsAdapter.Envi
Selection selection = mSelectionManager.getSelection(new Selection());
if (!selection.isEmpty()) {
copySelectionToClipboard(selection);
+ mSelectionManager.clearSelection();
}
}