Loading src/com/android/documentsui/base/EventHandler.java +18 −0 Original line number Diff line number Diff line Loading @@ -23,4 +23,22 @@ package com.android.documentsui.base; @FunctionalInterface public interface EventHandler<T> { boolean accept(T event); public static <T> EventHandler<T> createStub(boolean reply) { return new Stub<T>(reply); } public static final class Stub<T> implements EventHandler<T> { private boolean mReply; private Stub(boolean reply) { mReply = reply;} @Override public boolean accept(T event) { return mReply; } } } No newline at end of file src/com/android/documentsui/dirlist/DirectoryFragment.java +5 −1 Original line number Diff line number Diff line Loading @@ -77,6 +77,7 @@ import com.android.documentsui.RecentsLoader; import com.android.documentsui.Snackbars; import com.android.documentsui.ThumbnailCache; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.EventHandler; import com.android.documentsui.base.EventListener; import com.android.documentsui.base.Events.InputEvent; import com.android.documentsui.base.Events.MotionInputEvent; Loading Loading @@ -318,6 +319,9 @@ public class DirectoryFragment extends Fragment getContext().getDrawable(com.android.internal.R.drawable.ic_doc_generic)) : DragStartListener.DUMMY; EventHandler<InputEvent> gestureHandler = state.allowMultiple ? gestureSel::start : EventHandler.createStub(false); mInputHandler = new UserInputHandler<>( mSelectionMgr, mFocusManager, Loading @@ -331,7 +335,7 @@ public class DirectoryFragment extends Fragment (DocumentDetails details) -> mTuner.onDocumentPicked(details.getModelId()), (DocumentDetails ignored) -> onDeleteSelectedDocuments(), // delete handler mDragStartListener::onTouchDragEvent, gestureSel::start); gestureHandler); new ListeningGestureDetector( this.getContext(), Loading src/com/android/documentsui/dirlist/UserInputHandler.java +5 −1 Original line number Diff line number Diff line Loading @@ -279,7 +279,11 @@ public final class UserInputHandler<T extends InputEvent> } else { if (!mSelectionMgr.getSelection().contains(doc.getModelId())) { selectDocument(doc); // If we cannot select it, we didn't apply anchoring - therefore should not // start gesture selection if (mSelectable.test(doc)) { mGestureSelectHandler.accept(event); } } else { // We only initiate drag and drop on long press for touch to allow regular // touch-based scrolling Loading Loading
src/com/android/documentsui/base/EventHandler.java +18 −0 Original line number Diff line number Diff line Loading @@ -23,4 +23,22 @@ package com.android.documentsui.base; @FunctionalInterface public interface EventHandler<T> { boolean accept(T event); public static <T> EventHandler<T> createStub(boolean reply) { return new Stub<T>(reply); } public static final class Stub<T> implements EventHandler<T> { private boolean mReply; private Stub(boolean reply) { mReply = reply;} @Override public boolean accept(T event) { return mReply; } } } No newline at end of file
src/com/android/documentsui/dirlist/DirectoryFragment.java +5 −1 Original line number Diff line number Diff line Loading @@ -77,6 +77,7 @@ import com.android.documentsui.RecentsLoader; import com.android.documentsui.Snackbars; import com.android.documentsui.ThumbnailCache; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.EventHandler; import com.android.documentsui.base.EventListener; import com.android.documentsui.base.Events.InputEvent; import com.android.documentsui.base.Events.MotionInputEvent; Loading Loading @@ -318,6 +319,9 @@ public class DirectoryFragment extends Fragment getContext().getDrawable(com.android.internal.R.drawable.ic_doc_generic)) : DragStartListener.DUMMY; EventHandler<InputEvent> gestureHandler = state.allowMultiple ? gestureSel::start : EventHandler.createStub(false); mInputHandler = new UserInputHandler<>( mSelectionMgr, mFocusManager, Loading @@ -331,7 +335,7 @@ public class DirectoryFragment extends Fragment (DocumentDetails details) -> mTuner.onDocumentPicked(details.getModelId()), (DocumentDetails ignored) -> onDeleteSelectedDocuments(), // delete handler mDragStartListener::onTouchDragEvent, gestureSel::start); gestureHandler); new ListeningGestureDetector( this.getContext(), Loading
src/com/android/documentsui/dirlist/UserInputHandler.java +5 −1 Original line number Diff line number Diff line Loading @@ -279,7 +279,11 @@ public final class UserInputHandler<T extends InputEvent> } else { if (!mSelectionMgr.getSelection().contains(doc.getModelId())) { selectDocument(doc); // If we cannot select it, we didn't apply anchoring - therefore should not // start gesture selection if (mSelectable.test(doc)) { mGestureSelectHandler.accept(event); } } else { // We only initiate drag and drop on long press for touch to allow regular // touch-based scrolling Loading