Example usage for android.support.v4.app FragmentTransaction commitAllowingStateLoss

List of usage examples for android.support.v4.app FragmentTransaction commitAllowingStateLoss

Introduction

In this page you can find the example usage for android.support.v4.app FragmentTransaction commitAllowingStateLoss.

Prototype

public abstract int commitAllowingStateLoss();

Source Link

Document

Like #commit but allows the commit to be executed after an activity's state is saved.

Usage

From source file:com.seo.app.views.FragmentTabHost.java

@Override
protected void onAttachedToWindow() {
    super.onAttachedToWindow();

    String currentTab = getCurrentTabTag();

    // Go through all tabs and make sure their fragments match
    // the correct state.
    FragmentTransaction ft = null;
    for (int i = 0; i < mTabs.size(); i++) {
        TabInfo tab = mTabs.get(i);//from  w w  w.  j a  va  2s  .  c o m
        tab.fragment = mFragmentManager.findFragmentByTag(tab.tag);
        //         if (tab.fragment != null && !tab.fragment.isDetached()) {
        if (tab.fragment != null) {
            if (tab.tag.equals(currentTab)) {
                // The fragment for this tab is already there and
                // active, and it is what we really want to have
                // as the current tab. Nothing to do.
                mLastTab = tab;
            } else {
                // This fragment was restored in the active state,
                // but is not the current tab. Deactivate it.
                if (ft == null) {
                    ft = mFragmentManager.beginTransaction();
                }
                //               ft.detach(tab.fragment);
                ft.hide(tab.fragment);
            }
        }
    }

    // We are now ready to go. Make sure we are switched to the
    // correct tab.
    mAttached = true;
    ft = doTabChanged(currentTab, ft);
    if (ft != null) {
        ft.commitAllowingStateLoss();
        //         mFragmentManager.executePendingTransactions();
    }
}

From source file:com.metinkale.prayerapp.compass.Main.java

private void updateFrag(Mode mode) {

    if (mMode != mode) {
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

        if ((mode == Mode.TwoDim) && mFrag2D.mHidden) {
            fragmentTransaction.remove((Fragment) mList);
            mList = mFrag2D;/* www. ja va 2s . c o m*/
            mFrag2D.show();
        } else if (mode == Mode.ThreeDim) {

            if (PermissionUtils.get(this).pCamera) {

                if (mFrag3D == null) {
                    mFrag3D = new Frag3D();
                }

                if (mList != mFrag3D) {
                    fragmentTransaction.replace(R.id.frag, mFrag3D, "3d");

                    mList = mFrag3D;
                    mFrag2D.hide();
                }
            } else {
                PermissionUtils.get(this).needCamera(this);
            }

        } else if (mode == Mode.Map) {

            if (mFragMap == null) {
                mFragMap = new FragMap();
            }

            if (mList != mFragMap) {
                fragmentTransaction.replace(R.id.frag, mFragMap, "map");

                mList = mFragMap;
                mFrag2D.hide();
            }

        }
        if (!isFinishing())
            fragmentTransaction.commitAllowingStateLoss();
    }
    mMode = mode;
}

From source file:com.mhtl.businesscenter.widget.CustomFragmentTabHost.java

@Override
protected void onAttachedToWindow() {
    super.onAttachedToWindow();

    String currentTab = getCurrentTabTag();

    // Go through all tabs and make sure their fragments match
    // the correct state.
    FragmentTransaction ft = null;
    for (int i = 0; i < mTabs.size(); i++) {
        TabInfo tab = mTabs.get(i);//w  w w  .  j a va2s  .c  o  m
        tab.fragment = mFragmentManager.findFragmentByTag(tab.tag);
        //          if (tab.fragment != null && !tab.fragment.isDetached()) {
        if (tab.fragment != null) {
            if (tab.tag.equals(currentTab)) {
                // The fragment for this tab is already there and
                // active, and it is what we really want to have
                // as the current tab. Nothing to do.
                mLastTab = tab;
            } else {
                // This fragment was restored in the active state,
                // but is not the current tab. Deactivate it.
                if (ft == null) {
                    ft = mFragmentManager.beginTransaction();
                }
                //                  ft.detach(tab.fragment);
                ft.hide(tab.fragment);
            }
        }
    }

    // We are now ready to go. Make sure we are switched to the
    // correct tab.
    mAttached = true;
    ft = doTabChanged(currentTab, ft);
    if (ft != null) {
        //            ft.commit();
        ft.commitAllowingStateLoss();
        mFragmentManager.executePendingTransactions();
    }
}

From source file:com.android.gallery3d.filtershow.FilterShowActivity.java

public void loadMainPanel() {
    if (findViewById(R.id.main_panel_container) == null) {
        return;//from w  w w  .  j  av  a 2 s .c  o  m
    }
    MainPanel panel = new MainPanel();
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.main_panel_container, panel, MainPanel.FRAGMENT_TAG);
    transaction.commitAllowingStateLoss();
}

From source file:com.onefengma.taobuxiu.views.core.FragmentTabHost.java

@Override
protected void onAttachedToWindow() {
    super.onAttachedToWindow();

    String currentTab = getCurrentTabTag();

    // Go through all tabs and make sure their fragments match
    // the correct state.
    FragmentTransaction ft = null;
    for (int i = 0; i < mTabs.size(); i++) {
        TabInfo tab = mTabs.get(i);/*from  ww w. j  av a  2  s .  c o  m*/
        tab.fragment = mFragmentManager.findFragmentByTag(tab.tag);
        //              if (tab.fragment != null && !tab.fragment.isDetached()) {
        if (tab.fragment != null) {
            if (tab.tag.equals(currentTab)) {
                // The fragment for this tab is already there and
                // active, and it is what we really want to have
                // as the current tab. Nothing to do.
                mLastTab = tab;
            } else {
                // This fragment was restored in the active state,
                // but is not the current tab. Deactivate it.
                if (ft == null) {
                    ft = mFragmentManager.beginTransaction();
                }
                //                      ft.detach(tab.fragment);
                ft.hide(tab.fragment);
            }
        }
    }

    // We are now ready to go. Make sure we are switched to the
    // correct tab.
    mAttached = true;
    ft = doTabChanged(currentTab, ft);
    if (ft != null) {
        //                ft.commit();
        ft.commitAllowingStateLoss();
        mFragmentManager.executePendingTransactions();
    }
}

From source file:com.ustc.dystu.dandelion.fragment.BaseFragmentTabHost.java

@Override
protected void onAttachedToWindow() {
    super.onAttachedToWindow();

    String currentTab = getCurrentTabTag();
    Logger.d("TAB", "currentTab:" + currentTab);

    // Go through all tabs and make sure their fragments match
    // the correct state.
    FragmentTransaction ft = null;
    for (int i = 0; i < mTabs.size(); i++) {
        TabInfo tab = mTabs.get(i);//from   w  w  w. j  ava 2  s.  c  om
        tab.fragment = mFragmentManager.findFragmentByTag(tab.tag);
        if (tab.fragment != null && !tab.fragment.isDetached()) {
            if (tab.tag.equals(currentTab)) {
                // The fragment for this tab is already there and
                // active, and it is what we really want to have
                // as the current tab. Nothing to do.
                mLastTab = tab;
                Logger.d("TAB", "lastTab:" + mLastTab.tag);
            } else {
                // This fragment was restored in the active state,
                // but is not the current tab. Deactivate it.
                if (ft == null) {
                    ft = mFragmentManager.beginTransaction();
                }
                Logger.d("TAB", "detachTab:" + tab.tag);
                ft.detach(tab.fragment);
            }
        }
    }

    // We are now ready to go. Make sure we are switched to the
    // correct tab.
    mAttached = true;
    ft = doTabChanged(currentTab, ft);
    if (ft != null) {
        //            ft.commit();
        ft.commitAllowingStateLoss();
        mFragmentManager.executePendingTransactions();
    }
}

From source file:com.yahala.ui.LaunchActivity.java

public void finishFragment(boolean bySwipe) {

    if (getCurrentFocus() != null) {
        OSUtilities.hideKeyboard(getCurrentFocus());
    }//www.  j  a  v a  2 s.c o  m
    if (ApplicationLoader.fragmentsStack.size() < 2) {
        for (BaseFragment fragment : ApplicationLoader.fragmentsStack) {
            fragment.onFragmentDestroy();
        }
        ApplicationLoader.fragmentsStack.clear();
        MainActivity fragment = new MainActivity();
        fragment.onFragmentCreate();
        ApplicationLoader.fragmentsStack.add(fragment);
        getSupportFragmentManager().beginTransaction().replace(R.id.container, fragment, "chats")
                .commitAllowingStateLoss();
        return;
    }

    BaseFragment fragment = ApplicationLoader.fragmentsStack.get(ApplicationLoader.fragmentsStack.size() - 1);
    fragment.onFragmentDestroy();
    BaseFragment prev = ApplicationLoader.fragmentsStack.get(ApplicationLoader.fragmentsStack.size() - 2);
    FragmentManager fm = getSupportFragmentManager();
    FragmentTransaction fTrans = fm.beginTransaction();
    SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("mainconfig",
            Activity.MODE_PRIVATE);
    boolean animations = preferences.getBoolean("view_animations", true);
    if (animations) {
        if (bySwipe) {
            fTrans.setCustomAnimations(R.anim.no_anim, R.anim.no_anim);
        } else {
            fTrans.setCustomAnimations(R.anim.scale_in_out_d_r, R.anim.scale_out_in_d_r);
        }
    }
    fTrans.replace(R.id.container, prev, prev.getTag());
    fTrans.commitAllowingStateLoss();
    ApplicationLoader.fragmentsStack.remove(ApplicationLoader.fragmentsStack.size() - 1);
}

From source file:org.proninyaroslav.libretorrent.fragments.DetailTorrentFragment.java

private void initFragments() {
    if (viewPager != null) {
        return;//from w w w .  ja  va  2s. c  o m
    }

    ArrayList<BencodeFileItem> files = null;
    ArrayList<Priority> priorities = null;

    if (infoCache != null) {
        files = infoCache.getFiles();
    }

    if (torrent != null && files != null) {
        /*
         * The index position in array must be
         * equal to the priority position in array
         */
        priorities = new ArrayList<>();
        List<Integer> torrentPriorities = torrent.getFilePriorities();

        for (int i = 0; i < torrentPriorities.size(); i++) {
            priorities.add(Priority.fromSwig(torrentPriorities.get(i)));
        }
    }

    DetailTorrentInfoFragment fragmentInfo = DetailTorrentInfoFragment.newInstance(torrent, infoCache);
    DetailTorrentStateFragment fragmentState = DetailTorrentStateFragment.newInstance(infoCache);
    DetailTorrentFilesFragment fragmentFiles = DetailTorrentFilesFragment.newInstance(files, priorities);
    DetailTorrentTrackersFragment fragmentTrackers = DetailTorrentTrackersFragment.newInstance();
    DetailTorrentPeersFragment fragmentPeers = DetailTorrentPeersFragment.newInstance();
    DetailTorrentPiecesFragment fragmentPieces = DetailTorrentPiecesFragment
            .newInstance(infoCache.getNumPieces(), infoCache.getPieceLength());

    viewPager = (ViewPager) activity.findViewById(R.id.detail_torrent_viewpager);

    if (viewPager == null) {
        return;
    }

    /* Removing previous ViewPagerAdapter fragments, if any */
    if (Utils.isTablet(activity.getApplicationContext())) {
        android.support.v4.app.FragmentManager fm = activity.getSupportFragmentManager();
        List<android.support.v4.app.Fragment> fragments = fm.getFragments();

        if (fragments != null) {
            FragmentTransaction ft = fm.beginTransaction();
            for (android.support.v4.app.Fragment f : fragments) {
                if (f != null) {
                    ft.remove(f);
                }
            }

            ft.commitAllowingStateLoss();
        }
    }

    adapter = new ViewPagerAdapter(activity.getSupportFragmentManager());
    adapter.addFragment(fragmentInfo, INFO_FRAG_POS, getString(R.string.torrent_info));
    adapter.addFragment(fragmentState, STATE_FRAG_POS, getString(R.string.torrent_state));
    adapter.addFragment(fragmentFiles, FILE_FRAG_POS, getString(R.string.torrent_files));
    adapter.addFragment(fragmentTrackers, TRACKERS_FRAG_POS, getString(R.string.torrent_trackers));
    adapter.addFragment(fragmentPeers, PEERS_FRAG_POS, getString(R.string.torrent_peers));
    adapter.addFragment(fragmentPieces, PIECES_FRAG_POS, getString(R.string.torrent_pieces));
    viewPager.setAdapter(adapter);
    viewPager.setOffscreenPageLimit(6);
    viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            /* Nothing */
        }

        @Override
        public void onPageSelected(int position) {
            switch (position) {
            case STATE_FRAG_POS:
                DetailTorrentStateFragment stateFrag = (DetailTorrentStateFragment) adapter
                        .getItem(STATE_FRAG_POS);
                if (stateFrag != null) {
                    stateFrag.setState(stateCache);
                    stateFrag.setActiveAndSeedingTime(activeTimeCache, seedingTimeCache);
                }
                break;
            case FILE_FRAG_POS:
                DetailTorrentFilesFragment fileFrag = (DetailTorrentFilesFragment) adapter
                        .getItem(FILE_FRAG_POS);
                if (fileFrag != null) {
                    fileFrag.setFilesReceivedBytes(stateCache.filesReceivedBytes);
                }
                break;
            case TRACKERS_FRAG_POS:
                DetailTorrentTrackersFragment trackersFrag = (DetailTorrentTrackersFragment) adapter
                        .getItem(TRACKERS_FRAG_POS);
                if (trackersFrag != null) {
                    trackersFrag.setTrackersList(new ArrayList<>(trackersCache.getAll()));
                }
                break;
            case PEERS_FRAG_POS:
                DetailTorrentPeersFragment peersFrag = (DetailTorrentPeersFragment) adapter
                        .getItem(PEERS_FRAG_POS);
                if (peersFrag != null) {
                    peersFrag.setPeerList(new ArrayList<>(peersCache.getAll()));
                }
                break;
            case PIECES_FRAG_POS:
                DetailTorrentPiecesFragment piecesFrag = (DetailTorrentPiecesFragment) adapter
                        .getItem(PIECES_FRAG_POS);

                if (piecesFrag != null) {
                    piecesFrag.setPieces(piecesCache);
                    piecesFrag.setDownloadedPiecesCount(stateCache.downloadedPieces);
                }
                break;
            }
        }

        @Override
        public void onPageScrollStateChanged(int state) {
            /* Nothing */
        }
    });
    tabLayout = (TabLayout) activity.findViewById(R.id.detail_torrent_tabs);

    int colorId = (childInActionMode ? R.color.action_mode : R.color.primary);
    setTabLayoutColor(colorId);

    tabLayout.setupWithViewPager(viewPager);

    if (bound && serviceCallback != null) {
        try {
            ipc.sendTorrentStateOneShot(serviceCallback, clientCallback);

        } catch (RemoteException e) {
            Log.e(TAG, Log.getStackTraceString(e));
        }
    }
}

From source file:com.android.gallery3d.v5.filtershow.FilterShowActivity.java

public void loadMainPanel() {
    if (findViewById(R.id.main_panel_container) == null) {
        return;//  w ww.java 2s.  c o  m
    }
    LewaMainPanel panel = new LewaMainPanel();
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.main_panel_container, panel, MainPanel.FRAGMENT_TAG);
    transaction.commitAllowingStateLoss();

}

From source file:org.telegram.ui.LaunchActivity.java

public void presentFragment(BaseFragment fragment, String tag, boolean removeLast, boolean bySwipe) {
    if (getCurrentFocus() != null) {
        Utilities.hideKeyboard(getCurrentFocus());
    }/*from ww w  .j  a va  2  s  .c om*/
    if (!fragment.onFragmentCreate()) {
        return;
    }
    BaseFragment current = null;
    if (!ApplicationLoader.fragmentsStack.isEmpty()) {
        current = ApplicationLoader.fragmentsStack.get(ApplicationLoader.fragmentsStack.size() - 1);
    }
    if (current != null) {
        current.willBeHidden();
    }
    FragmentManager fm = getSupportFragmentManager();
    FragmentTransaction fTrans = fm.beginTransaction();
    if (removeLast && current != null) {
        ApplicationLoader.fragmentsStack.remove(ApplicationLoader.fragmentsStack.size() - 1);
        current.onFragmentDestroy();
    }
    SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("mainconfig",
            Activity.MODE_PRIVATE);
    boolean animations = preferences.getBoolean("view_animations", true);
    if (animations) {
        if (bySwipe) {
            fTrans.setCustomAnimations(R.anim.slide_left, R.anim.no_anim);
        } else {
            fTrans.setCustomAnimations(R.anim.scale_in, R.anim.no_anim);
        }
    }
    try {
        fTrans.replace(R.id.container, fragment, tag);
        fTrans.commitAllowingStateLoss();
    } catch (Exception e) {
        FileLog.e("tmessages", e);
    }
    ApplicationLoader.fragmentsStack.add(fragment);
}