FakeCronetController.smali
.class public final Laegon/chrome/net/test/FakeCronetController;
.super Ljava/lang/Object;
# static fields
.field private static final sInstances:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Laegon/chrome/net/CronetEngine;",
">;"
}
.end annotation
.end field
# instance fields
.field private final mResponseMatchers:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Laegon/chrome/net/test/ResponseMatcher;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
invoke-static {v0}, Ljava/util/Collections;->synchronizedList(Ljava/util/List;)Ljava/util/List;
move-result-object v0
sput-object v0, Laegon/chrome/net/test/FakeCronetController;->sInstances:Ljava/util/List;
return-void
.end method
.method public constructor <init>()V
.registers 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
invoke-static {v0}, Ljava/util/Collections;->synchronizedList(Ljava/util/List;)Ljava/util/List;
move-result-object v0
iput-object v0, p0, Laegon/chrome/net/test/FakeCronetController;->mResponseMatchers:Ljava/util/List;
return-void
.end method
.method static addFakeCronetEngine(Laegon/chrome/net/test/FakeCronetEngine;)V
.registers 2
sget-object v0, Laegon/chrome/net/test/FakeCronetController;->sInstances:Ljava/util/List;
invoke-interface {v0, p0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public static getControllerForFakeEngine(Laegon/chrome/net/CronetEngine;)Laegon/chrome/net/test/FakeCronetController;
.registers 3
instance-of v0, p0, Laegon/chrome/net/test/FakeCronetEngine;
if-eqz v0, :cond_b
check-cast p0, Laegon/chrome/net/test/FakeCronetEngine;
invoke-virtual {p0}, Laegon/chrome/net/test/FakeCronetEngine;->getController()Laegon/chrome/net/test/FakeCronetController;
move-result-object v0
return-object v0
:cond_b
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Provided CronetEngine is not a fake CronetEngine"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private static getFailedResponse(I)Laegon/chrome/net/test/FakeUrlResponse;
.registers 4
const/16 v0, 0x190
if-ge p0, v0, :cond_1d
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Expected HTTP error code (code >= 400), but was: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_1d
new-instance v0, Laegon/chrome/net/test/FakeUrlResponse$Builder;
invoke-direct {v0}, Laegon/chrome/net/test/FakeUrlResponse$Builder;-><init>()V
invoke-virtual {v0, p0}, Laegon/chrome/net/test/FakeUrlResponse$Builder;->setHttpStatusCode(I)Laegon/chrome/net/test/FakeUrlResponse$Builder;
move-result-object v0
invoke-virtual {v0}, Laegon/chrome/net/test/FakeUrlResponse$Builder;->build()Laegon/chrome/net/test/FakeUrlResponse;
move-result-object v0
return-object v0
.end method
.method public static getFakeCronetEngines()Ljava/util/List;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List",
"<",
"Laegon/chrome/net/CronetEngine;",
">;"
}
.end annotation
sget-object v1, Laegon/chrome/net/test/FakeCronetController;->sInstances:Ljava/util/List;
monitor-enter v1
:try_start_3
new-instance v0, Ljava/util/ArrayList;
sget-object v2, Laegon/chrome/net/test/FakeCronetController;->sInstances:Ljava/util/List;
invoke-direct {v0, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
monitor-exit v1
return-object v0
:catchall_c
move-exception v0
monitor-exit v1
:try_end_e
.catchall {:try_start_3 .. :try_end_e} :catchall_c
throw v0
.end method
.method static removeFakeCronetEngine(Laegon/chrome/net/CronetEngine;)V
.registers 2
sget-object v0, Laegon/chrome/net/test/FakeCronetController;->sInstances:Ljava/util/List;
invoke-interface {v0, p0}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
return-void
.end method
# virtual methods
.method public addHttpErrorResponse(ILjava/lang/String;)V
.registers 4
invoke-static {p1}, Laegon/chrome/net/test/FakeCronetController;->getFailedResponse(I)Laegon/chrome/net/test/FakeUrlResponse;
move-result-object v0
invoke-virtual {p0, v0, p2}, Laegon/chrome/net/test/FakeCronetController;->addResponseForUrl(Laegon/chrome/net/test/FakeUrlResponse;Ljava/lang/String;)V
return-void
.end method
.method public addRedirectResponse(Ljava/lang/String;Ljava/lang/String;)V
.registers 5
new-instance v0, Laegon/chrome/net/test/FakeUrlResponse$Builder;
invoke-direct {v0}, Laegon/chrome/net/test/FakeUrlResponse$Builder;-><init>()V
const/16 v1, 0x12e
invoke-virtual {v0, v1}, Laegon/chrome/net/test/FakeUrlResponse$Builder;->setHttpStatusCode(I)Laegon/chrome/net/test/FakeUrlResponse$Builder;
move-result-object v0
const-string v1, "location"
invoke-virtual {v0, v1, p1}, Laegon/chrome/net/test/FakeUrlResponse$Builder;->addHeader(Ljava/lang/String;Ljava/lang/String;)Laegon/chrome/net/test/FakeUrlResponse$Builder;
move-result-object v0
invoke-virtual {v0}, Laegon/chrome/net/test/FakeUrlResponse$Builder;->build()Laegon/chrome/net/test/FakeUrlResponse;
move-result-object v0
invoke-virtual {p0, v0, p2}, Laegon/chrome/net/test/FakeCronetController;->addResponseForUrl(Laegon/chrome/net/test/FakeUrlResponse;Ljava/lang/String;)V
return-void
.end method
.method public addResponseForUrl(Laegon/chrome/net/test/FakeUrlResponse;Ljava/lang/String;)V
.registers 4
new-instance v0, Laegon/chrome/net/test/UrlResponseMatcher;
invoke-direct {v0, p2, p1}, Laegon/chrome/net/test/UrlResponseMatcher;-><init>(Ljava/lang/String;Laegon/chrome/net/test/FakeUrlResponse;)V
invoke-virtual {p0, v0}, Laegon/chrome/net/test/FakeCronetController;->addResponseMatcher(Laegon/chrome/net/test/ResponseMatcher;)V
return-void
.end method
.method public addResponseMatcher(Laegon/chrome/net/test/ResponseMatcher;)V
.registers 3
iget-object v0, p0, Laegon/chrome/net/test/FakeCronetController;->mResponseMatchers:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addSuccessResponse(Ljava/lang/String;Ljava/lang/String;)V
.registers 4
new-instance v0, Laegon/chrome/net/test/FakeUrlResponse$Builder;
invoke-direct {v0}, Laegon/chrome/net/test/FakeUrlResponse$Builder;-><init>()V
invoke-virtual {v0, p2}, Laegon/chrome/net/test/FakeUrlResponse$Builder;->setResponseBody(Ljava/lang/String;)Laegon/chrome/net/test/FakeUrlResponse$Builder;
move-result-object v0
invoke-virtual {v0}, Laegon/chrome/net/test/FakeUrlResponse$Builder;->build()Laegon/chrome/net/test/FakeUrlResponse;
move-result-object v0
invoke-virtual {p0, v0, p1}, Laegon/chrome/net/test/FakeCronetController;->addResponseForUrl(Laegon/chrome/net/test/FakeUrlResponse;Ljava/lang/String;)V
return-void
.end method
.method public clearResponseMatchers()V
.registers 2
iget-object v0, p0, Laegon/chrome/net/test/FakeCronetController;->mResponseMatchers:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
return-void
.end method
.method getResponse(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Laegon/chrome/net/test/FakeUrlResponse;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/util/List",
"<",
"Ljava/util/Map$Entry",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;>;)",
"Laegon/chrome/net/test/FakeUrlResponse;"
}
.end annotation
iget-object v1, p0, Laegon/chrome/net/test/FakeCronetController;->mResponseMatchers:Ljava/util/List;
monitor-enter v1
:try_start_3
iget-object v0, p0, Laegon/chrome/net/test/FakeCronetController;->mResponseMatchers:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_9
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_1d
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Laegon/chrome/net/test/ResponseMatcher;
invoke-interface {v0, p1, p2, p3}, Laegon/chrome/net/test/ResponseMatcher;->getMatchingResponse(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Laegon/chrome/net/test/FakeUrlResponse;
move-result-object v0
if-eqz v0, :cond_9
monitor-exit v1
:goto_1c
return-object v0
:cond_1d
monitor-exit v1
:try_end_1e
.catchall {:try_start_3 .. :try_end_1e} :catchall_25
const/16 v0, 0x194
invoke-static {v0}, Laegon/chrome/net/test/FakeCronetController;->getFailedResponse(I)Laegon/chrome/net/test/FakeUrlResponse;
move-result-object v0
goto :goto_1c
:catchall_25
move-exception v0
:try_start_26
monitor-exit v1
:try_end_27
.catchall {:try_start_26 .. :try_end_27} :catchall_25
throw v0
.end method
.method public newFakeCronetEngineBuilder(Landroid/content/Context;)Laegon/chrome/net/CronetEngine$Builder;
.registers 4
new-instance v0, Laegon/chrome/net/test/FakeCronetEngine$Builder;
invoke-direct {v0, p1}, Laegon/chrome/net/test/FakeCronetEngine$Builder;-><init>(Landroid/content/Context;)V
invoke-virtual {v0, p0}, Laegon/chrome/net/test/FakeCronetEngine$Builder;->setController(Laegon/chrome/net/test/FakeCronetController;)V
new-instance v1, Laegon/chrome/net/ExperimentalCronetEngine$Builder;
invoke-direct {v1, v0}, Laegon/chrome/net/ExperimentalCronetEngine$Builder;-><init>(Laegon/chrome/net/ICronetEngineBuilder;)V
return-object v1
.end method
.method public removeResponseMatcher(Laegon/chrome/net/test/ResponseMatcher;)V
.registers 3
iget-object v0, p0, Laegon/chrome/net/test/FakeCronetController;->mResponseMatchers:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
return-void
.end method