package com.jasonrobinson.racer.ui.base;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import com.jasonrobinson.racer.analytics.AnalyticsManager;
import com.jasonrobinson.racer.db.DatabaseManager;
import com.jasonrobinson.racer.util.SettingsManager;
import com.metova.slim.SlimActivity;
public class BaseActivity extends ActionBarActivity {
private final BaseActivityImpl mImpl = new BaseActivityImpl(this, showSettingsMenu());
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mImpl.onCreate(savedInstanceState);
}
@Override
protected void onStart() {
super.onStart();
mImpl.onStart();
}
@Override
protected void onStop() {
super.onStop();
mImpl.onStop();
}
@Override
public void onSupportContentChanged() {
super.onSupportContentChanged();
mImpl.onContentChanged();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return mImpl.onCreateOptionsMenu(menu) || super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return mImpl.onOptionsItemSelected(item) || super.onOptionsItemSelected(item);
}
@Override
public void finish() {
super.finish();
mImpl.finish();
}
public boolean showSettingsMenu() {
return true;
}
@Override
public void setTitle(int titleId) {
setTitle(getString(titleId));
}
@Override
public void setTitle(CharSequence title) {
super.setTitle(mImpl.formatTitleText(title));
}
public SettingsManager getSettingsManager() {
return mImpl.getSettingsManager();
}
public AnalyticsManager getAnalyticsManager() {
return mImpl.getAnalyticsManager();
}
public DatabaseManager getDatabaseManager() {
return mImpl.getdDatabaseManager();
}
}