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:org.xingjitong.LinphoneActivity.java

private void changeFragmentForTablets(Fragment newFragment, FragmentsAvailable newFragmentType,
        boolean withoutAnimation) {
    if (getResources().getBoolean(R.bool.show_statusbar_only_on_dialer)) {
        if (newFragmentType == FragmentsAvailable.DIALER) {
            showStatusBar();/* w  w  w  . java2 s . c  om*/
        } else {
            hideStatusBar();
        }
    }

    LinearLayout ll = (LinearLayout) findViewById(R.id.fragmentContainer); //yyppsize R.id.fragmentContainer2);

    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    if (newFragmentType.shouldAddItselfToTheRightOf(currentFragment)) {
        ll.setVisibility(View.VISIBLE);

        transaction.addToBackStack(newFragmentType.toString());
        transaction.replace(R.id.fragmentContainer, newFragment); //yyppsize R.id.fragmentContainer2);
    } else {
        if (newFragmentType == FragmentsAvailable.DIALER
                // || newFragmentType == FragmentsAvailable.ABOUT
                // || newFragmentType ==
                // FragmentsAvailable.ABOUT_INSTEAD_OF_CHAT
                // || newFragmentType ==
                // FragmentsAvailable.ABOUT_INSTEAD_OF_SETTINGS
                || newFragmentType == FragmentsAvailable.SETTINGS
                || newFragmentType == FragmentsAvailable.ACCOUNT_SETTINGS) {
            ll.setVisibility(View.GONE);
        } else {
            ll.setVisibility(View.INVISIBLE);
        }

        if (!withoutAnimation && !isAnimationDisabled && currentFragment.shouldAnimate()) {
            if (newFragmentType.isRightOf(currentFragment)) {
                transaction.setCustomAnimations(R.anim.slide_in_right_to_left, R.anim.slide_out_right_to_left,
                        R.anim.slide_in_left_to_right, R.anim.slide_out_left_to_right);
            } else {
                transaction.setCustomAnimations(R.anim.slide_in_left_to_right, R.anim.slide_out_left_to_right,
                        R.anim.slide_in_right_to_left, R.anim.slide_out_right_to_left);
            }
        }

        try {
            getSupportFragmentManager().popBackStackImmediate(newFragmentType.toString(),
                    FragmentManager.POP_BACK_STACK_INCLUSIVE);
        } catch (java.lang.IllegalStateException e) {

        }

        transaction.addToBackStack(newFragmentType.toString());
        transaction.replace(R.id.fragmentContainer, newFragment);
    }
    transaction.commitAllowingStateLoss();
    getSupportFragmentManager().executePendingTransactions();

    currentFragment = newFragmentType;
}

From source file:net.basilwang.StaticAttachmentActivity.java

 public void switchContent(Fragment fragment, int flag) {
   mContent = fragment;/* ww w.ja va  2s.c  o  m*/
   if (flag == 1) {

      getSupportFragmentManager().beginTransaction()
            .replace(R.id.mainContainer, mContent).addToBackStack(null)
            .commit();
   } else {
      // Fragment???BackStack
      getSupportFragmentManager().popBackStack(null,
            FragmentManager.POP_BACK_STACK_INCLUSIVE);
      getSupportFragmentManager().beginTransaction()
            .replace(R.id.mainContainer, mContent).commit();
   }
   getSlidingMenu().showContent();
}

From source file:org.linphone.LinphoneActivity.java

private void changeFragmentForTablets(Fragment newFragment, FragmentsAvailable newFragmentType,
        boolean withoutAnimation) {
    //      if (getResources().getBoolean(R.bool.show_statusbar_only_on_dialer)) {
    //         if (newFragmentType == FragmentsAvailable.DIALER) {
    //            showStatusBar();
    //         } else {
    //            hideStatusBar();
    //         }/*w  ww.j a v  a2s  . co m*/
    //      }
    if (statusFragment != null) {
        statusFragment.closeStatusBar();
    }

    LinearLayout ll = (LinearLayout) findViewById(R.id.fragmentContainer2);

    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    if (newFragmentType.shouldAddItselfToTheRightOf(currentFragment)) {
        ll.setVisibility(View.VISIBLE);

        transaction.addToBackStack(newFragmentType.toString());
        transaction.replace(R.id.fragmentContainer2, newFragment);
    } else {
        if (newFragmentType == FragmentsAvailable.DIALER || newFragmentType == FragmentsAvailable.ABOUT
                || newFragmentType == FragmentsAvailable.ABOUT_INSTEAD_OF_CHAT
                || newFragmentType == FragmentsAvailable.ABOUT_INSTEAD_OF_SETTINGS
                || newFragmentType == FragmentsAvailable.SETTINGS
                || newFragmentType == FragmentsAvailable.ACCOUNT_SETTINGS) {
            ll.setVisibility(View.GONE);
        } else {
            ll.setVisibility(View.INVISIBLE);
        }

        if (!withoutAnimation && !isAnimationDisabled && currentFragment.shouldAnimate()) {
            if (newFragmentType.isRightOf(currentFragment)) {
                transaction.setCustomAnimations(R.anim.slide_in_right_to_left, R.anim.slide_out_right_to_left,
                        R.anim.slide_in_left_to_right, R.anim.slide_out_left_to_right);
            } else {
                transaction.setCustomAnimations(R.anim.slide_in_left_to_right, R.anim.slide_out_left_to_right,
                        R.anim.slide_in_right_to_left, R.anim.slide_out_right_to_left);
            }
        }
        transaction.replace(R.id.fragmentContainer, newFragment);
    }
    transaction.commitAllowingStateLoss();
    getSupportFragmentManager().executePendingTransactions();

    currentFragment = newFragmentType;
    if (newFragmentType == FragmentsAvailable.DIALER
            || newFragmentType == FragmentsAvailable.ABOUT_INSTEAD_OF_CHAT
            || newFragmentType == FragmentsAvailable.ABOUT_INSTEAD_OF_SETTINGS
            || newFragmentType == FragmentsAvailable.SETTINGS || newFragmentType == FragmentsAvailable.CONTACTS
            || newFragmentType == FragmentsAvailable.CHATLIST
            || newFragmentType == FragmentsAvailable.HISTORY) {
        try {
            getSupportFragmentManager().popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
        } catch (IllegalStateException e) {

        }
    }
    fragmentsHistory.add(currentFragment);
}

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

@Override
public void onHidePickUser(IPickUserController.Destination destination, boolean closeWithoutSelectingPeople) {
    getChildFragmentManager().popBackStack(ParticipantsDialogFragment.TAG,
            FragmentManager.POP_BACK_STACK_INCLUSIVE);
}

From source file:com.nekomeshi312.whiteboardcorrection.WhiteBoardCorrectionActivity.java

@Override
public void onWhiteBoardResultCompleted() {
    // TODO Auto-generated method stub
    getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    if (!mWhiteBoardCheckInfo.mIsCaptured) {
        deleteCopyImg();/* www.  ja  v a 2 s  .c o m*/
    }
    mWhiteBoardCheckInfo.resetInfo();
}

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

@Override
public void onHideShareLocation(MessageContent.Location location) {
    if (location != null) {
        getStoreFactory().getConversationStore().sendMessage(location);
    }//from   w  ww .j av  a  2s  . c o  m
    getChildFragmentManager().popBackStack(LocationFragment.TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}

From source file:android.support.v17.leanback.app.BrowseSupportFragment.java

private void startHeadersTransitionInternal(final boolean withHeaders) {
    if (getFragmentManager().isDestroyed()) {
        return;/*from ww  w. ja v  a2 s  .c o  m*/
    }
    if (!isHeadersDataReady()) {
        return;
    }
    mShowingHeaders = withHeaders;
    mMainFragmentAdapter.onTransitionPrepare();
    mMainFragmentAdapter.onTransitionStart();
    onExpandTransitionStart(!withHeaders, new Runnable() {
        @Override
        public void run() {
            mHeadersSupportFragment.onTransitionPrepare();
            mHeadersSupportFragment.onTransitionStart();
            createHeadersTransition();
            if (mBrowseTransitionListener != null) {
                mBrowseTransitionListener.onHeadersTransitionStart(withHeaders);
            }
            TransitionHelper.runTransition(withHeaders ? mSceneWithHeaders : mSceneWithoutHeaders,
                    mHeadersTransition);
            if (mHeadersBackStackEnabled) {
                if (!withHeaders) {
                    getFragmentManager().beginTransaction().addToBackStack(mWithHeadersBackStackName).commit();
                } else {
                    int index = mBackStackChangedListener.mIndexOfHeadersBackStack;
                    if (index >= 0) {
                        BackStackEntry entry = getFragmentManager().getBackStackEntryAt(index);
                        getFragmentManager().popBackStackImmediate(entry.getId(),
                                FragmentManager.POP_BACK_STACK_INCLUSIVE);
                    }
                }
            }
        }
    });
}

From source file:com.rbware.github.androidcouchpotato.app.BrowseSupportFragment.java

void startHeadersTransitionInternal(final boolean withHeaders) {
    if (getFragmentManager().isDestroyed()) {
        return;//from   w  w w .j  ava2  s .  c o  m
    }
    if (!isHeadersDataReady()) {
        return;
    }
    mShowingHeaders = withHeaders;
    mMainFragmentAdapter.onTransitionPrepare();
    mMainFragmentAdapter.onTransitionStart();
    onExpandTransitionStart(!withHeaders, new Runnable() {
        @Override
        public void run() {
            mHeadersSupportFragment.onTransitionPrepare();
            mHeadersSupportFragment.onTransitionStart();
            createHeadersTransition();
            if (mBrowseTransitionListener != null) {
                mBrowseTransitionListener.onHeadersTransitionStart(withHeaders);
            }
            TransitionHelper.runTransition(withHeaders ? mSceneWithHeaders : mSceneWithoutHeaders,
                    mHeadersTransition);
            if (mHeadersBackStackEnabled) {
                if (!withHeaders) {
                    getFragmentManager().beginTransaction().addToBackStack(mWithHeadersBackStackName).commit();
                } else {
                    int index = mBackStackChangedListener.mIndexOfHeadersBackStack;
                    if (index >= 0) {
                        BackStackEntry entry = getFragmentManager().getBackStackEntryAt(index);
                        getFragmentManager().popBackStackImmediate(entry.getId(),
                                FragmentManager.POP_BACK_STACK_INCLUSIVE);
                    }
                }
            }
        }
    });
}

From source file:com.jefftharris.passwdsafe.PasswdSafe.java

/**
 * Finish editing the file/* www.  java2s .co  m*/
 */
private void finishEdit(final boolean save, final boolean popBack, final String popTag,
        final PasswdLocation newLocation, final Runnable postSaveRun) {
    Runnable saveRun = new Runnable() {
        @Override
        public void run() {
            if (save) {
                itsFileDataFrag.refreshFileData();
            }
            boolean resetLoc = shouldResetLoc();

            if (popBack) {
                FragmentManager fragMgr = getSupportFragmentManager();
                fragMgr.popBackStackImmediate();

                if (popTag != null) {
                    //noinspection StatementWithEmptyBody
                    while (fragMgr.popBackStackImmediate(popTag, FragmentManager.POP_BACK_STACK_INCLUSIVE)) {
                        // Pop all fragments up to the first use of the
                        // given tag
                    }
                }
            }

            if (resetLoc) {
                changeOpenView(new PasswdLocation(), true);
            }

            if (postSaveRun != null) {
                postSaveRun.run();
            }
        }

        /**
         * Should the location be reset
         */
        private boolean shouldResetLoc() {
            if (!save || (newLocation == null)) {
                return false;
            }

            if (!newLocation.equalGroups(itsLocation)) {
                return true;
            }

            PasswdFileDataView dataView = itsFileDataFrag.getFileDataView();
            return !dataView.hasGroup(newLocation.getRecordGroup());
        }
    };

    if (save) {
        final ObjectHolder<String> fileId = new ObjectHolder<>("");
        itsFileDataFrag.useFileData(new PasswdFileDataUser() {
            @Override
            public void useFileData(@NonNull PasswdFileData fileData) {
                fileId.set(fileData.getUri().getIdentifier(PasswdSafe.this, false));
            }
        });
        itsCurrTask = new SaveTask(fileId.get(), saveRun, this);
        itsCurrTask.execute();
    } else {
        saveRun.run();
    }
}

From source file:com.waz.zclient.pages.main.participants.ParticipantFragment.java

@Override
public void onHidePickUser(IPickUserController.Destination destination, boolean closeWithoutSelectingPeople) {
    if (LayoutSpec.isPhone(getActivity())) {
        return;// w  w  w  .  j  av  a2  s  .c  om
    }
    if (!destination.equals(getCurrentPickerDestination())) {
        return;
    }
    // Workaround for animation bug with nested child fragments
    // Animating fragment container views and then popping stack at end of animation

    int showParticipantsDelay = getResources().getInteger(R.integer.framework_animation_delay_long);
    int hidePickUserAnimDuration = getResources().getInteger(R.integer.framework_animation_duration_medium);
    TimeInterpolator hidePickUserInterpolator = new Expo.EaseIn();
    ObjectAnimator hidePickUserAnimator;
    // Fade animation in participants dialog on tablet
    if (LayoutSpec.isTablet(getActivity())) {
        hidePickUserAnimator = ObjectAnimator.ofFloat(pickUserContainerView, View.ALPHA, 1f, 0f);
        hidePickUserAnimator.setInterpolator(new Linear.EaseIn());

    } else {
        hidePickUserAnimator = ObjectAnimator.ofFloat(pickUserContainerView, View.TRANSLATION_Y, 0f,
                pickUserContainerView.getMeasuredHeight());
        hidePickUserAnimator.setInterpolator(hidePickUserInterpolator);
        hidePickUserAnimator.setDuration(hidePickUserAnimDuration);
    }
    hidePickUserAnimator.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            if (!isResumed()) {
                return;
            }
            getChildFragmentManager().popBackStackImmediate(PickUserFragment.TAG,
                    FragmentManager.POP_BACK_STACK_INCLUSIVE);

            if (LayoutSpec.isTablet(getActivity())) {
                // Reset for fade animation in participants dialog on tablet
                pickUserContainerView.setAlpha(1f);
            } else {
                pickUserContainerView.setTranslationY(0f);
            }
        }
    });

    participantsContainerView.setAlpha(0);
    participantsContainerView.setVisibility(View.VISIBLE);
    ObjectAnimator showParticipantsAnimator = ObjectAnimator.ofFloat(participantsContainerView, View.ALPHA, 0f,
            1f);
    showParticipantsAnimator.setInterpolator(new Quart.EaseOut());
    showParticipantsAnimator
            .setDuration(getResources().getInteger(R.integer.framework_animation_duration_medium));
    showParticipantsAnimator.setStartDelay(showParticipantsDelay);

    AnimatorSet hideSet = new AnimatorSet();
    hideSet.playTogether(hidePickUserAnimator, showParticipantsAnimator);
    hideSet.start();

    if (LayoutSpec.isPhone(getActivity()) && getControllerFactory().getNavigationController()
            .getPagerPosition() == NavigationController.SECOND_PAGE) {
        // TODO: https://wearezeta.atlassian.net/browse/AN-3081
        if (getControllerFactory().getConversationScreenController().isShowingParticipant()) {
            getControllerFactory().getNavigationController().setRightPage(Page.PARTICIPANT, TAG);
        } else {
            getControllerFactory().getNavigationController().setRightPage(Page.MESSAGE_STREAM, TAG);
        }
    }
}