163 lines
6.3 KiB
Java
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;
|
|
}
|
|
}
|