diff options
| -rw-r--r-- | packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java | 4 | ||||
| -rw-r--r-- | packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java | 15 |
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(); } } |