@Nullable @Override public FragmentManager getFragmentManager(Fragment fragment) { return fragment.getFragmentManager(); }
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) public static Observable<ActivityResult> startActivityForResult( @NonNull Fragment fragment, @NonNull Intent intent, int requestCode, @NonNull Bundle options) { return startActivityForResult(fragment.getFragmentManager(), intent, requestCode, options); }
@RequiresApi(api = Build.VERSION_CODES.HONEYCOMB) public static Observable<ActivityResult> startActivityForResult( @NonNull Fragment fragment, @NonNull Intent intent, int requestCode) { return startActivityForResult(fragment.getFragmentManager(), intent, requestCode, null); }
/** * start picker from fragment */ public Observable<List<ImageItem>> start(Fragment fragment) { return start(fragment.getFragmentManager()); }
@Provides @PerFragment @DefaultFragmentManager static FragmentManager provideDefaultFragmentManager(android.app.Fragment f) { return f.getFragmentManager(); }
private static android.app.FragmentManager getFragmentManager(Object object) { if (object instanceof Activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { return ((Activity) object).getFragmentManager(); } } else if (object instanceof android.app.Fragment) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { return ((android.app.Fragment) object).getChildFragmentManager(); } else { return ((android.app.Fragment) object).getFragmentManager(); } } return null; }
/** * Creates a new instance of DialogController within the given <var>parentFragment</var>'s context. * <p> * Passed fragment will be used to obtain an instance of {@link android.app.FragmentManager} * by {@link android.app.Fragment#getFragmentManager()} that will be used to mange * dialog fragments by this controller. * <p> * If the given <var>parentFragment</var> implements {@link com.albedinsky.android.dialog.manage.DialogController.OnRestoreListener} * it will be automatically set as such a callback to this controller. * * @param parentFragment A fragment in which will be this controller used. * @see #DialogController(android.app.Activity) */ public DialogController(@NonNull Fragment parentFragment) { this(parentFragment.getFragmentManager()); if (parentFragment instanceof OnRestoreListener) { this.mRestoreListener = (OnRestoreListener) parentFragment; } this.mParentFragmentTag = parentFragment.getTag(); this.mParentFragmentId = parentFragment.getId(); }
/** * Creates a new instance of DialogController within the given <var>parentFragment</var>'s context. * <p> * Passed fragment will be used to obtain an instance of {@link android.app.FragmentManager} * by {@link android.app.Fragment#getFragmentManager()} that will be used to mange * dialog fragments by this controller. * <p> * If the given <var>parentFragment</var> implements {@link com.albedinsky.android.dialog.manage.DialogController.OnRestoreListener} * it will be automatically set as such a callback to this controller. * * @param parentFragment A fragment in which will be this controller used. * @see #DialogController(android.app.Activity) */ public DialogController(@NonNull Fragment parentFragment) { this(parentFragment.getFragmentManager()); if (parentFragment instanceof OnRestoreListener) { this.mRestoreListener = (OnRestoreListener) parentFragment; } this.mParentFragmentTag = parentFragment.getTag(); this.mParentFragmentId = parentFragment.getId(); }
/** * Creates a new instance of FragmentController within the given <var>parentFragment</var>'s context. * <p> * Passed fragment will be used to obtain an instance of {@link android.app.FragmentManager} * via {@link android.app.Fragment#getFragmentManager()} that will be used to mange * fragments by this controller. * <p> * If the given <var>parentFragment</var> implements {@link FragmentController.OnBackStackChangeListener} * or {@link com.albedinsky.android.fragment.manage.FragmentController.OnChangeListener} * it will be automatically attached to the new controller as such listener. * * @param parentFragment The fragment in which will be this controller used. * @see #FragmentController(android.app.Activity) */ public FragmentController(@NonNull Fragment parentFragment) { this(parentFragment.getFragmentManager()); if (parentFragment instanceof OnBackStackChangeListener) { addOnBackStackChangeListener((OnBackStackChangeListener) parentFragment); } if (parentFragment instanceof OnChangeListener) { setOnChangeListener((OnChangeListener) parentFragment); } }
/***************************************************** * * Called when the image source is picked to select * images. * *****************************************************/ public void onPick( Fragment fragment, int addedAssetCount, boolean supportsMultiplePacks, int packSize, int startingIndex ) { // Start the photo from phone fragment mPhotoFromPhotaFragment = new PhotoFromPhoneFragment(); mPhotoFromPhotaFragment.setTargetFragment( fragment, 0 ); mPhotoFromPhotaFragment.show( fragment.getFragmentManager(), PhotoFromPhoneFragment.TAG ); }
public static ColorPickerDialog show(final Fragment parent, final int titleResId, final int initialColor) { final ColorPickerDialog dialog = newInstance(titleResId, initialColor); dialog.setTargetFragment(parent, 0); dialog.show(parent.getFragmentManager(), TAG); return dialog; }
public static MessageDialogFragment showDialog(final Fragment parent, final int requestCode, final int id_title, final int id_message, final String[] permissions) { final MessageDialogFragment dialog = newInstance(requestCode, id_title, id_message, permissions); dialog.setTargetFragment(parent, parent.getId()); dialog.show(parent.getFragmentManager(), TAG); return dialog; }
private FragmentManager getLastFragmentManagerWithBack(FragmentManager fm) { FragmentManager fmLast = fm; List<Fragment> fragments = fm.getFragments(); for (Fragment f : fragments) { if ((f.getChildFragmentManager() != null) && (f.getChildFragmentManager().getBackStackEntryCount() > 0)) { fmLast = f.getFragmentManager(); FragmentManager fmChild = getLastFragmentManagerWithBack(f.getChildFragmentManager()); if (fmChild != fmLast) fmLast = fmChild; } } return fmLast; }
@Override public void onBackPressed() { FragmentManager fm = getSupportFragmentManager(); for (Fragment frag : fm.getFragments()) { if (frag.isVisible()) { FragmentManager childFm = frag.getChildFragmentManager(); if (childFm.getBackStackEntryCount() > 0) { for (Fragment childfragnested: childFm.getFragments()) { FragmentManager childFmNestManager = childfragnested.getFragmentManager(); if(childfragnested.isVisible()) { childFmNestManager.popBackStack(); return; } } } } } super.onBackPressed(); }