package io.codetail;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.ActionBarActivity;
import java.util.List;
import codetail.utils.ResourceUtils;
import codetail.widget.Toolbar;
import io.codetail.fragments.BaseWatchMeFragment;
import io.codetail.sources.Source;
import io.codetail.watchme.BuildConfig;
public abstract class WatchMeActivity extends ActionBarActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ResourceUtils.init(this);
FragmentManager.enableDebugLogging(BuildConfig.EXTRAS_LOGGING);
}
@Override
protected void onDestroy() {
super.onDestroy();
ResourceUtils.release();
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onPause() {
super.onPause();
}
/**
* Block navigation drawer, if true user can't use
* swipe to show navigation menu
*
* @param lockMode lock or node
*/
public abstract void setNavigationLockMode(boolean lockMode);
/**
* @return current present of toolbar
*/
public abstract Toolbar getToolbar();
/**
* @return Currently used source
*/
public Source getSource(){
return ((WatchMeApplication) getApplicationContext())
.getSelectedSource();
}
public void forceBack(){
super.onBackPressed();
}
@Override
public void onBackPressed() {
FragmentManager manager = getSupportFragmentManager();
List<Fragment> fragments = manager.getFragments();
BaseWatchMeFragment currentFragment = null;
if(fragments == null){
super.onBackPressed();
return;
}
if(fragments.size() > 0){
// current visible fragment
currentFragment = (BaseWatchMeFragment) fragments.get(fragments.size() - 1);
}
if(currentFragment == null || !currentFragment.onBackPressed()){
super.onBackPressed();
}
}
}