package edu.vanderbilt.cs282.feisele.lab05;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
/**
* An abstract activity which logs the life-cycle call backs. The GOF decorator
* pattern implemented via inheritance.
*
* @author "Fred Eisele" <phreed@gmail.com>
*/
public abstract class LifecycleLoggingActivity extends FragmentActivity {
static private final Logger logger = LoggerFactory.getLogger("class.logging.activity");
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
logger.debug("onCreate: activity rebuilt");
if (savedInstanceState == null) {
logger.debug("onCreate: activity created fresh");
} else {
logger.debug("onCreate: activity restarted");
}
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
if (savedInstanceState == null) {
logger.debug("onRestoreInstanceState: activity created fresh");
} else {
logger.debug("onRestoreInstanceState: activity restarted");
}
}
@Override
public void onStart() {
super.onStart();
logger.debug("onStart");
}
@Override
public void onResume() {
super.onResume();
logger.debug("onResume");
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
logger.debug("onSaveInstanceState");
}
@Override
public void onPause() {
super.onPause();
logger.debug("onPause");
}
@Override
public void onStop() {
super.onStop();
logger.debug("onStop");
}
@Override
public void onDestroy() {
super.onDestroy();
logger.debug("onDestroy");
}
@Override
public void onRestart() {
super.onRestart();
logger.debug("onRestart");
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
logger.debug("onActivityResult request={} result={} intent=[{}]",
requestCode, resultCode, data);
}
@Override
public void onAttachFragment(Fragment fragment) {
super.onAttachFragment(fragment);
logger.debug("onAttachFragment");
}
}