Java Code Examples for androidx.fragment.app.Fragment#isRemoving()
The following examples show how to use
androidx.fragment.app.Fragment#isRemoving() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: FragmentStack.java From Alligator with MIT License | 6 votes |
@NonNull public List<Fragment> getFragments() { List<Fragment> result = new ArrayList<>(); int index = 0; while (true) { String tag = getFragmentTag(index); Fragment fragment = mFragmentManager.findFragmentByTag(tag); if (fragment == null) { break; } if (!fragment.isRemoving()) { result.add(fragment); } index++; } return result; }
Example 2
Source File: FragmentSwitcher.java From Alligator with MIT License | 6 votes |
@NonNull public List<Fragment> getFragments() { List<Fragment> result = new ArrayList<>(); int index = 0; while (true) { String tag = getFragmentTag(index); Fragment fragment = mFragmentManager.findFragmentByTag(tag); if (fragment == null) { break; } if (!fragment.isRemoving()) { result.add(fragment); } index++; } return result; }
Example 3
Source File: ViewModelHelper.java From AndroidViewModel with Apache License 2.0 | 6 votes |
/** * Use in case this model is associated with an {@link androidx.core.app.Fragment} * Call from {@link androidx.core.app.Fragment#onDestroy()} * * @param fragment fragment */ public void onDestroy(@NonNull final Fragment fragment) { if (mViewModel == null) { //no viewmodel for this fragment return; } if (fragment.requireActivity().isFinishing()) { removeViewModel(fragment.requireActivity()); } else if (fragment.isRemoving() && !mOnSaveInstanceCalled) { // The fragment can be still in backstack even if isRemoving() is true. // We check mOnSaveInstanceCalled - if this was not called then the fragment is totally removed. if (BuildConfig.DEBUG) { Log.d("mode", "Removing viewmodel - fragment replaced"); //NON-NLS } removeViewModel(fragment.requireActivity()); } mBinding = null; }
Example 4
Source File: TaskHelper.java From firebase-android-sdk with Apache License 2.0 | 5 votes |
static boolean isFragmentDestroyed(Fragment fragment) { return fragment.isRemoving() || fragment.getActivity() == null || fragment.isDetached() || !fragment.isAdded() || fragment.getView() == null; }
Example 5
Source File: BaseBottomFragment.java From adamant-android with GNU General Public License v3.0 | 5 votes |
@Override public void onDestroy() { super.onDestroy(); //We leave the screen and respectively all fragments will be destroyed if (getActivity().isFinishing()) { getMvpDelegate().onDestroy(); return; } // When we rotate device isRemoving() return true for fragment placed in backstack // http://stackoverflow.com/questions/34649126/fragment-back-stack-and-isremoving if (mIsStateSaved) { mIsStateSaved = false; return; } // See https://github.com/Arello-Mobile/Moxy/issues/24 boolean anyParentIsRemoving = false; Fragment parent = getParentFragment(); while (!anyParentIsRemoving && parent != null) { anyParentIsRemoving = parent.isRemoving(); parent = parent.getParentFragment(); } if (isRemoving() || anyParentIsRemoving) { getMvpDelegate().onDestroy(); } }
Example 6
Source File: BaseDialogFragment.java From adamant-android with GNU General Public License v3.0 | 5 votes |
@Override public void onDestroy() { super.onDestroy(); //We leave the screen and respectively all fragments will be destroyed if (getActivity().isFinishing()) { getMvpDelegate().onDestroy(); return; } // When we rotate device isRemoving() return true for fragment placed in backstack // http://stackoverflow.com/questions/34649126/fragment-back-stack-and-isremoving if (mIsStateSaved) { mIsStateSaved = false; return; } // See https://github.com/Arello-Mobile/Moxy/issues/24 boolean anyParentIsRemoving = false; Fragment parent = getParentFragment(); while (!anyParentIsRemoving && parent != null) { anyParentIsRemoving = parent.isRemoving(); parent = parent.getParentFragment(); } if (isRemoving() || anyParentIsRemoving) { getMvpDelegate().onDestroy(); } }
Example 7
Source File: BaseFragment.java From adamant-android with GNU General Public License v3.0 | 5 votes |
@Override public void onDestroy() { super.onDestroy(); //We leave the screen and respectively all fragments will be destroyed if (getActivity().isFinishing()) { getMvpDelegate().onDestroy(); return; } // When we rotate device isRemoving() return true for fragment placed in backstack // http://stackoverflow.com/questions/34649126/fragment-back-stack-and-isremoving if (mIsStateSaved) { mIsStateSaved = false; return; } // See https://github.com/Arello-Mobile/Moxy/issues/24 boolean anyParentIsRemoving = false; Fragment parent = getParentFragment(); while (!anyParentIsRemoving && parent != null) { anyParentIsRemoving = parent.isRemoving(); parent = parent.getParentFragment(); } if (isRemoving() || anyParentIsRemoving) { getMvpDelegate().onDestroy(); } }
Example 8
Source File: BaseFragment.java From aptoide-client-v8 with GNU General Public License v3.0 | 5 votes |
private Fragment getRemovingParent(Fragment fragment) { if (fragment == null) return null; Fragment parent = fragment.getParentFragment(); if (parent != null && parent.isRemoving()) return getRemovingParent(parent); if (fragment.isRemoving()) return fragment; return null; }