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.popdeem.sdk.uikit.activity.PDUIClaimActivity.java

private void postToFacebook(final String message, final String imagePath) {

    PDUIShareMessageFragment fragment = PDUIShareMessageFragment.newInstance(mReward, "facebook",
            new PDUIShareMessageFragment.PDInstagramShareCallback() {
                @Override//from   w  ww. j av a2s  .  c om
                public void onShareClick() {
                    mUserHasLeftForFaceBook = true;
                    ShareDialog dialog = new ShareDialog(PDUIClaimActivity.this);
                    dialog.registerCallback(mCallbackManager, new FacebookCallback<Sharer.Result>() {
                        @Override
                        public void onSuccess(Sharer.Result result) {
                            if (mUserHasLeftForFaceBook) {
                                mUserHasLeftForFaceBook = false;
                                PDLog.d(getClass(), "perform claim now, user returned from FB");
                                mFragmentManager.popBackStack(PDUIShareMessageFragment.getName(),
                                        FragmentManager.POP_BACK_STACK_INCLUSIVE);
                                performClaimReward("", getEncodedImage(), false, false, true);
                            }
                        }

                        @Override
                        public void onCancel() {
                            Log.i(TAG, "onCancel: ");
                        }

                        @Override
                        public void onError(FacebookException error) {
                            error.printStackTrace();
                        }
                    });
                    String hashTag = message;
                    //                String hashTag = "";
                    if (mReward != null && mReward.getGlobalHashtag() != null
                            && mReward.getGlobalHashtag().length() > 0 && mReward.getTweetOptions() != null
                            && mReward.getTweetOptions().getForcedTag() != null
                            && mReward.getTweetOptions().getForcedTag().length() > 0) {
                        hashTag = mReward.getGlobalHashtag();
                    }

                    if (image != null) {
                        SharePhoto photo = new SharePhoto.Builder().setBitmap(image).build();
                        SharePhotoContent content;
                        if (!hashTag.equalsIgnoreCase("")) {
                            content = new SharePhotoContent.Builder().addPhoto(photo)
                                    .setShareHashtag(new ShareHashtag.Builder().setHashtag(hashTag).build())
                                    .build();
                        } else {
                            content = new SharePhotoContent.Builder().addPhoto(photo)
                                    .setShareHashtag(new ShareHashtag.Builder().build()).build();
                        }

                        if (dialog.canShow(content, ShareDialog.Mode.AUTOMATIC)) {
                            dialog.show(content, ShareDialog.Mode.AUTOMATIC);
                        }
                    } else {
                        SharePhotoContent content;
                        if (!hashTag.equalsIgnoreCase("")) {
                            content = new SharePhotoContent.Builder()
                                    .setShareHashtag(new ShareHashtag.Builder().setHashtag(hashTag).build())
                                    .build();
                        } else {
                            content = new SharePhotoContent.Builder().build();
                        }

                        if (dialog.canShow(content, ShareDialog.Mode.NATIVE)) {
                            dialog.setShouldFailOnDataError(false);
                            dialog.show(content, ShareDialog.Mode.NATIVE);
                        }
                    }
                }

                @Override
                public void onCancel() {
                    mFragmentManager.popBackStack(PDUIShareMessageFragment.getName(),
                            FragmentManager.POP_BACK_STACK_INCLUSIVE);
                }
            });
    mFragmentManager.beginTransaction()
            .replace(R.id.pd_claim_tag_friends_container, fragment, PDUIShareMessageFragment.getName())
            .addToBackStack(PDUIShareMessageFragment.getName()).commit();

}

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

/**
 * Convenient method to close GuidedStepSupportFragments on top of other content or finish Activity if
 * GuidedStepSupportFragments were started in a separate activity.  Pops all stack entries including
 * {@link #UI_STYLE_ENTRANCE}; if {@link #UI_STYLE_ENTRANCE} is not found, finish the activity.
 * Note that this method must be paired with {@link #add(FragmentManager, GuidedStepSupportFragment,
 * int)} which sets up the stack entry name for finding which fragment we need to pop back to.
 *///from w w  w .  j a  v a 2  s  .c  o  m
public void finishGuidedStepSupportFragments() {
    final FragmentManager fragmentManager = getFragmentManager();
    final int entryCount = fragmentManager.getBackStackEntryCount();
    if (entryCount > 0) {
        for (int i = entryCount - 1; i >= 0; i--) {
            BackStackEntry entry = fragmentManager.getBackStackEntryAt(i);
            if (isStackEntryUiStyleEntrance(entry.getName())) {
                GuidedStepSupportFragment top = getCurrentGuidedStepSupportFragment(fragmentManager);
                if (top != null) {
                    top.setUiStyle(UI_STYLE_ENTRANCE);
                }
                fragmentManager.popBackStack(entry.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
                return;
            }
        }
    }
    ActivityCompat.finishAfterTransition(getActivity());
}

From source file:com.popdeem.sdk.uikit.activity.PDUIClaimActivity.java

private void postToInstagram(final String message, final String imagePath) {

    PDClipboardUtils.copyTextToClipboard(this, message, message);
    PDUIShareMessageFragment fragment = PDUIShareMessageFragment.newInstance(mReward, "instagram",
            new PDUIShareMessageFragment.PDInstagramShareCallback() {
                @Override/*from w  w  w  .  ja v a 2s  .com*/
                public void onShareClick() {
                    mUserHasLeftForInstagram = true;
                    startActivity(PDSocialUtils.createInstagramIntent(PDUIClaimActivity.this, imagePath));
                }

                @Override
                public void onCancel() {
                    mFragmentManager.popBackStack(PDUIShareMessageFragment.getName(),
                            FragmentManager.POP_BACK_STACK_INCLUSIVE);
                }
            });
    mFragmentManager.beginTransaction()
            .replace(R.id.pd_claim_tag_friends_container, fragment, PDUIShareMessageFragment.getName())
            .addToBackStack(PDUIShareMessageFragment.getName()).commit();
}

From source file:org.alfresco.mobile.android.application.fragments.node.details.NodeDetailsFragment.java

@Subscribe
public void onDocumentUpdated(UpdateNodeEvent event) {
    if (AlfrescoExceptionHelper.checkEventException(getActivity(), event)) {
        return;//from w ww.  j  a  v a2 s.  c  o  m
    }
    Node updatedNode = event.data;

    if (updatedNode == null || node == null) {
        return;
    }
    if (updatedNode.getIdentifier() == null || node.getIdentifier() == null) {
        return;
    }

    if (NodeRefUtils.getCleanIdentifier(updatedNode.getIdentifier())
            .equals(NodeRefUtils.getCleanIdentifier(node.getIdentifier()))) {
        if (!DisplayUtils.hasCentralPane(getActivity())) {
            if (getFragment(DocumentFolderBrowserFragment.TAG) != null) {
                ((DocumentFolderBrowserFragment) getFragment(DocumentFolderBrowserFragment.TAG))
                        .onDocumentUpdated(event);
            }
            getActivity().getSupportFragmentManager().popBackStack(NodeDetailsFragment.getDetailsTag(),
                    FragmentManager.POP_BACK_STACK_INCLUSIVE);
        } else if (getActivity().getSupportFragmentManager()
                .findFragmentByTag(DocumentFolderBrowserFragment.TAG) != null) {
            ((DocumentFolderBrowserFragment) getActivity().getSupportFragmentManager()
                    .findFragmentByTag(DocumentFolderBrowserFragment.TAG)).highLight(updatedNode);
        } else if (getActivity().getSupportFragmentManager().findFragmentByTag(SyncFragment.TAG) != null) {
            ((SyncFragment) getActivity().getSupportFragmentManager().findFragmentByTag(SyncFragment.TAG))
                    .highLight(updatedNode);
        }
        NodeDetailsFragment.with(getActivity()).node(updatedNode).parentFolder(event.parentFolder).display();

        AlfrescoNotificationManager.getInstance(getActivity()).showInfoCrouton(getActivity(),
                String.format(getResources().getString(R.string.update_sucess), event.initialNode.getName()));
    }
}

From source file:org.alfresco.mobile.android.application.fragments.node.details.NodeDetailsFragment.java

@Subscribe
public void onContentUpdated(UpdateContentEvent event) {
    if (AlfrescoExceptionHelper.checkEventException(getActivity(), event)) {
        return;//from  w  ww .  j a  v a  2  s. c  o  m
    }
    Node updatedNode = event.data;
    if (updatedNode == null || node == null) {
        return;
    }
    if (updatedNode.getIdentifier() == null || node.getIdentifier() == null) {
        return;
    }

    if (!DisplayUtils.hasCentralPane(getActivity())) {
        getActivity().getSupportFragmentManager().popBackStack(NodeDetailsFragment.getDetailsTag(),
                FragmentManager.POP_BACK_STACK_INCLUSIVE);
    } else if (getActivity().getSupportFragmentManager()
            .findFragmentByTag(DocumentFolderBrowserFragment.TAG) != null) {
        ((DocumentFolderBrowserFragment) getActivity().getSupportFragmentManager()
                .findFragmentByTag(DocumentFolderBrowserFragment.TAG)).select(updatedNode);
    }
    NodeDetailsFragment.with(getActivity()).node(updatedNode).parentFolder(event.parentFolder).display();

    AlfrescoNotificationManager.getInstance(getActivity()).showInfoCrouton(getActivity(),
            String.format(getResources().getString(R.string.update_sucess), event.node.getName()));
}

From source file:org.alfresco.mobile.android.application.fragments.node.details.NodeDetailsFragment.java

@Subscribe
public void onNodeDeleted(DeleteNodeEvent event) {
    if (AlfrescoExceptionHelper.checkEventException(getActivity(), event)) {
        return;//www  . jav a2  s  .c  o m
    }

    ((MainActivity) getActivity()).setCurrentNode(null);
    if (DisplayUtils.hasCentralPane(getActivity())) {
        FragmentDisplayer.with(getActivity()).remove(getDetailsTag());
    } else {
        getFragmentManager().popBackStack(getDetailsTag(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
        if (getFragment(DocumentFolderBrowserFragment.TAG) != null) {
            ((DocumentFolderBrowserFragment) getFragment(DocumentFolderBrowserFragment.TAG))
                    .onNodeDeleted(event);
        }
    }

    AlfrescoNotificationManager.getInstance(getActivity()).showInfoCrouton(getActivity(),
            String.format(getResources().getString(R.string.delete_sucess), event.data.getName()));
}

From source file:com.popdeem.sdk.uikit.activity.PDUIClaimActivity.java

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    final int ID = item.getItemId();
    if (ID == android.R.id.home) {
        final int backStackCount = mFragmentManager.getBackStackEntryCount();
        if (backStackCount > 0) {
            String name = mFragmentManager.getBackStackEntryAt(backStackCount - 1).getName();
            mFragmentManager.popBackStack(name, FragmentManager.POP_BACK_STACK_INCLUSIVE);
        } else {//from w ww.j a v a2  s  . c om
            finish();
        }
        return true;
    }
    return false;
}