ID3v2Info.smali

.class public Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;
.super Lim/tpelyyftgw/messenger/audioinfo/AudioInfo;
.source "ID3v2Info.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$CommentOrUnsynchronizedLyrics;,
        Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$AttachedPicture;
    }
.end annotation


# static fields
.field static final LOGGER:Ljava/util/logging/Logger;


# instance fields
.field private coverPictureType:B

.field private final debugLevel:Ljava/util/logging/Level;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .line 29
    const-class v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;

    invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;

    move-result-object v0

    sput-object v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    return-void
.end method

.method public constructor <init>(Ljava/io/InputStream;)V
    .registers 3
    .param p1, "input"    # Ljava/io/InputStream;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;,
            Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception;
        }
    .end annotation

    .line 74
    sget-object v0, Ljava/util/logging/Level;->FINEST:Ljava/util/logging/Level;

    invoke-direct {p0, p1, v0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;-><init>(Ljava/io/InputStream;Ljava/util/logging/Level;)V

    .line 75
    return-void
.end method

.method public constructor <init>(Ljava/io/InputStream;Ljava/util/logging/Level;)V
    .registers 15
    .param p1, "input"    # Ljava/io/InputStream;
    .param p2, "debugLevel"    # Ljava/util/logging/Level;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;,
            Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception;
        }
    .end annotation

    .line 77
    invoke-direct {p0}, Lim/tpelyyftgw/messenger/audioinfo/AudioInfo;-><init>()V

    .line 78
    iput-object p2, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    .line 79
    invoke-static {p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->isID3v2StartPosition(Ljava/io/InputStream;)Z

    move-result v0

    if-eqz v0, :cond_112

    .line 80
    new-instance v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;

    invoke-direct {v0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;-><init>(Ljava/io/InputStream;)V

    .line 81
    .local v0, "tagHeader":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;
    const-string v1, "ID3"

    iput-object v1, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->brand:Ljava/lang/String;

    .line 82
    const/4 v1, 0x2

    new-array v2, v1, [Ljava/lang/Object;

    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;->getVersion()I

    move-result v3

    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    const/4 v4, 0x0

    aput-object v3, v2, v4

    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;->getRevision()I

    move-result v3

    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    const/4 v5, 0x1

    aput-object v3, v2, v5

    const-string v3, "2.%d.%d"

    invoke-static {v3, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    iput-object v2, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->version:Ljava/lang/String;

    .line 83
    invoke-virtual {v0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;->tagBody(Ljava/io/InputStream;)Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagBody;

    move-result-object v2

    .line 85
    .local v2, "tagBody":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagBody;
    :goto_39
    :try_start_39
    invoke-virtual {v2}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagBody;->getRemainingLength()J

    move-result-wide v6

    const-wide/16 v8, 0xa

    cmp-long v3, v6, v8

    if-lez v3, :cond_d5

    .line 86
    new-instance v3, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;

    invoke-direct {v3, v2}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;-><init>(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagBody;)V

    .line 87
    .local v3, "frameHeader":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;
    invoke-virtual {v3}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;->isPadding()Z

    move-result v6

    if-eqz v6, :cond_50

    .line 88
    goto/16 :goto_d5

    .line 90
    :cond_50
    invoke-virtual {v3}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;->getBodySize()I

    move-result v6

    int-to-long v6, v6

    invoke-virtual {v2}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagBody;->getRemainingLength()J

    move-result-wide v8

    cmp-long v10, v6, v8

    if-lez v10, :cond_6d

    .line 91
    sget-object v1, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    invoke-virtual {v1, p2}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v1

    if-eqz v1, :cond_d5

    .line 92
    sget-object v1, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    const-string v4, "ID3 frame claims to extend frames area"

    invoke-virtual {v1, p2, v4}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V

    goto :goto_d5

    .line 96
    :cond_6d
    invoke-virtual {v3}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;->isValid()Z

    move-result v6

    if-eqz v6, :cond_c7

    invoke-virtual {v3}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;->isEncryption()Z

    move-result v6

    if-nez v6, :cond_c7

    .line 97
    invoke-virtual {v2, v3}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagBody;->frameBody(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;)Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;

    move-result-object v6
    :try_end_7d
    .catch Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception; {:try_start_39 .. :try_end_7d} :catch_d6

    .line 99
    .local v6, "frameBody":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;
    :try_start_7d
    invoke-virtual {p0, v6}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)V
    :try_end_80
    .catch Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception; {:try_start_7d .. :try_end_80} :catch_8e
    .catchall {:try_start_7d .. :try_end_80} :catchall_8c

    .line 105
    :try_start_80
    invoke-virtual {v6}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getData()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;

    move-result-object v7

    invoke-virtual {v6}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getRemainingLength()J

    move-result-wide v8

    :goto_88
    invoke-virtual {v7, v8, v9}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->skipFully(J)V
    :try_end_8b
    .catch Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception; {:try_start_80 .. :try_end_8b} :catch_d6

    .line 106
    goto :goto_b9

    .line 105
    :catchall_8c
    move-exception v1

    goto :goto_ba

    .line 100
    :catch_8e
    move-exception v7

    .line 101
    .local v7, "e":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception;
    :try_start_8f
    sget-object v8, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    invoke-virtual {v8, p2}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v8

    if-eqz v8, :cond_b0

    .line 102
    sget-object v8, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    const-string v9, "ID3 exception occured in frame %s: %s"

    new-array v10, v1, [Ljava/lang/Object;

    invoke-virtual {v3}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;->getFrameId()Ljava/lang/String;

    move-result-object v11

    aput-object v11, v10, v4

    invoke-virtual {v7}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception;->getMessage()Ljava/lang/String;

    move-result-object v11

    aput-object v11, v10, v5

    invoke-static {v9, v10}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v9

    invoke-virtual {v8, p2, v9}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V
    :try_end_b0
    .catchall {:try_start_8f .. :try_end_b0} :catchall_8c

    .line 105
    .end local v7    # "e":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception;
    :cond_b0
    :try_start_b0
    invoke-virtual {v6}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getData()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;

    move-result-object v7

    invoke-virtual {v6}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getRemainingLength()J

    move-result-wide v8

    goto :goto_88

    .line 107
    .end local v6    # "frameBody":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;
    :goto_b9
    goto :goto_d3

    .line 105
    .restart local v6    # "frameBody":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;
    :goto_ba
    invoke-virtual {v6}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getData()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;

    move-result-object v4

    invoke-virtual {v6}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getRemainingLength()J

    move-result-wide v7

    invoke-virtual {v4, v7, v8}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->skipFully(J)V

    .line 106
    nop

    .end local v0    # "tagHeader":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;
    .end local v2    # "tagBody":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagBody;
    .end local p1    # "input":Ljava/io/InputStream;
    .end local p2    # "debugLevel":Ljava/util/logging/Level;
    throw v1

    .line 108
    .end local v6    # "frameBody":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;
    .restart local v0    # "tagHeader":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;
    .restart local v2    # "tagBody":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagBody;
    .restart local p1    # "input":Ljava/io/InputStream;
    .restart local p2    # "debugLevel":Ljava/util/logging/Level;
    :cond_c7
    invoke-virtual {v2}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagBody;->getData()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;

    move-result-object v6

    invoke-virtual {v3}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;->getBodySize()I

    move-result v7

    int-to-long v7, v7

    invoke-virtual {v6, v7, v8}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->skipFully(J)V
    :try_end_d3
    .catch Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception; {:try_start_b0 .. :try_end_d3} :catch_d6

    .line 110
    .end local v3    # "frameHeader":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;
    :goto_d3
    goto/16 :goto_39

    .line 115
    :cond_d5
    :goto_d5
    goto :goto_f9

    .line 111
    :catch_d6
    move-exception v1

    .line 112
    .local v1, "e":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception;
    sget-object v3, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    invoke-virtual {v3, p2}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v3

    if-eqz v3, :cond_f9

    .line 113
    sget-object v3, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "ID3 exception occured: "

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception;->getMessage()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, p2, v4}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V

    .line 116
    .end local v1    # "e":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception;
    :cond_f9
    :goto_f9
    invoke-virtual {v2}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagBody;->getData()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;

    move-result-object v1

    invoke-virtual {v2}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagBody;->getRemainingLength()J

    move-result-wide v3

    invoke-virtual {v1, v3, v4}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->skipFully(J)V

    .line 117
    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;->getFooterSize()I

    move-result v1

    if-lez v1, :cond_112

    .line 118
    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;->getFooterSize()I

    move-result v1

    int-to-long v3, v1

    invoke-virtual {p1, v3, v4}, Ljava/io/InputStream;->skip(J)J

    .line 121
    .end local v0    # "tagHeader":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;
    .end local v2    # "tagBody":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagBody;
    :cond_112
    return-void
.end method

.method public static isID3v2StartPosition(Ljava/io/InputStream;)Z
    .registers 3
    .param p0, "input"    # Ljava/io/InputStream;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 61
    const/4 v0, 0x3

    invoke-virtual {p0, v0}, Ljava/io/InputStream;->mark(I)V

    .line 63
    :try_start_4
    invoke-virtual {p0}, Ljava/io/InputStream;->read()I

    move-result v0

    const/16 v1, 0x49

    if-ne v0, v1, :cond_1e

    invoke-virtual {p0}, Ljava/io/InputStream;->read()I

    move-result v0

    const/16 v1, 0x44

    if-ne v0, v1, :cond_1e

    invoke-virtual {p0}, Ljava/io/InputStream;->read()I

    move-result v0
    :try_end_18
    .catchall {:try_start_4 .. :try_end_18} :catchall_23

    const/16 v1, 0x33

    if-ne v0, v1, :cond_1e

    const/4 v0, 0x1

    goto :goto_1f

    :cond_1e
    const/4 v0, 0x0

    .line 65
    :goto_1f
    invoke-virtual {p0}, Ljava/io/InputStream;->reset()V

    .line 63
    return v0

    .line 65
    :catchall_23
    move-exception v0

    invoke-virtual {p0}, Ljava/io/InputStream;->reset()V

    .line 66
    throw v0
.end method


# virtual methods
.method parseAttachedPictureFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$AttachedPicture;
    .registers 9
    .param p1, "data"    # Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;,
            Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception;
        }
    .end annotation

    .line 354
    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->readEncoding()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;

    move-result-object v0

    .line 356
    .local v0, "encoding":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;
    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getTagHeader()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;

    move-result-object v1

    invoke-virtual {v1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2TagHeader;->getVersion()I

    move-result v1

    const/4 v2, 0x2

    if-ne v1, v2, :cond_4c

    .line 357
    const/4 v1, 0x3

    sget-object v2, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;->ISO_8859_1:Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;

    invoke-virtual {p1, v1, v2}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->readFixedLengthString(ILim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;)Ljava/lang/String;

    move-result-object v1

    .line 358
    .local v1, "fileType":Ljava/lang/String;
    invoke-virtual {v1}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;

    move-result-object v2

    const/4 v3, -0x1

    invoke-virtual {v2}, Ljava/lang/String;->hashCode()I

    move-result v4

    const v5, 0x11fc1

    const/4 v6, 0x1

    if-eq v4, v5, :cond_35

    const v5, 0x13609

    if-eq v4, v5, :cond_2b

    :cond_2a
    goto :goto_3e

    :cond_2b
    const-string v4, "PNG"

    invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_2a

    const/4 v3, 0x0

    goto :goto_3e

    :cond_35
    const-string v4, "JPG"

    invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_2a

    const/4 v3, 0x1

    :goto_3e
    if-eqz v3, :cond_48

    if-eq v3, v6, :cond_45

    .line 366
    const-string v2, "image/unknown"

    .local v2, "imageType":Ljava/lang/String;
    goto :goto_4b

    .line 363
    .end local v2    # "imageType":Ljava/lang/String;
    :cond_45
    const-string v2, "image/jpeg"

    .line 364
    .restart local v2    # "imageType":Ljava/lang/String;
    goto :goto_4b

    .line 360
    .end local v2    # "imageType":Ljava/lang/String;
    :cond_48
    const-string v2, "image/png"

    .line 361
    .restart local v2    # "imageType":Ljava/lang/String;
    nop

    .line 368
    .end local v1    # "fileType":Ljava/lang/String;
    :goto_4b
    goto :goto_54

    .line 369
    .end local v2    # "imageType":Ljava/lang/String;
    :cond_4c
    const/16 v1, 0x14

    sget-object v2, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;->ISO_8859_1:Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;

    invoke-virtual {p1, v1, v2}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->readZeroTerminatedString(ILim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;)Ljava/lang/String;

    move-result-object v2

    .line 371
    .restart local v2    # "imageType":Ljava/lang/String;
    :goto_54
    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getData()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;

    move-result-object v1

    invoke-virtual {v1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->readByte()B

    move-result v1

    .line 372
    .local v1, "pictureType":B
    const/16 v3, 0xc8

    invoke-virtual {p1, v3, v0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->readZeroTerminatedString(ILim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;)Ljava/lang/String;

    move-result-object v3

    .line 373
    .local v3, "description":Ljava/lang/String;
    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getData()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;

    move-result-object v4

    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getRemainingLength()J

    move-result-wide v5

    long-to-int v6, v5

    invoke-virtual {v4, v6}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2DataInput;->readFully(I)[B

    move-result-object v4

    .line 374
    .local v4, "imageData":[B
    new-instance v5, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$AttachedPicture;

    invoke-direct {v5, v1, v3, v2, v4}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$AttachedPicture;-><init>(BLjava/lang/String;Ljava/lang/String;[B)V

    return-object v5
.end method

.method parseCommentOrUnsynchronizedLyricsFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$CommentOrUnsynchronizedLyrics;
    .registers 7
    .param p1, "data"    # Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;,
            Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception;
        }
    .end annotation

    .line 346
    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->readEncoding()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;

    move-result-object v0

    .line 347
    .local v0, "encoding":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;
    sget-object v1, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;->ISO_8859_1:Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;

    const/4 v2, 0x3

    invoke-virtual {p1, v2, v1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->readFixedLengthString(ILim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;)Ljava/lang/String;

    move-result-object v1

    .line 348
    .local v1, "language":Ljava/lang/String;
    const/16 v2, 0xc8

    invoke-virtual {p1, v2, v0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->readZeroTerminatedString(ILim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;)Ljava/lang/String;

    move-result-object v2

    .line 349
    .local v2, "description":Ljava/lang/String;
    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getRemainingLength()J

    move-result-wide v3

    long-to-int v4, v3

    invoke-virtual {p1, v4, v0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->readFixedLengthString(ILim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;)Ljava/lang/String;

    move-result-object v3

    .line 350
    .local v3, "text":Ljava/lang/String;
    new-instance v4, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$CommentOrUnsynchronizedLyrics;

    invoke-direct {v4, v1, v2, v3}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$CommentOrUnsynchronizedLyrics;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    return-object v4
.end method

.method parseFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)V
    .registers 11
    .param p1, "frame"    # Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;,
            Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception;
        }
    .end annotation

    .line 124
    sget-object v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v1, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v0

    if-eqz v0, :cond_2a

    .line 125
    sget-object v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v1, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Parsing frame: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getFrameHeader()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;

    move-result-object v3

    invoke-virtual {v3}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;->getFrameId()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v1, v2}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V

    .line 127
    :cond_2a
    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getFrameHeader()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;

    move-result-object v0

    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameHeader;->getFrameId()Ljava/lang/String;

    move-result-object v0

    const/4 v1, -0x1

    invoke-virtual {v0}, Ljava/lang/String;->hashCode()I

    move-result v2

    const/4 v3, 0x3

    const/4 v4, 0x2

    const/4 v5, 0x4

    const/4 v6, 0x0

    const/4 v7, 0x1

    sparse-switch v2, :sswitch_data_518

    :cond_3f
    goto/16 :goto_1ba

    :sswitch_41
    const-string v2, "USLT"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x20

    goto/16 :goto_1ba

    :sswitch_4d
    const-string v2, "TYER"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x1e

    goto/16 :goto_1ba

    :sswitch_59
    const-string v2, "TRCK"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x18

    goto/16 :goto_1ba

    :sswitch_65
    const-string v2, "TPOS"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x16

    goto/16 :goto_1ba

    :sswitch_71
    const-string v2, "TPE2"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x14

    goto/16 :goto_1ba

    :sswitch_7d
    const-string v2, "TPE1"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x12

    goto/16 :goto_1ba

    :sswitch_89
    const-string v2, "TLEN"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x10

    goto/16 :goto_1ba

    :sswitch_95
    const-string v2, "TIT2"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x1c

    goto/16 :goto_1ba

    :sswitch_a1
    const-string v2, "TIT1"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x1a

    goto/16 :goto_1ba

    :sswitch_ad
    const-string v2, "TDRC"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0xe

    goto/16 :goto_1ba

    :sswitch_b9
    const-string v2, "TCOP"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0xd

    goto/16 :goto_1ba

    :sswitch_c5
    const-string v2, "TCON"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0xb

    goto/16 :goto_1ba

    :sswitch_d1
    const-string v2, "TCOM"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x9

    goto/16 :goto_1ba

    :sswitch_dd
    const-string v2, "TCMP"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/4 v1, 0x7

    goto/16 :goto_1ba

    :sswitch_e8
    const-string v2, "TALB"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/4 v1, 0x5

    goto/16 :goto_1ba

    :sswitch_f3
    const-string v2, "COMM"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/4 v1, 0x3

    goto/16 :goto_1ba

    :sswitch_fe
    const-string v2, "APIC"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/4 v1, 0x1

    goto/16 :goto_1ba

    :sswitch_109
    const-string v2, "ULT"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x1f

    goto/16 :goto_1ba

    :sswitch_115
    const-string v2, "TYE"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x1d

    goto/16 :goto_1ba

    :sswitch_121
    const-string v2, "TT2"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x1b

    goto/16 :goto_1ba

    :sswitch_12d
    const-string v2, "TT1"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x19

    goto/16 :goto_1ba

    :sswitch_139
    const-string v2, "TRK"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x17

    goto/16 :goto_1ba

    :sswitch_145
    const-string v2, "TPA"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x15

    goto/16 :goto_1ba

    :sswitch_151
    const-string v2, "TP2"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x13

    goto :goto_1ba

    :sswitch_15c
    const-string v2, "TP1"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x11

    goto :goto_1ba

    :sswitch_167
    const-string v2, "TLE"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0xf

    goto :goto_1ba

    :sswitch_172
    const-string v2, "TCR"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0xc

    goto :goto_1ba

    :sswitch_17d
    const-string v2, "TCP"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/4 v1, 0x6

    goto :goto_1ba

    :sswitch_187
    const-string v2, "TCO"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0xa

    goto :goto_1ba

    :sswitch_192
    const-string v2, "TCM"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/16 v1, 0x8

    goto :goto_1ba

    :sswitch_19d
    const-string v2, "TAL"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/4 v1, 0x4

    goto :goto_1ba

    :sswitch_1a7
    const-string v2, "PIC"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/4 v1, 0x0

    goto :goto_1ba

    :sswitch_1b1
    const-string v2, "COM"

    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    const/4 v1, 0x2

    :goto_1ba
    const/16 v0, 0x2f

    packed-switch v1, :pswitch_data_59e

    goto/16 :goto_516

    .line 331
    :pswitch_1c1
    iget-object v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->lyrics:Ljava/lang/String;

    if-nez v0, :cond_516

    .line 332
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseCommentOrUnsynchronizedLyricsFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$CommentOrUnsynchronizedLyrics;

    move-result-object v0

    iget-object v0, v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$CommentOrUnsynchronizedLyrics;->text:Ljava/lang/String;

    iput-object v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->lyrics:Ljava/lang/String;

    goto/16 :goto_516

    .line 318
    :pswitch_1cf
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v0

    .line 319
    .local v0, "tyer":Ljava/lang/String;
    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v1

    if-lez v1, :cond_516

    .line 321
    :try_start_1d9
    invoke-static {v0}, Ljava/lang/Short;->valueOf(Ljava/lang/String;)Ljava/lang/Short;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/Short;->shortValue()S

    move-result v1

    iput-short v1, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->year:S
    :try_end_1e3
    .catch Ljava/lang/NumberFormatException; {:try_start_1d9 .. :try_end_1e3} :catch_1e4

    goto :goto_207

    .line 322
    :catch_1e4
    move-exception v1

    .line 323
    .local v1, "e":Ljava/lang/NumberFormatException;
    sget-object v2, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    invoke-virtual {v2, v3}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v2

    if-eqz v2, :cond_207

    .line 324
    sget-object v2, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "Could not parse year: "

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v2, v3, v4}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V

    .line 326
    .end local v1    # "e":Ljava/lang/NumberFormatException;
    :cond_207
    :goto_207
    goto/16 :goto_516

    .line 314
    .end local v0    # "tyer":Ljava/lang/String;
    :pswitch_209
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->title:Ljava/lang/String;

    .line 315
    goto/16 :goto_516

    .line 310
    :pswitch_211
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->grouping:Ljava/lang/String;

    .line 311
    goto/16 :goto_516

    .line 279
    :pswitch_219
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v1

    .line 280
    .local v1, "trck":Ljava/lang/String;
    invoke-virtual {v1}, Ljava/lang/String;->length()I

    move-result v2

    if-lez v2, :cond_516

    .line 281
    invoke-virtual {v1, v0}, Ljava/lang/String;->indexOf(I)I

    move-result v0

    .line 282
    .local v0, "index":I
    const-string v2, "Could not parse track number: "

    if-gez v0, :cond_258

    .line 284
    :try_start_22b
    invoke-static {v1}, Ljava/lang/Short;->valueOf(Ljava/lang/String;)Ljava/lang/Short;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/Short;->shortValue()S

    move-result v3

    iput-short v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->track:S
    :try_end_235
    .catch Ljava/lang/NumberFormatException; {:try_start_22b .. :try_end_235} :catch_236

    goto :goto_257

    .line 285
    :catch_236
    move-exception v3

    .line 286
    .local v3, "e":Ljava/lang/NumberFormatException;
    sget-object v4, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v5, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    invoke-virtual {v4, v5}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v4

    if-eqz v4, :cond_257

    .line 287
    sget-object v4, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v5, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v4, v5, v2}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V

    .line 289
    .end local v3    # "e":Ljava/lang/NumberFormatException;
    :cond_257
    :goto_257
    goto :goto_2bc

    .line 292
    :cond_258
    :try_start_258
    invoke-virtual {v1, v6, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Short;->valueOf(Ljava/lang/String;)Ljava/lang/Short;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/Short;->shortValue()S

    move-result v3

    iput-short v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->track:S
    :try_end_266
    .catch Ljava/lang/NumberFormatException; {:try_start_258 .. :try_end_266} :catch_267

    .line 297
    goto :goto_288

    .line 293
    :catch_267
    move-exception v3

    .line 294
    .restart local v3    # "e":Ljava/lang/NumberFormatException;
    sget-object v4, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v5, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    invoke-virtual {v4, v5}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v4

    if-eqz v4, :cond_288

    .line 295
    sget-object v4, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v5, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v4, v5, v2}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V

    .line 299
    .end local v3    # "e":Ljava/lang/NumberFormatException;
    :cond_288
    :goto_288
    add-int/lit8 v2, v0, 0x1

    :try_start_28a
    invoke-virtual {v1, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/Short;->valueOf(Ljava/lang/String;)Ljava/lang/Short;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Short;->shortValue()S

    move-result v2

    iput-short v2, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->tracks:S
    :try_end_298
    .catch Ljava/lang/NumberFormatException; {:try_start_28a .. :try_end_298} :catch_299

    .line 304
    goto :goto_2bc

    .line 300
    :catch_299
    move-exception v2

    .line 301
    .local v2, "e":Ljava/lang/NumberFormatException;
    sget-object v3, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v4, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    invoke-virtual {v3, v4}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v3

    if-eqz v3, :cond_2bc

    .line 302
    sget-object v3, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v4, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    const-string v6, "Could not parse number of tracks: "

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v3, v4, v5}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V

    .line 306
    .end local v0    # "index":I
    .end local v2    # "e":Ljava/lang/NumberFormatException;
    :cond_2bc
    :goto_2bc
    goto/16 :goto_516

    .line 248
    .end local v1    # "trck":Ljava/lang/String;
    :pswitch_2be
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v1

    .line 249
    .local v1, "tpos":Ljava/lang/String;
    invoke-virtual {v1}, Ljava/lang/String;->length()I

    move-result v2

    if-lez v2, :cond_516

    .line 250
    invoke-virtual {v1, v0}, Ljava/lang/String;->indexOf(I)I

    move-result v0

    .line 251
    .restart local v0    # "index":I
    const-string v2, "Could not parse disc number: "

    if-gez v0, :cond_2fd

    .line 253
    :try_start_2d0
    invoke-static {v1}, Ljava/lang/Short;->valueOf(Ljava/lang/String;)Ljava/lang/Short;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/Short;->shortValue()S

    move-result v3

    iput-short v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->disc:S
    :try_end_2da
    .catch Ljava/lang/NumberFormatException; {:try_start_2d0 .. :try_end_2da} :catch_2db

    goto :goto_2fc

    .line 254
    :catch_2db
    move-exception v3

    .line 255
    .restart local v3    # "e":Ljava/lang/NumberFormatException;
    sget-object v4, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v5, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    invoke-virtual {v4, v5}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v4

    if-eqz v4, :cond_2fc

    .line 256
    sget-object v4, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v5, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v4, v5, v2}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V

    .line 258
    .end local v3    # "e":Ljava/lang/NumberFormatException;
    :cond_2fc
    :goto_2fc
    goto :goto_361

    .line 261
    :cond_2fd
    :try_start_2fd
    invoke-virtual {v1, v6, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Short;->valueOf(Ljava/lang/String;)Ljava/lang/Short;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/Short;->shortValue()S

    move-result v3

    iput-short v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->disc:S
    :try_end_30b
    .catch Ljava/lang/NumberFormatException; {:try_start_2fd .. :try_end_30b} :catch_30c

    .line 266
    goto :goto_32d

    .line 262
    :catch_30c
    move-exception v3

    .line 263
    .restart local v3    # "e":Ljava/lang/NumberFormatException;
    sget-object v4, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v5, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    invoke-virtual {v4, v5}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v4

    if-eqz v4, :cond_32d

    .line 264
    sget-object v4, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v5, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v4, v5, v2}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V

    .line 268
    .end local v3    # "e":Ljava/lang/NumberFormatException;
    :cond_32d
    :goto_32d
    add-int/lit8 v2, v0, 0x1

    :try_start_32f
    invoke-virtual {v1, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/Short;->valueOf(Ljava/lang/String;)Ljava/lang/Short;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Short;->shortValue()S

    move-result v2

    iput-short v2, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->discs:S
    :try_end_33d
    .catch Ljava/lang/NumberFormatException; {:try_start_32f .. :try_end_33d} :catch_33e

    .line 273
    goto :goto_361

    .line 269
    :catch_33e
    move-exception v2

    .line 270
    .restart local v2    # "e":Ljava/lang/NumberFormatException;
    sget-object v3, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v4, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    invoke-virtual {v3, v4}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v3

    if-eqz v3, :cond_361

    .line 271
    sget-object v3, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v4, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    const-string v6, "Could not parse number of discs: "

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v3, v4, v5}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V

    .line 275
    .end local v0    # "index":I
    .end local v2    # "e":Ljava/lang/NumberFormatException;
    :cond_361
    :goto_361
    goto/16 :goto_516

    .line 244
    .end local v1    # "tpos":Ljava/lang/String;
    :pswitch_363
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->albumArtist:Ljava/lang/String;

    .line 245
    goto/16 :goto_516

    .line 240
    :pswitch_36b
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->artist:Ljava/lang/String;

    .line 241
    goto/16 :goto_516

    .line 229
    :pswitch_373
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v0

    .line 231
    .local v0, "tlen":Ljava/lang/String;
    :try_start_377
    invoke-static {v0}, Ljava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/Long;->longValue()J

    move-result-wide v1

    iput-wide v1, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->duration:J
    :try_end_381
    .catch Ljava/lang/NumberFormatException; {:try_start_377 .. :try_end_381} :catch_383

    .line 236
    goto/16 :goto_516

    .line 232
    :catch_383
    move-exception v1

    .line 233
    .local v1, "e":Ljava/lang/NumberFormatException;
    sget-object v2, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    invoke-virtual {v2, v3}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v2

    if-eqz v2, :cond_3a6

    .line 234
    sget-object v2, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "Could not parse track duration: "

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v2, v3, v4}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V

    .line 237
    .end local v1    # "e":Ljava/lang/NumberFormatException;
    :cond_3a6
    goto/16 :goto_516

    .line 216
    .end local v0    # "tlen":Ljava/lang/String;
    :pswitch_3a8
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v0

    .line 217
    .local v0, "tdrc":Ljava/lang/String;
    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v1

    if-lt v1, v5, :cond_516

    .line 219
    :try_start_3b2
    invoke-virtual {v0, v6, v5}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Ljava/lang/Short;->valueOf(Ljava/lang/String;)Ljava/lang/Short;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/Short;->shortValue()S

    move-result v1

    iput-short v1, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->year:S
    :try_end_3c0
    .catch Ljava/lang/NumberFormatException; {:try_start_3b2 .. :try_end_3c0} :catch_3c1

    goto :goto_3e4

    .line 220
    :catch_3c1
    move-exception v1

    .line 221
    .restart local v1    # "e":Ljava/lang/NumberFormatException;
    sget-object v2, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    invoke-virtual {v2, v3}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v2

    if-eqz v2, :cond_3e4

    .line 222
    sget-object v2, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->LOGGER:Ljava/util/logging/Logger;

    iget-object v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->debugLevel:Ljava/util/logging/Level;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "Could not parse year from: "

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v2, v3, v4}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V

    .line 224
    .end local v1    # "e":Ljava/lang/NumberFormatException;
    :cond_3e4
    :goto_3e4
    goto/16 :goto_516

    .line 213
    .end local v0    # "tdrc":Ljava/lang/String;
    :pswitch_3e6
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->copyright:Ljava/lang/String;

    .line 214
    goto/16 :goto_516

    .line 187
    :pswitch_3ee
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v0

    .line 188
    .local v0, "tcon":Ljava/lang/String;
    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v1

    if-lez v1, :cond_516

    .line 189
    iput-object v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->genre:Ljava/lang/String;

    .line 191
    const/4 v1, 0x0

    .line 192
    .local v1, "id3v1Genre":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v1Genre;
    :try_start_3fb
    invoke-virtual {v0, v6}, Ljava/lang/String;->charAt(I)C

    move-result v2

    const/16 v3, 0x28

    if-ne v2, v3, :cond_42b

    .line 193
    const/16 v2, 0x29

    invoke-virtual {v0, v2}, Ljava/lang/String;->indexOf(I)I

    move-result v2

    .line 194
    .local v2, "pos":I
    if-le v2, v7, :cond_42a

    .line 195
    invoke-virtual {v0, v7, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    invoke-static {v3}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v1Genre;->getGenre(I)Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v1Genre;

    move-result-object v3

    move-object v1, v3

    .line 196
    if-nez v1, :cond_42a

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v4, v2, 0x1

    if-le v3, v4, :cond_42a

    .line 197
    add-int/lit8 v3, v2, 0x1

    invoke-virtual {v0, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v3

    iput-object v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->genre:Ljava/lang/String;

    .line 200
    .end local v2    # "pos":I
    :cond_42a
    goto :goto_434

    .line 201
    :cond_42b
    invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v2

    invoke-static {v2}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v1Genre;->getGenre(I)Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v1Genre;

    move-result-object v2

    move-object v1, v2

    .line 203
    :goto_434
    if-eqz v1, :cond_43e

    .line 204
    invoke-virtual {v1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v1Genre;->getDescription()Ljava/lang/String;

    move-result-object v2

    iput-object v2, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->genre:Ljava/lang/String;
    :try_end_43c
    .catch Ljava/lang/NumberFormatException; {:try_start_3fb .. :try_end_43c} :catch_43d

    goto :goto_43e

    .line 206
    .end local v1    # "id3v1Genre":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v1Genre;
    :catch_43d
    move-exception v1

    .line 208
    :cond_43e
    :goto_43e
    goto/16 :goto_516

    .line 183
    .end local v0    # "tcon":Ljava/lang/String;
    :pswitch_440
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->composer:Ljava/lang/String;

    .line 184
    goto/16 :goto_516

    .line 179
    :pswitch_448
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "1"

    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    iput-boolean v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->compilation:Z

    .line 180
    goto/16 :goto_516

    .line 175
    :pswitch_456
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->album:Ljava/lang/String;

    .line 176
    goto/16 :goto_516

    .line 168
    :pswitch_45e
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseCommentOrUnsynchronizedLyricsFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$CommentOrUnsynchronizedLyrics;

    move-result-object v0

    .line 169
    .local v0, "comm":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$CommentOrUnsynchronizedLyrics;
    iget-object v1, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->comment:Ljava/lang/String;

    if-eqz v1, :cond_474

    iget-object v1, v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$CommentOrUnsynchronizedLyrics;->description:Ljava/lang/String;

    if-eqz v1, :cond_474

    iget-object v1, v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$CommentOrUnsynchronizedLyrics;->description:Ljava/lang/String;

    const-string v2, ""

    invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_516

    .line 170
    :cond_474
    iget-object v1, v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$CommentOrUnsynchronizedLyrics;->text:Ljava/lang/String;

    iput-object v1, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->comment:Ljava/lang/String;

    goto/16 :goto_516

    .line 130
    .end local v0    # "comm":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$CommentOrUnsynchronizedLyrics;
    :pswitch_47a
    iget-object v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->cover:Landroid/graphics/Bitmap;

    if-eqz v0, :cond_482

    iget-byte v0, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->coverPictureType:B

    if-eq v0, v3, :cond_516

    .line 131
    :cond_482
    invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->parseAttachedPictureFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$AttachedPicture;

    move-result-object v0

    .line 132
    .local v0, "picture":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$AttachedPicture;
    iget-object v1, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->cover:Landroid/graphics/Bitmap;

    if-eqz v1, :cond_492

    iget-byte v1, v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$AttachedPicture;->type:B

    if-eq v1, v3, :cond_492

    iget-byte v1, v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$AttachedPicture;->type:B

    if-nez v1, :cond_515

    .line 134
    :cond_492
    :try_start_492
    iget-object v1, v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$AttachedPicture;->imageData:[B

    .line 135
    .local v1, "bytes":[B
    new-instance v2, Landroid/graphics/BitmapFactory$Options;

    invoke-direct {v2}, Landroid/graphics/BitmapFactory$Options;-><init>()V

    .line 136
    .local v2, "opts":Landroid/graphics/BitmapFactory$Options;
    iput-boolean v7, v2, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z

    .line 137
    iput v7, v2, Landroid/graphics/BitmapFactory$Options;->inSampleSize:I

    .line 138
    array-length v3, v1

    invoke-static {v1, v6, v3, v2}, Landroid/graphics/BitmapFactory;->decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;

    .line 139
    iget v3, v2, Landroid/graphics/BitmapFactory$Options;->outWidth:I

    const/16 v5, 0x320

    if-gt v3, v5, :cond_4ab

    iget v3, v2, Landroid/graphics/BitmapFactory$Options;->outHeight:I

    if-le v3, v5, :cond_4bf

    .line 140
    :cond_4ab
    iget v3, v2, Landroid/graphics/BitmapFactory$Options;->outWidth:I

    iget v8, v2, Landroid/graphics/BitmapFactory$Options;->outHeight:I

    invoke-static {v3, v8}, Ljava/lang/Math;->max(II)I

    move-result v3

    .line 141
    .local v3, "size":I
    :goto_4b3
    if-le v3, v5, :cond_4bf

    .line 142
    iget v8, v2, Landroid/graphics/BitmapFactory$Options;->inSampleSize:I

    mul-int/lit8 v8, v8, 0x2

    iput v8, v2, Landroid/graphics/BitmapFactory$Options;->inSampleSize:I

    .line 143
    div-int/lit8 v8, v3, 0x2

    move v3, v8

    goto :goto_4b3

    .line 146
    .end local v3    # "size":I
    :cond_4bf
    iput-boolean v6, v2, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z

    .line 147
    array-length v3, v1

    invoke-static {v1, v6, v3, v2}, Landroid/graphics/BitmapFactory;->decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;

    move-result-object v3

    iput-object v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->cover:Landroid/graphics/Bitmap;

    .line 148
    iget-object v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->cover:Landroid/graphics/Bitmap;

    if-eqz v3, :cond_50c

    .line 149
    iget-object v3, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->cover:Landroid/graphics/Bitmap;

    invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v3

    iget-object v4, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->cover:Landroid/graphics/Bitmap;

    invoke-virtual {v4}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v4

    invoke-static {v3, v4}, Ljava/lang/Math;->max(II)I

    move-result v3

    int-to-float v3, v3

    const/high16 v4, 0x42f00000    # 120.0f

    div-float/2addr v3, v4

    .line 150
    .local v3, "scale":F
    const/4 v4, 0x0

    cmpl-float v4, v3, v4

    if-lez v4, :cond_500

    .line 151
    iget-object v4, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->cover:Landroid/graphics/Bitmap;

    iget-object v5, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->cover:Landroid/graphics/Bitmap;

    invoke-virtual {v5}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v5

    int-to-float v5, v5

    div-float/2addr v5, v3

    float-to-int v5, v5

    iget-object v6, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->cover:Landroid/graphics/Bitmap;

    invoke-virtual {v6}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v6

    int-to-float v6, v6

    div-float/2addr v6, v3

    float-to-int v6, v6

    invoke-static {v4, v5, v6, v7}, Landroid/graphics/Bitmap;->createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap;

    move-result-object v4

    iput-object v4, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->smallCover:Landroid/graphics/Bitmap;

    goto :goto_504

    .line 153
    :cond_500
    iget-object v4, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->cover:Landroid/graphics/Bitmap;

    iput-object v4, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->smallCover:Landroid/graphics/Bitmap;

    .line 155
    :goto_504
    iget-object v4, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->smallCover:Landroid/graphics/Bitmap;

    if-nez v4, :cond_50c

    .line 156
    iget-object v4, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->cover:Landroid/graphics/Bitmap;

    iput-object v4, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->smallCover:Landroid/graphics/Bitmap;
    :try_end_50c
    .catchall {:try_start_492 .. :try_end_50c} :catchall_50d

    .line 161
    .end local v1    # "bytes":[B
    .end local v2    # "opts":Landroid/graphics/BitmapFactory$Options;
    .end local v3    # "scale":F
    :cond_50c
    goto :goto_511

    .line 159
    :catchall_50d
    move-exception v1

    .line 160
    .local v1, "e":Ljava/lang/Throwable;
    invoke-virtual {v1}, Ljava/lang/Throwable;->printStackTrace()V

    .line 162
    .end local v1    # "e":Ljava/lang/Throwable;
    :goto_511
    iget-byte v1, v0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$AttachedPicture;->type:B

    iput-byte v1, p0, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info;->coverPictureType:B

    .line 164
    .end local v0    # "picture":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Info$AttachedPicture;
    :cond_515
    nop

    .line 338
    :cond_516
    :goto_516
    return-void

    nop

    :sswitch_data_518
    .sparse-switch
        0x10561 -> :sswitch_1b1
        0x1356a -> :sswitch_1a7
        0x1437f -> :sswitch_19d
        0x143be -> :sswitch_192
        0x143c0 -> :sswitch_187
        0x143c1 -> :sswitch_17d
        0x143c3 -> :sswitch_172
        0x144cd -> :sswitch_167
        0x14535 -> :sswitch_15c
        0x14536 -> :sswitch_151
        0x14545 -> :sswitch_145
        0x1458d -> :sswitch_139
        0x145b1 -> :sswitch_12d
        0x145b2 -> :sswitch_121
        0x14660 -> :sswitch_115
        0x1489d -> :sswitch_109
        0x1ec189 -> :sswitch_fe
        0x1fa70c -> :sswitch_f3
        0x272ca3 -> :sswitch_e8
        0x273452 -> :sswitch_dd
        0x27348d -> :sswitch_d1
        0x27348e -> :sswitch_c5
        0x273490 -> :sswitch_b9
        0x2738a1 -> :sswitch_ad
        0x274b92 -> :sswitch_a1
        0x274b93 -> :sswitch_95
        0x275521 -> :sswitch_89
        0x276408 -> :sswitch_7d
        0x276409 -> :sswitch_71
        0x276560 -> :sswitch_65
        0x276b66 -> :sswitch_59
        0x2785f2 -> :sswitch_4d
        0x27e4a6 -> :sswitch_41
    .end sparse-switch

    :pswitch_data_59e
    .packed-switch 0x0
        :pswitch_47a
        :pswitch_47a
        :pswitch_45e
        :pswitch_45e
        :pswitch_456
        :pswitch_456
        :pswitch_448
        :pswitch_448
        :pswitch_440
        :pswitch_440
        :pswitch_3ee
        :pswitch_3ee
        :pswitch_3e6
        :pswitch_3e6
        :pswitch_3a8
        :pswitch_373
        :pswitch_373
        :pswitch_36b
        :pswitch_36b
        :pswitch_363
        :pswitch_363
        :pswitch_2be
        :pswitch_2be
        :pswitch_219
        :pswitch_219
        :pswitch_211
        :pswitch_211
        :pswitch_209
        :pswitch_209
        :pswitch_1cf
        :pswitch_1cf
        :pswitch_1c1
        :pswitch_1c1
    .end packed-switch
.end method

.method parseTextFrame(Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;)Ljava/lang/String;
    .registers 5
    .param p1, "frame"    # Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;,
            Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Exception;
        }
    .end annotation

    .line 341
    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->readEncoding()Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;

    move-result-object v0

    .line 342
    .local v0, "encoding":Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;
    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->getRemainingLength()J

    move-result-wide v1

    long-to-int v2, v1

    invoke-virtual {p1, v2, v0}, Lim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2FrameBody;->readFixedLengthString(ILim/tpelyyftgw/messenger/audioinfo/mp3/ID3v2Encoding;)Ljava/lang/String;

    move-result-object v1

    return-object v1
.end method