summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlangsmith <langstonlmcs@gmail.com>2019-03-26 15:18:09 -0700
committerlangsmith <langstonlmcs@gmail.com>2019-04-09 17:25:35 -0700
commit38dd5e85a3fa93c70ec9236673e8f5a06f6a1189 (patch)
tree55f9d2db0bc72f0993e136ee069fc97eb313343c
parent52018dba647c6324ce3a3091531c08372c8a0d1b (diff)
downloadqtlocation-mapboxgl-38dd5e85a3fa93c70ec9236673e8f5a06f6a1189.tar.gz
[android] got rid of frequency option
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java23
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponentOptions.java50
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java6
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/PulsingLocationCircleAnimator.java14
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/res-public/values/public.xml1
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/res/values/attrs.xml1
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/res/values/styles.xml1
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapboxApplication.java2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationPulsingCircleActivity.java63
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_location_layer_pulsing_circle.xml2
10 files changed, 57 insertions, 106 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java
index 3b0099af0f..4fef8ed4a6 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java
@@ -11,6 +11,7 @@ import android.support.annotation.Nullable;
import android.support.annotation.RequiresPermission;
import android.support.annotation.StyleRes;
import android.support.annotation.VisibleForTesting;
+import android.util.Log;
import android.view.WindowManager;
import com.mapbox.android.core.location.LocationEngine;
@@ -657,6 +658,7 @@ public final class LocationComponent {
@SuppressLint("MissingPermission")
public void applyStyle(@NonNull final LocationComponentOptions options) {
checkActivationState();
+ Logger.d(TAG, "LocationComponent applyStyle()");
LocationComponent.this.options = options;
if (mapboxMap.getStyle() != null) {
locationLayerController.applyStyle(options);
@@ -1069,7 +1071,6 @@ public final class LocationComponent {
public void onStop() {
onLocationLayerStop();
isComponentStarted = false;
- Logger.d(TAG, "onStop()");
}
/**
@@ -1089,8 +1090,15 @@ public final class LocationComponent {
* Internal use.
*/
public void onFinishLoadingStyle() {
+ Logger.d(TAG, "onFinishLoadingStyle");
+ Logger.d(TAG, "isComponentInitialized = " + isComponentInitialized);
+
if (isComponentInitialized) {
style = mapboxMap.getStyle();
+ Logger.d(TAG, "isComponentInitialized == true && options.pulseAlpha() = " + options.pulseAlpha());
+ Logger.d(TAG, "isComponentInitialized == true && options.pulseSingleDuration() = " + options.pulseSingleDuration());
+ Logger.d(TAG, "isComponentInitialized == true && options.pulseColor() = " + options.pulseColor());
+
locationLayerController.initializeComponents(style, options);
locationCameraController.initializeOptions(options);
onLocationLayerStart();
@@ -1110,6 +1118,13 @@ public final class LocationComponent {
if (options.enableStaleState()) {
staleStateManager.onStart();
}
+ Logger.d(TAG, "onLocationLayerStart: options.pulseEnabled() = " + options.pulseEnabled());
+ if (options.pulseEnabled()) {
+ Logger.d(TAG, "onLocationLayerStart: locationAnimatorCoordinator.startLocationCirclePulsing(options, mapboxMap)");
+ Logger.d(TAG, "onLocationLayerStart: options.pulseColor() = " + options.pulseColor());
+ Logger.d(TAG, "onLocationLayerStart: options.pulseSingleDuration() = " + options.pulseSingleDuration());
+ locationAnimatorCoordinator.startLocationCirclePulsing(options, mapboxMap);
+ }
}
if (isEnabled) {
@@ -1125,9 +1140,6 @@ public final class LocationComponent {
setLastLocation();
updateCompassListenerState(true);
setLastCompassHeading();
- if (options.pulseEnabled()) {
- locationAnimatorCoordinator.startLocationCirclePulsing(options, mapboxMap);
- }
}
}
@@ -1147,7 +1159,8 @@ public final class LocationComponent {
locationEngine.removeLocationUpdates(currentLocationEngineListener);
}
if (options.pulseEnabled()) {
- Logger.d(TAG, "onLocationLayerStop: about to stop animation ");
+ Logger.d(TAG, "onLocationLayerStop: options.pulseEnabled()");
+ Logger.d(TAG, "onLocationLayerStop: locationAnimatorCoordinator.stopPulsingAnimation()");
locationAnimatorCoordinator.stopPulsingAnimation();
}
mapboxMap.removeOnCameraMoveListener(onCameraMoveListener);
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponentOptions.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponentOptions.java
index ce9d0b485d..60a77baa66 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponentOptions.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponentOptions.java
@@ -75,11 +75,6 @@ public class LocationComponentOptions implements Parcelable {
private static final long CIRCLE_PULSING_DURATION_DEFAULT_MS = 1500;
/**
- * Default number of milliseconds which pass after the LocationComponent circle pulse ends and a new pulse begins.
- */
- private static final float CIRCLE_PULSING_FREQUENCY_DEFAULT_MS = 1800;
-
- /**
* Default opacity of the LocationComponent circle when it ends a single pulse.
*/
private static final float CIRCLE_PULSING_FINAL_ALPHA_DEFAULT = 0.6f;
@@ -132,7 +127,6 @@ public class LocationComponentOptions implements Parcelable {
private Boolean pulsingCircleFadeEnabled;
private int pulseColor;
private float pulseSingleDuration;
- private float pulseFrequency;
private Float pulseAlpha;
private String pulseInterpolator;
@@ -173,7 +167,6 @@ public class LocationComponentOptions implements Parcelable {
Boolean pulsingCircleFadeEnabled,
Integer pulsingCircleColor,
Float pulsingCircleDuration,
- Float pulsingCircleFrequency,
Float pulsingCircleAlpha,
String pulsingCircleInterpolator) {
this.accuracyAlpha = accuracyAlpha;
@@ -215,7 +208,6 @@ public class LocationComponentOptions implements Parcelable {
this.pulsingCircleFadeEnabled = pulsingCircleFadeEnabled;
this.pulseColor = pulsingCircleColor;
this.pulseSingleDuration = pulsingCircleDuration;
- this.pulseFrequency = pulsingCircleFrequency;
this.pulseAlpha = pulsingCircleAlpha;
this.pulseInterpolator = pulsingCircleInterpolator;
}
@@ -350,10 +342,6 @@ public class LocationComponentOptions implements Parcelable {
R.styleable.mapbox_LocationComponent_mapbox_pulsingLocationCircleDuration, CIRCLE_PULSING_DURATION_DEFAULT_MS
);
- builder.pulsingCircleFrequency = typedArray.getFloat(
- R.styleable.mapbox_LocationComponent_mapbox_pulsingLocationCircleFrequency, CIRCLE_PULSING_FREQUENCY_DEFAULT_MS
- );
-
builder.pulsingCircleAlpha = typedArray.getFloat(
R.styleable.mapbox_LocationComponent_mapbox_pulsingLocationCircleAlpha, CIRCLE_PULSING_FINAL_ALPHA_DEFAULT
);
@@ -822,15 +810,6 @@ public class LocationComponentOptions implements Parcelable {
}
/**
- * The number of milliseconds between each pulse of the LocationComponent's circle
- *
- * @return the current set length of time between pulses
- */
- public float pulseFrequency() {
- return pulseFrequency;
- }
-
- /**
* The opacity of the LocationComponent's circle as it pulses.
*
* @return the current set opacity of the LocationComponent's circle
@@ -885,7 +864,6 @@ public class LocationComponentOptions implements Parcelable {
+ "enablePulsingCircleFade=" + pulsingCircleFadeEnabled
+ "pulseColor=" + pulseColor
+ "pulseSingleDuration=" + pulseSingleDuration
- + "pulseFrequency=" + pulseFrequency
+ "pulseAlpha=" + pulseAlpha
+ "pulseInterpolator=" + pulseInterpolator
+ "}";
@@ -946,8 +924,6 @@ public class LocationComponentOptions implements Parcelable {
&& (this.pulseColor == that.pulseColor())
&& (Float.floatToIntBits(this.pulseSingleDuration)
== Float.floatToIntBits(that.pulseSingleDuration()))
- && (Float.floatToIntBits(this.pulseFrequency)
- == Float.floatToIntBits(that.pulseFrequency()))
&& (Float.floatToIntBits(this.pulseAlpha)
== Float.floatToIntBits(that.pulseAlpha()))
&& ((this.pulseInterpolator == null) ? (that.pulseInterpolator() == null)
@@ -1030,8 +1006,6 @@ public class LocationComponentOptions implements Parcelable {
h$ *= 1000003;
h$ ^= Float.floatToIntBits(pulseSingleDuration);
h$ *= 1000003;
- h$ ^= Float.floatToIntBits(pulseFrequency);
- h$ *= 1000003;
h$ ^= Float.floatToIntBits(pulseAlpha);
h$ *= 1000003;
h$ ^= (pulseInterpolator == null) ? 0 : pulseInterpolator.hashCode();
@@ -1081,7 +1055,6 @@ public class LocationComponentOptions implements Parcelable {
in.readInt() == 0 ? in.readInt() : null,
in.readFloat(),
in.readFloat(),
- in.readFloat(),
in.readString()
);
}
@@ -1190,7 +1163,6 @@ public class LocationComponentOptions implements Parcelable {
dest.writeInt(pulseColor());
}
dest.writeFloat(pulseSingleDuration());
- dest.writeFloat(pulseFrequency());
dest.writeFloat(pulseAlpha());
dest.writeString(pulseInterpolator());
}
@@ -1241,9 +1213,6 @@ public class LocationComponentOptions implements Parcelable {
pulsingSetupError += " pulsingCircleDuration";
}
- if ((Float) locationComponentOptions.pulseFrequency() != null) {
- pulsingSetupError += " pulsingCircleFrequency";
- }
if (locationComponentOptions.pulseAlpha() != null) {
pulsingSetupError += " accuracyAlpha";
}
@@ -1256,12 +1225,6 @@ public class LocationComponentOptions implements Parcelable {
" circle if you're going to set pulsing options.");
}
}
- if (locationComponentOptions.pulseFrequency() < locationComponentOptions.pulseSingleDuration()) {
- throw new IllegalArgumentException("Invalid relationship between the LocationComponent " +
- "pulsing circle frequency of " + locationComponentOptions.pulseFrequency() + " and duration of " +
- locationComponentOptions.pulseSingleDuration() + " . The frequency of the pulsing must be >= to the duration " +
- "of a single pulse.");
- }
return locationComponentOptions;
}
@@ -1313,7 +1276,6 @@ public class LocationComponentOptions implements Parcelable {
private Boolean pulsingCircleFadeEnabled;
private Integer pulsingCircleColor;
private Float pulsingCircleDuration;
- private Float pulsingCircleFrequency;
private Float pulsingCircleAlpha;
private String pulsingCircleInterpolator;
@@ -1357,7 +1319,6 @@ public class LocationComponentOptions implements Parcelable {
this.pulsingCircleFadeEnabled = source.pulsingCircleFadeEnabled;
this.pulsingCircleColor = source.pulseColor;
this.pulsingCircleDuration = source.pulseSingleDuration;
- this.pulsingCircleFrequency = source.pulseFrequency;
this.pulsingCircleAlpha = source.pulseAlpha;
this.pulsingCircleInterpolator = source.pulseInterpolator;
}
@@ -1867,16 +1828,6 @@ public class LocationComponentOptions implements Parcelable {
}
/**
- * Sets the number of milliseconds that are waiting between pulses of the LocationComponent's pulsing circle.
- *
- * @return the current set length of time between pulses
- */
- public LocationComponentOptions.Builder pulsingCircleFrequency(Float pulsingCircleFrequency) {
- this.pulsingCircleFrequency = pulsingCircleFrequency;
- return this;
- }
-
- /**
* Sets the opacity of the LocationComponent's pulsing circle.
*
* @return the current set opacity of the LocationComponent's circle
@@ -1993,7 +1944,6 @@ public class LocationComponentOptions implements Parcelable {
this.pulsingCircleFadeEnabled,
this.pulsingCircleColor,
this.pulsingCircleDuration,
- this.pulsingCircleFrequency,
this.pulsingCircleAlpha,
this.pulsingCircleInterpolator);
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java
index 1b3e7dd928..cb9ea6388e 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java
@@ -79,7 +79,7 @@ final class LocationLayerController {
@VisibleForTesting
final Set<String> layerSet = new HashSet<>();
private final List<String> layerMap = new ArrayList<>();
- private final String TAG = "LocationLayerController";
+ private final String TAG = "Mbgl-LocationLayerController";
private Feature locationFeature;
private GeoJsonSource locationSource;
@@ -115,6 +115,7 @@ final class LocationLayerController {
}
void applyStyle(@NonNull LocationComponentOptions options) {
+ Logger.d(TAG, "applyStyle()");
String newLayerBelowOption = options.layerBelow();
if ((layerBelow != null || newLayerBelowOption != null)) {
if (layerBelow == null || !layerBelow.equals(newLayerBelowOption)) {
@@ -248,6 +249,7 @@ final class LocationLayerController {
}
private void addLayers(@NonNull String idBelowLayer) {
+ Logger.d(TAG, "LocationLayerController ----> addLayers()");
layerBelow = idBelowLayer;
addSymbolLayer(BEARING_LAYER, idBelowLayer);
addSymbolLayer(FOREGROUND_LAYER, BEARING_LAYER);
@@ -273,6 +275,7 @@ final class LocationLayerController {
}
private void addPulsingCircleLayerToMap() {
+ Logger.d(TAG, "LocationLayerController ----> addPulsingCircleLayerToMap()");
Layer pulsingCircleLayer = layerSourceProvider.generatePulsingCircleLayer();
addLayerToMap(pulsingCircleLayer, ACCURACY_LAYER);
}
@@ -384,6 +387,7 @@ final class LocationLayerController {
}
private void stylePulsingCircle(LocationComponentOptions options) {
+ Logger.d(TAG, "stylePulsingCircle() starting && options.pulseEnabled() = " + options.pulseEnabled());
if (mapboxMap.getStyle() != null) {
if (mapboxMap.getStyle().getLayer(PROPERTY_PULSING_CIRCLE_LAYER) != null) {
Logger.d(TAG, "stylePulsingCircle: options.pulseEnabled() = " + options.pulseEnabled());
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/PulsingLocationCircleAnimator.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/PulsingLocationCircleAnimator.java
index 65cc586a7b..0daafab0dc 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/PulsingLocationCircleAnimator.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/PulsingLocationCircleAnimator.java
@@ -3,6 +3,7 @@ package com.mapbox.mapboxsdk.location;
import android.animation.ValueAnimator;
import android.os.Build;
import android.support.annotation.NonNull;
+import android.util.Log;
import android.view.animation.Interpolator;
import com.mapbox.mapboxsdk.log.Logger;
@@ -50,25 +51,15 @@ public class PulsingLocationCircleAnimator {
}
private void createValueAnimator() {
- // handler.postDelayed(runnable, (long) locationComponentOptions.pulseFrequency());
if (mapboxMap.getStyle().getLayer(PROPERTY_PULSING_CIRCLE_LAYER) != null) {
Logger.d(TAG, "mapboxMap.getStyle().getLayer(PROPERTY_PULSING_CIRCLE_LAYER) != null");
+ Logger.d(TAG, "locationComponentOptions.pulseSingleDuration() = " + locationComponentOptions.pulseSingleDuration());
pulsingCircleLayer = mapboxMap.getStyle().getLayer(PROPERTY_PULSING_CIRCLE_LAYER);
-
- if (pulsingCircleLayer != null) {
- Logger.d(TAG, "pulsingCircleLayer != null");
- } else {
- Logger.d(TAG, "pulsingCircleLayer == null");
- }
animator = ValueAnimator.ofFloat(0f, PULSING_CIRCLE_RADIUS);
animator.setDuration((long) locationComponentOptions.pulseSingleDuration());
animator.setRepeatMode(ValueAnimator.RESTART);
animator.setRepeatCount(ValueAnimator.INFINITE);
animator.setInterpolator(interpolatorToUse);
-
- Logger.d(TAG, "animator.getDuration() = " + animator.getDuration());
- Logger.d(TAG, "animator.getRepeatMode() = " + animator.getRepeatMode());
-
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
@@ -84,6 +75,7 @@ public class PulsingLocationCircleAnimator {
private void startValueAnimator() {
if (animator != null) {
+ Log.d(TAG, "startValueAnimator() animator != null");
animator.start();
}
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res-public/values/public.xml b/platform/android/MapboxGLAndroidSDK/src/main/res-public/values/public.xml
index 39b6813c53..a018d92150 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/res-public/values/public.xml
+++ b/platform/android/MapboxGLAndroidSDK/src/main/res-public/values/public.xml
@@ -156,7 +156,6 @@
<public name="mapbox_pulsingLocationCircleFadeEnabled" format="boolean" type="attr" />
<public name="mapbox_pulsingLocationCircleColor" format="color" type="attr" />
<public name="mapbox_pulsingLocationCircleDuration" format="float" type="attr" />
- <public name="mapbox_pulsingLocationCircleFrequency" format="float" type="attr" />
<public name="mapbox_pulsingLocationCircleAlpha" format="float" type="attr" />
<public name="mapbox_pulsingLocationCircleInterpolator" format="string" type="attr" />
</resources>
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/values/attrs.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/values/attrs.xml
index f47327c8a9..0c44f17e6a 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/res/values/attrs.xml
+++ b/platform/android/MapboxGLAndroidSDK/src/main/res/values/attrs.xml
@@ -181,7 +181,6 @@
<attr name="mapbox_pulsingLocationCircleFadeEnabled" format="boolean" />
<attr name="mapbox_pulsingLocationCircleColor" format="color" />
<attr name="mapbox_pulsingLocationCircleDuration" format="float" />
- <attr name="mapbox_pulsingLocationCircleFrequency" format="float" />
<attr name="mapbox_pulsingLocationCircleAlpha" format="float" />
<attr name="mapbox_pulsingLocationCircleInterpolator" format="string" />
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/values/styles.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/values/styles.xml
index 8db6ea6b47..a643e3559c 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/res/values/styles.xml
+++ b/platform/android/MapboxGLAndroidSDK/src/main/res/values/styles.xml
@@ -38,7 +38,6 @@
<item name="mapbox_pulsingLocationCircleFadeEnabled">true</item>
<item name="mapbox_pulsingLocationCircleColor">@color/mapbox_location_layer_blue</item>
<item name="mapbox_pulsingLocationCircleDuration">1700</item>
- <item name="mapbox_pulsingLocationCircleFrequency">1700</item>
<item name="mapbox_pulsingLocationCircleAlpha">0.4</item>
<item name="mapbox_pulsingLocationCircleInterpolator">decelerate</item>
</style>
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapboxApplication.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapboxApplication.java
index d07b8a8245..d5cff301db 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapboxApplication.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MapboxApplication.java
@@ -52,7 +52,7 @@ public class MapboxApplication extends Application {
private void initializeLogger() {
Logger.setLoggerDefinition(new TimberLogger());
- if (BuildConfig.DEBUG) {contro
+ if (BuildConfig.DEBUG) {
Timber.plant(new DebugTree());
}
}
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationPulsingCircleActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationPulsingCircleActivity.java
index b94140ccd0..6e45576693 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationPulsingCircleActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationPulsingCircleActivity.java
@@ -3,7 +3,6 @@ package com.mapbox.mapboxsdk.testapp.activity.location;
import android.annotation.SuppressLint;
import android.graphics.Color;
import android.location.Location;
-import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -36,7 +35,7 @@ import java.util.List;
public class LocationPulsingCircleActivity extends AppCompatActivity implements OnMapReadyCallback {
private MapView mapView;
- private Button pulsingCircleFrequencyButton;
+ private Button pulsingCircleDurationButton;
private Button pulsingCircleColorButton;
private PermissionsManager permissionsManager;
@@ -44,13 +43,12 @@ public class LocationPulsingCircleActivity extends AppCompatActivity implements
private LocationComponent locationComponent;
private MapboxMap mapboxMap;
private boolean defaultStyle = false;
- private float currentPulseFrequency;
+ private float currentPulseDuration;
private static final String SAVED_STATE_LOCATION = "saved_state_location";
// Make sure that the frequency value is equal to or larger than the duration value.
- private static final float DEFAULT_LOCATION_CIRCLE_PULSE_FREQUENCY = 5000;
- private static final float DEFAULT_LOCATION_CIRCLE_PULSE_DURATION = 1900;
+ private static final float DEFAULT_LOCATION_CIRCLE_PULSE_DURATION = 1700;
private static final float DEFAULT_LOCATION_CIRCLE_PULSE_ALPHA = .6f;
private static final String DEFAULT_LOCATION_CIRCLE_INTERPOLATOR_PULSE_MODE = PulseMode.DECELERATE;
@@ -69,14 +67,14 @@ public class LocationPulsingCircleActivity extends AppCompatActivity implements
mapView = findViewById(R.id.mapView);
- pulsingCircleFrequencyButton = findViewById(R.id.button_location_circle_frequency);
- pulsingCircleFrequencyButton.setText(String.format("%sms",
- String.valueOf(DEFAULT_LOCATION_CIRCLE_PULSE_FREQUENCY)));
- pulsingCircleFrequencyButton.setOnClickListener(v -> {
+ pulsingCircleDurationButton = findViewById(R.id.button_location_circle_frequency);
+ pulsingCircleDurationButton.setText(String.format("%sms",
+ String.valueOf(DEFAULT_LOCATION_CIRCLE_PULSE_DURATION)));
+ pulsingCircleDurationButton.setOnClickListener(v -> {
if (locationComponent == null) {
return;
}
- showFrequencyListDialog();
+ showDurationListDialog();
});
pulsingCircleColorButton = findViewById(R.id.button_location_circle_color);
@@ -139,8 +137,7 @@ public class LocationPulsingCircleActivity extends AppCompatActivity implements
"waterway-label",
DEFAULT_LOCATION_CIRCLE_PULSE_COLOR,
DEFAULT_LOCATION_CIRCLE_PULSE_ALPHA,
- DEFAULT_LOCATION_CIRCLE_PULSE_DURATION,
- DEFAULT_LOCATION_CIRCLE_PULSE_FREQUENCY))
+ DEFAULT_LOCATION_CIRCLE_PULSE_DURATION))
.useDefaultLocationEngine(true)
.locationEngineRequest(new LocationEngineRequest.Builder(750)
.setFastestInterval(750)
@@ -157,9 +154,9 @@ public class LocationPulsingCircleActivity extends AppCompatActivity implements
private LocationComponentOptions buildLocationComponentOptions(@Nullable String idOfLayerBelow,
@Nullable int pulsingCircleColor,
@Nullable float pulsingCircleAlpha,
- @Nullable float pulsingCircleDuration,
- @Nullable float pulsingCircleFrequency) {
- currentPulseFrequency = pulsingCircleFrequency;
+ @Nullable float pulsingCircleDuration) {
+ currentPulseDuration = pulsingCircleDuration;
+
return LocationComponentOptions.builder(this)
.layerBelow(idOfLayerBelow)
.pulsingCircleEnabled(true)
@@ -168,12 +165,11 @@ public class LocationPulsingCircleActivity extends AppCompatActivity implements
.pulsingCircleColor(pulsingCircleColor)
.pulsingCircleAlpha(pulsingCircleAlpha)
.pulsingCircleDuration(pulsingCircleDuration)
- .pulsingCircleFrequency(pulsingCircleFrequency)
.build();
}
@SuppressLint("MissingPermission")
- private void setNewLocationComponentOptions(@Nullable float newPulsingFrequency,
+ private void setNewLocationComponentOptions(@Nullable float newPulsingDuration,
@Nullable int newPulsingColor) {
if (mapboxMap.getStyle() != null) {
@@ -181,8 +177,7 @@ public class LocationPulsingCircleActivity extends AppCompatActivity implements
LocationComponentActivationOptions
.builder(this, mapboxMap.getStyle())
.locationComponentOptions(buildLocationComponentOptions("waterway-label",
- newPulsingColor, DEFAULT_LOCATION_CIRCLE_PULSE_ALPHA,
- DEFAULT_LOCATION_CIRCLE_PULSE_DURATION, newPulsingFrequency))
+ newPulsingColor, DEFAULT_LOCATION_CIRCLE_PULSE_ALPHA, newPulsingDuration))
.useDefaultLocationEngine(true)
.locationEngineRequest(new LocationEngineRequest.Builder(750)
.setFastestInterval(750)
@@ -278,26 +273,26 @@ public class LocationPulsingCircleActivity extends AppCompatActivity implements
mapView.onLowMemory();
}
- private void showFrequencyListDialog() {
+ private void showDurationListDialog() {
List<String> modes = new ArrayList<>();
- modes.add("400ms");
- modes.add("1000ms");
+ modes.add("800m");
modes.add("2000ms");
+ modes.add("5000ms");
ArrayAdapter<String> profileAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1, modes);
ListPopupWindow listPopup = new ListPopupWindow(this);
listPopup.setAdapter(profileAdapter);
- listPopup.setAnchorView(pulsingCircleFrequencyButton);
+ listPopup.setAnchorView(pulsingCircleDurationButton);
listPopup.setOnItemClickListener((parent, itemView, position, id) -> {
String selectedMode = modes.get(position);
- pulsingCircleFrequencyButton.setText(selectedMode);
+ pulsingCircleDurationButton.setText(selectedMode);
if (selectedMode.contentEquals(String.format("%sms",
- String.valueOf(DEFAULT_LOCATION_CIRCLE_PULSE_FREQUENCY)))) {
- setNewLocationComponentOptions(DEFAULT_LOCATION_CIRCLE_PULSE_FREQUENCY, Color.BLUE);
- } else if (selectedMode.contentEquals("1000ms")) {
- setNewLocationComponentOptions(1000, Color.BLUE);
- } else if (selectedMode.contentEquals("3000ms")) {
- setNewLocationComponentOptions(3000, Color.BLUE);
+ String.valueOf(DEFAULT_LOCATION_CIRCLE_PULSE_DURATION)))) {
+ setNewLocationComponentOptions(DEFAULT_LOCATION_CIRCLE_PULSE_DURATION, Color.BLUE);
+ } else if (selectedMode.contentEquals("2000ms")) {
+ setNewLocationComponentOptions(2000, Color.BLUE);
+ } else if (selectedMode.contentEquals("5000ms")) {
+ setNewLocationComponentOptions(5000, Color.BLUE);
}
listPopup.dismiss();
});
@@ -320,13 +315,13 @@ public class LocationPulsingCircleActivity extends AppCompatActivity implements
String selectedTrackingType = trackingTypes.get(position);
pulsingCircleColorButton.setText(selectedTrackingType);
if (selectedTrackingType.contentEquals("Blue")) {
- setNewLocationComponentOptions(currentPulseFrequency, Color.BLUE);
+ setNewLocationComponentOptions(currentPulseDuration, Color.BLUE);
} else if (selectedTrackingType.contentEquals("Red")) {
- setNewLocationComponentOptions(currentPulseFrequency, Color.RED);
+ setNewLocationComponentOptions(currentPulseDuration, Color.RED);
} else if (selectedTrackingType.contentEquals("Green")) {
- setNewLocationComponentOptions(currentPulseFrequency, Color.GREEN);
+ setNewLocationComponentOptions(currentPulseDuration, Color.GREEN);
} else if (selectedTrackingType.contentEquals("Yellow")) {
- setNewLocationComponentOptions(currentPulseFrequency, Color.YELLOW);
+ setNewLocationComponentOptions(currentPulseDuration, Color.YELLOW);
}
listPopup.dismiss();
});
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_location_layer_pulsing_circle.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_location_layer_pulsing_circle.xml
index 36ab53af63..7786dfc20e 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_location_layer_pulsing_circle.xml
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_location_layer_pulsing_circle.xml
@@ -37,7 +37,7 @@
android:layout_height="match_parent"
android:layout_weight=".75"
android:gravity="center"
- android:text="Frequency:"
+ android:text="Duration:"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold" />