package android.support.v4.app;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Parcelable.Creator;
import android.text.TextUtils;
import android.util.Log;
import java.util.ArrayList;
final class BackStackState
implements Parcelable
{
public static final Parcelable.Creator<BackStackState> CREATOR = new Parcelable.Creator()
{
public BackStackState createFromParcel(Parcel paramAnonymousParcel)
{
return new BackStackState(paramAnonymousParcel);
}
public BackStackState[] newArray(int paramAnonymousInt)
{
return new BackStackState[paramAnonymousInt];
}
};
final int mBreadCrumbShortTitleRes;
final CharSequence mBreadCrumbShortTitleText;
final int mBreadCrumbTitleRes;
final CharSequence mBreadCrumbTitleText;
final int mIndex;
final String mName;
final int[] mOps;
final int mTransition;
final int mTransitionStyle;
public BackStackState(Parcel paramParcel)
{
this.mOps = paramParcel.createIntArray();
this.mTransition = paramParcel.readInt();
this.mTransitionStyle = paramParcel.readInt();
this.mName = paramParcel.readString();
this.mIndex = paramParcel.readInt();
this.mBreadCrumbTitleRes = paramParcel.readInt();
this.mBreadCrumbTitleText = ((CharSequence)TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(paramParcel));
this.mBreadCrumbShortTitleRes = paramParcel.readInt();
this.mBreadCrumbShortTitleText = ((CharSequence)TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(paramParcel));
}
public BackStackState(FragmentManagerImpl paramFragmentManagerImpl, BackStackRecord paramBackStackRecord)
{
int i = 0;
for (BackStackRecord.Op localOp1 = paramBackStackRecord.mHead; localOp1 != null; localOp1 = localOp1.next) {
if (localOp1.removed != null) {
i += localOp1.removed.size();
}
}
this.mOps = new int[i + 7 * paramBackStackRecord.mNumOp];
if (!paramBackStackRecord.mAddToBackStack) {
throw new IllegalStateException("Not on back stack");
}
BackStackRecord.Op localOp2 = paramBackStackRecord.mHead;
int j = 0;
if (localOp2 != null)
{
int[] arrayOfInt1 = this.mOps;
int k = j + 1;
arrayOfInt1[j] = localOp2.cmd;
int[] arrayOfInt2 = this.mOps;
int m = k + 1;
if (localOp2.fragment != null) {}
int i4;
int i9;
for (int n = localOp2.fragment.mIndex;; n = -1)
{
arrayOfInt2[k] = n;
int[] arrayOfInt3 = this.mOps;
int i1 = m + 1;
arrayOfInt3[m] = localOp2.enterAnim;
int[] arrayOfInt4 = this.mOps;
int i2 = i1 + 1;
arrayOfInt4[i1] = localOp2.exitAnim;
int[] arrayOfInt5 = this.mOps;
int i3 = i2 + 1;
arrayOfInt5[i2] = localOp2.popEnterAnim;
int[] arrayOfInt6 = this.mOps;
i4 = i3 + 1;
arrayOfInt6[i3] = localOp2.popExitAnim;
if (localOp2.removed == null) {
break label358;
}
int i6 = localOp2.removed.size();
int[] arrayOfInt8 = this.mOps;
int i7 = i4 + 1;
arrayOfInt8[i4] = i6;
int i8 = 0;
int i10;
for (i9 = i7; i8 < i6; i9 = i10)
{
int[] arrayOfInt9 = this.mOps;
i10 = i9 + 1;
arrayOfInt9[i9] = ((Fragment)localOp2.removed.get(i8)).mIndex;
i8++;
}
}
int i5 = i9;
for (;;)
{
localOp2 = localOp2.next;
j = i5;
break;
label358:
int[] arrayOfInt7 = this.mOps;
i5 = i4 + 1;
arrayOfInt7[i4] = 0;
}
}
this.mTransition = paramBackStackRecord.mTransition;
this.mTransitionStyle = paramBackStackRecord.mTransitionStyle;
this.mName = paramBackStackRecord.mName;
this.mIndex = paramBackStackRecord.mIndex;
this.mBreadCrumbTitleRes = paramBackStackRecord.mBreadCrumbTitleRes;
this.mBreadCrumbTitleText = paramBackStackRecord.mBreadCrumbTitleText;
this.mBreadCrumbShortTitleRes = paramBackStackRecord.mBreadCrumbShortTitleRes;
this.mBreadCrumbShortTitleText = paramBackStackRecord.mBreadCrumbShortTitleText;
}
public int describeContents()
{
return 0;
}
public BackStackRecord instantiate(FragmentManagerImpl paramFragmentManagerImpl)
{
BackStackRecord localBackStackRecord = new BackStackRecord(paramFragmentManagerImpl);
int i = 0;
for (int j = 0; i < this.mOps.length; j++)
{
BackStackRecord.Op localOp = new BackStackRecord.Op();
int[] arrayOfInt1 = this.mOps;
int k = i + 1;
localOp.cmd = arrayOfInt1[i];
if (FragmentManagerImpl.DEBUG) {
Log.v("FragmentManager", "Instantiate " + localBackStackRecord + " op #" + j + " base fragment #" + this.mOps[k]);
}
int[] arrayOfInt2 = this.mOps;
int m = k + 1;
int n = arrayOfInt2[k];
if (n >= 0) {}
int i5;
for (localOp.fragment = ((Fragment)paramFragmentManagerImpl.mActive.get(n));; localOp.fragment = null)
{
int[] arrayOfInt3 = this.mOps;
int i1 = m + 1;
localOp.enterAnim = arrayOfInt3[m];
int[] arrayOfInt4 = this.mOps;
int i2 = i1 + 1;
localOp.exitAnim = arrayOfInt4[i1];
int[] arrayOfInt5 = this.mOps;
int i3 = i2 + 1;
localOp.popEnterAnim = arrayOfInt5[i2];
int[] arrayOfInt6 = this.mOps;
int i4 = i3 + 1;
localOp.popExitAnim = arrayOfInt6[i3];
int[] arrayOfInt7 = this.mOps;
i5 = i4 + 1;
int i6 = arrayOfInt7[i4];
if (i6 <= 0) {
break;
}
localOp.removed = new ArrayList(i6);
int i7 = 0;
while (i7 < i6)
{
if (FragmentManagerImpl.DEBUG) {
Log.v("FragmentManager", "Instantiate " + localBackStackRecord + " set remove fragment #" + this.mOps[i5]);
}
ArrayList localArrayList = paramFragmentManagerImpl.mActive;
int[] arrayOfInt8 = this.mOps;
int i8 = i5 + 1;
Fragment localFragment = (Fragment)localArrayList.get(arrayOfInt8[i5]);
localOp.removed.add(localFragment);
i7++;
i5 = i8;
}
}
i = i5;
localBackStackRecord.addOp(localOp);
}
localBackStackRecord.mTransition = this.mTransition;
localBackStackRecord.mTransitionStyle = this.mTransitionStyle;
localBackStackRecord.mName = this.mName;
localBackStackRecord.mIndex = this.mIndex;
localBackStackRecord.mAddToBackStack = true;
localBackStackRecord.mBreadCrumbTitleRes = this.mBreadCrumbTitleRes;
localBackStackRecord.mBreadCrumbTitleText = this.mBreadCrumbTitleText;
localBackStackRecord.mBreadCrumbShortTitleRes = this.mBreadCrumbShortTitleRes;
localBackStackRecord.mBreadCrumbShortTitleText = this.mBreadCrumbShortTitleText;
localBackStackRecord.bumpBackStackNesting(1);
return localBackStackRecord;
}
public void writeToParcel(Parcel paramParcel, int paramInt)
{
paramParcel.writeIntArray(this.mOps);
paramParcel.writeInt(this.mTransition);
paramParcel.writeInt(this.mTransitionStyle);
paramParcel.writeString(this.mName);
paramParcel.writeInt(this.mIndex);
paramParcel.writeInt(this.mBreadCrumbTitleRes);
TextUtils.writeToParcel(this.mBreadCrumbTitleText, paramParcel, 0);
paramParcel.writeInt(this.mBreadCrumbShortTitleRes);
TextUtils.writeToParcel(this.mBreadCrumbShortTitleText, paramParcel, 0);
}
}
/* Location: F:\neembuu\Research\android_apps\output_jar.jar
* Qualified Name: android.support.v4.app.BackStackState
* JD-Core Version: 0.7.0.1
*/