package com.dinhcv.lifelogpedometer.activity; import android.content.Context; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import com.dinhcv.lifelogpedometer.R; import com.dinhcv.lifelogpedometer.utils.Debug; public class TopFragment extends FragmentBase implements SettingFragmentPresenter { public enum TopFragmentTag { TOP_DATE, TOP_TODAY, } private FragmentTransaction mFragmentTransaction; private FragmentManager mFragmentManager; private View mRootView; private FrameLayout mTopLayout; private TopDateFragment mTopDateFragment; private TopTodayFragment mTopTodayFragment; public static final String TOP_DATE_TAG = "top_date"; public static final String TOP_TODAY_TAG = "top_today"; public TopFragmentTag mCurrentFragment = TopFragmentTag.TOP_DATE; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment mRootView = inflater.inflate(R.layout.fragment_top, container, false); mFragmentManager = getFragmentManager(); mFragmentTransaction = mFragmentManager.beginTransaction(); initView(); initData(); return mRootView; } /** */ private void initView() { mTopLayout = (FrameLayout) mRootView.findViewById(R.id.layout_top); mTopDateFragment = new TopDateFragment(); mTopDateFragment.setRootFragment(this); mTopTodayFragment = new TopTodayFragment(); mTopTodayFragment.setRootFragment(this); showContentFragment(); } public void showContentFragment() { ((PedometerActivity) getActivity()).setVisibleIconHome(false); mCurrentFragment = TopFragmentTag.TOP_DATE; mFragmentTransaction = mFragmentManager.beginTransaction(); mFragmentTransaction.replace(mTopLayout.getId(), mTopDateFragment, TOP_DATE_TAG); mFragmentTransaction.commit(); } public void showDetailFragment() { ((PedometerActivity) getActivity()).setVisibleIconHome(true); mCurrentFragment = TopFragmentTag.TOP_TODAY; mFragmentTransaction = mFragmentManager.beginTransaction(); mFragmentTransaction.replace(mTopLayout.getId(), mTopTodayFragment, TOP_TODAY_TAG); mFragmentTransaction.commit(); } public void clickBackToHome(){ switch (mCurrentFragment) { case TOP_DATE: break; case TOP_TODAY: showContentFragment(); break; default: break; } } /** * Init data */ private void initData() { Debug.normal("Current fragment : "+ mCurrentFragment); if (mCurrentFragment == TopFragmentTag.TOP_DATE){ ((PedometerActivity) getActivity()).setVisibleIconHome(false); }else { ((PedometerActivity) getActivity()).setVisibleIconHome(true); } } @Override public void onAttach(Context context) { super.onAttach(context); } /** * Save data */ @Override public void onSaveData() { } @Override public void onInvalidate(boolean isInit) { initData(); } @Override public void onViewStateRestored(@Nullable Bundle savedInstanceState) { super.onViewStateRestored(savedInstanceState); initData(); } }