.class public final Landroidx/fragment/app/FragmentContainerView; .super Landroid/widget/FrameLayout; .source "FragmentContainerView.java" # instance fields .field public mDisappearingFragmentChildren:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroid/view/View;", ">;" } .end annotation .end field .field public mDrawDisappearingViewsFirst:Z .field public mTransitioningFragmentViews:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroid/view/View;", ">;" } .end annotation .end field # direct methods .method public constructor (Landroid/content/Context;)V .locals 0 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param invoke-direct {p0, p1}, Landroid/widget/FrameLayout;->(Landroid/content/Context;)V const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/fragment/app/FragmentContainerView;->mDrawDisappearingViewsFirst:Z return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/util/AttributeSet; .annotation build Landroidx/annotation/Nullable; .end annotation .end param const/4 v0, 0x0 invoke-direct {p0, p1, p2, v0}, Landroidx/fragment/app/FragmentContainerView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 0 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/util/AttributeSet; .annotation build Landroidx/annotation/Nullable; .end annotation .end param invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/fragment/app/FragmentContainerView;->mDrawDisappearingViewsFirst:Z invoke-virtual {p0}, Landroid/widget/FrameLayout;->isInEditMode()Z move-result p1 if-eqz p1, :cond_0 return-void :cond_0 new-instance p1, Ljava/lang/UnsupportedOperationException; const-string p2, "FragmentContainerView must be within a FragmentActivity to be instantiated from XML." invoke-direct {p1, p2}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p1 .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;Landroidx/fragment/app/FragmentManager;)V .locals 5 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/util/AttributeSet; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p3 # Landroidx/fragment/app/FragmentManager; .annotation build Landroidx/annotation/NonNull; .end annotation .end param invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;)V const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/fragment/app/FragmentContainerView;->mDrawDisappearingViewsFirst:Z invoke-interface {p2}, Landroid/util/AttributeSet;->getClassAttribute()Ljava/lang/String; move-result-object v1 sget-object v2, Landroidx/fragment/R$styleable;->FragmentContainerView:[I invoke-virtual {p1, p2, v2}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; move-result-object v2 if-nez v1, :cond_0 sget v1, Landroidx/fragment/R$styleable;->FragmentContainerView_android_name:I invoke-virtual {v2, v1}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v1 :cond_0 sget v3, Landroidx/fragment/R$styleable;->FragmentContainerView_android_tag:I invoke-virtual {v2, v3}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v3 invoke-virtual {v2}, Landroid/content/res/TypedArray;->recycle()V invoke-virtual {p0}, Landroid/widget/FrameLayout;->getId()I move-result v2 invoke-virtual {p3, v2}, Landroidx/fragment/app/FragmentManager;->findFragmentById(I)Landroidx/fragment/app/Fragment; move-result-object v4 if-eqz v1, :cond_3 if-nez v4, :cond_3 if-gtz v2, :cond_2 if-eqz v3, :cond_1 const-string p1, " with tag " invoke-static {p1, v3}, Lf/e/c/a/a;->q(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p1 goto :goto_0 :cond_1 const-string p1, "" :goto_0 new-instance p2, Ljava/lang/IllegalStateException; const-string p3, "FragmentContainerView must have an android:id to add Fragment " invoke-static {p3, v1, p1}, Lf/e/c/a/a;->r(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p1 invoke-direct {p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p2 :cond_2 invoke-virtual {p3}, Landroidx/fragment/app/FragmentManager;->getFragmentFactory()Landroidx/fragment/app/FragmentFactory; move-result-object v2 invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v4 invoke-virtual {v2, v4, v1}, Landroidx/fragment/app/FragmentFactory;->instantiate(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroidx/fragment/app/Fragment; move-result-object v1 const/4 v2, 0x0 invoke-virtual {v1, p1, p2, v2}, Landroidx/fragment/app/Fragment;->onInflate(Landroid/content/Context;Landroid/util/AttributeSet;Landroid/os/Bundle;)V invoke-virtual {p3}, Landroidx/fragment/app/FragmentManager;->beginTransaction()Landroidx/fragment/app/FragmentTransaction; move-result-object p1 invoke-virtual {p1, v0}, Landroidx/fragment/app/FragmentTransaction;->setReorderingAllowed(Z)Landroidx/fragment/app/FragmentTransaction; move-result-object p1 invoke-virtual {p1, p0, v1, v3}, Landroidx/fragment/app/FragmentTransaction;->add(Landroid/view/ViewGroup;Landroidx/fragment/app/Fragment;Ljava/lang/String;)Landroidx/fragment/app/FragmentTransaction; move-result-object p1 invoke-virtual {p1}, Landroidx/fragment/app/FragmentTransaction;->commitNowAllowingStateLoss()V :cond_3 return-void .end method .method private addDisappearingFragmentView(Landroid/view/View;)V .locals 1 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param invoke-virtual {p1}, Landroid/view/View;->getAnimation()Landroid/view/animation/Animation; move-result-object v0 if-nez v0, :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentContainerView;->mTransitioningFragmentViews:Ljava/util/ArrayList; if-eqz v0, :cond_2 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_2 :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentContainerView;->mDisappearingFragmentChildren:Ljava/util/ArrayList; if-nez v0, :cond_1 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/fragment/app/FragmentContainerView;->mDisappearingFragmentChildren:Ljava/util/ArrayList; :cond_1 iget-object v0, p0, Landroidx/fragment/app/FragmentContainerView;->mDisappearingFragmentChildren:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z :cond_2 return-void .end method # virtual methods .method public addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V .locals 1 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p3 # Landroid/view/ViewGroup$LayoutParams; .annotation build Landroidx/annotation/Nullable; .end annotation .end param invoke-static {p1}, Landroidx/fragment/app/FragmentManager;->getViewFragment(Landroid/view/View;)Landroidx/fragment/app/Fragment; move-result-object v0 if-eqz v0, :cond_0 invoke-super {p0, p1, p2, p3}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V return-void :cond_0 new-instance p2, Ljava/lang/IllegalStateException; new-instance p3, Ljava/lang/StringBuilder; invoke-direct {p3}, Ljava/lang/StringBuilder;->()V const-string v0, "Views added to a FragmentContainerView must be associated with a Fragment. View " invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string p1, " is not associated with a Fragment." invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p2 .end method .method public addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)Z .locals 1 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p3 # Landroid/view/ViewGroup$LayoutParams; .annotation build Landroidx/annotation/Nullable; .end annotation .end param invoke-static {p1}, Landroidx/fragment/app/FragmentManager;->getViewFragment(Landroid/view/View;)Landroidx/fragment/app/Fragment; move-result-object v0 if-eqz v0, :cond_0 invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/FrameLayout;->addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)Z move-result p1 return p1 :cond_0 new-instance p2, Ljava/lang/IllegalStateException; new-instance p3, Ljava/lang/StringBuilder; invoke-direct {p3}, Ljava/lang/StringBuilder;->()V const-string p4, "Views added to a FragmentContainerView must be associated with a Fragment. View " invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string p1, " is not associated with a Fragment." invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p2 .end method .method public dispatchDraw(Landroid/graphics/Canvas;)V .locals 4 .param p1 # Landroid/graphics/Canvas; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-boolean v0, p0, Landroidx/fragment/app/FragmentContainerView;->mDrawDisappearingViewsFirst:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentContainerView;->mDisappearingFragmentChildren:Ljava/util/ArrayList; if-eqz v0, :cond_0 const/4 v0, 0x0 :goto_0 iget-object v1, p0, Landroidx/fragment/app/FragmentContainerView;->mDisappearingFragmentChildren:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v1 if-ge v0, v1, :cond_0 iget-object v1, p0, Landroidx/fragment/app/FragmentContainerView;->mDisappearingFragmentChildren:Ljava/util/ArrayList; invoke-virtual {v1, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/view/View; invoke-virtual {p0}, Landroid/widget/FrameLayout;->getDrawingTime()J move-result-wide v2 invoke-super {p0, p1, v1, v2, v3}, Landroid/widget/FrameLayout;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z add-int/lit8 v0, v0, 0x1 goto :goto_0 :cond_0 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->dispatchDraw(Landroid/graphics/Canvas;)V return-void .end method .method public drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z .locals 1 .param p1 # Landroid/graphics/Canvas; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-boolean v0, p0, Landroidx/fragment/app/FragmentContainerView;->mDrawDisappearingViewsFirst:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentContainerView;->mDisappearingFragmentChildren:Ljava/util/ArrayList; if-eqz v0, :cond_0 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 if-lez v0, :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentContainerView;->mDisappearingFragmentChildren:Ljava/util/ArrayList; invoke-virtual {v0, p2}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_0 const/4 p1, 0x0 return p1 :cond_0 invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/FrameLayout;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z move-result p1 return p1 .end method .method public endViewTransition(Landroid/view/View;)V .locals 1 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/fragment/app/FragmentContainerView;->mTransitioningFragmentViews:Ljava/util/ArrayList; if-eqz v0, :cond_0 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z iget-object v0, p0, Landroidx/fragment/app/FragmentContainerView;->mDisappearingFragmentChildren:Ljava/util/ArrayList; if-eqz v0, :cond_0 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/fragment/app/FragmentContainerView;->mDrawDisappearingViewsFirst:Z :cond_0 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->endViewTransition(Landroid/view/View;)V return-void .end method .method public onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; .locals 3 .param p1 # Landroid/view/WindowInsets; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .annotation build Landroidx/annotation/RequiresApi; value = 0x14 .end annotation const/4 v0, 0x0 :goto_0 invoke-virtual {p0}, Landroid/widget/FrameLayout;->getChildCount()I move-result v1 if-ge v0, v1, :cond_0 invoke-virtual {p0, v0}, Landroid/widget/FrameLayout;->getChildAt(I)Landroid/view/View; move-result-object v1 new-instance v2, Landroid/view/WindowInsets; invoke-direct {v2, p1}, Landroid/view/WindowInsets;->(Landroid/view/WindowInsets;)V invoke-virtual {v1, v2}, Landroid/view/View;->dispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; add-int/lit8 v0, v0, 0x1 goto :goto_0 :cond_0 return-object p1 .end method .method public removeAllViewsInLayout()V .locals 2 invoke-virtual {p0}, Landroid/widget/FrameLayout;->getChildCount()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_0 invoke-virtual {p0, v0}, Landroid/widget/FrameLayout;->getChildAt(I)Landroid/view/View; move-result-object v1 invoke-direct {p0, v1}, Landroidx/fragment/app/FragmentContainerView;->addDisappearingFragmentView(Landroid/view/View;)V add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_0 invoke-super {p0}, Landroid/widget/FrameLayout;->removeAllViewsInLayout()V return-void .end method .method public removeDetachedView(Landroid/view/View;Z)V .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param if-eqz p2, :cond_0 invoke-direct {p0, p1}, Landroidx/fragment/app/FragmentContainerView;->addDisappearingFragmentView(Landroid/view/View;)V :cond_0 invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->removeDetachedView(Landroid/view/View;Z)V return-void .end method .method public removeView(Landroid/view/View;)V .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param invoke-direct {p0, p1}, Landroidx/fragment/app/FragmentContainerView;->addDisappearingFragmentView(Landroid/view/View;)V invoke-super {p0, p1}, Landroid/widget/FrameLayout;->removeView(Landroid/view/View;)V return-void .end method .method public removeViewAt(I)V .locals 1 invoke-virtual {p0, p1}, Landroid/widget/FrameLayout;->getChildAt(I)Landroid/view/View; move-result-object v0 invoke-direct {p0, v0}, Landroidx/fragment/app/FragmentContainerView;->addDisappearingFragmentView(Landroid/view/View;)V invoke-super {p0, p1}, Landroid/widget/FrameLayout;->removeViewAt(I)V return-void .end method .method public removeViewInLayout(Landroid/view/View;)V .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param invoke-direct {p0, p1}, Landroidx/fragment/app/FragmentContainerView;->addDisappearingFragmentView(Landroid/view/View;)V invoke-super {p0, p1}, Landroid/widget/FrameLayout;->removeViewInLayout(Landroid/view/View;)V return-void .end method .method public removeViews(II)V .locals 2 move v0, p1 :goto_0 add-int v1, p1, p2 if-ge v0, v1, :cond_0 invoke-virtual {p0, v0}, Landroid/widget/FrameLayout;->getChildAt(I)Landroid/view/View; move-result-object v1 invoke-direct {p0, v1}, Landroidx/fragment/app/FragmentContainerView;->addDisappearingFragmentView(Landroid/view/View;)V add-int/lit8 v0, v0, 0x1 goto :goto_0 :cond_0 invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->removeViews(II)V return-void .end method .method public removeViewsInLayout(II)V .locals 2 move v0, p1 :goto_0 add-int v1, p1, p2 if-ge v0, v1, :cond_0 invoke-virtual {p0, v0}, Landroid/widget/FrameLayout;->getChildAt(I)Landroid/view/View; move-result-object v1 invoke-direct {p0, v1}, Landroidx/fragment/app/FragmentContainerView;->addDisappearingFragmentView(Landroid/view/View;)V add-int/lit8 v0, v0, 0x1 goto :goto_0 :cond_0 invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->removeViewsInLayout(II)V return-void .end method .method public setDrawDisappearingViewsLast(Z)V .locals 0 iput-boolean p1, p0, Landroidx/fragment/app/FragmentContainerView;->mDrawDisappearingViewsFirst:Z return-void .end method .method public setLayoutTransition(Landroid/animation/LayoutTransition;)V .locals 1 .param p1 # Landroid/animation/LayoutTransition; .annotation build Landroidx/annotation/Nullable; .end annotation .end param new-instance p1, Ljava/lang/UnsupportedOperationException; const-string v0, "FragmentContainerView does not support Layout Transitions or animateLayoutChanges=\"true\"." invoke-direct {p1, v0}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p1 .end method .method public startViewTransition(Landroid/view/View;)V .locals 1 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 if-ne v0, p0, :cond_1 iget-object v0, p0, Landroidx/fragment/app/FragmentContainerView;->mTransitioningFragmentViews:Ljava/util/ArrayList; if-nez v0, :cond_0 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/fragment/app/FragmentContainerView;->mTransitioningFragmentViews:Ljava/util/ArrayList; :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentContainerView;->mTransitioningFragmentViews:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z :cond_1 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->startViewTransition(Landroid/view/View;)V return-void .end method