Add decompiled APK source code (JADX)

- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-02-18 14:52:23 -08:00
parent cc210a65ea
commit f9d20bb3fc
26991 changed files with 2541449 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
package com.google.android.datatransport;
/* loaded from: classes2.dex */
public final class AutoValue_Event extends Event {
public final Integer code;
public final Object payload;
public final Priority priority;
public final ProductData productData;
@Override // com.google.android.datatransport.Event
public Integer getCode() {
return this.code;
}
@Override // com.google.android.datatransport.Event
public Object getPayload() {
return this.payload;
}
@Override // com.google.android.datatransport.Event
public Priority getPriority() {
return this.priority;
}
@Override // com.google.android.datatransport.Event
public ProductData getProductData() {
return this.productData;
}
public AutoValue_Event(Integer num, Object obj, Priority priority, ProductData productData) {
this.code = num;
if (obj == null) {
throw new NullPointerException("Null payload");
}
this.payload = obj;
if (priority == null) {
throw new NullPointerException("Null priority");
}
this.priority = priority;
this.productData = productData;
}
public String toString() {
return "Event{code=" + this.code + ", payload=" + this.payload + ", priority=" + this.priority + ", productData=" + this.productData + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof Event)) {
return false;
}
Event event = (Event) obj;
Integer num = this.code;
if (num != null ? num.equals(event.getCode()) : event.getCode() == null) {
if (this.payload.equals(event.getPayload()) && this.priority.equals(event.getPriority())) {
ProductData productData = this.productData;
if (productData == null) {
if (event.getProductData() == null) {
return true;
}
} else if (productData.equals(event.getProductData())) {
return true;
}
}
}
return false;
}
public int hashCode() {
Integer num = this.code;
int hashCode = ((((((num == null ? 0 : num.hashCode()) ^ 1000003) * 1000003) ^ this.payload.hashCode()) * 1000003) ^ this.priority.hashCode()) * 1000003;
ProductData productData = this.productData;
return hashCode ^ (productData != null ? productData.hashCode() : 0);
}
}

View File

@@ -0,0 +1,36 @@
package com.google.android.datatransport;
/* loaded from: classes2.dex */
public final class AutoValue_ProductData extends ProductData {
public final Integer productId;
@Override // com.google.android.datatransport.ProductData
public Integer getProductId() {
return this.productId;
}
public AutoValue_ProductData(Integer num) {
this.productId = num;
}
public String toString() {
return "ProductData{productId=" + this.productId + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof ProductData)) {
return false;
}
Integer num = this.productId;
Integer productId = ((ProductData) obj).getProductId();
return num == null ? productId == null : num.equals(productId);
}
public int hashCode() {
Integer num = this.productId;
return (num == null ? 0 : num.hashCode()) ^ 1000003;
}
}

View File

@@ -0,0 +1,39 @@
package com.google.android.datatransport;
/* loaded from: classes2.dex */
public final class Encoding {
public final String name;
public String getName() {
return this.name;
}
public static Encoding of(String str) {
return new Encoding(str);
}
public Encoding(String str) {
if (str == null) {
throw new NullPointerException("name is null");
}
this.name = str;
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj instanceof Encoding) {
return this.name.equals(((Encoding) obj).name);
}
return false;
}
public int hashCode() {
return this.name.hashCode() ^ 1000003;
}
public String toString() {
return "Encoding{name=\"" + this.name + "\"}";
}
}

View File

@@ -0,0 +1,24 @@
package com.google.android.datatransport;
/* loaded from: classes2.dex */
public abstract class Event {
public abstract Integer getCode();
public abstract Object getPayload();
public abstract Priority getPriority();
public abstract ProductData getProductData();
public static Event ofData(Object obj, ProductData productData) {
return new AutoValue_Event(null, obj, Priority.DEFAULT, productData);
}
public static Event ofData(Object obj) {
return new AutoValue_Event(null, obj, Priority.DEFAULT, null);
}
public static Event ofUrgent(Object obj) {
return new AutoValue_Event(null, obj, Priority.HIGHEST, null);
}
}

View File

@@ -0,0 +1,8 @@
package com.google.android.datatransport;
/* loaded from: classes2.dex */
public enum Priority {
DEFAULT,
VERY_LOW,
HIGHEST
}

View File

@@ -0,0 +1,10 @@
package com.google.android.datatransport;
/* loaded from: classes2.dex */
public abstract class ProductData {
public abstract Integer getProductId();
public static ProductData withProductId(Integer num) {
return new AutoValue_ProductData(num);
}
}

View File

@@ -0,0 +1,6 @@
package com.google.android.datatransport;
/* loaded from: classes2.dex */
public interface Transformer {
Object apply(Object obj);
}

View File

@@ -0,0 +1,8 @@
package com.google.android.datatransport;
/* loaded from: classes2.dex */
public interface Transport {
void schedule(Event event, TransportScheduleCallback transportScheduleCallback);
void send(Event event);
}

View File

@@ -0,0 +1,6 @@
package com.google.android.datatransport;
/* loaded from: classes2.dex */
public interface TransportFactory {
Transport getTransport(String str, Class cls, Encoding encoding, Transformer transformer);
}

View File

@@ -0,0 +1,6 @@
package com.google.android.datatransport;
/* loaded from: classes2.dex */
public interface TransportScheduleCallback {
void onSchedule(Exception exc);
}

View File

@@ -0,0 +1,98 @@
package com.google.android.datatransport.cct;
import com.google.android.datatransport.Encoding;
import com.google.android.datatransport.runtime.EncodedDestination;
import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Pattern;
/* loaded from: classes2.dex */
public final class CCTDestination implements EncodedDestination {
public static final String DEFAULT_API_KEY;
public static final String DEFAULT_END_POINT;
public static final CCTDestination INSTANCE;
public static final String LEGACY_END_POINT;
public static final CCTDestination LEGACY_INSTANCE;
public static final Set SUPPORTED_ENCODINGS;
public final String apiKey;
public final String endPoint;
public String getAPIKey() {
return this.apiKey;
}
public String getEndPoint() {
return this.endPoint;
}
@Override // com.google.android.datatransport.runtime.Destination
public String getName() {
return "cct";
}
@Override // com.google.android.datatransport.runtime.EncodedDestination
public Set getSupportedEncodings() {
return SUPPORTED_ENCODINGS;
}
static {
String mergeStrings = StringMerger.mergeStrings("hts/frbslgiggolai.o/0clgbthfra=snpoo", "tp:/ieaeogn.ogepscmvc/o/ac?omtjo_rt3");
DEFAULT_END_POINT = mergeStrings;
String mergeStrings2 = StringMerger.mergeStrings("hts/frbslgigp.ogepscmv/ieo/eaybtho", "tp:/ieaeogn-agolai.o/1frlglgc/aclg");
LEGACY_END_POINT = mergeStrings2;
String mergeStrings3 = StringMerger.mergeStrings("AzSCki82AwsLzKd5O8zo", "IayckHiZRO1EFl1aGoK");
DEFAULT_API_KEY = mergeStrings3;
SUPPORTED_ENCODINGS = Collections.unmodifiableSet(new HashSet(Arrays.asList(Encoding.of("proto"), Encoding.of("json"))));
INSTANCE = new CCTDestination(mergeStrings, null);
LEGACY_INSTANCE = new CCTDestination(mergeStrings2, mergeStrings3);
}
public CCTDestination(String str, String str2) {
this.endPoint = str;
this.apiKey = str2;
}
@Override // com.google.android.datatransport.runtime.Destination
public byte[] getExtras() {
return asByteArray();
}
public byte[] asByteArray() {
String str = this.apiKey;
if (str == null && this.endPoint == null) {
return null;
}
Object[] objArr = new Object[4];
objArr[0] = "1$";
objArr[1] = this.endPoint;
objArr[2] = "\\";
if (str == null) {
str = "";
}
objArr[3] = str;
return String.format("%s%s%s%s", objArr).getBytes(Charset.forName("UTF-8"));
}
public static CCTDestination fromByteArray(byte[] bArr) {
String str = new String(bArr, Charset.forName("UTF-8"));
if (!str.startsWith("1$")) {
throw new IllegalArgumentException("Version marker missing from extras");
}
String[] split = str.substring(2).split(Pattern.quote("\\"), 2);
if (split.length != 2) {
throw new IllegalArgumentException("Extra is not a valid encoded LegacyFlgDestination");
}
String str2 = split[0];
if (str2.isEmpty()) {
throw new IllegalArgumentException("Missing endpoint in CCTDestination extras");
}
String str3 = split[1];
if (str3.isEmpty()) {
str3 = null;
}
return new CCTDestination(str2, str3);
}
}

View File

@@ -0,0 +1,15 @@
package com.google.android.datatransport.cct;
import androidx.annotation.Keep;
import com.google.android.datatransport.runtime.backends.BackendFactory;
import com.google.android.datatransport.runtime.backends.CreationContext;
import com.google.android.datatransport.runtime.backends.TransportBackend;
@Keep
/* loaded from: classes2.dex */
public class CctBackendFactory implements BackendFactory {
@Override // com.google.android.datatransport.runtime.backends.BackendFactory
public TransportBackend create(CreationContext creationContext) {
return new CctTransportBackend(creationContext.getApplicationContext(), creationContext.getWallClock(), creationContext.getMonotonicClock());
}
}

View File

@@ -0,0 +1,358 @@
package com.google.android.datatransport.cct;
import android.content.Context;
import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Build;
import android.telephony.TelephonyManager;
import com.applovin.sdk.AppLovinEventTypes;
import com.google.android.datatransport.Encoding;
import com.google.android.datatransport.cct.CctTransportBackend;
import com.google.android.datatransport.cct.internal.AndroidClientInfo;
import com.google.android.datatransport.cct.internal.BatchedLogRequest;
import com.google.android.datatransport.cct.internal.ClientInfo;
import com.google.android.datatransport.cct.internal.LogEvent;
import com.google.android.datatransport.cct.internal.LogRequest;
import com.google.android.datatransport.cct.internal.LogResponse;
import com.google.android.datatransport.cct.internal.NetworkConnectionInfo;
import com.google.android.datatransport.cct.internal.QosTier;
import com.google.android.datatransport.runtime.EncodedPayload;
import com.google.android.datatransport.runtime.EventInternal;
import com.google.android.datatransport.runtime.backends.BackendRequest;
import com.google.android.datatransport.runtime.backends.BackendResponse;
import com.google.android.datatransport.runtime.backends.TransportBackend;
import com.google.android.datatransport.runtime.logging.Logging;
import com.google.android.datatransport.runtime.retries.Function;
import com.google.android.datatransport.runtime.retries.Retries;
import com.google.android.datatransport.runtime.retries.RetryStrategy;
import com.google.android.datatransport.runtime.time.Clock;
import com.google.firebase.encoders.DataEncoder;
import com.google.firebase.encoders.EncodingException;
import com.ironsource.nb;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.UnknownHostException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
import org.apache.http.protocol.HTTP;
/* loaded from: classes2.dex */
public final class CctTransportBackend implements TransportBackend {
public final Context applicationContext;
public final ConnectivityManager connectivityManager;
public final DataEncoder dataEncoder;
public final URL endPoint;
public final int readTimeout;
public final Clock uptimeClock;
public final Clock wallTimeClock;
public static URL parseUrlOrThrow(String str) {
try {
return new URL(str);
} catch (MalformedURLException e) {
throw new IllegalArgumentException("Invalid url: " + str, e);
}
}
public CctTransportBackend(Context context, Clock clock, Clock clock2, int i) {
this.dataEncoder = BatchedLogRequest.createDataEncoder();
this.applicationContext = context;
this.connectivityManager = (ConnectivityManager) context.getSystemService("connectivity");
this.endPoint = parseUrlOrThrow(CCTDestination.DEFAULT_END_POINT);
this.uptimeClock = clock2;
this.wallTimeClock = clock;
this.readTimeout = i;
}
public CctTransportBackend(Context context, Clock clock, Clock clock2) {
this(context, clock, clock2, 130000);
}
public static TelephonyManager getTelephonyManager(Context context) {
return (TelephonyManager) context.getSystemService("phone");
}
public static int getPackageVersionCode(Context context) {
try {
return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode;
} catch (PackageManager.NameNotFoundException e) {
Logging.e("CctTransportBackend", "Unable to find version code for package", e);
return -1;
}
}
@Override // com.google.android.datatransport.runtime.backends.TransportBackend
public EventInternal decorate(EventInternal eventInternal) {
NetworkInfo activeNetworkInfo = this.connectivityManager.getActiveNetworkInfo();
return eventInternal.toBuilder().addMetadata("sdk-version", Build.VERSION.SDK_INT).addMetadata("model", Build.MODEL).addMetadata("hardware", Build.HARDWARE).addMetadata("device", Build.DEVICE).addMetadata(AppLovinEventTypes.USER_VIEWED_PRODUCT, Build.PRODUCT).addMetadata("os-uild", Build.ID).addMetadata("manufacturer", Build.MANUFACTURER).addMetadata("fingerprint", Build.FINGERPRINT).addMetadata("tz-offset", getTzOffset()).addMetadata("net-type", getNetTypeValue(activeNetworkInfo)).addMetadata("mobile-subtype", getNetSubtypeValue(activeNetworkInfo)).addMetadata("country", Locale.getDefault().getCountry()).addMetadata("locale", Locale.getDefault().getLanguage()).addMetadata("mcc_mnc", getTelephonyManager(this.applicationContext).getSimOperator()).addMetadata("application_build", Integer.toString(getPackageVersionCode(this.applicationContext))).build();
}
public static int getNetTypeValue(NetworkInfo networkInfo) {
if (networkInfo == null) {
return NetworkConnectionInfo.NetworkType.NONE.getValue();
}
return networkInfo.getType();
}
public static int getNetSubtypeValue(NetworkInfo networkInfo) {
if (networkInfo == null) {
return NetworkConnectionInfo.MobileSubtype.UNKNOWN_MOBILE_SUBTYPE.getValue();
}
int subtype = networkInfo.getSubtype();
if (subtype == -1) {
return NetworkConnectionInfo.MobileSubtype.COMBINED.getValue();
}
if (NetworkConnectionInfo.MobileSubtype.forNumber(subtype) != null) {
return subtype;
}
return 0;
}
public final BatchedLogRequest getRequestBody(BackendRequest backendRequest) {
LogEvent.Builder protoBuilder;
HashMap hashMap = new HashMap();
for (EventInternal eventInternal : backendRequest.getEvents()) {
String transportName = eventInternal.getTransportName();
if (!hashMap.containsKey(transportName)) {
ArrayList arrayList = new ArrayList();
arrayList.add(eventInternal);
hashMap.put(transportName, arrayList);
} else {
((List) hashMap.get(transportName)).add(eventInternal);
}
}
ArrayList arrayList2 = new ArrayList();
for (Map.Entry entry : hashMap.entrySet()) {
EventInternal eventInternal2 = (EventInternal) ((List) entry.getValue()).get(0);
LogRequest.Builder clientInfo = LogRequest.builder().setQosTier(QosTier.DEFAULT).setRequestTimeMs(this.wallTimeClock.getTime()).setRequestUptimeMs(this.uptimeClock.getTime()).setClientInfo(ClientInfo.builder().setClientType(ClientInfo.ClientType.ANDROID_FIREBASE).setAndroidClientInfo(AndroidClientInfo.builder().setSdkVersion(Integer.valueOf(eventInternal2.getInteger("sdk-version"))).setModel(eventInternal2.get("model")).setHardware(eventInternal2.get("hardware")).setDevice(eventInternal2.get("device")).setProduct(eventInternal2.get(AppLovinEventTypes.USER_VIEWED_PRODUCT)).setOsBuild(eventInternal2.get("os-uild")).setManufacturer(eventInternal2.get("manufacturer")).setFingerprint(eventInternal2.get("fingerprint")).setCountry(eventInternal2.get("country")).setLocale(eventInternal2.get("locale")).setMccMnc(eventInternal2.get("mcc_mnc")).setApplicationBuild(eventInternal2.get("application_build")).build()).build());
try {
clientInfo.setSource(Integer.parseInt((String) entry.getKey()));
} catch (NumberFormatException unused) {
clientInfo.setSource((String) entry.getKey());
}
ArrayList arrayList3 = new ArrayList();
for (EventInternal eventInternal3 : (List) entry.getValue()) {
EncodedPayload encodedPayload = eventInternal3.getEncodedPayload();
Encoding encoding = encodedPayload.getEncoding();
if (encoding.equals(Encoding.of("proto"))) {
protoBuilder = LogEvent.protoBuilder(encodedPayload.getBytes());
} else if (encoding.equals(Encoding.of("json"))) {
protoBuilder = LogEvent.jsonBuilder(new String(encodedPayload.getBytes(), Charset.forName("UTF-8")));
} else {
Logging.w("CctTransportBackend", "Received event of unsupported encoding %s. Skipping...", encoding);
}
protoBuilder.setEventTimeMs(eventInternal3.getEventMillis()).setEventUptimeMs(eventInternal3.getUptimeMillis()).setTimezoneOffsetSeconds(eventInternal3.getLong("tz-offset")).setNetworkConnectionInfo(NetworkConnectionInfo.builder().setNetworkType(NetworkConnectionInfo.NetworkType.forNumber(eventInternal3.getInteger("net-type"))).setMobileSubtype(NetworkConnectionInfo.MobileSubtype.forNumber(eventInternal3.getInteger("mobile-subtype"))).build());
if (eventInternal3.getCode() != null) {
protoBuilder.setEventCode(eventInternal3.getCode());
}
arrayList3.add(protoBuilder.build());
}
clientInfo.setLogEvents(arrayList3);
arrayList2.add(clientInfo.build());
}
return BatchedLogRequest.create(arrayList2);
}
public final HttpResponse doSend(HttpRequest httpRequest) {
Logging.i("CctTransportBackend", "Making request to: %s", httpRequest.url);
HttpURLConnection httpURLConnection = (HttpURLConnection) httpRequest.url.openConnection();
httpURLConnection.setConnectTimeout(30000);
httpURLConnection.setReadTimeout(this.readTimeout);
httpURLConnection.setDoOutput(true);
httpURLConnection.setInstanceFollowRedirects(false);
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setRequestProperty("User-Agent", String.format("datatransport/%s android/", "3.1.9"));
httpURLConnection.setRequestProperty(HTTP.CONTENT_ENCODING, "gzip");
httpURLConnection.setRequestProperty("Content-Type", nb.L);
httpURLConnection.setRequestProperty("Accept-Encoding", "gzip");
String str = httpRequest.apiKey;
if (str != null) {
httpURLConnection.setRequestProperty("X-Goog-Api-Key", str);
}
try {
OutputStream outputStream = httpURLConnection.getOutputStream();
try {
GZIPOutputStream gZIPOutputStream = new GZIPOutputStream(outputStream);
try {
this.dataEncoder.encode(httpRequest.requestBody, new BufferedWriter(new OutputStreamWriter(gZIPOutputStream)));
gZIPOutputStream.close();
if (outputStream != null) {
outputStream.close();
}
int responseCode = httpURLConnection.getResponseCode();
Logging.i("CctTransportBackend", "Status Code: %d", Integer.valueOf(responseCode));
Logging.d("CctTransportBackend", "Content-Type: %s", httpURLConnection.getHeaderField("Content-Type"));
Logging.d("CctTransportBackend", "Content-Encoding: %s", httpURLConnection.getHeaderField(HTTP.CONTENT_ENCODING));
if (responseCode == 302 || responseCode == 301 || responseCode == 307) {
return new HttpResponse(responseCode, new URL(httpURLConnection.getHeaderField("Location")), 0L);
}
if (responseCode != 200) {
return new HttpResponse(responseCode, null, 0L);
}
InputStream inputStream = httpURLConnection.getInputStream();
try {
InputStream maybeUnGzip = maybeUnGzip(inputStream, httpURLConnection.getHeaderField(HTTP.CONTENT_ENCODING));
try {
HttpResponse httpResponse = new HttpResponse(responseCode, null, LogResponse.fromJson(new BufferedReader(new InputStreamReader(maybeUnGzip))).getNextRequestWaitMillis());
if (maybeUnGzip != null) {
maybeUnGzip.close();
}
if (inputStream != null) {
inputStream.close();
}
return httpResponse;
} finally {
}
} catch (Throwable th) {
if (inputStream != null) {
try {
inputStream.close();
} catch (Throwable th2) {
th.addSuppressed(th2);
}
}
throw th;
}
} finally {
}
} catch (Throwable th3) {
if (outputStream != null) {
try {
outputStream.close();
} catch (Throwable th4) {
th3.addSuppressed(th4);
}
}
throw th3;
}
} catch (EncodingException e) {
e = e;
Logging.e("CctTransportBackend", "Couldn't encode request, returning with 400", e);
return new HttpResponse(400, null, 0L);
} catch (ConnectException e2) {
e = e2;
Logging.e("CctTransportBackend", "Couldn't open connection, returning with 500", e);
return new HttpResponse(500, null, 0L);
} catch (UnknownHostException e3) {
e = e3;
Logging.e("CctTransportBackend", "Couldn't open connection, returning with 500", e);
return new HttpResponse(500, null, 0L);
} catch (IOException e4) {
e = e4;
Logging.e("CctTransportBackend", "Couldn't encode request, returning with 400", e);
return new HttpResponse(400, null, 0L);
}
}
public static InputStream maybeUnGzip(InputStream inputStream, String str) {
return "gzip".equals(str) ? new GZIPInputStream(inputStream) : inputStream;
}
@Override // com.google.android.datatransport.runtime.backends.TransportBackend
public BackendResponse send(BackendRequest backendRequest) {
BatchedLogRequest requestBody = getRequestBody(backendRequest);
URL url = this.endPoint;
if (backendRequest.getExtras() != null) {
try {
CCTDestination fromByteArray = CCTDestination.fromByteArray(backendRequest.getExtras());
r3 = fromByteArray.getAPIKey() != null ? fromByteArray.getAPIKey() : null;
if (fromByteArray.getEndPoint() != null) {
url = parseUrlOrThrow(fromByteArray.getEndPoint());
}
} catch (IllegalArgumentException unused) {
return BackendResponse.fatalError();
}
}
try {
HttpResponse httpResponse = (HttpResponse) Retries.retry(5, new HttpRequest(url, requestBody, r3), new Function() { // from class: com.google.android.datatransport.cct.CctTransportBackend$$ExternalSyntheticLambda0
@Override // com.google.android.datatransport.runtime.retries.Function
public final Object apply(Object obj) {
CctTransportBackend.HttpResponse doSend;
doSend = CctTransportBackend.this.doSend((CctTransportBackend.HttpRequest) obj);
return doSend;
}
}, new RetryStrategy() { // from class: com.google.android.datatransport.cct.CctTransportBackend$$ExternalSyntheticLambda1
@Override // com.google.android.datatransport.runtime.retries.RetryStrategy
public final Object shouldRetry(Object obj, Object obj2) {
CctTransportBackend.HttpRequest lambda$send$0;
lambda$send$0 = CctTransportBackend.lambda$send$0((CctTransportBackend.HttpRequest) obj, (CctTransportBackend.HttpResponse) obj2);
return lambda$send$0;
}
});
int i = httpResponse.code;
if (i == 200) {
return BackendResponse.ok(httpResponse.nextRequestMillis);
}
if (i < 500 && i != 404) {
if (i == 400) {
return BackendResponse.invalidPayload();
}
return BackendResponse.fatalError();
}
return BackendResponse.transientError();
} catch (IOException e) {
Logging.e("CctTransportBackend", "Could not make request to the backend", e);
return BackendResponse.transientError();
}
}
public static /* synthetic */ HttpRequest lambda$send$0(HttpRequest httpRequest, HttpResponse httpResponse) {
URL url = httpResponse.redirectUrl;
if (url == null) {
return null;
}
Logging.d("CctTransportBackend", "Following redirect to: %s", url);
return httpRequest.withUrl(httpResponse.redirectUrl);
}
public static long getTzOffset() {
Calendar.getInstance();
return TimeZone.getDefault().getOffset(Calendar.getInstance().getTimeInMillis()) / 1000;
}
public static final class HttpResponse {
public final int code;
public final long nextRequestMillis;
public final URL redirectUrl;
public HttpResponse(int i, URL url, long j) {
this.code = i;
this.redirectUrl = url;
this.nextRequestMillis = j;
}
}
public static final class HttpRequest {
public final String apiKey;
public final BatchedLogRequest requestBody;
public final URL url;
public HttpRequest(URL url, BatchedLogRequest batchedLogRequest, String str) {
this.url = url;
this.requestBody = batchedLogRequest;
this.apiKey = str;
}
public HttpRequest withUrl(URL url) {
return new HttpRequest(url, this.requestBody, this.apiKey);
}
}
}

View File

@@ -0,0 +1,19 @@
package com.google.android.datatransport.cct;
/* loaded from: classes2.dex */
public abstract class StringMerger {
public static String mergeStrings(String str, String str2) {
int length = str.length() - str2.length();
if (length < 0 || length > 1) {
throw new IllegalArgumentException("Invalid input received");
}
StringBuilder sb = new StringBuilder(str.length() + str2.length());
for (int i = 0; i < str.length(); i++) {
sb.append(str.charAt(i));
if (str2.length() > i) {
sb.append(str2.charAt(i));
}
}
return sb.toString();
}
}

View File

@@ -0,0 +1,63 @@
package com.google.android.datatransport.cct.internal;
import com.google.android.datatransport.cct.internal.AutoValue_AndroidClientInfo;
/* loaded from: classes2.dex */
public abstract class AndroidClientInfo {
public static abstract class Builder {
public abstract AndroidClientInfo build();
public abstract Builder setApplicationBuild(String str);
public abstract Builder setCountry(String str);
public abstract Builder setDevice(String str);
public abstract Builder setFingerprint(String str);
public abstract Builder setHardware(String str);
public abstract Builder setLocale(String str);
public abstract Builder setManufacturer(String str);
public abstract Builder setMccMnc(String str);
public abstract Builder setModel(String str);
public abstract Builder setOsBuild(String str);
public abstract Builder setProduct(String str);
public abstract Builder setSdkVersion(Integer num);
}
public abstract String getApplicationBuild();
public abstract String getCountry();
public abstract String getDevice();
public abstract String getFingerprint();
public abstract String getHardware();
public abstract String getLocale();
public abstract String getManufacturer();
public abstract String getMccMnc();
public abstract String getModel();
public abstract String getOsBuild();
public abstract String getProduct();
public abstract Integer getSdkVersion();
public static Builder builder() {
return new AutoValue_AndroidClientInfo.Builder();
}
}

View File

@@ -0,0 +1,145 @@
package com.google.android.datatransport.cct.internal;
import com.applovin.sdk.AppLovinEventTypes;
import com.google.firebase.encoders.FieldDescriptor;
import com.google.firebase.encoders.ObjectEncoder;
import com.google.firebase.encoders.ObjectEncoderContext;
import com.google.firebase.encoders.config.Configurator;
import com.google.firebase.encoders.config.EncoderConfig;
/* loaded from: classes2.dex */
public final class AutoBatchedLogRequestEncoder implements Configurator {
public static final Configurator CONFIG = new AutoBatchedLogRequestEncoder();
@Override // com.google.firebase.encoders.config.Configurator
public void configure(EncoderConfig encoderConfig) {
BatchedLogRequestEncoder batchedLogRequestEncoder = BatchedLogRequestEncoder.INSTANCE;
encoderConfig.registerEncoder(BatchedLogRequest.class, batchedLogRequestEncoder);
encoderConfig.registerEncoder(AutoValue_BatchedLogRequest.class, batchedLogRequestEncoder);
LogRequestEncoder logRequestEncoder = LogRequestEncoder.INSTANCE;
encoderConfig.registerEncoder(LogRequest.class, logRequestEncoder);
encoderConfig.registerEncoder(AutoValue_LogRequest.class, logRequestEncoder);
ClientInfoEncoder clientInfoEncoder = ClientInfoEncoder.INSTANCE;
encoderConfig.registerEncoder(ClientInfo.class, clientInfoEncoder);
encoderConfig.registerEncoder(AutoValue_ClientInfo.class, clientInfoEncoder);
AndroidClientInfoEncoder androidClientInfoEncoder = AndroidClientInfoEncoder.INSTANCE;
encoderConfig.registerEncoder(AndroidClientInfo.class, androidClientInfoEncoder);
encoderConfig.registerEncoder(AutoValue_AndroidClientInfo.class, androidClientInfoEncoder);
LogEventEncoder logEventEncoder = LogEventEncoder.INSTANCE;
encoderConfig.registerEncoder(LogEvent.class, logEventEncoder);
encoderConfig.registerEncoder(AutoValue_LogEvent.class, logEventEncoder);
NetworkConnectionInfoEncoder networkConnectionInfoEncoder = NetworkConnectionInfoEncoder.INSTANCE;
encoderConfig.registerEncoder(NetworkConnectionInfo.class, networkConnectionInfoEncoder);
encoderConfig.registerEncoder(AutoValue_NetworkConnectionInfo.class, networkConnectionInfoEncoder);
}
public static final class BatchedLogRequestEncoder implements ObjectEncoder {
public static final BatchedLogRequestEncoder INSTANCE = new BatchedLogRequestEncoder();
public static final FieldDescriptor LOGREQUEST_DESCRIPTOR = FieldDescriptor.of("logRequest");
@Override // com.google.firebase.encoders.ObjectEncoder
public void encode(BatchedLogRequest batchedLogRequest, ObjectEncoderContext objectEncoderContext) {
objectEncoderContext.add(LOGREQUEST_DESCRIPTOR, batchedLogRequest.getLogRequests());
}
}
public static final class LogRequestEncoder implements ObjectEncoder {
public static final LogRequestEncoder INSTANCE = new LogRequestEncoder();
public static final FieldDescriptor REQUESTTIMEMS_DESCRIPTOR = FieldDescriptor.of("requestTimeMs");
public static final FieldDescriptor REQUESTUPTIMEMS_DESCRIPTOR = FieldDescriptor.of("requestUptimeMs");
public static final FieldDescriptor CLIENTINFO_DESCRIPTOR = FieldDescriptor.of("clientInfo");
public static final FieldDescriptor LOGSOURCE_DESCRIPTOR = FieldDescriptor.of("logSource");
public static final FieldDescriptor LOGSOURCENAME_DESCRIPTOR = FieldDescriptor.of("logSourceName");
public static final FieldDescriptor LOGEVENT_DESCRIPTOR = FieldDescriptor.of("logEvent");
public static final FieldDescriptor QOSTIER_DESCRIPTOR = FieldDescriptor.of("qosTier");
@Override // com.google.firebase.encoders.ObjectEncoder
public void encode(LogRequest logRequest, ObjectEncoderContext objectEncoderContext) {
objectEncoderContext.add(REQUESTTIMEMS_DESCRIPTOR, logRequest.getRequestTimeMs());
objectEncoderContext.add(REQUESTUPTIMEMS_DESCRIPTOR, logRequest.getRequestUptimeMs());
objectEncoderContext.add(CLIENTINFO_DESCRIPTOR, logRequest.getClientInfo());
objectEncoderContext.add(LOGSOURCE_DESCRIPTOR, logRequest.getLogSource());
objectEncoderContext.add(LOGSOURCENAME_DESCRIPTOR, logRequest.getLogSourceName());
objectEncoderContext.add(LOGEVENT_DESCRIPTOR, logRequest.getLogEvents());
objectEncoderContext.add(QOSTIER_DESCRIPTOR, logRequest.getQosTier());
}
}
public static final class ClientInfoEncoder implements ObjectEncoder {
public static final ClientInfoEncoder INSTANCE = new ClientInfoEncoder();
public static final FieldDescriptor CLIENTTYPE_DESCRIPTOR = FieldDescriptor.of("clientType");
public static final FieldDescriptor ANDROIDCLIENTINFO_DESCRIPTOR = FieldDescriptor.of("androidClientInfo");
@Override // com.google.firebase.encoders.ObjectEncoder
public void encode(ClientInfo clientInfo, ObjectEncoderContext objectEncoderContext) {
objectEncoderContext.add(CLIENTTYPE_DESCRIPTOR, clientInfo.getClientType());
objectEncoderContext.add(ANDROIDCLIENTINFO_DESCRIPTOR, clientInfo.getAndroidClientInfo());
}
}
public static final class AndroidClientInfoEncoder implements ObjectEncoder {
public static final AndroidClientInfoEncoder INSTANCE = new AndroidClientInfoEncoder();
public static final FieldDescriptor SDKVERSION_DESCRIPTOR = FieldDescriptor.of("sdkVersion");
public static final FieldDescriptor MODEL_DESCRIPTOR = FieldDescriptor.of("model");
public static final FieldDescriptor HARDWARE_DESCRIPTOR = FieldDescriptor.of("hardware");
public static final FieldDescriptor DEVICE_DESCRIPTOR = FieldDescriptor.of("device");
public static final FieldDescriptor PRODUCT_DESCRIPTOR = FieldDescriptor.of(AppLovinEventTypes.USER_VIEWED_PRODUCT);
public static final FieldDescriptor OSBUILD_DESCRIPTOR = FieldDescriptor.of("osBuild");
public static final FieldDescriptor MANUFACTURER_DESCRIPTOR = FieldDescriptor.of("manufacturer");
public static final FieldDescriptor FINGERPRINT_DESCRIPTOR = FieldDescriptor.of("fingerprint");
public static final FieldDescriptor LOCALE_DESCRIPTOR = FieldDescriptor.of("locale");
public static final FieldDescriptor COUNTRY_DESCRIPTOR = FieldDescriptor.of("country");
public static final FieldDescriptor MCCMNC_DESCRIPTOR = FieldDescriptor.of("mccMnc");
public static final FieldDescriptor APPLICATIONBUILD_DESCRIPTOR = FieldDescriptor.of("applicationBuild");
@Override // com.google.firebase.encoders.ObjectEncoder
public void encode(AndroidClientInfo androidClientInfo, ObjectEncoderContext objectEncoderContext) {
objectEncoderContext.add(SDKVERSION_DESCRIPTOR, androidClientInfo.getSdkVersion());
objectEncoderContext.add(MODEL_DESCRIPTOR, androidClientInfo.getModel());
objectEncoderContext.add(HARDWARE_DESCRIPTOR, androidClientInfo.getHardware());
objectEncoderContext.add(DEVICE_DESCRIPTOR, androidClientInfo.getDevice());
objectEncoderContext.add(PRODUCT_DESCRIPTOR, androidClientInfo.getProduct());
objectEncoderContext.add(OSBUILD_DESCRIPTOR, androidClientInfo.getOsBuild());
objectEncoderContext.add(MANUFACTURER_DESCRIPTOR, androidClientInfo.getManufacturer());
objectEncoderContext.add(FINGERPRINT_DESCRIPTOR, androidClientInfo.getFingerprint());
objectEncoderContext.add(LOCALE_DESCRIPTOR, androidClientInfo.getLocale());
objectEncoderContext.add(COUNTRY_DESCRIPTOR, androidClientInfo.getCountry());
objectEncoderContext.add(MCCMNC_DESCRIPTOR, androidClientInfo.getMccMnc());
objectEncoderContext.add(APPLICATIONBUILD_DESCRIPTOR, androidClientInfo.getApplicationBuild());
}
}
public static final class LogEventEncoder implements ObjectEncoder {
public static final LogEventEncoder INSTANCE = new LogEventEncoder();
public static final FieldDescriptor EVENTTIMEMS_DESCRIPTOR = FieldDescriptor.of("eventTimeMs");
public static final FieldDescriptor EVENTCODE_DESCRIPTOR = FieldDescriptor.of("eventCode");
public static final FieldDescriptor EVENTUPTIMEMS_DESCRIPTOR = FieldDescriptor.of("eventUptimeMs");
public static final FieldDescriptor SOURCEEXTENSION_DESCRIPTOR = FieldDescriptor.of("sourceExtension");
public static final FieldDescriptor SOURCEEXTENSIONJSONPROTO3_DESCRIPTOR = FieldDescriptor.of("sourceExtensionJsonProto3");
public static final FieldDescriptor TIMEZONEOFFSETSECONDS_DESCRIPTOR = FieldDescriptor.of("timezoneOffsetSeconds");
public static final FieldDescriptor NETWORKCONNECTIONINFO_DESCRIPTOR = FieldDescriptor.of("networkConnectionInfo");
@Override // com.google.firebase.encoders.ObjectEncoder
public void encode(LogEvent logEvent, ObjectEncoderContext objectEncoderContext) {
objectEncoderContext.add(EVENTTIMEMS_DESCRIPTOR, logEvent.getEventTimeMs());
objectEncoderContext.add(EVENTCODE_DESCRIPTOR, logEvent.getEventCode());
objectEncoderContext.add(EVENTUPTIMEMS_DESCRIPTOR, logEvent.getEventUptimeMs());
objectEncoderContext.add(SOURCEEXTENSION_DESCRIPTOR, logEvent.getSourceExtension());
objectEncoderContext.add(SOURCEEXTENSIONJSONPROTO3_DESCRIPTOR, logEvent.getSourceExtensionJsonProto3());
objectEncoderContext.add(TIMEZONEOFFSETSECONDS_DESCRIPTOR, logEvent.getTimezoneOffsetSeconds());
objectEncoderContext.add(NETWORKCONNECTIONINFO_DESCRIPTOR, logEvent.getNetworkConnectionInfo());
}
}
public static final class NetworkConnectionInfoEncoder implements ObjectEncoder {
public static final NetworkConnectionInfoEncoder INSTANCE = new NetworkConnectionInfoEncoder();
public static final FieldDescriptor NETWORKTYPE_DESCRIPTOR = FieldDescriptor.of("networkType");
public static final FieldDescriptor MOBILESUBTYPE_DESCRIPTOR = FieldDescriptor.of("mobileSubtype");
@Override // com.google.firebase.encoders.ObjectEncoder
public void encode(NetworkConnectionInfo networkConnectionInfo, ObjectEncoderContext objectEncoderContext) {
objectEncoderContext.add(NETWORKTYPE_DESCRIPTOR, networkConnectionInfo.getNetworkType());
objectEncoderContext.add(MOBILESUBTYPE_DESCRIPTOR, networkConnectionInfo.getMobileSubtype());
}
}
}

View File

@@ -0,0 +1,269 @@
package com.google.android.datatransport.cct.internal;
import com.google.android.datatransport.cct.internal.AndroidClientInfo;
/* loaded from: classes2.dex */
public final class AutoValue_AndroidClientInfo extends AndroidClientInfo {
public final String applicationBuild;
public final String country;
public final String device;
public final String fingerprint;
public final String hardware;
public final String locale;
public final String manufacturer;
public final String mccMnc;
public final String model;
public final String osBuild;
public final String product;
public final Integer sdkVersion;
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo
public String getApplicationBuild() {
return this.applicationBuild;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo
public String getCountry() {
return this.country;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo
public String getDevice() {
return this.device;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo
public String getFingerprint() {
return this.fingerprint;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo
public String getHardware() {
return this.hardware;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo
public String getLocale() {
return this.locale;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo
public String getManufacturer() {
return this.manufacturer;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo
public String getMccMnc() {
return this.mccMnc;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo
public String getModel() {
return this.model;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo
public String getOsBuild() {
return this.osBuild;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo
public String getProduct() {
return this.product;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo
public Integer getSdkVersion() {
return this.sdkVersion;
}
public AutoValue_AndroidClientInfo(Integer num, String str, String str2, String str3, String str4, String str5, String str6, String str7, String str8, String str9, String str10, String str11) {
this.sdkVersion = num;
this.model = str;
this.hardware = str2;
this.device = str3;
this.product = str4;
this.osBuild = str5;
this.manufacturer = str6;
this.fingerprint = str7;
this.locale = str8;
this.country = str9;
this.mccMnc = str10;
this.applicationBuild = str11;
}
public String toString() {
return "AndroidClientInfo{sdkVersion=" + this.sdkVersion + ", model=" + this.model + ", hardware=" + this.hardware + ", device=" + this.device + ", product=" + this.product + ", osBuild=" + this.osBuild + ", manufacturer=" + this.manufacturer + ", fingerprint=" + this.fingerprint + ", locale=" + this.locale + ", country=" + this.country + ", mccMnc=" + this.mccMnc + ", applicationBuild=" + this.applicationBuild + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof AndroidClientInfo)) {
return false;
}
AndroidClientInfo androidClientInfo = (AndroidClientInfo) obj;
Integer num = this.sdkVersion;
if (num != null ? num.equals(androidClientInfo.getSdkVersion()) : androidClientInfo.getSdkVersion() == null) {
String str = this.model;
if (str != null ? str.equals(androidClientInfo.getModel()) : androidClientInfo.getModel() == null) {
String str2 = this.hardware;
if (str2 != null ? str2.equals(androidClientInfo.getHardware()) : androidClientInfo.getHardware() == null) {
String str3 = this.device;
if (str3 != null ? str3.equals(androidClientInfo.getDevice()) : androidClientInfo.getDevice() == null) {
String str4 = this.product;
if (str4 != null ? str4.equals(androidClientInfo.getProduct()) : androidClientInfo.getProduct() == null) {
String str5 = this.osBuild;
if (str5 != null ? str5.equals(androidClientInfo.getOsBuild()) : androidClientInfo.getOsBuild() == null) {
String str6 = this.manufacturer;
if (str6 != null ? str6.equals(androidClientInfo.getManufacturer()) : androidClientInfo.getManufacturer() == null) {
String str7 = this.fingerprint;
if (str7 != null ? str7.equals(androidClientInfo.getFingerprint()) : androidClientInfo.getFingerprint() == null) {
String str8 = this.locale;
if (str8 != null ? str8.equals(androidClientInfo.getLocale()) : androidClientInfo.getLocale() == null) {
String str9 = this.country;
if (str9 != null ? str9.equals(androidClientInfo.getCountry()) : androidClientInfo.getCountry() == null) {
String str10 = this.mccMnc;
if (str10 != null ? str10.equals(androidClientInfo.getMccMnc()) : androidClientInfo.getMccMnc() == null) {
String str11 = this.applicationBuild;
if (str11 == null) {
if (androidClientInfo.getApplicationBuild() == null) {
return true;
}
} else if (str11.equals(androidClientInfo.getApplicationBuild())) {
return true;
}
}
}
}
}
}
}
}
}
}
}
}
return false;
}
public int hashCode() {
Integer num = this.sdkVersion;
int hashCode = ((num == null ? 0 : num.hashCode()) ^ 1000003) * 1000003;
String str = this.model;
int hashCode2 = (hashCode ^ (str == null ? 0 : str.hashCode())) * 1000003;
String str2 = this.hardware;
int hashCode3 = (hashCode2 ^ (str2 == null ? 0 : str2.hashCode())) * 1000003;
String str3 = this.device;
int hashCode4 = (hashCode3 ^ (str3 == null ? 0 : str3.hashCode())) * 1000003;
String str4 = this.product;
int hashCode5 = (hashCode4 ^ (str4 == null ? 0 : str4.hashCode())) * 1000003;
String str5 = this.osBuild;
int hashCode6 = (hashCode5 ^ (str5 == null ? 0 : str5.hashCode())) * 1000003;
String str6 = this.manufacturer;
int hashCode7 = (hashCode6 ^ (str6 == null ? 0 : str6.hashCode())) * 1000003;
String str7 = this.fingerprint;
int hashCode8 = (hashCode7 ^ (str7 == null ? 0 : str7.hashCode())) * 1000003;
String str8 = this.locale;
int hashCode9 = (hashCode8 ^ (str8 == null ? 0 : str8.hashCode())) * 1000003;
String str9 = this.country;
int hashCode10 = (hashCode9 ^ (str9 == null ? 0 : str9.hashCode())) * 1000003;
String str10 = this.mccMnc;
int hashCode11 = (hashCode10 ^ (str10 == null ? 0 : str10.hashCode())) * 1000003;
String str11 = this.applicationBuild;
return hashCode11 ^ (str11 != null ? str11.hashCode() : 0);
}
public static final class Builder extends AndroidClientInfo.Builder {
public String applicationBuild;
public String country;
public String device;
public String fingerprint;
public String hardware;
public String locale;
public String manufacturer;
public String mccMnc;
public String model;
public String osBuild;
public String product;
public Integer sdkVersion;
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo.Builder setApplicationBuild(String str) {
this.applicationBuild = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo.Builder setCountry(String str) {
this.country = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo.Builder setDevice(String str) {
this.device = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo.Builder setFingerprint(String str) {
this.fingerprint = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo.Builder setHardware(String str) {
this.hardware = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo.Builder setLocale(String str) {
this.locale = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo.Builder setManufacturer(String str) {
this.manufacturer = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo.Builder setMccMnc(String str) {
this.mccMnc = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo.Builder setModel(String str) {
this.model = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo.Builder setOsBuild(String str) {
this.osBuild = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo.Builder setProduct(String str) {
this.product = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo.Builder setSdkVersion(Integer num) {
this.sdkVersion = num;
return this;
}
@Override // com.google.android.datatransport.cct.internal.AndroidClientInfo.Builder
public AndroidClientInfo build() {
return new AutoValue_AndroidClientInfo(this.sdkVersion, this.model, this.hardware, this.device, this.product, this.osBuild, this.manufacturer, this.fingerprint, this.locale, this.country, this.mccMnc, this.applicationBuild);
}
}
}

View File

@@ -0,0 +1,38 @@
package com.google.android.datatransport.cct.internal;
import java.util.List;
/* loaded from: classes2.dex */
public final class AutoValue_BatchedLogRequest extends BatchedLogRequest {
public final List logRequests;
@Override // com.google.android.datatransport.cct.internal.BatchedLogRequest
public List getLogRequests() {
return this.logRequests;
}
public AutoValue_BatchedLogRequest(List list) {
if (list == null) {
throw new NullPointerException("Null logRequests");
}
this.logRequests = list;
}
public String toString() {
return "BatchedLogRequest{logRequests=" + this.logRequests + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (obj instanceof BatchedLogRequest) {
return this.logRequests.equals(((BatchedLogRequest) obj).getLogRequests());
}
return false;
}
public int hashCode() {
return this.logRequests.hashCode() ^ 1000003;
}
}

View File

@@ -0,0 +1,79 @@
package com.google.android.datatransport.cct.internal;
import com.google.android.datatransport.cct.internal.ClientInfo;
/* loaded from: classes2.dex */
public final class AutoValue_ClientInfo extends ClientInfo {
public final AndroidClientInfo androidClientInfo;
public final ClientInfo.ClientType clientType;
@Override // com.google.android.datatransport.cct.internal.ClientInfo
public AndroidClientInfo getAndroidClientInfo() {
return this.androidClientInfo;
}
@Override // com.google.android.datatransport.cct.internal.ClientInfo
public ClientInfo.ClientType getClientType() {
return this.clientType;
}
public AutoValue_ClientInfo(ClientInfo.ClientType clientType, AndroidClientInfo androidClientInfo) {
this.clientType = clientType;
this.androidClientInfo = androidClientInfo;
}
public String toString() {
return "ClientInfo{clientType=" + this.clientType + ", androidClientInfo=" + this.androidClientInfo + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof ClientInfo)) {
return false;
}
ClientInfo clientInfo = (ClientInfo) obj;
ClientInfo.ClientType clientType = this.clientType;
if (clientType != null ? clientType.equals(clientInfo.getClientType()) : clientInfo.getClientType() == null) {
AndroidClientInfo androidClientInfo = this.androidClientInfo;
if (androidClientInfo == null) {
if (clientInfo.getAndroidClientInfo() == null) {
return true;
}
} else if (androidClientInfo.equals(clientInfo.getAndroidClientInfo())) {
return true;
}
}
return false;
}
public int hashCode() {
ClientInfo.ClientType clientType = this.clientType;
int hashCode = ((clientType == null ? 0 : clientType.hashCode()) ^ 1000003) * 1000003;
AndroidClientInfo androidClientInfo = this.androidClientInfo;
return hashCode ^ (androidClientInfo != null ? androidClientInfo.hashCode() : 0);
}
public static final class Builder extends ClientInfo.Builder {
public AndroidClientInfo androidClientInfo;
public ClientInfo.ClientType clientType;
@Override // com.google.android.datatransport.cct.internal.ClientInfo.Builder
public ClientInfo.Builder setAndroidClientInfo(AndroidClientInfo androidClientInfo) {
this.androidClientInfo = androidClientInfo;
return this;
}
@Override // com.google.android.datatransport.cct.internal.ClientInfo.Builder
public ClientInfo.Builder setClientType(ClientInfo.ClientType clientType) {
this.clientType = clientType;
return this;
}
@Override // com.google.android.datatransport.cct.internal.ClientInfo.Builder
public ClientInfo build() {
return new AutoValue_ClientInfo(this.clientType, this.androidClientInfo);
}
}
}

View File

@@ -0,0 +1,174 @@
package com.google.android.datatransport.cct.internal;
import com.google.android.datatransport.cct.internal.LogEvent;
import java.util.Arrays;
/* loaded from: classes2.dex */
public final class AutoValue_LogEvent extends LogEvent {
public final Integer eventCode;
public final long eventTimeMs;
public final long eventUptimeMs;
public final NetworkConnectionInfo networkConnectionInfo;
public final byte[] sourceExtension;
public final String sourceExtensionJsonProto3;
public final long timezoneOffsetSeconds;
@Override // com.google.android.datatransport.cct.internal.LogEvent
public Integer getEventCode() {
return this.eventCode;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent
public long getEventTimeMs() {
return this.eventTimeMs;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent
public long getEventUptimeMs() {
return this.eventUptimeMs;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent
public NetworkConnectionInfo getNetworkConnectionInfo() {
return this.networkConnectionInfo;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent
public byte[] getSourceExtension() {
return this.sourceExtension;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent
public String getSourceExtensionJsonProto3() {
return this.sourceExtensionJsonProto3;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent
public long getTimezoneOffsetSeconds() {
return this.timezoneOffsetSeconds;
}
public AutoValue_LogEvent(long j, Integer num, long j2, byte[] bArr, String str, long j3, NetworkConnectionInfo networkConnectionInfo) {
this.eventTimeMs = j;
this.eventCode = num;
this.eventUptimeMs = j2;
this.sourceExtension = bArr;
this.sourceExtensionJsonProto3 = str;
this.timezoneOffsetSeconds = j3;
this.networkConnectionInfo = networkConnectionInfo;
}
public String toString() {
return "LogEvent{eventTimeMs=" + this.eventTimeMs + ", eventCode=" + this.eventCode + ", eventUptimeMs=" + this.eventUptimeMs + ", sourceExtension=" + Arrays.toString(this.sourceExtension) + ", sourceExtensionJsonProto3=" + this.sourceExtensionJsonProto3 + ", timezoneOffsetSeconds=" + this.timezoneOffsetSeconds + ", networkConnectionInfo=" + this.networkConnectionInfo + "}";
}
public boolean equals(Object obj) {
Integer num;
String str;
if (obj == this) {
return true;
}
if (!(obj instanceof LogEvent)) {
return false;
}
LogEvent logEvent = (LogEvent) obj;
if (this.eventTimeMs == logEvent.getEventTimeMs() && ((num = this.eventCode) != null ? num.equals(logEvent.getEventCode()) : logEvent.getEventCode() == null) && this.eventUptimeMs == logEvent.getEventUptimeMs()) {
if (Arrays.equals(this.sourceExtension, logEvent instanceof AutoValue_LogEvent ? ((AutoValue_LogEvent) logEvent).sourceExtension : logEvent.getSourceExtension()) && ((str = this.sourceExtensionJsonProto3) != null ? str.equals(logEvent.getSourceExtensionJsonProto3()) : logEvent.getSourceExtensionJsonProto3() == null) && this.timezoneOffsetSeconds == logEvent.getTimezoneOffsetSeconds()) {
NetworkConnectionInfo networkConnectionInfo = this.networkConnectionInfo;
if (networkConnectionInfo == null) {
if (logEvent.getNetworkConnectionInfo() == null) {
return true;
}
} else if (networkConnectionInfo.equals(logEvent.getNetworkConnectionInfo())) {
return true;
}
}
}
return false;
}
public int hashCode() {
long j = this.eventTimeMs;
int i = (((int) (j ^ (j >>> 32))) ^ 1000003) * 1000003;
Integer num = this.eventCode;
int hashCode = num == null ? 0 : num.hashCode();
long j2 = this.eventUptimeMs;
int hashCode2 = (((((i ^ hashCode) * 1000003) ^ ((int) (j2 ^ (j2 >>> 32)))) * 1000003) ^ Arrays.hashCode(this.sourceExtension)) * 1000003;
String str = this.sourceExtensionJsonProto3;
int hashCode3 = str == null ? 0 : str.hashCode();
long j3 = this.timezoneOffsetSeconds;
int i2 = (((hashCode2 ^ hashCode3) * 1000003) ^ ((int) ((j3 >>> 32) ^ j3))) * 1000003;
NetworkConnectionInfo networkConnectionInfo = this.networkConnectionInfo;
return i2 ^ (networkConnectionInfo != null ? networkConnectionInfo.hashCode() : 0);
}
public static final class Builder extends LogEvent.Builder {
public Integer eventCode;
public Long eventTimeMs;
public Long eventUptimeMs;
public NetworkConnectionInfo networkConnectionInfo;
public byte[] sourceExtension;
public String sourceExtensionJsonProto3;
public Long timezoneOffsetSeconds;
@Override // com.google.android.datatransport.cct.internal.LogEvent.Builder
public LogEvent.Builder setEventCode(Integer num) {
this.eventCode = num;
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent.Builder
public LogEvent.Builder setNetworkConnectionInfo(NetworkConnectionInfo networkConnectionInfo) {
this.networkConnectionInfo = networkConnectionInfo;
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent.Builder
public LogEvent.Builder setSourceExtension(byte[] bArr) {
this.sourceExtension = bArr;
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent.Builder
public LogEvent.Builder setSourceExtensionJsonProto3(String str) {
this.sourceExtensionJsonProto3 = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent.Builder
public LogEvent.Builder setEventTimeMs(long j) {
this.eventTimeMs = Long.valueOf(j);
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent.Builder
public LogEvent.Builder setEventUptimeMs(long j) {
this.eventUptimeMs = Long.valueOf(j);
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent.Builder
public LogEvent.Builder setTimezoneOffsetSeconds(long j) {
this.timezoneOffsetSeconds = Long.valueOf(j);
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogEvent.Builder
public LogEvent build() {
String str = "";
if (this.eventTimeMs == null) {
str = " eventTimeMs";
}
if (this.eventUptimeMs == null) {
str = str + " eventUptimeMs";
}
if (this.timezoneOffsetSeconds == null) {
str = str + " timezoneOffsetSeconds";
}
if (!str.isEmpty()) {
throw new IllegalStateException("Missing required properties:" + str);
}
return new AutoValue_LogEvent(this.eventTimeMs.longValue(), this.eventCode, this.eventUptimeMs.longValue(), this.sourceExtension, this.sourceExtensionJsonProto3, this.timezoneOffsetSeconds.longValue(), this.networkConnectionInfo);
}
}
}

View File

@@ -0,0 +1,172 @@
package com.google.android.datatransport.cct.internal;
import com.google.android.datatransport.cct.internal.LogRequest;
import java.util.List;
/* loaded from: classes2.dex */
public final class AutoValue_LogRequest extends LogRequest {
public final ClientInfo clientInfo;
public final List logEvents;
public final Integer logSource;
public final String logSourceName;
public final QosTier qosTier;
public final long requestTimeMs;
public final long requestUptimeMs;
@Override // com.google.android.datatransport.cct.internal.LogRequest
public ClientInfo getClientInfo() {
return this.clientInfo;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest
public List getLogEvents() {
return this.logEvents;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest
public Integer getLogSource() {
return this.logSource;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest
public String getLogSourceName() {
return this.logSourceName;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest
public QosTier getQosTier() {
return this.qosTier;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest
public long getRequestTimeMs() {
return this.requestTimeMs;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest
public long getRequestUptimeMs() {
return this.requestUptimeMs;
}
public AutoValue_LogRequest(long j, long j2, ClientInfo clientInfo, Integer num, String str, List list, QosTier qosTier) {
this.requestTimeMs = j;
this.requestUptimeMs = j2;
this.clientInfo = clientInfo;
this.logSource = num;
this.logSourceName = str;
this.logEvents = list;
this.qosTier = qosTier;
}
public String toString() {
return "LogRequest{requestTimeMs=" + this.requestTimeMs + ", requestUptimeMs=" + this.requestUptimeMs + ", clientInfo=" + this.clientInfo + ", logSource=" + this.logSource + ", logSourceName=" + this.logSourceName + ", logEvents=" + this.logEvents + ", qosTier=" + this.qosTier + "}";
}
public boolean equals(Object obj) {
ClientInfo clientInfo;
Integer num;
String str;
List list;
if (obj == this) {
return true;
}
if (!(obj instanceof LogRequest)) {
return false;
}
LogRequest logRequest = (LogRequest) obj;
if (this.requestTimeMs == logRequest.getRequestTimeMs() && this.requestUptimeMs == logRequest.getRequestUptimeMs() && ((clientInfo = this.clientInfo) != null ? clientInfo.equals(logRequest.getClientInfo()) : logRequest.getClientInfo() == null) && ((num = this.logSource) != null ? num.equals(logRequest.getLogSource()) : logRequest.getLogSource() == null) && ((str = this.logSourceName) != null ? str.equals(logRequest.getLogSourceName()) : logRequest.getLogSourceName() == null) && ((list = this.logEvents) != null ? list.equals(logRequest.getLogEvents()) : logRequest.getLogEvents() == null)) {
QosTier qosTier = this.qosTier;
if (qosTier == null) {
if (logRequest.getQosTier() == null) {
return true;
}
} else if (qosTier.equals(logRequest.getQosTier())) {
return true;
}
}
return false;
}
public int hashCode() {
long j = this.requestTimeMs;
long j2 = this.requestUptimeMs;
int i = (((((int) (j ^ (j >>> 32))) ^ 1000003) * 1000003) ^ ((int) ((j2 >>> 32) ^ j2))) * 1000003;
ClientInfo clientInfo = this.clientInfo;
int hashCode = (i ^ (clientInfo == null ? 0 : clientInfo.hashCode())) * 1000003;
Integer num = this.logSource;
int hashCode2 = (hashCode ^ (num == null ? 0 : num.hashCode())) * 1000003;
String str = this.logSourceName;
int hashCode3 = (hashCode2 ^ (str == null ? 0 : str.hashCode())) * 1000003;
List list = this.logEvents;
int hashCode4 = (hashCode3 ^ (list == null ? 0 : list.hashCode())) * 1000003;
QosTier qosTier = this.qosTier;
return hashCode4 ^ (qosTier != null ? qosTier.hashCode() : 0);
}
public static final class Builder extends LogRequest.Builder {
public ClientInfo clientInfo;
public List logEvents;
public Integer logSource;
public String logSourceName;
public QosTier qosTier;
public Long requestTimeMs;
public Long requestUptimeMs;
@Override // com.google.android.datatransport.cct.internal.LogRequest.Builder
public LogRequest.Builder setClientInfo(ClientInfo clientInfo) {
this.clientInfo = clientInfo;
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest.Builder
public LogRequest.Builder setLogEvents(List list) {
this.logEvents = list;
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest.Builder
public LogRequest.Builder setLogSource(Integer num) {
this.logSource = num;
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest.Builder
public LogRequest.Builder setLogSourceName(String str) {
this.logSourceName = str;
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest.Builder
public LogRequest.Builder setQosTier(QosTier qosTier) {
this.qosTier = qosTier;
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest.Builder
public LogRequest.Builder setRequestTimeMs(long j) {
this.requestTimeMs = Long.valueOf(j);
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest.Builder
public LogRequest.Builder setRequestUptimeMs(long j) {
this.requestUptimeMs = Long.valueOf(j);
return this;
}
@Override // com.google.android.datatransport.cct.internal.LogRequest.Builder
public LogRequest build() {
String str = "";
if (this.requestTimeMs == null) {
str = " requestTimeMs";
}
if (this.requestUptimeMs == null) {
str = str + " requestUptimeMs";
}
if (!str.isEmpty()) {
throw new IllegalStateException("Missing required properties:" + str);
}
return new AutoValue_LogRequest(this.requestTimeMs.longValue(), this.requestUptimeMs.longValue(), this.clientInfo, this.logSource, this.logSourceName, this.logEvents, this.qosTier);
}
}
}

View File

@@ -0,0 +1,31 @@
package com.google.android.datatransport.cct.internal;
/* loaded from: classes2.dex */
public final class AutoValue_LogResponse extends LogResponse {
public final long nextRequestWaitMillis;
@Override // com.google.android.datatransport.cct.internal.LogResponse
public long getNextRequestWaitMillis() {
return this.nextRequestWaitMillis;
}
public int hashCode() {
long j = this.nextRequestWaitMillis;
return ((int) (j ^ (j >>> 32))) ^ 1000003;
}
public AutoValue_LogResponse(long j) {
this.nextRequestWaitMillis = j;
}
public String toString() {
return "LogResponse{nextRequestWaitMillis=" + this.nextRequestWaitMillis + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
return (obj instanceof LogResponse) && this.nextRequestWaitMillis == ((LogResponse) obj).getNextRequestWaitMillis();
}
}

View File

@@ -0,0 +1,79 @@
package com.google.android.datatransport.cct.internal;
import com.google.android.datatransport.cct.internal.NetworkConnectionInfo;
/* loaded from: classes2.dex */
public final class AutoValue_NetworkConnectionInfo extends NetworkConnectionInfo {
public final NetworkConnectionInfo.MobileSubtype mobileSubtype;
public final NetworkConnectionInfo.NetworkType networkType;
@Override // com.google.android.datatransport.cct.internal.NetworkConnectionInfo
public NetworkConnectionInfo.MobileSubtype getMobileSubtype() {
return this.mobileSubtype;
}
@Override // com.google.android.datatransport.cct.internal.NetworkConnectionInfo
public NetworkConnectionInfo.NetworkType getNetworkType() {
return this.networkType;
}
public AutoValue_NetworkConnectionInfo(NetworkConnectionInfo.NetworkType networkType, NetworkConnectionInfo.MobileSubtype mobileSubtype) {
this.networkType = networkType;
this.mobileSubtype = mobileSubtype;
}
public String toString() {
return "NetworkConnectionInfo{networkType=" + this.networkType + ", mobileSubtype=" + this.mobileSubtype + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof NetworkConnectionInfo)) {
return false;
}
NetworkConnectionInfo networkConnectionInfo = (NetworkConnectionInfo) obj;
NetworkConnectionInfo.NetworkType networkType = this.networkType;
if (networkType != null ? networkType.equals(networkConnectionInfo.getNetworkType()) : networkConnectionInfo.getNetworkType() == null) {
NetworkConnectionInfo.MobileSubtype mobileSubtype = this.mobileSubtype;
if (mobileSubtype == null) {
if (networkConnectionInfo.getMobileSubtype() == null) {
return true;
}
} else if (mobileSubtype.equals(networkConnectionInfo.getMobileSubtype())) {
return true;
}
}
return false;
}
public int hashCode() {
NetworkConnectionInfo.NetworkType networkType = this.networkType;
int hashCode = ((networkType == null ? 0 : networkType.hashCode()) ^ 1000003) * 1000003;
NetworkConnectionInfo.MobileSubtype mobileSubtype = this.mobileSubtype;
return hashCode ^ (mobileSubtype != null ? mobileSubtype.hashCode() : 0);
}
public static final class Builder extends NetworkConnectionInfo.Builder {
public NetworkConnectionInfo.MobileSubtype mobileSubtype;
public NetworkConnectionInfo.NetworkType networkType;
@Override // com.google.android.datatransport.cct.internal.NetworkConnectionInfo.Builder
public NetworkConnectionInfo.Builder setMobileSubtype(NetworkConnectionInfo.MobileSubtype mobileSubtype) {
this.mobileSubtype = mobileSubtype;
return this;
}
@Override // com.google.android.datatransport.cct.internal.NetworkConnectionInfo.Builder
public NetworkConnectionInfo.Builder setNetworkType(NetworkConnectionInfo.NetworkType networkType) {
this.networkType = networkType;
return this;
}
@Override // com.google.android.datatransport.cct.internal.NetworkConnectionInfo.Builder
public NetworkConnectionInfo build() {
return new AutoValue_NetworkConnectionInfo(this.networkType, this.mobileSubtype);
}
}
}

View File

@@ -0,0 +1,18 @@
package com.google.android.datatransport.cct.internal;
import com.google.firebase.encoders.DataEncoder;
import com.google.firebase.encoders.json.JsonDataEncoderBuilder;
import java.util.List;
/* loaded from: classes2.dex */
public abstract class BatchedLogRequest {
public abstract List getLogRequests();
public static BatchedLogRequest create(List list) {
return new AutoValue_BatchedLogRequest(list);
}
public static DataEncoder createDataEncoder() {
return new JsonDataEncoderBuilder().configureWith(AutoBatchedLogRequestEncoder.CONFIG).ignoreNullValues(true).build();
}
}

View File

@@ -0,0 +1,34 @@
package com.google.android.datatransport.cct.internal;
import com.google.android.datatransport.cct.internal.AutoValue_ClientInfo;
/* loaded from: classes2.dex */
public abstract class ClientInfo {
public static abstract class Builder {
public abstract ClientInfo build();
public abstract Builder setAndroidClientInfo(AndroidClientInfo androidClientInfo);
public abstract Builder setClientType(ClientType clientType);
}
public abstract AndroidClientInfo getAndroidClientInfo();
public abstract ClientType getClientType();
public enum ClientType {
UNKNOWN(0),
ANDROID_FIREBASE(23);
private final int value;
ClientType(int i) {
this.value = i;
}
}
public static Builder builder() {
return new AutoValue_ClientInfo.Builder();
}
}

View File

@@ -0,0 +1,51 @@
package com.google.android.datatransport.cct.internal;
import com.google.android.datatransport.cct.internal.AutoValue_LogEvent;
/* loaded from: classes2.dex */
public abstract class LogEvent {
public static abstract class Builder {
public abstract LogEvent build();
public abstract Builder setEventCode(Integer num);
public abstract Builder setEventTimeMs(long j);
public abstract Builder setEventUptimeMs(long j);
public abstract Builder setNetworkConnectionInfo(NetworkConnectionInfo networkConnectionInfo);
public abstract Builder setSourceExtension(byte[] bArr);
public abstract Builder setSourceExtensionJsonProto3(String str);
public abstract Builder setTimezoneOffsetSeconds(long j);
}
public abstract Integer getEventCode();
public abstract long getEventTimeMs();
public abstract long getEventUptimeMs();
public abstract NetworkConnectionInfo getNetworkConnectionInfo();
public abstract byte[] getSourceExtension();
public abstract String getSourceExtensionJsonProto3();
public abstract long getTimezoneOffsetSeconds();
public static Builder protoBuilder(byte[] bArr) {
return builder().setSourceExtension(bArr);
}
public static Builder jsonBuilder(String str) {
return builder().setSourceExtensionJsonProto3(str);
}
public static Builder builder() {
return new AutoValue_LogEvent.Builder();
}
}

View File

@@ -0,0 +1,51 @@
package com.google.android.datatransport.cct.internal;
import com.google.android.datatransport.cct.internal.AutoValue_LogRequest;
import java.util.List;
/* loaded from: classes2.dex */
public abstract class LogRequest {
public abstract ClientInfo getClientInfo();
public abstract List getLogEvents();
public abstract Integer getLogSource();
public abstract String getLogSourceName();
public abstract QosTier getQosTier();
public abstract long getRequestTimeMs();
public abstract long getRequestUptimeMs();
public static Builder builder() {
return new AutoValue_LogRequest.Builder();
}
public static abstract class Builder {
public abstract LogRequest build();
public abstract Builder setClientInfo(ClientInfo clientInfo);
public abstract Builder setLogEvents(List list);
public abstract Builder setLogSource(Integer num);
public abstract Builder setLogSourceName(String str);
public abstract Builder setQosTier(QosTier qosTier);
public abstract Builder setRequestTimeMs(long j);
public abstract Builder setRequestUptimeMs(long j);
public Builder setSource(int i) {
return setLogSource(Integer.valueOf(i));
}
public Builder setSource(String str) {
return setLogSourceName(str);
}
}
}

View File

@@ -0,0 +1,34 @@
package com.google.android.datatransport.cct.internal;
import android.util.JsonReader;
import android.util.JsonToken;
import java.io.IOException;
import java.io.Reader;
/* loaded from: classes2.dex */
public abstract class LogResponse {
public abstract long getNextRequestWaitMillis();
public static LogResponse create(long j) {
return new AutoValue_LogResponse(j);
}
public static LogResponse fromJson(Reader reader) {
JsonReader jsonReader = new JsonReader(reader);
try {
jsonReader.beginObject();
while (jsonReader.hasNext()) {
if (jsonReader.nextName().equals("nextRequestWaitMillis")) {
if (jsonReader.peek() == JsonToken.STRING) {
return create(Long.parseLong(jsonReader.nextString()));
}
return create(jsonReader.nextLong());
}
jsonReader.skipValue();
}
throw new IOException("Response is missing nextRequestWaitMillis field.");
} finally {
jsonReader.close();
}
}
}

View File

@@ -0,0 +1,203 @@
package com.google.android.datatransport.cct.internal;
import android.util.SparseArray;
import androidx.annotation.Nullable;
import com.google.android.datatransport.cct.internal.AutoValue_NetworkConnectionInfo;
/* loaded from: classes2.dex */
public abstract class NetworkConnectionInfo {
public static abstract class Builder {
public abstract NetworkConnectionInfo build();
public abstract Builder setMobileSubtype(MobileSubtype mobileSubtype);
public abstract Builder setNetworkType(NetworkType networkType);
}
public abstract MobileSubtype getMobileSubtype();
public abstract NetworkType getNetworkType();
public enum NetworkType {
MOBILE(0),
WIFI(1),
MOBILE_MMS(2),
MOBILE_SUPL(3),
MOBILE_DUN(4),
/* JADX INFO: Fake field, exist only in values array */
MOBILE_HIPRI(5),
/* JADX INFO: Fake field, exist only in values array */
WIMAX(6),
BLUETOOTH(7),
DUMMY(8),
ETHERNET(9),
MOBILE_FOTA(10),
MOBILE_IMS(11),
MOBILE_CBS(12),
WIFI_P2P(13),
MOBILE_IA(14),
MOBILE_EMERGENCY(15),
PROXY(16),
VPN(17),
NONE(-1);
public static final NetworkType MOBILE_HIPRI;
public static final NetworkType WIMAX;
private static final SparseArray<NetworkType> valueMap;
private final int value;
public int getValue() {
return this.value;
}
static {
NetworkType networkType = MOBILE;
NetworkType networkType2 = WIFI;
NetworkType networkType3 = MOBILE_MMS;
NetworkType networkType4 = MOBILE_SUPL;
NetworkType networkType5 = MOBILE_DUN;
NetworkType networkType6 = MOBILE_HIPRI;
MOBILE_HIPRI = networkType6;
NetworkType networkType7 = WIMAX;
WIMAX = networkType7;
NetworkType networkType8 = BLUETOOTH;
NetworkType networkType9 = DUMMY;
NetworkType networkType10 = ETHERNET;
NetworkType networkType11 = MOBILE_FOTA;
NetworkType networkType12 = MOBILE_IMS;
NetworkType networkType13 = MOBILE_CBS;
NetworkType networkType14 = WIFI_P2P;
NetworkType networkType15 = MOBILE_IA;
NetworkType networkType16 = MOBILE_EMERGENCY;
NetworkType networkType17 = PROXY;
NetworkType networkType18 = VPN;
NetworkType networkType19 = NONE;
SparseArray<NetworkType> sparseArray = new SparseArray<>();
valueMap = sparseArray;
sparseArray.put(0, networkType);
sparseArray.put(1, networkType2);
sparseArray.put(2, networkType3);
sparseArray.put(3, networkType4);
sparseArray.put(4, networkType5);
sparseArray.put(5, networkType6);
sparseArray.put(6, networkType7);
sparseArray.put(7, networkType8);
sparseArray.put(8, networkType9);
sparseArray.put(9, networkType10);
sparseArray.put(10, networkType11);
sparseArray.put(11, networkType12);
sparseArray.put(12, networkType13);
sparseArray.put(13, networkType14);
sparseArray.put(14, networkType15);
sparseArray.put(15, networkType16);
sparseArray.put(16, networkType17);
sparseArray.put(17, networkType18);
sparseArray.put(-1, networkType19);
}
NetworkType(int i) {
this.value = i;
}
@Nullable
public static NetworkType forNumber(int i) {
return valueMap.get(i);
}
}
public enum MobileSubtype {
UNKNOWN_MOBILE_SUBTYPE(0),
GPRS(1),
EDGE(2),
UMTS(3),
CDMA(4),
/* JADX INFO: Fake field, exist only in values array */
EVDO_0(5),
/* JADX INFO: Fake field, exist only in values array */
EVDO_A(6),
RTT(7),
HSDPA(8),
HSUPA(9),
HSPA(10),
IDEN(11),
EVDO_B(12),
LTE(13),
EHRPD(14),
HSPAP(15),
GSM(16),
TD_SCDMA(17),
IWLAN(18),
LTE_CA(19),
COMBINED(100);
public static final MobileSubtype EVDO_0;
public static final MobileSubtype EVDO_A;
private static final SparseArray<MobileSubtype> valueMap;
private final int value;
public int getValue() {
return this.value;
}
static {
MobileSubtype mobileSubtype = UNKNOWN_MOBILE_SUBTYPE;
MobileSubtype mobileSubtype2 = GPRS;
MobileSubtype mobileSubtype3 = EDGE;
MobileSubtype mobileSubtype4 = UMTS;
MobileSubtype mobileSubtype5 = CDMA;
MobileSubtype mobileSubtype6 = EVDO_0;
EVDO_0 = mobileSubtype6;
MobileSubtype mobileSubtype7 = EVDO_A;
EVDO_A = mobileSubtype7;
MobileSubtype mobileSubtype8 = RTT;
MobileSubtype mobileSubtype9 = HSDPA;
MobileSubtype mobileSubtype10 = HSUPA;
MobileSubtype mobileSubtype11 = HSPA;
MobileSubtype mobileSubtype12 = IDEN;
MobileSubtype mobileSubtype13 = EVDO_B;
MobileSubtype mobileSubtype14 = LTE;
MobileSubtype mobileSubtype15 = EHRPD;
MobileSubtype mobileSubtype16 = HSPAP;
MobileSubtype mobileSubtype17 = GSM;
MobileSubtype mobileSubtype18 = TD_SCDMA;
MobileSubtype mobileSubtype19 = IWLAN;
MobileSubtype mobileSubtype20 = LTE_CA;
SparseArray<MobileSubtype> sparseArray = new SparseArray<>();
valueMap = sparseArray;
sparseArray.put(0, mobileSubtype);
sparseArray.put(1, mobileSubtype2);
sparseArray.put(2, mobileSubtype3);
sparseArray.put(3, mobileSubtype4);
sparseArray.put(4, mobileSubtype5);
sparseArray.put(5, mobileSubtype6);
sparseArray.put(6, mobileSubtype7);
sparseArray.put(7, mobileSubtype8);
sparseArray.put(8, mobileSubtype9);
sparseArray.put(9, mobileSubtype10);
sparseArray.put(10, mobileSubtype11);
sparseArray.put(11, mobileSubtype12);
sparseArray.put(12, mobileSubtype13);
sparseArray.put(13, mobileSubtype14);
sparseArray.put(14, mobileSubtype15);
sparseArray.put(15, mobileSubtype16);
sparseArray.put(16, mobileSubtype17);
sparseArray.put(17, mobileSubtype18);
sparseArray.put(18, mobileSubtype19);
sparseArray.put(19, mobileSubtype20);
}
MobileSubtype(int i) {
this.value = i;
}
@Nullable
public static MobileSubtype forNumber(int i) {
return valueMap.get(i);
}
}
public static Builder builder() {
return new AutoValue_NetworkConnectionInfo.Builder();
}
}

View File

@@ -0,0 +1,62 @@
package com.google.android.datatransport.cct.internal;
import android.util.SparseArray;
import androidx.annotation.Nullable;
/* loaded from: classes2.dex */
public enum QosTier {
DEFAULT(0),
UNMETERED_ONLY(1),
UNMETERED_OR_DAILY(2),
FAST_IF_RADIO_AWAKE(3),
NEVER(4),
UNRECOGNIZED(-1);
private static final SparseArray<QosTier> valueMap;
private final int value;
@Nullable
public static QosTier forNumber(int i) {
if (i == 0) {
return DEFAULT;
}
if (i == 1) {
return UNMETERED_ONLY;
}
if (i == 2) {
return UNMETERED_OR_DAILY;
}
if (i == 3) {
return FAST_IF_RADIO_AWAKE;
}
if (i != 4) {
return null;
}
return NEVER;
}
public final int getNumber() {
return this.value;
}
static {
QosTier qosTier = DEFAULT;
QosTier qosTier2 = UNMETERED_ONLY;
QosTier qosTier3 = UNMETERED_OR_DAILY;
QosTier qosTier4 = FAST_IF_RADIO_AWAKE;
QosTier qosTier5 = NEVER;
QosTier qosTier6 = UNRECOGNIZED;
SparseArray<QosTier> sparseArray = new SparseArray<>();
valueMap = sparseArray;
sparseArray.put(0, qosTier);
sparseArray.put(1, qosTier2);
sparseArray.put(2, qosTier3);
sparseArray.put(3, qosTier4);
sparseArray.put(4, qosTier5);
sparseArray.put(-1, qosTier6);
}
QosTier(int i) {
this.value = i;
}
}

View File

@@ -0,0 +1,120 @@
package com.google.android.datatransport.runtime;
import com.amazonaws.handlers.HandlerChainFactory$$ExternalSyntheticThrowCCEIfNotNull0;
import com.google.android.datatransport.runtime.firebase.transport.ClientMetrics;
import com.google.android.datatransport.runtime.firebase.transport.GlobalMetrics;
import com.google.android.datatransport.runtime.firebase.transport.LogEventDropped;
import com.google.android.datatransport.runtime.firebase.transport.LogSourceMetrics;
import com.google.android.datatransport.runtime.firebase.transport.StorageMetrics;
import com.google.android.datatransport.runtime.firebase.transport.TimeWindow;
import com.google.firebase.encoders.FieldDescriptor;
import com.google.firebase.encoders.ObjectEncoder;
import com.google.firebase.encoders.ObjectEncoderContext;
import com.google.firebase.encoders.config.Configurator;
import com.google.firebase.encoders.config.EncoderConfig;
import com.google.firebase.encoders.proto.AtProtobuf;
/* loaded from: classes2.dex */
public final class AutoProtoEncoderDoNotUseEncoder implements Configurator {
public static final Configurator CONFIG = new AutoProtoEncoderDoNotUseEncoder();
@Override // com.google.firebase.encoders.config.Configurator
public void configure(EncoderConfig encoderConfig) {
encoderConfig.registerEncoder(ProtoEncoderDoNotUse.class, ProtoEncoderDoNotUseEncoder.INSTANCE);
encoderConfig.registerEncoder(ClientMetrics.class, ClientMetricsEncoder.INSTANCE);
encoderConfig.registerEncoder(TimeWindow.class, TimeWindowEncoder.INSTANCE);
encoderConfig.registerEncoder(LogSourceMetrics.class, LogSourceMetricsEncoder.INSTANCE);
encoderConfig.registerEncoder(LogEventDropped.class, LogEventDroppedEncoder.INSTANCE);
encoderConfig.registerEncoder(GlobalMetrics.class, GlobalMetricsEncoder.INSTANCE);
encoderConfig.registerEncoder(StorageMetrics.class, StorageMetricsEncoder.INSTANCE);
}
public static final class ProtoEncoderDoNotUseEncoder implements ObjectEncoder {
public static final ProtoEncoderDoNotUseEncoder INSTANCE = new ProtoEncoderDoNotUseEncoder();
public static final FieldDescriptor CLIENTMETRICS_DESCRIPTOR = FieldDescriptor.of("clientMetrics");
@Override // com.google.firebase.encoders.ObjectEncoder
public /* bridge */ /* synthetic */ void encode(Object obj, Object obj2) {
HandlerChainFactory$$ExternalSyntheticThrowCCEIfNotNull0.m(obj);
encode((ProtoEncoderDoNotUse) null, (ObjectEncoderContext) obj2);
}
public void encode(ProtoEncoderDoNotUse protoEncoderDoNotUse, ObjectEncoderContext objectEncoderContext) {
throw null;
}
}
public static final class ClientMetricsEncoder implements ObjectEncoder {
public static final ClientMetricsEncoder INSTANCE = new ClientMetricsEncoder();
public static final FieldDescriptor WINDOW_DESCRIPTOR = FieldDescriptor.builder("window").withProperty(AtProtobuf.builder().tag(1).build()).build();
public static final FieldDescriptor LOGSOURCEMETRICS_DESCRIPTOR = FieldDescriptor.builder("logSourceMetrics").withProperty(AtProtobuf.builder().tag(2).build()).build();
public static final FieldDescriptor GLOBALMETRICS_DESCRIPTOR = FieldDescriptor.builder("globalMetrics").withProperty(AtProtobuf.builder().tag(3).build()).build();
public static final FieldDescriptor APPNAMESPACE_DESCRIPTOR = FieldDescriptor.builder("appNamespace").withProperty(AtProtobuf.builder().tag(4).build()).build();
@Override // com.google.firebase.encoders.ObjectEncoder
public void encode(ClientMetrics clientMetrics, ObjectEncoderContext objectEncoderContext) {
objectEncoderContext.add(WINDOW_DESCRIPTOR, clientMetrics.getWindowInternal());
objectEncoderContext.add(LOGSOURCEMETRICS_DESCRIPTOR, clientMetrics.getLogSourceMetricsList());
objectEncoderContext.add(GLOBALMETRICS_DESCRIPTOR, clientMetrics.getGlobalMetricsInternal());
objectEncoderContext.add(APPNAMESPACE_DESCRIPTOR, clientMetrics.getAppNamespace());
}
}
public static final class TimeWindowEncoder implements ObjectEncoder {
public static final TimeWindowEncoder INSTANCE = new TimeWindowEncoder();
public static final FieldDescriptor STARTMS_DESCRIPTOR = FieldDescriptor.builder("startMs").withProperty(AtProtobuf.builder().tag(1).build()).build();
public static final FieldDescriptor ENDMS_DESCRIPTOR = FieldDescriptor.builder("endMs").withProperty(AtProtobuf.builder().tag(2).build()).build();
@Override // com.google.firebase.encoders.ObjectEncoder
public void encode(TimeWindow timeWindow, ObjectEncoderContext objectEncoderContext) {
objectEncoderContext.add(STARTMS_DESCRIPTOR, timeWindow.getStartMs());
objectEncoderContext.add(ENDMS_DESCRIPTOR, timeWindow.getEndMs());
}
}
public static final class LogSourceMetricsEncoder implements ObjectEncoder {
public static final LogSourceMetricsEncoder INSTANCE = new LogSourceMetricsEncoder();
public static final FieldDescriptor LOGSOURCE_DESCRIPTOR = FieldDescriptor.builder("logSource").withProperty(AtProtobuf.builder().tag(1).build()).build();
public static final FieldDescriptor LOGEVENTDROPPED_DESCRIPTOR = FieldDescriptor.builder("logEventDropped").withProperty(AtProtobuf.builder().tag(2).build()).build();
@Override // com.google.firebase.encoders.ObjectEncoder
public void encode(LogSourceMetrics logSourceMetrics, ObjectEncoderContext objectEncoderContext) {
objectEncoderContext.add(LOGSOURCE_DESCRIPTOR, logSourceMetrics.getLogSource());
objectEncoderContext.add(LOGEVENTDROPPED_DESCRIPTOR, logSourceMetrics.getLogEventDroppedList());
}
}
public static final class LogEventDroppedEncoder implements ObjectEncoder {
public static final LogEventDroppedEncoder INSTANCE = new LogEventDroppedEncoder();
public static final FieldDescriptor EVENTSDROPPEDCOUNT_DESCRIPTOR = FieldDescriptor.builder("eventsDroppedCount").withProperty(AtProtobuf.builder().tag(1).build()).build();
public static final FieldDescriptor REASON_DESCRIPTOR = FieldDescriptor.builder("reason").withProperty(AtProtobuf.builder().tag(3).build()).build();
@Override // com.google.firebase.encoders.ObjectEncoder
public void encode(LogEventDropped logEventDropped, ObjectEncoderContext objectEncoderContext) {
objectEncoderContext.add(EVENTSDROPPEDCOUNT_DESCRIPTOR, logEventDropped.getEventsDroppedCount());
objectEncoderContext.add(REASON_DESCRIPTOR, logEventDropped.getReason());
}
}
public static final class GlobalMetricsEncoder implements ObjectEncoder {
public static final GlobalMetricsEncoder INSTANCE = new GlobalMetricsEncoder();
public static final FieldDescriptor STORAGEMETRICS_DESCRIPTOR = FieldDescriptor.builder("storageMetrics").withProperty(AtProtobuf.builder().tag(1).build()).build();
@Override // com.google.firebase.encoders.ObjectEncoder
public void encode(GlobalMetrics globalMetrics, ObjectEncoderContext objectEncoderContext) {
objectEncoderContext.add(STORAGEMETRICS_DESCRIPTOR, globalMetrics.getStorageMetricsInternal());
}
}
public static final class StorageMetricsEncoder implements ObjectEncoder {
public static final StorageMetricsEncoder INSTANCE = new StorageMetricsEncoder();
public static final FieldDescriptor CURRENTCACHESIZEBYTES_DESCRIPTOR = FieldDescriptor.builder("currentCacheSizeBytes").withProperty(AtProtobuf.builder().tag(1).build()).build();
public static final FieldDescriptor MAXCACHESIZEBYTES_DESCRIPTOR = FieldDescriptor.builder("maxCacheSizeBytes").withProperty(AtProtobuf.builder().tag(2).build()).build();
@Override // com.google.firebase.encoders.ObjectEncoder
public void encode(StorageMetrics storageMetrics, ObjectEncoderContext objectEncoderContext) {
objectEncoderContext.add(CURRENTCACHESIZEBYTES_DESCRIPTOR, storageMetrics.getCurrentCacheSizeBytes());
objectEncoderContext.add(MAXCACHESIZEBYTES_DESCRIPTOR, storageMetrics.getMaxCacheSizeBytes());
}
}
}

View File

@@ -0,0 +1,166 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.runtime.EventInternal;
import java.util.Map;
/* loaded from: classes2.dex */
public final class AutoValue_EventInternal extends EventInternal {
public final Map autoMetadata;
public final Integer code;
public final EncodedPayload encodedPayload;
public final long eventMillis;
public final String transportName;
public final long uptimeMillis;
@Override // com.google.android.datatransport.runtime.EventInternal
public Map getAutoMetadata() {
return this.autoMetadata;
}
@Override // com.google.android.datatransport.runtime.EventInternal
public Integer getCode() {
return this.code;
}
@Override // com.google.android.datatransport.runtime.EventInternal
public EncodedPayload getEncodedPayload() {
return this.encodedPayload;
}
@Override // com.google.android.datatransport.runtime.EventInternal
public long getEventMillis() {
return this.eventMillis;
}
@Override // com.google.android.datatransport.runtime.EventInternal
public String getTransportName() {
return this.transportName;
}
@Override // com.google.android.datatransport.runtime.EventInternal
public long getUptimeMillis() {
return this.uptimeMillis;
}
public AutoValue_EventInternal(String str, Integer num, EncodedPayload encodedPayload, long j, long j2, Map map) {
this.transportName = str;
this.code = num;
this.encodedPayload = encodedPayload;
this.eventMillis = j;
this.uptimeMillis = j2;
this.autoMetadata = map;
}
public String toString() {
return "EventInternal{transportName=" + this.transportName + ", code=" + this.code + ", encodedPayload=" + this.encodedPayload + ", eventMillis=" + this.eventMillis + ", uptimeMillis=" + this.uptimeMillis + ", autoMetadata=" + this.autoMetadata + "}";
}
public boolean equals(Object obj) {
Integer num;
if (obj == this) {
return true;
}
if (!(obj instanceof EventInternal)) {
return false;
}
EventInternal eventInternal = (EventInternal) obj;
return this.transportName.equals(eventInternal.getTransportName()) && ((num = this.code) != null ? num.equals(eventInternal.getCode()) : eventInternal.getCode() == null) && this.encodedPayload.equals(eventInternal.getEncodedPayload()) && this.eventMillis == eventInternal.getEventMillis() && this.uptimeMillis == eventInternal.getUptimeMillis() && this.autoMetadata.equals(eventInternal.getAutoMetadata());
}
public int hashCode() {
int hashCode = (this.transportName.hashCode() ^ 1000003) * 1000003;
Integer num = this.code;
int hashCode2 = (((hashCode ^ (num == null ? 0 : num.hashCode())) * 1000003) ^ this.encodedPayload.hashCode()) * 1000003;
long j = this.eventMillis;
int i = (hashCode2 ^ ((int) (j ^ (j >>> 32)))) * 1000003;
long j2 = this.uptimeMillis;
return ((i ^ ((int) (j2 ^ (j2 >>> 32)))) * 1000003) ^ this.autoMetadata.hashCode();
}
public static final class Builder extends EventInternal.Builder {
public Map autoMetadata;
public Integer code;
public EncodedPayload encodedPayload;
public Long eventMillis;
public String transportName;
public Long uptimeMillis;
@Override // com.google.android.datatransport.runtime.EventInternal.Builder
public EventInternal.Builder setCode(Integer num) {
this.code = num;
return this;
}
@Override // com.google.android.datatransport.runtime.EventInternal.Builder
public EventInternal.Builder setTransportName(String str) {
if (str == null) {
throw new NullPointerException("Null transportName");
}
this.transportName = str;
return this;
}
@Override // com.google.android.datatransport.runtime.EventInternal.Builder
public EventInternal.Builder setEncodedPayload(EncodedPayload encodedPayload) {
if (encodedPayload == null) {
throw new NullPointerException("Null encodedPayload");
}
this.encodedPayload = encodedPayload;
return this;
}
@Override // com.google.android.datatransport.runtime.EventInternal.Builder
public EventInternal.Builder setEventMillis(long j) {
this.eventMillis = Long.valueOf(j);
return this;
}
@Override // com.google.android.datatransport.runtime.EventInternal.Builder
public EventInternal.Builder setUptimeMillis(long j) {
this.uptimeMillis = Long.valueOf(j);
return this;
}
@Override // com.google.android.datatransport.runtime.EventInternal.Builder
public EventInternal.Builder setAutoMetadata(Map map) {
if (map == null) {
throw new NullPointerException("Null autoMetadata");
}
this.autoMetadata = map;
return this;
}
@Override // com.google.android.datatransport.runtime.EventInternal.Builder
public Map getAutoMetadata() {
Map map = this.autoMetadata;
if (map != null) {
return map;
}
throw new IllegalStateException("Property \"autoMetadata\" has not been set");
}
@Override // com.google.android.datatransport.runtime.EventInternal.Builder
public EventInternal build() {
String str = "";
if (this.transportName == null) {
str = " transportName";
}
if (this.encodedPayload == null) {
str = str + " encodedPayload";
}
if (this.eventMillis == null) {
str = str + " eventMillis";
}
if (this.uptimeMillis == null) {
str = str + " uptimeMillis";
}
if (this.autoMetadata == null) {
str = str + " autoMetadata";
}
if (!str.isEmpty()) {
throw new IllegalStateException("Missing required properties:" + str);
}
return new AutoValue_EventInternal(this.transportName, this.code, this.encodedPayload, this.eventMillis.longValue(), this.uptimeMillis.longValue(), this.autoMetadata);
}
}
}

View File

@@ -0,0 +1,144 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.Encoding;
import com.google.android.datatransport.Event;
import com.google.android.datatransport.Transformer;
import com.google.android.datatransport.runtime.SendRequest;
/* loaded from: classes2.dex */
public final class AutoValue_SendRequest extends SendRequest {
public final Encoding encoding;
public final Event event;
public final Transformer transformer;
public final TransportContext transportContext;
public final String transportName;
@Override // com.google.android.datatransport.runtime.SendRequest
public Encoding getEncoding() {
return this.encoding;
}
@Override // com.google.android.datatransport.runtime.SendRequest
public Event getEvent() {
return this.event;
}
@Override // com.google.android.datatransport.runtime.SendRequest
public Transformer getTransformer() {
return this.transformer;
}
@Override // com.google.android.datatransport.runtime.SendRequest
public TransportContext getTransportContext() {
return this.transportContext;
}
@Override // com.google.android.datatransport.runtime.SendRequest
public String getTransportName() {
return this.transportName;
}
public AutoValue_SendRequest(TransportContext transportContext, String str, Event event, Transformer transformer, Encoding encoding) {
this.transportContext = transportContext;
this.transportName = str;
this.event = event;
this.transformer = transformer;
this.encoding = encoding;
}
public String toString() {
return "SendRequest{transportContext=" + this.transportContext + ", transportName=" + this.transportName + ", event=" + this.event + ", transformer=" + this.transformer + ", encoding=" + this.encoding + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof SendRequest)) {
return false;
}
SendRequest sendRequest = (SendRequest) obj;
return this.transportContext.equals(sendRequest.getTransportContext()) && this.transportName.equals(sendRequest.getTransportName()) && this.event.equals(sendRequest.getEvent()) && this.transformer.equals(sendRequest.getTransformer()) && this.encoding.equals(sendRequest.getEncoding());
}
public int hashCode() {
return ((((((((this.transportContext.hashCode() ^ 1000003) * 1000003) ^ this.transportName.hashCode()) * 1000003) ^ this.event.hashCode()) * 1000003) ^ this.transformer.hashCode()) * 1000003) ^ this.encoding.hashCode();
}
public static final class Builder extends SendRequest.Builder {
public Encoding encoding;
public Event event;
public Transformer transformer;
public TransportContext transportContext;
public String transportName;
@Override // com.google.android.datatransport.runtime.SendRequest.Builder
public SendRequest.Builder setTransportContext(TransportContext transportContext) {
if (transportContext == null) {
throw new NullPointerException("Null transportContext");
}
this.transportContext = transportContext;
return this;
}
@Override // com.google.android.datatransport.runtime.SendRequest.Builder
public SendRequest.Builder setTransportName(String str) {
if (str == null) {
throw new NullPointerException("Null transportName");
}
this.transportName = str;
return this;
}
@Override // com.google.android.datatransport.runtime.SendRequest.Builder
public SendRequest.Builder setEvent(Event event) {
if (event == null) {
throw new NullPointerException("Null event");
}
this.event = event;
return this;
}
@Override // com.google.android.datatransport.runtime.SendRequest.Builder
public SendRequest.Builder setTransformer(Transformer transformer) {
if (transformer == null) {
throw new NullPointerException("Null transformer");
}
this.transformer = transformer;
return this;
}
@Override // com.google.android.datatransport.runtime.SendRequest.Builder
public SendRequest.Builder setEncoding(Encoding encoding) {
if (encoding == null) {
throw new NullPointerException("Null encoding");
}
this.encoding = encoding;
return this;
}
@Override // com.google.android.datatransport.runtime.SendRequest.Builder
public SendRequest build() {
String str = "";
if (this.transportContext == null) {
str = " transportContext";
}
if (this.transportName == null) {
str = str + " transportName";
}
if (this.event == null) {
str = str + " event";
}
if (this.transformer == null) {
str = str + " transformer";
}
if (this.encoding == null) {
str = str + " encoding";
}
if (!str.isEmpty()) {
throw new IllegalStateException("Missing required properties:" + str);
}
return new AutoValue_SendRequest(this.transportContext, this.transportName, this.event, this.transformer, this.encoding);
}
}
}

View File

@@ -0,0 +1,98 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.Priority;
import com.google.android.datatransport.runtime.TransportContext;
import java.util.Arrays;
/* loaded from: classes2.dex */
public final class AutoValue_TransportContext extends TransportContext {
public final String backendName;
public final byte[] extras;
public final Priority priority;
@Override // com.google.android.datatransport.runtime.TransportContext
public String getBackendName() {
return this.backendName;
}
@Override // com.google.android.datatransport.runtime.TransportContext
public byte[] getExtras() {
return this.extras;
}
@Override // com.google.android.datatransport.runtime.TransportContext
public Priority getPriority() {
return this.priority;
}
public AutoValue_TransportContext(String str, byte[] bArr, Priority priority) {
this.backendName = str;
this.extras = bArr;
this.priority = priority;
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof TransportContext)) {
return false;
}
TransportContext transportContext = (TransportContext) obj;
if (this.backendName.equals(transportContext.getBackendName())) {
if (Arrays.equals(this.extras, transportContext instanceof AutoValue_TransportContext ? ((AutoValue_TransportContext) transportContext).extras : transportContext.getExtras()) && this.priority.equals(transportContext.getPriority())) {
return true;
}
}
return false;
}
public int hashCode() {
return ((((this.backendName.hashCode() ^ 1000003) * 1000003) ^ Arrays.hashCode(this.extras)) * 1000003) ^ this.priority.hashCode();
}
public static final class Builder extends TransportContext.Builder {
public String backendName;
public byte[] extras;
public Priority priority;
@Override // com.google.android.datatransport.runtime.TransportContext.Builder
public TransportContext.Builder setExtras(byte[] bArr) {
this.extras = bArr;
return this;
}
@Override // com.google.android.datatransport.runtime.TransportContext.Builder
public TransportContext.Builder setBackendName(String str) {
if (str == null) {
throw new NullPointerException("Null backendName");
}
this.backendName = str;
return this;
}
@Override // com.google.android.datatransport.runtime.TransportContext.Builder
public TransportContext.Builder setPriority(Priority priority) {
if (priority == null) {
throw new NullPointerException("Null priority");
}
this.priority = priority;
return this;
}
@Override // com.google.android.datatransport.runtime.TransportContext.Builder
public TransportContext build() {
String str = "";
if (this.backendName == null) {
str = " backendName";
}
if (this.priority == null) {
str = str + " priority";
}
if (!str.isEmpty()) {
throw new IllegalStateException("Missing required properties:" + str);
}
return new AutoValue_TransportContext(this.backendName, this.extras, this.priority);
}
}
}

View File

@@ -0,0 +1,107 @@
package com.google.android.datatransport.runtime;
import android.content.Context;
import com.google.android.datatransport.runtime.TransportRuntimeComponent;
import com.google.android.datatransport.runtime.backends.CreationContextFactory_Factory;
import com.google.android.datatransport.runtime.backends.MetadataBackendRegistry_Factory;
import com.google.android.datatransport.runtime.dagger.internal.DoubleCheck;
import com.google.android.datatransport.runtime.dagger.internal.Factory;
import com.google.android.datatransport.runtime.dagger.internal.InstanceFactory;
import com.google.android.datatransport.runtime.dagger.internal.Preconditions;
import com.google.android.datatransport.runtime.scheduling.DefaultScheduler_Factory;
import com.google.android.datatransport.runtime.scheduling.SchedulingConfigModule_ConfigFactory;
import com.google.android.datatransport.runtime.scheduling.SchedulingModule_WorkSchedulerFactory;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader_Factory;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkInitializer_Factory;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStore;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStoreModule_DbNameFactory;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStoreModule_PackageNameFactory;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStoreModule_SchemaVersionFactory;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStoreModule_StoreConfigFactory;
import com.google.android.datatransport.runtime.scheduling.persistence.SQLiteEventStore_Factory;
import com.google.android.datatransport.runtime.scheduling.persistence.SchemaManager_Factory;
import com.google.android.datatransport.runtime.time.TimeModule_EventClockFactory;
import com.google.android.datatransport.runtime.time.TimeModule_UptimeClockFactory;
import javax.inject.Provider;
/* loaded from: classes2.dex */
public final class DaggerTransportRuntimeComponent extends TransportRuntimeComponent {
public Provider configProvider;
public Provider creationContextFactoryProvider;
public Provider defaultSchedulerProvider;
public Provider executorProvider;
public Provider metadataBackendRegistryProvider;
public Provider packageNameProvider;
public Provider sQLiteEventStoreProvider;
public Provider schemaManagerProvider;
public Provider setApplicationContextProvider;
public Provider transportRuntimeProvider;
public Provider uploaderProvider;
public Provider workInitializerProvider;
public Provider workSchedulerProvider;
public DaggerTransportRuntimeComponent(Context context) {
initialize(context);
}
public static TransportRuntimeComponent.Builder builder() {
return new Builder();
}
public final void initialize(Context context) {
this.executorProvider = DoubleCheck.provider(ExecutionModule_ExecutorFactory.create());
Factory create = InstanceFactory.create(context);
this.setApplicationContextProvider = create;
CreationContextFactory_Factory create2 = CreationContextFactory_Factory.create(create, TimeModule_EventClockFactory.create(), TimeModule_UptimeClockFactory.create());
this.creationContextFactoryProvider = create2;
this.metadataBackendRegistryProvider = DoubleCheck.provider(MetadataBackendRegistry_Factory.create(this.setApplicationContextProvider, create2));
this.schemaManagerProvider = SchemaManager_Factory.create(this.setApplicationContextProvider, EventStoreModule_DbNameFactory.create(), EventStoreModule_SchemaVersionFactory.create());
this.packageNameProvider = DoubleCheck.provider(EventStoreModule_PackageNameFactory.create(this.setApplicationContextProvider));
this.sQLiteEventStoreProvider = DoubleCheck.provider(SQLiteEventStore_Factory.create(TimeModule_EventClockFactory.create(), TimeModule_UptimeClockFactory.create(), EventStoreModule_StoreConfigFactory.create(), this.schemaManagerProvider, this.packageNameProvider));
SchedulingConfigModule_ConfigFactory create3 = SchedulingConfigModule_ConfigFactory.create(TimeModule_EventClockFactory.create());
this.configProvider = create3;
SchedulingModule_WorkSchedulerFactory create4 = SchedulingModule_WorkSchedulerFactory.create(this.setApplicationContextProvider, this.sQLiteEventStoreProvider, create3, TimeModule_UptimeClockFactory.create());
this.workSchedulerProvider = create4;
Provider provider = this.executorProvider;
Provider provider2 = this.metadataBackendRegistryProvider;
Provider provider3 = this.sQLiteEventStoreProvider;
this.defaultSchedulerProvider = DefaultScheduler_Factory.create(provider, provider2, create4, provider3, provider3);
Provider provider4 = this.setApplicationContextProvider;
Provider provider5 = this.metadataBackendRegistryProvider;
Provider provider6 = this.sQLiteEventStoreProvider;
this.uploaderProvider = Uploader_Factory.create(provider4, provider5, provider6, this.workSchedulerProvider, this.executorProvider, provider6, TimeModule_EventClockFactory.create(), TimeModule_UptimeClockFactory.create(), this.sQLiteEventStoreProvider);
Provider provider7 = this.executorProvider;
Provider provider8 = this.sQLiteEventStoreProvider;
this.workInitializerProvider = WorkInitializer_Factory.create(provider7, provider8, this.workSchedulerProvider, provider8);
this.transportRuntimeProvider = DoubleCheck.provider(TransportRuntime_Factory.create(TimeModule_EventClockFactory.create(), TimeModule_UptimeClockFactory.create(), this.defaultSchedulerProvider, this.uploaderProvider, this.workInitializerProvider));
}
@Override // com.google.android.datatransport.runtime.TransportRuntimeComponent
public TransportRuntime getTransportRuntime() {
return (TransportRuntime) this.transportRuntimeProvider.get();
}
@Override // com.google.android.datatransport.runtime.TransportRuntimeComponent
public EventStore getEventStore() {
return (EventStore) this.sQLiteEventStoreProvider.get();
}
public static final class Builder implements TransportRuntimeComponent.Builder {
public Context setApplicationContext;
public Builder() {
}
@Override // com.google.android.datatransport.runtime.TransportRuntimeComponent.Builder
public Builder setApplicationContext(Context context) {
this.setApplicationContext = (Context) Preconditions.checkNotNull(context);
return this;
}
@Override // com.google.android.datatransport.runtime.TransportRuntimeComponent.Builder
public TransportRuntimeComponent build() {
Preconditions.checkBuilderRequirement(this.setApplicationContext, Context.class);
return new DaggerTransportRuntimeComponent(this.setApplicationContext);
}
}
}

View File

@@ -0,0 +1,8 @@
package com.google.android.datatransport.runtime;
/* loaded from: classes2.dex */
public interface Destination {
byte[] getExtras();
String getName();
}

View File

@@ -0,0 +1,8 @@
package com.google.android.datatransport.runtime;
import java.util.Set;
/* loaded from: classes2.dex */
public interface EncodedDestination extends Destination {
Set getSupportedEncodings();
}

View File

@@ -0,0 +1,51 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.Encoding;
import java.util.Arrays;
/* loaded from: classes2.dex */
public final class EncodedPayload {
public final byte[] bytes;
public final Encoding encoding;
public byte[] getBytes() {
return this.bytes;
}
public Encoding getEncoding() {
return this.encoding;
}
public EncodedPayload(Encoding encoding, byte[] bArr) {
if (encoding == null) {
throw new NullPointerException("encoding is null");
}
if (bArr == null) {
throw new NullPointerException("bytes is null");
}
this.encoding = encoding;
this.bytes = bArr;
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof EncodedPayload)) {
return false;
}
EncodedPayload encodedPayload = (EncodedPayload) obj;
if (this.encoding.equals(encodedPayload.encoding)) {
return Arrays.equals(this.bytes, encodedPayload.bytes);
}
return false;
}
public int hashCode() {
return ((this.encoding.hashCode() ^ 1000003) * 1000003) ^ Arrays.hashCode(this.bytes);
}
public String toString() {
return "EncodedPayload{encoding=" + this.encoding + ", bytes=[...]}";
}
}

View File

@@ -0,0 +1,87 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.runtime.AutoValue_EventInternal;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
/* loaded from: classes2.dex */
public abstract class EventInternal {
public abstract Map getAutoMetadata();
public abstract Integer getCode();
public abstract EncodedPayload getEncodedPayload();
public abstract long getEventMillis();
public abstract String getTransportName();
public abstract long getUptimeMillis();
public final Map getMetadata() {
return Collections.unmodifiableMap(getAutoMetadata());
}
public final int getInteger(String str) {
String str2 = (String) getAutoMetadata().get(str);
if (str2 == null) {
return 0;
}
return Integer.valueOf(str2).intValue();
}
public final long getLong(String str) {
String str2 = (String) getAutoMetadata().get(str);
if (str2 == null) {
return 0L;
}
return Long.valueOf(str2).longValue();
}
public final String get(String str) {
String str2 = (String) getAutoMetadata().get(str);
return str2 == null ? "" : str2;
}
public Builder toBuilder() {
return new AutoValue_EventInternal.Builder().setTransportName(getTransportName()).setCode(getCode()).setEncodedPayload(getEncodedPayload()).setEventMillis(getEventMillis()).setUptimeMillis(getUptimeMillis()).setAutoMetadata(new HashMap(getAutoMetadata()));
}
public static Builder builder() {
return new AutoValue_EventInternal.Builder().setAutoMetadata(new HashMap());
}
public static abstract class Builder {
public abstract EventInternal build();
public abstract Map getAutoMetadata();
public abstract Builder setAutoMetadata(Map map);
public abstract Builder setCode(Integer num);
public abstract Builder setEncodedPayload(EncodedPayload encodedPayload);
public abstract Builder setEventMillis(long j);
public abstract Builder setTransportName(String str);
public abstract Builder setUptimeMillis(long j);
public final Builder addMetadata(String str, String str2) {
getAutoMetadata().put(str, str2);
return this;
}
public final Builder addMetadata(String str, long j) {
getAutoMetadata().put(str, String.valueOf(j));
return this;
}
public final Builder addMetadata(String str, int i) {
getAutoMetadata().put(str, String.valueOf(i));
return this;
}
}
}

View File

@@ -0,0 +1,11 @@
package com.google.android.datatransport.runtime;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
/* loaded from: classes2.dex */
public abstract class ExecutionModule {
public static Executor executor() {
return new SafeLoggingExecutor(Executors.newSingleThreadExecutor());
}
}

View File

@@ -0,0 +1,26 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.runtime.dagger.internal.Factory;
import com.google.android.datatransport.runtime.dagger.internal.Preconditions;
import java.util.concurrent.Executor;
/* loaded from: classes2.dex */
public final class ExecutionModule_ExecutorFactory implements Factory {
public static final class InstanceHolder {
public static final ExecutionModule_ExecutorFactory INSTANCE = new ExecutionModule_ExecutorFactory();
}
@Override // javax.inject.Provider
public Executor get() {
return executor();
}
public static ExecutionModule_ExecutorFactory create() {
return InstanceHolder.INSTANCE;
}
public static Executor executor() {
return (Executor) Preconditions.checkNotNull(ExecutionModule.executor(), "Cannot return null from a non-@Nullable @Provides method");
}
}

View File

@@ -0,0 +1,16 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.Priority;
import com.google.android.datatransport.Transport;
import com.google.android.datatransport.runtime.logging.Logging;
/* loaded from: classes2.dex */
public abstract class ForcedSender {
public static void sendBlocking(Transport transport, Priority priority) {
if (transport instanceof TransportImpl) {
TransportRuntime.getInstance().getUploader().logAndUpdateState(((TransportImpl) transport).getTransportContext().withPriority(priority), 1);
} else {
Logging.w("ForcedSender", "Expected instance of `TransportImpl`, got `%s`.", transport);
}
}
}

View File

@@ -0,0 +1,12 @@
package com.google.android.datatransport.runtime;
import com.google.firebase.encoders.proto.ProtobufEncoder;
/* loaded from: classes2.dex */
public abstract class ProtoEncoderDoNotUse {
public static final ProtobufEncoder ENCODER = ProtobufEncoder.builder().configureWith(AutoProtoEncoderDoNotUseEncoder.CONFIG).build();
public static byte[] encode(Object obj) {
return ENCODER.encode(obj);
}
}

View File

@@ -0,0 +1,35 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.runtime.logging.Logging;
import java.util.concurrent.Executor;
/* loaded from: classes2.dex */
public class SafeLoggingExecutor implements Executor {
public final Executor delegate;
public SafeLoggingExecutor(Executor executor) {
this.delegate = executor;
}
@Override // java.util.concurrent.Executor
public void execute(Runnable runnable) {
this.delegate.execute(new SafeLoggingRunnable(runnable));
}
public static class SafeLoggingRunnable implements Runnable {
public final Runnable delegate;
public SafeLoggingRunnable(Runnable runnable) {
this.delegate = runnable;
}
@Override // java.lang.Runnable
public void run() {
try {
this.delegate.run();
} catch (Exception e) {
Logging.e("Executor", "Background execution failure.", e);
}
}
}
}

View File

@@ -0,0 +1,42 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.Encoding;
import com.google.android.datatransport.Event;
import com.google.android.datatransport.Transformer;
import com.google.android.datatransport.runtime.AutoValue_SendRequest;
/* loaded from: classes2.dex */
public abstract class SendRequest {
public static abstract class Builder {
public abstract SendRequest build();
public abstract Builder setEncoding(Encoding encoding);
public abstract Builder setEvent(Event event);
public abstract Builder setTransformer(Transformer transformer);
public abstract Builder setTransportContext(TransportContext transportContext);
public abstract Builder setTransportName(String str);
}
public abstract Encoding getEncoding();
public abstract Event getEvent();
public abstract Transformer getTransformer();
public abstract TransportContext getTransportContext();
public abstract String getTransportName();
public byte[] getPayload() {
return (byte[]) getTransformer().apply(getEvent().getPayload());
}
public static Builder builder() {
return new AutoValue_SendRequest.Builder();
}
}

View File

@@ -0,0 +1,45 @@
package com.google.android.datatransport.runtime;
import android.util.Base64;
import com.google.android.datatransport.Priority;
import com.google.android.datatransport.runtime.AutoValue_TransportContext;
/* loaded from: classes2.dex */
public abstract class TransportContext {
public static abstract class Builder {
public abstract TransportContext build();
public abstract Builder setBackendName(String str);
public abstract Builder setExtras(byte[] bArr);
public abstract Builder setPriority(Priority priority);
}
public abstract String getBackendName();
public abstract byte[] getExtras();
public abstract Priority getPriority();
public boolean shouldUploadClientHealthMetrics() {
return getExtras() != null;
}
public final String toString() {
Object[] objArr = new Object[3];
objArr[0] = getBackendName();
objArr[1] = getPriority();
objArr[2] = getExtras() == null ? "" : Base64.encodeToString(getExtras(), 2);
return String.format("TransportContext(%s, %s, %s)", objArr);
}
public static Builder builder() {
return new AutoValue_TransportContext.Builder().setPriority(Priority.DEFAULT);
}
public TransportContext withPriority(Priority priority) {
return builder().setBackendName(getBackendName()).setPriority(priority).setExtras(getExtras()).build();
}
}

View File

@@ -0,0 +1,28 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.Encoding;
import com.google.android.datatransport.Transformer;
import com.google.android.datatransport.Transport;
import com.google.android.datatransport.TransportFactory;
import java.util.Set;
/* loaded from: classes2.dex */
public final class TransportFactoryImpl implements TransportFactory {
public final Set supportedPayloadEncodings;
public final TransportContext transportContext;
public final TransportInternal transportInternal;
public TransportFactoryImpl(Set set, TransportContext transportContext, TransportInternal transportInternal) {
this.supportedPayloadEncodings = set;
this.transportContext = transportContext;
this.transportInternal = transportInternal;
}
@Override // com.google.android.datatransport.TransportFactory
public Transport getTransport(String str, Class cls, Encoding encoding, Transformer transformer) {
if (!this.supportedPayloadEncodings.contains(encoding)) {
throw new IllegalArgumentException(String.format("%s is not supported byt this factory. Supported encodings are: %s.", encoding, this.supportedPayloadEncodings));
}
return new TransportImpl(this.transportContext, str, encoding, transformer, this.transportInternal);
}
}

View File

@@ -0,0 +1,46 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.Encoding;
import com.google.android.datatransport.Event;
import com.google.android.datatransport.Transformer;
import com.google.android.datatransport.Transport;
import com.google.android.datatransport.TransportScheduleCallback;
/* loaded from: classes2.dex */
public final class TransportImpl implements Transport {
public final String name;
public final Encoding payloadEncoding;
public final Transformer transformer;
public final TransportContext transportContext;
public final TransportInternal transportInternal;
public static /* synthetic */ void lambda$send$0(Exception exc) {
}
public TransportContext getTransportContext() {
return this.transportContext;
}
public TransportImpl(TransportContext transportContext, String str, Encoding encoding, Transformer transformer, TransportInternal transportInternal) {
this.transportContext = transportContext;
this.name = str;
this.payloadEncoding = encoding;
this.transformer = transformer;
this.transportInternal = transportInternal;
}
@Override // com.google.android.datatransport.Transport
public void send(Event event) {
schedule(event, new TransportScheduleCallback() { // from class: com.google.android.datatransport.runtime.TransportImpl$$ExternalSyntheticLambda0
@Override // com.google.android.datatransport.TransportScheduleCallback
public final void onSchedule(Exception exc) {
TransportImpl.lambda$send$0(exc);
}
});
}
@Override // com.google.android.datatransport.Transport
public void schedule(Event event, TransportScheduleCallback transportScheduleCallback) {
this.transportInternal.send(SendRequest.builder().setTransportContext(this.transportContext).setEvent(event).setTransportName(this.name).setTransformer(this.transformer).setEncoding(this.payloadEncoding).build(), transportScheduleCallback);
}
}

View File

@@ -0,0 +1,8 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.TransportScheduleCallback;
/* loaded from: classes2.dex */
public interface TransportInternal {
void send(SendRequest sendRequest, TransportScheduleCallback transportScheduleCallback);
}

View File

@@ -0,0 +1,74 @@
package com.google.android.datatransport.runtime;
import android.content.Context;
import com.google.android.datatransport.Encoding;
import com.google.android.datatransport.TransportFactory;
import com.google.android.datatransport.TransportScheduleCallback;
import com.google.android.datatransport.runtime.scheduling.Scheduler;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkInitializer;
import com.google.android.datatransport.runtime.time.Clock;
import java.util.Collections;
import java.util.Set;
/* loaded from: classes2.dex */
public class TransportRuntime implements TransportInternal {
public static volatile TransportRuntimeComponent instance;
public final Clock eventClock;
public final Scheduler scheduler;
public final Uploader uploader;
public final Clock uptimeClock;
public Uploader getUploader() {
return this.uploader;
}
public TransportRuntime(Clock clock, Clock clock2, Scheduler scheduler, Uploader uploader, WorkInitializer workInitializer) {
this.eventClock = clock;
this.uptimeClock = clock2;
this.scheduler = scheduler;
this.uploader = uploader;
workInitializer.ensureContextsScheduled();
}
public static void initialize(Context context) {
if (instance == null) {
synchronized (TransportRuntime.class) {
try {
if (instance == null) {
instance = DaggerTransportRuntimeComponent.builder().setApplicationContext(context).build();
}
} finally {
}
}
}
}
public static TransportRuntime getInstance() {
TransportRuntimeComponent transportRuntimeComponent = instance;
if (transportRuntimeComponent == null) {
throw new IllegalStateException("Not initialized!");
}
return transportRuntimeComponent.getTransportRuntime();
}
public TransportFactory newFactory(Destination destination) {
return new TransportFactoryImpl(getSupportedEncodings(destination), TransportContext.builder().setBackendName(destination.getName()).setExtras(destination.getExtras()).build(), this);
}
public static Set getSupportedEncodings(Destination destination) {
if (destination instanceof EncodedDestination) {
return Collections.unmodifiableSet(((EncodedDestination) destination).getSupportedEncodings());
}
return Collections.singleton(Encoding.of("proto"));
}
@Override // com.google.android.datatransport.runtime.TransportInternal
public void send(SendRequest sendRequest, TransportScheduleCallback transportScheduleCallback) {
this.scheduler.schedule(sendRequest.getTransportContext().withPriority(sendRequest.getEvent().getPriority()), convert(sendRequest), transportScheduleCallback);
}
public final EventInternal convert(SendRequest sendRequest) {
return EventInternal.builder().setEventMillis(this.eventClock.getTime()).setUptimeMillis(this.uptimeClock.getTime()).setTransportName(sendRequest.getTransportName()).setEncodedPayload(new EncodedPayload(sendRequest.getEncoding(), sendRequest.getPayload())).setCode(sendRequest.getEvent().getCode()).build();
}
}

View File

@@ -0,0 +1,24 @@
package com.google.android.datatransport.runtime;
import android.content.Context;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStore;
import java.io.Closeable;
/* loaded from: classes2.dex */
public abstract class TransportRuntimeComponent implements Closeable {
public interface Builder {
TransportRuntimeComponent build();
Builder setApplicationContext(Context context);
}
public abstract EventStore getEventStore();
public abstract TransportRuntime getTransportRuntime();
@Override // java.io.Closeable, java.lang.AutoCloseable
public void close() {
getEventStore().close();
}
}

View File

@@ -0,0 +1,38 @@
package com.google.android.datatransport.runtime;
import com.google.android.datatransport.runtime.dagger.internal.Factory;
import com.google.android.datatransport.runtime.scheduling.Scheduler;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkInitializer;
import com.google.android.datatransport.runtime.time.Clock;
import javax.inject.Provider;
/* loaded from: classes2.dex */
public final class TransportRuntime_Factory implements Factory {
public final Provider eventClockProvider;
public final Provider initializerProvider;
public final Provider schedulerProvider;
public final Provider uploaderProvider;
public final Provider uptimeClockProvider;
public TransportRuntime_Factory(Provider provider, Provider provider2, Provider provider3, Provider provider4, Provider provider5) {
this.eventClockProvider = provider;
this.uptimeClockProvider = provider2;
this.schedulerProvider = provider3;
this.uploaderProvider = provider4;
this.initializerProvider = provider5;
}
@Override // javax.inject.Provider
public TransportRuntime get() {
return newInstance((Clock) this.eventClockProvider.get(), (Clock) this.uptimeClockProvider.get(), (Scheduler) this.schedulerProvider.get(), (Uploader) this.uploaderProvider.get(), (WorkInitializer) this.initializerProvider.get());
}
public static TransportRuntime_Factory create(Provider provider, Provider provider2, Provider provider3, Provider provider4, Provider provider5) {
return new TransportRuntime_Factory(provider, provider2, provider3, provider4, provider5);
}
public static TransportRuntime newInstance(Clock clock, Clock clock2, Scheduler scheduler, Uploader uploader, WorkInitializer workInitializer) {
return new TransportRuntime(clock, clock2, scheduler, uploader, workInitializer);
}
}

View File

@@ -0,0 +1,81 @@
package com.google.android.datatransport.runtime.backends;
import com.google.android.datatransport.runtime.backends.BackendRequest;
import java.util.Arrays;
/* loaded from: classes2.dex */
public final class AutoValue_BackendRequest extends BackendRequest {
public final Iterable events;
public final byte[] extras;
@Override // com.google.android.datatransport.runtime.backends.BackendRequest
public Iterable getEvents() {
return this.events;
}
@Override // com.google.android.datatransport.runtime.backends.BackendRequest
public byte[] getExtras() {
return this.extras;
}
public AutoValue_BackendRequest(Iterable iterable, byte[] bArr) {
this.events = iterable;
this.extras = bArr;
}
public String toString() {
return "BackendRequest{events=" + this.events + ", extras=" + Arrays.toString(this.extras) + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof BackendRequest)) {
return false;
}
BackendRequest backendRequest = (BackendRequest) obj;
if (this.events.equals(backendRequest.getEvents())) {
if (Arrays.equals(this.extras, backendRequest instanceof AutoValue_BackendRequest ? ((AutoValue_BackendRequest) backendRequest).extras : backendRequest.getExtras())) {
return true;
}
}
return false;
}
public int hashCode() {
return ((this.events.hashCode() ^ 1000003) * 1000003) ^ Arrays.hashCode(this.extras);
}
public static final class Builder extends BackendRequest.Builder {
public Iterable events;
public byte[] extras;
@Override // com.google.android.datatransport.runtime.backends.BackendRequest.Builder
public BackendRequest.Builder setExtras(byte[] bArr) {
this.extras = bArr;
return this;
}
@Override // com.google.android.datatransport.runtime.backends.BackendRequest.Builder
public BackendRequest.Builder setEvents(Iterable iterable) {
if (iterable == null) {
throw new NullPointerException("Null events");
}
this.events = iterable;
return this;
}
@Override // com.google.android.datatransport.runtime.backends.BackendRequest.Builder
public BackendRequest build() {
String str = "";
if (this.events == null) {
str = " events";
}
if (!str.isEmpty()) {
throw new IllegalStateException("Missing required properties:" + str);
}
return new AutoValue_BackendRequest(this.events, this.extras);
}
}
}

View File

@@ -0,0 +1,48 @@
package com.google.android.datatransport.runtime.backends;
import com.google.android.datatransport.runtime.backends.BackendResponse;
/* loaded from: classes2.dex */
public final class AutoValue_BackendResponse extends BackendResponse {
public final long nextRequestWaitMillis;
public final BackendResponse.Status status;
@Override // com.google.android.datatransport.runtime.backends.BackendResponse
public long getNextRequestWaitMillis() {
return this.nextRequestWaitMillis;
}
@Override // com.google.android.datatransport.runtime.backends.BackendResponse
public BackendResponse.Status getStatus() {
return this.status;
}
public AutoValue_BackendResponse(BackendResponse.Status status, long j) {
if (status == null) {
throw new NullPointerException("Null status");
}
this.status = status;
this.nextRequestWaitMillis = j;
}
public String toString() {
return "BackendResponse{status=" + this.status + ", nextRequestWaitMillis=" + this.nextRequestWaitMillis + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof BackendResponse)) {
return false;
}
BackendResponse backendResponse = (BackendResponse) obj;
return this.status.equals(backendResponse.getStatus()) && this.nextRequestWaitMillis == backendResponse.getNextRequestWaitMillis();
}
public int hashCode() {
int hashCode = (this.status.hashCode() ^ 1000003) * 1000003;
long j = this.nextRequestWaitMillis;
return hashCode ^ ((int) (j ^ (j >>> 32)));
}
}

View File

@@ -0,0 +1,70 @@
package com.google.android.datatransport.runtime.backends;
import android.content.Context;
import com.google.android.datatransport.runtime.time.Clock;
/* loaded from: classes2.dex */
public final class AutoValue_CreationContext extends CreationContext {
public final Context applicationContext;
public final String backendName;
public final Clock monotonicClock;
public final Clock wallClock;
@Override // com.google.android.datatransport.runtime.backends.CreationContext
public Context getApplicationContext() {
return this.applicationContext;
}
@Override // com.google.android.datatransport.runtime.backends.CreationContext
public String getBackendName() {
return this.backendName;
}
@Override // com.google.android.datatransport.runtime.backends.CreationContext
public Clock getMonotonicClock() {
return this.monotonicClock;
}
@Override // com.google.android.datatransport.runtime.backends.CreationContext
public Clock getWallClock() {
return this.wallClock;
}
public AutoValue_CreationContext(Context context, Clock clock, Clock clock2, String str) {
if (context == null) {
throw new NullPointerException("Null applicationContext");
}
this.applicationContext = context;
if (clock == null) {
throw new NullPointerException("Null wallClock");
}
this.wallClock = clock;
if (clock2 == null) {
throw new NullPointerException("Null monotonicClock");
}
this.monotonicClock = clock2;
if (str == null) {
throw new NullPointerException("Null backendName");
}
this.backendName = str;
}
public String toString() {
return "CreationContext{applicationContext=" + this.applicationContext + ", wallClock=" + this.wallClock + ", monotonicClock=" + this.monotonicClock + ", backendName=" + this.backendName + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof CreationContext)) {
return false;
}
CreationContext creationContext = (CreationContext) obj;
return this.applicationContext.equals(creationContext.getApplicationContext()) && this.wallClock.equals(creationContext.getWallClock()) && this.monotonicClock.equals(creationContext.getMonotonicClock()) && this.backendName.equals(creationContext.getBackendName());
}
public int hashCode() {
return ((((((this.applicationContext.hashCode() ^ 1000003) * 1000003) ^ this.wallClock.hashCode()) * 1000003) ^ this.monotonicClock.hashCode()) * 1000003) ^ this.backendName.hashCode();
}
}

View File

@@ -0,0 +1,6 @@
package com.google.android.datatransport.runtime.backends;
/* loaded from: classes2.dex */
public interface BackendFactory {
TransportBackend create(CreationContext creationContext);
}

View File

@@ -0,0 +1,6 @@
package com.google.android.datatransport.runtime.backends;
/* loaded from: classes2.dex */
public interface BackendRegistry {
TransportBackend get(String str);
}

View File

@@ -0,0 +1,23 @@
package com.google.android.datatransport.runtime.backends;
import com.google.android.datatransport.runtime.backends.AutoValue_BackendRequest;
/* loaded from: classes2.dex */
public abstract class BackendRequest {
public static abstract class Builder {
public abstract BackendRequest build();
public abstract Builder setEvents(Iterable iterable);
public abstract Builder setExtras(byte[] bArr);
}
public abstract Iterable getEvents();
public abstract byte[] getExtras();
public static Builder builder() {
return new AutoValue_BackendRequest.Builder();
}
}

View File

@@ -0,0 +1,32 @@
package com.google.android.datatransport.runtime.backends;
/* loaded from: classes2.dex */
public abstract class BackendResponse {
public enum Status {
OK,
TRANSIENT_ERROR,
FATAL_ERROR,
INVALID_PAYLOAD
}
public abstract long getNextRequestWaitMillis();
public abstract Status getStatus();
public static BackendResponse transientError() {
return new AutoValue_BackendResponse(Status.TRANSIENT_ERROR, -1L);
}
public static BackendResponse fatalError() {
return new AutoValue_BackendResponse(Status.FATAL_ERROR, -1L);
}
public static BackendResponse invalidPayload() {
return new AutoValue_BackendResponse(Status.INVALID_PAYLOAD, -1L);
}
public static BackendResponse ok(long j) {
return new AutoValue_BackendResponse(Status.OK, j);
}
}

View File

@@ -0,0 +1,19 @@
package com.google.android.datatransport.runtime.backends;
import android.content.Context;
import com.google.android.datatransport.runtime.time.Clock;
/* loaded from: classes2.dex */
public abstract class CreationContext {
public abstract Context getApplicationContext();
public abstract String getBackendName();
public abstract Clock getMonotonicClock();
public abstract Clock getWallClock();
public static CreationContext create(Context context, Clock clock, Clock clock2, String str) {
return new AutoValue_CreationContext(context, clock, clock2, str);
}
}

View File

@@ -0,0 +1,21 @@
package com.google.android.datatransport.runtime.backends;
import android.content.Context;
import com.google.android.datatransport.runtime.time.Clock;
/* loaded from: classes2.dex */
public class CreationContextFactory {
public final Context applicationContext;
public final Clock monotonicClock;
public final Clock wallClock;
public CreationContextFactory(Context context, Clock clock, Clock clock2) {
this.applicationContext = context;
this.wallClock = clock;
this.monotonicClock = clock2;
}
public CreationContext create(String str) {
return CreationContext.create(this.applicationContext, this.wallClock, this.monotonicClock, str);
}
}

View File

@@ -0,0 +1,32 @@
package com.google.android.datatransport.runtime.backends;
import android.content.Context;
import com.google.android.datatransport.runtime.dagger.internal.Factory;
import com.google.android.datatransport.runtime.time.Clock;
import javax.inject.Provider;
/* loaded from: classes2.dex */
public final class CreationContextFactory_Factory implements Factory {
public final Provider applicationContextProvider;
public final Provider monotonicClockProvider;
public final Provider wallClockProvider;
public CreationContextFactory_Factory(Provider provider, Provider provider2, Provider provider3) {
this.applicationContextProvider = provider;
this.wallClockProvider = provider2;
this.monotonicClockProvider = provider3;
}
@Override // javax.inject.Provider
public CreationContextFactory get() {
return newInstance((Context) this.applicationContextProvider.get(), (Clock) this.wallClockProvider.get(), (Clock) this.monotonicClockProvider.get());
}
public static CreationContextFactory_Factory create(Provider provider, Provider provider2, Provider provider3) {
return new CreationContextFactory_Factory(provider, provider2, provider3);
}
public static CreationContextFactory newInstance(Context context, Clock clock, Clock clock2) {
return new CreationContextFactory(context, clock, clock2);
}
}

View File

@@ -0,0 +1,124 @@
package com.google.android.datatransport.runtime.backends;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.ServiceInfo;
import android.os.Bundle;
import android.util.Log;
import java.lang.reflect.InvocationTargetException;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
/* loaded from: classes2.dex */
public class MetadataBackendRegistry implements BackendRegistry {
public final BackendFactoryProvider backendFactoryProvider;
public final Map backends;
public final CreationContextFactory creationContextFactory;
public MetadataBackendRegistry(Context context, CreationContextFactory creationContextFactory) {
this(new BackendFactoryProvider(context), creationContextFactory);
}
public MetadataBackendRegistry(BackendFactoryProvider backendFactoryProvider, CreationContextFactory creationContextFactory) {
this.backends = new HashMap();
this.backendFactoryProvider = backendFactoryProvider;
this.creationContextFactory = creationContextFactory;
}
@Override // com.google.android.datatransport.runtime.backends.BackendRegistry
public synchronized TransportBackend get(String str) {
if (this.backends.containsKey(str)) {
return (TransportBackend) this.backends.get(str);
}
BackendFactory backendFactory = this.backendFactoryProvider.get(str);
if (backendFactory == null) {
return null;
}
TransportBackend create = backendFactory.create(this.creationContextFactory.create(str));
this.backends.put(str, create);
return create;
}
public static class BackendFactoryProvider {
public final Context applicationContext;
public Map backendProviders = null;
public BackendFactoryProvider(Context context) {
this.applicationContext = context;
}
public BackendFactory get(String str) {
String str2 = (String) getBackendProviders().get(str);
if (str2 == null) {
return null;
}
try {
return (BackendFactory) Class.forName(str2).asSubclass(BackendFactory.class).getDeclaredConstructor(new Class[0]).newInstance(new Object[0]);
} catch (ClassNotFoundException e) {
Log.w("BackendRegistry", String.format("Class %s is not found.", str2), e);
return null;
} catch (IllegalAccessException e2) {
Log.w("BackendRegistry", String.format("Could not instantiate %s.", str2), e2);
return null;
} catch (InstantiationException e3) {
Log.w("BackendRegistry", String.format("Could not instantiate %s.", str2), e3);
return null;
} catch (NoSuchMethodException e4) {
Log.w("BackendRegistry", String.format("Could not instantiate %s", str2), e4);
return null;
} catch (InvocationTargetException e5) {
Log.w("BackendRegistry", String.format("Could not instantiate %s", str2), e5);
return null;
}
}
public final Map getBackendProviders() {
if (this.backendProviders == null) {
this.backendProviders = discover(this.applicationContext);
}
return this.backendProviders;
}
public final Map discover(Context context) {
Bundle metadata = getMetadata(context);
if (metadata == null) {
Log.w("BackendRegistry", "Could not retrieve metadata, returning empty list of transport backends.");
return Collections.emptyMap();
}
HashMap hashMap = new HashMap();
for (String str : metadata.keySet()) {
Object obj = metadata.get(str);
if ((obj instanceof String) && str.startsWith("backend:")) {
for (String str2 : ((String) obj).split(",", -1)) {
String trim = str2.trim();
if (!trim.isEmpty()) {
hashMap.put(trim, str.substring(8));
}
}
}
}
return hashMap;
}
public static Bundle getMetadata(Context context) {
try {
PackageManager packageManager = context.getPackageManager();
if (packageManager == null) {
Log.w("BackendRegistry", "Context has no PackageManager.");
return null;
}
ServiceInfo serviceInfo = packageManager.getServiceInfo(new ComponentName(context, (Class<?>) TransportBackendDiscovery.class), 128);
if (serviceInfo == null) {
Log.w("BackendRegistry", "TransportBackendDiscovery has no service info.");
return null;
}
return serviceInfo.metaData;
} catch (PackageManager.NameNotFoundException unused) {
Log.w("BackendRegistry", "Application info not found.");
return null;
}
}
}
}

View File

@@ -0,0 +1,29 @@
package com.google.android.datatransport.runtime.backends;
import android.content.Context;
import com.google.android.datatransport.runtime.dagger.internal.Factory;
import javax.inject.Provider;
/* loaded from: classes2.dex */
public final class MetadataBackendRegistry_Factory implements Factory {
public final Provider applicationContextProvider;
public final Provider creationContextFactoryProvider;
public MetadataBackendRegistry_Factory(Provider provider, Provider provider2) {
this.applicationContextProvider = provider;
this.creationContextFactoryProvider = provider2;
}
@Override // javax.inject.Provider
public MetadataBackendRegistry get() {
return newInstance((Context) this.applicationContextProvider.get(), this.creationContextFactoryProvider.get());
}
public static MetadataBackendRegistry_Factory create(Provider provider, Provider provider2) {
return new MetadataBackendRegistry_Factory(provider, provider2);
}
public static MetadataBackendRegistry newInstance(Context context, Object obj) {
return new MetadataBackendRegistry(context, (CreationContextFactory) obj);
}
}

View File

@@ -0,0 +1,10 @@
package com.google.android.datatransport.runtime.backends;
import com.google.android.datatransport.runtime.EventInternal;
/* loaded from: classes2.dex */
public interface TransportBackend {
EventInternal decorate(EventInternal eventInternal);
BackendResponse send(BackendRequest backendRequest);
}

View File

@@ -0,0 +1,13 @@
package com.google.android.datatransport.runtime.backends;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
/* loaded from: classes2.dex */
public class TransportBackendDiscovery extends Service {
@Override // android.app.Service
public IBinder onBind(Intent intent) {
return null;
}
}

View File

@@ -0,0 +1,46 @@
package com.google.android.datatransport.runtime.dagger.internal;
import javax.inject.Provider;
/* loaded from: classes2.dex */
public final class DoubleCheck implements Provider {
public static final Object UNINITIALIZED = new Object();
public volatile Object instance = UNINITIALIZED;
public volatile Provider provider;
public DoubleCheck(Provider provider) {
this.provider = provider;
}
@Override // javax.inject.Provider
public Object get() {
Object obj = this.instance;
Object obj2 = UNINITIALIZED;
if (obj == obj2) {
synchronized (this) {
try {
obj = this.instance;
if (obj == obj2) {
obj = this.provider.get();
this.instance = reentrantCheck(this.instance, obj);
this.provider = null;
}
} finally {
}
}
}
return obj;
}
public static Object reentrantCheck(Object obj, Object obj2) {
if (obj == UNINITIALIZED || obj == obj2) {
return obj2;
}
throw new IllegalStateException("Scoped provider was invoked recursively returning different results: " + obj + " & " + obj2 + ". This is likely due to a circular dependency.");
}
public static Provider provider(Provider provider) {
Preconditions.checkNotNull(provider);
return provider instanceof DoubleCheck ? provider : new DoubleCheck(provider);
}
}

View File

@@ -0,0 +1,7 @@
package com.google.android.datatransport.runtime.dagger.internal;
import javax.inject.Provider;
/* loaded from: classes2.dex */
public interface Factory extends Provider {
}

View File

@@ -0,0 +1,20 @@
package com.google.android.datatransport.runtime.dagger.internal;
/* loaded from: classes2.dex */
public final class InstanceFactory implements Factory {
public static final InstanceFactory NULL_INSTANCE_FACTORY = new InstanceFactory(null);
public final Object instance;
@Override // javax.inject.Provider
public Object get() {
return this.instance;
}
public static Factory create(Object obj) {
return new InstanceFactory(Preconditions.checkNotNull(obj, "instance cannot be null"));
}
public InstanceFactory(Object obj) {
this.instance = obj;
}
}

View File

@@ -0,0 +1,23 @@
package com.google.android.datatransport.runtime.dagger.internal;
/* loaded from: classes2.dex */
public abstract class Preconditions {
public static Object checkNotNull(Object obj) {
obj.getClass();
return obj;
}
public static Object checkNotNull(Object obj, String str) {
if (obj != null) {
return obj;
}
throw new NullPointerException(str);
}
public static void checkBuilderRequirement(Object obj, Class cls) {
if (obj != null) {
return;
}
throw new IllegalStateException(cls.getCanonicalName() + " must be set");
}
}

View File

@@ -0,0 +1,77 @@
package com.google.android.datatransport.runtime.firebase.transport;
import com.google.android.datatransport.runtime.ProtoEncoderDoNotUse;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/* loaded from: classes2.dex */
public final class ClientMetrics {
public static final ClientMetrics DEFAULT_INSTANCE = new Builder().build();
public final String app_namespace_;
public final GlobalMetrics global_metrics_;
public final List log_source_metrics_;
public final TimeWindow window_;
public String getAppNamespace() {
return this.app_namespace_;
}
public GlobalMetrics getGlobalMetricsInternal() {
return this.global_metrics_;
}
public List getLogSourceMetricsList() {
return this.log_source_metrics_;
}
public TimeWindow getWindowInternal() {
return this.window_;
}
public ClientMetrics(TimeWindow timeWindow, List list, GlobalMetrics globalMetrics, String str) {
this.window_ = timeWindow;
this.log_source_metrics_ = list;
this.global_metrics_ = globalMetrics;
this.app_namespace_ = str;
}
public byte[] toByteArray() {
return ProtoEncoderDoNotUse.encode(this);
}
public static Builder newBuilder() {
return new Builder();
}
public static final class Builder {
public TimeWindow window_ = null;
public List log_source_metrics_ = new ArrayList();
public GlobalMetrics global_metrics_ = null;
public String app_namespace_ = "";
public Builder setAppNamespace(String str) {
this.app_namespace_ = str;
return this;
}
public Builder setGlobalMetrics(GlobalMetrics globalMetrics) {
this.global_metrics_ = globalMetrics;
return this;
}
public Builder setWindow(TimeWindow timeWindow) {
this.window_ = timeWindow;
return this;
}
public ClientMetrics build() {
return new ClientMetrics(this.window_, Collections.unmodifiableList(this.log_source_metrics_), this.global_metrics_, this.app_namespace_);
}
public Builder addLogSourceMetrics(LogSourceMetrics logSourceMetrics) {
this.log_source_metrics_.add(logSourceMetrics);
return this;
}
}
}

View File

@@ -0,0 +1,32 @@
package com.google.android.datatransport.runtime.firebase.transport;
/* loaded from: classes2.dex */
public final class GlobalMetrics {
public static final GlobalMetrics DEFAULT_INSTANCE = new Builder().build();
public final StorageMetrics storage_metrics_;
public StorageMetrics getStorageMetricsInternal() {
return this.storage_metrics_;
}
public GlobalMetrics(StorageMetrics storageMetrics) {
this.storage_metrics_ = storageMetrics;
}
public static Builder newBuilder() {
return new Builder();
}
public static final class Builder {
public StorageMetrics storage_metrics_ = null;
public Builder setStorageMetrics(StorageMetrics storageMetrics) {
this.storage_metrics_ = storageMetrics;
return this;
}
public GlobalMetrics build() {
return new GlobalMetrics(this.storage_metrics_);
}
}
}

View File

@@ -0,0 +1,67 @@
package com.google.android.datatransport.runtime.firebase.transport;
import com.google.firebase.encoders.proto.ProtoEnum;
/* loaded from: classes2.dex */
public final class LogEventDropped {
public static final LogEventDropped DEFAULT_INSTANCE = new Builder().build();
public final long events_dropped_count_;
public final Reason reason_;
public long getEventsDroppedCount() {
return this.events_dropped_count_;
}
public Reason getReason() {
return this.reason_;
}
public LogEventDropped(long j, Reason reason) {
this.events_dropped_count_ = j;
this.reason_ = reason;
}
public static Builder newBuilder() {
return new Builder();
}
public static final class Builder {
public long events_dropped_count_ = 0;
public Reason reason_ = Reason.REASON_UNKNOWN;
public Builder setEventsDroppedCount(long j) {
this.events_dropped_count_ = j;
return this;
}
public Builder setReason(Reason reason) {
this.reason_ = reason;
return this;
}
public LogEventDropped build() {
return new LogEventDropped(this.events_dropped_count_, this.reason_);
}
}
public enum Reason implements ProtoEnum {
REASON_UNKNOWN(0),
MESSAGE_TOO_OLD(1),
CACHE_FULL(2),
PAYLOAD_TOO_BIG(3),
MAX_RETRIES_REACHED(4),
INVALID_PAYLOD(5),
SERVER_ERROR(6);
private final int number_;
@Override // com.google.firebase.encoders.proto.ProtoEnum
public int getNumber() {
return this.number_;
}
Reason(int i) {
this.number_ = i;
}
}
}

View File

@@ -0,0 +1,48 @@
package com.google.android.datatransport.runtime.firebase.transport;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/* loaded from: classes2.dex */
public final class LogSourceMetrics {
public static final LogSourceMetrics DEFAULT_INSTANCE = new Builder().build();
public final List log_event_dropped_;
public final String log_source_;
public List getLogEventDroppedList() {
return this.log_event_dropped_;
}
public String getLogSource() {
return this.log_source_;
}
public LogSourceMetrics(String str, List list) {
this.log_source_ = str;
this.log_event_dropped_ = list;
}
public static Builder newBuilder() {
return new Builder();
}
public static final class Builder {
public String log_source_ = "";
public List log_event_dropped_ = new ArrayList();
public Builder setLogEventDroppedList(List list) {
this.log_event_dropped_ = list;
return this;
}
public Builder setLogSource(String str) {
this.log_source_ = str;
return this;
}
public LogSourceMetrics build() {
return new LogSourceMetrics(this.log_source_, Collections.unmodifiableList(this.log_event_dropped_));
}
}
}

View File

@@ -0,0 +1,44 @@
package com.google.android.datatransport.runtime.firebase.transport;
/* loaded from: classes2.dex */
public final class StorageMetrics {
public static final StorageMetrics DEFAULT_INSTANCE = new Builder().build();
public final long current_cache_size_bytes_;
public final long max_cache_size_bytes_;
public long getCurrentCacheSizeBytes() {
return this.current_cache_size_bytes_;
}
public long getMaxCacheSizeBytes() {
return this.max_cache_size_bytes_;
}
public StorageMetrics(long j, long j2) {
this.current_cache_size_bytes_ = j;
this.max_cache_size_bytes_ = j2;
}
public static Builder newBuilder() {
return new Builder();
}
public static final class Builder {
public long current_cache_size_bytes_ = 0;
public long max_cache_size_bytes_ = 0;
public Builder setCurrentCacheSizeBytes(long j) {
this.current_cache_size_bytes_ = j;
return this;
}
public Builder setMaxCacheSizeBytes(long j) {
this.max_cache_size_bytes_ = j;
return this;
}
public StorageMetrics build() {
return new StorageMetrics(this.current_cache_size_bytes_, this.max_cache_size_bytes_);
}
}
}

View File

@@ -0,0 +1,44 @@
package com.google.android.datatransport.runtime.firebase.transport;
/* loaded from: classes2.dex */
public final class TimeWindow {
public static final TimeWindow DEFAULT_INSTANCE = new Builder().build();
public final long end_ms_;
public final long start_ms_;
public long getEndMs() {
return this.end_ms_;
}
public long getStartMs() {
return this.start_ms_;
}
public TimeWindow(long j, long j2) {
this.start_ms_ = j;
this.end_ms_ = j2;
}
public static Builder newBuilder() {
return new Builder();
}
public static final class Builder {
public long start_ms_ = 0;
public long end_ms_ = 0;
public Builder setEndMs(long j) {
this.end_ms_ = j;
return this;
}
public Builder setStartMs(long j) {
this.start_ms_ = j;
return this;
}
public TimeWindow build() {
return new TimeWindow(this.start_ms_, this.end_ms_);
}
}
}

View File

@@ -0,0 +1,42 @@
package com.google.android.datatransport.runtime.logging;
import android.util.Log;
/* loaded from: classes2.dex */
public abstract class Logging {
public static String getTag(String str) {
return "TRuntime." + str;
}
public static void d(String str, String str2, Object obj) {
if (Log.isLoggable(getTag(str), 3)) {
String.format(str2, obj);
}
}
public static void d(String str, String str2, Object... objArr) {
if (Log.isLoggable(getTag(str), 3)) {
String.format(str2, objArr);
}
}
public static void i(String str, String str2, Object obj) {
if (Log.isLoggable(getTag(str), 4)) {
String.format(str2, obj);
}
}
public static void e(String str, String str2, Throwable th) {
String tag = getTag(str);
if (Log.isLoggable(tag, 6)) {
Log.e(tag, str2, th);
}
}
public static void w(String str, String str2, Object obj) {
String tag = getTag(str);
if (Log.isLoggable(tag, 5)) {
Log.w(tag, String.format(str2, obj));
}
}
}

View File

@@ -0,0 +1,6 @@
package com.google.android.datatransport.runtime.retries;
/* loaded from: classes2.dex */
public interface Function {
Object apply(Object obj);
}

View File

@@ -0,0 +1,20 @@
package com.google.android.datatransport.runtime.retries;
/* loaded from: classes2.dex */
public abstract class Retries {
public static Object retry(int i, Object obj, Function function, RetryStrategy retryStrategy) {
Object apply;
if (i < 1) {
return function.apply(obj);
}
do {
apply = function.apply(obj);
obj = retryStrategy.shouldRetry(obj, apply);
if (obj == null) {
break;
}
i--;
} while (i >= 1);
return apply;
}
}

View File

@@ -0,0 +1,6 @@
package com.google.android.datatransport.runtime.retries;
/* loaded from: classes2.dex */
public interface RetryStrategy {
Object shouldRetry(Object obj, Object obj2);
}

View File

@@ -0,0 +1,72 @@
package com.google.android.datatransport.runtime.scheduling;
import com.google.android.datatransport.TransportScheduleCallback;
import com.google.android.datatransport.runtime.EventInternal;
import com.google.android.datatransport.runtime.TransportContext;
import com.google.android.datatransport.runtime.TransportRuntime;
import com.google.android.datatransport.runtime.backends.BackendRegistry;
import com.google.android.datatransport.runtime.backends.TransportBackend;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkScheduler;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStore;
import com.google.android.datatransport.runtime.synchronization.SynchronizationGuard;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
/* loaded from: classes2.dex */
public class DefaultScheduler implements Scheduler {
public static final Logger LOGGER = Logger.getLogger(TransportRuntime.class.getName());
public final BackendRegistry backendRegistry;
public final EventStore eventStore;
public final Executor executor;
public final SynchronizationGuard guard;
public final WorkScheduler workScheduler;
public DefaultScheduler(Executor executor, BackendRegistry backendRegistry, WorkScheduler workScheduler, EventStore eventStore, SynchronizationGuard synchronizationGuard) {
this.executor = executor;
this.backendRegistry = backendRegistry;
this.workScheduler = workScheduler;
this.eventStore = eventStore;
this.guard = synchronizationGuard;
}
@Override // com.google.android.datatransport.runtime.scheduling.Scheduler
public void schedule(final TransportContext transportContext, final EventInternal eventInternal, final TransportScheduleCallback transportScheduleCallback) {
this.executor.execute(new Runnable() { // from class: com.google.android.datatransport.runtime.scheduling.DefaultScheduler$$ExternalSyntheticLambda0
@Override // java.lang.Runnable
public final void run() {
DefaultScheduler.this.lambda$schedule$1(transportContext, transportScheduleCallback, eventInternal);
}
});
}
public final /* synthetic */ void lambda$schedule$1(final TransportContext transportContext, TransportScheduleCallback transportScheduleCallback, EventInternal eventInternal) {
try {
TransportBackend transportBackend = this.backendRegistry.get(transportContext.getBackendName());
if (transportBackend == null) {
String format = String.format("Transport backend '%s' is not registered", transportContext.getBackendName());
LOGGER.warning(format);
transportScheduleCallback.onSchedule(new IllegalArgumentException(format));
} else {
final EventInternal decorate = transportBackend.decorate(eventInternal);
this.guard.runCriticalSection(new SynchronizationGuard.CriticalSection() { // from class: com.google.android.datatransport.runtime.scheduling.DefaultScheduler$$ExternalSyntheticLambda1
@Override // com.google.android.datatransport.runtime.synchronization.SynchronizationGuard.CriticalSection
public final Object execute() {
Object lambda$schedule$0;
lambda$schedule$0 = DefaultScheduler.this.lambda$schedule$0(transportContext, decorate);
return lambda$schedule$0;
}
});
transportScheduleCallback.onSchedule(null);
}
} catch (Exception e) {
LOGGER.warning("Error scheduling event " + e.getMessage());
transportScheduleCallback.onSchedule(e);
}
}
public final /* synthetic */ Object lambda$schedule$0(TransportContext transportContext, EventInternal eventInternal) {
this.eventStore.persist(transportContext, eventInternal);
this.workScheduler.schedule(transportContext, 1);
return null;
}
}

View File

@@ -0,0 +1,39 @@
package com.google.android.datatransport.runtime.scheduling;
import com.google.android.datatransport.runtime.backends.BackendRegistry;
import com.google.android.datatransport.runtime.dagger.internal.Factory;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkScheduler;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStore;
import com.google.android.datatransport.runtime.synchronization.SynchronizationGuard;
import java.util.concurrent.Executor;
import javax.inject.Provider;
/* loaded from: classes2.dex */
public final class DefaultScheduler_Factory implements Factory {
public final Provider backendRegistryProvider;
public final Provider eventStoreProvider;
public final Provider executorProvider;
public final Provider guardProvider;
public final Provider workSchedulerProvider;
public DefaultScheduler_Factory(Provider provider, Provider provider2, Provider provider3, Provider provider4, Provider provider5) {
this.executorProvider = provider;
this.backendRegistryProvider = provider2;
this.workSchedulerProvider = provider3;
this.eventStoreProvider = provider4;
this.guardProvider = provider5;
}
@Override // javax.inject.Provider
public DefaultScheduler get() {
return newInstance((Executor) this.executorProvider.get(), (BackendRegistry) this.backendRegistryProvider.get(), (WorkScheduler) this.workSchedulerProvider.get(), (EventStore) this.eventStoreProvider.get(), (SynchronizationGuard) this.guardProvider.get());
}
public static DefaultScheduler_Factory create(Provider provider, Provider provider2, Provider provider3, Provider provider4, Provider provider5) {
return new DefaultScheduler_Factory(provider, provider2, provider3, provider4, provider5);
}
public static DefaultScheduler newInstance(Executor executor, BackendRegistry backendRegistry, WorkScheduler workScheduler, EventStore eventStore, SynchronizationGuard synchronizationGuard) {
return new DefaultScheduler(executor, backendRegistry, workScheduler, eventStore, synchronizationGuard);
}
}

View File

@@ -0,0 +1,10 @@
package com.google.android.datatransport.runtime.scheduling;
import com.google.android.datatransport.TransportScheduleCallback;
import com.google.android.datatransport.runtime.EventInternal;
import com.google.android.datatransport.runtime.TransportContext;
/* loaded from: classes2.dex */
public interface Scheduler {
void schedule(TransportContext transportContext, EventInternal eventInternal, TransportScheduleCallback transportScheduleCallback);
}

View File

@@ -0,0 +1,11 @@
package com.google.android.datatransport.runtime.scheduling;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig;
import com.google.android.datatransport.runtime.time.Clock;
/* loaded from: classes2.dex */
public abstract class SchedulingConfigModule {
public static SchedulerConfig config(Clock clock) {
return SchedulerConfig.getDefault(clock);
}
}

View File

@@ -0,0 +1,29 @@
package com.google.android.datatransport.runtime.scheduling;
import com.google.android.datatransport.runtime.dagger.internal.Factory;
import com.google.android.datatransport.runtime.dagger.internal.Preconditions;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig;
import com.google.android.datatransport.runtime.time.Clock;
import javax.inject.Provider;
/* loaded from: classes2.dex */
public final class SchedulingConfigModule_ConfigFactory implements Factory {
public final Provider clockProvider;
public SchedulingConfigModule_ConfigFactory(Provider provider) {
this.clockProvider = provider;
}
@Override // javax.inject.Provider
public SchedulerConfig get() {
return config((Clock) this.clockProvider.get());
}
public static SchedulingConfigModule_ConfigFactory create(Provider provider) {
return new SchedulingConfigModule_ConfigFactory(provider);
}
public static SchedulerConfig config(Clock clock) {
return (SchedulerConfig) Preconditions.checkNotNull(SchedulingConfigModule.config(clock), "Cannot return null from a non-@Nullable @Provides method");
}
}

View File

@@ -0,0 +1,15 @@
package com.google.android.datatransport.runtime.scheduling;
import android.content.Context;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoScheduler;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkScheduler;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStore;
import com.google.android.datatransport.runtime.time.Clock;
/* loaded from: classes2.dex */
public abstract class SchedulingModule {
public static WorkScheduler workScheduler(Context context, EventStore eventStore, SchedulerConfig schedulerConfig, Clock clock) {
return new JobInfoScheduler(context, eventStore, schedulerConfig);
}
}

View File

@@ -0,0 +1,38 @@
package com.google.android.datatransport.runtime.scheduling;
import android.content.Context;
import com.google.android.datatransport.runtime.dagger.internal.Factory;
import com.google.android.datatransport.runtime.dagger.internal.Preconditions;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkScheduler;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStore;
import com.google.android.datatransport.runtime.time.Clock;
import javax.inject.Provider;
/* loaded from: classes2.dex */
public final class SchedulingModule_WorkSchedulerFactory implements Factory {
public final Provider clockProvider;
public final Provider configProvider;
public final Provider contextProvider;
public final Provider eventStoreProvider;
public SchedulingModule_WorkSchedulerFactory(Provider provider, Provider provider2, Provider provider3, Provider provider4) {
this.contextProvider = provider;
this.eventStoreProvider = provider2;
this.configProvider = provider3;
this.clockProvider = provider4;
}
@Override // javax.inject.Provider
public WorkScheduler get() {
return workScheduler((Context) this.contextProvider.get(), (EventStore) this.eventStoreProvider.get(), (SchedulerConfig) this.configProvider.get(), (Clock) this.clockProvider.get());
}
public static SchedulingModule_WorkSchedulerFactory create(Provider provider, Provider provider2, Provider provider3, Provider provider4) {
return new SchedulingModule_WorkSchedulerFactory(provider, provider2, provider3, provider4);
}
public static WorkScheduler workScheduler(Context context, EventStore eventStore, SchedulerConfig schedulerConfig, Clock clock) {
return (WorkScheduler) Preconditions.checkNotNull(SchedulingModule.workScheduler(context, eventStore, schedulerConfig, clock), "Cannot return null from a non-@Nullable @Provides method");
}
}

View File

@@ -0,0 +1,35 @@
package com.google.android.datatransport.runtime.scheduling.jobscheduling;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Base64;
import com.google.android.datatransport.runtime.TransportContext;
import com.google.android.datatransport.runtime.TransportRuntime;
import com.google.android.datatransport.runtime.util.PriorityMapping;
import com.unity3d.ads.core.domain.HandleInvocationsFromAdViewer;
/* loaded from: classes2.dex */
public class AlarmManagerSchedulerBroadcastReceiver extends BroadcastReceiver {
public static /* synthetic */ void lambda$onReceive$0() {
}
@Override // android.content.BroadcastReceiver
public void onReceive(Context context, Intent intent) {
String queryParameter = intent.getData().getQueryParameter("backendName");
String queryParameter2 = intent.getData().getQueryParameter("extras");
int intValue = Integer.valueOf(intent.getData().getQueryParameter(HandleInvocationsFromAdViewer.KEY_DOWNLOAD_PRIORITY)).intValue();
int i = intent.getExtras().getInt("attemptNumber");
TransportRuntime.initialize(context);
TransportContext.Builder priority = TransportContext.builder().setBackendName(queryParameter).setPriority(PriorityMapping.valueOf(intValue));
if (queryParameter2 != null) {
priority.setExtras(Base64.decode(queryParameter2, 0));
}
TransportRuntime.getInstance().getUploader().upload(priority.build(), i, new Runnable() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver$$ExternalSyntheticLambda0
@Override // java.lang.Runnable
public final void run() {
AlarmManagerSchedulerBroadcastReceiver.lambda$onReceive$0();
}
});
}
}

View File

@@ -0,0 +1,50 @@
package com.google.android.datatransport.runtime.scheduling.jobscheduling;
import com.google.android.datatransport.runtime.time.Clock;
import java.util.Map;
/* loaded from: classes2.dex */
public final class AutoValue_SchedulerConfig extends SchedulerConfig {
public final Clock clock;
public final Map values;
@Override // com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig
public Clock getClock() {
return this.clock;
}
@Override // com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig
public Map getValues() {
return this.values;
}
public AutoValue_SchedulerConfig(Clock clock, Map map) {
if (clock == null) {
throw new NullPointerException("Null clock");
}
this.clock = clock;
if (map == null) {
throw new NullPointerException("Null values");
}
this.values = map;
}
public String toString() {
return "SchedulerConfig{clock=" + this.clock + ", values=" + this.values + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof SchedulerConfig)) {
return false;
}
SchedulerConfig schedulerConfig = (SchedulerConfig) obj;
return this.clock.equals(schedulerConfig.getClock()) && this.values.equals(schedulerConfig.getValues());
}
public int hashCode() {
return ((this.clock.hashCode() ^ 1000003) * 1000003) ^ this.values.hashCode();
}
}

View File

@@ -0,0 +1,99 @@
package com.google.android.datatransport.runtime.scheduling.jobscheduling;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig;
import java.util.Set;
/* loaded from: classes2.dex */
public final class AutoValue_SchedulerConfig_ConfigValue extends SchedulerConfig.ConfigValue {
public final long delta;
public final Set flags;
public final long maxAllowedDelay;
@Override // com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig.ConfigValue
public long getDelta() {
return this.delta;
}
@Override // com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig.ConfigValue
public Set getFlags() {
return this.flags;
}
@Override // com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig.ConfigValue
public long getMaxAllowedDelay() {
return this.maxAllowedDelay;
}
public AutoValue_SchedulerConfig_ConfigValue(long j, long j2, Set set) {
this.delta = j;
this.maxAllowedDelay = j2;
this.flags = set;
}
public String toString() {
return "ConfigValue{delta=" + this.delta + ", maxAllowedDelay=" + this.maxAllowedDelay + ", flags=" + this.flags + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof SchedulerConfig.ConfigValue)) {
return false;
}
SchedulerConfig.ConfigValue configValue = (SchedulerConfig.ConfigValue) obj;
return this.delta == configValue.getDelta() && this.maxAllowedDelay == configValue.getMaxAllowedDelay() && this.flags.equals(configValue.getFlags());
}
public int hashCode() {
long j = this.delta;
int i = (((int) (j ^ (j >>> 32))) ^ 1000003) * 1000003;
long j2 = this.maxAllowedDelay;
return ((i ^ ((int) ((j2 >>> 32) ^ j2))) * 1000003) ^ this.flags.hashCode();
}
public static final class Builder extends SchedulerConfig.ConfigValue.Builder {
public Long delta;
public Set flags;
public Long maxAllowedDelay;
@Override // com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig.ConfigValue.Builder
public SchedulerConfig.ConfigValue.Builder setDelta(long j) {
this.delta = Long.valueOf(j);
return this;
}
@Override // com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig.ConfigValue.Builder
public SchedulerConfig.ConfigValue.Builder setMaxAllowedDelay(long j) {
this.maxAllowedDelay = Long.valueOf(j);
return this;
}
@Override // com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig.ConfigValue.Builder
public SchedulerConfig.ConfigValue.Builder setFlags(Set set) {
if (set == null) {
throw new NullPointerException("Null flags");
}
this.flags = set;
return this;
}
@Override // com.google.android.datatransport.runtime.scheduling.jobscheduling.SchedulerConfig.ConfigValue.Builder
public SchedulerConfig.ConfigValue build() {
String str = "";
if (this.delta == null) {
str = " delta";
}
if (this.maxAllowedDelay == null) {
str = str + " maxAllowedDelay";
}
if (this.flags == null) {
str = str + " flags";
}
if (!str.isEmpty()) {
throw new IllegalStateException("Missing required properties:" + str);
}
return new AutoValue_SchedulerConfig_ConfigValue(this.delta.longValue(), this.maxAllowedDelay.longValue(), this.flags);
}
}
}

View File

@@ -0,0 +1,78 @@
package com.google.android.datatransport.runtime.scheduling.jobscheduling;
import android.app.job.JobInfo;
import android.app.job.JobScheduler;
import android.content.ComponentName;
import android.content.Context;
import android.os.PersistableBundle;
import android.util.Base64;
import com.google.android.datatransport.runtime.TransportContext;
import com.google.android.datatransport.runtime.logging.Logging;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStore;
import com.google.android.datatransport.runtime.util.PriorityMapping;
import com.unity3d.ads.core.domain.HandleInvocationsFromAdViewer;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.util.zip.Adler32;
/* loaded from: classes2.dex */
public class JobInfoScheduler implements WorkScheduler {
public final SchedulerConfig config;
public final Context context;
public final EventStore eventStore;
public JobInfoScheduler(Context context, EventStore eventStore, SchedulerConfig schedulerConfig) {
this.context = context;
this.eventStore = eventStore;
this.config = schedulerConfig;
}
public int getJobId(TransportContext transportContext) {
Adler32 adler32 = new Adler32();
adler32.update(this.context.getPackageName().getBytes(Charset.forName("UTF-8")));
adler32.update(transportContext.getBackendName().getBytes(Charset.forName("UTF-8")));
adler32.update(ByteBuffer.allocate(4).putInt(PriorityMapping.toInt(transportContext.getPriority())).array());
if (transportContext.getExtras() != null) {
adler32.update(transportContext.getExtras());
}
return (int) adler32.getValue();
}
public final boolean isJobServiceOn(JobScheduler jobScheduler, int i, int i2) {
for (JobInfo jobInfo : jobScheduler.getAllPendingJobs()) {
int i3 = jobInfo.getExtras().getInt("attemptNumber");
if (jobInfo.getId() == i) {
return i3 >= i2;
}
}
return false;
}
@Override // com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkScheduler
public void schedule(TransportContext transportContext, int i) {
schedule(transportContext, i, false);
}
@Override // com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkScheduler
public void schedule(TransportContext transportContext, int i, boolean z) {
ComponentName componentName = new ComponentName(this.context, (Class<?>) JobInfoSchedulerService.class);
JobScheduler jobScheduler = (JobScheduler) this.context.getSystemService("jobscheduler");
int jobId = getJobId(transportContext);
if (!z && isJobServiceOn(jobScheduler, jobId, i)) {
Logging.d("JobInfoScheduler", "Upload for context %s is already scheduled. Returning...", transportContext);
return;
}
long nextCallTime = this.eventStore.getNextCallTime(transportContext);
JobInfo.Builder configureJob = this.config.configureJob(new JobInfo.Builder(jobId, componentName), transportContext.getPriority(), nextCallTime, i);
PersistableBundle persistableBundle = new PersistableBundle();
persistableBundle.putInt("attemptNumber", i);
persistableBundle.putString("backendName", transportContext.getBackendName());
persistableBundle.putInt(HandleInvocationsFromAdViewer.KEY_DOWNLOAD_PRIORITY, PriorityMapping.toInt(transportContext.getPriority()));
if (transportContext.getExtras() != null) {
persistableBundle.putString("extras", Base64.encodeToString(transportContext.getExtras(), 0));
}
configureJob.setExtras(persistableBundle);
Logging.d("JobInfoScheduler", "Scheduling upload for context %s with jobId=%d in %dms(Backend next call timestamp %d). Attempt %d", transportContext, Integer.valueOf(jobId), Long.valueOf(this.config.getScheduleDelay(transportContext.getPriority(), nextCallTime, i)), Long.valueOf(nextCallTime), Integer.valueOf(i));
jobScheduler.schedule(configureJob.build());
}
}

View File

@@ -0,0 +1,43 @@
package com.google.android.datatransport.runtime.scheduling.jobscheduling;
import android.app.job.JobParameters;
import android.app.job.JobService;
import android.util.Base64;
import androidx.annotation.RequiresApi;
import com.google.android.datatransport.runtime.TransportContext;
import com.google.android.datatransport.runtime.TransportRuntime;
import com.google.android.datatransport.runtime.util.PriorityMapping;
import com.unity3d.ads.core.domain.HandleInvocationsFromAdViewer;
@RequiresApi(api = 21)
/* loaded from: classes2.dex */
public class JobInfoSchedulerService extends JobService {
@Override // android.app.job.JobService
public boolean onStopJob(JobParameters jobParameters) {
return true;
}
@Override // android.app.job.JobService
public boolean onStartJob(final JobParameters jobParameters) {
String string = jobParameters.getExtras().getString("backendName");
String string2 = jobParameters.getExtras().getString("extras");
int i = jobParameters.getExtras().getInt(HandleInvocationsFromAdViewer.KEY_DOWNLOAD_PRIORITY);
int i2 = jobParameters.getExtras().getInt("attemptNumber");
TransportRuntime.initialize(getApplicationContext());
TransportContext.Builder priority = TransportContext.builder().setBackendName(string).setPriority(PriorityMapping.valueOf(i));
if (string2 != null) {
priority.setExtras(Base64.decode(string2, 0));
}
TransportRuntime.getInstance().getUploader().upload(priority.build(), i2, new Runnable() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService$$ExternalSyntheticLambda0
@Override // java.lang.Runnable
public final void run() {
JobInfoSchedulerService.this.lambda$onStartJob$0(jobParameters);
}
});
return true;
}
public final /* synthetic */ void lambda$onStartJob$0(JobParameters jobParameters) {
jobFinished(jobParameters, false);
}
}

View File

@@ -0,0 +1,124 @@
package com.google.android.datatransport.runtime.scheduling.jobscheduling;
import android.app.job.JobInfo;
import androidx.work.WorkRequest;
import com.google.android.datatransport.Priority;
import com.google.android.datatransport.runtime.scheduling.jobscheduling.AutoValue_SchedulerConfig_ConfigValue;
import com.google.android.datatransport.runtime.time.Clock;
import com.vungle.ads.internal.signals.SignalManager;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
/* loaded from: classes2.dex */
public abstract class SchedulerConfig {
public enum Flag {
NETWORK_UNMETERED,
DEVICE_IDLE,
DEVICE_CHARGING
}
public abstract Clock getClock();
public abstract Map getValues();
public static abstract class ConfigValue {
public static abstract class Builder {
public abstract ConfigValue build();
public abstract Builder setDelta(long j);
public abstract Builder setFlags(Set set);
public abstract Builder setMaxAllowedDelay(long j);
}
public abstract long getDelta();
public abstract Set getFlags();
public abstract long getMaxAllowedDelay();
public static Builder builder() {
return new AutoValue_SchedulerConfig_ConfigValue.Builder().setFlags(Collections.emptySet());
}
}
public static SchedulerConfig getDefault(Clock clock) {
return builder().addConfig(Priority.DEFAULT, ConfigValue.builder().setDelta(WorkRequest.DEFAULT_BACKOFF_DELAY_MILLIS).setMaxAllowedDelay(SignalManager.TWENTY_FOUR_HOURS_MILLIS).build()).addConfig(Priority.HIGHEST, ConfigValue.builder().setDelta(1000L).setMaxAllowedDelay(SignalManager.TWENTY_FOUR_HOURS_MILLIS).build()).addConfig(Priority.VERY_LOW, ConfigValue.builder().setDelta(SignalManager.TWENTY_FOUR_HOURS_MILLIS).setMaxAllowedDelay(SignalManager.TWENTY_FOUR_HOURS_MILLIS).setFlags(immutableSetOf(Flag.DEVICE_IDLE)).build()).setClock(clock).build();
}
public static Builder builder() {
return new Builder();
}
public static SchedulerConfig create(Clock clock, Map map) {
return new AutoValue_SchedulerConfig(clock, map);
}
public static class Builder {
public Clock clock;
public Map values = new HashMap();
public Builder setClock(Clock clock) {
this.clock = clock;
return this;
}
public Builder addConfig(Priority priority, ConfigValue configValue) {
this.values.put(priority, configValue);
return this;
}
public SchedulerConfig build() {
if (this.clock == null) {
throw new NullPointerException("missing required property: clock");
}
if (this.values.keySet().size() < Priority.values().length) {
throw new IllegalStateException("Not all priorities have been configured");
}
Map map = this.values;
this.values = new HashMap();
return SchedulerConfig.create(this.clock, map);
}
}
public long getScheduleDelay(Priority priority, long j, int i) {
long time = j - getClock().getTime();
ConfigValue configValue = (ConfigValue) getValues().get(priority);
return Math.min(Math.max(adjustedExponentialBackoff(i, configValue.getDelta()), time), configValue.getMaxAllowedDelay());
}
public final long adjustedExponentialBackoff(int i, long j) {
return (long) (Math.pow(3.0d, i - 1) * j * Math.max(1.0d, Math.log(10000.0d) / Math.log((j > 1 ? j : 2L) * r7)));
}
public JobInfo.Builder configureJob(JobInfo.Builder builder, Priority priority, long j, int i) {
builder.setMinimumLatency(getScheduleDelay(priority, j, i));
populateFlags(builder, ((ConfigValue) getValues().get(priority)).getFlags());
return builder;
}
public final void populateFlags(JobInfo.Builder builder, Set set) {
if (set.contains(Flag.NETWORK_UNMETERED)) {
builder.setRequiredNetworkType(2);
} else {
builder.setRequiredNetworkType(1);
}
if (set.contains(Flag.DEVICE_CHARGING)) {
builder.setRequiresCharging(true);
}
if (set.contains(Flag.DEVICE_IDLE)) {
builder.setRequiresDeviceIdle(true);
}
}
public static Set immutableSetOf(Object... objArr) {
return Collections.unmodifiableSet(new HashSet(Arrays.asList(objArr)));
}
}

View File

@@ -0,0 +1,261 @@
package com.google.android.datatransport.runtime.scheduling.jobscheduling;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import com.google.android.datatransport.Encoding;
import com.google.android.datatransport.runtime.EncodedPayload;
import com.google.android.datatransport.runtime.EventInternal;
import com.google.android.datatransport.runtime.TransportContext;
import com.google.android.datatransport.runtime.backends.BackendRegistry;
import com.google.android.datatransport.runtime.backends.BackendRequest;
import com.google.android.datatransport.runtime.backends.BackendResponse;
import com.google.android.datatransport.runtime.backends.TransportBackend;
import com.google.android.datatransport.runtime.firebase.transport.ClientMetrics;
import com.google.android.datatransport.runtime.firebase.transport.LogEventDropped;
import com.google.android.datatransport.runtime.logging.Logging;
import com.google.android.datatransport.runtime.scheduling.persistence.ClientHealthMetricsStore;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStore;
import com.google.android.datatransport.runtime.scheduling.persistence.PersistedEvent;
import com.google.android.datatransport.runtime.synchronization.SynchronizationException;
import com.google.android.datatransport.runtime.synchronization.SynchronizationGuard;
import com.google.android.datatransport.runtime.time.Clock;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.Executor;
/* loaded from: classes2.dex */
public class Uploader {
public final BackendRegistry backendRegistry;
public final ClientHealthMetricsStore clientHealthMetricsStore;
public final Clock clock;
public final Context context;
public final EventStore eventStore;
public final Executor executor;
public final SynchronizationGuard guard;
public final Clock uptimeClock;
public final WorkScheduler workScheduler;
public Uploader(Context context, BackendRegistry backendRegistry, EventStore eventStore, WorkScheduler workScheduler, Executor executor, SynchronizationGuard synchronizationGuard, Clock clock, Clock clock2, ClientHealthMetricsStore clientHealthMetricsStore) {
this.context = context;
this.backendRegistry = backendRegistry;
this.eventStore = eventStore;
this.workScheduler = workScheduler;
this.executor = executor;
this.guard = synchronizationGuard;
this.clock = clock;
this.uptimeClock = clock2;
this.clientHealthMetricsStore = clientHealthMetricsStore;
}
public boolean isNetworkAvailable() {
NetworkInfo activeNetworkInfo = ((ConnectivityManager) this.context.getSystemService("connectivity")).getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
public void upload(final TransportContext transportContext, final int i, final Runnable runnable) {
this.executor.execute(new Runnable() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$ExternalSyntheticLambda0
@Override // java.lang.Runnable
public final void run() {
Uploader.this.lambda$upload$1(transportContext, i, runnable);
}
});
}
public final /* synthetic */ void lambda$upload$1(final TransportContext transportContext, final int i, Runnable runnable) {
try {
try {
SynchronizationGuard synchronizationGuard = this.guard;
final EventStore eventStore = this.eventStore;
Objects.requireNonNull(eventStore);
synchronizationGuard.runCriticalSection(new SynchronizationGuard.CriticalSection() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$ExternalSyntheticLambda1
@Override // com.google.android.datatransport.runtime.synchronization.SynchronizationGuard.CriticalSection
public final Object execute() {
return Integer.valueOf(EventStore.this.cleanUp());
}
});
if (!isNetworkAvailable()) {
this.guard.runCriticalSection(new SynchronizationGuard.CriticalSection() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$ExternalSyntheticLambda2
@Override // com.google.android.datatransport.runtime.synchronization.SynchronizationGuard.CriticalSection
public final Object execute() {
Object lambda$upload$0;
lambda$upload$0 = Uploader.this.lambda$upload$0(transportContext, i);
return lambda$upload$0;
}
});
} else {
logAndUpdateState(transportContext, i);
}
} catch (SynchronizationException unused) {
this.workScheduler.schedule(transportContext, i + 1);
}
runnable.run();
} catch (Throwable th) {
runnable.run();
throw th;
}
}
public final /* synthetic */ Object lambda$upload$0(TransportContext transportContext, int i) {
this.workScheduler.schedule(transportContext, i + 1);
return null;
}
public BackendResponse logAndUpdateState(final TransportContext transportContext, int i) {
BackendResponse send;
TransportBackend transportBackend = this.backendRegistry.get(transportContext.getBackendName());
long j = 0;
BackendResponse ok = BackendResponse.ok(0L);
while (true) {
final long j2 = j;
while (((Boolean) this.guard.runCriticalSection(new SynchronizationGuard.CriticalSection() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$ExternalSyntheticLambda3
@Override // com.google.android.datatransport.runtime.synchronization.SynchronizationGuard.CriticalSection
public final Object execute() {
Boolean lambda$logAndUpdateState$2;
lambda$logAndUpdateState$2 = Uploader.this.lambda$logAndUpdateState$2(transportContext);
return lambda$logAndUpdateState$2;
}
})).booleanValue()) {
final Iterable iterable = (Iterable) this.guard.runCriticalSection(new SynchronizationGuard.CriticalSection() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$ExternalSyntheticLambda4
@Override // com.google.android.datatransport.runtime.synchronization.SynchronizationGuard.CriticalSection
public final Object execute() {
Iterable lambda$logAndUpdateState$3;
lambda$logAndUpdateState$3 = Uploader.this.lambda$logAndUpdateState$3(transportContext);
return lambda$logAndUpdateState$3;
}
});
if (!iterable.iterator().hasNext()) {
return ok;
}
if (transportBackend == null) {
Logging.d("Uploader", "Unknown backend for %s, deleting event batch for it...", transportContext);
send = BackendResponse.fatalError();
} else {
ArrayList arrayList = new ArrayList();
Iterator it = iterable.iterator();
while (it.hasNext()) {
arrayList.add(((PersistedEvent) it.next()).getEvent());
}
if (transportContext.shouldUploadClientHealthMetrics()) {
arrayList.add(createMetricsEvent(transportBackend));
}
send = transportBackend.send(BackendRequest.builder().setEvents(arrayList).setExtras(transportContext.getExtras()).build());
}
ok = send;
if (ok.getStatus() == BackendResponse.Status.TRANSIENT_ERROR) {
this.guard.runCriticalSection(new SynchronizationGuard.CriticalSection() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$ExternalSyntheticLambda5
@Override // com.google.android.datatransport.runtime.synchronization.SynchronizationGuard.CriticalSection
public final Object execute() {
Object lambda$logAndUpdateState$4;
lambda$logAndUpdateState$4 = Uploader.this.lambda$logAndUpdateState$4(iterable, transportContext, j2);
return lambda$logAndUpdateState$4;
}
});
this.workScheduler.schedule(transportContext, i + 1, true);
return ok;
}
this.guard.runCriticalSection(new SynchronizationGuard.CriticalSection() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$ExternalSyntheticLambda6
@Override // com.google.android.datatransport.runtime.synchronization.SynchronizationGuard.CriticalSection
public final Object execute() {
Object lambda$logAndUpdateState$5;
lambda$logAndUpdateState$5 = Uploader.this.lambda$logAndUpdateState$5(iterable);
return lambda$logAndUpdateState$5;
}
});
if (ok.getStatus() == BackendResponse.Status.OK) {
j = Math.max(j2, ok.getNextRequestWaitMillis());
if (transportContext.shouldUploadClientHealthMetrics()) {
this.guard.runCriticalSection(new SynchronizationGuard.CriticalSection() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$ExternalSyntheticLambda7
@Override // com.google.android.datatransport.runtime.synchronization.SynchronizationGuard.CriticalSection
public final Object execute() {
Object lambda$logAndUpdateState$6;
lambda$logAndUpdateState$6 = Uploader.this.lambda$logAndUpdateState$6();
return lambda$logAndUpdateState$6;
}
});
}
} else if (ok.getStatus() == BackendResponse.Status.INVALID_PAYLOAD) {
final HashMap hashMap = new HashMap();
Iterator it2 = iterable.iterator();
while (it2.hasNext()) {
String transportName = ((PersistedEvent) it2.next()).getEvent().getTransportName();
if (!hashMap.containsKey(transportName)) {
hashMap.put(transportName, 1);
} else {
hashMap.put(transportName, Integer.valueOf(((Integer) hashMap.get(transportName)).intValue() + 1));
}
}
this.guard.runCriticalSection(new SynchronizationGuard.CriticalSection() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$ExternalSyntheticLambda8
@Override // com.google.android.datatransport.runtime.synchronization.SynchronizationGuard.CriticalSection
public final Object execute() {
Object lambda$logAndUpdateState$7;
lambda$logAndUpdateState$7 = Uploader.this.lambda$logAndUpdateState$7(hashMap);
return lambda$logAndUpdateState$7;
}
});
}
}
this.guard.runCriticalSection(new SynchronizationGuard.CriticalSection() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$ExternalSyntheticLambda9
@Override // com.google.android.datatransport.runtime.synchronization.SynchronizationGuard.CriticalSection
public final Object execute() {
Object lambda$logAndUpdateState$8;
lambda$logAndUpdateState$8 = Uploader.this.lambda$logAndUpdateState$8(transportContext, j2);
return lambda$logAndUpdateState$8;
}
});
return ok;
}
}
public final /* synthetic */ Boolean lambda$logAndUpdateState$2(TransportContext transportContext) {
return Boolean.valueOf(this.eventStore.hasPendingEventsFor(transportContext));
}
public final /* synthetic */ Iterable lambda$logAndUpdateState$3(TransportContext transportContext) {
return this.eventStore.loadBatch(transportContext);
}
public final /* synthetic */ Object lambda$logAndUpdateState$4(Iterable iterable, TransportContext transportContext, long j) {
this.eventStore.recordFailure(iterable);
this.eventStore.recordNextCallTime(transportContext, this.clock.getTime() + j);
return null;
}
public final /* synthetic */ Object lambda$logAndUpdateState$5(Iterable iterable) {
this.eventStore.recordSuccess(iterable);
return null;
}
public final /* synthetic */ Object lambda$logAndUpdateState$6() {
this.clientHealthMetricsStore.resetClientMetrics();
return null;
}
public final /* synthetic */ Object lambda$logAndUpdateState$7(Map map) {
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
this.clientHealthMetricsStore.recordLogEventDropped(((Integer) r0.getValue()).intValue(), LogEventDropped.Reason.INVALID_PAYLOD, (String) ((Map.Entry) it.next()).getKey());
}
return null;
}
public final /* synthetic */ Object lambda$logAndUpdateState$8(TransportContext transportContext, long j) {
this.eventStore.recordNextCallTime(transportContext, this.clock.getTime() + j);
return null;
}
public EventInternal createMetricsEvent(TransportBackend transportBackend) {
SynchronizationGuard synchronizationGuard = this.guard;
final ClientHealthMetricsStore clientHealthMetricsStore = this.clientHealthMetricsStore;
Objects.requireNonNull(clientHealthMetricsStore);
return transportBackend.decorate(EventInternal.builder().setEventMillis(this.clock.getTime()).setUptimeMillis(this.uptimeClock.getTime()).setTransportName("GDT_CLIENT_METRICS").setEncodedPayload(new EncodedPayload(Encoding.of("proto"), ((ClientMetrics) synchronizationGuard.runCriticalSection(new SynchronizationGuard.CriticalSection() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$ExternalSyntheticLambda10
@Override // com.google.android.datatransport.runtime.synchronization.SynchronizationGuard.CriticalSection
public final Object execute() {
return ClientHealthMetricsStore.this.loadClientMetrics();
}
})).toByteArray())).build());
}
}

View File

@@ -0,0 +1,49 @@
package com.google.android.datatransport.runtime.scheduling.jobscheduling;
import android.content.Context;
import com.google.android.datatransport.runtime.backends.BackendRegistry;
import com.google.android.datatransport.runtime.dagger.internal.Factory;
import com.google.android.datatransport.runtime.scheduling.persistence.ClientHealthMetricsStore;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStore;
import com.google.android.datatransport.runtime.synchronization.SynchronizationGuard;
import com.google.android.datatransport.runtime.time.Clock;
import java.util.concurrent.Executor;
import javax.inject.Provider;
/* loaded from: classes2.dex */
public final class Uploader_Factory implements Factory {
public final Provider backendRegistryProvider;
public final Provider clientHealthMetricsStoreProvider;
public final Provider clockProvider;
public final Provider contextProvider;
public final Provider eventStoreProvider;
public final Provider executorProvider;
public final Provider guardProvider;
public final Provider uptimeClockProvider;
public final Provider workSchedulerProvider;
public Uploader_Factory(Provider provider, Provider provider2, Provider provider3, Provider provider4, Provider provider5, Provider provider6, Provider provider7, Provider provider8, Provider provider9) {
this.contextProvider = provider;
this.backendRegistryProvider = provider2;
this.eventStoreProvider = provider3;
this.workSchedulerProvider = provider4;
this.executorProvider = provider5;
this.guardProvider = provider6;
this.clockProvider = provider7;
this.uptimeClockProvider = provider8;
this.clientHealthMetricsStoreProvider = provider9;
}
@Override // javax.inject.Provider
public Uploader get() {
return newInstance((Context) this.contextProvider.get(), (BackendRegistry) this.backendRegistryProvider.get(), (EventStore) this.eventStoreProvider.get(), (WorkScheduler) this.workSchedulerProvider.get(), (Executor) this.executorProvider.get(), (SynchronizationGuard) this.guardProvider.get(), (Clock) this.clockProvider.get(), (Clock) this.uptimeClockProvider.get(), (ClientHealthMetricsStore) this.clientHealthMetricsStoreProvider.get());
}
public static Uploader_Factory create(Provider provider, Provider provider2, Provider provider3, Provider provider4, Provider provider5, Provider provider6, Provider provider7, Provider provider8, Provider provider9) {
return new Uploader_Factory(provider, provider2, provider3, provider4, provider5, provider6, provider7, provider8, provider9);
}
public static Uploader newInstance(Context context, BackendRegistry backendRegistry, EventStore eventStore, WorkScheduler workScheduler, Executor executor, SynchronizationGuard synchronizationGuard, Clock clock, Clock clock2, ClientHealthMetricsStore clientHealthMetricsStore) {
return new Uploader(context, backendRegistry, eventStore, workScheduler, executor, synchronizationGuard, clock, clock2, clientHealthMetricsStore);
}
}

View File

@@ -0,0 +1,50 @@
package com.google.android.datatransport.runtime.scheduling.jobscheduling;
import com.google.android.datatransport.runtime.TransportContext;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStore;
import com.google.android.datatransport.runtime.synchronization.SynchronizationGuard;
import java.util.Iterator;
import java.util.concurrent.Executor;
/* loaded from: classes2.dex */
public class WorkInitializer {
public final Executor executor;
public final SynchronizationGuard guard;
public final WorkScheduler scheduler;
public final EventStore store;
public WorkInitializer(Executor executor, EventStore eventStore, WorkScheduler workScheduler, SynchronizationGuard synchronizationGuard) {
this.executor = executor;
this.store = eventStore;
this.scheduler = workScheduler;
this.guard = synchronizationGuard;
}
public void ensureContextsScheduled() {
this.executor.execute(new Runnable() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkInitializer$$ExternalSyntheticLambda0
@Override // java.lang.Runnable
public final void run() {
WorkInitializer.this.lambda$ensureContextsScheduled$1();
}
});
}
public final /* synthetic */ void lambda$ensureContextsScheduled$1() {
this.guard.runCriticalSection(new SynchronizationGuard.CriticalSection() { // from class: com.google.android.datatransport.runtime.scheduling.jobscheduling.WorkInitializer$$ExternalSyntheticLambda1
@Override // com.google.android.datatransport.runtime.synchronization.SynchronizationGuard.CriticalSection
public final Object execute() {
Object lambda$ensureContextsScheduled$0;
lambda$ensureContextsScheduled$0 = WorkInitializer.this.lambda$ensureContextsScheduled$0();
return lambda$ensureContextsScheduled$0;
}
});
}
public final /* synthetic */ Object lambda$ensureContextsScheduled$0() {
Iterator it = this.store.loadActiveContexts().iterator();
while (it.hasNext()) {
this.scheduler.schedule((TransportContext) it.next(), 1);
}
return null;
}
}

View File

@@ -0,0 +1,35 @@
package com.google.android.datatransport.runtime.scheduling.jobscheduling;
import com.google.android.datatransport.runtime.dagger.internal.Factory;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStore;
import com.google.android.datatransport.runtime.synchronization.SynchronizationGuard;
import java.util.concurrent.Executor;
import javax.inject.Provider;
/* loaded from: classes2.dex */
public final class WorkInitializer_Factory implements Factory {
public final Provider executorProvider;
public final Provider guardProvider;
public final Provider schedulerProvider;
public final Provider storeProvider;
public WorkInitializer_Factory(Provider provider, Provider provider2, Provider provider3, Provider provider4) {
this.executorProvider = provider;
this.storeProvider = provider2;
this.schedulerProvider = provider3;
this.guardProvider = provider4;
}
@Override // javax.inject.Provider
public WorkInitializer get() {
return newInstance((Executor) this.executorProvider.get(), (EventStore) this.storeProvider.get(), (WorkScheduler) this.schedulerProvider.get(), (SynchronizationGuard) this.guardProvider.get());
}
public static WorkInitializer_Factory create(Provider provider, Provider provider2, Provider provider3, Provider provider4) {
return new WorkInitializer_Factory(provider, provider2, provider3, provider4);
}
public static WorkInitializer newInstance(Executor executor, EventStore eventStore, WorkScheduler workScheduler, SynchronizationGuard synchronizationGuard) {
return new WorkInitializer(executor, eventStore, workScheduler, synchronizationGuard);
}
}

View File

@@ -0,0 +1,10 @@
package com.google.android.datatransport.runtime.scheduling.jobscheduling;
import com.google.android.datatransport.runtime.TransportContext;
/* loaded from: classes2.dex */
public interface WorkScheduler {
void schedule(TransportContext transportContext, int i);
void schedule(TransportContext transportContext, int i, boolean z);
}

View File

@@ -0,0 +1,129 @@
package com.google.android.datatransport.runtime.scheduling.persistence;
import com.google.android.datatransport.runtime.scheduling.persistence.EventStoreConfig;
/* loaded from: classes2.dex */
public final class AutoValue_EventStoreConfig extends EventStoreConfig {
public final int criticalSectionEnterTimeoutMs;
public final long eventCleanUpAge;
public final int loadBatchSize;
public final int maxBlobByteSizePerRow;
public final long maxStorageSizeInBytes;
@Override // com.google.android.datatransport.runtime.scheduling.persistence.EventStoreConfig
public int getCriticalSectionEnterTimeoutMs() {
return this.criticalSectionEnterTimeoutMs;
}
@Override // com.google.android.datatransport.runtime.scheduling.persistence.EventStoreConfig
public long getEventCleanUpAge() {
return this.eventCleanUpAge;
}
@Override // com.google.android.datatransport.runtime.scheduling.persistence.EventStoreConfig
public int getLoadBatchSize() {
return this.loadBatchSize;
}
@Override // com.google.android.datatransport.runtime.scheduling.persistence.EventStoreConfig
public int getMaxBlobByteSizePerRow() {
return this.maxBlobByteSizePerRow;
}
@Override // com.google.android.datatransport.runtime.scheduling.persistence.EventStoreConfig
public long getMaxStorageSizeInBytes() {
return this.maxStorageSizeInBytes;
}
public int hashCode() {
long j = this.maxStorageSizeInBytes;
int i = (((((((int) (j ^ (j >>> 32))) ^ 1000003) * 1000003) ^ this.loadBatchSize) * 1000003) ^ this.criticalSectionEnterTimeoutMs) * 1000003;
long j2 = this.eventCleanUpAge;
return ((i ^ ((int) ((j2 >>> 32) ^ j2))) * 1000003) ^ this.maxBlobByteSizePerRow;
}
public AutoValue_EventStoreConfig(long j, int i, int i2, long j2, int i3) {
this.maxStorageSizeInBytes = j;
this.loadBatchSize = i;
this.criticalSectionEnterTimeoutMs = i2;
this.eventCleanUpAge = j2;
this.maxBlobByteSizePerRow = i3;
}
public String toString() {
return "EventStoreConfig{maxStorageSizeInBytes=" + this.maxStorageSizeInBytes + ", loadBatchSize=" + this.loadBatchSize + ", criticalSectionEnterTimeoutMs=" + this.criticalSectionEnterTimeoutMs + ", eventCleanUpAge=" + this.eventCleanUpAge + ", maxBlobByteSizePerRow=" + this.maxBlobByteSizePerRow + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof EventStoreConfig)) {
return false;
}
EventStoreConfig eventStoreConfig = (EventStoreConfig) obj;
return this.maxStorageSizeInBytes == eventStoreConfig.getMaxStorageSizeInBytes() && this.loadBatchSize == eventStoreConfig.getLoadBatchSize() && this.criticalSectionEnterTimeoutMs == eventStoreConfig.getCriticalSectionEnterTimeoutMs() && this.eventCleanUpAge == eventStoreConfig.getEventCleanUpAge() && this.maxBlobByteSizePerRow == eventStoreConfig.getMaxBlobByteSizePerRow();
}
public static final class Builder extends EventStoreConfig.Builder {
public Integer criticalSectionEnterTimeoutMs;
public Long eventCleanUpAge;
public Integer loadBatchSize;
public Integer maxBlobByteSizePerRow;
public Long maxStorageSizeInBytes;
@Override // com.google.android.datatransport.runtime.scheduling.persistence.EventStoreConfig.Builder
public EventStoreConfig.Builder setMaxStorageSizeInBytes(long j) {
this.maxStorageSizeInBytes = Long.valueOf(j);
return this;
}
@Override // com.google.android.datatransport.runtime.scheduling.persistence.EventStoreConfig.Builder
public EventStoreConfig.Builder setLoadBatchSize(int i) {
this.loadBatchSize = Integer.valueOf(i);
return this;
}
@Override // com.google.android.datatransport.runtime.scheduling.persistence.EventStoreConfig.Builder
public EventStoreConfig.Builder setCriticalSectionEnterTimeoutMs(int i) {
this.criticalSectionEnterTimeoutMs = Integer.valueOf(i);
return this;
}
@Override // com.google.android.datatransport.runtime.scheduling.persistence.EventStoreConfig.Builder
public EventStoreConfig.Builder setEventCleanUpAge(long j) {
this.eventCleanUpAge = Long.valueOf(j);
return this;
}
@Override // com.google.android.datatransport.runtime.scheduling.persistence.EventStoreConfig.Builder
public EventStoreConfig.Builder setMaxBlobByteSizePerRow(int i) {
this.maxBlobByteSizePerRow = Integer.valueOf(i);
return this;
}
@Override // com.google.android.datatransport.runtime.scheduling.persistence.EventStoreConfig.Builder
public EventStoreConfig build() {
String str = "";
if (this.maxStorageSizeInBytes == null) {
str = " maxStorageSizeInBytes";
}
if (this.loadBatchSize == null) {
str = str + " loadBatchSize";
}
if (this.criticalSectionEnterTimeoutMs == null) {
str = str + " criticalSectionEnterTimeoutMs";
}
if (this.eventCleanUpAge == null) {
str = str + " eventCleanUpAge";
}
if (this.maxBlobByteSizePerRow == null) {
str = str + " maxBlobByteSizePerRow";
}
if (!str.isEmpty()) {
throw new IllegalStateException("Missing required properties:" + str);
}
return new AutoValue_EventStoreConfig(this.maxStorageSizeInBytes.longValue(), this.loadBatchSize.intValue(), this.criticalSectionEnterTimeoutMs.intValue(), this.eventCleanUpAge.longValue(), this.maxBlobByteSizePerRow.intValue());
}
}
}

View File

@@ -0,0 +1,58 @@
package com.google.android.datatransport.runtime.scheduling.persistence;
import com.google.android.datatransport.runtime.EventInternal;
import com.google.android.datatransport.runtime.TransportContext;
/* loaded from: classes2.dex */
public final class AutoValue_PersistedEvent extends PersistedEvent {
public final EventInternal event;
public final long id;
public final TransportContext transportContext;
@Override // com.google.android.datatransport.runtime.scheduling.persistence.PersistedEvent
public EventInternal getEvent() {
return this.event;
}
@Override // com.google.android.datatransport.runtime.scheduling.persistence.PersistedEvent
public long getId() {
return this.id;
}
@Override // com.google.android.datatransport.runtime.scheduling.persistence.PersistedEvent
public TransportContext getTransportContext() {
return this.transportContext;
}
public AutoValue_PersistedEvent(long j, TransportContext transportContext, EventInternal eventInternal) {
this.id = j;
if (transportContext == null) {
throw new NullPointerException("Null transportContext");
}
this.transportContext = transportContext;
if (eventInternal == null) {
throw new NullPointerException("Null event");
}
this.event = eventInternal;
}
public String toString() {
return "PersistedEvent{id=" + this.id + ", transportContext=" + this.transportContext + ", event=" + this.event + "}";
}
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof PersistedEvent)) {
return false;
}
PersistedEvent persistedEvent = (PersistedEvent) obj;
return this.id == persistedEvent.getId() && this.transportContext.equals(persistedEvent.getTransportContext()) && this.event.equals(persistedEvent.getEvent());
}
public int hashCode() {
long j = this.id;
return ((((((int) (j ^ (j >>> 32))) ^ 1000003) * 1000003) ^ this.transportContext.hashCode()) * 1000003) ^ this.event.hashCode();
}
}

Some files were not shown because too many files have changed in this diff Show More