content: package androidx.fragment.app;
  
  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.collection.SimpleArrayMap;
  import androidx.core.util.Preconditions;
  import androidx.lifecycle.ViewModelStore;
  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;
  import java.util.Map;
  
  public class FragmentController {
      private final FragmentHostCallback<?> mHost;
  
      private FragmentController(FragmentHostCallback<?> fragmentHostCallback) {
          this.mHost = fragmentHostCallback;
      }
  
      public static FragmentController createController(FragmentHostCallback<?> fragmentHostCallback) {
          return new FragmentController((FragmentHostCallback) Preconditions.checkNotNull(fragmentHostCallback, "callbacks == null"));
      }
  
      public void attachHost(Fragment parent) {
          FragmentManager fragmentManager = this.mHost.mFragmentManager;
          FragmentHostCallback<?> fragmentHostCallback = this.mHost;
          fragmentManager.attachController(fragmentHostCallback, fragmentHostCallback, parent);
      }
  
      public void dispatchActivityCreated() {
          this.mHost.mFragmentManager.dispatchActivityCreated();
      }
  
      public void dispatchConfigurationChanged(Configuration newConfig) {
          this.mHost.mFragmentManager.dispatchConfigurationChanged(newConfig);
      }
  
      public boolean dispatchContextItemSelected(MenuItem item) {
          return this.mHost.mFragmentManager.dispatchContextItemSelected(item);
      }
  
      public void dispatchCreate() {
          this.mHost.mFragmentManager.dispatchCreate();
      }
  
      public boolean dispatchCreateOptionsMenu(Menu menu, MenuInflater inflater) {
          return this.mHost.mFragmentManager.dispatchCreateOptionsMenu(menu, inflater);
      }
  
      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 isInMultiWindowMode) {
          this.mHost.mFragmentManager.dispatchMultiWindowModeChanged(isInMultiWindowMode);
      }
  
      public boolean dispatchOptionsItemSelected(MenuItem item) {
          return this.mHost.mFragmentManager.dispatchOptionsItemSelected(item);
      }
  
      public void dispatchOptionsMenuClosed(Menu menu) {
          this.mHost.mFragmentManager.dispatchOptionsMenuClosed(menu);
      }
  
      public void dispatchPause() {
          this.mHost.mFragmentManager.dispatchPause();
      }
  
      public void dispatchPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
          this.mHost.mFragmentManager.dispatchPictureInPictureModeChanged(isInPictureInPictureMode);
      }
  
      public boolean dispatchPrepareOptionsMenu(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 retain) {
      }
  
      @Deprecated
      public void dumpLoaders(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) {
      }
  
      public boolean execPendingActions() {
          return this.mHost.mFragmentManager.execPendingActions(true);
      }
  
      public Fragment findFragmentByWho(String who) {
          return this.mHost.mFragmentManager.findFragmentByWho(who);
      }
  
      public List<Fragment> getActiveFragments(List<Fragment> list) {
          return this.mHost.mFragmentManager.getActiveFragments();
      }
  
      public int getActiveFragmentsCount() {
          return this.mHost.mFragmentManager.getActiveFragmentCount();
      }
  
      public FragmentManager getSupportFragmentManager() {
          return this.mHost.mFragmentManager;
      }
  
      @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();
      }
  
      public View onCreateView(View parent, String name, Context context, AttributeSet attrs) {
          return this.mHost.mFragmentManager.getLayoutInflaterFactory().onCreateView(parent, name, context, attrs);
      }
  
      @Deprecated
      public void reportLoaderStart() {
      }
  
      @Deprecated
      public void restoreAllState(Parcelable state, FragmentManagerNonConfig nonConfig) {
          this.mHost.mFragmentManager.restoreAllState(state, nonConfig);
      }
  
      @Deprecated
      public void restoreAllState(Parcelable state, List<Fragment> list) {
          this.mHost.mFragmentManager.restoreAllState(state, new FragmentManagerNonConfig(list, (Map<String, FragmentManagerNonConfig>) null, (Map<String, ViewModelStore>) null));
      }
  
      @Deprecated
      public void restoreLoaderNonConfig(SimpleArrayMap<String, LoaderManager> simpleArrayMap) {
      }
  
      public void restoreSaveState(Parcelable state) {
          FragmentHostCallback<?> fragmentHostCallback = this.mHost;
          if (fragmentHostCallback instanceof ViewModelStoreOwner) {
              fragmentHostCallback.mFragmentManager.restoreSaveState(state);
              return;
          }
          throw new IllegalStateException("Your FragmentHostCallback must implement ViewModelStoreOwner to call restoreSaveState(). Call restoreAllState()  if you're still using retainNestedNonConfig().");
      }
  
      @Deprecated
      public SimpleArrayMap<String, LoaderManager> retainLoaderNonConfig() {
          return null;
      }
  
      @Deprecated
      public FragmentManagerNonConfig retainNestedNonConfig() {
          return this.mHost.mFragmentManager.retainNonConfig();
      }
  
      @Deprecated
      public List<Fragment> retainNonConfig() {
          FragmentManagerNonConfig retainNonConfig = this.mHost.mFragmentManager.retainNonConfig();
          if (retainNonConfig == null || retainNonConfig.getFragments() == null) {
              return null;
          }
          return new ArrayList(retainNonConfig.getFragments());
      }
  
      public Parcelable saveAllState() {
          return this.mHost.mFragmentManager.saveAllState();
      }
  }
  