[go: nahoru, domu]

[TextField Selection] Add HapticFeedback

Bug: 139311556
Test: Manually tested.
Test: ./gradlew :ui:ui-text:testDebugUnitTest

RelNote: Add HapticFeedback to TextField Selection.
Change-Id: I58050bcae9699346c2ee7727c7b0f9efaee0e9cd
diff --git a/ui/ui-text/src/test/java/androidx/ui/text/selection/TextFieldSelectionManagerTest.kt b/ui/ui-text/src/test/java/androidx/ui/text/selection/TextFieldSelectionManagerTest.kt
index 2fe2702..c385596 100644
--- a/ui/ui-text/src/test/java/androidx/ui/text/selection/TextFieldSelectionManagerTest.kt
+++ b/ui/ui-text/src/test/java/androidx/ui/text/selection/TextFieldSelectionManagerTest.kt
@@ -20,6 +20,8 @@
 import androidx.ui.core.Constraints
 import androidx.ui.core.LayoutDirection
 import androidx.ui.core.clipboard.ClipboardManager
+import androidx.ui.core.hapticfeedback.HapticFeedback
+import androidx.ui.core.hapticfeedback.HapticFeedbackType
 import androidx.ui.geometry.Offset
 import androidx.ui.input.OffsetMap
 import androidx.ui.input.TextFieldValue
@@ -64,6 +66,7 @@
     private val manager = TextFieldSelectionManager()
 
     private val clipboardManager = mock<ClipboardManager>()
+    private val hapticFeedback = mock<HapticFeedback>()
 
     @Before
     fun setup() {
@@ -72,6 +75,7 @@
         manager.state = state
         manager.value = value
         manager.clipboardManager = clipboardManager
+        manager.hapticFeedBack = hapticFeedback
 
         state.layoutResult = mock()
         whenever(state.layoutResult!!.layoutInput).thenReturn(
@@ -111,6 +115,10 @@
 
         assertThat(state.selectionIsOn).isTrue()
         assertThat(value.selection).isEqualTo(longPressTextRange)
+        verify(
+            hapticFeedback,
+            times(1)
+        ).performHapticFeedback(HapticFeedbackType.TextHandleMove)
     }
 
     @Test
@@ -119,6 +127,10 @@
         manager.longPressDragObserver.onDrag(dragDistance)
 
         assertThat(value.selection).isEqualTo(TextRange(0, text.length))
+        verify(
+            hapticFeedback,
+            times(2)
+        ).performHapticFeedback(HapticFeedbackType.TextHandleMove)
     }
 
     @Test