Skip to content

Commit 035329d

Browse files
authored
Migrate transport backend to auto @encodable codegen. (#1427)
1 parent f814560 commit 035329d

File tree

14 files changed

+32
-305
lines changed

14 files changed

+32
-305
lines changed

transport/transport-backend-cct/src/main/java/com/google/android/datatransport/cct/CctTransportBackend.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import com.google.android.datatransport.cct.internal.AndroidClientInfo;
2828
import com.google.android.datatransport.cct.internal.BatchedLogRequest;
2929
import com.google.android.datatransport.cct.internal.ClientInfo;
30-
import com.google.android.datatransport.cct.internal.JsonBatchedLogRequestEncoder;
3130
import com.google.android.datatransport.cct.internal.LogEvent;
3231
import com.google.android.datatransport.cct.internal.LogRequest;
3332
import com.google.android.datatransport.cct.internal.LogResponse;
@@ -88,7 +87,7 @@ final class CctTransportBackend implements TransportBackend {
8887
private static final String KEY_FINGERPRINT = "fingerprint";
8988
private static final String KEY_TIMEZONE_OFFSET = "tz-offset";
9089

91-
private final DataEncoder dataEncoder = JsonBatchedLogRequestEncoder.createJsonEncoder();
90+
private final DataEncoder dataEncoder = BatchedLogRequest.createDataEncoder();
9291

9392
private final ConnectivityManager connectivityManager;
9493
final URL endPoint;
@@ -197,7 +196,7 @@ private BatchedLogRequest getRequestBody(BackendRequest backendRequest) {
197196

198197
// set log source to either its numeric value or its name.
199198
try {
200-
requestBuilder.setSource(Integer.valueOf(entry.getKey()));
199+
requestBuilder.setSource(Integer.parseInt(entry.getKey()));
201200
} catch (NumberFormatException ex) {
202201
requestBuilder.setSource(entry.getKey());
203202
}

transport/transport-backend-cct/src/main/java/com/google/android/datatransport/cct/internal/AndroidClientInfo.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
@AutoValue
2222
public abstract class AndroidClientInfo {
2323
/** This comes from android.os.Build.VERSION.SDK_INT. */
24-
public abstract int getSdkVersion();
24+
@Nullable
25+
public abstract Integer getSdkVersion();
2526

2627
/**
2728
* Textual description of the client platform. e.g., "Nexus 4". This comes from
@@ -59,14 +60,14 @@ public abstract class AndroidClientInfo {
5960

6061
@NonNull
6162
public static Builder builder() {
62-
return new AutoValue_AndroidClientInfo.Builder().setSdkVersion(Integer.MIN_VALUE);
63+
return new AutoValue_AndroidClientInfo.Builder();
6364
}
6465

6566
@AutoValue.Builder
6667
public abstract static class Builder {
6768

6869
@NonNull
69-
public abstract Builder setSdkVersion(int value);
70+
public abstract Builder setSdkVersion(@Nullable Integer value);
7071

7172
@NonNull
7273
public abstract Builder setModel(@Nullable String value);

transport/transport-backend-cct/src/main/java/com/google/android/datatransport/cct/internal/AndroidClientInfoEncoder.java

Lines changed: 0 additions & 53 deletions
This file was deleted.

transport/transport-backend-cct/src/main/java/com/google/android/datatransport/cct/internal/BatchedLogRequest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,28 @@
1616

1717
import androidx.annotation.NonNull;
1818
import com.google.auto.value.AutoValue;
19+
import com.google.firebase.encoders.DataEncoder;
20+
import com.google.firebase.encoders.annotations.Encodable;
21+
import com.google.firebase.encoders.json.JsonDataEncoderBuilder;
1922
import java.util.List;
2023

2124
@AutoValue
25+
@Encodable
2226
public abstract class BatchedLogRequest {
2327
@NonNull
28+
@Encodable.Field(name = "logRequest")
2429
public abstract List<LogRequest> getLogRequests();
2530

2631
@NonNull
2732
public static BatchedLogRequest create(@NonNull List<LogRequest> logRequests) {
2833
return new AutoValue_BatchedLogRequest(logRequests);
2934
}
35+
36+
@NonNull
37+
public static DataEncoder createDataEncoder() {
38+
return new JsonDataEncoderBuilder()
39+
.configureWith(AutoBatchedLogRequestEncoder.CONFIG)
40+
.ignoreNullValues(true)
41+
.build();
42+
}
3043
}

transport/transport-backend-cct/src/main/java/com/google/android/datatransport/cct/internal/BatchedLogRequestEncoder.java

Lines changed: 0 additions & 30 deletions
This file was deleted.

transport/transport-backend-cct/src/main/java/com/google/android/datatransport/cct/internal/ClientInfoEncoder.java

Lines changed: 0 additions & 35 deletions
This file was deleted.

transport/transport-backend-cct/src/main/java/com/google/android/datatransport/cct/internal/JsonBatchedLogRequestEncoder.java

Lines changed: 0 additions & 33 deletions
This file was deleted.

transport/transport-backend-cct/src/main/java/com/google/android/datatransport/cct/internal/LogEvent.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ public abstract class LogEvent {
2323

2424
public abstract long getEventTimeMs();
2525

26-
public abstract int getEventCode();
26+
@Nullable
27+
public abstract Integer getEventCode();
2728

2829
public abstract long getEventUptimeMs();
2930

@@ -51,7 +52,7 @@ public static Builder jsonBuilder(@NonNull String sourceJsonExtension) {
5152
}
5253

5354
private static Builder builder() {
54-
return new AutoValue_LogEvent.Builder().setEventCode(Integer.MIN_VALUE);
55+
return new AutoValue_LogEvent.Builder();
5556
}
5657

5758
@AutoValue.Builder
@@ -60,7 +61,7 @@ public abstract static class Builder {
6061
public abstract Builder setEventTimeMs(long value);
6162

6263
@NonNull
63-
public abstract Builder setEventCode(int value);
64+
public abstract Builder setEventCode(@Nullable Integer value);
6465

6566
@NonNull
6667
public abstract Builder setEventUptimeMs(long value);

transport/transport-backend-cct/src/main/java/com/google/android/datatransport/cct/internal/LogEventEncoder.java

Lines changed: 0 additions & 46 deletions
This file was deleted.

transport/transport-backend-cct/src/main/java/com/google/android/datatransport/cct/internal/LogRequest.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import androidx.annotation.NonNull;
1818
import androidx.annotation.Nullable;
1919
import com.google.auto.value.AutoValue;
20+
import com.google.firebase.encoders.annotations.Encodable;
2021
import java.util.List;
2122

2223
@AutoValue
@@ -34,20 +35,22 @@ public abstract class LogRequest {
3435
@Nullable
3536
public abstract ClientInfo getClientInfo();
3637

37-
public abstract int getLogSource();
38+
@Nullable
39+
public abstract Integer getLogSource();
3840

3941
@Nullable
4042
public abstract String getLogSourceName();
4143

4244
@Nullable
45+
@Encodable.Field(name = "logEvent")
4346
public abstract List<LogEvent> getLogEvents();
4447

4548
@Nullable
4649
public abstract QosTier getQosTier();
4750

4851
@NonNull
4952
public static Builder builder() {
50-
return new AutoValue_LogRequest.Builder().setLogSource(Integer.MIN_VALUE);
53+
return new AutoValue_LogRequest.Builder();
5154
}
5255

5356
@AutoValue.Builder
@@ -62,7 +65,7 @@ public abstract static class Builder {
6265
public abstract Builder setClientInfo(@Nullable ClientInfo value);
6366

6467
@NonNull
65-
abstract Builder setLogSource(int value);
68+
abstract Builder setLogSource(@Nullable Integer value);
6669

6770
@NonNull
6871
abstract Builder setLogSourceName(@Nullable String value);

0 commit comments

Comments
 (0)