summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Steve McKay <smckay@google.com> 2015-09-04 14:51:16 -0700
committer Steve McKay <smckay@google.com> 2015-09-04 14:52:02 -0700
commita698d636c5db2e5bd5fd59eb65a01e27e7b9751d (patch)
tree59d898064d80cf63540233b9e2fe1b1ba93b3461
parent9ed62e47c9df8f5a7c39ecc18127a1752c5876dc (diff)
Don't start BandselectManager in single-select mode.
Change-Id: I3adfe578107cf88b153ad8d8b483462c29a24e28
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/MultiSelectManager.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/MultiSelectManager.java b/packages/DocumentsUI/src/com/android/documentsui/MultiSelectManager.java
index c7afc042bee8..f9f308d9dfa1 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/MultiSelectManager.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/MultiSelectManager.java
@@ -75,7 +75,8 @@ public final class MultiSelectManager {
private Adapter<?> mAdapter;
private MultiSelectHelper mHelper;
private boolean mSingleSelect;
- private BandSelectManager mBandManager;
+
+ @Nullable private BandSelectManager mBandManager;
/**
* @param recyclerView
@@ -92,7 +93,9 @@ public final class MultiSelectManager {
new RuntimeRecyclerViewHelper(recyclerView),
mode);
- mBandManager = new BandSelectManager((RuntimeRecyclerViewHelper) mHelper);
+ if (mode == MODE_MULTIPLE) {
+ mBandManager = new BandSelectManager((RuntimeRecyclerViewHelper) mHelper);
+ }
GestureDetector.SimpleOnGestureListener listener =
new GestureDetector.SimpleOnGestureListener() {
@@ -121,6 +124,10 @@ public final class MultiSelectManager {
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
detector.onTouchEvent(e);
+ if (mBandManager == null) {
+ return false;
+ }
+
// b/23793622 notes the fact that we *never* receiver ACTION_DOWN
// events in onTouchEvent. Where it not for this issue, we'd
// push start handling down into handleInputEvent.
@@ -141,6 +148,7 @@ public final class MultiSelectManager {
mBandManager.handleInputEvent(
new MotionInputEvent(e, recyclerView));
}
+
return mBandManager.isActive();
}
@@ -278,7 +286,9 @@ public final class MultiSelectManager {
}
public void handleLayoutChanged() {
- mBandManager.handleLayoutChanged();
+ if (mBandManager != null) {
+ mBandManager.handleLayoutChanged();
+ }
}
/**
@@ -1233,7 +1243,7 @@ public final class MultiSelectManager {
checkArgument(input.isMouseEvent());
if (shouldStop(input)) {
- mBandManager.endBandSelect();
+ endBandSelect();
return;
}