diff --git a/.idea/modules.xml b/.idea/modules.xml
index 2124db2..48bfe44 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,8 +2,8 @@
+
-
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cf84b5d..2652c69 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,6 +2,7 @@
+
{
- private final String TASK_FILE = "tasks.txt";
+ private final static String TASK_FILE = "tasks.txt";
private ArrayList list;
private Task last;
@@ -26,8 +26,8 @@ public class TaskList implements Iterable {
last = null;
}
- public TaskList(Context c) {
- this();
+ static public TaskList loadFromFile(Context c) {
+ TaskList res = new TaskList();
try {
FileInputStream input = c.openFileInput(TASK_FILE);
@@ -38,15 +38,16 @@ public class TaskList implements Iterable {
while ((line = bufferedReader.readLine()) != null) {
Task t = Task.fromString(line);
- list.add(t);
- last = t;
+ res.add(t);
+ res.last = t;
}
input.close();
+ return res;
} catch (FileNotFoundException e) {
- // When the file is not found, just don't load.
+ return res;
} catch (IOException e) {
- Log.d(BuildConfig.APPLICATION_ID, Log.getStackTraceString(e));
+ return res;
}
}
@@ -76,6 +77,12 @@ public class TaskList implements Iterable {
return true;
}
+ public void reset() {
+ for (Task t: list) {
+ t.reset();
+ }
+ }
+
public void add(Task t) {
list.add(t);
last = t;
diff --git a/app/src/main/java/be/mathsaey/stoofnogaan/ui/MainActivity.java b/app/src/main/java/be/mathsaey/stoofnogaan/ui/MainActivity.java
index a3f5a88..abeabc0 100644
--- a/app/src/main/java/be/mathsaey/stoofnogaan/ui/MainActivity.java
+++ b/app/src/main/java/be/mathsaey/stoofnogaan/ui/MainActivity.java
@@ -13,7 +13,6 @@ import be.mathsaey.stoofnogaan.data.Task;
import be.mathsaey.stoofnogaan.data.TaskList;
public class MainActivity extends Activity {
- // View which contains all the tasks
private LinearLayout taskView;
private TaskList list;
@@ -45,7 +44,7 @@ public class MainActivity extends Activity {
}
public void loadTasks() {
- list = new TaskList(this);
+ list = TaskList.loadFromFile(this);
for (Task t: list) {
TaskView v = new TaskView(this, t);
taskView.addView(v);
@@ -62,6 +61,15 @@ public class MainActivity extends Activity {
}
}
+ public void onResetTaskButtonClick(View _button) {
+ list.reset();
+
+ for (int i = 0; i < taskView.getChildCount(); i++) {
+ TaskView v = (TaskView) taskView.getChildAt(i);
+ v.updateState();
+ }
+ }
+
public void deleteTask(TaskView v) {
taskView.removeView(v);
list.remove(v.getTask());
diff --git a/app/src/main/java/be/mathsaey/stoofnogaan/ui/TaskView.java b/app/src/main/java/be/mathsaey/stoofnogaan/ui/TaskView.java
index 1354117..87d92a1 100644
--- a/app/src/main/java/be/mathsaey/stoofnogaan/ui/TaskView.java
+++ b/app/src/main/java/be/mathsaey/stoofnogaan/ui/TaskView.java
@@ -11,7 +11,7 @@ import android.widget.Toast;
import be.mathsaey.stoofnogaan.R;
import be.mathsaey.stoofnogaan.data.Task;
-class TaskView extends LinearLayout {
+public class TaskView extends LinearLayout {
private Task task;
private MainActivity parent;
@@ -35,11 +35,16 @@ class TaskView extends LinearLayout {
addTextListeners();
}
- public void update() {
+ public void updateTask() {
task.setText(textView.getText().toString());
task.setStatus(checkBox.isChecked());
}
+ public void updateState() {
+ checkBox.setChecked(task.getStatus());
+ textView.setText(task.getText());
+ }
+
public Task getTask() {
return this.task;
}
@@ -58,7 +63,7 @@ class TaskView extends LinearLayout {
@Override
public void afterTextChanged(Editable editable) {
- TaskView.this.update();
+ TaskView.this.updateTask();
if (task.isEmpty()) {
parent.deleteTask(TaskView.this);
}