test_class.file: library/src/test/java/com/mapbox/android/gestures/MoveGestureDetectorTest.java
test_class.identifier: MoveGestureDetectorTest
test_class.superclass: extends
    AbstractGestureDetectorTest<MoveGestureDetector, MoveGestureDetector.OnMoveGestureListener>
test_case.body: @Test
    public void analyzeMovementTest() {
      doReturn(true).when(listener).onMoveBegin(gestureDetector);
      doReturn(true).when(gestureDetector).checkAnyMoveAboveThreshold();
  
      gestureDetector.analyzeMovement();
      gestureDetector.analyzeMovement();
      gestureDetector.gestureStopped();
  
      verify(listener, times(1)).onMoveBegin(gestureDetector);
      verify(listener, times(1)).onMove(gestureDetector, 0, 0);
      verify(listener, times(1)).onMoveEnd(
        gestureDetector, gestureDetector.velocityX, gestureDetector.velocityY);
    }
test_case.class_method_signature: MoveGestureDetectorTest.analyzeMovementTest()
test_case.full_signature: @Test public void analyzeMovementTest()
test_case.identifier: analyzeMovementTest
test_case.invocations: onMoveBegin when doReturn checkAnyMoveAboveThreshold when doReturn analyzeMovement analyzeMovement gestureStopped onMoveBegin verify times onMove verify times onMoveEnd verify times
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void analyzeMovementTest()
focal_class.declarator: MOVE_REQUIRED_POINTERS_COUNT = 1
focal_class.modifier: private static final
focal_class.original_string: private static final int MOVE_REQUIRED_POINTERS_COUNT = 1;
focal_class.type: int
focal_class.var_name: MOVE_REQUIRED_POINTERS_COUNT
focal_class.declarator: handledTypes = new HashSet<>()
focal_class.modifier: private static final
focal_class.original_string: private static final Set<Integer> handledTypes = new HashSet<>();
focal_class.type: Set<Integer>
focal_class.var_name: handledTypes
focal_class.declarator: previousFocalPoint
focal_class.modifier: private
focal_class.original_string: private PointF previousFocalPoint;
focal_class.type: PointF
focal_class.var_name: previousFocalPoint
focal_class.declarator: resetFocal
focal_class.modifier: private
focal_class.original_string: private boolean resetFocal;
focal_class.type: boolean
focal_class.var_name: resetFocal
focal_class.declarator: lastDistanceX
focal_class.original_string: float lastDistanceX;
focal_class.type: float
focal_class.var_name: lastDistanceX
focal_class.declarator: lastDistanceY
focal_class.original_string: float lastDistanceY;
focal_class.type: float
focal_class.var_name: lastDistanceY
focal_class.declarator: moveThresholdRect
focal_class.modifier: @Nullable
    private
focal_class.original_string: @Nullable
    private RectF moveThresholdRect;
focal_class.type: RectF
focal_class.var_name: moveThresholdRect
focal_class.declarator: moveThreshold
focal_class.modifier: private
focal_class.original_string: private float moveThreshold;
focal_class.type: float
focal_class.var_name: moveThreshold
focal_class.declarator: moveDistancesObjectMap = new HashMap<>()
focal_class.modifier: private final
focal_class.original_string: private final Map<Integer, MoveDistancesObject> moveDistancesObjectMap = new HashMap<>();
focal_class.type: Map<Integer, MoveDistancesObject>
focal_class.var_name: moveDistancesObjectMap
focal_class.file: library/src/main/java/com/mapbox/android/gestures/MoveGestureDetector.java
focal_class.identifier: MoveGestureDetector
focal_class.class_method_signature: MoveGestureDetector.MoveGestureDetector(Context context, AndroidGesturesManager gesturesManager)
focal_class.full_signature: public  MoveGestureDetector(Context context, AndroidGesturesManager gesturesManager)
focal_class.identifier: MoveGestureDetector
focal_class.modifiers: public
focal_class.parameters: (Context context, AndroidGesturesManager gesturesManager)
focal_class.signature:  MoveGestureDetector(Context context, AndroidGesturesManager gesturesManager)
focal_class.class_method_signature: MoveGestureDetector.provideHandledTypes()
focal_class.full_signature: @NonNull @Override protected Set<Integer> provideHandledTypes()
focal_class.identifier: provideHandledTypes
focal_class.modifiers: @NonNull @Override protected
focal_class.parameters: ()
focal_class.return: Set<Integer>
focal_class.signature: Set<Integer> provideHandledTypes()
focal_class.class_method_signature: MoveGestureDetector.analyzeEvent(@NonNull MotionEvent motionEvent)
focal_class.full_signature: @Override protected boolean analyzeEvent(@NonNull MotionEvent motionEvent)
focal_class.identifier: analyzeEvent
focal_class.modifiers: @Override protected
focal_class.parameters: (@NonNull MotionEvent motionEvent)
focal_class.return: boolean
focal_class.signature: boolean analyzeEvent(@NonNull MotionEvent motionEvent)
focal_class.class_method_signature: MoveGestureDetector.analyzeMovement()
focal_class.full_signature: @Override protected boolean analyzeMovement()
focal_class.identifier: analyzeMovement
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean analyzeMovement()
focal_class.class_method_signature: MoveGestureDetector.updateMoveDistancesObjects()
focal_class.full_signature: private void updateMoveDistancesObjects()
focal_class.identifier: updateMoveDistancesObjects
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void updateMoveDistancesObjects()
focal_class.class_method_signature: MoveGestureDetector.checkAnyMoveAboveThreshold()
focal_class.full_signature:  boolean checkAnyMoveAboveThreshold()
focal_class.identifier: checkAnyMoveAboveThreshold
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean checkAnyMoveAboveThreshold()
focal_class.class_method_signature: MoveGestureDetector.canExecute(int invokedGestureType)
focal_class.full_signature: @Override protected boolean canExecute(int invokedGestureType)
focal_class.identifier: canExecute
focal_class.modifiers: @Override protected
focal_class.parameters: (int invokedGestureType)
focal_class.return: boolean
focal_class.signature: boolean canExecute(int invokedGestureType)
focal_class.class_method_signature: MoveGestureDetector.reset()
focal_class.full_signature: @Override protected void reset()
focal_class.identifier: reset
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void reset()
focal_class.class_method_signature: MoveGestureDetector.gestureStopped()
focal_class.full_signature: @Override protected void gestureStopped()
focal_class.identifier: gestureStopped
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void gestureStopped()
focal_class.class_method_signature: MoveGestureDetector.getRequiredPointersCount()
focal_class.full_signature: @Override protected int getRequiredPointersCount()
focal_class.identifier: getRequiredPointersCount
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getRequiredPointersCount()
focal_class.class_method_signature: MoveGestureDetector.getMoveThreshold()
focal_class.full_signature: public float getMoveThreshold()
focal_class.identifier: getMoveThreshold
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: float
focal_class.signature: float getMoveThreshold()
focal_class.class_method_signature: MoveGestureDetector.setMoveThreshold(float moveThreshold)
focal_class.full_signature: public void setMoveThreshold(float moveThreshold)
focal_class.identifier: setMoveThreshold
focal_class.modifiers: public
focal_class.parameters: (float moveThreshold)
focal_class.return: void
focal_class.signature: void setMoveThreshold(float moveThreshold)
focal_class.class_method_signature: MoveGestureDetector.getMoveThresholdRect()
focal_class.full_signature: @Nullable public RectF getMoveThresholdRect()
focal_class.identifier: getMoveThresholdRect
focal_class.modifiers: @Nullable public
focal_class.parameters: ()
focal_class.return: RectF
focal_class.signature: RectF getMoveThresholdRect()
focal_class.class_method_signature: MoveGestureDetector.setMoveThresholdRect(@Nullable RectF moveThresholdRect)
focal_class.full_signature: public void setMoveThresholdRect(@Nullable RectF moveThresholdRect)
focal_class.identifier: setMoveThresholdRect
focal_class.modifiers: public
focal_class.parameters: (@Nullable RectF moveThresholdRect)
focal_class.return: void
focal_class.signature: void setMoveThresholdRect(@Nullable RectF moveThresholdRect)
focal_class.class_method_signature: MoveGestureDetector.setMoveThresholdResource(@DimenRes int moveThresholdDimen)
focal_class.full_signature: public void setMoveThresholdResource(@DimenRes int moveThresholdDimen)
focal_class.identifier: setMoveThresholdResource
focal_class.modifiers: public
focal_class.parameters: (@DimenRes int moveThresholdDimen)
focal_class.return: void
focal_class.signature: void setMoveThresholdResource(@DimenRes int moveThresholdDimen)
focal_class.class_method_signature: MoveGestureDetector.getLastDistanceX()
focal_class.full_signature: public float getLastDistanceX()
focal_class.identifier: getLastDistanceX
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: float
focal_class.signature: float getLastDistanceX()
focal_class.class_method_signature: MoveGestureDetector.getLastDistanceY()
focal_class.full_signature: public float getLastDistanceY()
focal_class.identifier: getLastDistanceY
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: float
focal_class.signature: float getLastDistanceY()
focal_class.class_method_signature: MoveGestureDetector.getMoveObject(int pointerIndex)
focal_class.full_signature: public MoveDistancesObject getMoveObject(int pointerIndex)
focal_class.identifier: getMoveObject
focal_class.modifiers: public
focal_class.parameters: (int pointerIndex)
focal_class.return: MoveDistancesObject
focal_class.signature: MoveDistancesObject getMoveObject(int pointerIndex)
focal_class.superclass: extends ProgressiveGesture<MoveGestureDetector.OnMoveGestureListener>
focal_method.body: @Override
    protected boolean analyzeMovement() {
      super.analyzeMovement();
      updateMoveDistancesObjects();
  
      if (isInProgress()) {
        PointF currentFocalPoint = getFocalPoint();
        lastDistanceX = previousFocalPoint.x - currentFocalPoint.x;
        lastDistanceY = previousFocalPoint.y - currentFocalPoint.y;
        previousFocalPoint = currentFocalPoint;
        if (resetFocal) {
          resetFocal = false;
          return listener.onMove(this, 0, 0);
        }
        return listener.onMove(this, lastDistanceX, lastDistanceY);
      } else if (canExecute(GESTURE_TYPE_MOVE)) {
        if (listener.onMoveBegin(this)) {
          gestureStarted();
          previousFocalPoint = getFocalPoint();
          resetFocal = false;
          return true;
        }
      }
      return false;
    }
focal_method.class_method_signature: MoveGestureDetector.analyzeMovement()
focal_method.full_signature: @Override protected boolean analyzeMovement()
focal_method.identifier: analyzeMovement
focal_method.invocations: analyzeMovement updateMoveDistancesObjects isInProgress getFocalPoint onMove onMove canExecute onMoveBegin gestureStarted getFocalPoint
focal_method.modifiers: @Override protected
focal_method.parameters: ()
focal_method.return: boolean
focal_method.signature: boolean analyzeMovement()