Merge "Eliminate a cycle in class hierarchy." into nyc-andromeda-dev
diff --git a/src/com/android/documentsui/dirlist/DirectoryFragment.java b/src/com/android/documentsui/dirlist/DirectoryFragment.java
index 983d82f..f2696d0 100644
--- a/src/com/android/documentsui/dirlist/DirectoryFragment.java
+++ b/src/com/android/documentsui/dirlist/DirectoryFragment.java
@@ -97,7 +97,6 @@
import com.android.documentsui.clipping.DocumentClipper;
import com.android.documentsui.clipping.UrisSupplier;
import com.android.documentsui.dirlist.MultiSelectManager.Selection;
-import com.android.documentsui.dirlist.UserInputHandler.DocumentDetails;
import com.android.documentsui.dirlist.header.TableHeaderController;
import com.android.documentsui.model.DocumentInfo;
import com.android.documentsui.model.RootInfo;
diff --git a/src/com/android/documentsui/dirlist/DocumentDetails.java b/src/com/android/documentsui/dirlist/DocumentDetails.java
new file mode 100644
index 0000000..27a2234
--- /dev/null
+++ b/src/com/android/documentsui/dirlist/DocumentDetails.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.documentsui.dirlist;
+
+import com.android.documentsui.Events.InputEvent;
+
+/**
+ * Interface providing a loose coupling between DocumentHolder.
+ */
+public interface DocumentDetails {
+ String getModelId();
+ int getAdapterPosition();
+ boolean isInSelectionHotspot(InputEvent event);
+}
diff --git a/src/com/android/documentsui/dirlist/DocumentHolder.java b/src/com/android/documentsui/dirlist/DocumentHolder.java
index c2b0bf2..d30d18c 100644
--- a/src/com/android/documentsui/dirlist/DocumentHolder.java
+++ b/src/com/android/documentsui/dirlist/DocumentHolder.java
@@ -30,12 +30,9 @@
import com.android.documentsui.Events.InputEvent;
import com.android.documentsui.R;
import com.android.documentsui.State;
-import com.android.documentsui.dirlist.UserInputHandler.DocumentDetails;
public abstract class DocumentHolder
- extends RecyclerView.ViewHolder
- implements View.OnKeyListener,
- DocumentDetails {
+ extends RecyclerView.ViewHolder implements View.OnKeyListener, DocumentDetails {
static final float DISABLED_ALPHA = 0.3f;
diff --git a/src/com/android/documentsui/dirlist/UserInputHandler.java b/src/com/android/documentsui/dirlist/UserInputHandler.java
index 07b0cd8..bd0cbf1 100644
--- a/src/com/android/documentsui/dirlist/UserInputHandler.java
+++ b/src/com/android/documentsui/dirlist/UserInputHandler.java
@@ -26,7 +26,6 @@
import com.android.documentsui.Events;
import com.android.documentsui.Events.InputEvent;
-import com.android.documentsui.dirlist.DocumentHolder.KeyboardEventListener;
import java.util.function.Function;
import java.util.function.Predicate;
@@ -36,7 +35,7 @@
*/
public final class UserInputHandler<T extends InputEvent>
extends GestureDetector.SimpleOnGestureListener
- implements KeyboardEventListener {
+ implements DocumentHolder.KeyboardEventListener {
private static final String TAG = "UserInputHandler";
@@ -402,15 +401,6 @@
}
}
- /**
- * Class providing limited access to document view info.
- */
- public interface DocumentDetails {
- String getModelId();
- int getAdapterPosition();
- boolean isInSelectionHotspot(InputEvent event);
- }
-
@FunctionalInterface
interface EventHandler {
boolean apply(InputEvent event);
diff --git a/tests/src/com/android/documentsui/dirlist/UserInputHandler_MouseTest.java b/tests/src/com/android/documentsui/dirlist/UserInputHandler_MouseTest.java
index 4c34546..4e7997f 100644
--- a/tests/src/com/android/documentsui/dirlist/UserInputHandler_MouseTest.java
+++ b/tests/src/com/android/documentsui/dirlist/UserInputHandler_MouseTest.java
@@ -22,7 +22,6 @@
import android.view.MotionEvent;
import com.android.documentsui.Events.InputEvent;
-import com.android.documentsui.dirlist.UserInputHandler.DocumentDetails;
import com.android.documentsui.testing.TestEvent;
import com.android.documentsui.testing.TestEvent.Builder;
import com.android.documentsui.testing.TestPredicate;
diff --git a/tests/src/com/android/documentsui/dirlist/UserInputHandler_RangeTest.java b/tests/src/com/android/documentsui/dirlist/UserInputHandler_RangeTest.java
index 1d763f9..b3032f7 100644
--- a/tests/src/com/android/documentsui/dirlist/UserInputHandler_RangeTest.java
+++ b/tests/src/com/android/documentsui/dirlist/UserInputHandler_RangeTest.java
@@ -21,7 +21,6 @@
import android.view.MotionEvent;
import com.android.documentsui.Events.InputEvent;
-import com.android.documentsui.dirlist.UserInputHandler.DocumentDetails;
import com.android.documentsui.testing.TestEvent;
import com.android.documentsui.testing.TestEvent.Builder;
import com.android.documentsui.testing.TestPredicate;
diff --git a/tests/src/com/android/documentsui/dirlist/UserInputHandler_TouchTest.java b/tests/src/com/android/documentsui/dirlist/UserInputHandler_TouchTest.java
index 2d1453e..b6e9306 100644
--- a/tests/src/com/android/documentsui/dirlist/UserInputHandler_TouchTest.java
+++ b/tests/src/com/android/documentsui/dirlist/UserInputHandler_TouchTest.java
@@ -22,7 +22,6 @@
import android.view.MotionEvent;
import com.android.documentsui.Events.InputEvent;
-import com.android.documentsui.dirlist.UserInputHandler.DocumentDetails;
import com.android.documentsui.testing.TestEvent;
import com.android.documentsui.testing.TestEvent.Builder;
import com.android.documentsui.testing.TestPredicate;
diff --git a/tests/src/com/android/documentsui/testing/TestEvent.java b/tests/src/com/android/documentsui/testing/TestEvent.java
index 98fa2de..e59a603 100644
--- a/tests/src/com/android/documentsui/testing/TestEvent.java
+++ b/tests/src/com/android/documentsui/testing/TestEvent.java
@@ -18,7 +18,7 @@
import com.android.documentsui.Events.InputEvent;
import com.android.documentsui.TestInputEvent;
-import com.android.documentsui.dirlist.UserInputHandler.DocumentDetails;
+import com.android.documentsui.dirlist.DocumentDetails;
/**
* Events and DocDetails are closely related. For the pursposes of this test