jimu-decompiled/sources/androidx/fragment/app/BackStackState.java
2025-05-13 19:24:51 +02:00

163 lines
6.3 KiB
Java

package androidx.fragment.app;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
import android.util.Log;
import androidx.fragment.app.BackStackRecord;
import java.util.ArrayList;
/* compiled from: BackStackRecord.java */
/* loaded from: classes.dex */
final class BackStackState implements Parcelable {
public static final Parcelable.Creator<BackStackState> CREATOR = new Parcelable.Creator<BackStackState>() { // from class: androidx.fragment.app.BackStackState.1
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public BackStackState createFromParcel(Parcel parcel) {
return new BackStackState(parcel);
}
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public BackStackState[] newArray(int i) {
return new BackStackState[i];
}
};
final int mBreadCrumbShortTitleRes;
final CharSequence mBreadCrumbShortTitleText;
final int mBreadCrumbTitleRes;
final CharSequence mBreadCrumbTitleText;
final int mIndex;
final String mName;
final int[] mOps;
final boolean mReorderingAllowed;
final ArrayList<String> mSharedElementSourceNames;
final ArrayList<String> mSharedElementTargetNames;
final int mTransition;
final int mTransitionStyle;
public BackStackState(BackStackRecord backStackRecord) {
int size = backStackRecord.b.size();
this.mOps = new int[size * 6];
if (!backStackRecord.i) {
throw new IllegalStateException("Not on back stack");
}
int i = 0;
for (int i2 = 0; i2 < size; i2++) {
BackStackRecord.Op op = backStackRecord.b.get(i2);
int[] iArr = this.mOps;
int i3 = i + 1;
iArr[i] = op.a;
int i4 = i3 + 1;
Fragment fragment = op.b;
iArr[i3] = fragment != null ? fragment.mIndex : -1;
int[] iArr2 = this.mOps;
int i5 = i4 + 1;
iArr2[i4] = op.c;
int i6 = i5 + 1;
iArr2[i5] = op.d;
int i7 = i6 + 1;
iArr2[i6] = op.e;
i = i7 + 1;
iArr2[i7] = op.f;
}
this.mTransition = backStackRecord.g;
this.mTransitionStyle = backStackRecord.h;
this.mName = backStackRecord.k;
this.mIndex = backStackRecord.m;
this.mBreadCrumbTitleRes = backStackRecord.n;
this.mBreadCrumbTitleText = backStackRecord.o;
this.mBreadCrumbShortTitleRes = backStackRecord.p;
this.mBreadCrumbShortTitleText = backStackRecord.q;
this.mSharedElementSourceNames = backStackRecord.r;
this.mSharedElementTargetNames = backStackRecord.s;
this.mReorderingAllowed = backStackRecord.t;
}
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
public BackStackRecord instantiate(FragmentManagerImpl fragmentManagerImpl) {
BackStackRecord backStackRecord = new BackStackRecord(fragmentManagerImpl);
int i = 0;
int i2 = 0;
while (i < this.mOps.length) {
BackStackRecord.Op op = new BackStackRecord.Op();
int i3 = i + 1;
op.a = this.mOps[i];
if (FragmentManagerImpl.F) {
Log.v("FragmentManager", "Instantiate " + backStackRecord + " op #" + i2 + " base fragment #" + this.mOps[i3]);
}
int i4 = i3 + 1;
int i5 = this.mOps[i3];
if (i5 >= 0) {
op.b = fragmentManagerImpl.e.get(i5);
} else {
op.b = null;
}
int[] iArr = this.mOps;
int i6 = i4 + 1;
op.c = iArr[i4];
int i7 = i6 + 1;
op.d = iArr[i6];
int i8 = i7 + 1;
op.e = iArr[i7];
op.f = iArr[i8];
backStackRecord.c = op.c;
backStackRecord.d = op.d;
backStackRecord.e = op.e;
backStackRecord.f = op.f;
backStackRecord.a(op);
i2++;
i = i8 + 1;
}
backStackRecord.g = this.mTransition;
backStackRecord.h = this.mTransitionStyle;
backStackRecord.k = this.mName;
backStackRecord.m = this.mIndex;
backStackRecord.i = true;
backStackRecord.n = this.mBreadCrumbTitleRes;
backStackRecord.o = this.mBreadCrumbTitleText;
backStackRecord.p = this.mBreadCrumbShortTitleRes;
backStackRecord.q = this.mBreadCrumbShortTitleText;
backStackRecord.r = this.mSharedElementSourceNames;
backStackRecord.s = this.mSharedElementTargetNames;
backStackRecord.t = this.mReorderingAllowed;
backStackRecord.a(1);
return backStackRecord;
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeIntArray(this.mOps);
parcel.writeInt(this.mTransition);
parcel.writeInt(this.mTransitionStyle);
parcel.writeString(this.mName);
parcel.writeInt(this.mIndex);
parcel.writeInt(this.mBreadCrumbTitleRes);
TextUtils.writeToParcel(this.mBreadCrumbTitleText, parcel, 0);
parcel.writeInt(this.mBreadCrumbShortTitleRes);
TextUtils.writeToParcel(this.mBreadCrumbShortTitleText, parcel, 0);
parcel.writeStringList(this.mSharedElementSourceNames);
parcel.writeStringList(this.mSharedElementTargetNames);
parcel.writeInt(this.mReorderingAllowed ? 1 : 0);
}
public BackStackState(Parcel parcel) {
this.mOps = parcel.createIntArray();
this.mTransition = parcel.readInt();
this.mTransitionStyle = parcel.readInt();
this.mName = parcel.readString();
this.mIndex = parcel.readInt();
this.mBreadCrumbTitleRes = parcel.readInt();
this.mBreadCrumbTitleText = (CharSequence) TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(parcel);
this.mBreadCrumbShortTitleRes = parcel.readInt();
this.mBreadCrumbShortTitleText = (CharSequence) TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(parcel);
this.mSharedElementSourceNames = parcel.createStringArrayList();
this.mSharedElementTargetNames = parcel.createStringArrayList();
this.mReorderingAllowed = parcel.readInt() != 0;
}
}