Example usage for android.support.v4.app FragmentManager POP_BACK_STACK_INCLUSIVE

List of usage examples for android.support.v4.app FragmentManager POP_BACK_STACK_INCLUSIVE

Introduction

In this page you can find the example usage for android.support.v4.app FragmentManager POP_BACK_STACK_INCLUSIVE.

Prototype

int POP_BACK_STACK_INCLUSIVE

To view the source code for android.support.v4.app FragmentManager POP_BACK_STACK_INCLUSIVE.

Click Source Link

Document

Flag for #popBackStack(String,int) and #popBackStack(int,int) : If set, and the name or ID of a back stack entry has been supplied, then all matching entries will be consumed until one that doesn't match is found or the bottom of the stack is reached.

Usage

From source file:com.procleus.brime.ui.MainActivity.java

public void popBack() {

    String name = getSupportFragmentManager().getBackStackEntryAt(0).getName();
    getSupportFragmentManager().popBackStack(name, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    navigationView.getMenu().findItem(R.id.nav_public_notes).setChecked(true);

}

From source file:org.melky.geekjuniorapp.GeekJunior.java

@Override
public void onBackPressed() {
    final FragmentManager fragmentManager = getSupportFragmentManager();
    int i = fragmentManager.getBackStackEntryCount();
    if (i == 2 || !searchView.isIconified()) {
        fragmentManager.popBackStackImmediate("PlaceholderFragment", FragmentManager.POP_BACK_STACK_INCLUSIVE);
        mTitle = getString(R.string._header);
        restoreActionBar();//w ww  . j  a v  a 2 s. c o  m
    } else if (i > 4) {
        fragmentManager.popBackStackImmediate("PlaceholderFragment2", FragmentManager.POP_BACK_STACK_INCLUSIVE);
        mTitle = getString(R.string.ph_buscar);
        restoreActionBar();
    } else {
        if (searchView.isIconified())
            super.onBackPressed();
    }
}

From source file:com.ovrhere.android.currencyconverter.ui.MainActivity.java

/** Loads a fragment either by adding or replacing and then adds it to
 * the #currFragTag./* w w w .j  av  a 2  s.c  o  m*/
 * @param fragment The fragment to add
 * @param tag The tag to give the fragment
 * @param backStack <code>true</code> to allow a backstack, 
 * <code>false</code> to clear it.
 */
private void loadFragment(Fragment fragment, String tag, boolean backStack) {
    FragmentManager fragManager = getSupportFragmentManager();
    if (backStack && currFragTag != null) {
        fragManager.beginTransaction().addToBackStack(currFragTag).replace(R.id.container, fragment, tag)
                .commit();
    } else {
        //clear backstack
        fragManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
        fragManager.beginTransaction().replace(R.id.container, fragment, tag).commit();
    }
    checkHomeButtonBack();
    currFragTag = tag; //if we intent multiple fragments, we could use a stack
}

From source file:org.sufficientlysecure.keychain.ui.CreateKeyActivity.java

@Override
protected void onSecurityTokenPostExecute() {
    if (mCurrentFragment instanceof SecurityTokenListenerFragment) {
        ((SecurityTokenListenerFragment) mCurrentFragment).onSecurityTokenPostExecute();
        return;/*from   w w  w.  ja va  2  s . com*/
    }

    // We don't want get back to wait activity mainly because it looks weird with otg token
    if (mCurrentFragment instanceof CreateSecurityTokenWaitFragment) {
        // hack from http://stackoverflow.com/a/11253987
        CreateSecurityTokenWaitFragment.sDisableFragmentAnimations = true;
        getSupportFragmentManager().popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
        CreateSecurityTokenWaitFragment.sDisableFragmentAnimations = false;
    }

    if (containsKeys(mScannedFingerprints)) {
        try {
            long masterKeyId = KeyFormattingUtils.getKeyIdFromFingerprint(mScannedFingerprints);
            CachedPublicKeyRing ring = new ProviderHelper(this).getCachedPublicKeyRing(masterKeyId);
            ring.getMasterKeyId();

            Intent intent = new Intent(this, ViewKeyActivity.class);
            intent.setData(KeyRings.buildGenericKeyRingUri(masterKeyId));
            intent.putExtra(ViewKeyActivity.EXTRA_SECURITY_TOKEN_AID, mSecurityTokenAid);
            intent.putExtra(ViewKeyActivity.EXTRA_SECURITY_TOKEN_USER_ID, mSecurityTokenUserId);
            intent.putExtra(ViewKeyActivity.EXTRA_SECURITY_TOKEN_FINGERPRINTS, mScannedFingerprints);
            startActivity(intent);
            finish();

        } catch (PgpKeyNotFoundException e) {
            Fragment frag = CreateSecurityTokenImportResetFragment.newInstance(mScannedFingerprints,
                    mSecurityTokenAid, mSecurityTokenUserId);
            loadFragment(frag, FragAction.TO_RIGHT);
        }
    } else {
        Fragment frag = CreateSecurityTokenBlankFragment.newInstance(mSecurityTokenAid);
        loadFragment(frag, FragAction.TO_RIGHT);
    }
}

From source file:org.sufficientlysecure.keychain.ui.keyview.LinkedIdViewFragment.java

public void finishFragment() {
    new Handler().post(new Runnable() {
        @Override/*  www.  j a v  a 2  s.co m*/
        public void run() {
            FragmentManager manager = getFragmentManager();
            manager.removeOnBackStackChangedListener(LinkedIdViewFragment.this);
            manager.popBackStack("linked_id", FragmentManager.POP_BACK_STACK_INCLUSIVE);
        }
    });
}

From source file:com.waz.zclient.pages.main.MainPhoneFragment.java

@Override
public boolean onBackPressed() {
    if (confirmationMenu.getVisibility() == View.VISIBLE) {
        confirmationMenu.animateToShow(false);
        return true;
    }/*w ww  .j  ava  2s  .  c  o m*/

    // Clear any overlays
    dismissOnBoardingHint(OnBoardingHintType.NONE);

    if (getChildFragmentManager().getBackStackEntryCount() > 0) {
        Fragment topFragment = getChildFragmentManager()
                .findFragmentByTag(getChildFragmentManager().getBackStackEntryAt(0).getName());
        if (topFragment instanceof SingleImageFragment) {
            return ((SingleImageFragment) topFragment).onBackPressed();
        } else if (topFragment instanceof GiphySharingPreviewFragment) {
            if (!((GiphySharingPreviewFragment) topFragment).onBackPressed()) {
                getChildFragmentManager().popBackStackImmediate(GiphySharingPreviewFragment.TAG,
                        FragmentManager.POP_BACK_STACK_INCLUSIVE);
            }
            return true;
        }

    }

    // Back press is first delivered to the notification fragment, and if it's not consumed there,
    // it's then delivered to the main content.

    Fragment fragment = getChildFragmentManager().findFragmentById(R.id.fl_fragment_main_in_app_notification);
    if (fragment instanceof OnBackPressedListener && ((OnBackPressedListener) fragment).onBackPressed()) {
        return true;
    }

    fragment = getChildFragmentManager().findFragmentById(R.id.fl_fragment_main_content);
    if (fragment instanceof OnBackPressedListener && ((OnBackPressedListener) fragment).onBackPressed()) {
        return true;
    }

    return getChildFragmentManager().popBackStackImmediate();
}

From source file:org.sufficientlysecure.keychain.ui.MainActivity.java

private void setFragment(Fragment fragment, boolean addToBackStack) {

    FragmentManager fragmentManager = getSupportFragmentManager();
    fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);

    FragmentTransaction ft = fragmentManager.beginTransaction();
    ft.replace(R.id.main_fragment_container, fragment);
    if (addToBackStack) {
        ft.addToBackStack(null);// www  .  j a va  2  s  .c om
    }
    ft.commit();

}

From source file:org.melky.geekjuniorapp.GeekJunior.java

@Override
public void onNavigationDrawerItemSelected(int position) {
    // update the main content by replacing fragments
    final FragmentManager fragmentManager = getSupportFragmentManager();

    //Consumo el stack de fragments pues navego a traves del Drawer
    fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);

    switch (position) {
    case 0:/*  w w w .j  a v  a 2s.  c  o  m*/
        fragmentManager.beginTransaction().replace(R.id.container, new GeekPostFragment(), "post")
                //.addToBackStack("init")
                .commit();
        break;
    case 1:
        new Handler().postDelayed(new Runnable() {
            public void run() {
                fragmentManager.beginTransaction().replace(R.id.container, new PlusOneGeekFragment())
                        .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).addToBackStack(null).commit();
            }
        }, 500);
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 2:
        getJsonToFragment("actualites", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 3:
        getJsonToFragment("applications", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 4:
        getJsonToFragment("jeux-video", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 5:
        getJsonToFragment("etudes", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 6:
        getJsonToFragment("astuces", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 7:
        getJsonToFragment("gadgets", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 8:
        getJsonToFragment("videos", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 9:
        getJsonToFragment("android", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 10:
        getJsonToFragment("iphone-ipad", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 11:
        getJsonToFragment("windows", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 12:
        getJsonToFragment("xbox", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 13:
        getJsonToFragment("playstation", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 14:
        getJsonToFragment("wiiu", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    case 15:
        getJsonToFragment("web", "category_name");
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;

    case 16:
        new Handler().postDelayed(new Runnable() {
            public void run() {
                fragmentManager.beginTransaction().replace(R.id.container, new LicenseGeekFragment())
                        .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).addToBackStack(null).commit();
            }
        }, 500);
        fragmentManager.beginTransaction().replace(R.id.container, new PlaceholderFragment(position))
                .addToBackStack("PlaceholderFragment").commit();
        break;
    }
    onSectionAttached(position);
}

From source file:fr.mixit.android.ui.MembersActivity.java

@Override
public void startActivityFromFragment(Fragment fragment, Intent intent, int requestCode) {
    final Uri uri = intent.getData();
    if (uri != null && uri.getAuthority().equals(MixItContract.Members.CONTENT_URI.getAuthority())) {
        final boolean addToBackStack = intent.getBooleanExtra(IntentUtils.EXTRA_FROM_ADD_TO_BACKSTACK, false);
        final FragmentManager fm = getSupportFragmentManager();
        // MEMBER
        if (uri.getEncodedPath().startsWith(SLASH + MixItContract.PATH_MEMBERS)
                || uri.getEncodedPath().startsWith(SLASH + MixItContract.PATH_SPEAKERS)) {
            if (UIUtils.isTablet(this)) {
                if (addToBackStack) {
                    final MemberDetailsFragment frag = MemberDetailsFragment.newInstance(intent);
                    final FragmentTransaction ft = fm.beginTransaction();
                    ft.replace(R.id.content_member_details, frag);
                    ft.addToBackStack(null);
                    if (mTopFragCommitId == -1) {
                        mTopFragCommitId = ft.commit();
                    } else {
                        ft.commit();//from  w w w  . ja v  a  2  s. c  o  m
                    }
                    return;
                } else {
                    if (mTopFragCommitId != -1) {
                        fm.popBackStack(mTopFragCommitId, FragmentManager.POP_BACK_STACK_INCLUSIVE);
                        mTopFragCommitId = -1;
                    }
                    if (mMemberDetailsFrag != null) {
                        final int memberId = Integer.parseInt(MixItContract.Members.getMemberId(uri));
                        mMemberDetailsFrag.setMemberId(memberId);
                        return;
                    } else {
                        Log.e(TAG, "no fragment member details found but device is tablet");
                    }
                }
            } else {
                super.startActivityFromFragment(fragment, intent, requestCode);
                return;
            }
        } else
        // SESSIONS
        if (uri.getEncodedPath().startsWith(SLASH + MixItContract.PATH_SESSIONS)
                || uri.getEncodedPath().startsWith(SLASH + MixItContract.PATH_LIGHTNINGS)) {
            if (UIUtils.isTablet(this)) {
                final SessionDetailsFragment frag = SessionDetailsFragment.newInstance(intent);
                final FragmentTransaction ft = fm.beginTransaction();
                ft.replace(R.id.content_member_details, frag);
                ft.addToBackStack(null);
                if (mTopFragCommitId == -1) {
                    mTopFragCommitId = ft.commit();
                } else {
                    ft.commit();
                }
                return;
            } else {
                super.startActivityFromFragment(fragment, intent, requestCode);
                return;
            }
        }
    }
    super.startActivityFromFragment(fragment, intent, requestCode);
}

From source file:com.xixicm.de.presentation.view.activity.MainActivity.java

@Override
public void clearAllFragment() {
    mFragmentManager.popBackStackImmediate(BACK_STACK_NAME, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}