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

104 lines
3.5 KiB
Java

package androidx.fragment.app;
import android.os.Parcelable;
import android.view.View;
import android.view.ViewGroup;
import androidx.viewpager.widget.PagerAdapter;
/* loaded from: classes.dex */
public abstract class FragmentPagerAdapter extends PagerAdapter {
private static final boolean DEBUG = false;
private static final String TAG = "FragmentPagerAdapter";
private FragmentTransaction mCurTransaction = null;
private Fragment mCurrentPrimaryItem = null;
private final FragmentManager mFragmentManager;
public FragmentPagerAdapter(FragmentManager fragmentManager) {
this.mFragmentManager = fragmentManager;
}
private static String makeFragmentName(int i, long j) {
return "android:switcher:" + i + ":" + j;
}
@Override // androidx.viewpager.widget.PagerAdapter
public void destroyItem(ViewGroup viewGroup, int i, Object obj) {
if (this.mCurTransaction == null) {
this.mCurTransaction = this.mFragmentManager.a();
}
this.mCurTransaction.b((Fragment) obj);
}
@Override // androidx.viewpager.widget.PagerAdapter
public void finishUpdate(ViewGroup viewGroup) {
FragmentTransaction fragmentTransaction = this.mCurTransaction;
if (fragmentTransaction != null) {
fragmentTransaction.c();
this.mCurTransaction = null;
}
}
public abstract Fragment getItem(int i);
public long getItemId(int i) {
return i;
}
@Override // androidx.viewpager.widget.PagerAdapter
public Object instantiateItem(ViewGroup viewGroup, int i) {
if (this.mCurTransaction == null) {
this.mCurTransaction = this.mFragmentManager.a();
}
long itemId = getItemId(i);
Fragment a = this.mFragmentManager.a(makeFragmentName(viewGroup.getId(), itemId));
if (a != null) {
this.mCurTransaction.a(a);
} else {
a = getItem(i);
this.mCurTransaction.a(viewGroup.getId(), a, makeFragmentName(viewGroup.getId(), itemId));
}
if (a != this.mCurrentPrimaryItem) {
a.setMenuVisibility(false);
a.setUserVisibleHint(false);
}
return a;
}
@Override // androidx.viewpager.widget.PagerAdapter
public boolean isViewFromObject(View view, Object obj) {
return ((Fragment) obj).getView() == view;
}
@Override // androidx.viewpager.widget.PagerAdapter
public void restoreState(Parcelable parcelable, ClassLoader classLoader) {
}
@Override // androidx.viewpager.widget.PagerAdapter
public Parcelable saveState() {
return null;
}
@Override // androidx.viewpager.widget.PagerAdapter
public void setPrimaryItem(ViewGroup viewGroup, int i, Object obj) {
Fragment fragment = (Fragment) obj;
Fragment fragment2 = this.mCurrentPrimaryItem;
if (fragment != fragment2) {
if (fragment2 != null) {
fragment2.setMenuVisibility(false);
this.mCurrentPrimaryItem.setUserVisibleHint(false);
}
fragment.setMenuVisibility(true);
fragment.setUserVisibleHint(true);
this.mCurrentPrimaryItem = fragment;
}
}
@Override // androidx.viewpager.widget.PagerAdapter
public void startUpdate(ViewGroup viewGroup) {
if (viewGroup.getId() != -1) {
return;
}
throw new IllegalStateException("ViewPager with adapter " + this + " requires a view id");
}
}