package com.code44.finance.ui;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import com.code44.finance.R;
import com.code44.finance.ui.common.BaseActivity;
import com.code44.finance.ui.dialogs.DeleteDialogFragment;
import com.squareup.otto.Subscribe;
public abstract class ModelActivityOld extends BaseActivity {
protected static final String FRAGMENT_MODEL = "FRAGMENT_MODEL";
private static final String EXTRA_MODEL_SERVER_ID = "EXTRA_MODEL_SERVER_ID";
private final Object eventHandler = new Object() {
@Subscribe public void onItemDeleted(DeleteDialogFragment.DeleteDialogEvent event) {
if (event.getRequestCode() == ModelFragment.REQUEST_DELETE && event.isPositiveClicked()) {
finish();
}
}
};
protected String modelServerId;
public static Intent makeIntent(Context context, Class<? extends ModelActivityOld> activityClass, String modelServerId) {
final Intent intent = makeIntentForActivity(context, activityClass);
intent.putExtra(EXTRA_MODEL_SERVER_ID, modelServerId);
return intent;
}
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
readExtras();
final int contentId = inflateActivity();
// Setup ActionBar
getSupportActionBar().setTitle(getActionBarTitleResId());
// Fragment
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction().add(contentId, createModelFragment(modelServerId), FRAGMENT_MODEL).commit();
}
getEventBus().register(eventHandler);
}
@Override protected void onDestroy() {
super.onDestroy();
getEventBus().unregister(eventHandler);
}
protected abstract int getActionBarTitleResId();
protected abstract ModelFragment createModelFragment(String modelServerId);
protected void readExtras() {
modelServerId = getIntent().getStringExtra(EXTRA_MODEL_SERVER_ID);
}
protected int inflateActivity() {
setContentView(R.layout.activity_simple);
return R.id.content;
}
}