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:jsettlers.main.android.mainmenu.ui.activities.MainActivity.java

@Override
public void popToMenuRoot() {
    getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}

From source file:quickbeer.android.providers.NavigationProvider.java

public void navigateAllBack() {
    activity.getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}

From source file:com.google.android.apps.muzei.MainFragment.java

@Override
public void onViewCreated(@NonNull final View view, @Nullable final Bundle savedInstanceState) {
    // Set up the action bar
    final View actionBarContainer = view.findViewById(R.id.action_bar_container);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        actionBarContainer.setBackground(ScrimUtil.makeCubicGradientScrimDrawable(0x44000000, 8, Gravity.TOP));
    }//from  w ww.  j a va  2s.co m
    final Toolbar toolbar = view.findViewById(R.id.toolbar);
    AppCompatActivity activity = (AppCompatActivity) getActivity();
    if (activity != null) {
        activity.setSupportActionBar(toolbar);
        activity.getSupportActionBar().setDisplayShowTitleEnabled(false);
    }

    // Set up the container for the child fragments
    final View container = view.findViewById(R.id.container);
    if (savedInstanceState == null) {
        FirebaseAnalytics.getInstance(getActivity()).setCurrentScreen(getActivity(), "ArtDetail",
                ArtDetailFragment.class.getSimpleName());
        getChildFragmentManager().beginTransaction().replace(R.id.container, new ArtDetailFragment()).commit();
    }

    // Set up the bottom nav
    final BottomNavigationView bottomNavigationView = view.findViewById(R.id.bottom_nav);
    bottomNavigationView
            .setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(@NonNull final MenuItem item) {
                    if (getChildFragmentManager().isStateSaved()) {
                        // Can't navigate after the state is saved
                        return false;
                    }
                    switch (item.getItemId()) {
                    case R.id.main_art_details:
                        FirebaseAnalytics.getInstance(getContext()).setCurrentScreen(getActivity(), "ArtDetail",
                                ArtDetailFragment.class.getSimpleName());
                        getChildFragmentManager().beginTransaction()
                                .replace(R.id.container, new ArtDetailFragment())
                                .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).commit();
                        return true;
                    case R.id.main_choose_source:
                        FirebaseAnalytics.getInstance(getContext()).setCurrentScreen(getActivity(),
                                "ChooseSource", ChooseSourceFragment.class.getSimpleName());
                        getChildFragmentManager().popBackStack("main",
                                FragmentManager.POP_BACK_STACK_INCLUSIVE);
                        getChildFragmentManager().beginTransaction()
                                .replace(R.id.container, new ChooseSourceFragment()).addToBackStack("main")
                                .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).commit();
                        return true;
                    case R.id.main_effects:
                        FirebaseAnalytics.getInstance(getContext()).setCurrentScreen(getActivity(), "Effects",
                                EffectsFragment.class.getSimpleName());
                        getChildFragmentManager().popBackStack("main",
                                FragmentManager.POP_BACK_STACK_INCLUSIVE);
                        getChildFragmentManager().beginTransaction()
                                .replace(R.id.container, new EffectsFragment()).addToBackStack("main")
                                .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).commit();
                        return true;
                    default:
                        return false;
                    }
                }
            });
    bottomNavigationView.setOnNavigationItemReselectedListener(
            new BottomNavigationView.OnNavigationItemReselectedListener() {
                @Override
                public void onNavigationItemReselected(@NonNull final MenuItem item) {
                    if (item.getItemId() == R.id.main_art_details) {
                        getActivity().getWindow().getDecorView()
                                .setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
                                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN
                                        | View.SYSTEM_UI_FLAG_IMMERSIVE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                                        | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
                    }
                }
            });

    // Send the correct window insets to each view
    ViewCompat.setOnApplyWindowInsetsListener(view, new OnApplyWindowInsetsListener() {
        @Override
        public WindowInsetsCompat onApplyWindowInsets(final View v, final WindowInsetsCompat insets) {
            // Ensure the action bar container gets the appropriate insets
            ViewCompat.dispatchApplyWindowInsets(actionBarContainer,
                    insets.replaceSystemWindowInsets(insets.getSystemWindowInsetLeft(),
                            insets.getSystemWindowInsetTop(), insets.getSystemWindowInsetRight(), 0));
            ViewCompat.dispatchApplyWindowInsets(container, insets.replaceSystemWindowInsets(
                    insets.getSystemWindowInsetLeft(), 0, insets.getSystemWindowInsetRight(), 0));
            ViewCompat.dispatchApplyWindowInsets(bottomNavigationView,
                    insets.replaceSystemWindowInsets(insets.getSystemWindowInsetLeft(), 0,
                            insets.getSystemWindowInsetRight(), insets.getSystemWindowInsetBottom()));
            return insets;
        }
    });

    // Listen for visibility changes to know when to hide our views
    view.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
        @Override
        public void onSystemUiVisibilityChange(int vis) {
            final boolean visible = (vis & View.SYSTEM_UI_FLAG_LOW_PROFILE) == 0;

            actionBarContainer.setVisibility(View.VISIBLE);
            actionBarContainer.animate().alpha(visible ? 1f : 0f).setDuration(200)
                    .withEndAction(new Runnable() {
                        @Override
                        public void run() {
                            if (!visible) {
                                actionBarContainer.setVisibility(View.GONE);
                            }
                        }
                    });

            bottomNavigationView.setVisibility(View.VISIBLE);
            bottomNavigationView.animate().alpha(visible ? 1f : 0f).setDuration(200)
                    .withEndAction(new Runnable() {
                        @Override
                        public void run() {
                            if (!visible) {
                                bottomNavigationView.setVisibility(View.GONE);
                            }
                        }
                    });
        }
    });

}

From source file:com.activiti.android.app.fragments.task.TasksFragment.java

@Override
public void onListItemClick(GridView l, View v, int position, long id) {
    if (selectedView != null) {
        selectedView.setBackgroundColor(getResources().getColor(android.R.color.transparent));
    }/* ww  w . j  ava  2  s  .  co  m*/
    selectedView = v;
    if (!DisplayUtils.hasCentralPane(getActivity())) {
        resetRightMenu();
    } else {
        getActivity().getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }
    TaskRepresentation taskRepresentation = (TaskRepresentation) l.getItemAtPosition(position);
    if (!selectedTask.contains(taskRepresentation)) {
        TaskDetailsFragment.with(getActivity()).task(taskRepresentation).bindFragmentTag(getTag()).back(true)
                .display();
        if (DisplayUtils.hasCentralPane(getActivity())) {
            selectedTask.clear();
            selectedTask.add(taskRepresentation);
            v.setBackgroundColor(getResources().getColor(R.color.secondary_background));
        }
    } else {
        if (DisplayUtils.hasCentralPane(getActivity())) {
            selectedTask.clear();
            selectedView = null;
            setLockRightMenu(true);
        }
    }
}

From source file:com.waz.zclient.AppEntryActivity.java

@Override
public void onBackPressed() {
    SignUpPhotoFragment fragment = (SignUpPhotoFragment) getSupportFragmentManager()
            .findFragmentByTag(SignUpPhotoFragment.TAG);
    if (fragment != null && fragment.onBackPressed()) {
        return;/*from w w  w .j a  va2s  .c  o  m*/
    }
    OTRPhoneAddEmailFragment otrPhoneAddEmailFragment = (OTRPhoneAddEmailFragment) getSupportFragmentManager()
            .findFragmentByTag(OTRPhoneAddEmailFragment.TAG);
    if (otrPhoneAddEmailFragment != null) {
        getSupportFragmentManager().popBackStackImmediate(R.id.fl_main_content,
                FragmentManager.POP_BACK_STACK_INCLUSIVE);
        getStoreFactory().getZMessagingApiStore().logout();
        getStoreFactory().getAppEntryStore().setState(AppEntryState.PHONE_SIGN_IN);
        return;
    }
    if (!getStoreFactory().getAppEntryStore().onBackPressed()) {
        super.onBackPressed();
    }
}

From source file:com.nicefontaine.seanachie.ui.BaseActivity.java

@Override
protected void onResume() {
    super.onResume();
    fragmentManager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    changeContent(selectedFragmentId);/*  ww w.  j a v  a 2s. c  o m*/
}

From source file:vn.cybersoft.obs.android.activities.MainActivity.java

public void swapToFragmentView(ScreenList newFragment) {
    Log.i(t, "swapToFragmentView: " + newFragment.toString());
    FragmentManager fragmentManager = getSupportFragmentManager();
    Fragment fragment = null;//from  w  w  w .  j  a v a2 s .  co m
    if (ScreenList.BATTERY_INFO == newFragment) {
        fragment = fragmentManager.findFragmentById(BatteryInfoFragment.LAYOUT_ID);
        if (null == fragment) {
            fragment = new BatteryInfoFragment();
        }
    } else if (ScreenList.OPTIMIZATION == newFragment) {
        fragment = fragmentManager.findFragmentById(OptimizationFragment.LAYOUT_ID);
        if (null == fragment) {
            fragment = new OptimizationFragment();
        }
    } else if (ScreenList.CHARGE == newFragment) {
        fragment = fragmentManager.findFragmentById(ChargeFragment.LAYOUT_ID);
        if (null == fragment) {
            fragment = new ChargeFragment();
        }
    } else if (ScreenList.CONSUMPTION == newFragment) {
        fragment = fragmentManager.findFragmentById(ConsumptionFragment.LAYOUT_ID);
        if (null == fragment) {
            fragment = new ConsumptionFragment();
        }
    } else if (ScreenList.ABOUT == newFragment) {
        fragment = fragmentManager.findFragmentById(AboutFragment.LAYOUT_ID);
        if (null == fragment) {
            fragment = new AboutFragment();
        }
    } else {
        throw new IllegalStateException("Unrecognized ScreenList type");
    }

    currentFragment = newFragment;
    BackStackEntry entry = null;
    for (int i = 0; i < fragmentManager.getBackStackEntryCount(); ++i) {
        BackStackEntry e = fragmentManager.getBackStackEntryAt(i);
        if (e.getName().equals(currentFragment.name())) {
            entry = e;
            break;
        }
    }

    if (null != entry) {
        // flush backward, including the screen want to go back to
        //fragmentManager.popBackStackImmediate(currentFragment.name(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
        fragmentManager.popBackStack(currentFragment.name(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }

    // add transaction to show the screen we want
    FragmentTransaction transaction = fragmentManager.beginTransaction();
    transaction.replace(R.id.main_frame, fragment);
    transaction.addToBackStack(currentFragment.name());
    transaction.commit();
    levelSafeInvalidateOptionsMenu();
}

From source file:org.jnrain.mobile.ui.MainActivity.java

@Override
public void clearBackStack() {
    FragmentManager fm = getSupportFragmentManager();

    fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}

From source file:org.fuusio.api.flow.AbstractFlow.java

@Override
public void clearBackStack() {
    final FragmentManager fragmentManager = mFragmentContainer.getSupportFragmentManager();

    if (fragmentManager.getBackStackEntryCount() > 0) {
        fragmentManager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }//from   w  w  w .j  a  va  2  s  .  co m
    mBackStackSize = 0;
}

From source file:com.mk4droid.IMC_Activities.FActivity_TabHost.java

/**
 * Executed when tabhost is created//from  w  w w . j a v a  2 s. c  o m
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // ----------------- GUI ------------
    resources = SetResources(); // ---Load Prefs and Modify resources
    // accordingly
    setContentView(R.layout.factivity_tabhost); // ---------- Content view
    ctx = this;

    btSetup = new Button(ctx);

    LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    btSetup.setLayoutParams(params);

    RelativeLayout rl = (RelativeLayout) findViewById(R.id.tbs);
    rl.addView(btSetup);
    btSetup.bringToFront();

    btSetup.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

            if (Fragment_Issue_Details.mfrag_issue_details != null) {
                FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
                ft.remove(Fragment_Issue_Details.mfrag_issue_details);
                ft.commit();
                getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
            }

            mTabHost.getTabWidget().getChildAt(4).findViewWithTag("hbar")
                    .setBackgroundDrawable(resources.getDrawable(R.drawable.gradient_orange));
            startActivity(new Intent(ctx, Activity_Setup.class));
        }
    });

    mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);

    mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);

    // ---------------------------------------
    for (int i = 0; i < NTabs; i++)
        mTabSpec[i] = mTabHost.newTabSpec("tid" + Integer.toString(i));

    mD_Main = getResources().getDrawable(R.drawable.ic_map);
    mD_List = getResources().getDrawable(R.drawable.ic_list);
    mD_Report = getResources().getDrawable(R.drawable.ic_plus);
    mD_Filters = getResources().getDrawable(R.drawable.ic_filter);
    mD_Setup = getResources().getDrawable(R.drawable.ic_settings);

    // -------------- Set icons and texts localized per tab -------------
    LinearLayout llA = make_Active_Tab(resources.getString(R.string.Map), mD_Main);
    llA.setClickable(true);
    LinearLayout llB = make_Inactive_Tab(resources.getString(R.string.List), mD_List);
    LinearLayout llC = make_Inactive_Tab(resources.getString(R.string.Report), mD_Report);
    LinearLayout llD = make_Inactive_Tab(resources.getString(R.string.Filter), mD_Filters);
    LinearLayout llE = make_Inactive_Tab(resources.getString(R.string.Settings), mD_Setup);

    mTabSpec[0].setIndicator(llA);
    mTabSpec[1].setIndicator(llB);
    mTabSpec[2].setIndicator(llC);
    mTabSpec[3].setIndicator(llD);
    mTabSpec[4].setIndicator(llE);

    // Add tabSpec to the TabHost to display
    mTabHost.addTab(mTabSpec[0], Fragment_Map.class, null);
    mTabHost.addTab(mTabSpec[1], Fragment_List.class, null);
    mTabHost.addTab(mTabSpec[2], Fragment_NewIssueA.class, null);
    mTabHost.addTab(mTabSpec[3], Fragment_Filters.class, null);
    mTabHost.addTab(mTabSpec[4], null, null); // implemented with a button
    // overlapped because there
    // was no fragment for
    // Preferences in support
    // lib v4

    mTabHost.setOnTabChangedListener(this);

    mTabHost.setOnFocusChangeListener(new OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            btSetup.setWidth(mTabHost.getTabWidget().getChildAt(4).getWidth());
            btSetup.setHeight(mTabHost.getTabWidget().getChildAt(4).getHeight());
            btSetup.bringToFront();
        }
    });

}