Fixed clear history

Fixed the clear history menu item to clear the game's history from the
database.

rolls generator to ref the number pickers, this fixed the rotation bugs.

added roll totals to roll logs

update git to ignore bin and gen folders

Change-Id: I6b3659cf06e00e38b2939f0ed3d1bd7d4f84e790
Signed-off-by: Ricky Barrette <rickbarrette@gmail.com>
This commit is contained in:
2012-02-06 00:33:59 -05:00
parent 8e92e1f9f2
commit a4b61967ac
3 changed files with 65 additions and 52 deletions

2
ExaltedDice/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/bin
/gen

View File

@@ -226,6 +226,49 @@ public class Database {
return ringerName;
}
/**
* Clears the history of a game by it's id
* @param gameId
* @author ricky barrette
*/
public void clearHistory(final long gameId) {
final ProgressDialog progress = ProgressDialog.show(Database.this.mContext, "", Database.this.mContext.getText(R.string.deleteing), true, true);
final Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
if(Database.this.mListener != null)
Database.this.mListener.onDeletionComplete();
progress.dismiss();
}
};
//game deleting thread
new Thread( new Runnable(){
@Override
public void run(){
Looper.prepare();
/*
* get the game name from the id, and then delete all its information from the game history table
*/
Database.this.mDb.delete(GAME_HISTORY_TABLE, KEY_NAME +" = "+ DatabaseUtils.sqlEscapeString(getGameName(gameId)), null);
/*
* update the game table
*/
ContentValues game= new ContentValues();
//store the current roll
game.put(KEY_ROLL_ID, 0);
mDb.update(GAME_NAME_TABLE, game, "id" + "= "+ gameId, null);
handler.sendEmptyMessage(0);
}
}).start();
}
/**
* Closes the database
* @author ricky barrette

View File

@@ -22,17 +22,14 @@ import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.NumberPicker;
import android.widget.NumberPicker.OnValueChangeListener;
import android.widget.Toast;
import com.TwentyCodes.android.exception.ExceptionHandler;
public class ExaltedDice extends Activity implements OnClickListener, OnItemClickListener, OnValueChangeListener {
public class ExaltedDice extends Activity implements OnClickListener, OnItemClickListener {
private ListView mListView;
private int intSuccesses;
private int mRolls = 1;
private int mD = 2;
private NumberPicker mNumberPicker;
private NumberPicker mDPicker;
private Database mDb;
@@ -49,11 +46,10 @@ public class ExaltedDice extends Activity implements OnClickListener, OnItemClic
/**
* clears the rollHistory List array and refreshes the listview
*
* @author ricky barrette
*/
private void clearHistory() {
//TODO clear history
mDb.clearHistory(mGameId);
refresh();
}
@@ -107,18 +103,17 @@ public class ExaltedDice extends Activity implements OnClickListener, OnItemClic
mListView = (ListView) findViewById(R.id.list);
mListView.setOnItemClickListener(this);
mListView.setStackFromBottom(true);
mDPicker = (NumberPicker) findViewById(R.id.d_Picker);
mDPicker.setMinValue(0);
mDPicker.setMaxValue(DICE_VALUES.length -1);
mDPicker.setDisplayedValues(DICE_VALUES);
mDPicker.setOnValueChangedListener(this);
mDPicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
mNumberPicker = (NumberPicker) findViewById(R.id.number_Picker);
mNumberPicker.setMaxValue(999);
mNumberPicker.setMinValue(1);
mNumberPicker.setOnValueChangedListener(this);
mNumberPicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
findViewById(R.id.roll_button).setOnClickListener(this);
@@ -126,7 +121,7 @@ public class ExaltedDice extends Activity implements OnClickListener, OnItemClic
/*
* display hello message
*/
mListView.setAdapter(new ArrayAdapter<String>(this, R.layout.list_row, getResources().getStringArray(R.array.hello_msg)));
mListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.hello_msg)));
}
/**
@@ -209,8 +204,6 @@ public class ExaltedDice extends Activity implements OnClickListener, OnItemClic
*/
@Override
protected void onResume() {
this.setTitle(mDb.getGameName(mGameId));
if(mDb.getGameRollCount(mGameId) > 0){
isNewGame = false;
refresh();
@@ -242,18 +235,6 @@ public class ExaltedDice extends Activity implements OnClickListener, OnItemClic
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
switch(picker.getId()){
case R.id.d_Picker:
mD = Integer.parseInt(DICE_VALUES[newVal].substring(1));
break;
case R.id.number_Picker:
mRolls = newVal;
break;
}
}
/**
* displays a quit dialog
*
@@ -278,8 +259,10 @@ public class ExaltedDice extends Activity implements OnClickListener, OnItemClic
}
public void refresh(){
if(!isNewGame)
if(!isNewGame){
mListView.setAdapter(mListAdapter);
isNewGame = false;
}
mListAdapter.notifyDataSetChanged();
}
@@ -293,25 +276,19 @@ public class ExaltedDice extends Activity implements OnClickListener, OnItemClic
public String results(int times) {
Log.i(TAG, "results()");
StringBuffer resultsString = new StringBuffer();
StringBuffer rolls = new StringBuffer();
long total = 0;
/**
* roll the dice
*/
int[] roll = rollGen(times);
/**
* add number of successes to resultsString
*/
resultsString.append("\nSuccesses: "+ successes(roll) +"\n");
resultsString.append("Rolled: ");
/**
* add rolled dice results to resultsString
*/
for (int i = 0; i < roll.length; i++) {
resultsString.append(roll[i] + ", ");
for (int item : roll) {
rolls.append(item + ", ");
total = total + item;
}
resultsString.append("Total: "+ total);
resultsString.append("\nSuccesses: "+ successes(roll));
resultsString.append("\nRolls: "+ rolls.toString());
return resultsString.toString();
}
@@ -329,7 +306,7 @@ public class ExaltedDice extends Activity implements OnClickListener, OnItemClic
ContentValues roll = new ContentValues();
roll.put(Database.KEY_D_TYPE, DICE_VALUES[mDPicker.getValue()]);
roll.put(Database.KEY_NUMBER, mNumberPicker.getValue());
roll.put(Database.KEY_LOG, results(mRolls));
roll.put(Database.KEY_LOG, results(mNumberPicker.getValue()));
mDb.updateGame(mGameId, mGameName, roll, rollId);
@@ -337,8 +314,7 @@ public class ExaltedDice extends Activity implements OnClickListener, OnItemClic
}
/**
* generates an array containing 10 sided dice rolls
*
* generates an array containing dice rolls
* @param int times
* @return int[] roll
* @author ricky barrette
@@ -348,7 +324,7 @@ public class ExaltedDice extends Activity implements OnClickListener, OnItemClic
int[] roll = new int[times];
Random random = new Random();
for (int i = 0; i < times; i++) {
roll[i] = random.nextInt(mD) + 1;
roll[i] = random.nextInt(Integer.parseInt(DICE_VALUES[mDPicker.getValue()].substring(1))) + 1;
}
return roll;
}
@@ -387,21 +363,13 @@ public class ExaltedDice extends Activity implements OnClickListener, OnItemClic
/**
* starts Vibrator service and then vibrates for x milliseconds
*
* @param Long
* milliseconds
* @author ricky barrette
*/
public void vibrate(long milliseconds) {
Log.i(TAG, "vibrate() for " + milliseconds);
/**
* start vibrator service
*/
Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
/**
* Vibrate for x milliseconds
*/
vib.vibrate(milliseconds);
}
}