package android.support.v4.app; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.util.Log; import android.view.View; import android.view.ViewGroup; import java.util.ArrayList; import java.util.Iterator; public abstract class FragmentStatePagerAdapter extends PagerAdapter { private static final boolean DEBUG = false; private static final String TAG = "FragmentStatePagerAdapter"; private FragmentTransaction mCurTransaction = null; private Fragment mCurrentPrimaryItem = null; private final FragmentManager mFragmentManager; private ArrayList<Fragment> mFragments = new ArrayList(); private ArrayList<Fragment.SavedState> mSavedState = new ArrayList(); public FragmentStatePagerAdapter(FragmentManager paramFragmentManager) { this.mFragmentManager = paramFragmentManager; } public void destroyItem(ViewGroup paramViewGroup, int paramInt, Object paramObject) { Fragment localFragment = (Fragment)paramObject; if (this.mCurTransaction == null) { this.mCurTransaction = this.mFragmentManager.beginTransaction(); } while (this.mSavedState.size() <= paramInt) { this.mSavedState.add(null); } this.mSavedState.set(paramInt, this.mFragmentManager.saveFragmentInstanceState(localFragment)); this.mFragments.set(paramInt, null); this.mCurTransaction.remove(localFragment); } public void finishUpdate(ViewGroup paramViewGroup) { if (this.mCurTransaction != null) { this.mCurTransaction.commitAllowingStateLoss(); this.mCurTransaction = null; this.mFragmentManager.executePendingTransactions(); } } public abstract Fragment getItem(int paramInt); public Object instantiateItem(ViewGroup paramViewGroup, int paramInt) { Object localObject; if (this.mFragments.size() > paramInt) { localObject = (Fragment)this.mFragments.get(paramInt); if (localObject == null) {} } for (;;) { return localObject; if (this.mCurTransaction == null) { this.mCurTransaction = this.mFragmentManager.beginTransaction(); } Fragment localFragment = getItem(paramInt); if (this.mSavedState.size() > paramInt) { Fragment.SavedState localSavedState = (Fragment.SavedState)this.mSavedState.get(paramInt); if (localSavedState != null) { localFragment.setInitialSavedState(localSavedState); } } while (this.mFragments.size() <= paramInt) { this.mFragments.add(null); } localFragment.setMenuVisibility(false); localFragment.setUserVisibleHint(false); this.mFragments.set(paramInt, localFragment); this.mCurTransaction.add(paramViewGroup.getId(), localFragment); localObject = localFragment; } } public boolean isViewFromObject(View paramView, Object paramObject) { if (((Fragment)paramObject).getView() == paramView) {} for (boolean bool = true;; bool = false) { return bool; } } public void restoreState(Parcelable paramParcelable, ClassLoader paramClassLoader) { if (paramParcelable != null) { Bundle localBundle = (Bundle)paramParcelable; localBundle.setClassLoader(paramClassLoader); Parcelable[] arrayOfParcelable = localBundle.getParcelableArray("states"); this.mSavedState.clear(); this.mFragments.clear(); if (arrayOfParcelable != null) { for (int j = 0; j < arrayOfParcelable.length; j++) { this.mSavedState.add((Fragment.SavedState)arrayOfParcelable[j]); } } Iterator localIterator = localBundle.keySet().iterator(); while (localIterator.hasNext()) { String str = (String)localIterator.next(); if (str.startsWith("f")) { int i = Integer.parseInt(str.substring(1)); Fragment localFragment = this.mFragmentManager.getFragment(localBundle, str); if (localFragment != null) { while (this.mFragments.size() <= i) { this.mFragments.add(null); } localFragment.setMenuVisibility(false); this.mFragments.set(i, localFragment); } else { Log.w("FragmentStatePagerAdapter", "Bad fragment at key " + str); } } } } } public Parcelable saveState() { Bundle localBundle = null; if (this.mSavedState.size() > 0) { localBundle = new Bundle(); Fragment.SavedState[] arrayOfSavedState = new Fragment.SavedState[this.mSavedState.size()]; this.mSavedState.toArray(arrayOfSavedState); localBundle.putParcelableArray("states", arrayOfSavedState); } for (int i = 0; i < this.mFragments.size(); i++) { Fragment localFragment = (Fragment)this.mFragments.get(i); if (localFragment != null) { if (localBundle == null) { localBundle = new Bundle(); } String str = "f" + i; this.mFragmentManager.putFragment(localBundle, str, localFragment); } } return localBundle; } public void setPrimaryItem(ViewGroup paramViewGroup, int paramInt, Object paramObject) { Fragment localFragment = (Fragment)paramObject; if (localFragment != this.mCurrentPrimaryItem) { if (this.mCurrentPrimaryItem != null) { this.mCurrentPrimaryItem.setMenuVisibility(false); this.mCurrentPrimaryItem.setUserVisibleHint(false); } if (localFragment != null) { localFragment.setMenuVisibility(true); localFragment.setUserVisibleHint(true); } this.mCurrentPrimaryItem = localFragment; } } public void startUpdate(ViewGroup paramViewGroup) {} } /* Location: F:\neembuu\Research\android_apps\output_jar.jar * Qualified Name: android.support.v4.app.FragmentStatePagerAdapter * JD-Core Version: 0.7.0.1 */