public S isDetached() { isNotNull(); assertThat(actual.isDetached()) // .overridingErrorMessage("Expected detached but was not detached") // .isTrue(); return myself; }
public S isNotDetached() { isNotNull(); assertThat(actual.isDetached()) // .overridingErrorMessage("Expected not detached but was detached") // .isFalse(); return myself; }
(launchMode == SceneFragment.LAUNCH_MODE_SINGLE_TASK || !fragment.isDetached())) { scene = (SceneFragment) fragment; findScene = true; createNewScene = false; findSceneTag = tag; if (fragment.isDetached()) { transaction.attach(fragment);
private void helpTestSupportCanGetRequestManagerFromDetachedFragment() { FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).create().start().resume().get(); Fragment fragment = new Fragment(); activity.getSupportFragmentManager().beginTransaction().add(fragment, PARENT_TAG) .detach(fragment).commit(); activity.getSupportFragmentManager().executePendingTransactions(); assertTrue(fragment.isDetached()); retriever.get(fragment); }
if (fragment.isDetached()) { transaction.attach(fragment);
/** * @return * @see android.support.v4.app.Fragment#isDetached() */ public final boolean isDetached() { return mFragment.isDetached(); }
@Override public boolean isVisible(Fragment fragment) { return !fragment.isDetached(); } }
final FragmentManager fm = mHostingActivity.getSupportFragmentManager(); fm.addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() { @Override public void onBackStackChanged() { if (fm.getBackStackEntryCount() == 0) { Fragment fragmentB = fm.findFragmentByTag("FragmentB"); Fragment fragmentC = fm.findFragmentByTag("FragmentC"); if (fragmentB != null) { //Hmm force detach here rather than when we pop via the up affordance if (!fragmentB.isDetached()) fm.beginTransaction().detach(fragmentB).commit(); } if (fragmentC != null) { if (!fragmentC.isDetached()) fm.beginTransaction().detach(fragmentC).commit(); } //Listened for any changes after re-entering the FragmentA so we can remove the listener fm.removeOnBackStackChangedListener(this); } } });
public void activate(FragmentTransaction ft, Fragment f, String tag, int resId) { boolean changed = resId != f.getId(); if (changed && (f.isAdded() || f.isDetached())) { ft.remove(f); ft.add(resId, f, tag); return; } // Currently in a detached mode if (f.isDetached()) { ft.attach(f); return; } // Not in fragment manager add if (!f.isAdded() && ! f.isDetached()) { ft.add(resId, f, tag); return; } }
@Override public void handleMessage(Message msg) { T ref = reference.get(); if (ref != null) { // Do not call if is a detached fragment if (ref instanceof Fragment) { Fragment f = (Fragment) ref; if (f.isRemoving() || f.isDetached() || f.getActivity() == null) return; } weakHandleMessage(ref, msg); } }
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // notifying nested fragments (support library bug fix) final FragmentManager childFragmentManager = getChildFragmentManager(); if (childFragmentManager != null) { final List < Fragment > nestedFragments = childFragmentManager.getFragments(); if (nestedFragments == null || nestedFragments.size() == 0) return; for (Fragment childFragment: nestedFragments) { if (childFragment != null && !childFragment.isDetached() && !childFragment.isRemoving()) { childFragment.onActivityResult(requestCode, resultCode, data); } } } }
@Override public void handleMessage(Message msg) { T ref = reference.get(); if (ref != null) { // Do not call if is a detached fragment if (ref instanceof Fragment) { Fragment f = (Fragment) ref; if (f.isRemoving() || f.isDetached() || f.getActivity() == null) return; } weakHandleMessage(ref, msg); } }
public void addTab(final TabHost.TabSpec tabSpec, final Class<?> clss, final Bundle args) { tabSpec.setContent(new DummyTabFactory(mActivity)); final String tag = tabSpec.getTag(); final TabInfo info = new TabInfo(tag, clss, args); // Check to see if we already have a fragment for this tab, probably // from a previously saved state. If so, deactivate it, because our // initial state is that a tab isn't shown. info.fragment = mActivity.getSupportFragmentManager().findFragmentByTag(tag); if (info.fragment != null && !info.fragment.isDetached()) { final FragmentTransaction ft = mActivity.getSupportFragmentManager().beginTransaction(); ft.detach(info.fragment); ft.commit(); } mTabs.put(tag, info); mTabHost.addTab(tabSpec); }
@Override public Animation onCreateAnimation(int transit, boolean enter, int nextAnim) { if (getParentFragment() != null && getParentFragment().isDetached()) { return AnimationUtils.loadAnimation(getContext(), R.anim.stay); } return super.onCreateAnimation(transit, enter, nextAnim); } }
public void addTab(TabSpec tabSpec, Class<?> clss, Bundle args) { tabSpec.setContent(new DummyTabFactory(mContext)); String tag = tabSpec.getTag(); TabInfo info = new TabInfo(tag, clss, args); if (mAttached) { // If we are already attached to the window, then check to make // sure this tab's fragment is inactive if it exists. This shouldn't // normally happen. info.fragment = mFragmentManager.findFragmentByTag(tag); if (info.fragment != null && !info.fragment.isDetached()) { FragmentTransaction ft = mFragmentManager.beginTransaction(); // ft.detach(info.fragment); ft.hide(info.fragment); ft.commit(); } } mTabs.add(info); addTab(tabSpec); }
public void addTab(TabSpec tabSpec, Class<?> clss, Bundle args) { tabSpec.setContent(new DummyTabFactory(mContext)); String tag = tabSpec.getTag(); TabInfo info = new TabInfo(tag, clss, args); if (mAttached) { // If we are already attached to the window, then check to make // sure this tab's fragment is inactive if it exists. This shouldn't // normally happen. info.fragment = mFragmentManager.findFragmentByTag(tag); if (info.fragment != null && !info.fragment.isDetached()) { FragmentTransaction ft = mFragmentManager.beginTransaction(); // ft.detach(info.fragment); ft.hide(info.fragment); ft.commit(); } } mTabs.add(info); addTab(tabSpec); }
public void addTab(TabHost.TabSpec tabSpec, Class<?> clss, Bundle args) { tabSpec.setContent(new DummyTabFactory(mContext)); String tag = tabSpec.getTag(); TabInfo info = new TabInfo(tag, clss, args); if (mAttached) { // If we are already attached to the window, then check to make // sure this tab's fragment is inactive if it exists. This shouldn't // normally happen. info.fragment = mFragmentManager.findFragmentByTag(tag); if (info.fragment != null && !info.fragment.isDetached()) { FragmentTransaction ft = mFragmentManager.beginTransaction(); ft.detach(info.fragment); ft.commit(); } } mTabs.add(info); addTab(tabSpec); }
public void addTab(TabSpec tabSpec, Class<?> clss, Bundle args) { tabSpec.setContent(new DummyTabFactory(mContext)); String tag = tabSpec.getTag(); TabInfo info = new TabInfo(tag, clss, args); if (mAttached) { // If we are already attached to the window, then check to make // sure this tab's fragment is inactive if it exists. This shouldn't // normally happen. info.fragment = mFragmentManager.findFragmentByTag(tag); if (info.fragment != null && !info.fragment.isDetached()) { FragmentTransaction ft = mFragmentManager.beginTransaction(); // ft.detach(info.fragment); ft.hide(info.fragment); ft.commit(); } } mTabs.add(info); addTab(tabSpec); }
@Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { if (position == fragmentPosition.ordinal()) { Fragment fragment = getSupportFragmentManager().getFragments().get(fragmentPosition.ordinal()); if (fragment != null && fragment instanceof BaseListFragment && !fragment.isDetached()) { BaseListFragment baseListFragment = (BaseListFragment) fragment; final BaseListFragmentContract.Presenter presenter = baseListFragment.getPresenter(); if (presenter != null) { presenter.setSelection(orderBy, order); } } viewPager.setOnPageChangeListener(null); } }
public static boolean isSafeFragment( Fragment frag ) { return !(frag.isRemoving() || frag.getActivity() == null || frag.isDetached() || !frag.isAdded() || frag.getView() == null ); }