summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ben Kwa <kenobi@google.com> 2016-02-18 22:57:17 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-02-18 22:57:18 +0000
commitb4cbd54ea94f3e2673cf7054cabc2247ca3a6ebf (patch)
tree5371d661a99ad35ab12b194951d3363ab64d4b62
parent51911c795381793385aa0fb486cf8d9872736c42 (diff)
parent359bbebb6d4c1eb6a4ad8df754c22d151aa22556 (diff)
Merge "Implement backspace support." into nyc-dev
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java29
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;