.class public Lcom/discord/overlay/views/OverlayBubbleWrap; .super Landroid/widget/FrameLayout; .source "OverlayBubbleWrap.kt" # static fields .field public static final synthetic r:[Lkotlin/reflect/KProperty; # instance fields .field public final d:Landroid/view/WindowManager; .field public e:Landroid/view/WindowManager$LayoutParams; .field public final f:Landroid/graphics/Rect; .field public final g:I .field public final h:Landroid/graphics/Rect; .field public final i:Lkotlin/properties/ReadWriteProperty; .field public j:Lkotlin/jvm/functions/Function1; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Boolean;", "Lkotlin/Unit;", ">;" } .end annotation .end field .field public final k:[I .field public l:I .field public m:I .field public final n:Landroidx/dynamicanimation/animation/SpringAnimation; .field public final o:Landroidx/dynamicanimation/animation/SpringAnimation; .field public p:Landroid/graphics/Point; .field public q:Landroid/graphics/Point; # direct methods .method public static constructor ()V .locals 5 const/4 v0, 0x1 new-array v0, v0, [Lkotlin/reflect/KProperty; new-instance v1, Lj0/n/c/m; const-class v2, Lcom/discord/overlay/views/OverlayBubbleWrap; invoke-static {v2}, Lj0/n/c/s;->getOrCreateKotlinClass(Ljava/lang/Class;)Lj0/r/b; move-result-object v2 const-string v3, "isMoving" const-string v4, "isMoving()Z" invoke-direct {v1, v2, v3, v4}, Lj0/n/c/m;->(Lkotlin/reflect/KDeclarationContainer;Ljava/lang/String;Ljava/lang/String;)V invoke-static {v1}, Lj0/n/c/s;->mutableProperty1(Lj0/n/c/l;)Lj0/r/c; const/4 v2, 0x0 aput-object v1, v0, v2 sput-object v0, Lcom/discord/overlay/views/OverlayBubbleWrap;->r:[Lkotlin/reflect/KProperty; return-void .end method .method public constructor (Landroid/content/Context;)V .locals 6 invoke-direct {p0, p1}, Landroid/widget/FrameLayout;->(Landroid/content/Context;)V invoke-virtual {p0}, Landroid/widget/FrameLayout;->getContext()Landroid/content/Context; move-result-object p1 const-string/jumbo v0, "window" invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 if-eqz p1, :cond_1 check-cast p1, Landroid/view/WindowManager; iput-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->d:Landroid/view/WindowManager; sget p1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v0, 0x19 if-gt p1, v0, :cond_0 const/16 p1, 0x7d7 const/16 v3, 0x7d7 goto :goto_0 :cond_0 const/16 p1, 0x7f6 const/16 v3, 0x7f6 :goto_0 new-instance p1, Landroid/view/WindowManager$LayoutParams; const/4 v1, -0x2 const/4 v2, -0x2 const/4 v5, -0x3 const v4, 0x1000228 move-object v0, p1 invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;->(IIIII)V const/16 v0, 0x33 iput v0, p1, Landroid/view/WindowManager$LayoutParams;->gravity:I iput-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; new-instance p1, Landroid/graphics/Rect; invoke-direct {p1}, Landroid/graphics/Rect;->()V iput-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->f:Landroid/graphics/Rect; invoke-virtual {p0}, Landroid/widget/FrameLayout;->getResources()Landroid/content/res/Resources; move-result-object p1 sget v0, Lcom/discord/overlay/R$b;->movement_threshold_dp:I invoke-virtual {p1, v0}, Landroid/content/res/Resources;->getDimensionPixelOffset(I)I move-result p1 iput p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->g:I invoke-virtual {p0}, Landroid/widget/FrameLayout;->getContext()Landroid/content/Context; move-result-object p1 sget v0, Lcom/discord/overlay/R$c;->bubble_state_selector:I invoke-static {p1, v0}, Landroid/animation/AnimatorInflater;->loadStateListAnimator(Landroid/content/Context;I)Landroid/animation/StateListAnimator; move-result-object p1 invoke-virtual {p0, p1}, Landroid/widget/FrameLayout;->setStateListAnimator(Landroid/animation/StateListAnimator;)V new-instance p1, Landroid/graphics/Rect; invoke-direct {p1}, Landroid/graphics/Rect;->()V iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->d:Landroid/view/WindowManager; invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display; move-result-object v0 invoke-virtual {v0, p1}, Landroid/view/Display;->getRectSize(Landroid/graphics/Rect;)V iput-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->h:Landroid/graphics/Rect; sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean; new-instance v0, Lcom/discord/overlay/views/OverlayBubbleWrap$a; invoke-direct {v0, p1, p1, p0}, Lcom/discord/overlay/views/OverlayBubbleWrap$a;->(Ljava/lang/Object;Ljava/lang/Object;Lcom/discord/overlay/views/OverlayBubbleWrap;)V iput-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->i:Lkotlin/properties/ReadWriteProperty; const/4 p1, 0x2 new-array p1, p1, [I iput-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->k:[I new-instance p1, Landroidx/dynamicanimation/animation/SpringAnimation; sget-object v0, Landroidx/dynamicanimation/animation/DynamicAnimation;->X:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; const/4 v1, 0x0 invoke-direct {p1, p0, v0, v1}, Landroidx/dynamicanimation/animation/SpringAnimation;->(Ljava/lang/Object;Landroidx/dynamicanimation/animation/FloatPropertyCompat;F)V const/high16 v0, 0x42480000 # 50.0f invoke-virtual {p1, v0}, Landroidx/dynamicanimation/animation/DynamicAnimation;->setStartVelocity(F)Landroidx/dynamicanimation/animation/DynamicAnimation; invoke-virtual {p1}, Landroidx/dynamicanimation/animation/SpringAnimation;->getSpring()Landroidx/dynamicanimation/animation/SpringForce; move-result-object v2 const-string v3, "spring" invoke-static {v2, v3}, Lj0/n/c/h;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const/high16 v4, 0x43480000 # 200.0f invoke-virtual {v2, v4}, Landroidx/dynamicanimation/animation/SpringForce;->setStiffness(F)Landroidx/dynamicanimation/animation/SpringForce; invoke-virtual {p1}, Landroidx/dynamicanimation/animation/SpringAnimation;->getSpring()Landroidx/dynamicanimation/animation/SpringForce; move-result-object v2 invoke-static {v2, v3}, Lj0/n/c/h;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V const/high16 v5, 0x3f400000 # 0.75f invoke-virtual {v2, v5}, Landroidx/dynamicanimation/animation/SpringForce;->setDampingRatio(F)Landroidx/dynamicanimation/animation/SpringForce; iput-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->n:Landroidx/dynamicanimation/animation/SpringAnimation; new-instance p1, Landroidx/dynamicanimation/animation/SpringAnimation; sget-object v2, Landroidx/dynamicanimation/animation/DynamicAnimation;->Y:Landroidx/dynamicanimation/animation/DynamicAnimation$ViewProperty; invoke-direct {p1, p0, v2, v1}, Landroidx/dynamicanimation/animation/SpringAnimation;->(Ljava/lang/Object;Landroidx/dynamicanimation/animation/FloatPropertyCompat;F)V invoke-virtual {p1, v0}, Landroidx/dynamicanimation/animation/DynamicAnimation;->setStartVelocity(F)Landroidx/dynamicanimation/animation/DynamicAnimation; invoke-virtual {p1}, Landroidx/dynamicanimation/animation/SpringAnimation;->getSpring()Landroidx/dynamicanimation/animation/SpringForce; move-result-object v0 invoke-static {v0, v3}, Lj0/n/c/h;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {v0, v5}, Landroidx/dynamicanimation/animation/SpringForce;->setDampingRatio(F)Landroidx/dynamicanimation/animation/SpringForce; invoke-virtual {p1}, Landroidx/dynamicanimation/animation/SpringAnimation;->getSpring()Landroidx/dynamicanimation/animation/SpringForce; move-result-object v0 invoke-static {v0, v3}, Lj0/n/c/h;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {v0, v4}, Landroidx/dynamicanimation/animation/SpringForce;->setStiffness(F)Landroidx/dynamicanimation/animation/SpringForce; iput-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->o:Landroidx/dynamicanimation/animation/SpringAnimation; new-instance p1, Landroid/graphics/Point; iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget v1, v0, Landroid/view/WindowManager$LayoutParams;->x:I iget v0, v0, Landroid/view/WindowManager$LayoutParams;->y:I invoke-direct {p1, v1, v0}, Landroid/graphics/Point;->(II)V iput-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->p:Landroid/graphics/Point; return-void :cond_1 new-instance p1, Lkotlin/TypeCastException; const-string v0, "null cannot be cast to non-null type android.view.WindowManager" invoke-direct {p1, v0}, Lkotlin/TypeCastException;->(Ljava/lang/String;)V throw p1 .end method .method public static final synthetic a(Lcom/discord/overlay/views/OverlayBubbleWrap;)V .locals 0 invoke-virtual {p0}, Lcom/discord/overlay/views/OverlayBubbleWrap;->h()V return-void .end method .method public static synthetic c(Lcom/discord/overlay/views/OverlayBubbleWrap;ZILjava/lang/Object;)V .locals 0 and-int/lit8 p2, p2, 0x1 if-eqz p2, :cond_0 const/4 p1, 0x0 :cond_0 invoke-virtual {p0, p1}, Lcom/discord/overlay/views/OverlayBubbleWrap;->b(Z)V return-void .end method .method public static synthetic f(Lcom/discord/overlay/views/OverlayBubbleWrap;IILandroid/graphics/Rect;ILjava/lang/Object;)V .locals 0 and-int/lit8 p3, p4, 0x4 if-eqz p3, :cond_0 iget-object p3, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->h:Landroid/graphics/Rect; goto :goto_0 :cond_0 const/4 p3, 0x0 :goto_0 invoke-virtual {p0, p1, p2, p3}, Lcom/discord/overlay/views/OverlayBubbleWrap;->e(IILandroid/graphics/Rect;)V return-void .end method # virtual methods .method public b(Z)V .locals 6 invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v0 invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String; move-result-object v0 const-string v1, "Unanchoring[" invoke-static {v1}, Lf/e/b/a/a;->D(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 iget-object v2, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->q:Landroid/graphics/Point; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v2, "] -> " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v2, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->p:Landroid/graphics/Point; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I const/4 v0, 0x0 iput-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->q:Landroid/graphics/Point; iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->n:Landroidx/dynamicanimation/animation/SpringAnimation; invoke-virtual {v0}, Landroidx/dynamicanimation/animation/SpringAnimation;->cancel()V iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->o:Landroidx/dynamicanimation/animation/SpringAnimation; invoke-virtual {v0}, Landroidx/dynamicanimation/animation/SpringAnimation;->cancel()V if-eqz p1, :cond_0 iget-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->p:Landroid/graphics/Point; iget v1, p1, Landroid/graphics/Point;->x:I iget v2, p1, Landroid/graphics/Point;->y:I const/4 v3, 0x0 const/4 v4, 0x4 const/4 v5, 0x0 move-object v0, p0 invoke-static/range {v0 .. v5}, Lcom/discord/overlay/views/OverlayBubbleWrap;->f(Lcom/discord/overlay/views/OverlayBubbleWrap;IILandroid/graphics/Rect;ILjava/lang/Object;)V goto :goto_0 :cond_0 iget-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->p:Landroid/graphics/Point; iget v1, v0, Landroid/graphics/Point;->x:I iput v1, p1, Landroid/view/WindowManager$LayoutParams;->x:I iget v0, v0, Landroid/graphics/Point;->y:I iput v0, p1, Landroid/view/WindowManager$LayoutParams;->y:I iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->d:Landroid/view/WindowManager; invoke-interface {v0, p0, p1}, Landroid/view/WindowManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V :goto_0 return-void .end method .method public d(Landroid/view/View;)V .locals 6 if-eqz p1, :cond_0 const/4 v0, 0x2 new-array v1, v0, [I invoke-virtual {p1, v1}, Landroid/view/View;->getLocationOnScreen([I)V const/4 v2, 0x0 aget v3, v1, v2 invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v4 div-int/2addr v4, v0 add-int/2addr v4, v3 aput v4, v1, v2 const/4 v3, 0x1 aget v4, v1, v3 invoke-virtual {p1}, Landroid/view/View;->getHeight()I move-result v5 div-int/2addr v5, v0 add-int/2addr v5, v4 aput v5, v1, v3 aget v4, v1, v2 iget-object v5, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->k:[I aget v2, v5, v2 sub-int/2addr v4, v2 aget v1, v1, v3 aget v2, v5, v3 sub-int/2addr v1, v2 invoke-virtual {p0}, Landroid/widget/FrameLayout;->getWidth()I move-result v2 div-int/2addr v2, v0 sub-int/2addr v4, v2 invoke-virtual {p0}, Landroid/widget/FrameLayout;->getHeight()I move-result v2 div-int/2addr v2, v0 sub-int/2addr v1, v2 new-instance v0, Landroid/graphics/Point; invoke-direct {v0, v4, v1}, Landroid/graphics/Point;->(II)V invoke-virtual {p0, v0}, Lcom/discord/overlay/views/OverlayBubbleWrap;->setAnchorAt(Landroid/graphics/Point;)V new-instance v1, Landroid/graphics/Rect; invoke-direct {v1}, Landroid/graphics/Rect;->()V iget-object v2, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->d:Landroid/view/WindowManager; invoke-interface {v2}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display; move-result-object v2 invoke-virtual {v2, v1}, Landroid/view/Display;->getRectSize(Landroid/graphics/Rect;)V iget v2, v0, Landroid/graphics/Point;->x:I iget v0, v0, Landroid/graphics/Point;->y:I invoke-virtual {p0, v2, v0, v1}, Lcom/discord/overlay/views/OverlayBubbleWrap;->e(IILandroid/graphics/Rect;)V invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v0 invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String; move-result-object v0 const-string v1, "Anchored[" invoke-static {v1}, Lf/e/b/a/a;->D(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 iget-object v2, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->p:Landroid/graphics/Point; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v2, "] -> " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-static {v0, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 const-string p1, "targetView" invoke-static {p1}, Lj0/n/c/h;->c(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public dispatchTouchEvent(Landroid/view/MotionEvent;)Z .locals 4 if-eqz p1, :cond_6 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 if-eqz v0, :cond_4 const/4 v1, 0x0 const/4 v2, 0x1 if-eq v0, v2, :cond_3 const/4 v3, 0x2 if-eq v0, v3, :cond_0 goto/16 :goto_0 :cond_0 invoke-virtual {p0}, Lcom/discord/overlay/views/OverlayBubbleWrap;->i()Z move-result v0 if-nez v0, :cond_2 iget v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->l:I iget-object v3, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget v3, v3, Landroid/view/WindowManager$LayoutParams;->x:I add-int/2addr v0, v3 invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F move-result v3 float-to-int v3, v3 sub-int/2addr v0, v3 invoke-static {v0}, Ljava/lang/Math;->abs(I)I move-result v0 iget v3, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->g:I if-le v0, v3, :cond_1 const/4 v1, 0x1 :cond_1 if-eqz v1, :cond_5 invoke-virtual {p0, v2}, Lcom/discord/overlay/views/OverlayBubbleWrap;->setMoving(Z)V goto :goto_0 :cond_2 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->p:Landroid/graphics/Point; invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F move-result v1 float-to-int v1, v1 iget v2, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->l:I sub-int/2addr v1, v2 iput v1, v0, Landroid/graphics/Point;->x:I iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->p:Landroid/graphics/Point; invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F move-result v1 float-to-int v1, v1 iget v2, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->m:I sub-int/2addr v1, v2 iput v1, v0, Landroid/graphics/Point;->y:I invoke-static {p0}, Landroidx/core/view/ViewCompat;->isAttachedToWindow(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_5 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->q:Landroid/graphics/Point; if-nez v0, :cond_5 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget-object v1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->p:Landroid/graphics/Point; iget v2, v1, Landroid/graphics/Point;->x:I iput v2, v0, Landroid/view/WindowManager$LayoutParams;->x:I iget v1, v1, Landroid/graphics/Point;->y:I iput v1, v0, Landroid/view/WindowManager$LayoutParams;->y:I iget-object v1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->d:Landroid/view/WindowManager; invoke-interface {v1, p0, v0}, Landroid/view/WindowManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V goto :goto_0 :cond_3 invoke-virtual {p0}, Lcom/discord/overlay/views/OverlayBubbleWrap;->i()Z move-result v0 if-eqz v0, :cond_5 invoke-virtual {p0, v1}, Lcom/discord/overlay/views/OverlayBubbleWrap;->setMoving(Z)V goto :goto_0 :cond_4 invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawX()F move-result v0 float-to-int v0, v0 iget-object v1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget v1, v1, Landroid/view/WindowManager$LayoutParams;->x:I sub-int/2addr v0, v1 iput v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->l:I invoke-virtual {p1}, Landroid/view/MotionEvent;->getRawY()F move-result v0 float-to-int v0, v0 iget-object v1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget v1, v1, Landroid/view/WindowManager$LayoutParams;->y:I sub-int/2addr v0, v1 iput v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->m:I :cond_5 :goto_0 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 :cond_6 const-string p1, "motionEvent" invoke-static {p1}, Lj0/n/c/h;->c(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public final e(IILandroid/graphics/Rect;)V .locals 4 const/4 v0, 0x0 if-eqz p3, :cond_2 iget v1, p3, Landroid/graphics/Rect;->left:I iget v2, p3, Landroid/graphics/Rect;->right:I invoke-virtual {p0}, Landroid/widget/FrameLayout;->getWidth()I move-result v3 sub-int/2addr v2, v3 invoke-static {v1, p1}, Ljava/lang/Math;->max(II)I move-result p1 invoke-static {p1, v2}, Ljava/lang/Math;->min(II)I move-result p1 iget-object v1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->n:Landroidx/dynamicanimation/animation/SpringAnimation; iget-object v2, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget v2, v2, Landroid/view/WindowManager$LayoutParams;->x:I int-to-float v2, v2 int-to-float p1, p1 const-string v3, "$this$animateTo" if-eqz v1, :cond_1 invoke-virtual {v1}, Landroidx/dynamicanimation/animation/SpringAnimation;->cancel()V invoke-virtual {v1, v2}, Landroidx/dynamicanimation/animation/DynamicAnimation;->setStartValue(F)Landroidx/dynamicanimation/animation/DynamicAnimation; invoke-virtual {v1, p1}, Landroidx/dynamicanimation/animation/SpringAnimation;->animateToFinalPosition(F)V iget p1, p3, Landroid/graphics/Rect;->top:I iget p3, p3, Landroid/graphics/Rect;->bottom:I invoke-virtual {p0}, Landroid/widget/FrameLayout;->getHeight()I move-result v1 sub-int/2addr p3, v1 invoke-static {p1, p2}, Ljava/lang/Math;->max(II)I move-result p1 invoke-static {p1, p3}, Ljava/lang/Math;->min(II)I move-result p1 iget-object p2, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->o:Landroidx/dynamicanimation/animation/SpringAnimation; iget-object p3, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget p3, p3, Landroid/view/WindowManager$LayoutParams;->y:I int-to-float p3, p3 int-to-float p1, p1 if-eqz p2, :cond_0 invoke-virtual {p2}, Landroidx/dynamicanimation/animation/SpringAnimation;->cancel()V invoke-virtual {p2, p3}, Landroidx/dynamicanimation/animation/DynamicAnimation;->setStartValue(F)Landroidx/dynamicanimation/animation/DynamicAnimation; invoke-virtual {p2, p1}, Landroidx/dynamicanimation/animation/SpringAnimation;->animateToFinalPosition(F)V return-void :cond_0 invoke-static {v3}, Lj0/n/c/h;->c(Ljava/lang/String;)V throw v0 :cond_1 invoke-static {v3}, Lj0/n/c/h;->c(Ljava/lang/String;)V throw v0 :cond_2 const-string p1, "screenBounds" invoke-static {p1}, Lj0/n/c/h;->c(Ljava/lang/String;)V throw v0 .end method .method public final g(Landroid/graphics/Rect;)V .locals 4 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->h:Landroid/graphics/Rect; iget v1, p1, Landroid/graphics/Rect;->left:I iget-object v2, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->f:Landroid/graphics/Rect; iget v3, v2, Landroid/graphics/Rect;->left:I add-int/2addr v1, v3 iput v1, v0, Landroid/graphics/Rect;->left:I iget v1, p1, Landroid/graphics/Rect;->right:I iget v3, v2, Landroid/graphics/Rect;->right:I sub-int/2addr v1, v3 iput v1, v0, Landroid/graphics/Rect;->right:I iget v1, p1, Landroid/graphics/Rect;->top:I iget v3, v2, Landroid/graphics/Rect;->top:I add-int/2addr v1, v3 iput v1, v0, Landroid/graphics/Rect;->top:I iget p1, p1, Landroid/graphics/Rect;->bottom:I iget v1, v2, Landroid/graphics/Rect;->bottom:I sub-int/2addr p1, v1 iput p1, v0, Landroid/graphics/Rect;->bottom:I return-void .end method .method public final getAllowedAreaBounds()Landroid/graphics/Rect; .locals 1 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->h:Landroid/graphics/Rect; return-object v0 .end method .method public final getCenterX()I .locals 2 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget v0, v0, Landroid/view/WindowManager$LayoutParams;->x:I invoke-virtual {p0}, Landroid/widget/FrameLayout;->getWidth()I move-result v1 div-int/lit8 v1, v1, 0x2 add-int/2addr v1, v0 return v1 .end method .method public final getCenterY()I .locals 2 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget v0, v0, Landroid/view/WindowManager$LayoutParams;->y:I invoke-virtual {p0}, Landroid/widget/FrameLayout;->getHeight()I move-result v1 div-int/lit8 v1, v1, 0x2 add-int/2addr v1, v0 return v1 .end method .method public final getInsetMargins()Landroid/graphics/Rect; .locals 1 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->f:Landroid/graphics/Rect; return-object v0 .end method .method public final getMoveThresholdPx()I .locals 1 iget v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->g:I return v0 .end method .method public final getOnMovingStateChanged()Lkotlin/jvm/functions/Function1; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lkotlin/jvm/functions/Function1<", "Ljava/lang/Boolean;", "Lkotlin/Unit;", ">;" } .end annotation iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->j:Lkotlin/jvm/functions/Function1; return-object v0 .end method .method public final getScreenOffset()[I .locals 1 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->k:[I return-object v0 .end method .method public final getSpringAnimationX()Landroidx/dynamicanimation/animation/SpringAnimation; .locals 1 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->n:Landroidx/dynamicanimation/animation/SpringAnimation; return-object v0 .end method .method public final getSpringAnimationY()Landroidx/dynamicanimation/animation/SpringAnimation; .locals 1 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->o:Landroidx/dynamicanimation/animation/SpringAnimation; return-object v0 .end method .method public final getWindowLayoutParams()Landroid/view/WindowManager$LayoutParams; .locals 1 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; return-object v0 .end method .method public final getWindowManager()Landroid/view/WindowManager; .locals 1 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->d:Landroid/view/WindowManager; return-object v0 .end method .method public getX()F .locals 1 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget v0, v0, Landroid/view/WindowManager$LayoutParams;->x:I int-to-float v0, v0 return v0 .end method .method public getY()F .locals 1 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget v0, v0, Landroid/view/WindowManager$LayoutParams;->y:I int-to-float v0, v0 return v0 .end method .method public final h()V .locals 5 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->k:[I invoke-virtual {p0, v0}, Landroid/widget/FrameLayout;->getLocationOnScreen([I)V iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->k:[I const/4 v1, 0x0 aget v2, v0, v1 iget-object v3, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; iget v4, v3, Landroid/view/WindowManager$LayoutParams;->x:I sub-int/2addr v2, v4 aput v2, v0, v1 const/4 v1, 0x1 aget v2, v0, v1 iget v3, v3, Landroid/view/WindowManager$LayoutParams;->y:I sub-int/2addr v2, v3 aput v2, v0, v1 return-void .end method .method public i()Z .locals 3 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->i:Lkotlin/properties/ReadWriteProperty; sget-object v1, Lcom/discord/overlay/views/OverlayBubbleWrap;->r:[Lkotlin/reflect/KProperty; const/4 v2, 0x0 aget-object v1, v1, v2 invoke-interface {v0, p0, v1}, Lkotlin/properties/ReadWriteProperty;->getValue(Ljava/lang/Object;Lkotlin/reflect/KProperty;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/Boolean; invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z move-result v0 return v0 .end method .method public onAttachedToWindow()V .locals 2 invoke-super {p0}, Landroid/widget/FrameLayout;->onAttachedToWindow()V iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->d:Landroid/view/WindowManager; invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display; move-result-object v0 iget-object v1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->h:Landroid/graphics/Rect; invoke-virtual {v0, v1}, Landroid/view/Display;->getRectSize(Landroid/graphics/Rect;)V iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->h:Landroid/graphics/Rect; invoke-virtual {p0, v0}, Lcom/discord/overlay/views/OverlayBubbleWrap;->g(Landroid/graphics/Rect;)V return-void .end method .method public onConfigurationChanged(Landroid/content/res/Configuration;)V .locals 1 .annotation build Landroidx/annotation/CallSuper; .end annotation invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onConfigurationChanged(Landroid/content/res/Configuration;)V iget-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->d:Landroid/view/WindowManager; invoke-interface {p1}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display; move-result-object p1 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->h:Landroid/graphics/Rect; invoke-virtual {p1, v0}, Landroid/view/Display;->getRectSize(Landroid/graphics/Rect;)V iget-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->h:Landroid/graphics/Rect; invoke-virtual {p0, p1}, Lcom/discord/overlay/views/OverlayBubbleWrap;->g(Landroid/graphics/Rect;)V iget-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->d:Landroid/view/WindowManager; iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; invoke-interface {p1, p0, v0}, Landroid/view/WindowManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V invoke-static {p0}, Landroidx/core/view/ViewCompat;->isLaidOut(Landroid/view/View;)Z move-result p1 if-eqz p1, :cond_0 invoke-virtual {p0}, Landroid/view/View;->isLayoutRequested()Z move-result p1 if-nez p1, :cond_0 invoke-virtual {p0}, Lcom/discord/overlay/views/OverlayBubbleWrap;->h()V goto :goto_0 :cond_0 new-instance p1, Lcom/discord/overlay/views/OverlayBubbleWrap$b; invoke-direct {p1, p0}, Lcom/discord/overlay/views/OverlayBubbleWrap$b;->(Lcom/discord/overlay/views/OverlayBubbleWrap;)V invoke-virtual {p0, p1}, Landroid/view/View;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V :goto_0 return-void .end method .method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z .locals 2 if-eqz p1, :cond_1 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 const/4 v1, 0x2 if-eq v0, v1, :cond_0 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 goto :goto_0 :cond_0 invoke-virtual {p0}, Lcom/discord/overlay/views/OverlayBubbleWrap;->i()Z move-result p1 :goto_0 return p1 :cond_1 const-string p1, "motionEvent" invoke-static {p1}, Lj0/n/c/h;->c(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public onLayout(ZIIII)V .locals 0 invoke-super/range {p0 .. p5}, Landroid/widget/FrameLayout;->onLayout(ZIIII)V if-eqz p1, :cond_0 invoke-virtual {p0}, Lcom/discord/overlay/views/OverlayBubbleWrap;->h()V :cond_0 return-void .end method .method public final setAnchorAt(Landroid/graphics/Point;)V .locals 2 if-eqz p1, :cond_0 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->p:Landroid/graphics/Point; invoke-virtual {p0}, Lcom/discord/overlay/views/OverlayBubbleWrap;->getX()F move-result v1 float-to-int v1, v1 iput v1, v0, Landroid/graphics/Point;->x:I iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->p:Landroid/graphics/Point; invoke-virtual {p0}, Lcom/discord/overlay/views/OverlayBubbleWrap;->getY()F move-result v1 float-to-int v1, v1 iput v1, v0, Landroid/graphics/Point;->y:I iput-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->q:Landroid/graphics/Point; invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object p1 invoke-virtual {p1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String; move-result-object p1 const-string v0, "Anchoring[" invoke-static {v0}, Lf/e/b/a/a;->D(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 iget-object v1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->p:Landroid/graphics/Point; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v1, "] -> " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->q:Landroid/graphics/Point; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {p1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 const-string p1, "newAnchorPoint" invoke-static {p1}, Lj0/n/c/h;->c(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public final setBubbleTouchable(Z)V .locals 2 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; if-eqz v0, :cond_1 if-eqz p1, :cond_0 iget p1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I and-int/lit8 p1, p1, -0x11 iput p1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I goto :goto_0 :cond_0 const/16 p1, 0x10 iget v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I or-int/2addr p1, v1 iput p1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I :goto_0 iget-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->d:Landroid/view/WindowManager; iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; invoke-interface {p1, p0, v0}, Landroid/view/WindowManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V return-void :cond_1 const-string p1, "$this$setFlagTouchable" invoke-static {p1}, Lj0/n/c/h;->c(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public setMoving(Z)V .locals 3 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->i:Lkotlin/properties/ReadWriteProperty; sget-object v1, Lcom/discord/overlay/views/OverlayBubbleWrap;->r:[Lkotlin/reflect/KProperty; const/4 v2, 0x0 aget-object v1, v1, v2 invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean; move-result-object p1 invoke-interface {v0, p0, v1, p1}, Lkotlin/properties/ReadWriteProperty;->setValue(Ljava/lang/Object;Lkotlin/reflect/KProperty;Ljava/lang/Object;)V return-void .end method .method public final setOnMovingStateChanged(Lkotlin/jvm/functions/Function1;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/jvm/functions/Function1<", "-", "Ljava/lang/Boolean;", "Lkotlin/Unit;", ">;)V" } .end annotation iput-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->j:Lkotlin/jvm/functions/Function1; return-void .end method .method public final setWindowLayoutParams(Landroid/view/WindowManager$LayoutParams;)V .locals 0 if-eqz p1, :cond_0 iput-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; return-void :cond_0 const-string p1, "" invoke-static {p1}, Lj0/n/c/h;->c(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public setX(F)V .locals 1 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; float-to-int p1, p1 iput p1, v0, Landroid/view/WindowManager$LayoutParams;->x:I invoke-static {p0}, Landroidx/core/view/ViewCompat;->isAttachedToWindow(Landroid/view/View;)Z move-result p1 if-eqz p1, :cond_0 iget-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->d:Landroid/view/WindowManager; iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; invoke-interface {p1, p0, v0}, Landroid/view/WindowManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V :cond_0 return-void .end method .method public setY(F)V .locals 1 iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; float-to-int p1, p1 iput p1, v0, Landroid/view/WindowManager$LayoutParams;->y:I invoke-static {p0}, Landroidx/core/view/ViewCompat;->isAttachedToWindow(Landroid/view/View;)Z move-result p1 if-eqz p1, :cond_0 iget-object p1, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->d:Landroid/view/WindowManager; iget-object v0, p0, Lcom/discord/overlay/views/OverlayBubbleWrap;->e:Landroid/view/WindowManager$LayoutParams; invoke-interface {p1, p0, v0}, Landroid/view/WindowManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V :cond_0 return-void .end method