diff options
| author | 2016-02-18 22:57:17 +0000 | |
|---|---|---|
| committer | 2016-02-18 22:57:18 +0000 | |
| commit | b4cbd54ea94f3e2673cf7054cabc2247ca3a6ebf (patch) | |
| tree | 5371d661a99ad35ab12b194951d3363ab64d4b62 | |
| parent | 51911c795381793385aa0fb486cf8d9872736c42 (diff) | |
| parent | 359bbebb6d4c1eb6a4ad8df754c22d151aa22556 (diff) | |
Merge "Implement backspace support." into nyc-dev
| -rw-r--r-- | packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java index 648c79e9fc41..b67a6915add9 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java @@ -284,7 +284,7 @@ public abstract class BaseActivity extends Activity if (dir != null) { dir.pasteFromClipboard(); } - return true; + return true; case R.id.menu_advanced: setDisplayAdvancedDevices(!LocalPreferences.getDisplayAdvancedDevices(this)); @@ -456,7 +456,7 @@ public abstract class BaseActivity extends Activity DirectoryFragment dir = getDirectoryFragment(); if (dir != null) { dir.onSortOrderChanged(); - }; + } } /** @@ -473,7 +473,7 @@ public abstract class BaseActivity extends Activity DirectoryFragment dir = getDirectoryFragment(); if (dir != null) { dir.onViewModeChanged(); - }; + } } public void setPending(boolean pending) { @@ -561,9 +561,7 @@ public abstract class BaseActivity extends Activity } } - if (size > 1) { - mState.stack.pop(); - refreshCurrentRootAndDirectory(ANIM_LEAVE); + if (popDir()) { return; } @@ -603,8 +601,12 @@ public abstract class BaseActivity extends Activity return true; } } else if (keyCode == KeyEvent.KEYCODE_TAB) { + // Tab toggles focus on the navigation drawer. toggleNavDrawerFocus(); return true; + } else if (keyCode == KeyEvent.KEYCODE_DEL) { + popDir(); + return true; } return super.onKeyDown(keyCode, event); } @@ -641,6 +643,21 @@ public abstract class BaseActivity extends Activity } } + /** + * Pops the top entry off the directory stack, and returns the user to the previous directory. + * If the directory stack only contains one item, this method does nothing. + * + * @return Whether the stack was popped. + */ + private boolean popDir() { + if (mState.stack.size() > 1) { + mState.stack.pop(); + refreshCurrentRootAndDirectory(ANIM_LEAVE); + return true; + } + return false; + } + private static final class PickRootTask extends PairedTask<BaseActivity, Void, DocumentInfo> { private RootInfo mRoot; |