package co.mwater.clientapp.ui.petrifilm;
import android.content.ContentValues;
import android.os.Bundle;
import co.mwater.clientapp.R;
import co.mwater.clientapp.db.RiskCalculations;
import co.mwater.clientapp.db.TestsTable;
import co.mwater.clientapp.db.testresults.PetrifilmResults;
import co.mwater.clientapp.ui.DetailActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.actionbarsherlock.view.MenuItem.OnMenuItemClickListener;
public class PetrifilmManualCountActivity extends DetailActivity {
private static final String TAG = PetrifilmManualCountActivity.class.getSimpleName();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.petrifilm_manual_count_activity);
}
@Override
protected void displayData() {
getSupportActionBar().setTitle("Test " + rowValues.getAsString(TestsTable.COLUMN_CODE));
// Get results
String results = rowValues.getAsString(TestsTable.COLUMN_RESULTS);
PetrifilmResults pfr = new PetrifilmResults(results);
setControlInteger(R.id.ecoli_count, pfr.manualEcoli != null ? pfr.manualEcoli : pfr.autoEcoli);
setControlInteger(R.id.tc_count, pfr.manualTC != null ? pfr.manualTC: pfr.autoTC);
setControlInteger(R.id.other_count, pfr.manualOther != null ? pfr.manualOther : pfr.autoOther);
}
@Override
public void onPause() {
super.onPause();
// TODO Check for changes?
// Get results
String results = rowValues.getAsString(TestsTable.COLUMN_RESULTS);
PetrifilmResults pfr = new PetrifilmResults(results);
// Save values
pfr.manualEcoli = getControlInteger(R.id.ecoli_count);
pfr.manualTC = getControlInteger(R.id.tc_count);
pfr.manualOther = getControlInteger(R.id.other_count);
ContentValues values = new ContentValues();
values.put(TestsTable.COLUMN_RESULTS, pfr.toJson());
getContentResolver().update(uri, values, null, null);
// Update risk of source
String sample = rowValues.getAsString(TestsTable.COLUMN_SAMPLE);
if (sample != null)
RiskCalculations.updateSourceRiskForSample(this, sample);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.ok_menu, menu);
// Add listeners
menu.findItem(R.id.menu_done).setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
finish();
return true;
}
});
return super.onCreateOptionsMenu(menu);
}
}