From 360a1964a768709a90eeb3a43005683aed6bb902 Mon Sep 17 00:00:00 2001 From: "Garfield, Tan" Date: Thu, 21 Apr 2016 14:07:47 -0700 Subject: [PATCH] DO NOT MERGE: Disable drag n' drop in DocumentsActivity. Bug: 28318396 Change-Id: If27bc093b873af5395f69d9139d3fd96e50c0a7b --- .../documentsui/dirlist/DirectoryFragment.java | 6 ++++-- .../documentsui/dirlist/FragmentTuner.java | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java index 297fbc784acd7..b67f6a2ddbfd9 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java @@ -1174,8 +1174,10 @@ public class DirectoryFragment extends Fragment view.setOnDragListener(mOnDragListener); } - // Make all items draggable. - view.setOnLongClickListener(onLongClickListener); + if (mTuner.allowDragNDrop()) { + // Make all items draggable. + view.setOnLongClickListener(onLongClickListener); + } } private View.OnDragListener mOnDragListener = new View.OnDragListener() { diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/FragmentTuner.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/FragmentTuner.java index 32fdb64079d90..9e2b86a8cea94 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/FragmentTuner.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/FragmentTuner.java @@ -81,6 +81,11 @@ public abstract class FragmentTuner { */ abstract boolean enableManagedMode(); + /** + * Whether drag n' drop is allowed in this context + */ + abstract boolean allowDragNDrop(); + /** * Provides support for Platform specific specializations of DirectoryFragment. */ @@ -191,6 +196,11 @@ public abstract class FragmentTuner { public boolean enableManagedMode() { return false; } + + @Override + public boolean allowDragNDrop() { + return false; + } } /** @@ -255,6 +265,11 @@ public abstract class FragmentTuner { && mState.stack.root.isDownloads() && mState.stack.size() == 1; } + + @Override + public boolean allowDragNDrop() { + return true; + } } private static boolean isDirectory(String mimeType) {