k.smali

.class public final Lcom/imo/android/imoim/player/k;
.super Lcom/google/android/exoplayer2/trackselection/BaseTrackSelection;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/imo/android/imoim/player/k$a;
    }
.end annotation


# instance fields
.field private final a:I

.field private final b:I

.field private final c:Lcom/google/android/exoplayer2/upstream/BandwidthMeter;

.field private final d:J

.field private final e:J

.field private final f:J

.field private final g:F

.field private final h:F

.field private final i:J

.field private final j:Lcom/google/android/exoplayer2/util/Clock;

.field private k:F

.field private l:I

.field private m:I

.field private n:J

.field private o:[Ljava/lang/String;

.field private p:Z

.field private q:Z

.field private r:J

.field private s:Z

.field private t:Lcom/imo/android/imoim/player/a/a;

.field private u:Lcom/google/android/exoplayer2/ExoPlayer;


# direct methods
.method public constructor <init>(Lcom/google/android/exoplayer2/source/TrackGroup;[ILcom/google/android/exoplayer2/upstream/BandwidthMeter;JJJFFJLcom/imo/android/imoim/player/a/a;Lcom/google/android/exoplayer2/util/Clock;Lcom/google/android/exoplayer2/ExoPlayer;)V
    .registers 26

    move-object v0, p0

    move-object/from16 v1, p16

    .line 297
    invoke-direct {p0, p1, p2}, Lcom/google/android/exoplayer2/trackselection/BaseTrackSelection;-><init>(Lcom/google/android/exoplayer2/source/TrackGroup;[I)V

    const/4 v2, 0x5

    .line 207
    iput v2, v0, Lcom/imo/android/imoim/player/k;->a:I

    const/4 v2, 0x6

    .line 208
    iput v2, v0, Lcom/imo/android/imoim/player/k;->b:I

    const/4 v2, 0x0

    .line 224
    iput-object v2, v0, Lcom/imo/android/imoim/player/k;->o:[Ljava/lang/String;

    const/4 v2, 0x0

    .line 225
    iput-boolean v2, v0, Lcom/imo/android/imoim/player/k;->p:Z

    .line 226
    iput-boolean v2, v0, Lcom/imo/android/imoim/player/k;->q:Z

    const-wide/16 v2, 0x0

    .line 227
    iput-wide v2, v0, Lcom/imo/android/imoim/player/k;->r:J

    const/4 v4, 0x1

    .line 228
    iput-boolean v4, v0, Lcom/imo/android/imoim/player/k;->s:Z

    move-object v5, p3

    .line 298
    iput-object v5, v0, Lcom/imo/android/imoim/player/k;->c:Lcom/google/android/exoplayer2/upstream/BandwidthMeter;

    const-wide/16 v5, 0x3e8

    mul-long v7, p4, v5

    .line 299
    iput-wide v7, v0, Lcom/imo/android/imoim/player/k;->d:J

    mul-long v7, p6, v5

    .line 300
    iput-wide v7, v0, Lcom/imo/android/imoim/player/k;->e:J

    mul-long v5, v5, p8

    .line 301
    iput-wide v5, v0, Lcom/imo/android/imoim/player/k;->f:J

    move/from16 v5, p10

    .line 302
    iput v5, v0, Lcom/imo/android/imoim/player/k;->g:F

    move/from16 v5, p11

    .line 303
    iput v5, v0, Lcom/imo/android/imoim/player/k;->h:F

    move-wide/from16 v5, p12

    .line 305
    iput-wide v5, v0, Lcom/imo/android/imoim/player/k;->i:J

    move-object/from16 v5, p15

    .line 306
    iput-object v5, v0, Lcom/imo/android/imoim/player/k;->j:Lcom/google/android/exoplayer2/util/Clock;

    .line 307
    iput-object v1, v0, Lcom/imo/android/imoim/player/k;->u:Lcom/google/android/exoplayer2/ExoPlayer;

    const/high16 v5, 0x3f800000    # 1.0f

    .line 309
    iput v5, v0, Lcom/imo/android/imoim/player/k;->k:F

    .line 310
    iput v4, v0, Lcom/imo/android/imoim/player/k;->m:I

    const-wide v5, -0x7fffffffffffffffL    # -4.9E-324

    .line 311
    iput-wide v5, v0, Lcom/imo/android/imoim/player/k;->n:J

    .line 317
    invoke-static/range {p16 .. p16}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v5

    const-string v6, "constructor player="

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

    move-result-object v5

    const-string v6, "NervABRTrackSelection"

    .line 1071
    invoke-static {v6, v5}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    if-eqz v1, :cond_61

    .line 318
    invoke-interface/range {p16 .. p16}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentPosition()J

    move-result-wide v7

    goto :goto_62

    :cond_61
    move-wide v7, v2

    .line 319
    :goto_62
    invoke-static {}, Lcom/imo/android/imoim/player/o;->a()Lcom/imo/android/imoim/player/o;

    move-result-object v1

    .line 1184
    iget v1, v1, Lcom/imo/android/imoim/player/o;->a:I

    cmp-long v5, v7, v2

    if-nez v5, :cond_71

    const/4 v2, -0x1

    if-eq v1, v2, :cond_71

    move v2, v1

    goto :goto_74

    .line 323
    :cond_71
    iget v2, v0, Lcom/imo/android/imoim/player/k;->length:I

    sub-int/2addr v2, v4

    .line 325
    :goto_74
    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "firstSelection idx:"

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

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

    const-string v4, " lastIdx:"

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

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

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

    move-result-object v1

    .line 2071
    invoke-static {v6, v1}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 326
    iput v2, v0, Lcom/imo/android/imoim/player/k;->l:I

    move-object/from16 v1, p14

    .line 327
    iput-object v1, v0, Lcom/imo/android/imoim/player/k;->t:Lcom/imo/android/imoim/player/a/a;

    return-void
.end method

.method public constructor <init>(Lcom/google/android/exoplayer2/source/TrackGroup;[ILcom/google/android/exoplayer2/upstream/BandwidthMeter;Lcom/google/android/exoplayer2/ExoPlayer;)V
    .registers 22

    move-object/from16 v0, p0

    move-object/from16 v1, p1

    move-object/from16 v2, p2

    move-object/from16 v3, p3

    move-object/from16 v16, p4

    .line 242
    sget-object v15, Lcom/google/android/exoplayer2/util/Clock;->DEFAULT:Lcom/google/android/exoplayer2/util/Clock;

    const-wide/16 v4, 0x2710

    const-wide/16 v6, 0x61a8

    const-wide/16 v8, 0x61a8

    const/high16 v10, 0x3f400000    # 0.75f

    const/high16 v11, 0x3f400000    # 0.75f

    const-wide/16 v12, 0x7d0

    const/4 v14, 0x0

    invoke-direct/range {v0 .. v16}, Lcom/imo/android/imoim/player/k;-><init>(Lcom/google/android/exoplayer2/source/TrackGroup;[ILcom/google/android/exoplayer2/upstream/BandwidthMeter;JJJFFJLcom/imo/android/imoim/player/a/a;Lcom/google/android/exoplayer2/util/Clock;Lcom/google/android/exoplayer2/ExoPlayer;)V

    return-void
.end method

.method private static a(JDJ)D
    .registers 10

    long-to-double p0, p0

    const-wide v0, 0x408f400000000000L    # 1000.0

    .line 535
    invoke-static {p0, p1}, Ljava/lang/Double;->isNaN(D)Z

    div-double/2addr p0, v0

    div-double/2addr p0, v0

    const-wide/high16 v2, 0x4034000000000000L    # 20.0

    mul-double p2, p2, v2

    sub-double/2addr p0, p2

    long-to-double p2, p4

    const-wide/high16 p4, 0x4000000000000000L    # 2.0

    invoke-static {p2, p3}, Ljava/lang/Double;->isNaN(D)Z

    mul-double p2, p2, p4

    div-double/2addr p2, v0

    div-double/2addr p2, v0

    sub-double/2addr p0, p2

    return-wide p0
.end method

.method private a(J)I
    .registers 30

    move-object/from16 v0, p0

    .line 542
    iget-object v1, v0, Lcom/imo/android/imoim/player/k;->o:[Ljava/lang/String;

    if-nez v1, :cond_f

    const/4 v1, 0x5

    .line 543
    iget v2, v0, Lcom/imo/android/imoim/player/k;->length:I

    invoke-direct {v0, v1, v2}, Lcom/imo/android/imoim/player/k;->a(II)[Ljava/lang/String;

    move-result-object v1

    iput-object v1, v0, Lcom/imo/android/imoim/player/k;->o:[Ljava/lang/String;

    :cond_f
    const-wide v1, -0x7fffffffffffffffL    # -4.9E-324

    cmp-long v5, p1, v1

    if-nez v5, :cond_1b

    const-wide/16 v1, 0x0

    goto :goto_1d

    :cond_1b
    move-wide/from16 v1, p1

    .line 548
    :goto_1d
    iget-object v5, v0, Lcom/imo/android/imoim/player/k;->c:Lcom/google/android/exoplayer2/upstream/BandwidthMeter;

    invoke-interface {v5}, Lcom/google/android/exoplayer2/upstream/BandwidthMeter;->getBitrateEstimate()J

    move-result-wide v5

    .line 549
    iget-object v7, v0, Lcom/imo/android/imoim/player/k;->c:Lcom/google/android/exoplayer2/upstream/BandwidthMeter;

    check-cast v7, Lcom/imo/android/imoim/player/g;

    invoke-virtual {v7}, Lcom/imo/android/imoim/player/g;->a()D

    const-wide v7, -0x3f07960000000000L    # -100000.0

    const/4 v9, 0x0

    const/4 v11, 0x0

    .line 555
    :goto_31
    iget-object v12, v0, Lcom/imo/android/imoim/player/k;->o:[Ljava/lang/String;

    array-length v13, v12

    if-ge v11, v13, :cond_b9

    .line 556
    aget-object v12, v12, v11

    long-to-double v13, v1

    const-wide v15, 0x408f400000000000L    # 1000.0

    .line 558
    invoke-static {v13, v14}, Ljava/lang/Double;->isNaN(D)Z

    div-double/2addr v13, v15

    div-double/2addr v13, v15

    .line 561
    iget v15, v0, Lcom/imo/android/imoim/player/k;->l:I

    const-wide/16 v16, 0x0

    move-wide/from16 v20, v16

    const/4 v3, 0x0

    const-wide/16 v18, 0x0

    const-wide/16 v22, 0x0

    .line 562
    :goto_4e
    invoke-virtual {v12}, Ljava/lang/String;->length()I

    move-result v4

    if-ge v3, v4, :cond_a2

    .line 563
    invoke-virtual {v12, v3}, Ljava/lang/String;->charAt(I)C

    move-result v4

    add-int/lit8 v4, v4, -0x30

    .line 566
    invoke-virtual {v0, v4}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v10

    iget v10, v10, Lcom/google/android/exoplayer2/Format;->bitrate:I

    move-wide/from16 v24, v1

    int-to-double v1, v10

    move-object/from16 p2, v9

    long-to-double v9, v5

    invoke-static {v1, v2}, Ljava/lang/Double;->isNaN(D)Z

    invoke-static {v9, v10}, Ljava/lang/Double;->isNaN(D)Z

    div-double/2addr v1, v9

    const-wide/high16 v9, 0x4018000000000000L    # 6.0

    mul-double v1, v1, v9

    cmpg-double v26, v13, v1

    if-gez v26, :cond_7b

    sub-double/2addr v1, v13

    add-double v20, v20, v1

    move-wide/from16 v13, v16

    goto :goto_7c

    :cond_7b
    sub-double/2addr v13, v1

    :goto_7c
    add-double/2addr v13, v9

    .line 575
    invoke-virtual {v0, v4}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v1

    iget v1, v1, Lcom/google/android/exoplayer2/Format;->bitrate:I

    int-to-long v1, v1

    add-long v18, v18, v1

    .line 576
    invoke-virtual {v0, v15}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v1

    iget v1, v1, Lcom/google/android/exoplayer2/Format;->bitrate:I

    invoke-virtual {v0, v4}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v2

    iget v2, v2, Lcom/google/android/exoplayer2/Format;->bitrate:I

    sub-int/2addr v1, v2

    invoke-static {v1}, Ljava/lang/Math;->abs(I)I

    move-result v1

    int-to-long v1, v1

    add-long v22, v22, v1

    add-int/lit8 v3, v3, 0x1

    move-object/from16 v9, p2

    move v15, v4

    move-wide/from16 v1, v24

    goto :goto_4e

    :cond_a2
    move-wide/from16 v24, v1

    move-object/from16 p2, v9

    .line 579
    invoke-static/range {v18 .. v23}, Lcom/imo/android/imoim/player/k;->a(JDJ)D

    move-result-wide v1

    cmpl-double v3, v1, v7

    if-ltz v3, :cond_b1

    move-wide v7, v1

    move-object v9, v12

    goto :goto_b3

    :cond_b1
    move-object/from16 v9, p2

    :goto_b3
    add-int/lit8 v11, v11, 0x1

    move-wide/from16 v1, v24

    goto/16 :goto_31

    :cond_b9
    move-object/from16 p2, v9

    if-nez p2, :cond_c2

    .line 585
    iget v1, v0, Lcom/imo/android/imoim/player/k;->length:I

    add-int/lit8 v1, v1, -0x1

    return v1

    :cond_c2
    move-object/from16 v9, p2

    const/4 v1, 0x0

    invoke-virtual {v9, v1}, Ljava/lang/String;->charAt(I)C

    move-result v1

    add-int/lit8 v1, v1, -0x30

    return v1
.end method

.method private a(II)[Ljava/lang/String;
    .registers 10

    const/4 v0, 0x0

    const/4 v1, 0x1

    const/4 v2, 0x0

    const/4 v3, 0x1

    :goto_4
    if-ge v2, p1, :cond_b

    mul-int v3, v3, p2

    add-int/lit8 v2, v2, 0x1

    goto :goto_4

    .line 515
    :cond_b
    new-array v2, v3, [Ljava/lang/String;

    if-ne p1, v1, :cond_1b

    :goto_f
    if-ge v0, v3, :cond_1a

    .line 518
    invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object p1

    aput-object p1, v2, v0

    add-int/lit8 v0, v0, 0x1

    goto :goto_f

    :cond_1a
    return-object v2

    :cond_1b
    sub-int/2addr p1, v1

    .line 522
    invoke-direct {p0, p1, p2}, Lcom/imo/android/imoim/player/k;->a(II)[Ljava/lang/String;

    move-result-object p1

    const/4 v1, 0x0

    .line 523
    :goto_21
    array-length v3, p1

    if-ge v1, v3, :cond_47

    const/4 v3, 0x0

    :goto_25
    if-ge v3, p2, :cond_44

    mul-int v4, v1, p2

    add-int/2addr v4, v3

    .line 525
    new-instance v5, Ljava/lang/StringBuilder;

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

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

    move-result-object v6

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

    aget-object v6, p1, v1

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

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

    move-result-object v5

    aput-object v5, v2, v4

    add-int/lit8 v3, v3, 0x1

    goto :goto_25

    :cond_44
    add-int/lit8 v1, v1, 0x1

    goto :goto_21

    :cond_47
    return-object v2
.end method


# virtual methods
.method public final evaluateQueueSize(JLjava/util/List;)I
    .registers 13
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(J",
            "Ljava/util/List<",
            "+",
            "Lcom/google/android/exoplayer2/source/chunk/MediaChunk;",
            ">;)I"
        }
    .end annotation

    .line 468
    invoke-interface {p3}, Ljava/util/List;->isEmpty()Z

    move-result v0

    const/4 v1, 0x0

    if-eqz v0, :cond_8

    return v1

    .line 471
    :cond_8
    invoke-interface {p3}, Ljava/util/List;->size()I

    move-result v0

    add-int/lit8 v2, v0, -0x1

    .line 472
    invoke-interface {p3, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/google/android/exoplayer2/source/chunk/MediaChunk;

    iget-wide v2, v2, Lcom/google/android/exoplayer2/source/chunk/MediaChunk;->endTimeUs:J

    sub-long/2addr v2, p1

    .line 473
    iget-boolean v4, p0, Lcom/imo/android/imoim/player/k;->q:Z

    if-eqz v4, :cond_6e

    iget-wide v4, p0, Lcom/imo/android/imoim/player/k;->f:J

    cmp-long v6, v2, v4

    if-gez v6, :cond_22

    goto :goto_6e

    :cond_22
    const-string v4, "NervABRTrackSelection"

    const-string v5, "determineIdealSelectedIndex in evaluateQueueSize"

    .line 4071
    invoke-static {v4, v5}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 478
    iget-object v4, p0, Lcom/imo/android/imoim/player/k;->j:Lcom/google/android/exoplayer2/util/Clock;

    invoke-interface {v4}, Lcom/google/android/exoplayer2/util/Clock;->elapsedRealtime()J

    invoke-direct {p0, v2, v3}, Lcom/imo/android/imoim/player/k;->a(J)I

    move-result v2

    .line 479
    invoke-virtual {p0, v2}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v2

    :goto_36
    if-ge v1, v0, :cond_6e

    .line 484
    invoke-interface {p3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Lcom/google/android/exoplayer2/source/chunk/MediaChunk;

    .line 485
    iget-object v4, v3, Lcom/google/android/exoplayer2/source/chunk/MediaChunk;->trackFormat:Lcom/google/android/exoplayer2/Format;

    .line 486
    iget-wide v5, v3, Lcom/google/android/exoplayer2/source/chunk/MediaChunk;->startTimeUs:J

    sub-long/2addr v5, p1

    .line 487
    iget-wide v7, p0, Lcom/imo/android/imoim/player/k;->f:J

    cmp-long v3, v5, v7

    if-ltz v3, :cond_6b

    iget v3, v4, Lcom/google/android/exoplayer2/Format;->bitrate:I

    iget v5, v2, Lcom/google/android/exoplayer2/Format;->bitrate:I

    if-ge v3, v5, :cond_6b

    iget v3, v4, Lcom/google/android/exoplayer2/Format;->height:I

    const/4 v5, -0x1

    if-eq v3, v5, :cond_6b

    iget v3, v4, Lcom/google/android/exoplayer2/Format;->height:I

    const/16 v6, 0x2d0

    if-ge v3, v6, :cond_6b

    iget v3, v4, Lcom/google/android/exoplayer2/Format;->width:I

    if-eq v3, v5, :cond_6b

    iget v3, v4, Lcom/google/android/exoplayer2/Format;->width:I

    const/16 v5, 0x500

    if-ge v3, v5, :cond_6b

    iget v3, v4, Lcom/google/android/exoplayer2/Format;->height:I

    iget v4, v2, Lcom/google/android/exoplayer2/Format;->height:I

    if-ge v3, v4, :cond_6b

    return v1

    :cond_6b
    add-int/lit8 v1, v1, 0x1

    goto :goto_36

    :cond_6e
    :goto_6e
    return v0
.end method

.method public final getSelectedIndex()I
    .registers 2

    .line 453
    iget v0, p0, Lcom/imo/android/imoim/player/k;->l:I

    return v0
.end method

.method public final getSelectionData()Ljava/lang/Object;
    .registers 2

    const/4 v0, 0x0

    return-object v0
.end method

.method public final getSelectionReason()I
    .registers 2

    .line 458
    iget v0, p0, Lcom/imo/android/imoim/player/k;->m:I

    return v0
.end method

.method public final updateSelectedTrack(JJJ)V
    .registers 33

    move-object/from16 v0, p0

    move-wide/from16 v1, p5

    .line 347
    iget-object v3, v0, Lcom/imo/android/imoim/player/k;->u:Lcom/google/android/exoplayer2/ExoPlayer;

    const-wide/16 v4, 0x0

    if-nez v3, :cond_c

    move-wide v6, v4

    goto :goto_10

    :cond_c
    invoke-interface {v3}, Lcom/google/android/exoplayer2/ExoPlayer;->getBufferedPosition()J

    move-result-wide v6

    .line 348
    :goto_10
    iget-object v3, v0, Lcom/imo/android/imoim/player/k;->u:Lcom/google/android/exoplayer2/ExoPlayer;

    if-nez v3, :cond_16

    move-wide v8, v4

    goto :goto_1a

    :cond_16
    invoke-interface {v3}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentPosition()J

    move-result-wide v8

    .line 349
    :goto_1a
    iget-boolean v3, v0, Lcom/imo/android/imoim/player/k;->s:Z

    const/4 v10, 0x0

    if-eqz v3, :cond_35

    .line 350
    iput-boolean v10, v0, Lcom/imo/android/imoim/player/k;->s:Z

    .line 352
    invoke-static {}, Lcom/imo/android/imoim/player/o;->a()Lcom/imo/android/imoim/player/o;

    move-result-object v1

    iget v2, v0, Lcom/imo/android/imoim/player/k;->l:I

    invoke-virtual {v1, v2}, Lcom/imo/android/imoim/player/o;->a(I)Ljava/lang/String;

    move-result-object v1

    if-eqz v1, :cond_34

    .line 353
    iget-object v2, v0, Lcom/imo/android/imoim/player/k;->t:Lcom/imo/android/imoim/player/a/a;

    if-eqz v2, :cond_34

    .line 354
    invoke-interface {v2, v1}, Lcom/imo/android/imoim/player/a/a;->a(Ljava/lang/String;)V

    :cond_34
    return-void

    .line 361
    :cond_35
    invoke-static {}, Lcom/imo/android/imoim/player/o;->a()Lcom/imo/android/imoim/player/o;

    move-result-object v3

    .line 2094
    iget-boolean v3, v3, Lcom/imo/android/imoim/player/o;->b:Z

    if-nez v3, :cond_5a

    .line 361
    iget-object v3, v0, Lcom/imo/android/imoim/player/k;->u:Lcom/google/android/exoplayer2/ExoPlayer;

    if-eqz v3, :cond_5a

    invoke-interface {v3}, Lcom/google/android/exoplayer2/ExoPlayer;->getBufferedPosition()J

    move-result-wide v11

    iget-object v3, v0, Lcom/imo/android/imoim/player/k;->u:Lcom/google/android/exoplayer2/ExoPlayer;

    invoke-interface {v3}, Lcom/google/android/exoplayer2/ExoPlayer;->getCurrentPosition()J

    move-result-wide v13

    cmp-long v3, v11, v13

    if-lez v3, :cond_5a

    cmp-long v3, p1, v4

    if-lez v3, :cond_5a

    .line 362
    invoke-static {}, Lcom/imo/android/imoim/player/o;->a()Lcom/imo/android/imoim/player/o;

    move-result-object v3

    invoke-virtual {v3}, Lcom/imo/android/imoim/player/o;->b()V

    .line 364
    :cond_5a
    invoke-static {}, Lcom/imo/android/imoim/player/o;->a()Lcom/imo/android/imoim/player/o;

    move-result-object v3

    .line 3094
    iget-boolean v3, v3, Lcom/imo/android/imoim/player/o;->b:Z

    if-nez v3, :cond_63

    return-void

    .line 373
    :cond_63
    invoke-static {}, Lcom/imo/android/imoim/player/o;->a()Lcom/imo/android/imoim/player/o;

    move-result-object v3

    iget-object v11, v0, Lcom/imo/android/imoim/player/k;->u:Lcom/google/android/exoplayer2/ExoPlayer;

    const-wide/16 v12, 0x3e8

    if-eqz v11, :cond_74

    invoke-interface {v11}, Lcom/google/android/exoplayer2/ExoPlayer;->getBufferedPosition()J

    move-result-wide v14

    mul-long v14, v14, v12

    goto :goto_76

    :cond_74
    add-long v14, p1, p3

    :goto_76
    invoke-virtual {v3, v14, v15}, Lcom/imo/android/imoim/player/o;->a(J)I

    move-result v3

    if-ltz v3, :cond_c4

    .line 374
    iget v11, v0, Lcom/imo/android/imoim/player/k;->length:I

    if-ge v3, v11, :cond_c4

    .line 375
    invoke-static {}, Lcom/imo/android/imoim/player/d;->a()Lcom/imo/android/imoim/player/d;

    move-result-object v14

    iget v15, v0, Lcom/imo/android/imoim/player/k;->l:I

    invoke-virtual {v0, v15}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v1

    iget v1, v1, Lcom/google/android/exoplayer2/Format;->bitrate:I

    int-to-long v1, v1

    const-wide/16 v18, -0x1

    div-long v20, p3, v12

    iget v4, v0, Lcom/imo/android/imoim/player/k;->l:I

    invoke-virtual {v0, v4}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v4

    iget v4, v4, Lcom/google/android/exoplayer2/Format;->bitrate:I

    invoke-virtual {v0, v3}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v5

    iget v5, v5, Lcom/google/android/exoplayer2/Format;->bitrate:I

    sub-int/2addr v4, v5

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

    move-result v4

    int-to-long v4, v4

    move-wide/from16 v16, v1

    move-wide/from16 v22, v4

    invoke-virtual/range {v14 .. v23}, Lcom/imo/android/imoim/player/d;->a(IJJJJ)V

    .line 377
    iget v1, v0, Lcom/imo/android/imoim/player/k;->l:I

    if-eq v1, v3, :cond_c1

    .line 378
    invoke-static {}, Lcom/imo/android/imoim/player/o;->a()Lcom/imo/android/imoim/player/o;

    move-result-object v1

    invoke-virtual {v1, v3}, Lcom/imo/android/imoim/player/o;->a(I)Ljava/lang/String;

    move-result-object v1

    if-eqz v1, :cond_c1

    .line 379
    iget-object v2, v0, Lcom/imo/android/imoim/player/k;->t:Lcom/imo/android/imoim/player/a/a;

    if-eqz v2, :cond_c1

    .line 380
    invoke-interface {v2, v1}, Lcom/imo/android/imoim/player/a/a;->a(Ljava/lang/String;)V

    .line 383
    :cond_c1
    iput v3, v0, Lcom/imo/android/imoim/player/k;->l:I

    return-void

    .line 387
    :cond_c4
    iget-object v3, v0, Lcom/imo/android/imoim/player/k;->j:Lcom/google/android/exoplayer2/util/Clock;

    invoke-interface {v3}, Lcom/google/android/exoplayer2/util/Clock;->elapsedRealtime()J

    move-result-wide v14

    .line 388
    iput-wide v14, v0, Lcom/imo/android/imoim/player/k;->r:J

    .line 390
    iget v3, v0, Lcom/imo/android/imoim/player/k;->l:I

    .line 395
    iget-boolean v11, v0, Lcom/imo/android/imoim/player/k;->p:Z

    if-eqz v11, :cond_e2

    invoke-static {}, Lcom/imo/android/imoim/player/d;->a()Lcom/imo/android/imoim/player/d;

    move-result-object v11

    .line 3278
    iget-boolean v11, v11, Lcom/imo/android/imoim/player/d;->a:Z

    if-eqz v11, :cond_e2

    .line 396
    invoke-static {}, Lcom/imo/android/imoim/player/d;->a()Lcom/imo/android/imoim/player/d;

    move-result-object v1

    invoke-virtual {v1}, Lcom/imo/android/imoim/player/d;->h()V

    return-void

    :cond_e2
    sub-long/2addr v6, v8

    cmp-long v8, v6, v4

    if-lez v8, :cond_e8

    move-wide v4, v6

    :cond_e8
    mul-long v4, v4, v12

    .line 404
    invoke-direct {v0, v4, v5}, Lcom/imo/android/imoim/player/k;->a(J)I

    move-result v4

    iput v4, v0, Lcom/imo/android/imoim/player/k;->l:I

    .line 405
    iget-object v4, v0, Lcom/imo/android/imoim/player/k;->j:Lcom/google/android/exoplayer2/util/Clock;

    invoke-interface {v4}, Lcom/google/android/exoplayer2/util/Clock;->elapsedRealtime()J

    .line 407
    iget v4, v0, Lcom/imo/android/imoim/player/k;->l:I

    if-ne v4, v3, :cond_118

    .line 408
    invoke-static {}, Lcom/imo/android/imoim/player/d;->a()Lcom/imo/android/imoim/player/d;

    move-result-object v16

    iget v1, v0, Lcom/imo/android/imoim/player/k;->l:I

    invoke-virtual {v0, v1}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v2

    iget v2, v2, Lcom/google/android/exoplayer2/Format;->bitrate:I

    int-to-long v2, v2

    iget-object v4, v0, Lcom/imo/android/imoim/player/k;->c:Lcom/google/android/exoplayer2/upstream/BandwidthMeter;

    invoke-interface {v4}, Lcom/google/android/exoplayer2/upstream/BandwidthMeter;->getBitrateEstimate()J

    move-result-wide v20

    div-long v22, p3, v12

    const-wide/16 v24, 0x0

    move/from16 v17, v1

    move-wide/from16 v18, v2

    invoke-virtual/range {v16 .. v25}, Lcom/imo/android/imoim/player/d;->a(IJJJJ)V

    return-void

    .line 413
    :cond_118
    invoke-virtual {v0, v3, v14, v15}, Lcom/imo/android/imoim/player/k;->isBlacklisted(IJ)Z

    move-result v4

    if-nez v4, :cond_15e

    .line 415
    invoke-virtual {v0, v3}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v4

    .line 416
    iget v5, v0, Lcom/imo/android/imoim/player/k;->l:I

    invoke-virtual {v0, v5}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v5

    .line 417
    iget v6, v5, Lcom/google/android/exoplayer2/Format;->bitrate:I

    iget v7, v4, Lcom/google/android/exoplayer2/Format;->bitrate:I

    if-le v6, v7, :cond_150

    const-wide v6, -0x7fffffffffffffffL    # -4.9E-324

    cmp-long v8, v1, v6

    if-eqz v8, :cond_13e

    .line 3616
    iget-wide v6, v0, Lcom/imo/android/imoim/player/k;->d:J

    cmp-long v8, v1, v6

    if-gtz v8, :cond_13e

    const/4 v10, 0x1

    :cond_13e
    if-eqz v10, :cond_147

    long-to-float v1, v1

    .line 3618
    iget v2, v0, Lcom/imo/android/imoim/player/k;->h:F

    mul-float v1, v1, v2

    float-to-long v1, v1

    goto :goto_149

    :cond_147
    iget-wide v1, v0, Lcom/imo/android/imoim/player/k;->d:J

    :goto_149
    cmp-long v6, p3, v1

    if-gez v6, :cond_150

    .line 421
    iput v3, v0, Lcom/imo/android/imoim/player/k;->l:I

    goto :goto_15e

    .line 422
    :cond_150
    iget v1, v5, Lcom/google/android/exoplayer2/Format;->bitrate:I

    iget v2, v4, Lcom/google/android/exoplayer2/Format;->bitrate:I

    if-ge v1, v2, :cond_15e

    iget-wide v1, v0, Lcom/imo/android/imoim/player/k;->e:J

    cmp-long v4, p3, v1

    if-ltz v4, :cond_15e

    .line 426
    iput v3, v0, Lcom/imo/android/imoim/player/k;->l:I

    .line 432
    :cond_15e
    :goto_15e
    iget v1, v0, Lcom/imo/android/imoim/player/k;->l:I

    if-eq v1, v3, :cond_178

    const/4 v1, 0x3

    .line 433
    iput v1, v0, Lcom/imo/android/imoim/player/k;->m:I

    .line 434
    invoke-static {}, Lcom/imo/android/imoim/player/o;->a()Lcom/imo/android/imoim/player/o;

    move-result-object v1

    iget v2, v0, Lcom/imo/android/imoim/player/k;->l:I

    invoke-virtual {v1, v2}, Lcom/imo/android/imoim/player/o;->a(I)Ljava/lang/String;

    move-result-object v1

    if-eqz v1, :cond_178

    .line 435
    iget-object v2, v0, Lcom/imo/android/imoim/player/k;->t:Lcom/imo/android/imoim/player/a/a;

    if-eqz v2, :cond_178

    .line 436
    invoke-interface {v2, v1}, Lcom/imo/android/imoim/player/a/a;->a(Ljava/lang/String;)V

    .line 440
    :cond_178
    invoke-static {}, Lcom/imo/android/imoim/player/d;->a()Lcom/imo/android/imoim/player/d;

    move-result-object v14

    iget v15, v0, Lcom/imo/android/imoim/player/k;->l:I

    invoke-virtual {v0, v15}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v1

    iget v1, v1, Lcom/google/android/exoplayer2/Format;->bitrate:I

    int-to-long v1, v1

    iget-object v4, v0, Lcom/imo/android/imoim/player/k;->c:Lcom/google/android/exoplayer2/upstream/BandwidthMeter;

    invoke-interface {v4}, Lcom/google/android/exoplayer2/upstream/BandwidthMeter;->getBitrateEstimate()J

    move-result-wide v18

    div-long v20, p3, v12

    iget v4, v0, Lcom/imo/android/imoim/player/k;->l:I

    invoke-virtual {v0, v4}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v4

    iget v4, v4, Lcom/google/android/exoplayer2/Format;->bitrate:I

    invoke-virtual {v0, v3}, Lcom/imo/android/imoim/player/k;->getFormat(I)Lcom/google/android/exoplayer2/Format;

    move-result-object v3

    iget v3, v3, Lcom/google/android/exoplayer2/Format;->bitrate:I

    sub-int/2addr v4, v3

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

    move-result v3

    int-to-long v3, v3

    move-wide/from16 v16, v1

    move-wide/from16 v22, v3

    invoke-virtual/range {v14 .. v23}, Lcom/imo/android/imoim/player/d;->a(IJJJJ)V

    return-void
.end method