.class public Lcom/discord/overlay/OverlayManager; .super Ljava/lang/Object; .source "OverlayManager.kt" # interfaces .implements Ljava/io/Closeable; # instance fields .field public final d:Landroid/graphics/Rect; .field public final e:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Lcom/discord/overlay/views/OverlayBubbleWrap;", ">;" } .end annotation .end field .field public final f:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Lcom/discord/overlay/views/OverlayBubbleWrap;", ">;" } .end annotation .end field .field public g:Lkotlin/jvm/functions/Function1; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/jvm/functions/Function1<", "-", "Landroid/view/View;", "Lkotlin/Unit;", ">;" } .end annotation .end field .field public h:Lkotlin/jvm/functions/Function1; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/jvm/functions/Function1<", "-", "Landroid/view/View;", "Lkotlin/Unit;", ">;" } .end annotation .end field .field public i:Le/a/d/b/a; .field public j:Le/a/d/a; .field public k:Landroid/view/View$OnTouchListener; .field public l:Lcom/discord/overlay/views/OverlayBubbleWrap; .field public final m:Landroid/view/WindowManager; # direct methods .method public constructor (Landroid/view/WindowManager;)V .locals 1 if-eqz p1, :cond_0 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lcom/discord/overlay/OverlayManager;->m:Landroid/view/WindowManager; new-instance p1, Landroid/graphics/Rect; invoke-direct {p1}, Landroid/graphics/Rect;->()V iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->m: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/OverlayManager;->d:Landroid/graphics/Rect; new-instance p1, Ljava/util/ArrayList; const/4 v0, 0x5 invoke-direct {p1, v0}, Ljava/util/ArrayList;->(I)V iput-object p1, p0, Lcom/discord/overlay/OverlayManager;->e:Ljava/util/ArrayList; iget-object p1, p0, Lcom/discord/overlay/OverlayManager;->e:Ljava/util/ArrayList; iput-object p1, p0, Lcom/discord/overlay/OverlayManager;->f:Ljava/util/List; sget-object p1, Lcom/discord/overlay/OverlayManager$e;->d:Lcom/discord/overlay/OverlayManager$e; iput-object p1, p0, Lcom/discord/overlay/OverlayManager;->g:Lkotlin/jvm/functions/Function1; sget-object p1, Lcom/discord/overlay/OverlayManager$f;->d:Lcom/discord/overlay/OverlayManager$f; iput-object p1, p0, Lcom/discord/overlay/OverlayManager;->h:Lkotlin/jvm/functions/Function1; new-instance p1, Lcom/discord/overlay/OverlayManager$a; invoke-direct {p1, p0}, Lcom/discord/overlay/OverlayManager$a;->(Lcom/discord/overlay/OverlayManager;)V iput-object p1, p0, Lcom/discord/overlay/OverlayManager;->k:Landroid/view/View$OnTouchListener; return-void :cond_0 const-string p1, "windowManager" invoke-static {p1}, Lx/u/b/j;->a(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method # virtual methods .method public final a()V .locals 2 iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->e:Ljava/util/ArrayList; new-instance v1, Lcom/discord/overlay/OverlayManager$b; invoke-direct {v1, p0}, Lcom/discord/overlay/OverlayManager$b;->(Lcom/discord/overlay/OverlayManager;)V invoke-static {v0, v1}, Le/o/a/j/a;->removeAll(Ljava/util/List;Lkotlin/jvm/functions/Function1;)Z return-void .end method .method public final a(Lcom/discord/overlay/views/OverlayBubbleWrap;)V .locals 2 if-eqz p1, :cond_0 iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->m:Landroid/view/WindowManager; invoke-virtual {p1}, Lcom/discord/overlay/views/OverlayBubbleWrap;->getWindowLayoutParams()Landroid/view/WindowManager$LayoutParams; move-result-object v1 invoke-interface {v0, p1, v1}, Landroid/view/WindowManager;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->e:Ljava/util/ArrayList; invoke-interface {v0, p1}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->g:Lkotlin/jvm/functions/Function1; invoke-interface {v0, p1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; return-void :cond_0 const-string p1, "bubble" invoke-static {p1}, Lx/u/b/j;->a(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public final a(Lcom/discord/overlay/views/OverlayBubbleWrap;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/discord/overlay/views/OverlayBubbleWrap;", "Ljava/lang/Object;", "Lkotlin/jvm/functions/Function1<", "-", "Lcom/discord/overlay/views/OverlayBubbleWrap;", "+", "Lcom/discord/overlay/views/OverlayBubbleWrap;", ">;)V" } .end annotation const/4 v0, 0x0 if-eqz p1, :cond_2 if-eqz p2, :cond_1 if-eqz p3, :cond_0 new-instance v0, Lcom/discord/overlay/OverlayManager$d; invoke-direct {v0, p0, p3, p1, p2}, Lcom/discord/overlay/OverlayManager$d;->(Lcom/discord/overlay/OverlayManager;Lkotlin/jvm/functions/Function1;Lcom/discord/overlay/views/OverlayBubbleWrap;Ljava/lang/Object;)V invoke-virtual {p1, v0}, Landroid/widget/FrameLayout;->setOnClickListener(Landroid/view/View$OnClickListener;)V return-void :cond_0 const-string p1, "menuBubbleProvider" invoke-static {p1}, Lx/u/b/j;->a(Ljava/lang/String;)V throw v0 :cond_1 const-string p1, "anchorViewTag" invoke-static {p1}, Lx/u/b/j;->a(Ljava/lang/String;)V throw v0 :cond_2 const-string p1, "srcBubble" invoke-static {p1}, Lx/u/b/j;->a(Ljava/lang/String;)V throw v0 .end method .method public final a(Le/a/d/a;)V .locals 0 iput-object p1, p0, Lcom/discord/overlay/OverlayManager;->j:Le/a/d/a; return-void .end method .method public final a(Le/a/d/b/a;)V .locals 2 if-eqz p1, :cond_0 iput-object p1, p0, Lcom/discord/overlay/OverlayManager;->i:Le/a/d/b/a; iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->m:Landroid/view/WindowManager; invoke-virtual {p1}, Le/a/d/b/a;->getWindowLayoutParams()Landroid/view/WindowManager$LayoutParams; move-result-object v1 invoke-interface {v0, p1, v1}, Landroid/view/WindowManager;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V return-void :cond_0 const-string p1, "trashWrap" invoke-static {p1}, Lx/u/b/j;->a(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public final a(Lkotlin/jvm/functions/Function1;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/jvm/functions/Function1<", "-", "Landroid/view/View;", "Lkotlin/Unit;", ">;)V" } .end annotation if-eqz p1, :cond_0 iput-object p1, p0, Lcom/discord/overlay/OverlayManager;->g:Lkotlin/jvm/functions/Function1; return-void :cond_0 const-string p1, "" invoke-static {p1}, Lx/u/b/j;->a(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public final b()Ljava/util/List; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Lcom/discord/overlay/views/OverlayBubbleWrap;", ">;" } .end annotation iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->f:Ljava/util/List; return-object v0 .end method .method public final b(Lcom/discord/overlay/views/OverlayBubbleWrap;)V .locals 1 if-eqz p1, :cond_0 iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->k:Landroid/view/View$OnTouchListener; invoke-virtual {p1, v0}, Landroid/widget/FrameLayout;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V new-instance v0, Lcom/discord/overlay/OverlayManager$c; invoke-direct {v0, p0, p1}, Lcom/discord/overlay/OverlayManager$c;->(Lcom/discord/overlay/OverlayManager;Lcom/discord/overlay/views/OverlayBubbleWrap;)V invoke-virtual {p1, v0}, Lcom/discord/overlay/views/OverlayBubbleWrap;->setOnMovingStateChanged(Lkotlin/jvm/functions/Function1;)V return-void :cond_0 const-string p1, "bubble" invoke-static {p1}, Lx/u/b/j;->a(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public final b(Lkotlin/jvm/functions/Function1;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/jvm/functions/Function1<", "-", "Landroid/view/View;", "Lkotlin/Unit;", ">;)V" } .end annotation if-eqz p1, :cond_0 iput-object p1, p0, Lcom/discord/overlay/OverlayManager;->h:Lkotlin/jvm/functions/Function1; return-void :cond_0 const-string p1, "" invoke-static {p1}, Lx/u/b/j;->a(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public final c()Lkotlin/jvm/functions/Function1; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lkotlin/jvm/functions/Function1<", "Landroid/view/View;", "Lkotlin/Unit;", ">;" } .end annotation iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->h:Lkotlin/jvm/functions/Function1; return-object v0 .end method .method public final c(Lcom/discord/overlay/views/OverlayBubbleWrap;)V .locals 14 if-eqz p1, :cond_1 iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->m:Landroid/view/WindowManager; invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display; move-result-object v0 iget-object v1, p0, Lcom/discord/overlay/OverlayManager;->d:Landroid/graphics/Rect; invoke-virtual {v0, v1}, Landroid/view/Display;->getRectSize(Landroid/graphics/Rect;)V invoke-virtual {p1}, Lcom/discord/overlay/views/OverlayBubbleWrap;->getCenterX()I move-result v0 iget-object v1, p0, Lcom/discord/overlay/OverlayManager;->d:Landroid/graphics/Rect; invoke-virtual {v1}, Landroid/graphics/Rect;->centerX()I move-result v1 if-le v0, v1, :cond_0 const v3, 0x7fffffff invoke-virtual {p1}, Lcom/discord/overlay/views/OverlayBubbleWrap;->getY()F move-result v0 float-to-int v4, v0 const/4 v5, 0x0 const/4 v6, 0x4 const/4 v7, 0x0 move-object v2, p1 invoke-static/range {v2 .. v7}, Lcom/discord/overlay/views/OverlayBubbleWrap;->a(Lcom/discord/overlay/views/OverlayBubbleWrap;IILandroid/graphics/Rect;ILjava/lang/Object;)V goto :goto_0 :cond_0 const/high16 v9, -0x80000000 invoke-virtual {p1}, Lcom/discord/overlay/views/OverlayBubbleWrap;->getY()F move-result v0 float-to-int v10, v0 const/4 v11, 0x0 const/4 v12, 0x4 const/4 v13, 0x0 move-object v8, p1 invoke-static/range {v8 .. v13}, Lcom/discord/overlay/views/OverlayBubbleWrap;->a(Lcom/discord/overlay/views/OverlayBubbleWrap;IILandroid/graphics/Rect;ILjava/lang/Object;)V :goto_0 return-void :cond_1 const-string p1, "bubble" invoke-static {p1}, Lx/u/b/j;->a(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method .method public close()V .locals 2 invoke-virtual {p0}, Lcom/discord/overlay/OverlayManager;->a()V iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->i:Le/a/d/b/a; if-eqz v0, :cond_0 iget-object v1, p0, Lcom/discord/overlay/OverlayManager;->m:Landroid/view/WindowManager; invoke-interface {v1, v0}, Landroid/view/WindowManager;->removeView(Landroid/view/View;)V :cond_0 const/4 v0, 0x0 iput-object v0, p0, Lcom/discord/overlay/OverlayManager;->i:Le/a/d/b/a; return-void .end method .method public final d()Le/a/d/a; .locals 1 iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->j:Le/a/d/a; return-object v0 .end method .method public final d(Lcom/discord/overlay/views/OverlayBubbleWrap;)V .locals 1 iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->l:Lcom/discord/overlay/views/OverlayBubbleWrap; invoke-static {v0, p1}, Lx/u/b/j;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_0 return-void :cond_0 iput-object p1, p0, Lcom/discord/overlay/OverlayManager;->l:Lcom/discord/overlay/views/OverlayBubbleWrap; iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->i:Le/a/d/b/a; if-eqz v0, :cond_1 invoke-virtual {v0, p1}, Le/a/d/b/a;->a(Lcom/discord/overlay/views/OverlayBubbleWrap;)V :cond_1 iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->j:Le/a/d/a; if-eqz v0, :cond_2 invoke-interface {v0, p1}, Le/a/d/a;->a(Lcom/discord/overlay/views/OverlayBubbleWrap;)V :cond_2 return-void .end method .method public final e()Le/a/d/b/a; .locals 1 iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->i:Le/a/d/b/a; return-object v0 .end method .method public final e(Lcom/discord/overlay/views/OverlayBubbleWrap;)V .locals 7 invoke-virtual {p1}, Lcom/discord/overlay/views/OverlayBubbleWrap;->c()Landroid/graphics/Point; const/4 v0, 0x0 invoke-virtual {p0, v0}, Lcom/discord/overlay/OverlayManager;->d(Lcom/discord/overlay/views/OverlayBubbleWrap;)V invoke-virtual {p1}, Landroid/widget/FrameLayout;->getContext()Landroid/content/Context; move-result-object v0 sget v1, Lcom/discord/overlay/R$a;->fade_out:I invoke-static {v0, v1}, Landroid/animation/AnimatorInflater;->loadAnimator(Landroid/content/Context;I)Landroid/animation/Animator; move-result-object v0 invoke-virtual {v0, p1}, Landroid/animation/Animator;->setTarget(Ljava/lang/Object;)V new-instance v1, Lcom/discord/overlay/OverlayManager$g; invoke-direct {v1, p0, p1}, Lcom/discord/overlay/OverlayManager$g;->(Lcom/discord/overlay/OverlayManager;Lcom/discord/overlay/views/OverlayBubbleWrap;)V invoke-virtual {v0, v1}, Landroid/animation/Animator;->addListener(Landroid/animation/Animator$AnimatorListener;)V invoke-virtual {v0}, Landroid/animation/Animator;->start()V invoke-virtual {p1}, Lcom/discord/overlay/views/OverlayBubbleWrap;->getX()F move-result v0 float-to-int v2, v0 invoke-virtual {p1}, Lcom/discord/overlay/views/OverlayBubbleWrap;->getY()F move-result v0 float-to-int v0, v0 invoke-virtual {p1}, Landroid/widget/FrameLayout;->getHeight()I move-result v1 div-int/lit8 v1, v1, 0x2 add-int v3, v1, v0 const/4 v4, 0x0 const/4 v5, 0x4 const/4 v6, 0x0 move-object v1, p1 invoke-static/range {v1 .. v6}, Lcom/discord/overlay/views/OverlayBubbleWrap;->a(Lcom/discord/overlay/views/OverlayBubbleWrap;IILandroid/graphics/Rect;ILjava/lang/Object;)V return-void .end method .method public final f()Landroid/view/WindowManager; .locals 1 iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->m:Landroid/view/WindowManager; return-object v0 .end method .method public final f(Lcom/discord/overlay/views/OverlayBubbleWrap;)V .locals 1 if-eqz p1, :cond_1 iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->e:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->m:Landroid/view/WindowManager; invoke-interface {v0, p1}, Landroid/view/WindowManager;->removeViewImmediate(Landroid/view/View;)V iget-object v0, p0, Lcom/discord/overlay/OverlayManager;->h:Lkotlin/jvm/functions/Function1; invoke-interface {v0, p1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; :cond_0 return-void :cond_1 const-string p1, "bubble" invoke-static {p1}, Lx/u/b/j;->a(Ljava/lang/String;)V const/4 p1, 0x0 throw p1 .end method