Loading src/com/android/documentsui/DrawerController.java +2 −1 Original line number Diff line number Diff line Loading @@ -124,6 +124,7 @@ public abstract class DrawerController implements DrawerListener { */ private static final class RuntimeDrawerController extends DrawerController implements ItemDragListener.DragHost { private static final int SPRING_TIMEOUT = 750; private final ActionBarDrawerToggle mToggle; private DrawerLayout mLayout; private View mDrawer; Loading @@ -147,7 +148,7 @@ public abstract class DrawerController implements DrawerListener { if (activityConfig.dragAndDropEnabled()) { View edge = layout.findViewById(R.id.drawer_edge); edge.setOnDragListener(new ItemDragListener<>(this)); edge.setOnDragListener(new ItemDragListener<>(this, SPRING_TIMEOUT)); } } Loading src/com/android/documentsui/ItemDragListener.java +10 −8 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.documentsui; import static com.android.documentsui.base.Shared.DEBUG; import android.content.ClipData; import android.graphics.drawable.Drawable; import android.util.Log; Loading @@ -26,10 +24,8 @@ import android.view.View; import android.view.View.OnDragListener; import com.android.documentsui.ItemDragListener.DragHost; import com.android.documentsui.base.DocumentInfo; import com.android.internal.annotations.VisibleForTesting; import java.util.List; import java.util.Timer; import java.util.TimerTask; Loading @@ -44,19 +40,25 @@ public class ItemDragListener<H extends DragHost> implements OnDragListener { private static final String TAG = "ItemDragListener"; @VisibleForTesting static final int SPRING_TIMEOUT = 1500; static final int DEFAULT_SPRING_TIMEOUT = 1500; protected final H mDragHost; private final Timer mHoverTimer; private final int mSpringTimeout; public ItemDragListener(H dragHost) { this(dragHost, new Timer()); this(dragHost, new Timer(), DEFAULT_SPRING_TIMEOUT); } public ItemDragListener(H dragHost, int springTimeout) { this(dragHost, new Timer(), springTimeout); } @VisibleForTesting protected ItemDragListener(H dragHost, Timer timer) { protected ItemDragListener(H dragHost, Timer timer, int springTimeout) { mDragHost = dragHost; mHoverTimer = timer; mSpringTimeout = springTimeout; } @Override Loading Loading @@ -91,7 +93,7 @@ public class ItemDragListener<H extends DragHost> implements OnDragListener { return; } v.setTag(R.id.drag_hovering_tag, task); mHoverTimer.schedule(task, SPRING_TIMEOUT); mHoverTimer.schedule(task, mSpringTimeout); } private void handleLocationEvent(View v, float x, float y) { Loading tests/unit/com/android/documentsui/ItemDragListenerTest.java +18 −4 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ import java.util.TimerTask; @SmallTest public class ItemDragListenerTest { private static final long DELAY_AFTER_HOVERING = ItemDragListener.SPRING_TIMEOUT + 1; private static final long DELAY_AFTER_HOVERING = ItemDragListener.DEFAULT_SPRING_TIMEOUT + 1; private View mTestView; private TestDrawable mTestBackground; Loading @@ -61,7 +61,8 @@ public class ItemDragListenerTest { mTestTimer = new TestTimer(); mTestDragHost = new TestDragHost(); mListener = new TestDragListener(mTestDragHost, mTestTimer); mListener = new TestDragListener( mTestDragHost, mTestTimer, ItemDragListener.DEFAULT_SPRING_TIMEOUT); } @Test Loading Loading @@ -120,6 +121,19 @@ public class ItemDragListenerTest { assertSame(mTestView, mTestDragHost.mLastHoveredView); } @Test public void testHover_usesCustomTimeout() { int customTimeout = 200; mListener = new TestDragListener( mTestDragHost, mTestTimer, customTimeout); triggerDragEvent(DragEvent.ACTION_DRAG_ENTERED); mTestTimer.fastForwardTo(customTimeout + 1); assertSame(mTestView, mTestDragHost.mLastEnteredView); assertSame(mTestView, mTestDragHost.mLastHoveredView); } @Test public void testDragExited_CancelsHoverTask() { triggerDragEvent(DragEvent.ACTION_DRAG_ENTERED); Loading Loading @@ -176,8 +190,8 @@ public class ItemDragListenerTest { private View mLastDropOnView; private DragEvent mLastDropEvent; protected TestDragListener(TestDragHost dragHost, Timer timer) { super(dragHost, timer); protected TestDragListener(TestDragHost dragHost, Timer timer, int timeout) { super(dragHost, timer, timeout); } @Override Loading tests/unit/com/android/documentsui/dirlist/DragScrollListenerTest.java +3 −5 Original line number Diff line number Diff line Loading @@ -45,7 +45,6 @@ public class DragScrollListenerTest { private View mTestView; private TestDragHost mTestDragHost; private TestTimer mTestTimer; private TestDragHandler mDragHandler; private TestScrollActionDelegate mActionDelegate = new TestScrollActionDelegate(); private DragHoverListener mListener; Loading @@ -55,9 +54,8 @@ public class DragScrollListenerTest { @Before public void setUp() { mTestView = Views.createTestView(0, 0); mTestTimer = new TestTimer(); mTestDragHost = new TestDragHost(); mDragHandler = new TestDragHandler(mTestDragHost, mTestTimer); mDragHandler = new TestDragHandler(mTestDragHost); mListener = new DragHoverListener( mDragHandler, () -> VIEW_HEIGHT, Loading Loading @@ -174,8 +172,8 @@ public class DragScrollListenerTest { private DragEvent mLastDropEvent; protected TestDragHandler(TestDragHost dragHost, Timer timer) { super(dragHost, timer); protected TestDragHandler(TestDragHost dragHost) { super(dragHost); } @Override Loading Loading
src/com/android/documentsui/DrawerController.java +2 −1 Original line number Diff line number Diff line Loading @@ -124,6 +124,7 @@ public abstract class DrawerController implements DrawerListener { */ private static final class RuntimeDrawerController extends DrawerController implements ItemDragListener.DragHost { private static final int SPRING_TIMEOUT = 750; private final ActionBarDrawerToggle mToggle; private DrawerLayout mLayout; private View mDrawer; Loading @@ -147,7 +148,7 @@ public abstract class DrawerController implements DrawerListener { if (activityConfig.dragAndDropEnabled()) { View edge = layout.findViewById(R.id.drawer_edge); edge.setOnDragListener(new ItemDragListener<>(this)); edge.setOnDragListener(new ItemDragListener<>(this, SPRING_TIMEOUT)); } } Loading
src/com/android/documentsui/ItemDragListener.java +10 −8 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.documentsui; import static com.android.documentsui.base.Shared.DEBUG; import android.content.ClipData; import android.graphics.drawable.Drawable; import android.util.Log; Loading @@ -26,10 +24,8 @@ import android.view.View; import android.view.View.OnDragListener; import com.android.documentsui.ItemDragListener.DragHost; import com.android.documentsui.base.DocumentInfo; import com.android.internal.annotations.VisibleForTesting; import java.util.List; import java.util.Timer; import java.util.TimerTask; Loading @@ -44,19 +40,25 @@ public class ItemDragListener<H extends DragHost> implements OnDragListener { private static final String TAG = "ItemDragListener"; @VisibleForTesting static final int SPRING_TIMEOUT = 1500; static final int DEFAULT_SPRING_TIMEOUT = 1500; protected final H mDragHost; private final Timer mHoverTimer; private final int mSpringTimeout; public ItemDragListener(H dragHost) { this(dragHost, new Timer()); this(dragHost, new Timer(), DEFAULT_SPRING_TIMEOUT); } public ItemDragListener(H dragHost, int springTimeout) { this(dragHost, new Timer(), springTimeout); } @VisibleForTesting protected ItemDragListener(H dragHost, Timer timer) { protected ItemDragListener(H dragHost, Timer timer, int springTimeout) { mDragHost = dragHost; mHoverTimer = timer; mSpringTimeout = springTimeout; } @Override Loading Loading @@ -91,7 +93,7 @@ public class ItemDragListener<H extends DragHost> implements OnDragListener { return; } v.setTag(R.id.drag_hovering_tag, task); mHoverTimer.schedule(task, SPRING_TIMEOUT); mHoverTimer.schedule(task, mSpringTimeout); } private void handleLocationEvent(View v, float x, float y) { Loading
tests/unit/com/android/documentsui/ItemDragListenerTest.java +18 −4 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ import java.util.TimerTask; @SmallTest public class ItemDragListenerTest { private static final long DELAY_AFTER_HOVERING = ItemDragListener.SPRING_TIMEOUT + 1; private static final long DELAY_AFTER_HOVERING = ItemDragListener.DEFAULT_SPRING_TIMEOUT + 1; private View mTestView; private TestDrawable mTestBackground; Loading @@ -61,7 +61,8 @@ public class ItemDragListenerTest { mTestTimer = new TestTimer(); mTestDragHost = new TestDragHost(); mListener = new TestDragListener(mTestDragHost, mTestTimer); mListener = new TestDragListener( mTestDragHost, mTestTimer, ItemDragListener.DEFAULT_SPRING_TIMEOUT); } @Test Loading Loading @@ -120,6 +121,19 @@ public class ItemDragListenerTest { assertSame(mTestView, mTestDragHost.mLastHoveredView); } @Test public void testHover_usesCustomTimeout() { int customTimeout = 200; mListener = new TestDragListener( mTestDragHost, mTestTimer, customTimeout); triggerDragEvent(DragEvent.ACTION_DRAG_ENTERED); mTestTimer.fastForwardTo(customTimeout + 1); assertSame(mTestView, mTestDragHost.mLastEnteredView); assertSame(mTestView, mTestDragHost.mLastHoveredView); } @Test public void testDragExited_CancelsHoverTask() { triggerDragEvent(DragEvent.ACTION_DRAG_ENTERED); Loading Loading @@ -176,8 +190,8 @@ public class ItemDragListenerTest { private View mLastDropOnView; private DragEvent mLastDropEvent; protected TestDragListener(TestDragHost dragHost, Timer timer) { super(dragHost, timer); protected TestDragListener(TestDragHost dragHost, Timer timer, int timeout) { super(dragHost, timer, timeout); } @Override Loading
tests/unit/com/android/documentsui/dirlist/DragScrollListenerTest.java +3 −5 Original line number Diff line number Diff line Loading @@ -45,7 +45,6 @@ public class DragScrollListenerTest { private View mTestView; private TestDragHost mTestDragHost; private TestTimer mTestTimer; private TestDragHandler mDragHandler; private TestScrollActionDelegate mActionDelegate = new TestScrollActionDelegate(); private DragHoverListener mListener; Loading @@ -55,9 +54,8 @@ public class DragScrollListenerTest { @Before public void setUp() { mTestView = Views.createTestView(0, 0); mTestTimer = new TestTimer(); mTestDragHost = new TestDragHost(); mDragHandler = new TestDragHandler(mTestDragHost, mTestTimer); mDragHandler = new TestDragHandler(mTestDragHost); mListener = new DragHoverListener( mDragHandler, () -> VIEW_HEIGHT, Loading Loading @@ -174,8 +172,8 @@ public class DragScrollListenerTest { private DragEvent mLastDropEvent; protected TestDragHandler(TestDragHost dragHost, Timer timer) { super(dragHost, timer); protected TestDragHandler(TestDragHost dragHost) { super(dragHost); } @Override Loading