.class Landroidx/fragment/app/FragmentStateManager; .super Ljava/lang/Object; .source "SourceFile" # static fields .field private static final TAG:Ljava/lang/String; = "FragmentManager" .field private static final TARGET_REQUEST_CODE_STATE_TAG:Ljava/lang/String; = "android:target_req_state" .field private static final TARGET_STATE_TAG:Ljava/lang/String; = "android:target_state" .field private static final USER_VISIBLE_HINT_TAG:Ljava/lang/String; = "android:user_visible_hint" .field private static final VIEW_REGISTRY_STATE_TAG:Ljava/lang/String; = "android:view_registry_state" .field private static final VIEW_STATE_TAG:Ljava/lang/String; = "android:view_state" # instance fields .field private final mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; .field private final mFragment:Landroidx/fragment/app/Fragment; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .field private mFragmentManagerState:I .field private final mFragmentStore:Landroidx/fragment/app/FragmentStore; .field private mMovingToState:Z # direct methods .method public constructor (Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;Landroidx/fragment/app/FragmentStore;Landroidx/fragment/app/Fragment;)V .locals 1 .param p1 # Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroidx/fragment/app/FragmentStore; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p3 # Landroidx/fragment/app/Fragment; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 62 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z const/4 v0, -0x1 iput v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I iput-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iput-object p2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; iput-object p3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; return-void .end method .method public constructor (Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;Landroidx/fragment/app/FragmentStore;Landroidx/fragment/app/Fragment;Landroidx/fragment/app/FragmentState;)V .locals 2 .param p1 # Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroidx/fragment/app/FragmentStore; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p3 # Landroidx/fragment/app/Fragment; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p4 # Landroidx/fragment/app/FragmentState; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 103 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z const/4 v1, -0x1 iput v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I iput-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iput-object p2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; iput-object p3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 p1, 0x0 .line 107 iput-object p1, p3, Landroidx/fragment/app/Fragment;->mSavedViewState:Landroid/util/SparseArray; .line 108 iput-object p1, p3, Landroidx/fragment/app/Fragment;->mSavedViewRegistryState:Landroid/os/Bundle; .line 109 iput v0, p3, Landroidx/fragment/app/Fragment;->mBackStackNesting:I .line 110 iput-boolean v0, p3, Landroidx/fragment/app/Fragment;->mInLayout:Z .line 111 iput-boolean v0, p3, Landroidx/fragment/app/Fragment;->mAdded:Z .line 112 iget-object p2, p3, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment; if-eqz p2, :cond_0 iget-object p2, p2, Landroidx/fragment/app/Fragment;->mWho:Ljava/lang/String; goto :goto_0 :cond_0 move-object p2, p1 :goto_0 iput-object p2, p3, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String; .line 113 iput-object p1, p3, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment; .line 114 iget-object p1, p4, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle; if-eqz p1, :cond_1 .line 115 iput-object p1, p3, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; goto :goto_1 .line 120 :cond_1 new-instance p1, Landroid/os/Bundle; invoke-direct {p1}, Landroid/os/Bundle;->()V iput-object p1, p3, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; :goto_1 return-void .end method .method public constructor (Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;Landroidx/fragment/app/FragmentStore;Ljava/lang/ClassLoader;Landroidx/fragment/app/FragmentFactory;Landroidx/fragment/app/FragmentState;)V .locals 1 .param p1 # Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroidx/fragment/app/FragmentStore; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p3 # Ljava/lang/ClassLoader; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p4 # Landroidx/fragment/app/FragmentFactory; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p5 # Landroidx/fragment/app/FragmentState; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 82 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z const/4 v0, -0x1 iput v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I iput-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iput-object p2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 85 invoke-virtual {p5, p4, p3}, Landroidx/fragment/app/FragmentState;->instantiate(Landroidx/fragment/app/FragmentFactory;Ljava/lang/ClassLoader;)Landroidx/fragment/app/Fragment; move-result-object p1 iput-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 p2, 0x2 .line 86 invoke-static {p2}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result p2 if-eqz p2, :cond_0 .line 87 new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V const-string p3, "Instantiated fragment " invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 return-void .end method .method private isFragmentViewChild(Landroid/view/View;)Z .locals 2 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 614 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; const/4 v1, 0x1 if-ne p1, v0, :cond_0 return v1 .line 617 :cond_0 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object p1 :goto_0 if-eqz p1, :cond_2 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 619 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; if-ne p1, v0, :cond_1 return v1 .line 622 :cond_1 invoke-interface {p1}, Landroid/view/ViewParent;->getParent()Landroid/view/ViewParent; move-result-object p1 goto :goto_0 :cond_2 const/4 p1, 0x0 return p1 .end method .method private saveBasicState()Landroid/os/Bundle; .locals 4 .line 679 new-instance v0, Landroid/os/Bundle; invoke-direct {v0}, Landroid/os/Bundle;->()V iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 681 invoke-virtual {v1, v0}, Landroidx/fragment/app/Fragment;->performSaveInstanceState(Landroid/os/Bundle;)V iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v3, 0x0 .line 682 invoke-virtual {v1, v2, v0, v3}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentSaveInstanceState(Landroidx/fragment/app/Fragment;Landroid/os/Bundle;Z)V .line 683 invoke-virtual {v0}, Landroid/os/BaseBundle;->isEmpty()Z move-result v1 if-eqz v1, :cond_0 const/4 v0, 0x0 :cond_0 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 687 iget-object v1, v1, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; if-eqz v1, :cond_1 .line 688 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->saveViewState()V :cond_1 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 690 iget-object v1, v1, Landroidx/fragment/app/Fragment;->mSavedViewState:Landroid/util/SparseArray; if-eqz v1, :cond_3 if-nez v0, :cond_2 .line 692 new-instance v0, Landroid/os/Bundle; invoke-direct {v0}, Landroid/os/Bundle;->()V :cond_2 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 694 iget-object v1, v1, Landroidx/fragment/app/Fragment;->mSavedViewState:Landroid/util/SparseArray; const-string v2, "android:view_state" invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putSparseParcelableArray(Ljava/lang/String;Landroid/util/SparseArray;)V :cond_3 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 697 iget-object v1, v1, Landroidx/fragment/app/Fragment;->mSavedViewRegistryState:Landroid/os/Bundle; if-eqz v1, :cond_5 if-nez v0, :cond_4 .line 699 new-instance v0, Landroid/os/Bundle; invoke-direct {v0}, Landroid/os/Bundle;->()V :cond_4 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 701 iget-object v1, v1, Landroidx/fragment/app/Fragment;->mSavedViewRegistryState:Landroid/os/Bundle; const-string v2, "android:view_registry_state" invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V :cond_5 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 703 iget-boolean v1, v1, Landroidx/fragment/app/Fragment;->mUserVisibleHint:Z if-nez v1, :cond_7 if-nez v0, :cond_6 .line 705 new-instance v0, Landroid/os/Bundle; invoke-direct {v0}, Landroid/os/Bundle;->()V :cond_6 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 708 iget-boolean v1, v1, Landroidx/fragment/app/Fragment;->mUserVisibleHint:Z const-string v2, "android:user_visible_hint" invoke-virtual {v0, v2, v1}, Landroid/os/BaseBundle;->putBoolean(Ljava/lang/String;Z)V :cond_7 return-object v0 .end method # virtual methods .method public activityCreated()V .locals 4 const/4 v0, 0x3 .line 576 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_0 .line 577 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "moveto ACTIVITY_CREATED: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 579 iget-object v1, v0, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; invoke-virtual {v0, v1}, Landroidx/fragment/app/Fragment;->performActivityCreated(Landroid/os/Bundle;)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 580 iget-object v2, v1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; const/4 v3, 0x0 invoke-virtual {v0, v1, v2, v3}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentActivityCreated(Landroidx/fragment/app/Fragment;Landroid/os/Bundle;Z)V return-void .end method .method public addViewToContainer()V .locals 3 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 839 invoke-virtual {v0, v1}, Landroidx/fragment/app/FragmentStore;->findFragmentIndexInContainer(Landroidx/fragment/app/Fragment;)I move-result v0 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 840 iget-object v2, v1, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup; iget-object v1, v1, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; invoke-virtual {v2, v1, v0}, Landroid/view/ViewGroup;->addView(Landroid/view/View;I)V return-void .end method .method public attach()V .locals 6 const/4 v0, 0x3 .line 431 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_0 .line 432 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "moveto ATTACHED: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 437 iget-object v1, v0, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment; const/4 v2, 0x0 const-string v3, " that does not belong to this FragmentManager!" const-string v4, " declared target fragment " const-string v5, "Fragment " if-eqz v1, :cond_2 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 438 iget-object v1, v1, Landroidx/fragment/app/Fragment;->mWho:Ljava/lang/String; invoke-virtual {v0, v1}, Landroidx/fragment/app/FragmentStore;->getFragmentStateManager(Ljava/lang/String;)Landroidx/fragment/app/FragmentStateManager; move-result-object v0 if-eqz v0, :cond_1 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 445 iget-object v3, v1, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment; iget-object v3, v3, Landroidx/fragment/app/Fragment;->mWho:Ljava/lang/String; iput-object v3, v1, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String; .line 446 iput-object v2, v1, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment; move-object v2, v0 goto :goto_0 .line 441 :cond_1 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; iget-object v2, v2, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .line 447 :cond_2 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String; if-eqz v0, :cond_4 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 448 invoke-virtual {v1, v0}, Landroidx/fragment/app/FragmentStore;->getFragmentStateManager(Ljava/lang/String;)Landroidx/fragment/app/FragmentStateManager; move-result-object v2 if-eqz v2, :cond_3 goto :goto_0 .line 451 :cond_3 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; iget-object v2, v2, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 :cond_4 :goto_0 if-eqz v2, :cond_5 .line 459 invoke-virtual {v2}, Landroidx/fragment/app/FragmentStateManager;->moveToExpectedState()V :cond_5 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 461 iget-object v1, v0, Landroidx/fragment/app/Fragment;->mFragmentManager:Landroidx/fragment/app/FragmentManager; invoke-virtual {v1}, Landroidx/fragment/app/FragmentManager;->getHost()Landroidx/fragment/app/FragmentHostCallback; move-result-object v1 iput-object v1, v0, Landroidx/fragment/app/Fragment;->mHost:Landroidx/fragment/app/FragmentHostCallback; iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 462 iget-object v1, v0, Landroidx/fragment/app/Fragment;->mFragmentManager:Landroidx/fragment/app/FragmentManager; invoke-virtual {v1}, Landroidx/fragment/app/FragmentManager;->getParent()Landroidx/fragment/app/Fragment; move-result-object v1 iput-object v1, v0, Landroidx/fragment/app/Fragment;->mParentFragment:Landroidx/fragment/app/Fragment; iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v2, 0x0 .line 463 invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentPreAttached(Landroidx/fragment/app/Fragment;Z)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 464 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performAttach()V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 465 invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentAttached(Landroidx/fragment/app/Fragment;Z)V return-void .end method .method public computeExpectedState()I .locals 9 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 147 iget-object v1, v0, Landroidx/fragment/app/Fragment;->mFragmentManager:Landroidx/fragment/app/FragmentManager; if-nez v1, :cond_0 .line 148 iget v0, v0, Landroidx/fragment/app/Fragment;->mState:I return v0 :cond_0 iget v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I .line 154 sget-object v2, Landroidx/fragment/app/FragmentStateManager$2;->$SwitchMap$androidx$lifecycle$Lifecycle$State:[I iget-object v0, v0, Landroidx/fragment/app/Fragment;->mMaxState:Landroidx/lifecycle/Lifecycle$State; invoke-virtual {v0}, Ljava/lang/Enum;->ordinal()I move-result v0 aget v0, v2, v0 const/4 v2, 0x5 const/4 v3, -0x1 const/4 v4, 0x3 const/4 v5, 0x4 const/4 v6, 0x2 const/4 v7, 0x1 if-eq v0, v7, :cond_4 if-eq v0, v6, :cond_3 if-eq v0, v4, :cond_2 if-eq v0, v5, :cond_1 .line 168 invoke-static {v1, v3}, Ljava/lang/Math;->min(II)I move-result v1 goto :goto_0 :cond_1 const/4 v0, 0x0 .line 165 invoke-static {v1, v0}, Ljava/lang/Math;->min(II)I move-result v1 goto :goto_0 .line 162 :cond_2 invoke-static {v1, v7}, Ljava/lang/Math;->min(II)I move-result v1 goto :goto_0 .line 159 :cond_3 invoke-static {v1, v2}, Ljava/lang/Math;->min(II)I move-result v1 :cond_4 :goto_0 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 172 iget-boolean v8, v0, Landroidx/fragment/app/Fragment;->mFromLayout:Z if-eqz v8, :cond_7 .line 173 iget-boolean v8, v0, Landroidx/fragment/app/Fragment;->mInLayout:Z if-eqz v8, :cond_5 iget v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I .line 176 invoke-static {v0, v6}, Ljava/lang/Math;->max(II)I move-result v1 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 179 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; if-eqz v0, :cond_7 invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 if-nez v0, :cond_7 .line 180 invoke-static {v1, v6}, Ljava/lang/Math;->min(II)I move-result v1 goto :goto_1 :cond_5 iget v8, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I if-ge v8, v5, :cond_6 .line 188 iget v0, v0, Landroidx/fragment/app/Fragment;->mState:I invoke-static {v1, v0}, Ljava/lang/Math;->min(II)I move-result v1 goto :goto_1 .line 193 :cond_6 invoke-static {v1, v7}, Ljava/lang/Math;->min(II)I move-result v1 :cond_7 :goto_1 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 198 iget-boolean v0, v0, Landroidx/fragment/app/Fragment;->mAdded:Z if-nez v0, :cond_8 .line 199 invoke-static {v1, v7}, Ljava/lang/Math;->min(II)I move-result v1 :cond_8 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 202 iget-object v8, v0, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup; if-eqz v8, :cond_9 .line 204 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getParentFragmentManager()Landroidx/fragment/app/FragmentManager; move-result-object v0 .line 203 invoke-static {v8, v0}, Landroidx/fragment/app/SpecialEffectsController;->getOrCreateController(Landroid/view/ViewGroup;Landroidx/fragment/app/FragmentManager;)Landroidx/fragment/app/SpecialEffectsController; move-result-object v0 .line 205 invoke-virtual {v0, p0}, Landroidx/fragment/app/SpecialEffectsController;->getAwaitingCompletionLifecycleImpact(Landroidx/fragment/app/FragmentStateManager;)Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact; move-result-object v0 goto :goto_2 :cond_9 const/4 v0, 0x0 .line 207 :goto_2 sget-object v8, Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;->ADDING:Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact; if-ne v0, v8, :cond_a const/4 v0, 0x6 .line 209 invoke-static {v1, v0}, Ljava/lang/Math;->min(II)I move-result v1 goto :goto_3 .line 210 :cond_a sget-object v8, Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;->REMOVING:Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact; if-ne v0, v8, :cond_b .line 212 invoke-static {v1, v4}, Ljava/lang/Math;->max(II)I move-result v1 goto :goto_3 :cond_b iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 213 iget-boolean v4, v0, Landroidx/fragment/app/Fragment;->mRemoving:Z if-eqz v4, :cond_d .line 214 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->isInBackStack()Z move-result v0 if-eqz v0, :cond_c .line 216 invoke-static {v1, v7}, Ljava/lang/Math;->min(II)I move-result v1 goto :goto_3 .line 219 :cond_c invoke-static {v1, v3}, Ljava/lang/Math;->min(II)I move-result v1 :cond_d :goto_3 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 224 iget-boolean v3, v0, Landroidx/fragment/app/Fragment;->mDeferStart:Z if-eqz v3, :cond_e iget v0, v0, Landroidx/fragment/app/Fragment;->mState:I if-ge v0, v2, :cond_e .line 225 invoke-static {v1, v5}, Ljava/lang/Math;->min(II)I move-result v1 .line 227 :cond_e invoke-static {v6}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_f .line 228 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v2, "computeExpectedState() of " invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v2, " for " invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_f return v1 .end method .method public create()V .locals 4 const/4 v0, 0x3 .line 469 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_0 .line 470 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "moveto CREATED: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 472 iget-boolean v1, v0, Landroidx/fragment/app/Fragment;->mIsCreated:Z if-nez v1, :cond_1 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; .line 473 iget-object v2, v0, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; const/4 v3, 0x0 invoke-virtual {v1, v0, v2, v3}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentPreCreated(Landroidx/fragment/app/Fragment;Landroid/os/Bundle;Z)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 475 iget-object v1, v0, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; invoke-virtual {v0, v1}, Landroidx/fragment/app/Fragment;->performCreate(Landroid/os/Bundle;)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 476 iget-object v2, v1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; invoke-virtual {v0, v1, v2, v3}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentCreated(Landroidx/fragment/app/Fragment;Landroid/os/Bundle;Z)V goto :goto_0 .line 479 :cond_1 iget-object v1, v0, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; invoke-virtual {v0, v1}, Landroidx/fragment/app/Fragment;->restoreChildFragmentState(Landroid/os/Bundle;)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v1, 0x1 .line 480 iput v1, v0, Landroidx/fragment/app/Fragment;->mState:I :goto_0 return-void .end method .method public createView()V .locals 6 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 485 iget-boolean v0, v0, Landroidx/fragment/app/Fragment;->mFromLayout:Z if-eqz v0, :cond_0 return-void :cond_0 const/4 v0, 0x3 .line 490 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_1 .line 491 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "moveto CREATE_VIEW: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_1 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 493 iget-object v1, v0, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; invoke-virtual {v0, v1}, Landroidx/fragment/app/Fragment;->performGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater; move-result-object v0 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 496 iget-object v2, v1, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup; if-eqz v2, :cond_2 goto/16 :goto_1 .line 498 :cond_2 iget v2, v1, Landroidx/fragment/app/Fragment;->mContainerId:I if-eqz v2, :cond_6 const/4 v3, -0x1 if-eq v2, v3, :cond_5 .line 503 iget-object v1, v1, Landroidx/fragment/app/Fragment;->mFragmentManager:Landroidx/fragment/app/FragmentManager; invoke-virtual {v1}, Landroidx/fragment/app/FragmentManager;->getContainer()Landroidx/fragment/app/FragmentContainer; move-result-object v1 iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 504 iget v2, v2, Landroidx/fragment/app/Fragment;->mContainerId:I invoke-virtual {v1, v2}, Landroidx/fragment/app/FragmentContainer;->onFindViewById(I)Landroid/view/View; move-result-object v1 move-object v2, v1 check-cast v2, Landroid/view/ViewGroup; if-nez v2, :cond_4 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 506 iget-boolean v3, v1, Landroidx/fragment/app/Fragment;->mRestored:Z if-eqz v3, :cond_3 goto :goto_1 .line 509 :cond_3 :try_start_0 invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getResources()Landroid/content/res/Resources; move-result-object v0 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; iget v1, v1, Landroidx/fragment/app/Fragment;->mContainerId:I invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getResourceName(I)Ljava/lang/String; move-result-object v0 :try_end_0 .catch Landroid/content/res/Resources$NotFoundException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 const-string v0, "unknown" .line 513 :goto_0 new-instance v1, Ljava/lang/IllegalArgumentException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "No view found for id 0x" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; iget v3, v3, Landroidx/fragment/app/Fragment;->mContainerId:I .line 514 invoke-static {v3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v3, " (" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, ") for fragment " invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v1 .line 518 :cond_4 instance-of v1, v2, Landroidx/fragment/app/FragmentContainerView; if-nez v1, :cond_7 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 519 invoke-static {v1, v2}, Landroidx/fragment/app/strictmode/FragmentStrictMode;->onWrongFragmentContainer(Landroidx/fragment/app/Fragment;Landroid/view/ViewGroup;)V goto :goto_1 .line 500 :cond_5 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Cannot create fragment " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v2, " for a container view with no id" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 :cond_6 const/4 v2, 0x0 :cond_7 :goto_1 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 523 iput-object v2, v1, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup; .line 524 iget-object v3, v1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; invoke-virtual {v1, v0, v2, v3}, Landroidx/fragment/app/Fragment;->performCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 525 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; const/4 v1, 0x2 if-eqz v0, :cond_c const/4 v3, 0x0 .line 526 invoke-virtual {v0, v3}, Landroid/view/View;->setSaveFromParentEnabled(Z)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 527 iget-object v4, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; sget v5, Landroidx/fragment/R$id;->fragment_container_view_tag:I invoke-virtual {v4, v5, v0}, Landroid/view/View;->setTag(ILjava/lang/Object;)V if-eqz v2, :cond_8 .line 529 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->addViewToContainer()V :cond_8 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 531 iget-boolean v2, v0, Landroidx/fragment/app/Fragment;->mHidden:Z if-eqz v2, :cond_9 .line 532 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; const/16 v2, 0x8 invoke-virtual {v0, v2}, Landroid/view/View;->setVisibility(I)V :cond_9 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 535 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; invoke-static {v0}, Landroidx/core/view/ViewCompat;->isAttachedToWindow(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_a iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 536 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; invoke-static {v0}, Landroidx/core/view/ViewCompat;->requestApplyInsets(Landroid/view/View;)V goto :goto_2 :cond_a iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 538 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; .line 539 new-instance v2, Landroidx/fragment/app/FragmentStateManager$1; invoke-direct {v2, p0, v0}, Landroidx/fragment/app/FragmentStateManager$1;->(Landroidx/fragment/app/FragmentStateManager;Landroid/view/View;)V invoke-virtual {v0, v2}, Landroid/view/View;->addOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V :goto_2 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 552 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performViewCreated()V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 553 iget-object v4, v2, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; iget-object v5, v2, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; invoke-virtual {v0, v2, v4, v5, v3}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentViewCreated(Landroidx/fragment/app/Fragment;Landroid/view/View;Landroid/os/Bundle;Z)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 555 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->getVisibility()I move-result v0 iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 556 iget-object v2, v2, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; invoke-virtual {v2}, Landroid/view/View;->getAlpha()F move-result v2 iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 557 invoke-virtual {v3, v2}, Landroidx/fragment/app/Fragment;->setPostOnViewCreatedAlpha(F)V iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 558 iget-object v3, v2, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup; if-eqz v3, :cond_c if-nez v0, :cond_c .line 560 iget-object v0, v2, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->findFocus()Landroid/view/View; move-result-object v0 if-eqz v0, :cond_b iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 562 invoke-virtual {v2, v0}, Landroidx/fragment/app/Fragment;->setFocusedView(Landroid/view/View;)V .line 563 invoke-static {v1}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v2 if-eqz v2, :cond_b .line 564 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "requestFocus: Saved focused view " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v0, " for Fragment " invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_b iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 569 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; const/4 v2, 0x0 invoke-virtual {v0, v2}, Landroid/view/View;->setAlpha(F)V :cond_c iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 572 iput v1, v0, Landroidx/fragment/app/Fragment;->mState:I return-void .end method .method public destroy()V .locals 6 const/4 v0, 0x3 .line 757 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_0 .line 758 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "movefrom CREATED: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 760 iget-boolean v1, v0, Landroidx/fragment/app/Fragment;->mRemoving:Z const/4 v2, 0x0 const/4 v3, 0x1 if-eqz v1, :cond_1 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->isInBackStack()Z move-result v0 if-nez v0, :cond_1 move v0, v3 goto :goto_0 :cond_1 move v0, v2 :goto_0 const/4 v1, 0x0 if-eqz v0, :cond_2 iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 762 iget-boolean v5, v4, Landroidx/fragment/app/Fragment;->mBeingSaved:Z if-nez v5, :cond_2 iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 763 iget-object v4, v4, Landroidx/fragment/app/Fragment;->mWho:Ljava/lang/String; invoke-virtual {v5, v4, v1}, Landroidx/fragment/app/FragmentStore;->setSavedState(Ljava/lang/String;Landroidx/fragment/app/FragmentState;)Landroidx/fragment/app/FragmentState; :cond_2 if-nez v0, :cond_5 iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 766 invoke-virtual {v4}, Landroidx/fragment/app/FragmentStore;->getNonConfig()Landroidx/fragment/app/FragmentManagerViewModel; move-result-object v4 iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v4, v5}, Landroidx/fragment/app/FragmentManagerViewModel;->shouldDestroy(Landroidx/fragment/app/Fragment;)Z move-result v4 if-eqz v4, :cond_3 goto :goto_1 :cond_3 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 802 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String; if-eqz v0, :cond_4 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 803 invoke-virtual {v1, v0}, Landroidx/fragment/app/FragmentStore;->findActiveFragment(Ljava/lang/String;)Landroidx/fragment/app/Fragment; move-result-object v0 if-eqz v0, :cond_4 .line 804 iget-boolean v1, v0, Landroidx/fragment/app/Fragment;->mRetainInstance:Z if-eqz v1, :cond_4 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 808 iput-object v0, v1, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment; :cond_4 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 811 iput v2, v0, Landroidx/fragment/app/Fragment;->mState:I goto/16 :goto_4 :cond_5 :goto_1 iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 768 iget-object v4, v4, Landroidx/fragment/app/Fragment;->mHost:Landroidx/fragment/app/FragmentHostCallback; .line 770 instance-of v5, v4, Landroidx/lifecycle/ViewModelStoreOwner; if-eqz v5, :cond_6 iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 771 invoke-virtual {v3}, Landroidx/fragment/app/FragmentStore;->getNonConfig()Landroidx/fragment/app/FragmentManagerViewModel; move-result-object v3 invoke-virtual {v3}, Landroidx/fragment/app/FragmentManagerViewModel;->isCleared()Z move-result v3 goto :goto_2 .line 772 :cond_6 invoke-virtual {v4}, Landroidx/fragment/app/FragmentHostCallback;->getContext()Landroid/content/Context; move-result-object v5 instance-of v5, v5, Landroid/app/Activity; if-eqz v5, :cond_7 .line 773 invoke-virtual {v4}, Landroidx/fragment/app/FragmentHostCallback;->getContext()Landroid/content/Context; move-result-object v4 check-cast v4, Landroid/app/Activity; .line 774 invoke-virtual {v4}, Landroid/app/Activity;->isChangingConfigurations()Z move-result v4 xor-int/2addr v3, v4 :cond_7 :goto_2 if-eqz v0, :cond_8 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 778 iget-boolean v0, v0, Landroidx/fragment/app/Fragment;->mBeingSaved:Z if-eqz v0, :cond_9 :cond_8 if-eqz v3, :cond_a :cond_9 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 779 invoke-virtual {v0}, Landroidx/fragment/app/FragmentStore;->getNonConfig()Landroidx/fragment/app/FragmentManagerViewModel; move-result-object v0 iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v3}, Landroidx/fragment/app/FragmentManagerViewModel;->clearNonConfigState(Landroidx/fragment/app/Fragment;)V :cond_a iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 781 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performDestroy()V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 782 invoke-virtual {v0, v3, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentDestroyed(Landroidx/fragment/app/Fragment;Z)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 786 invoke-virtual {v0}, Landroidx/fragment/app/FragmentStore;->getActiveFragmentStateManagers()Ljava/util/List; move-result-object v0 invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_b :goto_3 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_c invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/fragment/app/FragmentStateManager; if-eqz v2, :cond_b .line 788 invoke-virtual {v2}, Landroidx/fragment/app/FragmentStateManager;->getFragment()Landroidx/fragment/app/Fragment; move-result-object v2 iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 789 iget-object v3, v3, Landroidx/fragment/app/Fragment;->mWho:Ljava/lang/String; iget-object v4, v2, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String; invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_b iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 790 iput-object v3, v2, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment; .line 791 iput-object v1, v2, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String; goto :goto_3 :cond_c iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 795 iget-object v1, v0, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String; if-eqz v1, :cond_d iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 798 invoke-virtual {v2, v1}, Landroidx/fragment/app/FragmentStore;->findActiveFragment(Ljava/lang/String;)Landroidx/fragment/app/Fragment; move-result-object v1 iput-object v1, v0, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment; :cond_d iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 800 invoke-virtual {v0, p0}, Landroidx/fragment/app/FragmentStore;->makeInactive(Landroidx/fragment/app/FragmentStateManager;)V :goto_4 return-void .end method .method public destroyFragmentView()V .locals 3 const/4 v0, 0x3 .line 736 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_0 .line 737 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "movefrom CREATE_VIEW: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 742 iget-object v1, v0, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup; if-eqz v1, :cond_1 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; if-eqz v0, :cond_1 .line 743 invoke-virtual {v1, v0}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V :cond_1 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 745 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performDestroyView()V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v2, 0x0 .line 746 invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentViewDestroyed(Landroidx/fragment/app/Fragment;Z)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v1, 0x0 .line 747 iput-object v1, v0, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup; .line 748 iput-object v1, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; .line 751 iput-object v1, v0, Landroidx/fragment/app/Fragment;->mViewLifecycleOwner:Landroidx/fragment/app/FragmentViewLifecycleOwner; .line 752 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mViewLifecycleOwnerLiveData:Landroidx/lifecycle/MutableLiveData; invoke-virtual {v0, v1}, Landroidx/lifecycle/MutableLiveData;->setValue(Ljava/lang/Object;)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 753 iput-boolean v2, v0, Landroidx/fragment/app/Fragment;->mInLayout:Z return-void .end method .method public detach()V .locals 4 const/4 v0, 0x3 .line 816 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v1 if-eqz v1, :cond_0 .line 817 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "movefrom ATTACHED: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 819 invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->performDetach()V iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v3, 0x0 .line 820 invoke-virtual {v1, v2, v3}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentDetached(Landroidx/fragment/app/Fragment;Z)V iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v2, -0x1 .line 822 iput v2, v1, Landroidx/fragment/app/Fragment;->mState:I const/4 v2, 0x0 .line 823 iput-object v2, v1, Landroidx/fragment/app/Fragment;->mHost:Landroidx/fragment/app/FragmentHostCallback; .line 824 iput-object v2, v1, Landroidx/fragment/app/Fragment;->mParentFragment:Landroidx/fragment/app/Fragment; .line 825 iput-object v2, v1, Landroidx/fragment/app/Fragment;->mFragmentManager:Landroidx/fragment/app/FragmentManager; .line 826 iget-boolean v2, v1, Landroidx/fragment/app/Fragment;->mRemoving:Z if-eqz v2, :cond_1 invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->isInBackStack()Z move-result v1 if-nez v1, :cond_1 goto :goto_0 :cond_1 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 827 invoke-virtual {v1}, Landroidx/fragment/app/FragmentStore;->getNonConfig()Landroidx/fragment/app/FragmentManagerViewModel; move-result-object v1 iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v1, v2}, Landroidx/fragment/app/FragmentManagerViewModel;->shouldDestroy(Landroidx/fragment/app/Fragment;)Z move-result v1 if-eqz v1, :cond_3 .line 828 :goto_0 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_2 .line 829 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "initState called for fragment: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_2 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 831 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->initState()V :cond_3 return-void .end method .method public ensureInflatedView()V .locals 5 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 384 iget-boolean v1, v0, Landroidx/fragment/app/Fragment;->mFromLayout:Z if-eqz v1, :cond_2 iget-boolean v1, v0, Landroidx/fragment/app/Fragment;->mInLayout:Z if-eqz v1, :cond_2 iget-boolean v0, v0, Landroidx/fragment/app/Fragment;->mPerformedCreateView:Z if-nez v0, :cond_2 const/4 v0, 0x3 .line 385 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_0 .line 386 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "moveto CREATE_VIEW: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 388 iget-object v1, v0, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; invoke-virtual {v0, v1}, Landroidx/fragment/app/Fragment;->performGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater; move-result-object v1 iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; iget-object v2, v2, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; const/4 v3, 0x0 invoke-virtual {v0, v1, v3, v2}, Landroidx/fragment/app/Fragment;->performCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 390 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; if-eqz v0, :cond_2 const/4 v1, 0x0 .line 391 invoke-virtual {v0, v1}, Landroid/view/View;->setSaveFromParentEnabled(Z)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 392 iget-object v2, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; sget v3, Landroidx/fragment/R$id;->fragment_container_view_tag:I invoke-virtual {v2, v3, v0}, Landroid/view/View;->setTag(ILjava/lang/Object;)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 393 iget-boolean v2, v0, Landroidx/fragment/app/Fragment;->mHidden:Z if-eqz v2, :cond_1 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; const/16 v2, 0x8 invoke-virtual {v0, v2}, Landroid/view/View;->setVisibility(I)V :cond_1 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 394 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performViewCreated()V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 395 iget-object v3, v2, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; iget-object v4, v2, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; invoke-virtual {v0, v2, v3, v4, v1}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentViewCreated(Landroidx/fragment/app/Fragment;Landroid/view/View;Landroid/os/Bundle;Z)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v1, 0x2 .line 397 iput v1, v0, Landroidx/fragment/app/Fragment;->mState:I :cond_2 return-void .end method .method public getFragment()Landroidx/fragment/app/Fragment; .locals 1 .annotation build Landroidx/annotation/NonNull; .end annotation iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; return-object v0 .end method .method public moveToExpectedState()V .locals 8 iget-boolean v0, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z const/4 v1, 0x2 if-eqz v0, :cond_1 .line 236 invoke-static {v1}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_0 .line 237 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "Ignoring re-entrant call to moveToExpectedState() for " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 238 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->getFragment()Landroidx/fragment/app/Fragment; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 return-void :cond_1 const/4 v0, 0x0 const/4 v2, 0x1 :try_start_0 iput-boolean v2, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z move v3, v0 .line 247 :goto_0 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->computeExpectedState()I move-result v4 iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; iget v6, v5, Landroidx/fragment/app/Fragment;->mState:I const/4 v7, 0x3 if-eq v4, v6, :cond_9 if-le v4, v6, :cond_3 add-int/lit8 v6, v6, 0x1 packed-switch v6, :pswitch_data_0 goto/16 :goto_2 .line 285 :pswitch_0 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->resume()V goto/16 :goto_2 :catchall_0 move-exception v1 goto/16 :goto_4 :pswitch_1 const/4 v3, 0x6 .line 282 iput v3, v5, Landroidx/fragment/app/Fragment;->mState:I goto/16 :goto_2 .line 279 :pswitch_2 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->start()V goto/16 :goto_2 .line 267 :pswitch_3 iget-object v3, v5, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; if-eqz v3, :cond_2 iget-object v3, v5, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup; if-eqz v3, :cond_2 .line 270 invoke-virtual {v5}, Landroidx/fragment/app/Fragment;->getParentFragmentManager()Landroidx/fragment/app/FragmentManager; move-result-object v4 .line 269 invoke-static {v3, v4}, Landroidx/fragment/app/SpecialEffectsController;->getOrCreateController(Landroid/view/ViewGroup;Landroidx/fragment/app/FragmentManager;)Landroidx/fragment/app/SpecialEffectsController; move-result-object v3 iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 271 iget-object v4, v4, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; invoke-virtual {v4}, Landroid/view/View;->getVisibility()I move-result v4 .line 273 invoke-static {v4}, Landroidx/fragment/app/SpecialEffectsController$Operation$State;->from(I)Landroidx/fragment/app/SpecialEffectsController$Operation$State; move-result-object v4 .line 274 invoke-virtual {v3, v4, p0}, Landroidx/fragment/app/SpecialEffectsController;->enqueueAdd(Landroidx/fragment/app/SpecialEffectsController$Operation$State;Landroidx/fragment/app/FragmentStateManager;)V :cond_2 iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v4, 0x4 .line 276 iput v4, v3, Landroidx/fragment/app/Fragment;->mState:I goto/16 :goto_2 .line 264 :pswitch_4 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->activityCreated()V goto/16 :goto_2 .line 260 :pswitch_5 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->ensureInflatedView()V .line 261 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->createView()V goto/16 :goto_2 .line 257 :pswitch_6 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->create()V goto/16 :goto_2 .line 254 :pswitch_7 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->attach()V goto/16 :goto_2 :cond_3 add-int/lit8 v6, v6, -0x1 packed-switch v6, :pswitch_data_1 goto/16 :goto_2 .line 293 :pswitch_8 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->pause()V goto/16 :goto_2 :pswitch_9 const/4 v3, 0x5 .line 296 iput v3, v5, Landroidx/fragment/app/Fragment;->mState:I goto/16 :goto_2 .line 299 :pswitch_a invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->stop()V goto :goto_2 .line 302 :pswitch_b invoke-static {v7}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v3 if-eqz v3, :cond_4 .line 303 new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;->()V const-string v4, "movefrom ACTIVITY_CREATED: " invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_4 iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 305 iget-boolean v4, v3, Landroidx/fragment/app/Fragment;->mBeingSaved:Z if-eqz v4, :cond_5 .line 306 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->saveState()V goto :goto_1 .line 307 :cond_5 iget-object v4, v3, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; if-eqz v4, :cond_6 .line 310 iget-object v3, v3, Landroidx/fragment/app/Fragment;->mSavedViewState:Landroid/util/SparseArray; if-nez v3, :cond_6 .line 311 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->saveViewState()V :cond_6 :goto_1 iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 314 iget-object v4, v3, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; if-eqz v4, :cond_7 iget-object v4, v3, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup; if-eqz v4, :cond_7 .line 317 invoke-virtual {v3}, Landroidx/fragment/app/Fragment;->getParentFragmentManager()Landroidx/fragment/app/FragmentManager; move-result-object v3 .line 316 invoke-static {v4, v3}, Landroidx/fragment/app/SpecialEffectsController;->getOrCreateController(Landroid/view/ViewGroup;Landroidx/fragment/app/FragmentManager;)Landroidx/fragment/app/SpecialEffectsController; move-result-object v3 .line 318 invoke-virtual {v3, p0}, Landroidx/fragment/app/SpecialEffectsController;->enqueueRemove(Landroidx/fragment/app/FragmentStateManager;)V :cond_7 iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 320 iput v7, v3, Landroidx/fragment/app/Fragment;->mState:I goto :goto_2 .line 323 :pswitch_c iput-boolean v0, v5, Landroidx/fragment/app/Fragment;->mInLayout:Z .line 324 iput v1, v5, Landroidx/fragment/app/Fragment;->mState:I goto :goto_2 .line 327 :pswitch_d invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->destroyFragmentView()V iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 328 iput v2, v3, Landroidx/fragment/app/Fragment;->mState:I goto :goto_2 .line 331 :pswitch_e iget-boolean v3, v5, Landroidx/fragment/app/Fragment;->mBeingSaved:Z if-eqz v3, :cond_8 iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; iget-object v4, v5, Landroidx/fragment/app/Fragment;->mWho:Ljava/lang/String; .line 332 invoke-virtual {v3, v4}, Landroidx/fragment/app/FragmentStore;->getSavedState(Ljava/lang/String;)Landroidx/fragment/app/FragmentState; move-result-object v3 if-nez v3, :cond_8 .line 333 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->saveState()V .line 335 :cond_8 invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->destroy()V goto :goto_2 .line 338 :pswitch_f invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->detach()V :goto_2 move v3, v2 goto/16 :goto_0 :cond_9 if-nez v3, :cond_c const/4 v1, -0x1 if-ne v6, v1, :cond_c .line 347 iget-boolean v1, v5, Landroidx/fragment/app/Fragment;->mRemoving:Z if-eqz v1, :cond_c invoke-virtual {v5}, Landroidx/fragment/app/Fragment;->isInBackStack()Z move-result v1 if-nez v1, :cond_c iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; iget-boolean v1, v1, Landroidx/fragment/app/Fragment;->mBeingSaved:Z if-nez v1, :cond_c .line 348 invoke-static {v7}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v1 if-eqz v1, :cond_a .line 349 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Cleaning up state of never attached fragment: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_a iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 351 invoke-virtual {v1}, Landroidx/fragment/app/FragmentStore;->getNonConfig()Landroidx/fragment/app/FragmentManagerViewModel; move-result-object v1 iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v1, v2}, Landroidx/fragment/app/FragmentManagerViewModel;->clearNonConfigState(Landroidx/fragment/app/Fragment;)V iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; .line 352 invoke-virtual {v1, p0}, Landroidx/fragment/app/FragmentStore;->makeInactive(Landroidx/fragment/app/FragmentStateManager;)V .line 353 invoke-static {v7}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v1 if-eqz v1, :cond_b .line 354 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "initState called for fragment: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_b iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 356 invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->initState()V :cond_c iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 359 iget-boolean v2, v1, Landroidx/fragment/app/Fragment;->mHiddenChanged:Z if-eqz v2, :cond_10 .line 360 iget-object v2, v1, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; if-eqz v2, :cond_e iget-object v2, v1, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup; if-eqz v2, :cond_e .line 364 invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->getParentFragmentManager()Landroidx/fragment/app/FragmentManager; move-result-object v1 .line 363 invoke-static {v2, v1}, Landroidx/fragment/app/SpecialEffectsController;->getOrCreateController(Landroid/view/ViewGroup;Landroidx/fragment/app/FragmentManager;)Landroidx/fragment/app/SpecialEffectsController; move-result-object v1 iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 365 iget-boolean v2, v2, Landroidx/fragment/app/Fragment;->mHidden:Z if-eqz v2, :cond_d .line 366 invoke-virtual {v1, p0}, Landroidx/fragment/app/SpecialEffectsController;->enqueueHide(Landroidx/fragment/app/FragmentStateManager;)V goto :goto_3 .line 368 :cond_d invoke-virtual {v1, p0}, Landroidx/fragment/app/SpecialEffectsController;->enqueueShow(Landroidx/fragment/app/FragmentStateManager;)V :cond_e :goto_3 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 371 iget-object v2, v1, Landroidx/fragment/app/Fragment;->mFragmentManager:Landroidx/fragment/app/FragmentManager; if-eqz v2, :cond_f .line 372 invoke-virtual {v2, v1}, Landroidx/fragment/app/FragmentManager;->invalidateMenuForFragment(Landroidx/fragment/app/Fragment;)V :cond_f iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 374 iput-boolean v0, v1, Landroidx/fragment/app/Fragment;->mHiddenChanged:Z .line 375 iget-boolean v2, v1, Landroidx/fragment/app/Fragment;->mHidden:Z invoke-virtual {v1, v2}, Landroidx/fragment/app/Fragment;->onHiddenChanged(Z)V iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 376 iget-object v1, v1, Landroidx/fragment/app/Fragment;->mChildFragmentManager:Landroidx/fragment/app/FragmentManager; invoke-virtual {v1}, Landroidx/fragment/app/FragmentManager;->dispatchOnHiddenChanged()V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 :cond_10 iput-boolean v0, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z return-void :goto_4 iput-boolean v0, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z .line 380 throw v1 :pswitch_data_0 .packed-switch 0x0 :pswitch_7 :pswitch_6 :pswitch_5 :pswitch_4 :pswitch_3 :pswitch_2 :pswitch_1 :pswitch_0 .end packed-switch :pswitch_data_1 .packed-switch -0x1 :pswitch_f :pswitch_e :pswitch_d :pswitch_c :pswitch_b :pswitch_a :pswitch_9 :pswitch_8 .end packed-switch .end method .method public pause()V .locals 3 const/4 v0, 0x3 .line 628 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_0 .line 629 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "movefrom RESUMED: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 631 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performPause()V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v2, 0x0 .line 632 invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentPaused(Landroidx/fragment/app/Fragment;Z)V return-void .end method .method public restoreState(Ljava/lang/ClassLoader;)V .locals 3 .param p1 # Ljava/lang/ClassLoader; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 404 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; if-nez v0, :cond_0 return-void .line 407 :cond_0 invoke-virtual {v0, p1}, Landroid/os/Bundle;->setClassLoader(Ljava/lang/ClassLoader;)V iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 408 iget-object v0, p1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; const-string v1, "android:view_state" invoke-virtual {v0, v1}, Landroid/os/Bundle;->getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray; move-result-object v0 iput-object v0, p1, Landroidx/fragment/app/Fragment;->mSavedViewState:Landroid/util/SparseArray; iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 410 iget-object v0, p1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; const-string v1, "android:view_registry_state" invoke-virtual {v0, v1}, Landroid/os/Bundle;->getBundle(Ljava/lang/String;)Landroid/os/Bundle; move-result-object v0 iput-object v0, p1, Landroidx/fragment/app/Fragment;->mSavedViewRegistryState:Landroid/os/Bundle; iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 412 iget-object v0, p1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; const-string v1, "android:target_state" invoke-virtual {v0, v1}, Landroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 iput-object v0, p1, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String; iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 414 iget-object v0, p1, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String; if-eqz v0, :cond_1 .line 415 iget-object v0, p1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; const-string v1, "android:target_req_state" const/4 v2, 0x0 invoke-virtual {v0, v1, v2}, Landroid/os/BaseBundle;->getInt(Ljava/lang/String;I)I move-result v0 iput v0, p1, Landroidx/fragment/app/Fragment;->mTargetRequestCode:I :cond_1 iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 418 iget-object v0, p1, Landroidx/fragment/app/Fragment;->mSavedUserVisibleHint:Ljava/lang/Boolean; const/4 v1, 0x1 if-eqz v0, :cond_2 .line 419 invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z move-result v0 iput-boolean v0, p1, Landroidx/fragment/app/Fragment;->mUserVisibleHint:Z iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v0, 0x0 .line 420 iput-object v0, p1, Landroidx/fragment/app/Fragment;->mSavedUserVisibleHint:Ljava/lang/Boolean; goto :goto_0 .line 422 :cond_2 iget-object v0, p1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; const-string v2, "android:user_visible_hint" invoke-virtual {v0, v2, v1}, Landroid/os/BaseBundle;->getBoolean(Ljava/lang/String;Z)Z move-result v0 iput-boolean v0, p1, Landroidx/fragment/app/Fragment;->mUserVisibleHint:Z :goto_0 iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 425 iget-boolean v0, p1, Landroidx/fragment/app/Fragment;->mUserVisibleHint:Z if-nez v0, :cond_3 .line 426 iput-boolean v1, p1, Landroidx/fragment/app/Fragment;->mDeferStart:Z :cond_3 return-void .end method .method public resume()V .locals 4 const/4 v0, 0x3 .line 593 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_0 .line 594 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "moveto RESUMED: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 596 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getFocusedView()Landroid/view/View; move-result-object v0 if-eqz v0, :cond_2 .line 597 invoke-direct {p0, v0}, Landroidx/fragment/app/FragmentStateManager;->isFragmentViewChild(Landroid/view/View;)Z move-result v1 if-eqz v1, :cond_2 .line 598 invoke-virtual {v0}, Landroid/view/View;->requestFocus()Z move-result v1 const/4 v2, 0x2 .line 599 invoke-static {v2}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v2 if-eqz v2, :cond_2 .line 600 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "requestFocus: Restoring focused view " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v0, " " invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; if-eqz v1, :cond_1 const-string v0, "succeeded" goto :goto_0 :cond_1 const-string v0, "failed" .line 601 :goto_0 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, " on Fragment " invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v0, " resulting in focused view " invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; .line 602 invoke-virtual {v0}, Landroid/view/View;->findFocus()Landroid/view/View; move-result-object v0 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_2 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v1, 0x0 .line 605 invoke-virtual {v0, v1}, Landroidx/fragment/app/Fragment;->setFocusedView(Landroid/view/View;)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 606 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performResume()V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v3, 0x0 .line 607 invoke-virtual {v0, v2, v3}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentResumed(Landroidx/fragment/app/Fragment;Z)V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 608 iput-object v1, v0, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; .line 609 iput-object v1, v0, Landroidx/fragment/app/Fragment;->mSavedViewState:Landroid/util/SparseArray; .line 610 iput-object v1, v0, Landroidx/fragment/app/Fragment;->mSavedViewRegistryState:Landroid/os/Bundle; return-void .end method .method public saveInstanceState()Landroidx/fragment/app/Fragment$SavedState; .locals 3 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 671 iget v0, v0, Landroidx/fragment/app/Fragment;->mState:I const/4 v1, -0x1 const/4 v2, 0x0 if-le v0, v1, :cond_0 .line 672 invoke-direct {p0}, Landroidx/fragment/app/FragmentStateManager;->saveBasicState()Landroid/os/Bundle; move-result-object v0 if-eqz v0, :cond_0 .line 673 new-instance v2, Landroidx/fragment/app/Fragment$SavedState; invoke-direct {v2, v0}, Landroidx/fragment/app/Fragment$SavedState;->(Landroid/os/Bundle;)V :cond_0 return-object v2 .end method .method public saveState()V .locals 4 .line 644 new-instance v0, Landroidx/fragment/app/FragmentState; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-direct {v0, v1}, Landroidx/fragment/app/FragmentState;->(Landroidx/fragment/app/Fragment;)V iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 646 iget v2, v1, Landroidx/fragment/app/Fragment;->mState:I const/4 v3, -0x1 if-le v2, v3, :cond_1 iget-object v2, v0, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle; if-nez v2, :cond_1 .line 647 invoke-direct {p0}, Landroidx/fragment/app/FragmentStateManager;->saveBasicState()Landroid/os/Bundle; move-result-object v1 iput-object v1, v0, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 649 iget-object v2, v2, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String; if-eqz v2, :cond_2 if-nez v1, :cond_0 .line 651 new-instance v1, Landroid/os/Bundle; invoke-direct {v1}, Landroid/os/Bundle;->()V iput-object v1, v0, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle; :cond_0 iget-object v1, v0, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 653 iget-object v2, v2, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String; const-string v3, "android:target_state" invoke-virtual {v1, v3, v2}, Landroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 656 iget v1, v1, Landroidx/fragment/app/Fragment;->mTargetRequestCode:I if-eqz v1, :cond_2 iget-object v2, v0, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle; const-string v3, "android:target_req_state" .line 657 invoke-virtual {v2, v3, v1}, Landroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V goto :goto_0 .line 664 :cond_1 iget-object v1, v1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; iput-object v1, v0, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle; :cond_2 :goto_0 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore; iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 666 iget-object v2, v2, Landroidx/fragment/app/Fragment;->mWho:Ljava/lang/String; invoke-virtual {v1, v2, v0}, Landroidx/fragment/app/FragmentStore;->setSavedState(Ljava/lang/String;Landroidx/fragment/app/FragmentState;)Landroidx/fragment/app/FragmentState; return-void .end method .method public saveViewState()V .locals 2 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 715 iget-object v0, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; if-nez v0, :cond_0 return-void :cond_0 const/4 v0, 0x2 .line 718 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_1 .line 719 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "Saving view state for fragment " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v1, " with view " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; iget-object v1, v1, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; .line 723 :cond_1 new-instance v0, Landroid/util/SparseArray; invoke-direct {v0}, Landroid/util/SparseArray;->()V iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 724 iget-object v1, v1, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View; invoke-virtual {v1, v0}, Landroid/view/View;->saveHierarchyState(Landroid/util/SparseArray;)V .line 725 invoke-virtual {v0}, Landroid/util/SparseArray;->size()I move-result v1 if-lez v1, :cond_2 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 726 iput-object v0, v1, Landroidx/fragment/app/Fragment;->mSavedViewState:Landroid/util/SparseArray; .line 728 :cond_2 new-instance v0, Landroid/os/Bundle; invoke-direct {v0}, Landroid/os/Bundle;->()V iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 729 iget-object v1, v1, Landroidx/fragment/app/Fragment;->mViewLifecycleOwner:Landroidx/fragment/app/FragmentViewLifecycleOwner; invoke-virtual {v1, v0}, Landroidx/fragment/app/FragmentViewLifecycleOwner;->performSave(Landroid/os/Bundle;)V .line 730 invoke-virtual {v0}, Landroid/os/BaseBundle;->isEmpty()Z move-result v1 if-nez v1, :cond_3 iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 731 iput-object v0, v1, Landroidx/fragment/app/Fragment;->mSavedViewRegistryState:Landroid/os/Bundle; :cond_3 return-void .end method .method public setFragmentManagerState(I)V .locals 0 iput p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I return-void .end method .method public start()V .locals 3 const/4 v0, 0x3 .line 585 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_0 .line 586 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "moveto STARTED: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 588 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performStart()V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v2, 0x0 .line 589 invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentStarted(Landroidx/fragment/app/Fragment;Z)V return-void .end method .method public stop()V .locals 3 const/4 v0, 0x3 .line 636 invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z move-result v0 if-eqz v0, :cond_0 .line 637 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "movefrom STARTED: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :cond_0 iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; .line 639 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performStop()V iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher; iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment; const/4 v2, 0x0 .line 640 invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentStopped(Landroidx/fragment/app/Fragment;Z)V return-void .end method