Example usage for android.support.v4.app BackStackEntryTrojan getFragmentInBackStackRecord

List of usage examples for android.support.v4.app BackStackEntryTrojan getFragmentInBackStackRecord

Introduction

In this page you can find the example usage for android.support.v4.app BackStackEntryTrojan getFragmentInBackStackRecord.

Prototype

public static Fragment getFragmentInBackStackRecord(final FragmentManager.BackStackEntry entry) 

Source Link

Usage

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   w w  w.  j a  v a2  s.c o  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:com.afayear.android.client.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();/*  ww  w .  ja  v a  2 s  .  c om*/
            } 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) {
            final int visibility = left_pane_used ? View.GONE : View.VISIBLE;
            // Visibility changed, so start animation.
            if (main_view.getVisibility() != visibility) {
                final Animation anim = AnimationUtils.loadAnimation(this,
                        left_pane_used ? android.R.anim.fade_out : android.R.anim.fade_in);
                main_view.startAnimation(anim);
            }
            main_view.setVisibility(visibility);
        }
    }
}

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

@Override
public void onBackStackChanged() {
    if (!isDualPaneMode())
        return;/*from  w  w  w. j  av  a  2s  .  c om*/
    final FragmentManager fm = getSupportFragmentManager();
    final int count = fm.getBackStackEntryCount();
    final Fragment leftPaneFragment = fm.findFragmentById(PANE_LEFT);
    final Fragment rightPaneFragment = fm.findFragmentById(PANE_RIGHT);
    final boolean leftPaneUsed = leftPaneFragment != null && leftPaneFragment.isAdded();
    final boolean rightPaneUsed = rightPaneFragment != null && rightPaneFragment.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();
        } else if (fragment instanceof Panes.Left) {
            showLeftPane();
        }
    } else {
        if (fm.findFragmentById(getMainViewId()) != null || leftPaneUsed) {
            showLeftPane();
        } else if (rightPaneUsed) {
            showRightPane();
        }
    }
    updateMainViewVisibility();
}