Skip to content

Commit b9cc0da

Browse files
authored
Skip builders on directions response reading when possible (#1626)
1 parent 6216113 commit b9cc0da

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+130
-3
lines changed

gradle/dependencies.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ ext {
22

33
version = [
44
autoValue : '1.7',
5-
autoValueGson : '0.0.3',
5+
autoValueGson : '0.0.4',
66
junit : '4.12',
77
annotation : '1.0.0',
88
gson : '2.13.1',

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/Admin.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
package com.mapbox.api.directions.v5.models;
22

33
import androidx.annotation.Nullable;
4+
45
import com.google.auto.value.AutoValue;
56
import com.google.gson.Gson;
67
import com.google.gson.GsonBuilder;
78
import com.google.gson.TypeAdapter;
89
import com.google.gson.annotations.SerializedName;
910
import com.mapbox.api.directions.v5.DirectionsAdapterFactory;
11+
import com.mapbox.auto.value.gson.GsonTypeAdapterConfig;
1012

1113
/**
1214
* An objects describing the administrative boundaries the route leg travels through.
1315
*/
16+
@GsonTypeAdapterConfig(useBuilderOnRead = false)
1417
@AutoValue
1518
public abstract class Admin extends DirectionsJsonObject {
1619

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/Amenity.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,20 @@
22

33
import androidx.annotation.NonNull;
44
import androidx.annotation.Nullable;
5+
56
import com.google.auto.value.AutoValue;
67
import com.google.gson.Gson;
78
import com.google.gson.GsonBuilder;
89
import com.google.gson.TypeAdapter;
910
import com.mapbox.api.directions.v5.DirectionsAdapterFactory;
1011
import com.mapbox.api.directions.v5.DirectionsCriteria;
12+
import com.mapbox.auto.value.gson.GsonTypeAdapterConfig;
1113

1214
/**
1315
* An object containing information about amenities available at rest stops along the route.
1416
* Only available on the {@link DirectionsCriteria#PROFILE_DRIVING} profile.
1517
*/
18+
@GsonTypeAdapterConfig(useBuilderOnRead = false)
1619
@AutoValue
1720
public abstract class Amenity extends DirectionsJsonObject {
1821

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/BannerComponents.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.google.gson.TypeAdapter;
1111
import com.google.gson.annotations.SerializedName;
1212
import com.mapbox.api.directions.v5.DirectionsAdapterFactory;
13+
import com.mapbox.auto.value.gson.GsonTypeAdapterConfig;
1314

1415
import java.lang.annotation.Retention;
1516
import java.lang.annotation.RetentionPolicy;
@@ -23,6 +24,7 @@
2324
*
2425
* @since 3.0.0
2526
*/
27+
@GsonTypeAdapterConfig(useBuilderOnRead = false)
2628
@AutoValue
2729
public abstract class BannerComponents extends DirectionsJsonObject
2830
implements Comparable<BannerComponents> {

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/BannerInstructions.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.google.gson.GsonBuilder;
99
import com.google.gson.TypeAdapter;
1010
import com.mapbox.api.directions.v5.DirectionsAdapterFactory;
11+
import com.mapbox.auto.value.gson.GsonTypeAdapterConfig;
1112

1213
/**
1314
* Visual instruction information related to a particular {@link LegStep} useful for making UI
@@ -16,6 +17,7 @@
1617
*
1718
* @since 3.0.0
1819
*/
20+
@GsonTypeAdapterConfig(useBuilderOnRead = false)
1921
@AutoValue
2022
public abstract class BannerInstructions extends DirectionsJsonObject {
2123

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/BannerText.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.google.gson.TypeAdapter;
1010
import com.google.gson.annotations.SerializedName;
1111
import com.mapbox.api.directions.v5.DirectionsAdapterFactory;
12+
import com.mapbox.auto.value.gson.GsonTypeAdapterConfig;
1213

1314
import java.util.List;
1415

@@ -20,6 +21,7 @@
2021
*
2122
* @since 3.0.0
2223
*/
24+
@GsonTypeAdapterConfig(useBuilderOnRead = false)
2325
@AutoValue
2426
public abstract class BannerText extends DirectionsJsonObject {
2527

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/BannerView.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.google.gson.GsonBuilder;
99
import com.google.gson.TypeAdapter;
1010
import com.mapbox.api.directions.v5.DirectionsAdapterFactory;
11+
import com.mapbox.auto.value.gson.GsonTypeAdapterConfig;
1112

1213
import java.util.List;
1314

@@ -19,6 +20,7 @@
1920
*
2021
* @since 5.0.0
2122
*/
23+
@GsonTypeAdapterConfig(useBuilderOnRead = false)
2224
@AutoValue
2325
public abstract class BannerView extends DirectionsJsonObject {
2426

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/Bearing.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
package com.mapbox.api.directions.v5.models;
22

33
import androidx.annotation.NonNull;
4+
45
import com.google.auto.value.AutoValue;
6+
import com.mapbox.auto.value.gson.GsonTypeAdapterConfig;
57

68
/**
79
* A value pair of an {@link #angle} which is a clockwise value from true north between 0 and 360,
810
* and a {@link #degrees()} which is the range of degrees by which the angle can deviate.
911
*/
12+
@GsonTypeAdapterConfig(
13+
// The builder sets default values so we have to use it while deserializing
14+
useBuilderOnRead = true
15+
)
1016
@AutoValue
1117
public abstract class Bearing extends DirectionsJsonObject {
1218

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/Closure.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@
88
import com.google.gson.TypeAdapter;
99
import com.google.gson.annotations.SerializedName;
1010
import com.mapbox.api.directions.v5.DirectionsAdapterFactory;
11+
import com.mapbox.auto.value.gson.GsonTypeAdapterConfig;
1112

1213
/**
1314
* An object indicating the geometry indexes defining a road closure.
1415
*/
16+
@GsonTypeAdapterConfig(useBuilderOnRead = false)
1517
@AutoValue
1618
public abstract class Closure extends DirectionsJsonObject {
1719

services-directions-models/src/main/java/com/mapbox/api/directions/v5/models/Congestion.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55
import com.google.gson.GsonBuilder;
66
import com.google.gson.TypeAdapter;
77
import com.mapbox.api.directions.v5.DirectionsAdapterFactory;
8+
import com.mapbox.auto.value.gson.GsonTypeAdapterConfig;
89

910
/**
1011
* Quantitative descriptor of congestion.
1112
*/
13+
@GsonTypeAdapterConfig(useBuilderOnRead = false)
1214
@AutoValue
1315
public abstract class Congestion extends DirectionsJsonObject {
1416

0 commit comments

Comments
 (0)