3535 lines
109 KiB
Smali
3535 lines
109 KiB
Smali
.class Landroidx/fragment/app/FragmentStateManager;
|
|
.super Ljava/lang/Object;
|
|
.source "FragmentStateManager.java"
|
|
|
|
|
|
# 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;
|
|
|
|
.field private mFragmentManagerState:I
|
|
|
|
.field private final mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
.field private mMovingToState:Z
|
|
|
|
|
|
# direct methods
|
|
.method constructor <init>(Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;Landroidx/fragment/app/FragmentStore;Landroidx/fragment/app/Fragment;)V
|
|
.locals 1
|
|
|
|
.line 62
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 51
|
|
iput-boolean v0, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 52
|
|
iput v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I
|
|
|
|
.line 63
|
|
iput-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;
|
|
|
|
.line 64
|
|
iput-object p2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
.line 65
|
|
iput-object p3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method constructor <init>(Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;Landroidx/fragment/app/FragmentStore;Landroidx/fragment/app/Fragment;Landroidx/fragment/app/FragmentState;)V
|
|
.locals 2
|
|
|
|
.line 126
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 51
|
|
iput-boolean v0, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z
|
|
|
|
const/4 v1, -0x1
|
|
|
|
.line 52
|
|
iput v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I
|
|
|
|
.line 127
|
|
iput-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;
|
|
|
|
.line 128
|
|
iput-object p2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
.line 129
|
|
iput-object p3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 p1, 0x0
|
|
|
|
.line 130
|
|
iput-object p1, p3, Landroidx/fragment/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
|
|
|
|
.line 131
|
|
iput-object p1, p3, Landroidx/fragment/app/Fragment;->mSavedViewRegistryState:Landroid/os/Bundle;
|
|
|
|
.line 132
|
|
iput v0, p3, Landroidx/fragment/app/Fragment;->mBackStackNesting:I
|
|
|
|
.line 133
|
|
iput-boolean v0, p3, Landroidx/fragment/app/Fragment;->mInLayout:Z
|
|
|
|
.line 134
|
|
iput-boolean v0, p3, Landroidx/fragment/app/Fragment;->mAdded:Z
|
|
|
|
.line 135
|
|
iget-object p2, p3, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment;
|
|
|
|
if-eqz p2, :cond_0
|
|
|
|
iget-object p2, p3, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment;
|
|
|
|
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 136
|
|
iput-object p1, p3, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment;
|
|
|
|
.line 137
|
|
iget-object p1, p4, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 138
|
|
iget-object p1, p4, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
iput-object p1, p3, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
goto :goto_1
|
|
|
|
.line 143
|
|
:cond_1
|
|
new-instance p1, Landroid/os/Bundle;
|
|
|
|
invoke-direct {p1}, Landroid/os/Bundle;-><init>()V
|
|
|
|
iput-object p1, p3, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
:goto_1
|
|
return-void
|
|
.end method
|
|
|
|
.method constructor <init>(Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;Landroidx/fragment/app/FragmentStore;Ljava/lang/ClassLoader;Landroidx/fragment/app/FragmentFactory;Landroidx/fragment/app/FragmentState;)V
|
|
.locals 1
|
|
|
|
.line 82
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 51
|
|
iput-boolean v0, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 52
|
|
iput v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I
|
|
|
|
.line 83
|
|
iput-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;
|
|
|
|
.line 84
|
|
iput-object p2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
.line 85
|
|
iget-object p1, p5, Landroidx/fragment/app/FragmentState;->mClassName:Ljava/lang/String;
|
|
|
|
invoke-virtual {p4, p3, p1}, Landroidx/fragment/app/FragmentFactory;->instantiate(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroidx/fragment/app/Fragment;
|
|
|
|
move-result-object p1
|
|
|
|
iput-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
.line 86
|
|
iget-object p2, p5, Landroidx/fragment/app/FragmentState;->mArguments:Landroid/os/Bundle;
|
|
|
|
if-eqz p2, :cond_0
|
|
|
|
.line 87
|
|
iget-object p2, p5, Landroidx/fragment/app/FragmentState;->mArguments:Landroid/os/Bundle;
|
|
|
|
invoke-virtual {p2, p3}, Landroid/os/Bundle;->setClassLoader(Ljava/lang/ClassLoader;)V
|
|
|
|
.line 89
|
|
:cond_0
|
|
iget-object p2, p5, Landroidx/fragment/app/FragmentState;->mArguments:Landroid/os/Bundle;
|
|
|
|
invoke-virtual {p1, p2}, Landroidx/fragment/app/Fragment;->setArguments(Landroid/os/Bundle;)V
|
|
|
|
.line 90
|
|
iget-object p2, p5, Landroidx/fragment/app/FragmentState;->mWho:Ljava/lang/String;
|
|
|
|
iput-object p2, p1, Landroidx/fragment/app/Fragment;->mWho:Ljava/lang/String;
|
|
|
|
.line 91
|
|
iget-boolean p2, p5, Landroidx/fragment/app/FragmentState;->mFromLayout:Z
|
|
|
|
iput-boolean p2, p1, Landroidx/fragment/app/Fragment;->mFromLayout:Z
|
|
|
|
const/4 p2, 0x1
|
|
|
|
.line 92
|
|
iput-boolean p2, p1, Landroidx/fragment/app/Fragment;->mRestored:Z
|
|
|
|
.line 93
|
|
iget p2, p5, Landroidx/fragment/app/FragmentState;->mFragmentId:I
|
|
|
|
iput p2, p1, Landroidx/fragment/app/Fragment;->mFragmentId:I
|
|
|
|
.line 94
|
|
iget p2, p5, Landroidx/fragment/app/FragmentState;->mContainerId:I
|
|
|
|
iput p2, p1, Landroidx/fragment/app/Fragment;->mContainerId:I
|
|
|
|
.line 95
|
|
iget-object p2, p5, Landroidx/fragment/app/FragmentState;->mTag:Ljava/lang/String;
|
|
|
|
iput-object p2, p1, Landroidx/fragment/app/Fragment;->mTag:Ljava/lang/String;
|
|
|
|
.line 96
|
|
iget-boolean p2, p5, Landroidx/fragment/app/FragmentState;->mRetainInstance:Z
|
|
|
|
iput-boolean p2, p1, Landroidx/fragment/app/Fragment;->mRetainInstance:Z
|
|
|
|
.line 97
|
|
iget-boolean p2, p5, Landroidx/fragment/app/FragmentState;->mRemoving:Z
|
|
|
|
iput-boolean p2, p1, Landroidx/fragment/app/Fragment;->mRemoving:Z
|
|
|
|
.line 98
|
|
iget-boolean p2, p5, Landroidx/fragment/app/FragmentState;->mDetached:Z
|
|
|
|
iput-boolean p2, p1, Landroidx/fragment/app/Fragment;->mDetached:Z
|
|
|
|
.line 99
|
|
iget-boolean p2, p5, Landroidx/fragment/app/FragmentState;->mHidden:Z
|
|
|
|
iput-boolean p2, p1, Landroidx/fragment/app/Fragment;->mHidden:Z
|
|
|
|
.line 100
|
|
invoke-static {}, Landroidx/lifecycle/Lifecycle$State;->values()[Landroidx/lifecycle/Lifecycle$State;
|
|
|
|
move-result-object p2
|
|
|
|
iget p3, p5, Landroidx/fragment/app/FragmentState;->mMaxLifecycleState:I
|
|
|
|
aget-object p2, p2, p3
|
|
|
|
iput-object p2, p1, Landroidx/fragment/app/Fragment;->mMaxState:Landroidx/lifecycle/Lifecycle$State;
|
|
|
|
.line 101
|
|
iget-object p2, p5, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
if-eqz p2, :cond_1
|
|
|
|
.line 102
|
|
iget-object p2, p5, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
iput-object p2, p1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
goto :goto_0
|
|
|
|
.line 107
|
|
:cond_1
|
|
new-instance p2, Landroid/os/Bundle;
|
|
|
|
invoke-direct {p2}, Landroid/os/Bundle;-><init>()V
|
|
|
|
iput-object p2, p1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
:goto_0
|
|
const/4 p2, 0x2
|
|
|
|
.line 109
|
|
invoke-static {p2}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result p2
|
|
|
|
if-eqz p2, :cond_2
|
|
|
|
.line 110
|
|
new-instance p2, Ljava/lang/StringBuilder;
|
|
|
|
const-string p3, "Instantiated fragment "
|
|
|
|
invoke-direct {p2, p3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
const-string p2, "FragmentManager"
|
|
|
|
invoke-static {p2, p1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method private isFragmentViewChild(Landroid/view/View;)Z
|
|
.locals 2
|
|
|
|
.line 615
|
|
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;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-ne p1, v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 618
|
|
:cond_0
|
|
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object p1
|
|
|
|
:goto_0
|
|
if-eqz p1, :cond_2
|
|
|
|
.line 620
|
|
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;
|
|
|
|
if-ne p1, v0, :cond_1
|
|
|
|
return v1
|
|
|
|
.line 623
|
|
: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 681
|
|
new-instance v0, Landroid/os/Bundle;
|
|
|
|
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
|
|
|
|
.line 683
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v1, v0}, Landroidx/fragment/app/Fragment;->performSaveInstanceState(Landroid/os/Bundle;)V
|
|
|
|
.line 684
|
|
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
|
|
|
|
invoke-virtual {v1, v2, v0, v3}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentSaveInstanceState(Landroidx/fragment/app/Fragment;Landroid/os/Bundle;Z)V
|
|
|
|
.line 685
|
|
invoke-virtual {v0}, Landroid/os/Bundle;->isEmpty()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 689
|
|
:cond_0
|
|
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;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 690
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->saveViewState()V
|
|
|
|
.line 692
|
|
:cond_1
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, v1, Landroidx/fragment/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
|
|
|
|
if-eqz v1, :cond_3
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
.line 694
|
|
new-instance v0, Landroid/os/Bundle;
|
|
|
|
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
|
|
|
|
.line 696
|
|
:cond_2
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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
|
|
|
|
.line 699
|
|
:cond_3
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, v1, Landroidx/fragment/app/Fragment;->mSavedViewRegistryState:Landroid/os/Bundle;
|
|
|
|
if-eqz v1, :cond_5
|
|
|
|
if-nez v0, :cond_4
|
|
|
|
.line 701
|
|
new-instance v0, Landroid/os/Bundle;
|
|
|
|
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
|
|
|
|
.line 703
|
|
:cond_4
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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
|
|
|
|
.line 705
|
|
:cond_5
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v1, v1, Landroidx/fragment/app/Fragment;->mUserVisibleHint:Z
|
|
|
|
if-nez v1, :cond_7
|
|
|
|
if-nez v0, :cond_6
|
|
|
|
.line 707
|
|
new-instance v0, Landroid/os/Bundle;
|
|
|
|
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
|
|
|
|
.line 710
|
|
:cond_6
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v1, v1, Landroidx/fragment/app/Fragment;->mUserVisibleHint:Z
|
|
|
|
const-string v2, "android:user_visible_hint"
|
|
|
|
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V
|
|
|
|
:cond_7
|
|
return-object v0
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method activityCreated()V
|
|
.locals 4
|
|
|
|
const/4 v0, 0x3
|
|
|
|
.line 577
|
|
invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 578
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, "moveto ACTIVITY_CREATED: "
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "FragmentManager"
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 580
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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
|
|
|
|
.line 581
|
|
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;
|
|
|
|
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 addViewToContainer()V
|
|
.locals 3
|
|
|
|
.line 832
|
|
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;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/fragment/app/FragmentStore;->findFragmentIndexInContainer(Landroidx/fragment/app/Fragment;)I
|
|
|
|
move-result v0
|
|
|
|
.line 833
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, v1, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v2, v2, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View;
|
|
|
|
invoke-virtual {v1, v2, v0}, Landroid/view/ViewGroup;->addView(Landroid/view/View;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method attach()V
|
|
.locals 6
|
|
|
|
const/4 v0, 0x3
|
|
|
|
.line 428
|
|
invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 429
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, "moveto ATTACHED: "
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "FragmentManager"
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 434
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v0, v0, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment;
|
|
|
|
const-string v1, " that does not belong to this FragmentManager!"
|
|
|
|
const-string v2, " declared target fragment "
|
|
|
|
const-string v3, "Fragment "
|
|
|
|
const/4 v4, 0x0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 435
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v5, v5, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v5, v5, Landroidx/fragment/app/Fragment;->mWho:Ljava/lang/String;
|
|
|
|
invoke-virtual {v0, v5}, Landroidx/fragment/app/FragmentStore;->getFragmentStateManager(Ljava/lang/String;)Landroidx/fragment/app/FragmentStateManager;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 442
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v2, v1, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v2, v2, Landroidx/fragment/app/Fragment;->mWho:Ljava/lang/String;
|
|
|
|
iput-object v2, v1, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
.line 443
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v4, v1, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment;
|
|
|
|
move-object v4, v0
|
|
|
|
goto :goto_0
|
|
|
|
.line 438
|
|
:cond_1
|
|
new-instance v0, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance v4, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v2
|
|
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v3, v3, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v0
|
|
|
|
.line 444
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v0, v0, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
.line 445
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v4, v4, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
invoke-virtual {v0, v4}, Landroidx/fragment/app/FragmentStore;->getFragmentStateManager(Ljava/lang/String;)Landroidx/fragment/app/FragmentStateManager;
|
|
|
|
move-result-object v4
|
|
|
|
if-eqz v4, :cond_3
|
|
|
|
goto :goto_0
|
|
|
|
.line 448
|
|
:cond_3
|
|
new-instance v0, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance v4, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v4, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v2
|
|
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v3, v3, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v0
|
|
|
|
:cond_4
|
|
:goto_0
|
|
if-eqz v4, :cond_6
|
|
|
|
.line 456
|
|
sget-boolean v0, Landroidx/fragment/app/FragmentManager;->USE_STATE_MANAGER:Z
|
|
|
|
if-nez v0, :cond_5
|
|
|
|
.line 457
|
|
invoke-virtual {v4}, Landroidx/fragment/app/FragmentStateManager;->getFragment()Landroidx/fragment/app/Fragment;
|
|
|
|
move-result-object v0
|
|
|
|
iget v0, v0, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-ge v0, v1, :cond_6
|
|
|
|
.line 458
|
|
:cond_5
|
|
invoke-virtual {v4}, Landroidx/fragment/app/FragmentStateManager;->moveToExpectedState()V
|
|
|
|
.line 461
|
|
:cond_6
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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;
|
|
|
|
.line 462
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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;
|
|
|
|
.line 463
|
|
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
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentPreAttached(Landroidx/fragment/app/Fragment;Z)V
|
|
|
|
.line 464
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performAttach()V
|
|
|
|
.line 465
|
|
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;
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentAttached(Landroidx/fragment/app/Fragment;Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method computeExpectedState()I
|
|
.locals 9
|
|
|
|
.line 170
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v0, v0, Landroidx/fragment/app/Fragment;->mFragmentManager:Landroidx/fragment/app/FragmentManager;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 171
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v0, v0, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
return v0
|
|
|
|
.line 174
|
|
:cond_0
|
|
iget v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I
|
|
|
|
.line 177
|
|
sget-object v1, Landroidx/fragment/app/FragmentStateManager$2;->$SwitchMap$androidx$lifecycle$Lifecycle$State:[I
|
|
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v2, v2, Landroidx/fragment/app/Fragment;->mMaxState:Landroidx/lifecycle/Lifecycle$State;
|
|
|
|
invoke-virtual {v2}, Landroidx/lifecycle/Lifecycle$State;->ordinal()I
|
|
|
|
move-result v2
|
|
|
|
aget v1, v1, v2
|
|
|
|
const/4 v2, -0x1
|
|
|
|
const/4 v3, 0x5
|
|
|
|
const/4 v4, 0x3
|
|
|
|
const/4 v5, 0x4
|
|
|
|
const/4 v6, 0x2
|
|
|
|
const/4 v7, 0x1
|
|
|
|
if-eq v1, v7, :cond_4
|
|
|
|
if-eq v1, v6, :cond_3
|
|
|
|
if-eq v1, v4, :cond_2
|
|
|
|
if-eq v1, v5, :cond_1
|
|
|
|
.line 191
|
|
invoke-static {v0, v2}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const/4 v1, 0x0
|
|
|
|
.line 188
|
|
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_0
|
|
|
|
.line 185
|
|
:cond_2
|
|
invoke-static {v0, v7}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_0
|
|
|
|
.line 182
|
|
:cond_3
|
|
invoke-static {v0, v3}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
.line 195
|
|
:cond_4
|
|
:goto_0
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v1, v1, Landroidx/fragment/app/Fragment;->mFromLayout:Z
|
|
|
|
if-eqz v1, :cond_7
|
|
|
|
.line 196
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v1, v1, Landroidx/fragment/app/Fragment;->mInLayout:Z
|
|
|
|
if-eqz v1, :cond_5
|
|
|
|
.line 199
|
|
iget v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I
|
|
|
|
invoke-static {v0, v6}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result v0
|
|
|
|
.line 202
|
|
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;
|
|
|
|
if-eqz v1, :cond_7
|
|
|
|
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 {v1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v1
|
|
|
|
if-nez v1, :cond_7
|
|
|
|
.line 203
|
|
invoke-static {v0, v6}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_1
|
|
|
|
.line 206
|
|
:cond_5
|
|
iget v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I
|
|
|
|
if-ge v1, v5, :cond_6
|
|
|
|
.line 211
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v1, v1, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_1
|
|
|
|
.line 216
|
|
:cond_6
|
|
invoke-static {v0, v7}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
.line 221
|
|
:cond_7
|
|
:goto_1
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v1, v1, Landroidx/fragment/app/Fragment;->mAdded:Z
|
|
|
|
if-nez v1, :cond_8
|
|
|
|
.line 222
|
|
invoke-static {v0, v7}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
.line 225
|
|
:cond_8
|
|
sget-boolean v1, Landroidx/fragment/app/FragmentManager;->USE_STATE_MANAGER:Z
|
|
|
|
if-eqz v1, :cond_9
|
|
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, v1, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
if-eqz v1, :cond_9
|
|
|
|
.line 226
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, v1, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
iget-object v8, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
.line 227
|
|
invoke-virtual {v8}, Landroidx/fragment/app/Fragment;->getParentFragmentManager()Landroidx/fragment/app/FragmentManager;
|
|
|
|
move-result-object v8
|
|
|
|
.line 226
|
|
invoke-static {v1, v8}, Landroidx/fragment/app/SpecialEffectsController;->getOrCreateController(Landroid/view/ViewGroup;Landroidx/fragment/app/FragmentManager;)Landroidx/fragment/app/SpecialEffectsController;
|
|
|
|
move-result-object v1
|
|
|
|
.line 228
|
|
invoke-virtual {v1, p0}, Landroidx/fragment/app/SpecialEffectsController;->getAwaitingCompletionLifecycleImpact(Landroidx/fragment/app/FragmentStateManager;)Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;
|
|
|
|
move-result-object v1
|
|
|
|
goto :goto_2
|
|
|
|
:cond_9
|
|
const/4 v1, 0x0
|
|
|
|
.line 230
|
|
:goto_2
|
|
sget-object v8, Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;->ADDING:Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;
|
|
|
|
if-ne v1, v8, :cond_a
|
|
|
|
const/4 v1, 0x6
|
|
|
|
.line 232
|
|
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_3
|
|
|
|
.line 233
|
|
:cond_a
|
|
sget-object v8, Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;->REMOVING:Landroidx/fragment/app/SpecialEffectsController$Operation$LifecycleImpact;
|
|
|
|
if-ne v1, v8, :cond_b
|
|
|
|
.line 235
|
|
invoke-static {v0, v4}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_3
|
|
|
|
.line 236
|
|
:cond_b
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v1, v1, Landroidx/fragment/app/Fragment;->mRemoving:Z
|
|
|
|
if-eqz v1, :cond_d
|
|
|
|
.line 237
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->isInBackStack()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_c
|
|
|
|
.line 239
|
|
invoke-static {v0, v7}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_3
|
|
|
|
.line 242
|
|
:cond_c
|
|
invoke-static {v0, v2}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
.line 247
|
|
:cond_d
|
|
:goto_3
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v1, v1, Landroidx/fragment/app/Fragment;->mDeferStart:Z
|
|
|
|
if-eqz v1, :cond_e
|
|
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v1, v1, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
if-ge v1, v3, :cond_e
|
|
|
|
.line 248
|
|
invoke-static {v0, v5}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
.line 250
|
|
:cond_e
|
|
invoke-static {v6}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_f
|
|
|
|
.line 251
|
|
new-instance v1, Ljava/lang/StringBuilder;
|
|
|
|
const-string v2, "computeExpectedState() of "
|
|
|
|
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v1
|
|
|
|
const-string v2, " for "
|
|
|
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v1
|
|
|
|
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;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
const-string v2, "FragmentManager"
|
|
|
|
invoke-static {v2, v1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
:cond_f
|
|
return v0
|
|
.end method
|
|
|
|
.method 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;
|
|
|
|
const-string v1, "moveto CREATED: "
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "FragmentManager"
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 472
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v0, v0, Landroidx/fragment/app/Fragment;->mIsCreated:Z
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 473
|
|
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;
|
|
|
|
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;->dispatchOnFragmentPreCreated(Landroidx/fragment/app/Fragment;Landroid/os/Bundle;Z)V
|
|
|
|
.line 475
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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
|
|
|
|
.line 476
|
|
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;
|
|
|
|
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 v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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
|
|
|
|
.line 480
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
iput v1, v0, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method createView()V
|
|
.locals 7
|
|
|
|
.line 485
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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
|
|
|
|
const-string v1, "FragmentManager"
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 491
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v2, "moveto CREATE_VIEW: "
|
|
|
|
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 493
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v2, v0, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
invoke-virtual {v0, v2}, Landroidx/fragment/app/Fragment;->performGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;
|
|
|
|
move-result-object v0
|
|
|
|
.line 496
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v2, v2, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
if-eqz v2, :cond_2
|
|
|
|
.line 497
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v2, v2, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
goto/16 :goto_1
|
|
|
|
.line 498
|
|
:cond_2
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v2, v2, Landroidx/fragment/app/Fragment;->mContainerId:I
|
|
|
|
if-eqz v2, :cond_5
|
|
|
|
.line 499
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v2, v2, Landroidx/fragment/app/Fragment;->mContainerId:I
|
|
|
|
const/4 v3, -0x1
|
|
|
|
if-eq v2, v3, :cond_4
|
|
|
|
.line 503
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v2, v2, Landroidx/fragment/app/Fragment;->mFragmentManager:Landroidx/fragment/app/FragmentManager;
|
|
|
|
invoke-virtual {v2}, Landroidx/fragment/app/FragmentManager;->getContainer()Landroidx/fragment/app/FragmentContainer;
|
|
|
|
move-result-object v2
|
|
|
|
.line 504
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v3, v3, Landroidx/fragment/app/Fragment;->mContainerId:I
|
|
|
|
invoke-virtual {v2, v3}, Landroidx/fragment/app/FragmentContainer;->onFindViewById(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Landroid/view/ViewGroup;
|
|
|
|
if-nez v2, :cond_6
|
|
|
|
.line 505
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v3, v3, Landroidx/fragment/app/Fragment;->mRestored:Z
|
|
|
|
if-eqz v3, :cond_3
|
|
|
|
goto :goto_1
|
|
|
|
.line 508
|
|
:cond_3
|
|
:try_start_0
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, 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
|
|
|
|
.line 510
|
|
:catch_0
|
|
const-string v0, "unknown"
|
|
|
|
.line 512
|
|
:goto_0
|
|
new-instance v1, Ljava/lang/IllegalArgumentException;
|
|
|
|
new-instance v2, Ljava/lang/StringBuilder;
|
|
|
|
const-string v3, "No view found for id 0x"
|
|
|
|
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v3, v3, Landroidx/fragment/app/Fragment;->mContainerId:I
|
|
|
|
.line 513
|
|
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;
|
|
|
|
move-result-object v2
|
|
|
|
const-string v3, " ("
|
|
|
|
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v2, ") for fragment "
|
|
|
|
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v1
|
|
|
|
.line 500
|
|
:cond_4
|
|
new-instance v0, Ljava/lang/IllegalArgumentException;
|
|
|
|
new-instance v1, Ljava/lang/StringBuilder;
|
|
|
|
const-string v2, "Cannot create fragment "
|
|
|
|
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v1
|
|
|
|
const-string v2, " for a container view with no id"
|
|
|
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v0
|
|
|
|
:cond_5
|
|
const/4 v2, 0x0
|
|
|
|
.line 517
|
|
:cond_6
|
|
:goto_1
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v2, v3, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
.line 518
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v4, v3, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
invoke-virtual {v3, v0, v2, v4}, Landroidx/fragment/app/Fragment;->performCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)V
|
|
|
|
.line 519
|
|
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;
|
|
|
|
const/4 v3, 0x2
|
|
|
|
if-eqz v0, :cond_d
|
|
|
|
.line 520
|
|
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;
|
|
|
|
const/4 v4, 0x0
|
|
|
|
invoke-virtual {v0, v4}, Landroid/view/View;->setSaveFromParentEnabled(Z)V
|
|
|
|
.line 521
|
|
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;
|
|
|
|
sget v5, Landroidx/fragment/R$id;->fragment_container_view_tag:I
|
|
|
|
iget-object v6, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0, v5, v6}, Landroid/view/View;->setTag(ILjava/lang/Object;)V
|
|
|
|
if-eqz v2, :cond_7
|
|
|
|
.line 523
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->addViewToContainer()V
|
|
|
|
.line 525
|
|
:cond_7
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v0, v0, Landroidx/fragment/app/Fragment;->mHidden:Z
|
|
|
|
if-eqz v0, :cond_8
|
|
|
|
.line 526
|
|
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;
|
|
|
|
const/16 v2, 0x8
|
|
|
|
invoke-virtual {v0, v2}, Landroid/view/View;->setVisibility(I)V
|
|
|
|
.line 529
|
|
:cond_8
|
|
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;
|
|
|
|
invoke-static {v0}, Landroidx/core/view/ViewCompat;->isAttachedToWindow(Landroid/view/View;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
.line 530
|
|
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;
|
|
|
|
invoke-static {v0}, Landroidx/core/view/ViewCompat;->requestApplyInsets(Landroid/view/View;)V
|
|
|
|
goto :goto_2
|
|
|
|
.line 532
|
|
:cond_9
|
|
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 533
|
|
new-instance v2, Landroidx/fragment/app/FragmentStateManager$1;
|
|
|
|
invoke-direct {v2, p0, v0}, Landroidx/fragment/app/FragmentStateManager$1;-><init>(Landroidx/fragment/app/FragmentStateManager;Landroid/view/View;)V
|
|
|
|
invoke-virtual {v0, v2}, Landroid/view/View;->addOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V
|
|
|
|
.line 546
|
|
:goto_2
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performViewCreated()V
|
|
|
|
.line 547
|
|
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;
|
|
|
|
iget-object v5, v2, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View;
|
|
|
|
iget-object v6, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v6, v6, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
invoke-virtual {v0, v2, v5, v6, v4}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentViewCreated(Landroidx/fragment/app/Fragment;Landroid/view/View;Landroid/os/Bundle;Z)V
|
|
|
|
.line 549
|
|
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;
|
|
|
|
invoke-virtual {v0}, Landroid/view/View;->getVisibility()I
|
|
|
|
move-result v0
|
|
|
|
.line 550
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v2, v2, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View;
|
|
|
|
invoke-virtual {v2}, Landroid/view/View;->getAlpha()F
|
|
|
|
move-result v2
|
|
|
|
.line 551
|
|
sget-boolean v5, Landroidx/fragment/app/FragmentManager;->USE_STATE_MANAGER:Z
|
|
|
|
if-eqz v5, :cond_b
|
|
|
|
.line 552
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v4, v2}, Landroidx/fragment/app/Fragment;->setPostOnViewCreatedAlpha(F)V
|
|
|
|
.line 553
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v2, v2, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
if-eqz v2, :cond_d
|
|
|
|
if-nez v0, :cond_d
|
|
|
|
.line 555
|
|
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;
|
|
|
|
invoke-virtual {v0}, Landroid/view/View;->findFocus()Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_a
|
|
|
|
.line 557
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v2, v0}, Landroidx/fragment/app/Fragment;->setFocusedView(Landroid/view/View;)V
|
|
|
|
.line 558
|
|
invoke-static {v3}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_a
|
|
|
|
.line 559
|
|
new-instance v2, Ljava/lang/StringBuilder;
|
|
|
|
const-string v4, "requestFocus: Saved focused view "
|
|
|
|
invoke-direct {v2, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v2, " for Fragment "
|
|
|
|
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 564
|
|
:cond_a
|
|
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;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
invoke-virtual {v0, v1}, Landroid/view/View;->setAlpha(F)V
|
|
|
|
goto :goto_3
|
|
|
|
.line 569
|
|
:cond_b
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
if-nez v0, :cond_c
|
|
|
|
iget-object v0, v1, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
if-eqz v0, :cond_c
|
|
|
|
const/4 v4, 0x1
|
|
|
|
:cond_c
|
|
iput-boolean v4, v1, Landroidx/fragment/app/Fragment;->mIsNewlyAdded:Z
|
|
|
|
.line 573
|
|
:cond_d
|
|
:goto_3
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput v3, v0, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method destroy()V
|
|
.locals 5
|
|
|
|
const/4 v0, 0x3
|
|
|
|
.line 754
|
|
invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 755
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, "movefrom CREATED: "
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "FragmentManager"
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 757
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v0, v0, Landroidx/fragment/app/Fragment;->mRemoving:Z
|
|
|
|
const/4 v1, 0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->isInBackStack()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
move v0, v1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
move v0, v2
|
|
|
|
:goto_0
|
|
if-nez v0, :cond_4
|
|
|
|
.line 758
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
.line 759
|
|
invoke-virtual {v3}, Landroidx/fragment/app/FragmentStore;->getNonConfig()Landroidx/fragment/app/FragmentManagerViewModel;
|
|
|
|
move-result-object v3
|
|
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v3, v4}, Landroidx/fragment/app/FragmentManagerViewModel;->shouldDestroy(Landroidx/fragment/app/Fragment;)Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_2
|
|
|
|
goto :goto_1
|
|
|
|
.line 795
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v0, v0, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 796
|
|
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;
|
|
|
|
iget-object v1, v1, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/fragment/app/FragmentStore;->findActiveFragment(Ljava/lang/String;)Landroidx/fragment/app/Fragment;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 797
|
|
iget-boolean v1, v0, Landroidx/fragment/app/Fragment;->mRetainInstance:Z
|
|
|
|
if-eqz v1, :cond_3
|
|
|
|
.line 801
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v0, v1, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment;
|
|
|
|
.line 804
|
|
:cond_3
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput v2, v0, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
goto/16 :goto_4
|
|
|
|
.line 761
|
|
:cond_4
|
|
:goto_1
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v3, v3, Landroidx/fragment/app/Fragment;->mHost:Landroidx/fragment/app/FragmentHostCallback;
|
|
|
|
.line 763
|
|
instance-of v4, v3, Landroidx/lifecycle/ViewModelStoreOwner;
|
|
|
|
if-eqz v4, :cond_5
|
|
|
|
.line 764
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
invoke-virtual {v1}, Landroidx/fragment/app/FragmentStore;->getNonConfig()Landroidx/fragment/app/FragmentManagerViewModel;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1}, Landroidx/fragment/app/FragmentManagerViewModel;->isCleared()Z
|
|
|
|
move-result v1
|
|
|
|
goto :goto_2
|
|
|
|
.line 765
|
|
:cond_5
|
|
invoke-virtual {v3}, Landroidx/fragment/app/FragmentHostCallback;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v4
|
|
|
|
instance-of v4, v4, Landroid/app/Activity;
|
|
|
|
if-eqz v4, :cond_6
|
|
|
|
.line 766
|
|
invoke-virtual {v3}, Landroidx/fragment/app/FragmentHostCallback;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v3
|
|
|
|
check-cast v3, Landroid/app/Activity;
|
|
|
|
.line 767
|
|
invoke-virtual {v3}, Landroid/app/Activity;->isChangingConfigurations()Z
|
|
|
|
move-result v3
|
|
|
|
xor-int/2addr v1, v3
|
|
|
|
:cond_6
|
|
:goto_2
|
|
if-nez v0, :cond_7
|
|
|
|
if-eqz v1, :cond_8
|
|
|
|
.line 772
|
|
:cond_7
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/FragmentStore;->getNonConfig()Landroidx/fragment/app/FragmentManagerViewModel;
|
|
|
|
move-result-object v0
|
|
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/fragment/app/FragmentManagerViewModel;->clearNonConfigState(Landroidx/fragment/app/Fragment;)V
|
|
|
|
.line 774
|
|
:cond_8
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performDestroy()V
|
|
|
|
.line 775
|
|
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;
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentDestroyed(Landroidx/fragment/app/Fragment;Z)V
|
|
|
|
.line 779
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
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_9
|
|
:goto_3
|
|
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_a
|
|
|
|
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/fragment/app/FragmentStateManager;
|
|
|
|
if-eqz v1, :cond_9
|
|
|
|
.line 781
|
|
invoke-virtual {v1}, Landroidx/fragment/app/FragmentStateManager;->getFragment()Landroidx/fragment/app/Fragment;
|
|
|
|
move-result-object v1
|
|
|
|
.line 782
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v2, v2, Landroidx/fragment/app/Fragment;->mWho:Ljava/lang/String;
|
|
|
|
iget-object v3, v1, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_9
|
|
|
|
.line 783
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v2, v1, Landroidx/fragment/app/Fragment;->mTarget:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 v2, 0x0
|
|
|
|
.line 784
|
|
iput-object v2, v1, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
goto :goto_3
|
|
|
|
.line 788
|
|
:cond_a
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v0, v0, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
if-eqz v0, :cond_b
|
|
|
|
.line 791
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
iget-object v2, v0, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
invoke-virtual {v1, v2}, 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;
|
|
|
|
.line 793
|
|
:cond_b
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
invoke-virtual {v0, p0}, Landroidx/fragment/app/FragmentStore;->makeInactive(Landroidx/fragment/app/FragmentStateManager;)V
|
|
|
|
:goto_4
|
|
return-void
|
|
.end method
|
|
|
|
.method destroyFragmentView()V
|
|
.locals 3
|
|
|
|
const/4 v0, 0x3
|
|
|
|
.line 733
|
|
invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 734
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, "movefrom CREATE_VIEW: "
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "FragmentManager"
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 739
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v0, v0, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
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;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 740
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v0, v0, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
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}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V
|
|
|
|
.line 742
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performDestroyView()V
|
|
|
|
.line 743
|
|
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
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentViewDestroyed(Landroidx/fragment/app/Fragment;Z)V
|
|
|
|
.line 744
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
iput-object v1, v0, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
.line 745
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v1, v0, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View;
|
|
|
|
.line 748
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v1, v0, Landroidx/fragment/app/Fragment;->mViewLifecycleOwner:Landroidx/fragment/app/FragmentViewLifecycleOwner;
|
|
|
|
.line 749
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v0, v0, Landroidx/fragment/app/Fragment;->mViewLifecycleOwnerLiveData:Landroidx/lifecycle/MutableLiveData;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/lifecycle/MutableLiveData;->setValue(Ljava/lang/Object;)V
|
|
|
|
.line 750
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-boolean v2, v0, Landroidx/fragment/app/Fragment;->mInLayout:Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method detach()V
|
|
.locals 5
|
|
|
|
const/4 v0, 0x3
|
|
|
|
.line 809
|
|
invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v1
|
|
|
|
const-string v2, "FragmentManager"
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 810
|
|
new-instance v1, Ljava/lang/StringBuilder;
|
|
|
|
const-string v3, "movefrom ATTACHED: "
|
|
|
|
invoke-direct {v1, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-static {v2, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 812
|
|
:cond_0
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->performDetach()V
|
|
|
|
.line 813
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mDispatcher:Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;
|
|
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 v4, 0x0
|
|
|
|
invoke-virtual {v1, v3, v4}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentDetached(Landroidx/fragment/app/Fragment;Z)V
|
|
|
|
.line 815
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 v3, -0x1
|
|
|
|
iput v3, v1, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
.line 816
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 v3, 0x0
|
|
|
|
iput-object v3, v1, Landroidx/fragment/app/Fragment;->mHost:Landroidx/fragment/app/FragmentHostCallback;
|
|
|
|
.line 817
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v3, v1, Landroidx/fragment/app/Fragment;->mParentFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
.line 818
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v3, v1, Landroidx/fragment/app/Fragment;->mFragmentManager:Landroidx/fragment/app/FragmentManager;
|
|
|
|
.line 819
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v1, v1, Landroidx/fragment/app/Fragment;->mRemoving:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v1}, Landroidx/fragment/app/Fragment;->isInBackStack()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
goto :goto_0
|
|
|
|
.line 820
|
|
:cond_1
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentStore:Landroidx/fragment/app/FragmentStore;
|
|
|
|
invoke-virtual {v1}, Landroidx/fragment/app/FragmentStore;->getNonConfig()Landroidx/fragment/app/FragmentManagerViewModel;
|
|
|
|
move-result-object v1
|
|
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v1, v3}, Landroidx/fragment/app/FragmentManagerViewModel;->shouldDestroy(Landroidx/fragment/app/Fragment;)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_3
|
|
|
|
.line 821
|
|
:goto_0
|
|
invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 822
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, "initState called for fragment: "
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-static {v2, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 824
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->initState()V
|
|
|
|
:cond_3
|
|
return-void
|
|
.end method
|
|
|
|
.method ensureInflatedView()V
|
|
.locals 5
|
|
|
|
.line 382
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v0, v0, Landroidx/fragment/app/Fragment;->mFromLayout:Z
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v0, v0, Landroidx/fragment/app/Fragment;->mInLayout:Z
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v0, v0, Landroidx/fragment/app/Fragment;->mPerformedCreateView:Z
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
const/4 v0, 0x3
|
|
|
|
.line 383
|
|
invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 384
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, "moveto CREATE_VIEW: "
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "FragmentManager"
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 386
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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
|
|
|
|
.line 388
|
|
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;
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 389
|
|
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;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
invoke-virtual {v0, v1}, Landroid/view/View;->setSaveFromParentEnabled(Z)V
|
|
|
|
.line 390
|
|
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;
|
|
|
|
sget v2, Landroidx/fragment/R$id;->fragment_container_view_tag:I
|
|
|
|
iget-object v3, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0, v2, v3}, Landroid/view/View;->setTag(ILjava/lang/Object;)V
|
|
|
|
.line 391
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v0, v0, Landroidx/fragment/app/Fragment;->mHidden:Z
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
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;
|
|
|
|
const/16 v2, 0x8
|
|
|
|
invoke-virtual {v0, v2}, Landroid/view/View;->setVisibility(I)V
|
|
|
|
.line 392
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performViewCreated()V
|
|
|
|
.line 393
|
|
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;
|
|
|
|
iget-object v3, v2, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View;
|
|
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v4, v4, 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
|
|
|
|
.line 395
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 v1, 0x2
|
|
|
|
iput v1, v0, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method getFragment()Landroidx/fragment/app/Fragment;
|
|
.locals 1
|
|
|
|
.line 149
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method moveToExpectedState()V
|
|
.locals 7
|
|
|
|
.line 258
|
|
iget-boolean v0, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z
|
|
|
|
const-string v1, "FragmentManager"
|
|
|
|
const/4 v2, 0x2
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 259
|
|
invoke-static {v2}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 260
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v2, "Ignoring re-entrant call to moveToExpectedState() for "
|
|
|
|
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
.line 261
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->getFragment()Landroidx/fragment/app/Fragment;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
.line 260
|
|
invoke-static {v1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
:cond_0
|
|
return-void
|
|
|
|
:cond_1
|
|
const/4 v0, 0x0
|
|
|
|
const/4 v3, 0x1
|
|
|
|
.line 266
|
|
:try_start_0
|
|
iput-boolean v3, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z
|
|
|
|
.line 269
|
|
: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 v5, v5, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
if-eq v4, v5, :cond_7
|
|
|
|
.line 270
|
|
iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v5, v5, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
if-le v4, v5, :cond_3
|
|
|
|
.line 272
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v4, v4, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
add-int/2addr v4, v3
|
|
|
|
packed-switch v4, :pswitch_data_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 306
|
|
:pswitch_0
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->resume()V
|
|
|
|
goto :goto_0
|
|
|
|
.line 303
|
|
:pswitch_1
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 v5, 0x6
|
|
|
|
iput v5, v4, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
goto :goto_0
|
|
|
|
.line 300
|
|
:pswitch_2
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->start()V
|
|
|
|
goto :goto_0
|
|
|
|
.line 288
|
|
:pswitch_3
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v4, v4, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View;
|
|
|
|
if-eqz v4, :cond_2
|
|
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v4, v4, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
if-eqz v4, :cond_2
|
|
|
|
.line 289
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v4, v4, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
.line 291
|
|
invoke-virtual {v5}, Landroidx/fragment/app/Fragment;->getParentFragmentManager()Landroidx/fragment/app/FragmentManager;
|
|
|
|
move-result-object v5
|
|
|
|
.line 290
|
|
invoke-static {v4, v5}, Landroidx/fragment/app/SpecialEffectsController;->getOrCreateController(Landroid/view/ViewGroup;Landroidx/fragment/app/FragmentManager;)Landroidx/fragment/app/SpecialEffectsController;
|
|
|
|
move-result-object v4
|
|
|
|
.line 292
|
|
iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v5, v5, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View;
|
|
|
|
invoke-virtual {v5}, Landroid/view/View;->getVisibility()I
|
|
|
|
move-result v5
|
|
|
|
.line 294
|
|
invoke-static {v5}, Landroidx/fragment/app/SpecialEffectsController$Operation$State;->from(I)Landroidx/fragment/app/SpecialEffectsController$Operation$State;
|
|
|
|
move-result-object v5
|
|
|
|
.line 295
|
|
invoke-virtual {v4, v5, p0}, Landroidx/fragment/app/SpecialEffectsController;->enqueueAdd(Landroidx/fragment/app/SpecialEffectsController$Operation$State;Landroidx/fragment/app/FragmentStateManager;)V
|
|
|
|
.line 297
|
|
:cond_2
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 v5, 0x4
|
|
|
|
iput v5, v4, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
goto :goto_0
|
|
|
|
.line 285
|
|
:pswitch_4
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->activityCreated()V
|
|
|
|
goto :goto_0
|
|
|
|
.line 281
|
|
:pswitch_5
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->ensureInflatedView()V
|
|
|
|
.line 282
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->createView()V
|
|
|
|
goto :goto_0
|
|
|
|
.line 278
|
|
:pswitch_6
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->create()V
|
|
|
|
goto :goto_0
|
|
|
|
.line 275
|
|
:pswitch_7
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->attach()V
|
|
|
|
goto :goto_0
|
|
|
|
.line 311
|
|
:cond_3
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v4, v4, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
sub-int/2addr v4, v3
|
|
|
|
packed-switch v4, :pswitch_data_1
|
|
|
|
goto :goto_0
|
|
|
|
.line 314
|
|
:pswitch_8
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->pause()V
|
|
|
|
goto :goto_0
|
|
|
|
.line 317
|
|
:pswitch_9
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 v5, 0x5
|
|
|
|
iput v5, v4, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
goto :goto_0
|
|
|
|
.line 320
|
|
:pswitch_a
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->stop()V
|
|
|
|
goto :goto_0
|
|
|
|
:pswitch_b
|
|
const/4 v4, 0x3
|
|
|
|
.line 323
|
|
invoke-static {v4}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v5
|
|
|
|
if-eqz v5, :cond_4
|
|
|
|
.line 324
|
|
new-instance v5, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v6, "movefrom ACTIVITY_CREATED: "
|
|
|
|
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v5
|
|
|
|
iget-object v6, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v5
|
|
|
|
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v5
|
|
|
|
invoke-static {v1, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 326
|
|
:cond_4
|
|
iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v5, v5, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View;
|
|
|
|
if-eqz v5, :cond_5
|
|
|
|
.line 329
|
|
iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v5, v5, Landroidx/fragment/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
|
|
|
|
if-nez v5, :cond_5
|
|
|
|
.line 330
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->saveViewState()V
|
|
|
|
.line 333
|
|
:cond_5
|
|
iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v5, v5, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View;
|
|
|
|
if-eqz v5, :cond_6
|
|
|
|
iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v5, v5, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
if-eqz v5, :cond_6
|
|
|
|
.line 334
|
|
iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v5, v5, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
iget-object v6, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
.line 336
|
|
invoke-virtual {v6}, Landroidx/fragment/app/Fragment;->getParentFragmentManager()Landroidx/fragment/app/FragmentManager;
|
|
|
|
move-result-object v6
|
|
|
|
.line 335
|
|
invoke-static {v5, v6}, Landroidx/fragment/app/SpecialEffectsController;->getOrCreateController(Landroid/view/ViewGroup;Landroidx/fragment/app/FragmentManager;)Landroidx/fragment/app/SpecialEffectsController;
|
|
|
|
move-result-object v5
|
|
|
|
.line 337
|
|
invoke-virtual {v5, p0}, Landroidx/fragment/app/SpecialEffectsController;->enqueueRemove(Landroidx/fragment/app/FragmentStateManager;)V
|
|
|
|
.line 339
|
|
:cond_6
|
|
iget-object v5, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput v4, v5, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
goto/16 :goto_0
|
|
|
|
.line 342
|
|
:pswitch_c
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-boolean v0, v4, Landroidx/fragment/app/Fragment;->mInLayout:Z
|
|
|
|
.line 343
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput v2, v4, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
goto/16 :goto_0
|
|
|
|
.line 346
|
|
:pswitch_d
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->destroyFragmentView()V
|
|
|
|
.line 347
|
|
iget-object v4, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput v3, v4, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
goto/16 :goto_0
|
|
|
|
.line 350
|
|
:pswitch_e
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->destroy()V
|
|
|
|
goto/16 :goto_0
|
|
|
|
.line 353
|
|
:pswitch_f
|
|
invoke-virtual {p0}, Landroidx/fragment/app/FragmentStateManager;->detach()V
|
|
|
|
goto/16 :goto_0
|
|
|
|
.line 358
|
|
:cond_7
|
|
sget-boolean v1, Landroidx/fragment/app/FragmentManager;->USE_STATE_MANAGER:Z
|
|
|
|
if-eqz v1, :cond_b
|
|
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v1, v1, Landroidx/fragment/app/Fragment;->mHiddenChanged:Z
|
|
|
|
if-eqz v1, :cond_b
|
|
|
|
.line 359
|
|
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;
|
|
|
|
if-eqz v1, :cond_9
|
|
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, v1, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
if-eqz v1, :cond_9
|
|
|
|
.line 361
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, v1, Landroidx/fragment/app/Fragment;->mContainer:Landroid/view/ViewGroup;
|
|
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
.line 363
|
|
invoke-virtual {v2}, Landroidx/fragment/app/Fragment;->getParentFragmentManager()Landroidx/fragment/app/FragmentManager;
|
|
|
|
move-result-object v2
|
|
|
|
.line 362
|
|
invoke-static {v1, v2}, Landroidx/fragment/app/SpecialEffectsController;->getOrCreateController(Landroid/view/ViewGroup;Landroidx/fragment/app/FragmentManager;)Landroidx/fragment/app/SpecialEffectsController;
|
|
|
|
move-result-object v1
|
|
|
|
.line 364
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v2, v2, Landroidx/fragment/app/Fragment;->mHidden:Z
|
|
|
|
if-eqz v2, :cond_8
|
|
|
|
.line 365
|
|
invoke-virtual {v1, p0}, Landroidx/fragment/app/SpecialEffectsController;->enqueueHide(Landroidx/fragment/app/FragmentStateManager;)V
|
|
|
|
goto :goto_1
|
|
|
|
.line 367
|
|
:cond_8
|
|
invoke-virtual {v1, p0}, Landroidx/fragment/app/SpecialEffectsController;->enqueueShow(Landroidx/fragment/app/FragmentStateManager;)V
|
|
|
|
.line 370
|
|
:cond_9
|
|
:goto_1
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, v1, Landroidx/fragment/app/Fragment;->mFragmentManager:Landroidx/fragment/app/FragmentManager;
|
|
|
|
if-eqz v1, :cond_a
|
|
|
|
.line 371
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, v1, Landroidx/fragment/app/Fragment;->mFragmentManager:Landroidx/fragment/app/FragmentManager;
|
|
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v1, v2}, Landroidx/fragment/app/FragmentManager;->invalidateMenuForFragment(Landroidx/fragment/app/Fragment;)V
|
|
|
|
.line 373
|
|
:cond_a
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-boolean v0, v1, Landroidx/fragment/app/Fragment;->mHiddenChanged:Z
|
|
|
|
.line 374
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean v2, v1, Landroidx/fragment/app/Fragment;->mHidden:Z
|
|
|
|
invoke-virtual {v1, v2}, Landroidx/fragment/app/Fragment;->onHiddenChanged(Z)V
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
.line 377
|
|
:cond_b
|
|
iput-boolean v0, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z
|
|
|
|
return-void
|
|
|
|
:catchall_0
|
|
move-exception v1
|
|
|
|
iput-boolean v0, p0, Landroidx/fragment/app/FragmentStateManager;->mMovingToState:Z
|
|
|
|
.line 378
|
|
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 pause()V
|
|
.locals 3
|
|
|
|
const/4 v0, 0x3
|
|
|
|
.line 629
|
|
invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 630
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, "movefrom RESUMED: "
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "FragmentManager"
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 632
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performPause()V
|
|
|
|
.line 633
|
|
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
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentPaused(Landroidx/fragment/app/Fragment;Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method restoreState(Ljava/lang/ClassLoader;)V
|
|
.locals 3
|
|
|
|
.line 401
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v0, v0, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 404
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v0, v0, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
invoke-virtual {v0, p1}, Landroid/os/Bundle;->setClassLoader(Ljava/lang/ClassLoader;)V
|
|
|
|
.line 405
|
|
iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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;
|
|
|
|
.line 407
|
|
iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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;
|
|
|
|
.line 409
|
|
iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v0, p1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
const-string v1, "android:target_state"
|
|
|
|
invoke-virtual {v0, v1}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p1, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
.line 411
|
|
iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object p1, p1, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 412
|
|
iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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/Bundle;->getInt(Ljava/lang/String;I)I
|
|
|
|
move-result v0
|
|
|
|
iput v0, p1, Landroidx/fragment/app/Fragment;->mTargetRequestCode:I
|
|
|
|
.line 415
|
|
:cond_1
|
|
iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object p1, p1, Landroidx/fragment/app/Fragment;->mSavedUserVisibleHint:Ljava/lang/Boolean;
|
|
|
|
const/4 v0, 0x1
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
.line 416
|
|
iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, p1, Landroidx/fragment/app/Fragment;->mSavedUserVisibleHint:Ljava/lang/Boolean;
|
|
|
|
invoke-virtual {v1}, Ljava/lang/Boolean;->booleanValue()Z
|
|
|
|
move-result v1
|
|
|
|
iput-boolean v1, p1, Landroidx/fragment/app/Fragment;->mUserVisibleHint:Z
|
|
|
|
.line 417
|
|
iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
iput-object v1, p1, Landroidx/fragment/app/Fragment;->mSavedUserVisibleHint:Ljava/lang/Boolean;
|
|
|
|
goto :goto_0
|
|
|
|
.line 419
|
|
:cond_2
|
|
iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, p1, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
const-string v2, "android:user_visible_hint"
|
|
|
|
invoke-virtual {v1, v2, v0}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;Z)Z
|
|
|
|
move-result v1
|
|
|
|
iput-boolean v1, p1, Landroidx/fragment/app/Fragment;->mUserVisibleHint:Z
|
|
|
|
.line 422
|
|
:goto_0
|
|
iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-boolean p1, p1, Landroidx/fragment/app/Fragment;->mUserVisibleHint:Z
|
|
|
|
if-nez p1, :cond_3
|
|
|
|
.line 423
|
|
iget-object p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-boolean v0, p1, Landroidx/fragment/app/Fragment;->mDeferStart:Z
|
|
|
|
:cond_3
|
|
return-void
|
|
.end method
|
|
|
|
.method resume()V
|
|
.locals 5
|
|
|
|
const/4 v0, 0x3
|
|
|
|
.line 594
|
|
invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v0
|
|
|
|
const-string v1, "FragmentManager"
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 595
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v2, "moveto RESUMED: "
|
|
|
|
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 597
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getFocusedView()Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 598
|
|
invoke-direct {p0, v0}, Landroidx/fragment/app/FragmentStateManager;->isFragmentViewChild(Landroid/view/View;)Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_2
|
|
|
|
.line 599
|
|
invoke-virtual {v0}, Landroid/view/View;->requestFocus()Z
|
|
|
|
move-result v2
|
|
|
|
const/4 v3, 0x2
|
|
|
|
.line 600
|
|
invoke-static {v3}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_2
|
|
|
|
.line 601
|
|
new-instance v3, Ljava/lang/StringBuilder;
|
|
|
|
const-string v4, "requestFocus: Restoring focused view "
|
|
|
|
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v3, " "
|
|
|
|
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v2, :cond_1
|
|
|
|
.line 602
|
|
const-string v2, "succeeded"
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const-string v2, "failed"
|
|
|
|
:goto_0
|
|
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v2, " on Fragment "
|
|
|
|
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v2, " resulting in focused view "
|
|
|
|
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
iget-object v2, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v2, v2, Landroidx/fragment/app/Fragment;->mView:Landroid/view/View;
|
|
|
|
.line 603
|
|
invoke-virtual {v2}, Landroid/view/View;->findFocus()Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
.line 601
|
|
invoke-static {v1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 606
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/fragment/app/Fragment;->setFocusedView(Landroid/view/View;)V
|
|
|
|
.line 607
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performResume()V
|
|
|
|
.line 608
|
|
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
|
|
|
|
invoke-virtual {v0, v2, v3}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentResumed(Landroidx/fragment/app/Fragment;Z)V
|
|
|
|
.line 609
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v1, v0, Landroidx/fragment/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
.line 610
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v1, v0, Landroidx/fragment/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
|
|
|
|
.line 611
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v1, v0, Landroidx/fragment/app/Fragment;->mSavedViewRegistryState:Landroid/os/Bundle;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method saveInstanceState()Landroidx/fragment/app/Fragment$SavedState;
|
|
.locals 3
|
|
|
|
.line 673
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v0, v0, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
const/4 v1, -0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-le v0, v1, :cond_0
|
|
|
|
.line 674
|
|
invoke-direct {p0}, Landroidx/fragment/app/FragmentStateManager;->saveBasicState()Landroid/os/Bundle;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 675
|
|
new-instance v2, Landroidx/fragment/app/Fragment$SavedState;
|
|
|
|
invoke-direct {v2, v0}, Landroidx/fragment/app/Fragment$SavedState;-><init>(Landroid/os/Bundle;)V
|
|
|
|
:cond_0
|
|
return-object v2
|
|
.end method
|
|
|
|
.method saveState()Landroidx/fragment/app/FragmentState;
|
|
.locals 4
|
|
|
|
.line 646
|
|
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;-><init>(Landroidx/fragment/app/Fragment;)V
|
|
|
|
.line 648
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v1, v1, Landroidx/fragment/app/Fragment;->mState:I
|
|
|
|
const/4 v2, -0x1
|
|
|
|
if-le v1, v2, :cond_1
|
|
|
|
iget-object v1, v0, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
.line 649
|
|
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;
|
|
|
|
.line 651
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget-object v1, v1, Landroidx/fragment/app/Fragment;->mTargetWho:Ljava/lang/String;
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 652
|
|
iget-object v1, v0, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
if-nez v1, :cond_0
|
|
|
|
.line 653
|
|
new-instance v1, Landroid/os/Bundle;
|
|
|
|
invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
|
|
|
|
iput-object v1, v0, Landroidx/fragment/app/FragmentState;->mSavedFragmentState:Landroid/os/Bundle;
|
|
|
|
.line 655
|
|
: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;
|
|
|
|
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/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
|
|
|
|
.line 658
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iget v1, v1, Landroidx/fragment/app/Fragment;->mTargetRequestCode:I
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 659
|
|
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;
|
|
|
|
iget v2, v2, Landroidx/fragment/app/Fragment;->mTargetRequestCode:I
|
|
|
|
const-string v3, "android:target_req_state"
|
|
|
|
invoke-virtual {v1, v3, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
|
|
|
|
goto :goto_0
|
|
|
|
.line 666
|
|
:cond_1
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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
|
|
return-object v0
|
|
.end method
|
|
|
|
.method saveViewState()V
|
|
.locals 2
|
|
|
|
.line 717
|
|
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;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 720
|
|
:cond_0
|
|
new-instance v0, Landroid/util/SparseArray;
|
|
|
|
invoke-direct {v0}, Landroid/util/SparseArray;-><init>()V
|
|
|
|
.line 721
|
|
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 {v1, v0}, Landroid/view/View;->saveHierarchyState(Landroid/util/SparseArray;)V
|
|
|
|
.line 722
|
|
invoke-virtual {v0}, Landroid/util/SparseArray;->size()I
|
|
|
|
move-result v1
|
|
|
|
if-lez v1, :cond_1
|
|
|
|
.line 723
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v0, v1, Landroidx/fragment/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
|
|
|
|
.line 725
|
|
:cond_1
|
|
new-instance v0, Landroid/os/Bundle;
|
|
|
|
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
|
|
|
|
.line 726
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
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 727
|
|
invoke-virtual {v0}, Landroid/os/Bundle;->isEmpty()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_2
|
|
|
|
.line 728
|
|
iget-object v1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
iput-object v0, v1, Landroidx/fragment/app/Fragment;->mSavedViewRegistryState:Landroid/os/Bundle;
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method setFragmentManagerState(I)V
|
|
.locals 0
|
|
|
|
.line 159
|
|
iput p1, p0, Landroidx/fragment/app/FragmentStateManager;->mFragmentManagerState:I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method start()V
|
|
.locals 3
|
|
|
|
const/4 v0, 0x3
|
|
|
|
.line 586
|
|
invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 587
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, "moveto STARTED: "
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "FragmentManager"
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 589
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performStart()V
|
|
|
|
.line 590
|
|
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
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentStarted(Landroidx/fragment/app/Fragment;Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method stop()V
|
|
.locals 3
|
|
|
|
const/4 v0, 0x3
|
|
|
|
.line 637
|
|
invoke-static {v0}, Landroidx/fragment/app/FragmentManager;->isLoggingEnabled(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 638
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, "movefrom STARTED: "
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
|
|
|
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;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "FragmentManager"
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
.line 640
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/fragment/app/FragmentStateManager;->mFragment:Landroidx/fragment/app/Fragment;
|
|
|
|
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->performStop()V
|
|
|
|
.line 641
|
|
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
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroidx/fragment/app/FragmentLifecycleCallbacksDispatcher;->dispatchOnFragmentStopped(Landroidx/fragment/app/Fragment;Z)V
|
|
|
|
return-void
|
|
.end method
|