Changes of com.discord v1201
This commit is contained in:
parent
8df276e428
commit
20579acee0
15354 changed files with 1144536 additions and 1081569 deletions
14
com.discord/smali_classes2/f/g/l/a/a$a.smali
Normal file
14
com.discord/smali_classes2/f/g/l/a/a$a.smali
Normal file
|
@ -0,0 +1,14 @@
|
|||
.class public interface abstract Lf/g/l/a/a$a;
|
||||
.super Ljava/lang/Object;
|
||||
.source "MultiPointerGestureDetector.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Lf/g/l/a/a;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x609
|
||||
name = "a"
|
||||
.end annotation
|
158
com.discord/smali_classes2/f/g/l/a/a.smali
Normal file
158
com.discord/smali_classes2/f/g/l/a/a.smali
Normal file
|
@ -0,0 +1,158 @@
|
|||
.class public Lf/g/l/a/a;
|
||||
.super Ljava/lang/Object;
|
||||
.source "MultiPointerGestureDetector.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/MemberClasses;
|
||||
value = {
|
||||
Lf/g/l/a/a$a;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public a:Z
|
||||
|
||||
.field public b:I
|
||||
|
||||
.field public final c:[I
|
||||
|
||||
.field public final d:[F
|
||||
|
||||
.field public final e:[F
|
||||
|
||||
.field public final f:[F
|
||||
|
||||
.field public final g:[F
|
||||
|
||||
.field public h:Lf/g/l/a/a$a;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>()V
|
||||
.locals 2
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
const/4 v0, 0x2
|
||||
|
||||
new-array v1, v0, [I
|
||||
|
||||
iput-object v1, p0, Lf/g/l/a/a;->c:[I
|
||||
|
||||
new-array v1, v0, [F
|
||||
|
||||
iput-object v1, p0, Lf/g/l/a/a;->d:[F
|
||||
|
||||
new-array v1, v0, [F
|
||||
|
||||
iput-object v1, p0, Lf/g/l/a/a;->e:[F
|
||||
|
||||
new-array v1, v0, [F
|
||||
|
||||
iput-object v1, p0, Lf/g/l/a/a;->f:[F
|
||||
|
||||
new-array v0, v0, [F
|
||||
|
||||
iput-object v0, p0, Lf/g/l/a/a;->g:[F
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-object v0, p0, Lf/g/l/a/a;->h:Lf/g/l/a/a$a;
|
||||
|
||||
invoke-virtual {p0}, Lf/g/l/a/a;->a()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public a()V
|
||||
.locals 3
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-boolean v0, p0, Lf/g/l/a/a;->a:Z
|
||||
|
||||
iput v0, p0, Lf/g/l/a/a;->b:I
|
||||
|
||||
:goto_0
|
||||
const/4 v1, 0x2
|
||||
|
||||
if-ge v0, v1, :cond_0
|
||||
|
||||
iget-object v1, p0, Lf/g/l/a/a;->c:[I
|
||||
|
||||
const/4 v2, -0x1
|
||||
|
||||
aput v2, v1, v0
|
||||
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public final b()V
|
||||
.locals 2
|
||||
|
||||
iget-boolean v0, p0, Lf/g/l/a/a;->a:Z
|
||||
|
||||
if-nez v0, :cond_1
|
||||
|
||||
iget-object v0, p0, Lf/g/l/a/a;->h:Lf/g/l/a/a$a;
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
check-cast v0, Lf/g/l/a/b;
|
||||
|
||||
iget-object v1, v0, Lf/g/l/a/b;->b:Lf/g/l/a/b$a;
|
||||
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
invoke-interface {v1, v0}, Lf/g/l/a/b$a;->c(Lf/g/l/a/b;)V
|
||||
|
||||
:cond_0
|
||||
const/4 v0, 0x1
|
||||
|
||||
iput-boolean v0, p0, Lf/g/l/a/a;->a:Z
|
||||
|
||||
:cond_1
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public final c()V
|
||||
.locals 2
|
||||
|
||||
iget-boolean v0, p0, Lf/g/l/a/a;->a:Z
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-boolean v0, p0, Lf/g/l/a/a;->a:Z
|
||||
|
||||
iget-object v0, p0, Lf/g/l/a/a;->h:Lf/g/l/a/a$a;
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
check-cast v0, Lf/g/l/a/b;
|
||||
|
||||
iget-object v0, v0, Lf/g/l/a/b;->b:Lf/g/l/a/b$a;
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
check-cast v0, Lf/g/l/b/e;
|
||||
|
||||
sget-object v0, Lf/g/l/b/e;->r:Ljava/lang/Class;
|
||||
|
||||
const-string v1, "onGestureEnd"
|
||||
|
||||
invoke-static {v0, v1}, Lf/g/d/e/a;->h(Ljava/lang/Class;Ljava/lang/String;)V
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
22
com.discord/smali_classes2/f/g/l/a/b$a.smali
Normal file
22
com.discord/smali_classes2/f/g/l/a/b$a.smali
Normal file
|
@ -0,0 +1,22 @@
|
|||
.class public interface abstract Lf/g/l/a/b$a;
|
||||
.super Ljava/lang/Object;
|
||||
.source "TransformGestureDetector.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Lf/g/l/a/b;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x609
|
||||
name = "a"
|
||||
.end annotation
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public abstract b(Lf/g/l/a/b;)V
|
||||
.end method
|
||||
|
||||
.method public abstract c(Lf/g/l/a/b;)V
|
||||
.end method
|
151
com.discord/smali_classes2/f/g/l/a/b.smali
Normal file
151
com.discord/smali_classes2/f/g/l/a/b.smali
Normal file
|
@ -0,0 +1,151 @@
|
|||
.class public Lf/g/l/a/b;
|
||||
.super Ljava/lang/Object;
|
||||
.source "TransformGestureDetector.java"
|
||||
|
||||
# interfaces
|
||||
.implements Lf/g/l/a/a$a;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/MemberClasses;
|
||||
value = {
|
||||
Lf/g/l/a/b$a;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public final a:Lf/g/l/a/a;
|
||||
|
||||
.field public b:Lf/g/l/a/b$a;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Lf/g/l/a/a;)V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-object v0, p0, Lf/g/l/a/b;->b:Lf/g/l/a/b$a;
|
||||
|
||||
iput-object p1, p0, Lf/g/l/a/b;->a:Lf/g/l/a/a;
|
||||
|
||||
iput-object p0, p1, Lf/g/l/a/a;->h:Lf/g/l/a/a$a;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public final a([FI)F
|
||||
.locals 4
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
:goto_0
|
||||
if-ge v1, p2, :cond_0
|
||||
|
||||
aget v3, p1, v1
|
||||
|
||||
add-float/2addr v2, v3
|
||||
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
if-lez p2, :cond_1
|
||||
|
||||
int-to-float p1, p2
|
||||
|
||||
div-float v0, v2, p1
|
||||
|
||||
:cond_1
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public b()F
|
||||
.locals 2
|
||||
|
||||
iget-object v0, p0, Lf/g/l/a/b;->a:Lf/g/l/a/a;
|
||||
|
||||
iget-object v1, v0, Lf/g/l/a/a;->d:[F
|
||||
|
||||
iget v0, v0, Lf/g/l/a/a;->b:I
|
||||
|
||||
invoke-virtual {p0, v1, v0}, Lf/g/l/a/b;->a([FI)F
|
||||
|
||||
move-result v0
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public c()F
|
||||
.locals 2
|
||||
|
||||
iget-object v0, p0, Lf/g/l/a/b;->a:Lf/g/l/a/a;
|
||||
|
||||
iget-object v1, v0, Lf/g/l/a/a;->e:[F
|
||||
|
||||
iget v0, v0, Lf/g/l/a/a;->b:I
|
||||
|
||||
invoke-virtual {p0, v1, v0}, Lf/g/l/a/b;->a([FI)F
|
||||
|
||||
move-result v0
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public d()V
|
||||
.locals 4
|
||||
|
||||
iget-object v0, p0, Lf/g/l/a/b;->a:Lf/g/l/a/a;
|
||||
|
||||
iget-boolean v1, v0, Lf/g/l/a/a;->a:Z
|
||||
|
||||
if-nez v1, :cond_0
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_0
|
||||
invoke-virtual {v0}, Lf/g/l/a/a;->c()V
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
:goto_0
|
||||
const/4 v2, 0x2
|
||||
|
||||
if-ge v1, v2, :cond_1
|
||||
|
||||
iget-object v2, v0, Lf/g/l/a/a;->d:[F
|
||||
|
||||
iget-object v3, v0, Lf/g/l/a/a;->f:[F
|
||||
|
||||
aget v3, v3, v1
|
||||
|
||||
aput v3, v2, v1
|
||||
|
||||
iget-object v2, v0, Lf/g/l/a/a;->e:[F
|
||||
|
||||
iget-object v3, v0, Lf/g/l/a/a;->g:[F
|
||||
|
||||
aget v3, v3, v1
|
||||
|
||||
aput v3, v2, v1
|
||||
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
invoke-virtual {v0}, Lf/g/l/a/a;->b()V
|
||||
|
||||
:goto_1
|
||||
return-void
|
||||
.end method
|
386
com.discord/smali_classes2/f/g/l/b/a.smali
Normal file
386
com.discord/smali_classes2/f/g/l/b/a.smali
Normal file
|
@ -0,0 +1,386 @@
|
|||
.class public abstract Lf/g/l/b/a;
|
||||
.super Lf/g/l/b/e;
|
||||
.source "AbstractAnimatedZoomableController.java"
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public s:Z
|
||||
|
||||
.field public final t:[F
|
||||
|
||||
.field public final u:[F
|
||||
|
||||
.field public final v:[F
|
||||
|
||||
.field public final w:Landroid/graphics/Matrix;
|
||||
|
||||
.field public final x:Landroid/graphics/Matrix;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Lf/g/l/a/b;)V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0, p1}, Lf/g/l/b/e;-><init>(Lf/g/l/a/b;)V
|
||||
|
||||
const/16 p1, 0x9
|
||||
|
||||
new-array v0, p1, [F
|
||||
|
||||
iput-object v0, p0, Lf/g/l/b/a;->t:[F
|
||||
|
||||
new-array v0, p1, [F
|
||||
|
||||
iput-object v0, p0, Lf/g/l/b/a;->u:[F
|
||||
|
||||
new-array p1, p1, [F
|
||||
|
||||
iput-object p1, p0, Lf/g/l/b/a;->v:[F
|
||||
|
||||
new-instance p1, Landroid/graphics/Matrix;
|
||||
|
||||
invoke-direct {p1}, Landroid/graphics/Matrix;-><init>()V
|
||||
|
||||
iput-object p1, p0, Lf/g/l/b/a;->w:Landroid/graphics/Matrix;
|
||||
|
||||
new-instance p1, Landroid/graphics/Matrix;
|
||||
|
||||
invoke-direct {p1}, Landroid/graphics/Matrix;-><init>()V
|
||||
|
||||
iput-object p1, p0, Lf/g/l/b/a;->x:Landroid/graphics/Matrix;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public a()Z
|
||||
.locals 1
|
||||
|
||||
iget-boolean v0, p0, Lf/g/l/b/a;->s:Z
|
||||
|
||||
if-nez v0, :cond_0
|
||||
|
||||
invoke-super {p0}, Lf/g/l/b/e;->a()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_0
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public b(Lf/g/l/a/b;)V
|
||||
.locals 3
|
||||
|
||||
sget-object v0, Lf/g/l/b/d;->z:Ljava/lang/Class;
|
||||
|
||||
iget-boolean v1, p0, Lf/g/l/b/a;->s:Z
|
||||
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
const-string v1, "(ignored)"
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
const-string v1, ""
|
||||
|
||||
:goto_0
|
||||
const-string v2, "onGestureUpdate %s"
|
||||
|
||||
invoke-static {v0, v2, v1}, Lf/g/d/e/a;->i(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
|
||||
|
||||
iget-boolean v0, p0, Lf/g/l/b/a;->s:Z
|
||||
|
||||
if-eqz v0, :cond_1
|
||||
|
||||
return-void
|
||||
|
||||
:cond_1
|
||||
invoke-super {p0, p1}, Lf/g/l/b/e;->b(Lf/g/l/a/b;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public c(Lf/g/l/a/b;)V
|
||||
.locals 2
|
||||
|
||||
sget-object v0, Lf/g/l/b/d;->z:Ljava/lang/Class;
|
||||
|
||||
const-string v1, "onGestureBegin"
|
||||
|
||||
invoke-static {v0, v1}, Lf/g/d/e/a;->h(Ljava/lang/Class;Ljava/lang/String;)V
|
||||
|
||||
invoke-virtual {p0}, Lf/g/l/b/a;->m()V
|
||||
|
||||
invoke-super {p0, p1}, Lf/g/l/b/e;->c(Lf/g/l/a/b;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public j()V
|
||||
.locals 2
|
||||
|
||||
sget-object v0, Lf/g/l/b/d;->z:Ljava/lang/Class;
|
||||
|
||||
const-string v1, "reset"
|
||||
|
||||
invoke-static {v0, v1}, Lf/g/d/e/a;->h(Ljava/lang/Class;Ljava/lang/String;)V
|
||||
|
||||
invoke-virtual {p0}, Lf/g/l/b/a;->m()V
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/a;->x:Landroid/graphics/Matrix;
|
||||
|
||||
invoke-virtual {v0}, Landroid/graphics/Matrix;->reset()V
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/a;->w:Landroid/graphics/Matrix;
|
||||
|
||||
invoke-virtual {v0}, Landroid/graphics/Matrix;->reset()V
|
||||
|
||||
invoke-super {p0}, Lf/g/l/b/e;->j()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public abstract m()V
|
||||
.end method
|
||||
|
||||
.method public n(FLandroid/graphics/PointF;Landroid/graphics/PointF;IJLjava/lang/Runnable;)V
|
||||
.locals 8
|
||||
.param p7 # Ljava/lang/Runnable;
|
||||
.annotation build Landroidx/annotation/Nullable;
|
||||
.end annotation
|
||||
.end param
|
||||
|
||||
sget-object p7, Lf/g/l/b/d;->z:Ljava/lang/Class;
|
||||
|
||||
invoke-static {p5, p6}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
const-string v1, "zoomToPoint: duration %d ms"
|
||||
|
||||
invoke-static {p7, v1, v0}, Lf/g/d/e/a;->i(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
|
||||
|
||||
iget-object p7, p0, Lf/g/l/b/a;->w:Landroid/graphics/Matrix;
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/e;->o:[F
|
||||
|
||||
iget v1, p2, Landroid/graphics/PointF;->x:F
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
aput v1, v0, v2
|
||||
|
||||
iget p2, p2, Landroid/graphics/PointF;->y:F
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
aput p2, v0, v1
|
||||
|
||||
const/4 p2, 0x0
|
||||
|
||||
:goto_0
|
||||
if-ge p2, v1, :cond_0
|
||||
|
||||
mul-int/lit8 v3, p2, 0x2
|
||||
|
||||
add-int/lit8 v4, v3, 0x0
|
||||
|
||||
aget v5, v0, v4
|
||||
|
||||
iget-object v6, p0, Lf/g/l/b/e;->j:Landroid/graphics/RectF;
|
||||
|
||||
invoke-virtual {v6}, Landroid/graphics/RectF;->width()F
|
||||
|
||||
move-result v6
|
||||
|
||||
mul-float v6, v6, v5
|
||||
|
||||
iget-object v5, p0, Lf/g/l/b/e;->j:Landroid/graphics/RectF;
|
||||
|
||||
iget v7, v5, Landroid/graphics/RectF;->left:F
|
||||
|
||||
add-float/2addr v6, v7
|
||||
|
||||
aput v6, v0, v4
|
||||
|
||||
add-int/2addr v3, v1
|
||||
|
||||
aget v4, v0, v3
|
||||
|
||||
invoke-virtual {v5}, Landroid/graphics/RectF;->height()F
|
||||
|
||||
move-result v5
|
||||
|
||||
mul-float v5, v5, v4
|
||||
|
||||
iget-object v4, p0, Lf/g/l/b/e;->j:Landroid/graphics/RectF;
|
||||
|
||||
iget v4, v4, Landroid/graphics/RectF;->top:F
|
||||
|
||||
add-float/2addr v5, v4
|
||||
|
||||
aput v5, v0, v3
|
||||
|
||||
add-int/lit8 p2, p2, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
iget p2, p3, Landroid/graphics/PointF;->x:F
|
||||
|
||||
aget v3, v0, v2
|
||||
|
||||
sub-float/2addr p2, v3
|
||||
|
||||
iget p3, p3, Landroid/graphics/PointF;->y:F
|
||||
|
||||
aget v3, v0, v1
|
||||
|
||||
sub-float/2addr p3, v3
|
||||
|
||||
aget v3, v0, v2
|
||||
|
||||
aget v4, v0, v1
|
||||
|
||||
invoke-virtual {p7, p1, p1, v3, v4}, Landroid/graphics/Matrix;->setScale(FFFF)V
|
||||
|
||||
aget p1, v0, v2
|
||||
|
||||
aget v0, v0, v1
|
||||
|
||||
invoke-virtual {p0, p7, p1, v0, p4}, Lf/g/l/b/e;->f(Landroid/graphics/Matrix;FFI)Z
|
||||
|
||||
invoke-virtual {p7, p2, p3}, Landroid/graphics/Matrix;->postTranslate(FF)Z
|
||||
|
||||
invoke-virtual {p0, p7, p4}, Lf/g/l/b/e;->g(Landroid/graphics/Matrix;I)Z
|
||||
|
||||
iget-object p1, p0, Lf/g/l/b/a;->w:Landroid/graphics/Matrix;
|
||||
|
||||
sget-object p2, Lf/g/l/b/d;->z:Ljava/lang/Class;
|
||||
|
||||
invoke-static {p5, p6}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
||||
|
||||
move-result-object p3
|
||||
|
||||
const-string p4, "setTransform: duration %d ms"
|
||||
|
||||
invoke-static {p2, p4, p3}, Lf/g/d/e/a;->i(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
|
||||
|
||||
const-wide/16 p2, 0x0
|
||||
|
||||
cmp-long p4, p5, p2
|
||||
|
||||
if-gtz p4, :cond_1
|
||||
|
||||
sget-object p2, Lf/g/l/b/d;->z:Ljava/lang/Class;
|
||||
|
||||
const-string p3, "setTransformImmediate"
|
||||
|
||||
invoke-static {p2, p3}, Lf/g/d/e/a;->h(Ljava/lang/Class;Ljava/lang/String;)V
|
||||
|
||||
invoke-virtual {p0}, Lf/g/l/b/a;->m()V
|
||||
|
||||
iget-object p2, p0, Lf/g/l/b/a;->x:Landroid/graphics/Matrix;
|
||||
|
||||
invoke-virtual {p2, p1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
|
||||
|
||||
sget-object p2, Lf/g/l/b/e;->r:Ljava/lang/Class;
|
||||
|
||||
const-string p3, "setTransform"
|
||||
|
||||
invoke-static {p2, p3}, Lf/g/d/e/a;->h(Ljava/lang/Class;Ljava/lang/String;)V
|
||||
|
||||
iget-object p2, p0, Lf/g/l/b/e;->m:Landroid/graphics/Matrix;
|
||||
|
||||
invoke-virtual {p2, p1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
|
||||
|
||||
invoke-virtual {p0}, Lf/g/l/b/e;->i()V
|
||||
|
||||
iget-object p1, p0, Lf/g/l/b/e;->a:Lf/g/l/a/b;
|
||||
|
||||
invoke-virtual {p1}, Lf/g/l/a/b;->d()V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_1
|
||||
move-object p2, p0
|
||||
|
||||
check-cast p2, Lf/g/l/b/d;
|
||||
|
||||
sget-object p3, Lf/g/l/b/d;->z:Ljava/lang/Class;
|
||||
|
||||
invoke-static {p5, p6}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
|
||||
|
||||
move-result-object p7
|
||||
|
||||
const-string v0, "setTransformAnimated: duration %d ms"
|
||||
|
||||
invoke-static {p3, v0, p7}, Lf/g/d/e/a;->i(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
|
||||
|
||||
invoke-virtual {p2}, Lf/g/l/b/d;->m()V
|
||||
|
||||
if-lez p4, :cond_2
|
||||
|
||||
const/4 v2, 0x1
|
||||
|
||||
:cond_2
|
||||
invoke-static {v2}, Ld0/a/b/b/a;->h(Z)V
|
||||
|
||||
iget-boolean p3, p2, Lf/g/l/b/a;->s:Z
|
||||
|
||||
xor-int/2addr p3, v1
|
||||
|
||||
invoke-static {p3}, Ld0/a/b/b/a;->m(Z)V
|
||||
|
||||
iput-boolean v1, p2, Lf/g/l/b/a;->s:Z
|
||||
|
||||
iget-object p3, p2, Lf/g/l/b/d;->y:Landroid/animation/ValueAnimator;
|
||||
|
||||
invoke-virtual {p3, p5, p6}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;
|
||||
|
||||
iget-object p3, p2, Lf/g/l/b/e;->m:Landroid/graphics/Matrix;
|
||||
|
||||
iget-object p4, p2, Lf/g/l/b/a;->t:[F
|
||||
|
||||
invoke-virtual {p3, p4}, Landroid/graphics/Matrix;->getValues([F)V
|
||||
|
||||
iget-object p3, p2, Lf/g/l/b/a;->u:[F
|
||||
|
||||
invoke-virtual {p1, p3}, Landroid/graphics/Matrix;->getValues([F)V
|
||||
|
||||
iget-object p1, p2, Lf/g/l/b/d;->y:Landroid/animation/ValueAnimator;
|
||||
|
||||
new-instance p3, Lf/g/l/b/b;
|
||||
|
||||
invoke-direct {p3, p2}, Lf/g/l/b/b;-><init>(Lf/g/l/b/d;)V
|
||||
|
||||
invoke-virtual {p1, p3}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
|
||||
|
||||
iget-object p1, p2, Lf/g/l/b/d;->y:Landroid/animation/ValueAnimator;
|
||||
|
||||
new-instance p3, Lf/g/l/b/c;
|
||||
|
||||
const/4 p4, 0x0
|
||||
|
||||
invoke-direct {p3, p2, p4}, Lf/g/l/b/c;-><init>(Lf/g/l/b/d;Ljava/lang/Runnable;)V
|
||||
|
||||
invoke-virtual {p1, p3}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V
|
||||
|
||||
iget-object p1, p2, Lf/g/l/b/d;->y:Landroid/animation/ValueAnimator;
|
||||
|
||||
invoke-virtual {p1}, Landroid/animation/ValueAnimator;->start()V
|
||||
|
||||
:goto_1
|
||||
return-void
|
||||
.end method
|
98
com.discord/smali_classes2/f/g/l/b/b.smali
Normal file
98
com.discord/smali_classes2/f/g/l/b/b.smali
Normal file
|
@ -0,0 +1,98 @@
|
|||
.class public Lf/g/l/b/b;
|
||||
.super Ljava/lang/Object;
|
||||
.source "AnimatedZoomableController.java"
|
||||
|
||||
# interfaces
|
||||
.implements Landroid/animation/ValueAnimator$AnimatorUpdateListener;
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public final synthetic d:Lf/g/l/b/d;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Lf/g/l/b/d;)V
|
||||
.locals 0
|
||||
|
||||
iput-object p1, p0, Lf/g/l/b/b;->d:Lf/g/l/b/d;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public onAnimationUpdate(Landroid/animation/ValueAnimator;)V
|
||||
.locals 6
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/b;->d:Lf/g/l/b/d;
|
||||
|
||||
iget-object v1, v0, Lf/g/l/b/a;->x:Landroid/graphics/Matrix;
|
||||
|
||||
invoke-virtual {p1}, Landroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
check-cast p1, Ljava/lang/Float;
|
||||
|
||||
invoke-virtual {p1}, Ljava/lang/Float;->floatValue()F
|
||||
|
||||
move-result p1
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
:goto_0
|
||||
const/16 v3, 0x9
|
||||
|
||||
if-ge v2, v3, :cond_0
|
||||
|
||||
iget-object v3, v0, Lf/g/l/b/a;->v:[F
|
||||
|
||||
const/high16 v4, 0x3f800000 # 1.0f
|
||||
|
||||
sub-float/2addr v4, p1
|
||||
|
||||
iget-object v5, v0, Lf/g/l/b/a;->t:[F
|
||||
|
||||
aget v5, v5, v2
|
||||
|
||||
mul-float v4, v4, v5
|
||||
|
||||
iget-object v5, v0, Lf/g/l/b/a;->u:[F
|
||||
|
||||
aget v5, v5, v2
|
||||
|
||||
mul-float v5, v5, p1
|
||||
|
||||
add-float/2addr v5, v4
|
||||
|
||||
aput v5, v3, v2
|
||||
|
||||
add-int/lit8 v2, v2, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
iget-object p1, v0, Lf/g/l/b/a;->v:[F
|
||||
|
||||
invoke-virtual {v1, p1}, Landroid/graphics/Matrix;->setValues([F)V
|
||||
|
||||
iget-object p1, p0, Lf/g/l/b/b;->d:Lf/g/l/b/d;
|
||||
|
||||
iget-object v0, p1, Lf/g/l/b/a;->x:Landroid/graphics/Matrix;
|
||||
|
||||
sget-object v1, Lf/g/l/b/e;->r:Ljava/lang/Class;
|
||||
|
||||
const-string v2, "setTransform"
|
||||
|
||||
invoke-static {v1, v2}, Lf/g/d/e/a;->h(Ljava/lang/Class;Ljava/lang/String;)V
|
||||
|
||||
iget-object v1, p1, Lf/g/l/b/e;->m:Landroid/graphics/Matrix;
|
||||
|
||||
invoke-virtual {v1, v0}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
|
||||
|
||||
invoke-virtual {p1}, Lf/g/l/b/e;->i()V
|
||||
|
||||
return-void
|
||||
.end method
|
101
com.discord/smali_classes2/f/g/l/b/c.smali
Normal file
101
com.discord/smali_classes2/f/g/l/b/c.smali
Normal file
|
@ -0,0 +1,101 @@
|
|||
.class public Lf/g/l/b/c;
|
||||
.super Landroid/animation/AnimatorListenerAdapter;
|
||||
.source "AnimatedZoomableController.java"
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public final synthetic d:Ljava/lang/Runnable;
|
||||
|
||||
.field public final synthetic e:Lf/g/l/b/d;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Lf/g/l/b/d;Ljava/lang/Runnable;)V
|
||||
.locals 0
|
||||
|
||||
iput-object p1, p0, Lf/g/l/b/c;->e:Lf/g/l/b/d;
|
||||
|
||||
iput-object p2, p0, Lf/g/l/b/c;->d:Ljava/lang/Runnable;
|
||||
|
||||
invoke-direct {p0}, Landroid/animation/AnimatorListenerAdapter;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public onAnimationCancel(Landroid/animation/Animator;)V
|
||||
.locals 1
|
||||
|
||||
iget-object p1, p0, Lf/g/l/b/c;->e:Lf/g/l/b/d;
|
||||
|
||||
if-eqz p1, :cond_1
|
||||
|
||||
sget-object p1, Lf/g/l/b/d;->z:Ljava/lang/Class;
|
||||
|
||||
const-string v0, "setTransformAnimated: animation cancelled"
|
||||
|
||||
invoke-static {p1, v0}, Lf/g/d/e/a;->h(Ljava/lang/Class;Ljava/lang/String;)V
|
||||
|
||||
iget-object p1, p0, Lf/g/l/b/c;->d:Ljava/lang/Runnable;
|
||||
|
||||
if-eqz p1, :cond_0
|
||||
|
||||
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
|
||||
|
||||
:cond_0
|
||||
iget-object p1, p0, Lf/g/l/b/c;->e:Lf/g/l/b/d;
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-boolean v0, p1, Lf/g/l/b/a;->s:Z
|
||||
|
||||
iget-object p1, p1, Lf/g/l/b/e;->a:Lf/g/l/a/b;
|
||||
|
||||
invoke-virtual {p1}, Lf/g/l/a/b;->d()V
|
||||
|
||||
return-void
|
||||
|
||||
:cond_1
|
||||
const/4 p1, 0x0
|
||||
|
||||
throw p1
|
||||
.end method
|
||||
|
||||
.method public onAnimationEnd(Landroid/animation/Animator;)V
|
||||
.locals 1
|
||||
|
||||
iget-object p1, p0, Lf/g/l/b/c;->e:Lf/g/l/b/d;
|
||||
|
||||
if-eqz p1, :cond_1
|
||||
|
||||
sget-object p1, Lf/g/l/b/d;->z:Ljava/lang/Class;
|
||||
|
||||
const-string v0, "setTransformAnimated: animation finished"
|
||||
|
||||
invoke-static {p1, v0}, Lf/g/d/e/a;->h(Ljava/lang/Class;Ljava/lang/String;)V
|
||||
|
||||
iget-object p1, p0, Lf/g/l/b/c;->d:Ljava/lang/Runnable;
|
||||
|
||||
if-eqz p1, :cond_0
|
||||
|
||||
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
|
||||
|
||||
:cond_0
|
||||
iget-object p1, p0, Lf/g/l/b/c;->e:Lf/g/l/b/d;
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-boolean v0, p1, Lf/g/l/b/a;->s:Z
|
||||
|
||||
iget-object p1, p1, Lf/g/l/b/e;->a:Lf/g/l/a/b;
|
||||
|
||||
invoke-virtual {p1}, Lf/g/l/a/b;->d()V
|
||||
|
||||
return-void
|
||||
|
||||
:cond_1
|
||||
const/4 p1, 0x0
|
||||
|
||||
throw p1
|
||||
.end method
|
105
com.discord/smali_classes2/f/g/l/b/d.smali
Normal file
105
com.discord/smali_classes2/f/g/l/b/d.smali
Normal file
|
@ -0,0 +1,105 @@
|
|||
.class public Lf/g/l/b/d;
|
||||
.super Lf/g/l/b/a;
|
||||
.source "AnimatedZoomableController.java"
|
||||
|
||||
|
||||
# static fields
|
||||
.field public static final z:Ljava/lang/Class;
|
||||
.annotation system Ldalvik/annotation/Signature;
|
||||
value = {
|
||||
"Ljava/lang/Class<",
|
||||
"*>;"
|
||||
}
|
||||
.end annotation
|
||||
.end field
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public final y:Landroid/animation/ValueAnimator;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public static constructor <clinit>()V
|
||||
.locals 1
|
||||
|
||||
const-class v0, Lf/g/l/b/d;
|
||||
|
||||
sput-object v0, Lf/g/l/b/d;->z:Ljava/lang/Class;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Lf/g/l/a/b;)V
|
||||
.locals 1
|
||||
.annotation build Landroid/annotation/SuppressLint;
|
||||
value = {
|
||||
"NewApi"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
invoke-direct {p0, p1}, Lf/g/l/b/a;-><init>(Lf/g/l/a/b;)V
|
||||
|
||||
const/4 p1, 0x2
|
||||
|
||||
new-array p1, p1, [F
|
||||
|
||||
fill-array-data p1, :array_0
|
||||
|
||||
invoke-static {p1}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
iput-object p1, p0, Lf/g/l/b/d;->y:Landroid/animation/ValueAnimator;
|
||||
|
||||
new-instance v0, Landroid/view/animation/DecelerateInterpolator;
|
||||
|
||||
invoke-direct {v0}, Landroid/view/animation/DecelerateInterpolator;-><init>()V
|
||||
|
||||
invoke-virtual {p1, v0}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V
|
||||
|
||||
return-void
|
||||
|
||||
:array_0
|
||||
.array-data 4
|
||||
0x0
|
||||
0x3f800000 # 1.0f
|
||||
.end array-data
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public m()V
|
||||
.locals 2
|
||||
.annotation build Landroid/annotation/SuppressLint;
|
||||
value = {
|
||||
"NewApi"
|
||||
}
|
||||
.end annotation
|
||||
|
||||
iget-boolean v0, p0, Lf/g/l/b/a;->s:Z
|
||||
|
||||
if-nez v0, :cond_0
|
||||
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
sget-object v0, Lf/g/l/b/d;->z:Ljava/lang/Class;
|
||||
|
||||
const-string v1, "stopAnimation"
|
||||
|
||||
invoke-static {v0, v1}, Lf/g/d/e/a;->h(Ljava/lang/Class;Ljava/lang/String;)V
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/d;->y:Landroid/animation/ValueAnimator;
|
||||
|
||||
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/d;->y:Landroid/animation/ValueAnimator;
|
||||
|
||||
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->removeAllUpdateListeners()V
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/d;->y:Landroid/animation/ValueAnimator;
|
||||
|
||||
invoke-virtual {v0}, Landroid/animation/ValueAnimator;->removeAllListeners()V
|
||||
|
||||
return-void
|
||||
.end method
|
1232
com.discord/smali_classes2/f/g/l/b/e.smali
Normal file
1232
com.discord/smali_classes2/f/g/l/b/e.smali
Normal file
File diff suppressed because it is too large
Load diff
129
com.discord/smali_classes2/f/g/l/b/f.smali
Normal file
129
com.discord/smali_classes2/f/g/l/b/f.smali
Normal file
|
@ -0,0 +1,129 @@
|
|||
.class public Lf/g/l/b/f;
|
||||
.super Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
.source "GestureListenerWrapper.java"
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public d:Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>()V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0}, Landroid/view/GestureDetector$SimpleOnGestureListener;-><init>()V
|
||||
|
||||
new-instance v0, Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
|
||||
invoke-direct {v0}, Landroid/view/GestureDetector$SimpleOnGestureListener;-><init>()V
|
||||
|
||||
iput-object v0, p0, Lf/g/l/b/f;->d:Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public onDoubleTap(Landroid/view/MotionEvent;)Z
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/f;->d:Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
|
||||
invoke-virtual {v0, p1}, Landroid/view/GestureDetector$SimpleOnGestureListener;->onDoubleTap(Landroid/view/MotionEvent;)Z
|
||||
|
||||
move-result p1
|
||||
|
||||
return p1
|
||||
.end method
|
||||
|
||||
.method public onDoubleTapEvent(Landroid/view/MotionEvent;)Z
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/f;->d:Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
|
||||
invoke-virtual {v0, p1}, Landroid/view/GestureDetector$SimpleOnGestureListener;->onDoubleTapEvent(Landroid/view/MotionEvent;)Z
|
||||
|
||||
move-result p1
|
||||
|
||||
return p1
|
||||
.end method
|
||||
|
||||
.method public onDown(Landroid/view/MotionEvent;)Z
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/f;->d:Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
|
||||
invoke-virtual {v0, p1}, Landroid/view/GestureDetector$SimpleOnGestureListener;->onDown(Landroid/view/MotionEvent;)Z
|
||||
|
||||
move-result p1
|
||||
|
||||
return p1
|
||||
.end method
|
||||
|
||||
.method public onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/f;->d:Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
|
||||
invoke-virtual {v0, p1, p2, p3, p4}, Landroid/view/GestureDetector$SimpleOnGestureListener;->onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
|
||||
|
||||
move-result p1
|
||||
|
||||
return p1
|
||||
.end method
|
||||
|
||||
.method public onLongPress(Landroid/view/MotionEvent;)V
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/f;->d:Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
|
||||
invoke-virtual {v0, p1}, Landroid/view/GestureDetector$SimpleOnGestureListener;->onLongPress(Landroid/view/MotionEvent;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/f;->d:Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
|
||||
invoke-virtual {v0, p1, p2, p3, p4}, Landroid/view/GestureDetector$SimpleOnGestureListener;->onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
|
||||
|
||||
move-result p1
|
||||
|
||||
return p1
|
||||
.end method
|
||||
|
||||
.method public onShowPress(Landroid/view/MotionEvent;)V
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/f;->d:Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
|
||||
invoke-virtual {v0, p1}, Landroid/view/GestureDetector$SimpleOnGestureListener;->onShowPress(Landroid/view/MotionEvent;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public onSingleTapConfirmed(Landroid/view/MotionEvent;)Z
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/f;->d:Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
|
||||
invoke-virtual {v0, p1}, Landroid/view/GestureDetector$SimpleOnGestureListener;->onSingleTapConfirmed(Landroid/view/MotionEvent;)Z
|
||||
|
||||
move-result p1
|
||||
|
||||
return p1
|
||||
.end method
|
||||
|
||||
.method public onSingleTapUp(Landroid/view/MotionEvent;)Z
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Lf/g/l/b/f;->d:Landroid/view/GestureDetector$SimpleOnGestureListener;
|
||||
|
||||
invoke-virtual {v0, p1}, Landroid/view/GestureDetector$SimpleOnGestureListener;->onSingleTapUp(Landroid/view/MotionEvent;)Z
|
||||
|
||||
move-result p1
|
||||
|
||||
return p1
|
||||
.end method
|
14
com.discord/smali_classes2/f/g/l/b/g$a.smali
Normal file
14
com.discord/smali_classes2/f/g/l/b/g$a.smali
Normal file
|
@ -0,0 +1,14 @@
|
|||
.class public interface abstract Lf/g/l/b/g$a;
|
||||
.super Ljava/lang/Object;
|
||||
.source "ZoomableController.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Lf/g/l/b/g;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x609
|
||||
name = "a"
|
||||
.end annotation
|
16
com.discord/smali_classes2/f/g/l/b/g.smali
Normal file
16
com.discord/smali_classes2/f/g/l/b/g.smali
Normal file
|
@ -0,0 +1,16 @@
|
|||
.class public interface abstract Lf/g/l/b/g;
|
||||
.super Ljava/lang/Object;
|
||||
.source "ZoomableController.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/MemberClasses;
|
||||
value = {
|
||||
Lf/g/l/b/g$a;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public abstract a()Z
|
||||
.end method
|
Loading…
Add table
Add a link
Reference in a new issue