apkfuckery/com.discord/smali/com/discord/models/domain/ModelPresence.smali

807 lines
18 KiB
Smali
Raw Normal View History

2019-02-04 20:05:16 +00:00
.class public Lcom/discord/models/domain/ModelPresence;
.super Lcom/discord/models/domain/Model;
.source "ModelPresence.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/discord/models/domain/ModelPresence$Game;
}
.end annotation
# static fields
.field public static final IDLE:I = 0x1
.field public static final OFFLINE:I = 0x0
.field public static final ONLINE:I = 0x2
# instance fields
.field private game:Lcom/discord/models/domain/ModelPresence$Game;
.field private transient guildId:J
.field private status:I
.field private transient user:Lcom/discord/models/domain/ModelUser;
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
invoke-direct {p0}, Lcom/discord/models/domain/Model;-><init>()V
return-void
.end method
.method public static setPlaying(Landroid/widget/TextView;Lcom/discord/models/domain/ModelPresence;)V
.locals 8
.param p0, "textView" # Landroid/widget/TextView;
.annotation build Llombok/NonNull;
.end annotation
.end param
.param p1, "presence" # Lcom/discord/models/domain/ModelPresence;
.annotation build Landroid/support/annotation/Nullable;
.end annotation
.end param
.prologue
const/4 v4, 0x1
const/4 v3, 0x0
if-nez p0, :cond_0
new-instance v2, Ljava/lang/NullPointerException;
const-string v3, "textView"
invoke-direct {v2, v3}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v2
:cond_0
if-eqz p1, :cond_2
invoke-virtual {p1}, Lcom/discord/models/domain/ModelPresence;->getGame()Lcom/discord/models/domain/ModelPresence$Game;
move-result-object v2
if-eqz v2, :cond_2
invoke-virtual {p1}, Lcom/discord/models/domain/ModelPresence;->getGame()Lcom/discord/models/domain/ModelPresence$Game;
move-result-object v2
invoke-virtual {v2}, Lcom/discord/models/domain/ModelPresence$Game;->isPlayingGame()Z
move-result v2
if-eqz v2, :cond_2
move v1, v4
.local v1, "playingGame":Z
:goto_0
if-eqz v1, :cond_3
move v2, v3
:goto_1
invoke-virtual {p0, v2}, Landroid/widget/TextView;->setVisibility(I)V
if-eqz v1, :cond_1
new-instance v2, Lcom/miguelgaeta/spanner/Spanner;
invoke-virtual {p0}, Landroid/widget/TextView;->getContext()Landroid/content/Context;
move-result-object v5
const v6, 0x7f0602aa
invoke-virtual {v5, v6}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v5
const-string v6, "!!"
const-string v7, ""
invoke-virtual {v5, v6, v7}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object v5
new-array v4, v4, [Ljava/lang/Object;
invoke-virtual {p1}, Lcom/discord/models/domain/ModelPresence;->getGame()Lcom/discord/models/domain/ModelPresence$Game;
move-result-object v6
invoke-virtual {v6}, Lcom/discord/models/domain/ModelPresence$Game;->getName()Ljava/lang/String;
move-result-object v6
aput-object v6, v4, v3
invoke-static {v5, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Lcom/miguelgaeta/spanner/Spanner;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Lcom/miguelgaeta/spanner/Spanner;->addMarkdownBoldStrategy()Lcom/miguelgaeta/spanner/Spanner;
move-result-object v2
invoke-virtual {v2}, Lcom/miguelgaeta/spanner/Spanner;->toSpannableString()Landroid/text/SpannableString;
move-result-object v0
.local v0, "gameStatus":Landroid/text/SpannableString;
invoke-virtual {p0, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.end local v0 # "gameStatus":Landroid/text/SpannableString;
:cond_1
return-void
.end local v1 # "playingGame":Z
:cond_2
move v1, v3
goto :goto_0
.restart local v1 # "playingGame":Z
:cond_3
const/16 v2, 0x8
goto :goto_1
.end method
.method private setStatus(Ljava/lang/String;)I
.locals 5
.param p1, "statusString" # Ljava/lang/String;
.prologue
const/4 v0, 0x2
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz p1, :cond_1
const/4 v3, -0x1
invoke-virtual {p1}, Ljava/lang/String;->hashCode()I
move-result v4
sparse-switch v4, :sswitch_data_0
:cond_0
:goto_0
packed-switch v3, :pswitch_data_0
:cond_1
move v0, v2
:goto_1
:pswitch_0
return v0
:sswitch_0
const-string v4, "online"
invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_0
move v3, v2
goto :goto_0
:sswitch_1
const-string v4, "idle"
invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_0
move v3, v1
goto :goto_0
:sswitch_2
const-string v4, "offline"
invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_0
move v3, v0
goto :goto_0
:pswitch_1
move v0, v1
goto :goto_1
:pswitch_2
move v0, v2
goto :goto_1
:sswitch_data_0
.sparse-switch
-0x5c4df21d -> :sswitch_2
-0x3c5549ad -> :sswitch_0
0x313fd4 -> :sswitch_1
.end sparse-switch
:pswitch_data_0
.packed-switch 0x0
:pswitch_0
:pswitch_1
:pswitch_2
.end packed-switch
.end method
.method public static setStatus(Landroid/widget/ImageView;I)V
.locals 2
.param p0, "imageView" # Landroid/widget/ImageView;
.annotation build Llombok/NonNull;
.end annotation
.end param
.param p1, "status" # I
.prologue
if-nez p0, :cond_0
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "imageView"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_0
const/4 v0, 0x2
if-ne p1, v0, :cond_1
const v0, 0x7f0d0073
:goto_0
invoke-static {p0, v0}, Lcom/discord/utilities/mg_images/MGImages;->setImage(Landroid/widget/ImageView;I)V
return-void
:cond_1
if-nez p1, :cond_2
const v0, 0x7f0d0075
goto :goto_0
:cond_2
const v0, 0x7f0d0078
goto :goto_0
.end method
.method public static setStatus(Landroid/widget/ImageView;Lcom/discord/models/domain/ModelPresence;)V
.locals 2
.param p0, "imageView" # Landroid/widget/ImageView;
.annotation build Llombok/NonNull;
.end annotation
.end param
.param p1, "presence" # Lcom/discord/models/domain/ModelPresence;
.prologue
if-nez p0, :cond_0
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "imageView"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_0
if-eqz p1, :cond_1
iget v0, p1, Lcom/discord/models/domain/ModelPresence;->status:I
:goto_0
invoke-static {p0, v0}, Lcom/discord/models/domain/ModelPresence;->setStatus(Landroid/widget/ImageView;I)V
return-void
:cond_1
const/4 v0, 0x0
goto :goto_0
.end method
# virtual methods
.method protected assignField(Lcom/miguelgaeta/message_parser/MessageParser;)V
.locals 4
.param p1, "reader" # Lcom/miguelgaeta/message_parser/MessageParser;
.annotation build Llombok/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/4 v3, 0x0
if-nez p1, :cond_0
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "reader"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_0
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextName()Ljava/lang/String;
move-result-object v1
const/4 v0, -0x1
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v2
sparse-switch v2, :sswitch_data_0
:cond_1
:goto_0
packed-switch v0, :pswitch_data_0
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->skipValue()V
:goto_1
return-void
:sswitch_0
const-string v2, "status"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
const/4 v0, 0x0
goto :goto_0
:sswitch_1
const-string v2, "game"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
const/4 v0, 0x1
goto :goto_0
:sswitch_2
const-string v2, "user"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
const/4 v0, 0x2
goto :goto_0
:sswitch_3
const-string v2, "guild_id"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
const/4 v0, 0x3
goto :goto_0
:pswitch_0
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextStringOrNull()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Lcom/discord/models/domain/ModelPresence;->setStatus(Ljava/lang/String;)I
move-result v0
iput v0, p0, Lcom/discord/models/domain/ModelPresence;->status:I
goto :goto_1
:pswitch_1
new-instance v0, Lcom/discord/models/domain/ModelPresence$Game;
invoke-direct {v0}, Lcom/discord/models/domain/ModelPresence$Game;-><init>()V
invoke-virtual {v0, p1, v3}, Lcom/discord/models/domain/ModelPresence$Game;->parse(Lcom/miguelgaeta/message_parser/MessageParser;Lcom/discord/models/domain/Model;)Lcom/discord/models/domain/Model;
move-result-object v0
check-cast v0, Lcom/discord/models/domain/ModelPresence$Game;
iput-object v0, p0, Lcom/discord/models/domain/ModelPresence;->game:Lcom/discord/models/domain/ModelPresence$Game;
goto :goto_1
:pswitch_2
new-instance v0, Lcom/discord/models/domain/ModelUser;
invoke-direct {v0}, Lcom/discord/models/domain/ModelUser;-><init>()V
invoke-virtual {v0, p1, v3}, Lcom/discord/models/domain/ModelUser;->parse(Lcom/miguelgaeta/message_parser/MessageParser;Lcom/discord/models/domain/Model;)Lcom/discord/models/domain/Model;
move-result-object v0
check-cast v0, Lcom/discord/models/domain/ModelUser;
iput-object v0, p0, Lcom/discord/models/domain/ModelPresence;->user:Lcom/discord/models/domain/ModelUser;
goto :goto_1
:pswitch_3
iget-wide v0, p0, Lcom/discord/models/domain/ModelPresence;->guildId:J
invoke-interface {p1, v0, v1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextLong(J)J
move-result-wide v0
iput-wide v0, p0, Lcom/discord/models/domain/ModelPresence;->guildId:J
goto :goto_1
:sswitch_data_0
.sparse-switch
-0x4de03319 -> :sswitch_3
-0x3532300e -> :sswitch_0
0x304bf2 -> :sswitch_1
0x36ebcb -> :sswitch_2
.end sparse-switch
:pswitch_data_0
.packed-switch 0x0
:pswitch_0
:pswitch_1
:pswitch_2
:pswitch_3
.end packed-switch
.end method
.method protected canEqual(Ljava/lang/Object;)Z
.locals 1
.param p1, "other" # Ljava/lang/Object;
.prologue
instance-of v0, p1, Lcom/discord/models/domain/ModelPresence;
return v0
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 7
.param p1, "o" # Ljava/lang/Object;
.prologue
const/4 v3, 0x1
const/4 v4, 0x0
if-ne p1, p0, :cond_1
:cond_0
:goto_0
return v3
:cond_1
instance-of v5, p1, Lcom/discord/models/domain/ModelPresence;
if-nez v5, :cond_2
move v3, v4
goto :goto_0
:cond_2
move-object v0, p1
check-cast v0, Lcom/discord/models/domain/ModelPresence;
.local v0, "other":Lcom/discord/models/domain/ModelPresence;
invoke-virtual {v0, p0}, Lcom/discord/models/domain/ModelPresence;->canEqual(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_3
move v3, v4
goto :goto_0
:cond_3
invoke-virtual {p0}, Lcom/discord/models/domain/ModelPresence;->getStatus()I
move-result v5
invoke-virtual {v0}, Lcom/discord/models/domain/ModelPresence;->getStatus()I
move-result v6
if-eq v5, v6, :cond_4
move v3, v4
goto :goto_0
:cond_4
invoke-virtual {p0}, Lcom/discord/models/domain/ModelPresence;->getGame()Lcom/discord/models/domain/ModelPresence$Game;
move-result-object v2
.local v2, "this$game":Lcom/discord/models/domain/ModelPresence$Game;
invoke-virtual {v0}, Lcom/discord/models/domain/ModelPresence;->getGame()Lcom/discord/models/domain/ModelPresence$Game;
move-result-object v1
.local v1, "other$game":Lcom/discord/models/domain/ModelPresence$Game;
if-nez v2, :cond_5
if-eqz v1, :cond_0
:goto_1
move v3, v4
goto :goto_0
:cond_5
invoke-virtual {v2, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_0
goto :goto_1
.end method
.method public getGame()Lcom/discord/models/domain/ModelPresence$Game;
.locals 1
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelPresence;->game:Lcom/discord/models/domain/ModelPresence$Game;
return-object v0
.end method
.method public getGuildId()J
.locals 2
.prologue
iget-wide v0, p0, Lcom/discord/models/domain/ModelPresence;->guildId:J
return-wide v0
.end method
.method public getStatus()I
.locals 1
.prologue
iget v0, p0, Lcom/discord/models/domain/ModelPresence;->status:I
return v0
.end method
.method public getUser()Lcom/discord/models/domain/ModelUser;
.locals 1
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelPresence;->user:Lcom/discord/models/domain/ModelUser;
return-object v0
.end method
.method public hashCode()I
.locals 5
.prologue
const/16 v1, 0x3b
.local v1, "PRIME":I
const/4 v2, 0x1
.local v2, "result":I
invoke-virtual {p0}, Lcom/discord/models/domain/ModelPresence;->getStatus()I
move-result v3
add-int/lit8 v2, v3, 0x3b
invoke-virtual {p0}, Lcom/discord/models/domain/ModelPresence;->getGame()Lcom/discord/models/domain/ModelPresence$Game;
move-result-object v0
.local v0, "$game":Lcom/discord/models/domain/ModelPresence$Game;
mul-int/lit8 v4, v2, 0x3b
if-nez v0, :cond_0
const/16 v3, 0x2b
:goto_0
add-int v2, v4, v3
return v2
:cond_0
invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
move-result v3
goto :goto_0
.end method
.method public merge(Lcom/discord/models/domain/ModelPresence;)Lcom/discord/models/domain/ModelPresence;
.locals 2
.param p1, "presence" # Lcom/discord/models/domain/ModelPresence;
.prologue
new-instance v0, Lcom/discord/models/domain/ModelPresence;
invoke-direct {v0}, Lcom/discord/models/domain/ModelPresence;-><init>()V
.local v0, "merged":Lcom/discord/models/domain/ModelPresence;
iget v1, p0, Lcom/discord/models/domain/ModelPresence;->status:I
if-nez v1, :cond_0
if-nez p1, :cond_2
:cond_0
iget v1, p0, Lcom/discord/models/domain/ModelPresence;->status:I
:goto_0
iput v1, v0, Lcom/discord/models/domain/ModelPresence;->status:I
iget-object v1, p0, Lcom/discord/models/domain/ModelPresence;->game:Lcom/discord/models/domain/ModelPresence$Game;
if-nez v1, :cond_1
if-nez p1, :cond_3
:cond_1
iget-object v1, p0, Lcom/discord/models/domain/ModelPresence;->game:Lcom/discord/models/domain/ModelPresence$Game;
:goto_1
iput-object v1, v0, Lcom/discord/models/domain/ModelPresence;->game:Lcom/discord/models/domain/ModelPresence$Game;
return-object v0
:cond_2
iget v1, p1, Lcom/discord/models/domain/ModelPresence;->status:I
goto :goto_0
:cond_3
iget-object v1, p1, Lcom/discord/models/domain/ModelPresence;->game:Lcom/discord/models/domain/ModelPresence$Game;
goto :goto_1
.end method
.method public toString()Ljava/lang/String;
.locals 4
.prologue
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "ModelPresence(status="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelPresence;->getStatus()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", game="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelPresence;->getGame()Lcom/discord/models/domain/ModelPresence$Game;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", user="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelPresence;->getUser()Lcom/discord/models/domain/ModelUser;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", guildId="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelPresence;->getGuildId()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)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}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method