package com.evancharlton.mileage.io.importers;
import com.evancharlton.mileage.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
public abstract class CsvWizardActivity extends Activity implements View.OnClickListener {
protected static final int REQUEST_NEXT = 0;
protected static final int FINISH = 1;
protected static final int PREVIOUS = 2;
private Button mNextButton;
private Button mPrevButton;
protected LinearLayout mContainer;
private TextView mHeaderText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wizard);
mContainer = (LinearLayout) findViewById(R.id.container);
mNextButton = (Button) findViewById(R.id.next);
mNextButton.setOnClickListener(this);
mPrevButton = (Button) findViewById(R.id.previous);
mPrevButton.setOnClickListener(this);
}
protected final Button getPreviousButton() {
return mPrevButton;
}
protected final Button getNextButton() {
return mNextButton;
}
protected final void setHeaderText(int resId) {
if (mHeaderText == null) {
mHeaderText = (TextView) findViewById(android.R.id.text1);
}
mHeaderText.setText(resId);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.next:
Intent intent = getIntent();
if (!buildIntent(intent)) {
finish();
} else {
startActivityForResult(intent, REQUEST_NEXT);
}
break;
case R.id.previous:
finish();
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQUEST_NEXT:
if (resultCode == FINISH) {
setResult(resultCode);
finish();
}
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
protected abstract boolean buildIntent(Intent intent);
}