223 lines
7.2 KiB
Java
223 lines
7.2 KiB
Java
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<Fragment> getActiveFragments(@SuppressLint({"UnknownNullness"}) List<Fragment> 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<Fragment> list) {
|
|
this.mHost.mFragmentManager.restoreAllState(parcelable, new FragmentManagerNonConfig(list, null, null));
|
|
}
|
|
|
|
@Deprecated
|
|
public void restoreLoaderNonConfig(@SuppressLint({"UnknownNullness"}) SimpleArrayMap<String, LoaderManager> 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<String, LoaderManager> retainLoaderNonConfig() {
|
|
return null;
|
|
}
|
|
|
|
@Nullable
|
|
@Deprecated
|
|
public FragmentManagerNonConfig retainNestedNonConfig() {
|
|
return this.mHost.mFragmentManager.retainNonConfig();
|
|
}
|
|
|
|
@Nullable
|
|
@Deprecated
|
|
public List<Fragment> 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();
|
|
}
|
|
}
|