package net.pillageandplunder.chickenfooter;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
public class Scores extends ListActivity {
private static final int ACTIVITY_SCORE_NEW=0;
private static final int INSERT_ID = Menu.FIRST;
private Long mPlayerId;
private String mPlayerName;
private ChickenDatabase mDbHelper;
private Cursor mScoresCursor;
private TextView mNameText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.scores);
mNameText = (TextView)findViewById(R.id.scores_player_name);
Bundle extras = getIntent().getExtras();
if (extras != null) {
mPlayerId = extras.getLong("playerId");
mPlayerName = extras.getString("name");
mNameText.setText(mPlayerName);
}
mDbHelper = new ChickenDatabase(this);
mDbHelper.open();
fillData();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuItem mi = menu.add(0, INSERT_ID, 0, R.string.add_score);
mi.setIcon(android.R.drawable.ic_menu_add);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch(item.getItemId()) {
case INSERT_ID:
newScore();
return true;
}
return super.onMenuItemSelected(featureId, item);
}
private void fillData() {
// Get all of the notes from the database and create the item list
mScoresCursor = mDbHelper.fetchAllScores(mPlayerId);
startManagingCursor(mScoresCursor);
String[] from = new String[] { "value" };
int[] to = new int[] { R.id.score_value1 };
// Now create an array adapter and set it to display using our row
SimpleCursorAdapter scores =
new SimpleCursorAdapter(this, R.layout.scores_row, mScoresCursor, from, to);
setListAdapter(scores);
}
private void newScore() {
Intent i = new Intent(this, ScoreNew.class);
i.putExtra("name", mPlayerName);
startActivityForResult(i, ACTIVITY_SCORE_NEW);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode != RESULT_OK)
return;
Bundle extras = intent.getExtras();
switch(requestCode) {
case ACTIVITY_SCORE_NEW:
if (extras != null) {
try {
int value = Integer.decode(extras.getString("value"));
mDbHelper.createScore(mPlayerId, value);
fillData();
}
catch (NumberFormatException e) {
}
}
break;
}
}
}