Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Bumped gestures library version to 0.1.0 #11483

Merged
merged 1 commit into from
Mar 20, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import android.view.animation.DecelerateInterpolator;

import com.mapbox.android.gestures.AndroidGesturesManager;
import com.mapbox.android.gestures.Constants;
import com.mapbox.android.gestures.MoveGestureDetector;
import com.mapbox.android.gestures.MultiFingerTapGestureDetector;
import com.mapbox.android.gestures.RotateGestureDetector;
Expand Down Expand Up @@ -77,13 +78,6 @@ final class MapGestureDetector {
private final CopyOnWriteArrayList<MapboxMap.OnShoveListener> onShoveListenerList
= new CopyOnWriteArrayList<>();

private StandardGestureListener standardGestureListener;
private MoveGestureListener moveGestureListener;
private ScaleGestureListener scaleGestureListener;
private RotateGestureListener rotateGestureListener;
private ShoveGestureListener shoveGestureListener;
private TapGestureListener tapGestureListener;

/**
* User-set focal point.
*/
Expand Down Expand Up @@ -112,29 +106,39 @@ final class MapGestureDetector {

// Checking for context != null for testing purposes
if (context != null) {
// Initialize gesture listeners
initializeGestureListeners(context);

// Initialize gestures manager
AndroidGesturesManager androidGesturesManager = new AndroidGesturesManager(context);
initializeGesturesManager(androidGesturesManager, true, true);
initializeGesturesManager(androidGesturesManager, true);

// Initialize gesture listeners
initializeGestureListeners(context, true);
}
}

private void initializeGestureListeners(Context context) {
standardGestureListener = new StandardGestureListener();
moveGestureListener = new MoveGestureListener();
scaleGestureListener = new ScaleGestureListener(
context.getResources().getDimension(R.dimen.mapbox_minimum_scale_velocity));
rotateGestureListener = new RotateGestureListener(
context.getResources().getDimension(R.dimen.mapbox_minimum_scale_span_when_rotating),
context.getResources().getDimension(R.dimen.mapbox_minimum_angular_velocity));
shoveGestureListener = new ShoveGestureListener();
tapGestureListener = new TapGestureListener();
private void initializeGestureListeners(Context context, boolean attachDefaultListeners) {
if (attachDefaultListeners) {
StandardGestureListener standardGestureListener = new StandardGestureListener();
MoveGestureListener moveGestureListener = new MoveGestureListener();
ScaleGestureListener scaleGestureListener = new ScaleGestureListener(
context.getResources().getDimension(R.dimen.mapbox_minimum_scale_velocity));
RotateGestureListener rotateGestureListener = new RotateGestureListener(
context.getResources().getDimension(R.dimen.mapbox_minimum_scale_span_when_rotating),
context.getResources().getDimension(R.dimen.mapbox_minimum_angular_velocity),
context.getResources().getDimension(R.dimen.mapbox_defaultScaleSpanSinceStartThreshold));
ShoveGestureListener shoveGestureListener = new ShoveGestureListener();
TapGestureListener tapGestureListener = new TapGestureListener();

gesturesManager.setStandardGestureListener(standardGestureListener);
gesturesManager.setMoveGestureListener(moveGestureListener);
gesturesManager.setStandardScaleGestureListener(scaleGestureListener);
gesturesManager.setRotateGestureListener(rotateGestureListener);
gesturesManager.setShoveGestureListener(shoveGestureListener);
gesturesManager.setMultiFingerTapGestureListener(tapGestureListener);
}
}

private void initializeGesturesManager(AndroidGesturesManager androidGesturesManager,
boolean attachDefaultListeners, boolean setDefaultMutuallyExclusives) {
boolean setDefaultMutuallyExclusives) {
if (setDefaultMutuallyExclusives) {
Set<Integer> shoveScaleSet = new HashSet<>();
shoveScaleSet.add(AndroidGesturesManager.GESTURE_TYPE_SHOVE);
Expand All @@ -151,15 +155,6 @@ private void initializeGesturesManager(AndroidGesturesManager androidGesturesMan
androidGesturesManager.setMutuallyExclusiveGestures(shoveScaleSet, shoveRotateSet, ScaleLongPressSet);
}

if (attachDefaultListeners) {
androidGesturesManager.setStandardGestureListener(standardGestureListener);
androidGesturesManager.setMoveGestureListener(moveGestureListener);
androidGesturesManager.setStandardScaleGestureListener(scaleGestureListener);
androidGesturesManager.setRotateGestureListener(rotateGestureListener);
androidGesturesManager.setShoveGestureListener(shoveGestureListener);
androidGesturesManager.setMultiFingerTapGestureListener(tapGestureListener);
}

gesturesManager = androidGesturesManager;
}

Expand Down Expand Up @@ -501,7 +496,7 @@ public boolean onScaleBegin(StandardScaleGestureDetector detector) {
if (uiSettings.isIncreaseRotateThresholdWhenScaling()) {
// increase rotate angle threshold when scale is detected first
gesturesManager.getRotateGestureDetector().setAngleThreshold(
gesturesManager.getRotateGestureDetector().getDefaultAngleThreshold()
Constants.DEFAULT_ROTATE_ANGLE_THRESHOLD
+ MapboxConstants.ROTATION_THRESHOLD_INCREASE_WHEN_SCALING
);
}
Expand Down Expand Up @@ -544,7 +539,7 @@ public void onScaleEnd(StandardScaleGestureDetector detector, float velocityX, f
if (uiSettings.isIncreaseRotateThresholdWhenScaling()) {
// resetting default angle threshold
gesturesManager.getRotateGestureDetector().setAngleThreshold(
gesturesManager.getRotateGestureDetector().getDefaultAngleThreshold()
Constants.DEFAULT_ROTATE_ANGLE_THRESHOLD
);
}

Expand Down Expand Up @@ -603,10 +598,13 @@ private final class RotateGestureListener extends RotateGestureDetector.SimpleOn
private PointF rotateFocalPoint;
private final float minimumScaleSpanWhenRotating;
private final float minimumAngularVelocity;
private final float defaultSpanSinceStartThreshold;

RotateGestureListener(float minimumScaleSpanWhenRotating, float minimumAngularVelocity) {
public RotateGestureListener(float minimumScaleSpanWhenRotating, float minimumAngularVelocity,
float defaultSpanSinceStartThreshold) {
this.minimumScaleSpanWhenRotating = minimumScaleSpanWhenRotating;
this.minimumAngularVelocity = minimumAngularVelocity;
this.defaultSpanSinceStartThreshold = defaultSpanSinceStartThreshold;
}

@Override
Expand Down Expand Up @@ -660,8 +658,7 @@ public void onRotateEnd(RotateGestureDetector detector, float velocityX, float v

if (uiSettings.isIncreaseScaleThresholdWhenRotating()) {
// resetting default scale threshold values
gesturesManager.getStandardScaleGestureDetector().setSpanSinceStartThreshold(
gesturesManager.getStandardScaleGestureDetector().getDefaultSpanSinceStartThreshold());
gesturesManager.getStandardScaleGestureDetector().setSpanSinceStartThreshold(defaultSpanSinceStartThreshold);
}

notifyOnRotateEndListeners(detector);
Expand Down Expand Up @@ -1109,8 +1106,9 @@ AndroidGesturesManager getGesturesManager() {
return gesturesManager;
}

void setGesturesManager(AndroidGesturesManager gesturesManager, boolean attachDefaultListeners,
void setGesturesManager(Context context, AndroidGesturesManager gesturesManager, boolean attachDefaultListeners,
boolean setDefaultMutuallyExclusives) {
initializeGesturesManager(gesturesManager, attachDefaultListeners, setDefaultMutuallyExclusives);
initializeGesturesManager(gesturesManager, setDefaultMutuallyExclusives);
initializeGestureListeners(context, attachDefaultListeners);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -1026,7 +1026,8 @@ public AndroidGesturesManager getGesturesManager() {
@Override
public void setGesturesManager(AndroidGesturesManager gesturesManager, boolean attachDefaultListeners,
boolean setDefaultMutuallyExclusives) {
mapGestureDetector.setGesturesManager(gesturesManager, attachDefaultListeners, setDefaultMutuallyExclusives);
mapGestureDetector.setGesturesManager(
getContext(), gesturesManager, attachDefaultListeners, setDefaultMutuallyExclusives);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ public class GestureDetectorActivity extends AppCompatActivity {
private Marker marker;
@Nullable
private LatLng focalPointLatLng;
private boolean animationsEnabled = true;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand Down Expand Up @@ -198,9 +197,7 @@ public void onScaleEnd(StandardScaleGestureDetector detector) {

if (focalPointLatLng != null) {
gestureAlertsAdapter.addAlert(new GestureAlert(GestureAlert.TYPE_OTHER, "REVERTING MOVE THRESHOLD"));
gesturesManager.getMoveGestureDetector().setMoveThreshold(
gesturesManager.getMoveGestureDetector().getDefaultMoveThreshold()
);
gesturesManager.getMoveGestureDetector().setMoveThreshold(0f);
}
}
});
Expand Down Expand Up @@ -242,19 +239,16 @@ public boolean onOptionsItemSelected(MenuItem item) {
mapboxMap.getUiSettings().setFocalPoint(mapboxMap.getProjection().toScreenLocation(focalPointLatLng));
return true;
case R.id.menu_gesture_animation:
animationsEnabled = !animationsEnabled;
mapboxMap.getUiSettings().setAllVelocityAnimationsEnabled(animationsEnabled);
mapboxMap.getUiSettings().setAllVelocityAnimationsEnabled(false);
}
return super.onOptionsItemSelected(item);
}

private void resetModes() {
focalPointLatLng = null;
mapboxMap.getUiSettings().setFocalPoint(null);

gesturesManager.getMoveGestureDetector().setMoveThreshold(
gesturesManager.getMoveGestureDetector().getDefaultMoveThreshold()
);
gesturesManager.getMoveGestureDetector().setMoveThreshold(0f);
mapboxMap.getUiSettings().setAllVelocityAnimationsEnabled(true);

if (marker != null) {
mapboxMap.removeMarker(marker);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
android:title="Focus on a point" />
<item
android:id="@+id/menu_gesture_animation"
android:title="Toggle velocity animations" />
android:title="Turn off velocity animations" />
</menu>
2 changes: 1 addition & 1 deletion platform/android/gradle/dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ ext {
versions = [
mapboxServices : '3.0.0-beta.4',
mapboxTelemetry: '3.0.0-beta.2',
mapboxGestures : '0.1.0-20180228.152340-13',
mapboxGestures : '0.1.0',
supportLib : '25.4.0',
espresso : '3.0.1',
testRunner : '1.0.1',
Expand Down