package com.erakk.lnreader.UI.activity; import android.os.Bundle; import android.support.v4.app.FragmentTransaction; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import com.erakk.lnreader.Constants; import com.erakk.lnreader.R; import com.erakk.lnreader.UI.fragment.DisplayLightNovelDetailsFragment; import com.erakk.lnreader.UI.fragment.DisplayLightNovelListFragment; import com.erakk.lnreader.UI.fragment.DisplayNovelTabFragment; import com.erakk.lnreader.UI.fragment.IFragmentListener; import com.erakk.lnreader.UIHelper; public class NovelListContainerActivity extends BaseActivity implements IFragmentListener { private static final String TAG = NovelListContainerActivity.class.toString(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragactivity_framework); // get the intent args boolean onlyWatched = getIntent().getBooleanExtra(Constants.EXTRA_ONLY_WATCHED, false); String mode = getIntent().getStringExtra(Constants.EXTRA_NOVEL_LIST_MODE); String lang = getIntent().getStringExtra(Constants.EXTRA_NOVEL_LANG); String loadedNovel = getIntent().getStringExtra(Constants.EXTRA_PAGE); Log.i(TAG, "IsWatched: " + onlyWatched + " Mode: " + mode + " lang: " + lang); init(onlyWatched, mode, lang, loadedNovel); } private void init(boolean onlyWatched, String mode, String lang, String loadedNovel) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); if (mContent == null) { // Fragment setup Bundle b = new Bundle(); b.putString(Constants.EXTRA_NOVEL_LIST_MODE, mode); b.putBoolean(Constants.EXTRA_ONLY_WATCHED, onlyWatched); b.putString(Constants.EXTRA_NOVEL_LANG, lang); b.putString(Constants.EXTRA_PAGE, loadedNovel); if (onlyWatched) { mContent = new DisplayLightNovelListFragment(); } else { mContent = new DisplayNovelTabFragment(); } mContent.setArguments(b); } transaction.replace(R.id.mainFrame, mContent).commit(); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); return true; } @Override protected void onRestart() { super.onRestart(); //if(adapter != null) adapter.notifyDataSetChanged(); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.invert_colors: UIHelper.ToggleColorPref(this); UIHelper.Recreate(this); return true; case android.R.id.home: super.onBackPressed(); return true; } return super.onOptionsItemSelected(item); } @Override public void changeNextFragment(Bundle bundle) { mContent = new DisplayLightNovelDetailsFragment(); bundle.putBoolean("show_list_child", true); mContent.setArguments(bundle); if (findViewById(R.id.rightFragment) != null) { getSupportFragmentManager().beginTransaction() .replace(R.id.rightFragment, mContent, DisplayLightNovelDetailsFragment.class.toString()) .commit(); } else { getSupportFragmentManager().beginTransaction() .replace(R.id.mainFrame, mContent, DisplayLightNovelDetailsFragment.class.toString()) .addToBackStack(null) .commit(); } overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left); } }