public class Achievement {
private Task task;
private int[] result;
+ private int submitted;
public Achievement(Task task, String result) {
this.task = task;
setResultString(result);
+ submitted = 0;
}
public Task getTask() {
return result;
}
+ public boolean getSubmitted() {
+ return submitted == 1;
+ }
+
public String getResultString() {
StringBuilder str = new StringBuilder(result.length * 3);
for (int i = 0; i < result.length; i++) {
}
}
+ public void setSubmitted(boolean submitted) {
+ if (submitted) {
+ this.submitted = 1;
+ } else {
+ this.submitted = 0;
+ }
+ }
+
public long replace(SQLiteDatabase db) {
ContentValues row = new ContentValues();
row.put("task_id", getTask().getId());
row.put("result", getResultString());
+ row.put("submitted", submitted);
return db.insertWithOnConflict("achievements", null, row,
SQLiteDatabase.CONFLICT_REPLACE);
}
db.execSQL("CREATE TABLE \"tasks\" (\"id\" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, \"name\" varchar(255), \"lecture_id\" integer);");
db.execSQL("CREATE TABLE \"apks\" (\"id\" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, \"name\" varchar(255), \"revision\" integer, \"task_id\" integer);");
db.execSQL("CREATE TABLE \"selected_lectures\" (\"id\" INTEGER PRIMARY KEY NOT NULL);");
- db.execSQL("CREATE TABLE \"achievements\" (\"task_id\" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, \"result\" varchar(255));");
+ db.execSQL("CREATE TABLE \"achievements\" (\"task_id\" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, \"result\" varchar(255),\"submitted\" integer);");
db.execSQL("CREATE INDEX \"index_lectures_on_teacher_id\" ON \"lectures\" (\"teacher_id\");");
db.execSQL("CREATE INDEX \"index_tasks_on_lecture_id\" ON \"tasks\" (\"lecture_id\");");
db.execSQL("CREATE INDEX \"index_apks_on_task_id\" ON \"apks\" (\"task_id\");");