CommandLine$JavaCommandLine.smali
.class Laegon/chrome/base/CommandLine$JavaCommandLine;
.super Laegon/chrome/base/CommandLine;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Laegon/chrome/base/CommandLine;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "JavaCommandLine"
.end annotation
# static fields
.field static final synthetic $assertionsDisabled:Z
# instance fields
.field private mArgs:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private mArgsBegin:I
.field private mSwitches:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
const-class v0, Laegon/chrome/base/CommandLine;
invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z
move-result v0
if-nez v0, :cond_c
const/4 v0, 0x1
:goto_9
sput-boolean v0, Laegon/chrome/base/CommandLine$JavaCommandLine;->$assertionsDisabled:Z
return-void
:cond_c
const/4 v0, 0x0
goto :goto_9
.end method
.method constructor <init>([Ljava/lang/String;)V
.registers 5
.param p1 # [Ljava/lang/String;
.annotation build Landroid/support/annotation/Nullable;
.end annotation
.end param
const/4 v2, 0x1
const/4 v1, 0x0
const/4 v0, 0x0
invoke-direct {p0, v0}, Laegon/chrome/base/CommandLine;-><init>(Laegon/chrome/base/CommandLine$1;)V
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mSwitches:Ljava/util/HashMap;
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mArgs:Ljava/util/ArrayList;
iput v2, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mArgsBegin:I
if-eqz p1, :cond_1f
array-length v0, p1
if-eqz v0, :cond_1f
aget-object v0, p1, v1
if-nez v0, :cond_38
:cond_1f
iget-object v0, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mArgs:Ljava/util/ArrayList;
const-string v1, ""
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:goto_26
sget-boolean v0, Laegon/chrome/base/CommandLine$JavaCommandLine;->$assertionsDisabled:Z
if-nez v0, :cond_43
iget-object v0, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mArgs:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
if-gtz v0, :cond_43
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
:cond_38
iget-object v0, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mArgs:Ljava/util/ArrayList;
aget-object v1, p1, v1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
invoke-direct {p0, p1, v2}, Laegon/chrome/base/CommandLine$JavaCommandLine;->appendSwitchesInternal([Ljava/lang/String;I)V
goto :goto_26
:cond_43
return-void
.end method
.method private appendSwitchesInternal([Ljava/lang/String;I)V
.registers 12
const/4 v5, 0x1
const/4 v3, 0x0
array-length v6, p1
move v4, v3
move v0, v5
move v2, p2
:goto_6
if-ge v4, v6, :cond_4e
aget-object v7, p1, v4
if-lez v2, :cond_13
add-int/lit8 v1, v2, -0x1
:goto_e
add-int/lit8 v2, v4, 0x1
move v4, v2
move v2, v1
goto :goto_6
:cond_13
const-string v1, "--"
invoke-virtual {v7, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_4f
move v1, v3
:goto_1c
if-eqz v1, :cond_46
const-string v0, "--"
invoke-virtual {v7, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_46
const-string v0, "="
const/4 v8, 0x2
invoke-virtual {v7, v0, v8}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v7
array-length v0, v7
if-le v0, v5, :cond_44
aget-object v0, v7, v5
:goto_32
aget-object v7, v7, v3
const-string v8, "--"
invoke-virtual {v8}, Ljava/lang/String;->length()I
move-result v8
invoke-virtual {v7, v8}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v7
invoke-virtual {p0, v7, v0}, Laegon/chrome/base/CommandLine$JavaCommandLine;->appendSwitchWithValue(Ljava/lang/String;Ljava/lang/String;)V
move v0, v1
move v1, v2
goto :goto_e
:cond_44
const/4 v0, 0x0
goto :goto_32
:cond_46
iget-object v0, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mArgs:Ljava/util/ArrayList;
invoke-virtual {v0, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
move v0, v1
move v1, v2
goto :goto_e
:cond_4e
return-void
:cond_4f
move v1, v0
goto :goto_1c
.end method
# virtual methods
.method public appendSwitch(Ljava/lang/String;)V
.registers 3
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Laegon/chrome/base/CommandLine$JavaCommandLine;->appendSwitchWithValue(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public appendSwitchWithValue(Ljava/lang/String;Ljava/lang/String;)V
.registers 7
iget-object v1, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mSwitches:Ljava/util/HashMap;
if-nez p2, :cond_47
const-string v0, ""
:goto_6
invoke-virtual {v1, p1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "--"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
if-eqz p2, :cond_3b
invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_3b
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:cond_3b
iget-object v1, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mArgs:Ljava/util/ArrayList;
iget v2, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mArgsBegin:I
add-int/lit8 v3, v2, 0x1
iput v3, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mArgsBegin:I
invoke-virtual {v1, v2, v0}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
return-void
:cond_47
move-object v0, p2
goto :goto_6
.end method
.method public appendSwitchesAndArguments([Ljava/lang/String;)V
.registers 3
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Laegon/chrome/base/CommandLine$JavaCommandLine;->appendSwitchesInternal([Ljava/lang/String;I)V
return-void
.end method
.method protected getCommandLineArguments()[Ljava/lang/String;
.registers 3
iget-object v0, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mArgs:Ljava/util/ArrayList;
iget-object v1, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mArgs:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v1
new-array v1, v1, [Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/String;
return-object v0
.end method
.method public getSwitchValue(Ljava/lang/String;)Ljava/lang/String;
.registers 4
iget-object v0, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mSwitches:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
if-eqz v0, :cond_10
invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-eqz v1, :cond_11
:cond_10
const/4 v0, 0x0
:cond_11
return-object v0
.end method
.method public hasSwitch(Ljava/lang/String;)Z
.registers 3
iget-object v0, p0, Laegon/chrome/base/CommandLine$JavaCommandLine;->mSwitches:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v0
return v0
.end method