package androidx.fragment.app; import android.annotation.SuppressLint; import android.content.Context; import android.content.res.Configuration; import android.os.Parcelable; import android.util.AttributeSet; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.collection.SimpleArrayMap; import androidx.core.util.Preconditions; import androidx.lifecycle.ViewModelStoreOwner; import androidx.loader.app.LoaderManager; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; public class FragmentController { private final FragmentHostCallback mHost; private FragmentController(FragmentHostCallback fragmentHostCallback) { this.mHost = fragmentHostCallback; } @NonNull public static FragmentController createController(@NonNull FragmentHostCallback fragmentHostCallback) { return new FragmentController((FragmentHostCallback) Preconditions.checkNotNull(fragmentHostCallback, "callbacks == null")); } public void attachHost(@Nullable Fragment fragment) { FragmentHostCallback fragmentHostCallback = this.mHost; fragmentHostCallback.mFragmentManager.attachController(fragmentHostCallback, fragmentHostCallback, fragment); } public void dispatchActivityCreated() { this.mHost.mFragmentManager.dispatchActivityCreated(); } public void dispatchConfigurationChanged(@NonNull Configuration configuration) { this.mHost.mFragmentManager.dispatchConfigurationChanged(configuration); } public boolean dispatchContextItemSelected(@NonNull MenuItem menuItem) { return this.mHost.mFragmentManager.dispatchContextItemSelected(menuItem); } public void dispatchCreate() { this.mHost.mFragmentManager.dispatchCreate(); } public boolean dispatchCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater) { return this.mHost.mFragmentManager.dispatchCreateOptionsMenu(menu, menuInflater); } public void dispatchDestroy() { this.mHost.mFragmentManager.dispatchDestroy(); } public void dispatchDestroyView() { this.mHost.mFragmentManager.dispatchDestroyView(); } public void dispatchLowMemory() { this.mHost.mFragmentManager.dispatchLowMemory(); } public void dispatchMultiWindowModeChanged(boolean z2) { this.mHost.mFragmentManager.dispatchMultiWindowModeChanged(z2); } public boolean dispatchOptionsItemSelected(@NonNull MenuItem menuItem) { return this.mHost.mFragmentManager.dispatchOptionsItemSelected(menuItem); } public void dispatchOptionsMenuClosed(@NonNull Menu menu) { this.mHost.mFragmentManager.dispatchOptionsMenuClosed(menu); } public void dispatchPause() { this.mHost.mFragmentManager.dispatchPause(); } public void dispatchPictureInPictureModeChanged(boolean z2) { this.mHost.mFragmentManager.dispatchPictureInPictureModeChanged(z2); } public boolean dispatchPrepareOptionsMenu(@NonNull Menu menu) { return this.mHost.mFragmentManager.dispatchPrepareOptionsMenu(menu); } @Deprecated public void dispatchReallyStop() { } public void dispatchResume() { this.mHost.mFragmentManager.dispatchResume(); } public void dispatchStart() { this.mHost.mFragmentManager.dispatchStart(); } public void dispatchStop() { this.mHost.mFragmentManager.dispatchStop(); } @Deprecated public void doLoaderDestroy() { } @Deprecated public void doLoaderRetain() { } @Deprecated public void doLoaderStart() { } @Deprecated public void doLoaderStop(boolean z2) { } @Deprecated public void dumpLoaders(@NonNull String str, @Nullable FileDescriptor fileDescriptor, @NonNull PrintWriter printWriter, @Nullable String[] strArr) { } public boolean execPendingActions() { return this.mHost.mFragmentManager.execPendingActions(true); } @Nullable public Fragment findFragmentByWho(@NonNull String str) { return this.mHost.mFragmentManager.findFragmentByWho(str); } @NonNull public List getActiveFragments(@SuppressLint({"UnknownNullness"}) List list) { return this.mHost.mFragmentManager.getActiveFragments(); } public int getActiveFragmentsCount() { return this.mHost.mFragmentManager.getActiveFragmentCount(); } @NonNull public FragmentManager getSupportFragmentManager() { return this.mHost.mFragmentManager; } @SuppressLint({"UnknownNullness"}) @Deprecated public LoaderManager getSupportLoaderManager() { throw new UnsupportedOperationException("Loaders are managed separately from FragmentController, use LoaderManager.getInstance() to obtain a LoaderManager."); } public void noteStateNotSaved() { this.mHost.mFragmentManager.noteStateNotSaved(); } @Nullable public View onCreateView(@Nullable View view, @NonNull String str, @NonNull Context context, @NonNull AttributeSet attributeSet) { return this.mHost.mFragmentManager.getLayoutInflaterFactory().onCreateView(view, str, context, attributeSet); } @Deprecated public void reportLoaderStart() { } @Deprecated public void restoreAllState(@Nullable Parcelable parcelable, @Nullable FragmentManagerNonConfig fragmentManagerNonConfig) { this.mHost.mFragmentManager.restoreAllState(parcelable, fragmentManagerNonConfig); } @Deprecated public void restoreAllState(@Nullable Parcelable parcelable, @Nullable List list) { this.mHost.mFragmentManager.restoreAllState(parcelable, new FragmentManagerNonConfig(list, null, null)); } @Deprecated public void restoreLoaderNonConfig(@SuppressLint({"UnknownNullness"}) SimpleArrayMap simpleArrayMap) { } public void restoreSaveState(@Nullable Parcelable parcelable) { FragmentHostCallback fragmentHostCallback = this.mHost; if (fragmentHostCallback instanceof ViewModelStoreOwner) { fragmentHostCallback.mFragmentManager.restoreSaveState(parcelable); return; } throw new IllegalStateException("Your FragmentHostCallback must implement ViewModelStoreOwner to call restoreSaveState(). Call restoreAllState() if you're still using retainNestedNonConfig()."); } @Nullable @Deprecated public SimpleArrayMap retainLoaderNonConfig() { return null; } @Nullable @Deprecated public FragmentManagerNonConfig retainNestedNonConfig() { return this.mHost.mFragmentManager.retainNonConfig(); } @Nullable @Deprecated public List retainNonConfig() { FragmentManagerNonConfig retainNonConfig = this.mHost.mFragmentManager.retainNonConfig(); if (retainNonConfig == null || retainNonConfig.getFragments() == null) { return null; } return new ArrayList(retainNonConfig.getFragments()); } @Nullable public Parcelable saveAllState() { return this.mHost.mFragmentManager.saveAllState(); } }