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

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

Introduction

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

Prototype

public abstract int getBackStackEntryCount();

Source Link

Document

Return the number of entries currently in the back stack.

Usage

From source file:com.memetro.android.DashboardActivity.java

@Override
public void onBackPressed() {
    if (mSlideHolder.isOpened()) {
        mSlideHolder.close();/*from  w  ww .  j a v  a  2  s.  c o m*/
        return;
    }

    FragmentManager fragmentManager = getSupportFragmentManager();
    if (fragmentManager.getBackStackEntryCount() > 0) {
        super.onBackPressed();
        return;
    }

    if (!lastWindow) {
        changeMainFragment(new ThermometerFragment(), true);
        return;
    }

    super.onBackPressed();
}

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

@Override
public boolean onSupportNavigateUp() {
    //This method is called when the up button is pressed. Just the pop back stack.
    setActionBarTitle(getString(R.string.app_name));
    FragmentManager fm = getSupportFragmentManager();
    fm.popBackStack();//www .  j a  va2 s.com
    int index = fm.getBackStackEntryCount() - 1;
    if (index >= 0) {
        BackStackEntry entry = getSupportFragmentManager().getBackStackEntryAt(index);
        currFragTag = entry.getName();
    }
    checkSettings(); //show menu
    return true;
}

From source file:ru.yandex.subtitles.ui.activity.AbstractActivity.java

@Override
public void onBackPressed() {
    final FragmentManager fragmentManager = getSupportFragmentManager();
    final int backStackEntryCount = fragmentManager.getBackStackEntryCount();
    if (backStackEntryCount > 0) {
        final OnBackKeyEventListener l = getContentFragment(OnBackKeyEventListener.class);
        if (l == null || !l.onBackPressed()) {
            if (backStackEntryCount > 1) {
                onBackPressedAction();/*www  . j  a v a  2s . c o m*/
            } else {
                finish();
            }
        }
    } else {
        onBackPressedAction();
    }
}

From source file:com.gdgdevfest.android.apps.devfestbcn.ui.tablet.MapMultiPaneActivity.java

private void clearBackStack(boolean pauseWatcher) {
    if (pauseWatcher) {
        mPauseBackStackWatcher = true;/*w w w . j ava 2  s.  c  o m*/
    }

    FragmentManager fm = getSupportFragmentManager();
    while (fm.getBackStackEntryCount() > 0) {
        fm.popBackStackImmediate();
    }

    if (pauseWatcher) {
        mPauseBackStackWatcher = false;
    }
}

From source file:com.github.nicktgn.mvp_sample.ui.NotebookActivity.java

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    // Respond to the action bar's Up/Home button
    case android.R.id.home:
        FragmentManager fm = getSupportFragmentManager();

        // no more fragments in back stack -> go to parent activity
        if (fm.getBackStackEntryCount() == 0) {
            Intent upIntent = NavUtils.getParentActivityIntent(this);
            if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
                logger.d("Creating NEW TASK...");
                // This activity is NOT part of this app's task, so create a new task
                // when navigating up, with a synthesized back stack.
                TaskStackBuilder.create(this)
                        // Add all of this activity's parents to the back stack
                        .addNextIntentWithParentStack(upIntent)
                        // Navigate up to the closest parent
                        .startActivities();
            } else {
                logger.d("Using SAME TASK...");
                // This activity is part of this app's task, so simply
                // navigate up to the logical parent activity.
                //NavUtils.navigateUpTo(this, upIntent);
                onBackPressed();//w  w  w . j av  a 2s. co m
            }
        }
        // still has fragments in back stack -> pop to previous fragment
        else {
            fm.popBackStack();
        }

        return true;
    }
    return super.onOptionsItemSelected(item);
}

From source file:org.mariotaku.twidere.activity.DualPaneActivity.java

@Override
public void onBackStackChanged() {
    if (isDualPaneMode()) {
        final FragmentManager fm = getSupportFragmentManager();
        final int count = fm.getBackStackEntryCount();
        final Fragment left_pane_fragment = fm.findFragmentById(PANE_LEFT);
        final Fragment right_pane_fragment = fm.findFragmentById(PANE_RIGHT);
        final View main_view = findViewById(R.id.main);
        final boolean left_pane_used = left_pane_fragment != null && left_pane_fragment.isAdded();
        final boolean right_pane_used = right_pane_fragment != null && right_pane_fragment.isAdded();
        if (count > 0) {
            final BackStackEntry entry = fm.getBackStackEntryAt(count - 1);
            if (entry == null)
                return;
            final Fragment fragment = BackStackEntryTrojan.getFragmentInBackStackRecord(entry);
            if (fragment instanceof Panes.Right) {
                showRightPane();//from  www  .ja  v a  2s  .  co  m
            } else if (fragment instanceof Panes.Left) {
                showLeftPane();
            }
        } else {
            if (fm.findFragmentById(R.id.main) != null || left_pane_used) {
                showLeftPane();
            } else if (right_pane_used) {
                showRightPane();
            }
        }
        if (main_view != null) {
            main_view.setVisibility(left_pane_used ? View.GONE : View.VISIBLE);
        }
    }
}

From source file:de.comdirect.collabothon2016.collabothon2016.activity.MainActivity.java

private void onShowGroupOverview() {
    getSupportActionBar().setTitle("My Groups");
    MyGroupsFragment frag = MyGroupsFragment.newInstance(null, null);
    String tag = frag.getClass().getSimpleName();

    FragmentManager fm = getSupportFragmentManager();
    boolean hasBackStackEntries = fm.getBackStackEntryCount() > 0;

    FragmentTransaction ft = fm.beginTransaction();
    if (hasBackStackEntries) {
        ft.addToBackStack(null);/*w  w w. j  av a  2  s. c  o m*/
    }
    ft.replace(R.id.nav_drawer_content, frag, tag);
    ft.commit();
}

From source file:de.comdirect.collabothon2016.collabothon2016.activity.MainActivity.java

private void onShowGroupDetails(Group group) {
    GroupSelectedEvent event = new GroupSelectedEvent();
    event.group = group;// www  .  j  av a2 s . c  om
    EventBus.getDefault().postSticky(event);

    getSupportActionBar().setTitle(group.groupName);
    GroupDetailsFragment frag = GroupDetailsFragment.newInstance(null, null);
    String tag = frag.getClass().getSimpleName();

    FragmentManager fm = getSupportFragmentManager();
    boolean hasBackStackEntries = fm.getBackStackEntryCount() > 0;

    FragmentTransaction ft = fm.beginTransaction();
    //        if (hasBackStackEntries) {
    ft.addToBackStack(null);
    //        }
    ft.replace(R.id.nav_drawer_content, frag, tag);
    ft.commit();
}

From source file:com.orange.essentials.otb.OtbActivity.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.otb_activity);

    /** Manage toolbar */
    if (getSupportActionBar() != null) {
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle(R.string.otb_app_name);
    }/*from   www.j av a  2 s . c  o  m*/

    /** Calling the fragment */
    if (savedInstanceState == null) {
        isMasterDetail = useMasterDetail();
        initFragments();
    } else {
        Log.v(TAG, "savedInstanceState != null");
        Log.v(TAG, "useMasterDetail: " + useMasterDetail());
        if (useMasterDetail() != isMasterDetail) {
            Log.v(TAG, "popBackstack");
            //restore from scratch
            FragmentManager fm = getSupportFragmentManager();
            for (int i = 0; i < fm.getBackStackEntryCount(); ++i) {
                fm.popBackStack();
            }
            initFragments();
            isMasterDetail = useMasterDetail();
        }
    }

    TrustBadgeManager.INSTANCE.addBadgeListener(this);
}

From source file:com.omer727.facebook.widget.FacebookWidgetActivity.java

private void onSessionStateChange(Session session, SessionState state, Exception exception) {
    // Only make changes if the activity is visible
    if (isResumed) {
        FragmentManager manager = getSupportFragmentManager();
        // Get the number of entries in the back stack
        int backStackSize = manager.getBackStackEntryCount();
        // Clear the back stack
        for (int i = 0; i < backStackSize; i++) {
            manager.popBackStack();//w  w  w .  j  a va 2s.co  m
        }
        if (state.isOpened()) {
            // If the session state is open:
            // Show the authenticated fragment
            showFragment(SELECTION, false);
        } else if (state.isClosed()) {
            // If the session state is closed:
            // Show the login fragment
            showFragment(SPLASH, false);
        }
    }
}