AnimatedFileDrawable.smali
.class public Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.super Landroid/graphics/drawable/BitmapDrawable;
.source "AnimatedFileDrawable.java"
# interfaces
.implements Landroid/graphics/drawable/Animatable;
# static fields
.field public static final PARAM_NUM_AUDIO_FRAME_SIZE:I = 0x5
.field public static final PARAM_NUM_BITRATE:I = 0x3
.field public static final PARAM_NUM_COUNT:I = 0x9
.field public static final PARAM_NUM_DURATION:I = 0x4
.field public static final PARAM_NUM_FRAMERATE:I = 0x7
.field public static final PARAM_NUM_HEIGHT:I = 0x2
.field public static final PARAM_NUM_IS_AVC:I = 0x0
.field public static final PARAM_NUM_ROTATION:I = 0x8
.field public static final PARAM_NUM_VIDEO_FRAME_SIZE:I = 0x6
.field public static final PARAM_NUM_WIDTH:I = 0x1
.field private static executor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
.field private static final uiHandler:Landroid/os/Handler;
# instance fields
.field private actualDrawRect:Landroid/graphics/RectF;
.field private applyTransformation:Z
.field private backgroundBitmap:Landroid/graphics/Bitmap;
.field private backgroundBitmapTime:I
.field private backgroundShader:Landroid/graphics/BitmapShader;
.field private currentAccount:I
.field private decodeQueue:Lim/tpelyyftgw/messenger/DispatchQueue;
.field private decodeSingleFrame:Z
.field private decoderCreated:Z
.field private destroyWhenDone:Z
.field private final dstRect:Landroid/graphics/Rect;
.field private invalidateAfter:I
.field private volatile isRecycled:Z
.field private volatile isRunning:Z
.field private lastFrameDecodeTime:J
.field private lastFrameTime:J
.field private lastTimeStamp:I
.field private loadFrameRunnable:Ljava/lang/Runnable;
.field private loadFrameTask:Ljava/lang/Runnable;
.field protected final mInvalidateTask:Ljava/lang/Runnable;
.field private final mStartTask:Ljava/lang/Runnable;
.field private final metaData:[I
.field public volatile nativePtr:J
.field private nextRenderingBitmap:Landroid/graphics/Bitmap;
.field private nextRenderingBitmapTime:I
.field private nextRenderingShader:Landroid/graphics/BitmapShader;
.field private parentView:Landroid/view/View;
.field private path:Ljava/io/File;
.field private pendingRemoveLoading:Z
.field private pendingRemoveLoadingFramesReset:I
.field private volatile pendingSeekTo:J
.field private volatile pendingSeekToUI:J
.field private recycleWithSecond:Z
.field private renderingBitmap:Landroid/graphics/Bitmap;
.field private renderingBitmapTime:I
.field private renderingShader:Landroid/graphics/BitmapShader;
.field private roundRadius:I
.field private scaleX:F
.field private scaleY:F
.field private secondParentView:Landroid/view/View;
.field private shaderMatrix:Landroid/graphics/Matrix;
.field private singleFrameDecoded:Z
.field private stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
.field private streamFileSize:J
.field private final sync:Ljava/lang/Object;
.field private uiRunnable:Ljava/lang/Runnable;
.field private uiRunnableNoFrame:Ljava/lang/Runnable;
.field private useSharedQueue:Z
# direct methods
.method static constructor <clinit>()V
.registers 3
.line 93
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
sput-object v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->uiHandler:Landroid/os/Handler;
.line 106
new-instance v0, Ljava/util/concurrent/ScheduledThreadPoolExecutor;
new-instance v1, Ljava/util/concurrent/ThreadPoolExecutor$DiscardPolicy;
invoke-direct {v1}, Ljava/util/concurrent/ThreadPoolExecutor$DiscardPolicy;-><init>()V
const/4 v2, 0x2
invoke-direct {v0, v2, v1}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;-><init>(ILjava/util/concurrent/RejectedExecutionHandler;)V
sput-object v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->executor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
return-void
.end method
.method public constructor <init>(Ljava/io/File;ZJLim/tpelyyftgw/tgnet/TLRPC$Document;Ljava/lang/Object;IZ)V
.registers 25
.param p1, "file" # Ljava/io/File;
.param p2, "createDecoder" # Z
.param p3, "streamSize" # J
.param p5, "document" # Lim/tpelyyftgw/tgnet/TLRPC$Document;
.param p6, "parentObject" # Ljava/lang/Object;
.param p7, "account" # I
.param p8, "preview" # Z
.line 262
move-object/from16 v0, p0
move-wide/from16 v1, p3
move-object/from16 v3, p5
move/from16 v4, p7
invoke-direct/range {p0 .. p0}, Landroid/graphics/drawable/BitmapDrawable;-><init>()V
.line 55
const/16 v5, 0x32
iput v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->invalidateAfter:I
.line 56
const/4 v5, 0x5
new-array v5, v5, [I
iput-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
.line 72
const-wide/16 v5, -0x1
iput-wide v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingSeekTo:J
.line 73
iput-wide v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingSeekToUI:J
.line 76
new-instance v5, Ljava/lang/Object;
invoke-direct {v5}, Ljava/lang/Object;-><init>()V
iput-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->sync:Ljava/lang/Object;
.line 80
new-instance v5, Landroid/graphics/RectF;
invoke-direct {v5}, Landroid/graphics/RectF;-><init>()V
iput-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->actualDrawRect:Landroid/graphics/RectF;
.line 87
new-instance v5, Landroid/graphics/Matrix;
invoke-direct {v5}, Landroid/graphics/Matrix;-><init>()V
iput-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->shaderMatrix:Landroid/graphics/Matrix;
.line 89
const/high16 v5, 0x3f800000 # 1.0f
iput v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scaleX:F
.line 90
iput v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scaleY:F
.line 92
new-instance v5, Landroid/graphics/Rect;
invoke-direct {v5}, Landroid/graphics/Rect;-><init>()V
iput-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
.line 108
new-instance v5, Lim/tpelyyftgw/ui/components/-$$Lambda$AnimatedFileDrawable$t2Vj9cq9VV52PpYvpmbPzbZ5KRg;
invoke-direct {v5, v0}, Lim/tpelyyftgw/ui/components/-$$Lambda$AnimatedFileDrawable$t2Vj9cq9VV52PpYvpmbPzbZ5KRg;-><init>(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)V
iput-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->mInvalidateTask:Ljava/lang/Runnable;
.line 116
new-instance v5, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable$1;
invoke-direct {v5, v0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable$1;-><init>(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)V
iput-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->uiRunnableNoFrame:Ljava/lang/Runnable;
.line 143
new-instance v5, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable$2;
invoke-direct {v5, v0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable$2;-><init>(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)V
iput-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->uiRunnable:Ljava/lang/Runnable;
.line 198
new-instance v5, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable$3;
invoke-direct {v5, v0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable$3;-><init>(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)V
iput-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->loadFrameRunnable:Ljava/lang/Runnable;
.line 254
new-instance v5, Lim/tpelyyftgw/ui/components/-$$Lambda$AnimatedFileDrawable$-6Tej4IehjxSZQuf7BY0um2Fnrs;
invoke-direct {v5, v0}, Lim/tpelyyftgw/ui/components/-$$Lambda$AnimatedFileDrawable$-6Tej4IehjxSZQuf7BY0um2Fnrs;-><init>(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)V
iput-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->mStartTask:Ljava/lang/Runnable;
.line 263
move-object/from16 v5, p1
iput-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->path:Ljava/io/File;
.line 264
iput-wide v1, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->streamFileSize:J
.line 265
iput v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->currentAccount:I
.line 266
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->getPaint()Landroid/graphics/Paint;
move-result-object v6
const/4 v7, 0x2
invoke-virtual {v6, v7}, Landroid/graphics/Paint;->setFlags(I)V
.line 267
const-wide/16 v6, 0x0
cmp-long v8, v1, v6
if-eqz v8, :cond_83
if-eqz v3, :cond_83
.line 268
new-instance v6, Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
move-object/from16 v7, p6
move/from16 v15, p8
invoke-direct {v6, v3, v7, v4, v15}, Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;-><init>(Lim/tpelyyftgw/tgnet/TLRPC$Document;Ljava/lang/Object;IZ)V
iput-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
goto :goto_87
.line 267
:cond_83
move-object/from16 v7, p6
move/from16 v15, p8
.line 270
:goto_87
if-eqz p2, :cond_a0
.line 271
invoke-virtual/range {p1 .. p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v8
iget-object v9, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
iget v10, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->currentAccount:I
iget-wide v11, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->streamFileSize:J
iget-object v13, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
move/from16 v14, p8
invoke-static/range {v8 .. v14}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->createDecoder(Ljava/lang/String;[IIJLjava/lang/Object;Z)J
move-result-wide v8
iput-wide v8, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
.line 272
const/4 v6, 0x1
iput-boolean v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decoderCreated:Z
.line 274
:cond_a0
return-void
.end method
.method static synthetic access$000(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Z
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->destroyWhenDone:Z
return v0
.end method
.method static synthetic access$100(J)V
.registers 2
.param p0, "x0" # J
.line 32
invoke-static {p0, p1}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->destroyDecoder(J)V
return-void
.end method
.method static synthetic access$1000(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)I
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingRemoveLoadingFramesReset:I
return v0
.end method
.method static synthetic access$1010(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)I
.registers 3
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingRemoveLoadingFramesReset:I
add-int/lit8 v1, v0, -0x1
iput v1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingRemoveLoadingFramesReset:I
return v0
.end method
.method static synthetic access$1102(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;Z)Z
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # Z
.line 32
iput-boolean p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->singleFrameDecoded:Z
return p1
.end method
.method static synthetic access$1202(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # Landroid/graphics/Bitmap;
.line 32
iput-object p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmap:Landroid/graphics/Bitmap;
return-object p1
.end method
.method static synthetic access$1302(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;I)I
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # I
.line 32
iput p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmapTime:I
return p1
.end method
.method static synthetic access$1400(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)I
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->backgroundBitmapTime:I
return v0
.end method
.method static synthetic access$1402(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;I)I
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # I
.line 32
iput p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->backgroundBitmapTime:I
return p1
.end method
.method static synthetic access$1502(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;Landroid/graphics/BitmapShader;)Landroid/graphics/BitmapShader;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # Landroid/graphics/BitmapShader;
.line 32
iput-object p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingShader:Landroid/graphics/BitmapShader;
return-object p1
.end method
.method static synthetic access$1600(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Landroid/graphics/BitmapShader;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->backgroundShader:Landroid/graphics/BitmapShader;
return-object v0
.end method
.method static synthetic access$1602(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;Landroid/graphics/BitmapShader;)Landroid/graphics/BitmapShader;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # Landroid/graphics/BitmapShader;
.line 32
iput-object p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->backgroundShader:Landroid/graphics/BitmapShader;
return-object p1
.end method
.method static synthetic access$1700(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)[I
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
return-object v0
.end method
.method static synthetic access$1800(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)I
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->lastTimeStamp:I
return v0
.end method
.method static synthetic access$1802(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;I)I
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # I
.line 32
iput p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->lastTimeStamp:I
return p1
.end method
.method static synthetic access$1902(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;I)I
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # I
.line 32
iput p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->invalidateAfter:I
return p1
.end method
.method static synthetic access$200(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Landroid/graphics/Bitmap;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
return-object v0
.end method
.method static synthetic access$2000(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)J
.registers 3
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-wide v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingSeekToUI:J
return-wide v0
.end method
.method static synthetic access$2002(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;J)J
.registers 3
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # J
.line 32
iput-wide p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingSeekToUI:J
return-wide p1
.end method
.method static synthetic access$202(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # Landroid/graphics/Bitmap;
.line 32
iput-object p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
return-object p1
.end method
.method static synthetic access$2100(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)J
.registers 3
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-wide v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingSeekTo:J
return-wide v0
.end method
.method static synthetic access$2102(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;J)J
.registers 3
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # J
.line 32
iput-wide p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingSeekTo:J
return-wide p1
.end method
.method static synthetic access$2200(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Landroid/view/View;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->secondParentView:Landroid/view/View;
return-object v0
.end method
.method static synthetic access$2300(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Landroid/view/View;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->parentView:Landroid/view/View;
return-object v0
.end method
.method static synthetic access$2400(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Z
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->isRecycled:Z
return v0
.end method
.method static synthetic access$2500(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Z
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decoderCreated:Z
return v0
.end method
.method static synthetic access$2502(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;Z)Z
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # Z
.line 32
iput-boolean p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decoderCreated:Z
return p1
.end method
.method static synthetic access$2600(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Ljava/io/File;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->path:Ljava/io/File;
return-object v0
.end method
.method static synthetic access$2700(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)J
.registers 3
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-wide v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->streamFileSize:J
return-wide v0
.end method
.method static synthetic access$2800(Ljava/lang/String;[IIJLjava/lang/Object;Z)J
.registers 9
.param p0, "x0" # Ljava/lang/String;
.param p1, "x1" # [I
.param p2, "x2" # I
.param p3, "x3" # J
.param p5, "x4" # Ljava/lang/Object;
.param p6, "x5" # Z
.line 32
invoke-static/range {p0 .. p6}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->createDecoder(Ljava/lang/String;[IIJLjava/lang/Object;Z)J
move-result-wide v0
return-wide v0
.end method
.method static synthetic access$2900(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)I
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->roundRadius:I
return v0
.end method
.method static synthetic access$300(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Landroid/graphics/Bitmap;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->backgroundBitmap:Landroid/graphics/Bitmap;
return-object v0
.end method
.method static synthetic access$3000(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Ljava/lang/Object;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->sync:Ljava/lang/Object;
return-object v0
.end method
.method static synthetic access$302(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # Landroid/graphics/Bitmap;
.line 32
iput-object p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->backgroundBitmap:Landroid/graphics/Bitmap;
return-object p1
.end method
.method static synthetic access$3100(JJZ)V
.registers 5
.param p0, "x0" # J
.param p2, "x1" # J
.param p4, "x2" # Z
.line 32
invoke-static {p0, p1, p2, p3, p4}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->seekToMs(JJZ)V
return-void
.end method
.method static synthetic access$3202(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;J)J
.registers 3
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # J
.line 32
iput-wide p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->lastFrameDecodeTime:J
return-wide p1
.end method
.method static synthetic access$3300(JLandroid/graphics/Bitmap;[IIZ)I
.registers 7
.param p0, "x0" # J
.param p2, "x1" # Landroid/graphics/Bitmap;
.param p3, "x2" # [I
.param p4, "x3" # I
.param p5, "x4" # Z
.line 32
invoke-static/range {p0 .. p5}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->getVideoFrame(JLandroid/graphics/Bitmap;[IIZ)I
move-result v0
return v0
.end method
.method static synthetic access$3400(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Ljava/lang/Runnable;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->uiRunnableNoFrame:Ljava/lang/Runnable;
return-object v0
.end method
.method static synthetic access$3500(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Ljava/lang/Runnable;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->uiRunnable:Ljava/lang/Runnable;
return-object v0
.end method
.method static synthetic access$400(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Lim/tpelyyftgw/messenger/DispatchQueue;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decodeQueue:Lim/tpelyyftgw/messenger/DispatchQueue;
return-object v0
.end method
.method static synthetic access$402(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;Lim/tpelyyftgw/messenger/DispatchQueue;)Lim/tpelyyftgw/messenger/DispatchQueue;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # Lim/tpelyyftgw/messenger/DispatchQueue;
.line 32
iput-object p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decodeQueue:Lim/tpelyyftgw/messenger/DispatchQueue;
return-object p1
.end method
.method static synthetic access$502(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;Ljava/lang/Runnable;)Ljava/lang/Runnable;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # Ljava/lang/Runnable;
.line 32
iput-object p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->loadFrameTask:Ljava/lang/Runnable;
return-object p1
.end method
.method static synthetic access$600(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)V
.registers 1
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
invoke-direct {p0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scheduleNextGetFrame()V
return-void
.end method
.method static synthetic access$700(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
return-object v0
.end method
.method static synthetic access$800(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)Z
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingRemoveLoading:Z
return v0
.end method
.method static synthetic access$802(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;Z)Z
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.param p1, "x1" # Z
.line 32
iput-boolean p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingRemoveLoading:Z
return p1
.end method
.method static synthetic access$900(Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;)I
.registers 2
.param p0, "x0" # Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.line 32
iget v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->currentAccount:I
return v0
.end method
.method private static native createDecoder(Ljava/lang/String;[IIJLjava/lang/Object;Z)J
.end method
.method private static native destroyDecoder(J)V
.end method
.method private static native getVideoFrame(JLandroid/graphics/Bitmap;[IIZ)I
.end method
.method public static native getVideoInfo(Ljava/lang/String;[I)V
.end method
.method private static native prepareToSeek(J)V
.end method
.method protected static runOnUiThread(Ljava/lang/Runnable;)V
.registers 3
.param p0, "task" # Ljava/lang/Runnable;
.line 372
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v0
sget-object v1, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->uiHandler:Landroid/os/Handler;
invoke-virtual {v1}, Landroid/os/Handler;->getLooper()Landroid/os/Looper;
move-result-object v1
if-ne v0, v1, :cond_10
.line 373
invoke-interface {p0}, Ljava/lang/Runnable;->run()V
goto :goto_15
.line 375
:cond_10
sget-object v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->uiHandler:Landroid/os/Handler;
invoke-virtual {v0, p0}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
.line 377
:goto_15
return-void
.end method
.method private scheduleNextGetFrame()V
.registers 14
.line 429
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->loadFrameTask:Ljava/lang/Runnable;
if-nez v0, :cond_75
iget-wide v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-nez v4, :cond_10
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decoderCreated:Z
if-nez v0, :cond_75
:cond_10
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->destroyWhenDone:Z
if-nez v0, :cond_75
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->isRunning:Z
if-nez v0, :cond_23
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decodeSingleFrame:Z
if-eqz v0, :cond_75
if-eqz v0, :cond_23
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->singleFrameDecoded:Z
if-eqz v0, :cond_23
goto :goto_75
.line 432
:cond_23
const-wide/16 v0, 0x0
.line 433
.local v0, "ms":J
iget-wide v4, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->lastFrameDecodeTime:J
cmp-long v6, v4, v2
if-eqz v6, :cond_3f
.line 434
iget v4, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->invalidateAfter:I
int-to-long v5, v4
int-to-long v7, v4
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v9
iget-wide v11, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->lastFrameDecodeTime:J
sub-long/2addr v9, v11
sub-long/2addr v7, v9
invoke-static {v2, v3, v7, v8}, Ljava/lang/Math;->max(JJ)J
move-result-wide v2
invoke-static {v5, v6, v2, v3}, Ljava/lang/Math;->min(JJ)J
move-result-wide v0
.line 436
:cond_3f
iget-boolean v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->useSharedQueue:Z
if-eqz v2, :cond_4f
.line 437
sget-object v2, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->executor:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
iget-object v3, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->loadFrameRunnable:Ljava/lang/Runnable;
iput-object v3, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->loadFrameTask:Ljava/lang/Runnable;
sget-object v4, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v2, v3, v0, v1, v4}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
goto :goto_74
.line 439
:cond_4f
iget-object v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decodeQueue:Lim/tpelyyftgw/messenger/DispatchQueue;
if-nez v2, :cond_6b
.line 440
new-instance v2, Lim/tpelyyftgw/messenger/DispatchQueue;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "decodeQueue"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Lim/tpelyyftgw/messenger/DispatchQueue;-><init>(Ljava/lang/String;)V
iput-object v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decodeQueue:Lim/tpelyyftgw/messenger/DispatchQueue;
.line 442
:cond_6b
iget-object v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decodeQueue:Lim/tpelyyftgw/messenger/DispatchQueue;
iget-object v3, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->loadFrameRunnable:Ljava/lang/Runnable;
iput-object v3, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->loadFrameTask:Ljava/lang/Runnable;
invoke-virtual {v2, v3, v0, v1}, Lim/tpelyyftgw/messenger/DispatchQueue;->postRunnable(Ljava/lang/Runnable;J)V
.line 444
:goto_74
return-void
.line 430
.end local v0 # "ms":J
:cond_75
:goto_75
return-void
.end method
.method private static native seekToMs(JJZ)V
.end method
.method private static native stopDecoder(J)V
.end method
# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
.registers 18
.param p1, "canvas" # Landroid/graphics/Canvas;
.line 486
move-object/from16 v0, p0
move-object/from16 v1, p1
iget-wide v2, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
const-wide/16 v4, 0x0
cmp-long v6, v2, v4
if-nez v6, :cond_10
iget-boolean v2, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decoderCreated:Z
if-nez v2, :cond_14
:cond_10
iget-boolean v2, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->destroyWhenDone:Z
if-eqz v2, :cond_15
.line 487
:cond_14
return-void
.line 489
:cond_15
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
.line 490
.local v2, "now":J
iget-boolean v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->isRunning:Z
const/4 v5, 0x0
const/4 v6, 0x0
if-eqz v4, :cond_57
.line 491
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
if-nez v4, :cond_2b
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmap:Landroid/graphics/Bitmap;
if-nez v4, :cond_2b
.line 492
invoke-direct/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scheduleNextGetFrame()V
goto :goto_84
.line 493
:cond_2b
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmap:Landroid/graphics/Bitmap;
if-eqz v4, :cond_84
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
if-eqz v4, :cond_42
iget-wide v7, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->lastFrameTime:J
sub-long v7, v2, v7
invoke-static {v7, v8}, Ljava/lang/Math;->abs(J)J
move-result-wide v7
iget v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->invalidateAfter:I
int-to-long v9, v4
cmp-long v4, v7, v9
if-ltz v4, :cond_84
.line 494
:cond_42
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmap:Landroid/graphics/Bitmap;
iput-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
.line 495
iget v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmapTime:I
iput v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmapTime:I
.line 496
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingShader:Landroid/graphics/BitmapShader;
iput-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingShader:Landroid/graphics/BitmapShader;
.line 497
iput-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmap:Landroid/graphics/Bitmap;
.line 498
iput v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmapTime:I
.line 499
iput-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingShader:Landroid/graphics/BitmapShader;
.line 500
iput-wide v2, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->lastFrameTime:J
goto :goto_84
.line 502
:cond_57
iget-boolean v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->isRunning:Z
if-nez v4, :cond_84
iget-boolean v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decodeSingleFrame:Z
if-eqz v4, :cond_84
iget-wide v7, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->lastFrameTime:J
sub-long v7, v2, v7
invoke-static {v7, v8}, Ljava/lang/Math;->abs(J)J
move-result-wide v7
iget v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->invalidateAfter:I
int-to-long v9, v4
cmp-long v4, v7, v9
if-ltz v4, :cond_84
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmap:Landroid/graphics/Bitmap;
if-eqz v4, :cond_84
.line 503
iput-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
.line 504
iget v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmapTime:I
iput v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmapTime:I
.line 505
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingShader:Landroid/graphics/BitmapShader;
iput-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingShader:Landroid/graphics/BitmapShader;
.line 506
iput-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmap:Landroid/graphics/Bitmap;
.line 507
iput v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmapTime:I
.line 508
iput-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingShader:Landroid/graphics/BitmapShader;
.line 509
iput-wide v2, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->lastFrameTime:J
.line 512
:cond_84
:goto_84
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
if-eqz v4, :cond_1ff
.line 513
iget-boolean v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->applyTransformation:Z
const/16 v7, 0x10e
const/16 v8, 0x5a
const/4 v9, 0x2
if-eqz v6, :cond_c9
.line 514
invoke-virtual {v4}, Landroid/graphics/Bitmap;->getWidth()I
move-result v4
.line 515
.local v4, "bitmapW":I
iget-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
invoke-virtual {v6}, Landroid/graphics/Bitmap;->getHeight()I
move-result v6
.line 516
.local v6, "bitmapH":I
iget-object v10, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
aget v11, v10, v9
if-eq v11, v8, :cond_a5
aget v10, v10, v9
if-ne v10, v7, :cond_a8
.line 517
:cond_a5
move v10, v4
.line 518
.local v10, "temp":I
move v4, v6
.line 519
move v6, v10
.line 521
.end local v10 # "temp":I
:cond_a8
iget-object v10, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->getBounds()Landroid/graphics/Rect;
move-result-object v11
invoke-virtual {v10, v11}, Landroid/graphics/Rect;->set(Landroid/graphics/Rect;)V
.line 522
iget-object v10, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
invoke-virtual {v10}, Landroid/graphics/Rect;->width()I
move-result v10
int-to-float v10, v10
int-to-float v11, v4
div-float/2addr v10, v11
iput v10, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scaleX:F
.line 523
iget-object v10, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
invoke-virtual {v10}, Landroid/graphics/Rect;->height()I
move-result v10
int-to-float v10, v10
int-to-float v11, v6
div-float/2addr v10, v11
iput v10, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scaleY:F
.line 524
iput-boolean v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->applyTransformation:Z
.line 526
.end local v4 # "bitmapW":I
.end local v6 # "bitmapH":I
:cond_c9
iget v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->roundRadius:I
const/high16 v6, 0x43340000 # 180.0f
const/high16 v10, 0x42b40000 # 90.0f
const/16 v11, 0xb4
const/4 v12, 0x0
if-eqz v4, :cond_174
.line 527
iget v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scaleX:F
iget v13, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scaleY:F
invoke-static {v4, v13}, Ljava/lang/Math;->max(FF)F
move-result v4
.line 529
.local v4, "scale":F
iget-object v13, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingShader:Landroid/graphics/BitmapShader;
if-nez v13, :cond_ed
.line 530
new-instance v13, Landroid/graphics/BitmapShader;
iget-object v14, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->backgroundBitmap:Landroid/graphics/Bitmap;
sget-object v15, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;
sget-object v5, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;
invoke-direct {v13, v14, v15, v5}, Landroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V
iput-object v13, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingShader:Landroid/graphics/BitmapShader;
.line 532
:cond_ed
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->getPaint()Landroid/graphics/Paint;
move-result-object v5
.line 533
.local v5, "paint":Landroid/graphics/Paint;
iget-object v13, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingShader:Landroid/graphics/BitmapShader;
invoke-virtual {v5, v13}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;
.line 534
iget-object v13, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->shaderMatrix:Landroid/graphics/Matrix;
invoke-virtual {v13}, Landroid/graphics/Matrix;->reset()V
.line 535
iget-object v13, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->shaderMatrix:Landroid/graphics/Matrix;
iget-object v14, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
iget v14, v14, Landroid/graphics/Rect;->left:I
int-to-float v14, v14
iget-object v15, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
iget v15, v15, Landroid/graphics/Rect;->top:I
int-to-float v15, v15
invoke-virtual {v13, v14, v15}, Landroid/graphics/Matrix;->setTranslate(FF)V
.line 536
iget-object v13, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
aget v14, v13, v9
if-ne v14, v8, :cond_123
.line 537
iget-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->shaderMatrix:Landroid/graphics/Matrix;
invoke-virtual {v6, v10}, Landroid/graphics/Matrix;->preRotate(F)Z
.line 538
iget-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->shaderMatrix:Landroid/graphics/Matrix;
iget-object v7, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
invoke-virtual {v7}, Landroid/graphics/Rect;->width()I
move-result v7
neg-int v7, v7
int-to-float v7, v7
invoke-virtual {v6, v12, v7}, Landroid/graphics/Matrix;->preTranslate(FF)Z
goto :goto_15a
.line 539
:cond_123
aget v8, v13, v9
if-ne v8, v11, :cond_142
.line 540
iget-object v7, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->shaderMatrix:Landroid/graphics/Matrix;
invoke-virtual {v7, v6}, Landroid/graphics/Matrix;->preRotate(F)Z
.line 541
iget-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->shaderMatrix:Landroid/graphics/Matrix;
iget-object v7, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
invoke-virtual {v7}, Landroid/graphics/Rect;->width()I
move-result v7
neg-int v7, v7
int-to-float v7, v7
iget-object v8, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
invoke-virtual {v8}, Landroid/graphics/Rect;->height()I
move-result v8
neg-int v8, v8
int-to-float v8, v8
invoke-virtual {v6, v7, v8}, Landroid/graphics/Matrix;->preTranslate(FF)Z
goto :goto_15a
.line 542
:cond_142
aget v6, v13, v9
if-ne v6, v7, :cond_15a
.line 543
iget-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->shaderMatrix:Landroid/graphics/Matrix;
const/high16 v7, 0x43870000 # 270.0f
invoke-virtual {v6, v7}, Landroid/graphics/Matrix;->preRotate(F)Z
.line 544
iget-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->shaderMatrix:Landroid/graphics/Matrix;
iget-object v7, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
invoke-virtual {v7}, Landroid/graphics/Rect;->height()I
move-result v7
neg-int v7, v7
int-to-float v7, v7
invoke-virtual {v6, v7, v12}, Landroid/graphics/Matrix;->preTranslate(FF)Z
.line 546
:cond_15a
:goto_15a
iget-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->shaderMatrix:Landroid/graphics/Matrix;
iget v7, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scaleX:F
iget v8, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scaleY:F
invoke-virtual {v6, v7, v8}, Landroid/graphics/Matrix;->preScale(FF)Z
.line 548
iget-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingShader:Landroid/graphics/BitmapShader;
iget-object v7, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->shaderMatrix:Landroid/graphics/Matrix;
invoke-virtual {v6, v7}, Landroid/graphics/BitmapShader;->setLocalMatrix(Landroid/graphics/Matrix;)V
.line 549
iget-object v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->actualDrawRect:Landroid/graphics/RectF;
iget v7, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->roundRadius:I
int-to-float v8, v7
int-to-float v7, v7
invoke-virtual {v1, v6, v8, v7, v5}, Landroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
.line 550
.end local v4 # "scale":F
.end local v5 # "paint":Landroid/graphics/Paint;
goto :goto_1d5
.line 551
:cond_174
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->left:I
int-to-float v4, v4
iget-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->top:I
int-to-float v5, v5
invoke-virtual {v1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
.line 552
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
aget v5, v4, v9
if-ne v5, v8, :cond_196
.line 553
invoke-virtual {v1, v10}, Landroid/graphics/Canvas;->rotate(F)V
.line 554
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
invoke-virtual {v4}, Landroid/graphics/Rect;->width()I
move-result v4
neg-int v4, v4
int-to-float v4, v4
invoke-virtual {v1, v12, v4}, Landroid/graphics/Canvas;->translate(FF)V
goto :goto_1c5
.line 555
:cond_196
aget v5, v4, v9
if-ne v5, v11, :cond_1b1
.line 556
invoke-virtual {v1, v6}, Landroid/graphics/Canvas;->rotate(F)V
.line 557
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
invoke-virtual {v4}, Landroid/graphics/Rect;->width()I
move-result v4
neg-int v4, v4
int-to-float v4, v4
iget-object v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
invoke-virtual {v5}, Landroid/graphics/Rect;->height()I
move-result v5
neg-int v5, v5
int-to-float v5, v5
invoke-virtual {v1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
goto :goto_1c5
.line 558
:cond_1b1
aget v4, v4, v9
if-ne v4, v7, :cond_1c5
.line 559
const/high16 v4, 0x43870000 # 270.0f
invoke-virtual {v1, v4}, Landroid/graphics/Canvas;->rotate(F)V
.line 560
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->dstRect:Landroid/graphics/Rect;
invoke-virtual {v4}, Landroid/graphics/Rect;->height()I
move-result v4
neg-int v4, v4
int-to-float v4, v4
invoke-virtual {v1, v4, v12}, Landroid/graphics/Canvas;->translate(FF)V
.line 562
:cond_1c5
:goto_1c5
iget v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scaleX:F
iget v5, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scaleY:F
invoke-virtual {v1, v4, v5}, Landroid/graphics/Canvas;->scale(FF)V
.line 563
iget-object v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->getPaint()Landroid/graphics/Paint;
move-result-object v5
invoke-virtual {v1, v4, v12, v12, v5}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
.line 565
:goto_1d5
iget-boolean v4, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->isRunning:Z
if-eqz v4, :cond_1ff
.line 566
const-wide/16 v4, 0x1
iget v6, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->invalidateAfter:I
int-to-long v6, v6
iget-wide v8, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->lastFrameTime:J
sub-long v8, v2, v8
sub-long/2addr v6, v8
const-wide/16 v8, 0x11
sub-long/2addr v6, v8
invoke-static {v4, v5, v6, v7}, Ljava/lang/Math;->max(JJ)J
move-result-wide v4
.line 567
.local v4, "timeToNextFrame":J
sget-object v6, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->uiHandler:Landroid/os/Handler;
iget-object v7, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->mInvalidateTask:Ljava/lang/Runnable;
invoke-virtual {v6, v7}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
.line 568
sget-object v6, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->uiHandler:Landroid/os/Handler;
iget-object v7, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->mInvalidateTask:Ljava/lang/Runnable;
iget v8, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->invalidateAfter:I
int-to-long v8, v8
invoke-static {v4, v5, v8, v9}, Ljava/lang/Math;->min(JJ)J
move-result-wide v8
invoke-virtual {v6, v7, v8, v9}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
.line 571
.end local v4 # "timeToNextFrame":J
:cond_1ff
return-void
.end method
.method protected finalize()V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 386
:try_start_0
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->recycle()V
:try_end_3
.catchall {:try_start_0 .. :try_end_3} :catchall_8
.line 388
invoke-super {p0}, Ljava/lang/Object;->finalize()V
.line 389
nop
.line 390
return-void
.line 388
:catchall_8
move-exception v0
invoke-super {p0}, Ljava/lang/Object;->finalize()V
.line 389
throw v0
.end method
.method public getAnimatedBitmap()Landroid/graphics/Bitmap;
.registers 2
.line 604
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
if-eqz v0, :cond_5
.line 605
return-object v0
.line 606
:cond_5
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmap:Landroid/graphics/Bitmap;
if-eqz v0, :cond_a
.line 607
return-object v0
.line 609
:cond_a
const/4 v0, 0x0
return-object v0
.end method
.method public getBackgroundBitmap()Landroid/graphics/Bitmap;
.registers 2
.line 600
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->backgroundBitmap:Landroid/graphics/Bitmap;
return-object v0
.end method
.method public getCurrentProgress()F
.registers 7
.line 408
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
const/4 v1, 0x4
aget v0, v0, v1
if-nez v0, :cond_9
.line 409
const/4 v0, 0x0
return v0
.line 411
:cond_9
iget-wide v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingSeekToUI:J
const-wide/16 v4, 0x0
cmp-long v0, v2, v4
if-ltz v0, :cond_1b
.line 412
iget-wide v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingSeekToUI:J
long-to-float v0, v2
iget-object v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
aget v1, v2, v1
int-to-float v1, v1
div-float/2addr v0, v1
return v0
.line 414
:cond_1b
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
const/4 v2, 0x3
aget v2, v0, v2
int-to-float v2, v2
aget v0, v0, v1
int-to-float v0, v0
div-float/2addr v2, v0
return v2
.end method
.method public getCurrentProgressMs()I
.registers 6
.line 418
iget-wide v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingSeekToUI:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-ltz v4, :cond_c
.line 419
iget-wide v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingSeekToUI:J
long-to-int v1, v0
return v1
.line 421
:cond_c
iget v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmapTime:I
if-eqz v0, :cond_11
goto :goto_13
:cond_11
iget v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmapTime:I
:goto_13
return v0
.end method
.method public getDurationMs()I
.registers 3
.line 425
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
const/4 v1, 0x4
aget v0, v0, v1
return v0
.end method
.method public getFrameAtTime(J)Landroid/graphics/Bitmap;
.registers 11
.param p1, "ms" # J
.line 277
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decoderCreated:Z
const/4 v1, 0x0
if-eqz v0, :cond_47
iget-wide v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
const-wide/16 v4, 0x0
cmp-long v0, v2, v4
if-nez v0, :cond_e
goto :goto_47
.line 280
:cond_e
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
const/4 v2, 0x0
if-eqz v0, :cond_1b
.line 281
invoke-virtual {v0, v2}, Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;->cancel(Z)V
.line 282
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
invoke-virtual {v0}, Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;->reset()V
.line 284
:cond_1b
iget-wide v3, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
invoke-static {v3, v4, p1, p2, v2}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->seekToMs(JJZ)V
.line 285
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->backgroundBitmap:Landroid/graphics/Bitmap;
if-nez v0, :cond_33
.line 286
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
aget v2, v0, v2
const/4 v3, 0x1
aget v0, v0, v3
sget-object v3, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {v2, v0, v3}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->backgroundBitmap:Landroid/graphics/Bitmap;
.line 288
:cond_33
iget-wide v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
iget-object v4, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->backgroundBitmap:Landroid/graphics/Bitmap;
iget-object v5, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
invoke-virtual {v4}, Landroid/graphics/Bitmap;->getRowBytes()I
move-result v6
const/4 v7, 0x1
invoke-static/range {v2 .. v7}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->getVideoFrame(JLandroid/graphics/Bitmap;[IIZ)I
move-result v0
.line 289
.local v0, "result":I
if-eqz v0, :cond_46
iget-object v1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->backgroundBitmap:Landroid/graphics/Bitmap;
:cond_46
return-object v1
.line 278
.end local v0 # "result":I
:cond_47
:goto_47
return-object v1
.end method
.method public getIntrinsicHeight()I
.registers 6
.line 462
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decoderCreated:Z
const/4 v1, 0x0
if-eqz v0, :cond_1d
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
const/4 v2, 0x2
aget v3, v0, v2
const/16 v4, 0x5a
if-eq v3, v4, :cond_19
aget v2, v0, v2
const/16 v3, 0x10e
if-ne v2, v3, :cond_15
goto :goto_19
:cond_15
const/4 v1, 0x1
aget v1, v0, v1
goto :goto_1d
:cond_19
:goto_19
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
aget v1, v0, v1
:cond_1d
:goto_1d
move v0, v1
.line 463
.local v0, "height":I
if-nez v0, :cond_27
.line 464
const/high16 v1, 0x42c80000 # 100.0f
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
return v1
.line 466
:cond_27
return v0
.end method
.method public getIntrinsicWidth()I
.registers 6
.line 471
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decoderCreated:Z
const/4 v1, 0x0
if-eqz v0, :cond_1d
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
const/4 v2, 0x2
aget v3, v0, v2
const/16 v4, 0x5a
if-eq v3, v4, :cond_18
aget v2, v0, v2
const/16 v3, 0x10e
if-ne v2, v3, :cond_15
goto :goto_18
:cond_15
aget v1, v0, v1
goto :goto_1d
:cond_18
:goto_18
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
const/4 v1, 0x1
aget v1, v0, v1
:cond_1d
:goto_1d
move v0, v1
.line 472
.local v0, "width":I
if-nez v0, :cond_27
.line 473
const/high16 v1, 0x42c80000 # 100.0f
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
return v1
.line 475
:cond_27
return v0
.end method
.method public getMinimumHeight()I
.registers 6
.line 575
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decoderCreated:Z
const/4 v1, 0x0
if-eqz v0, :cond_1d
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
const/4 v2, 0x2
aget v3, v0, v2
const/16 v4, 0x5a
if-eq v3, v4, :cond_19
aget v2, v0, v2
const/16 v3, 0x10e
if-ne v2, v3, :cond_15
goto :goto_19
:cond_15
const/4 v1, 0x1
aget v1, v0, v1
goto :goto_1d
:cond_19
:goto_19
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
aget v1, v0, v1
:cond_1d
:goto_1d
move v0, v1
.line 576
.local v0, "height":I
if-nez v0, :cond_27
.line 577
const/high16 v1, 0x42c80000 # 100.0f
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
return v1
.line 579
:cond_27
return v0
.end method
.method public getMinimumWidth()I
.registers 6
.line 584
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decoderCreated:Z
const/4 v1, 0x0
if-eqz v0, :cond_1d
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
const/4 v2, 0x2
aget v3, v0, v2
const/16 v4, 0x5a
if-eq v3, v4, :cond_18
aget v2, v0, v2
const/16 v3, 0x10e
if-ne v2, v3, :cond_15
goto :goto_18
:cond_15
aget v1, v0, v1
goto :goto_1d
:cond_18
:goto_18
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
const/4 v1, 0x1
aget v1, v0, v1
:cond_1d
:goto_1d
move v0, v1
.line 585
.local v0, "width":I
if-nez v0, :cond_27
.line 586
const/high16 v1, 0x42c80000 # 100.0f
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
return v1
.line 588
:cond_27
return v0
.end method
.method public getNextRenderingBitmap()Landroid/graphics/Bitmap;
.registers 2
.line 596
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmap:Landroid/graphics/Bitmap;
return-object v0
.end method
.method public getOpacity()I
.registers 2
.line 394
const/4 v0, -0x2
return v0
.end method
.method public getOrientation()I
.registers 3
.line 626
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
const/4 v1, 0x2
aget v0, v0, v1
return v0
.end method
.method public getRenderingBitmap()Landroid/graphics/Bitmap;
.registers 2
.line 592
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
return-object v0
.end method
.method public hasBitmap()Z
.registers 6
.line 622
iget-wide v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_12
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
if-nez v0, :cond_10
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmap:Landroid/graphics/Bitmap;
if-eqz v0, :cond_12
:cond_10
const/4 v0, 0x1
goto :goto_13
:cond_12
const/4 v0, 0x0
:goto_13
return v0
.end method
.method public isLoadingStream()Z
.registers 2
.line 447
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
if-eqz v0, :cond_c
invoke-virtual {v0}, Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;->isWaitingForLoad()Z
move-result v0
if-eqz v0, :cond_c
const/4 v0, 0x1
goto :goto_d
:cond_c
const/4 v0, 0x0
:goto_d
return v0
.end method
.method public isRunning()Z
.registers 2
.line 457
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->isRunning:Z
return v0
.end method
.method public synthetic lambda$new$0$AnimatedFileDrawable()V
.registers 2
.line 109
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->secondParentView:Landroid/view/View;
if-eqz v0, :cond_8
.line 110
invoke-virtual {v0}, Landroid/view/View;->invalidate()V
goto :goto_f
.line 111
:cond_8
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->parentView:Landroid/view/View;
if-eqz v0, :cond_f
.line 112
invoke-virtual {v0}, Landroid/view/View;->invalidate()V
.line 114
:cond_f
:goto_f
return-void
.end method
.method public synthetic lambda$new$1$AnimatedFileDrawable()V
.registers 2
.line 255
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->secondParentView:Landroid/view/View;
if-eqz v0, :cond_8
.line 256
invoke-virtual {v0}, Landroid/view/View;->invalidate()V
goto :goto_f
.line 257
:cond_8
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->parentView:Landroid/view/View;
if-eqz v0, :cond_f
.line 258
invoke-virtual {v0}, Landroid/view/View;->invalidate()V
.line 260
:cond_f
:goto_f
return-void
.end method
.method public makeCopy()Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
.registers 13
.line 631
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_2d
.line 632
new-instance v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
iget-object v4, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->path:Ljava/io/File;
const/4 v5, 0x0
iget-wide v6, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->streamFileSize:J
iget-object v3, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
invoke-virtual {v3}, Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;->getDocument()Lim/tpelyyftgw/tgnet/TLRPC$Document;
move-result-object v8
iget-object v3, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
invoke-virtual {v3}, Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;->getParentObject()Ljava/lang/Object;
move-result-object v9
iget v10, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->currentAccount:I
iget-object v3, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
if-eqz v3, :cond_27
invoke-virtual {v3}, Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;->isPreview()Z
move-result v3
if-eqz v3, :cond_27
const/4 v11, 0x1
goto :goto_28
:cond_27
const/4 v11, 0x0
:goto_28
move-object v3, v0
invoke-direct/range {v3 .. v11}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;-><init>(Ljava/io/File;ZJLim/tpelyyftgw/tgnet/TLRPC$Document;Ljava/lang/Object;IZ)V
.local v0, "drawable":Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
goto :goto_49
.line 634
.end local v0 # "drawable":Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
:cond_2d
new-instance v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
iget-object v4, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->path:Ljava/io/File;
const/4 v5, 0x0
iget-wide v6, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->streamFileSize:J
const/4 v8, 0x0
const/4 v9, 0x0
iget v10, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->currentAccount:I
iget-object v3, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
if-eqz v3, :cond_44
invoke-virtual {v3}, Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;->isPreview()Z
move-result v3
if-eqz v3, :cond_44
const/4 v11, 0x1
goto :goto_45
:cond_44
const/4 v11, 0x0
:goto_45
move-object v3, v0
invoke-direct/range {v3 .. v11}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;-><init>(Ljava/io/File;ZJLim/tpelyyftgw/tgnet/TLRPC$Document;Ljava/lang/Object;IZ)V
.line 636
.restart local v0 # "drawable":Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;
:goto_49
iget-object v3, v0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
iget-object v4, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->metaData:[I
aget v5, v4, v2
aput v5, v3, v2
.line 637
aget v2, v4, v1
aput v2, v3, v1
.line 638
return-object v0
.end method
.method protected onBoundsChange(Landroid/graphics/Rect;)V
.registers 3
.param p1, "bounds" # Landroid/graphics/Rect;
.line 480
invoke-super {p0, p1}, Landroid/graphics/drawable/BitmapDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
.line 481
const/4 v0, 0x1
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->applyTransformation:Z
.line 482
return-void
.end method
.method public recycle()V
.registers 7
.line 327
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->secondParentView:Landroid/view/View;
const/4 v1, 0x1
if-eqz v0, :cond_8
.line 328
iput-boolean v1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->recycleWithSecond:Z
.line 329
return-void
.line 331
:cond_8
const/4 v0, 0x0
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->isRunning:Z
.line 332
iput-boolean v1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->isRecycled:Z
.line 333
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->loadFrameTask:Ljava/lang/Runnable;
if-nez v0, :cond_3d
.line 334
iget-wide v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
const-wide/16 v4, 0x0
cmp-long v0, v2, v4
if-eqz v0, :cond_20
.line 335
iget-wide v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
invoke-static {v2, v3}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->destroyDecoder(J)V
.line 336
iput-wide v4, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
.line 338
:cond_20
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
const/4 v2, 0x0
if-eqz v0, :cond_2a
.line 339
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
.line 340
iput-object v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->renderingBitmap:Landroid/graphics/Bitmap;
.line 342
:cond_2a
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmap:Landroid/graphics/Bitmap;
if-eqz v0, :cond_33
.line 343
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
.line 344
iput-object v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nextRenderingBitmap:Landroid/graphics/Bitmap;
.line 346
:cond_33
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decodeQueue:Lim/tpelyyftgw/messenger/DispatchQueue;
if-eqz v0, :cond_3f
.line 347
invoke-virtual {v0}, Lim/tpelyyftgw/messenger/DispatchQueue;->recycle()V
.line 348
iput-object v2, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decodeQueue:Lim/tpelyyftgw/messenger/DispatchQueue;
goto :goto_3f
.line 351
:cond_3d
iput-boolean v1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->destroyWhenDone:Z
.line 353
:cond_3f
:goto_3f
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
if-eqz v0, :cond_46
.line 354
invoke-virtual {v0, v1}, Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;->cancel(Z)V
.line 356
:cond_46
return-void
.end method
.method public resetStream(Z)V
.registers 7
.param p1, "stop" # Z
.line 359
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
if-eqz v0, :cond_8
.line 360
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;->cancel(Z)V
.line 362
:cond_8
iget-wide v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_1d
.line 363
if-eqz p1, :cond_18
.line 364
iget-wide v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
invoke-static {v0, v1}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stopDecoder(J)V
goto :goto_1d
.line 366
:cond_18
iget-wide v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
invoke-static {v0, v1}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->prepareToSeek(J)V
.line 369
:cond_1d
:goto_1d
return-void
.end method
.method public seekTo(JZ)V
.registers 7
.param p1, "ms" # J
.param p3, "removeLoading" # Z
.line 314
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->sync:Ljava/lang/Object;
monitor-enter v0
.line 315
:try_start_3
iput-wide p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingSeekTo:J
.line 316
iput-wide p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingSeekToUI:J
.line 317
iget-wide v1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->nativePtr:J
invoke-static {v1, v2}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->prepareToSeek(J)V
.line 318
iget-boolean v1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decoderCreated:Z
if-eqz v1, :cond_23
iget-object v1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
if-eqz v1, :cond_23
.line 319
iget-object v1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->stream:Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;
invoke-virtual {v1, p3}, Lim/tpelyyftgw/messenger/AnimatedFileDrawableStream;->cancel(Z)V
.line 320
iput-boolean p3, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingRemoveLoading:Z
.line 321
if-eqz p3, :cond_1f
const/4 v1, 0x0
goto :goto_21
:cond_1f
const/16 v1, 0xa
:goto_21
iput v1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->pendingRemoveLoadingFramesReset:I
.line 323
:cond_23
monitor-exit v0
.line 324
return-void
.line 323
:catchall_25
move-exception v1
monitor-exit v0
:try_end_27
.catchall {:try_start_3 .. :try_end_27} :catchall_25
throw v1
.end method
.method public setActualDrawRect(FFFF)V
.registers 8
.param p1, "x" # F
.param p2, "y" # F
.param p3, "width" # F
.param p4, "height" # F
.line 613
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->actualDrawRect:Landroid/graphics/RectF;
add-float v1, p1, p3
add-float v2, p2, p4
invoke-virtual {v0, p1, p2, v1, v2}, Landroid/graphics/RectF;->set(FFFF)V
.line 614
return-void
.end method
.method public setAllowDecodeSingleFrame(Z)V
.registers 2
.param p1, "value" # Z
.line 307
iput-boolean p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->decodeSingleFrame:Z
.line 308
if-eqz p1, :cond_7
.line 309
invoke-direct {p0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scheduleNextGetFrame()V
.line 311
:cond_7
return-void
.end method
.method public setParentView(Landroid/view/View;)V
.registers 3
.param p1, "view" # Landroid/view/View;
.line 293
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->parentView:Landroid/view/View;
if-eqz v0, :cond_5
.line 294
return-void
.line 296
:cond_5
iput-object p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->parentView:Landroid/view/View;
.line 297
return-void
.end method
.method public setRoundRadius(I)V
.registers 4
.param p1, "value" # I
.line 617
iput p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->roundRadius:I
.line 618
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->getPaint()Landroid/graphics/Paint;
move-result-object v0
const/4 v1, 0x3
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setFlags(I)V
.line 619
return-void
.end method
.method public setSecondParentView(Landroid/view/View;)V
.registers 3
.param p1, "view" # Landroid/view/View;
.line 300
iput-object p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->secondParentView:Landroid/view/View;
.line 301
if-nez p1, :cond_b
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->recycleWithSecond:Z
if-eqz v0, :cond_b
.line 302
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->recycle()V
.line 304
:cond_b
return-void
.end method
.method public setUseSharedQueue(Z)V
.registers 2
.param p1, "value" # Z
.line 380
iput-boolean p1, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->useSharedQueue:Z
.line 381
return-void
.end method
.method public start()V
.registers 2
.line 399
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->isRunning:Z
if-eqz v0, :cond_5
.line 400
return-void
.line 402
:cond_5
const/4 v0, 0x1
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->isRunning:Z
.line 403
invoke-direct {p0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->scheduleNextGetFrame()V
.line 404
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->mStartTask:Ljava/lang/Runnable;
invoke-static {v0}, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->runOnUiThread(Ljava/lang/Runnable;)V
.line 405
return-void
.end method
.method public stop()V
.registers 2
.line 452
const/4 v0, 0x0
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/AnimatedFileDrawable;->isRunning:Z
.line 453
return-void
.end method