.class Landroidx/transition/ViewOverlayApi14$OverlayViewGroup; .super Landroid/view/ViewGroup; .source "ViewOverlayApi14.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroidx/transition/ViewOverlayApi14; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x8 name = "OverlayViewGroup" .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/transition/ViewOverlayApi14$OverlayViewGroup$TouchInterceptor; } .end annotation # static fields .field static sInvalidateChildInParentFastMethod:Ljava/lang/reflect/Method; # instance fields .field mDrawables:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroid/graphics/drawable/Drawable;", ">;" } .end annotation .end field .field mHostView:Landroid/view/ViewGroup; .field mRequestingView:Landroid/view/View; .field mViewOverlay:Landroidx/transition/ViewOverlayApi14; # direct methods .method static constructor ()V .registers 5 .line 134 :try_start_0 const-class v0, Landroid/view/ViewGroup; const-string v1, "invalidateChildInParentFast" const/4 v2, 0x3 new-array v2, v2, [Ljava/lang/Class; sget-object v3, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; const/4 v4, 0x0 aput-object v3, v2, v4 sget-object v3, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; const/4 v4, 0x1 aput-object v3, v2, v4 const-class v3, Landroid/graphics/Rect; const/4 v4, 0x2 aput-object v3, v2, v4 invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v0 sput-object v0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->sInvalidateChildInParentFastMethod:Ljava/lang/reflect/Method; :try_end_1c .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_1c} :catch_1c :catch_1c return-void .end method .method constructor (Landroid/content/Context;Landroid/view/ViewGroup;Landroid/view/View;Landroidx/transition/ViewOverlayApi14;)V .registers 5 .line 158 invoke-direct {p0, p1}, Landroid/view/ViewGroup;->(Landroid/content/Context;)V const/4 p1, 0x0 .line 150 iput-object p1, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mDrawables:Ljava/util/ArrayList; .line 159 iput-object p2, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mHostView:Landroid/view/ViewGroup; .line 160 iput-object p3, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mRequestingView:Landroid/view/View; .line 161 invoke-virtual {p2}, Landroid/view/ViewGroup;->getWidth()I move-result p1 invoke-virtual {p0, p1}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->setRight(I)V .line 162 invoke-virtual {p2}, Landroid/view/ViewGroup;->getHeight()I move-result p1 invoke-virtual {p0, p1}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->setBottom(I)V .line 163 invoke-virtual {p2, p0}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V .line 164 iput-object p4, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mViewOverlay:Landroidx/transition/ViewOverlayApi14; return-void .end method .method private getOffset([I)V .registers 7 const/4 v0, 0x2 .line 282 new-array v1, v0, [I .line 283 new-array v0, v0, [I .line 284 iget-object v2, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mHostView:Landroid/view/ViewGroup; invoke-virtual {v2, v1}, Landroid/view/ViewGroup;->getLocationOnScreen([I)V .line 285 iget-object v2, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mRequestingView:Landroid/view/View; invoke-virtual {v2, v0}, Landroid/view/View;->getLocationOnScreen([I)V const/4 v2, 0x0 .line 286 aget v3, v0, v2 aget v4, v1, v2 sub-int/2addr v3, v4 aput v3, p1, v2 const/4 v2, 0x1 .line 287 aget v0, v0, v2 aget v1, v1, v2 sub-int/2addr v0, v1 aput v0, p1, v2 return-void .end method # virtual methods .method public add(Landroid/graphics/drawable/Drawable;)V .registers 3 .line 174 iget-object v0, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mDrawables:Ljava/util/ArrayList; if-nez v0, :cond_b .line 176 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mDrawables:Ljava/util/ArrayList; .line 178 :cond_b iget-object v0, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mDrawables:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_22 .line 180 iget-object v0, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mDrawables:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 181 invoke-virtual {p1}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect; move-result-object v0 invoke-virtual {p0, v0}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->invalidate(Landroid/graphics/Rect;)V .line 182 invoke-virtual {p1, p0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V :cond_22 return-void .end method .method public add(Landroid/view/View;)V .registers 8 .line 200 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 instance-of v0, v0, Landroid/view/ViewGroup; const/4 v1, 0x1 if-eqz v0, :cond_49 .line 201 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 check-cast v0, Landroid/view/ViewGroup; .line 202 iget-object v2, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mHostView:Landroid/view/ViewGroup; if-eq v0, v2, :cond_3d invoke-virtual {v0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent; move-result-object v2 if-eqz v2, :cond_3d .line 203 invoke-static {v0}, Landroidx/core/view/ViewCompat;->isAttachedToWindow(Landroid/view/View;)Z move-result v2 if-eqz v2, :cond_3d const/4 v2, 0x2 .line 206 new-array v3, v2, [I .line 207 new-array v2, v2, [I .line 208 invoke-virtual {v0, v3}, Landroid/view/ViewGroup;->getLocationOnScreen([I)V .line 209 iget-object v4, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mHostView:Landroid/view/ViewGroup; invoke-virtual {v4, v2}, Landroid/view/ViewGroup;->getLocationOnScreen([I)V const/4 v4, 0x0 .line 210 aget v5, v3, v4 aget v4, v2, v4 sub-int/2addr v5, v4 invoke-static {p1, v5}, Landroidx/core/view/ViewCompat;->offsetLeftAndRight(Landroid/view/View;I)V .line 211 aget v3, v3, v1 aget v2, v2, v1 sub-int/2addr v3, v2 invoke-static {p1, v3}, Landroidx/core/view/ViewCompat;->offsetTopAndBottom(Landroid/view/View;I)V .line 213 :cond_3d invoke-virtual {v0, p1}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V .line 219 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v2 if-eqz v2, :cond_49 .line 220 invoke-virtual {v0, p1}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V .line 223 :cond_49 invoke-virtual {p0}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->getChildCount()I move-result v0 sub-int/2addr v0, v1 invoke-super {p0, p1, v0}, Landroid/view/ViewGroup;->addView(Landroid/view/View;I)V return-void .end method .method public clear()V .registers 2 .line 234 invoke-virtual {p0}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->removeAllViews()V .line 235 iget-object v0, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mDrawables:Ljava/util/ArrayList; if-eqz v0, :cond_a .line 236 invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V :cond_a return-void .end method .method protected dispatchDraw(Landroid/graphics/Canvas;)V .registers 7 const/4 v0, 0x2 .line 252 new-array v1, v0, [I .line 253 new-array v0, v0, [I .line 254 iget-object v2, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mHostView:Landroid/view/ViewGroup; invoke-virtual {v2, v1}, Landroid/view/ViewGroup;->getLocationOnScreen([I)V .line 255 iget-object v2, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mRequestingView:Landroid/view/View; invoke-virtual {v2, v0}, Landroid/view/View;->getLocationOnScreen([I)V const/4 v2, 0x0 .line 256 aget v3, v0, v2 aget v4, v1, v2 sub-int/2addr v3, v4 int-to-float v3, v3 const/4 v4, 0x1 aget v0, v0, v4 aget v1, v1, v4 sub-int/2addr v0, v1 int-to-float v0, v0 invoke-virtual {p1, v3, v0}, Landroid/graphics/Canvas;->translate(FF)V .line 258 new-instance v0, Landroid/graphics/Rect; iget-object v1, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mRequestingView:Landroid/view/View; .line 259 invoke-virtual {v1}, Landroid/view/View;->getWidth()I move-result v1 iget-object v3, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mRequestingView:Landroid/view/View; invoke-virtual {v3}, Landroid/view/View;->getHeight()I move-result v3 invoke-direct {v0, v2, v2, v1, v3}, Landroid/graphics/Rect;->(IIII)V .line 258 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->clipRect(Landroid/graphics/Rect;)Z .line 260 invoke-super {p0, p1}, Landroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V .line 261 iget-object v0, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mDrawables:Ljava/util/ArrayList; if-nez v0, :cond_3d move v0, v2 goto :goto_41 :cond_3d invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 :goto_41 if-ge v2, v0, :cond_51 .line 263 iget-object v1, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mDrawables:Ljava/util/ArrayList; invoke-virtual {v1, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/graphics/drawable/Drawable; invoke-virtual {v1, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V add-int/lit8 v2, v2, 0x1 goto :goto_41 :cond_51 return-void .end method .method public dispatchTouchEvent(Landroid/view/MotionEvent;)Z .registers 2 const/4 p1, 0x0 return p1 .end method .method public invalidateChildFast(Landroid/view/View;Landroid/graphics/Rect;)V .registers 6 .line 291 iget-object v0, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mHostView:Landroid/view/ViewGroup; if-eqz v0, :cond_22 .line 295 invoke-virtual {p1}, Landroid/view/View;->getLeft()I move-result v0 .line 296 invoke-virtual {p1}, Landroid/view/View;->getTop()I move-result p1 const/4 v1, 0x2 .line 297 new-array v1, v1, [I .line 298 invoke-direct {p0, v1}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->getOffset([I)V const/4 v2, 0x0 .line 303 aget v2, v1, v2 add-int/2addr v0, v2 const/4 v2, 0x1 aget v1, v1, v2 add-int/2addr p1, v1 invoke-virtual {p2, v0, p1}, Landroid/graphics/Rect;->offset(II)V .line 304 iget-object p1, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mHostView:Landroid/view/ViewGroup; invoke-virtual {p1, p2}, Landroid/view/ViewGroup;->invalidate(Landroid/graphics/Rect;)V :cond_22 return-void .end method .method public invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent; .registers 7 .line 330 iget-object v0, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mHostView:Landroid/view/ViewGroup; if-eqz v0, :cond_2c const/4 v0, 0x0 .line 331 aget v1, p1, v0 const/4 v2, 0x1 aget v3, p1, v2 invoke-virtual {p2, v1, v3}, Landroid/graphics/Rect;->offset(II)V .line 332 iget-object v1, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mHostView:Landroid/view/ViewGroup; instance-of v1, v1, Landroid/view/ViewGroup; if-eqz v1, :cond_29 .line 333 aput v0, p1, v0 .line 334 aput v0, p1, v2 const/4 v1, 0x2 .line 335 new-array v1, v1, [I .line 336 invoke-direct {p0, v1}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->getOffset([I)V .line 337 aget v0, v1, v0 aget v1, v1, v2 invoke-virtual {p2, v0, v1}, Landroid/graphics/Rect;->offset(II)V .line 338 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent; move-result-object p1 return-object p1 .line 341 :cond_29 invoke-virtual {p0, p2}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->invalidate(Landroid/graphics/Rect;)V :cond_2c const/4 p1, 0x0 return-object p1 .end method .method protected invalidateChildInParentFast(IILandroid/graphics/Rect;)Landroid/view/ViewParent; .registers 6 .line 313 iget-object v0, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mHostView:Landroid/view/ViewGroup; instance-of v0, v0, Landroid/view/ViewGroup; if-eqz v0, :cond_2d sget-object v0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->sInvalidateChildInParentFastMethod:Ljava/lang/reflect/Method; if-eqz v0, :cond_2d const/4 v0, 0x2 .line 315 :try_start_b new-array v0, v0, [I .line 316 invoke-direct {p0, v0}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->getOffset([I)V .line 317 sget-object v0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->sInvalidateChildInParentFastMethod:Ljava/lang/reflect/Method; iget-object v1, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mHostView:Landroid/view/ViewGroup; invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p2 filled-new-array {p1, p2, p3}, [Ljava/lang/Object; move-result-object p1 invoke-virtual {v0, v1, p1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; :try_end_23 .catch Ljava/lang/IllegalAccessException; {:try_start_b .. :try_end_23} :catch_29 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_b .. :try_end_23} :catch_24 goto :goto_2d :catch_24 move-exception p1 .line 321 invoke-virtual {p1}, Ljava/lang/reflect/InvocationTargetException;->printStackTrace()V goto :goto_2d :catch_29 move-exception p1 .line 319 invoke-virtual {p1}, Ljava/lang/IllegalAccessException;->printStackTrace()V :cond_2d :goto_2d const/4 p1, 0x0 return-object p1 .end method .method public invalidateDrawable(Landroid/graphics/drawable/Drawable;)V .registers 2 .line 247 invoke-virtual {p1}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect; move-result-object p1 invoke-virtual {p0, p1}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->invalidate(Landroid/graphics/Rect;)V return-void .end method .method isEmpty()Z .registers 2 .line 241 invoke-virtual {p0}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->getChildCount()I move-result v0 if-nez v0, :cond_12 iget-object v0, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mDrawables:Ljava/util/ArrayList; if-eqz v0, :cond_10 .line 242 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 if-nez 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 protected onLayout(ZIIII)V .registers 6 return-void .end method .method public remove(Landroid/graphics/drawable/Drawable;)V .registers 3 .line 187 iget-object v0, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mDrawables:Ljava/util/ArrayList; if-eqz v0, :cond_12 .line 188 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z .line 189 invoke-virtual {p1}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect; move-result-object v0 invoke-virtual {p0, v0}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->invalidate(Landroid/graphics/Rect;)V const/4 v0, 0x0 .line 190 invoke-virtual {p1, v0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V :cond_12 return-void .end method .method public remove(Landroid/view/View;)V .registers 2 .line 227 invoke-super {p0, p1}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V .line 228 invoke-virtual {p0}, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->isEmpty()Z move-result p1 if-eqz p1, :cond_e .line 229 iget-object p1, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mHostView:Landroid/view/ViewGroup; invoke-virtual {p1, p0}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V :cond_e return-void .end method .method protected verifyDrawable(Landroid/graphics/drawable/Drawable;)Z .registers 3 .line 196 invoke-super {p0, p1}, Landroid/view/ViewGroup;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z move-result v0 if-nez v0, :cond_13 iget-object v0, p0, Landroidx/transition/ViewOverlayApi14$OverlayViewGroup;->mDrawables:Ljava/util/ArrayList; if-eqz v0, :cond_11 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z move-result p1 if-eqz p1, :cond_11 goto :goto_13 :cond_11 const/4 p1, 0x0 goto :goto_14 :cond_13 :goto_13 const/4 p1, 0x1 :goto_14 return p1 .end method