Files
rr3-apk/smali_classes2/com/google/android/exoplayer2/ui/CanvasSubtitleOutput.smali
Daniel Elliott f3960ee359 Add Discord APKTool decompilation (Smali source for modding)
- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
2026-02-18 16:13:44 -08:00

233 lines
5.7 KiB
Smali

.class final Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;
.super Landroid/view/View;
.source "SourceFile"
# interfaces
.implements Lcom/google/android/exoplayer2/ui/SubtitleView$Output;
# instance fields
.field public bottomPaddingFraction:F
.field public cues:Ljava/util/List;
.field public final painters:Ljava/util/List;
.field public style:Lcom/google/android/exoplayer2/ui/CaptionStyleCompat;
.field public textSize:F
.field public textSizeType:I
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.locals 1
const/4 v0, 0x0
.line 46
invoke-direct {p0, p1, v0}, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 0
.param p2 # Landroid/util/AttributeSet;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 50
invoke-direct {p0, p1, p2}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 51
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->painters:Ljava/util/List;
.line 52
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p1
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->cues:Ljava/util/List;
const/4 p1, 0x0
iput p1, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->textSizeType:I
const p1, 0x3d5a511a # 0.0533f
iput p1, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->textSize:F
.line 55
sget-object p1, Lcom/google/android/exoplayer2/ui/CaptionStyleCompat;->DEFAULT:Lcom/google/android/exoplayer2/ui/CaptionStyleCompat;
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->style:Lcom/google/android/exoplayer2/ui/CaptionStyleCompat;
const p1, 0x3da3d70a # 0.08f
iput p1, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->bottomPaddingFraction:F
return-void
.end method
# virtual methods
.method public dispatchDraw(Landroid/graphics/Canvas;)V
.locals 5
iget-object p1, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->cues:Ljava/util/List;
.line 82
invoke-interface {p1}, Ljava/util/List;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
return-void
.line 86
:cond_0
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v0
.line 89
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
move-result v1
.line 90
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
move-result v2
.line 91
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v3
invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I
move-result v4
sub-int/2addr v3, v4
.line 92
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
move-result v4
sub-int v4, v0, v4
if-le v4, v2, :cond_4
if-gt v3, v1, :cond_1
goto :goto_0
:cond_1
sub-int/2addr v4, v2
iget v1, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->textSizeType:I
iget v2, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->textSize:F
.line 100
invoke-static {v1, v2, v0, v4}, Lcom/google/android/exoplayer2/ui/SubtitleViewUtils;->resolveTextSize(IFII)F
move-result v0
const/4 v1, 0x0
cmpg-float v0, v0, v1
if-gtz v0, :cond_2
return-void
.line 107
:cond_2
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
if-gtz v0, :cond_3
return-void
:cond_3
const/4 v0, 0x0
.line 109
invoke-interface {p1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lcom/amazonaws/handlers/HandlerChainFactory$$ExternalSyntheticThrowCCEIfNotNull0;->m(Ljava/lang/Object;)V
const/4 p1, 0x0
.line 110
throw p1
:cond_4
:goto_0
return-void
.end method
.method public update(Ljava/util/List;Lcom/google/android/exoplayer2/ui/CaptionStyleCompat;FIF)V
.locals 0
iput-object p1, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->cues:Ljava/util/List;
iput-object p2, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->style:Lcom/google/android/exoplayer2/ui/CaptionStyleCompat;
iput p3, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->textSize:F
iput p4, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->textSizeType:I
iput p5, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->bottomPaddingFraction:F
:goto_0
iget-object p2, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->painters:Ljava/util/List;
.line 72
invoke-interface {p2}, Ljava/util/List;->size()I
move-result p2
invoke-interface {p1}, Ljava/util/List;->size()I
move-result p3
if-ge p2, p3, :cond_0
iget-object p2, p0, Lcom/google/android/exoplayer2/ui/CanvasSubtitleOutput;->painters:Ljava/util/List;
.line 73
new-instance p3, Lcom/google/android/exoplayer2/ui/SubtitlePainter;
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object p4
invoke-direct {p3, p4}, Lcom/google/android/exoplayer2/ui/SubtitlePainter;-><init>(Landroid/content/Context;)V
invoke-interface {p2, p3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
.line 76
:cond_0
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
return-void
.end method