granularity level: instruction
.class public Lcom/google/android/datatransport/runtime/TransportRuntime;
.super Ljava/lang/Object;
.source "TransportRuntime.java"
.implements Lcom/google/android/datatransport/runtime/TransportInternal;
.annotation runtime Ljavax/inject/Singleton;
.end annotation
.field private static volatile instance:Lcom/google/android/datatransport/runtime/TransportRuntimeComponent;
.field private final eventClock:Lcom/google/android/datatransport/runtime/time/Clock;
.field private final scheduler:Lcom/google/android/datatransport/runtime/scheduling/Scheduler;
.field private final uploader:Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/Uploader;
.field private final uptimeClock:Lcom/google/android/datatransport/runtime/time/Clock;
.method static constructor <clinit>()V
.locals 0
return-void
.end method
.method constructor <init>(Lcom/google/android/datatransport/runtime/time/Clock;Lcom/google/android/datatransport/runtime/time/Clock;Lcom/google/android/datatransport/runtime/scheduling/Scheduler;Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/Uploader;Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer;)V
.locals 0
.annotation runtime Ljavax/inject/Inject;
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/android/datatransport/runtime/TransportRuntime;->eventClock:Lcom/google/android/datatransport/runtime/time/Clock;
iput-object p2, p0, Lcom/google/android/datatransport/runtime/TransportRuntime;->uptimeClock:Lcom/google/android/datatransport/runtime/time/Clock;
iput-object p3, p0, Lcom/google/android/datatransport/runtime/TransportRuntime;->scheduler:Lcom/google/android/datatransport/runtime/scheduling/Scheduler;
iput-object p4, p0, Lcom/google/android/datatransport/runtime/TransportRuntime;->uploader:Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/Uploader;
invoke-virtual {p5}, Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/WorkInitializer;->ensureContextsScheduled()V
return-void
.end method
.method private convert(Lcom/google/android/datatransport/runtime/SendRequest;)Lcom/google/android/datatransport/runtime/EventInternal;
.locals 4
const/4 v0, 0x0
return-object v0
.end method
.method public static getInstance()Lcom/google/android/datatransport/runtime/TransportRuntime;
.locals 2
sget-object v0, Lcom/google/android/datatransport/runtime/TransportRuntime;->instance:Lcom/google/android/datatransport/runtime/TransportRuntimeComponent;
invoke-virtual {v0}, Lcom/google/android/datatransport/runtime/TransportRuntimeComponent;->getTransportRuntime()Lcom/google/android/datatransport/runtime/TransportRuntime;
move-result-object v0
return-object v0
.end method
.method private static getSupportedEncodings(Lcom/google/android/datatransport/runtime/Destination;)Ljava/util/Set;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/datatransport/runtime/Destination;",
")",
"Ljava/util/Set<",
"Lcom/google/android/datatransport/Encoding;",
">;"
}
.end annotation
instance-of v0, p0, Lcom/google/android/datatransport/runtime/EncodedDestination;
check-cast p0, Lcom/google/android/datatransport/runtime/EncodedDestination;
invoke-interface {p0}, Lcom/google/android/datatransport/runtime/EncodedDestination;->getSupportedEncodings()Ljava/util/Set;
move-result-object p0
invoke-static {p0}, Ljava/util/Collections;->unmodifiableSet(Ljava/util/Set;)Ljava/util/Set;
move-result-object p0
return-object p0
.end method
.method public static initialize(Landroid/content/Context;)V
.locals 2
sget-object v0, Lcom/google/android/datatransport/runtime/TransportRuntime;->instance:Lcom/google/android/datatransport/runtime/TransportRuntimeComponent;
if-nez v0, :cond_1
const-class v0, Lcom/google/android/datatransport/runtime/TransportRuntime;
monitor-enter v0
sget-object v1, Lcom/google/android/datatransport/runtime/TransportRuntime;->instance:Lcom/google/android/datatransport/runtime/TransportRuntimeComponent;
if-nez v1, :cond_0
invoke-static {}, Lcom/google/android/datatransport/runtime/DaggerTransportRuntimeComponent;->builder()Lcom/google/android/datatransport/runtime/TransportRuntimeComponent$Builder;
move-result-object v1
invoke-interface {v1, p0}, Lcom/google/android/datatransport/runtime/TransportRuntimeComponent$Builder;->setApplicationContext(Landroid/content/Context;)Lcom/google/android/datatransport/runtime/TransportRuntimeComponent$Builder;
move-result-object p0
invoke-interface {p0}, Lcom/google/android/datatransport/runtime/TransportRuntimeComponent$Builder;->build()Lcom/google/android/datatransport/runtime/TransportRuntimeComponent;
move-result-object p0
sput-object p0, Lcom/google/android/datatransport/runtime/TransportRuntime;->instance:Lcom/google/android/datatransport/runtime/TransportRuntimeComponent;
:cond_0
monitor-exit v0
goto :goto_0
:catchall_0
move-exception p0
monitor-exit v0
:throw0
throw p0
:goto_0
:cond_1
return-void
.end method
.method static withInstance(Lcom/google/android/datatransport/runtime/TransportRuntimeComponent;Ljava/util/concurrent/Callable;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/datatransport/runtime/TransportRuntimeComponent;",
"Ljava/util/concurrent/Callable<",
"Ljava/lang/Void;",
">;)V"
}
.end annotation
return-void
.end method
.method public getUploader()Lcom/google/android/datatransport/runtime/scheduling/jobscheduling/Uploader;
.locals 1
const/4 v0, 0x0
return-object v0
.end method
.method public newFactory(Lcom/google/android/datatransport/runtime/Destination;)Lcom/google/android/datatransport/TransportFactory;
.locals 4
new-instance v0, Lcom/google/android/datatransport/runtime/TransportFactoryImpl;
invoke-static {p1}, Lcom/google/android/datatransport/runtime/TransportRuntime;->getSupportedEncodings(Lcom/google/android/datatransport/runtime/Destination;)Ljava/util/Set;
move-result-object v1
invoke-static {}, Lcom/google/android/datatransport/runtime/TransportContext;->builder()Lcom/google/android/datatransport/runtime/TransportContext$Builder;
move-result-object v2
invoke-interface {p1}, Lcom/google/android/datatransport/runtime/Destination;->getName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Lcom/google/android/datatransport/runtime/TransportContext$Builder;->setBackendName(Ljava/lang/String;)Lcom/google/android/datatransport/runtime/TransportContext$Builder;
move-result-object v2
invoke-interface {p1}, Lcom/google/android/datatransport/runtime/Destination;->getExtras()[B
move-result-object p1
invoke-virtual {v2, p1}, Lcom/google/android/datatransport/runtime/TransportContext$Builder;->setExtras([B)Lcom/google/android/datatransport/runtime/TransportContext$Builder;
move-result-object p1
invoke-virtual {p1}, Lcom/google/android/datatransport/runtime/TransportContext$Builder;->build()Lcom/google/android/datatransport/runtime/TransportContext;
move-result-object p1
invoke-direct {v0, v1, p1, p0}, Lcom/google/android/datatransport/runtime/TransportFactoryImpl;-><init>(Ljava/util/Set;Lcom/google/android/datatransport/runtime/TransportContext;Lcom/google/android/datatransport/runtime/TransportInternal;)V
return-object v0
.end method
.method public newFactory(Ljava/lang/String;)Lcom/google/android/datatransport/TransportFactory;
.locals 3
.annotation runtime Ljava/lang/Deprecated;
.end annotation
const/4 v0, 0x0
return-object v0
.end method
.method public send(Lcom/google/android/datatransport/runtime/SendRequest;Lcom/google/android/datatransport/TransportScheduleCallback;)V
.locals 3
return-void
.end method