From 7620937902dbfa9d3b5e1d2a39ca3b0e6b03be48 Mon Sep 17 00:00:00 2001
From: Peter De Jonckheere <peter.de-jonckheere.2014@uni.strath.ac.uk>
Date: Wed, 25 Jul 2018 14:05:33 +0100
Subject: [PATCH] Changed graph

---
 .../sedentary/frontEnd/MainActivity.java      | 26 ++++++++++------
 .../sedentary/frontEnd/SaveFile.java          | 31 +++++++++++++++++++
 src/main/res/values/strings.xml               |  1 +
 3 files changed, 49 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/notificationFramework/sedentary/frontEnd/MainActivity.java b/src/main/java/com/notificationFramework/sedentary/frontEnd/MainActivity.java
index 0eb95c9..f249143 100644
--- a/src/main/java/com/notificationFramework/sedentary/frontEnd/MainActivity.java
+++ b/src/main/java/com/notificationFramework/sedentary/frontEnd/MainActivity.java
@@ -21,6 +21,8 @@ import com.notificationFramework.stimulus.Stimulus;
 import com.notificationFramework.stimulusStrategy.Accelerometer;
 import com.notificationFramework.stimulusStrategy.SigMotionDetect;
 
+import java.util.List;
+
 /**
  * Created by Peter De Jonckheere 21/11/2017
  * <p>
@@ -83,16 +85,22 @@ public class MainActivity extends AppCompatActivity {
 
     private void setUpGraph(){
         GraphView graph = (GraphView) findViewById(R.id.graph);
-
-        LineGraphSeries<DataPoint> series = new LineGraphSeries<>(new DataPoint[] {
-                new DataPoint(0, 1),
-                new DataPoint(1, 5),
-                new DataPoint(2, 3),
-                new DataPoint(3, 2),
-                new DataPoint(4, 6)
-        });
+        List<Integer> acks = SaveFile.getWeeklyAcks(this.getApplicationContext());
+        DataPoint[] dataPoints = new DataPoint[7];
+        int j = 0;
+        for(int i = 0; i < acks.size(); i =+ 2){
+            DataPoint dp = new DataPoint(acks.get(i), acks.get(i+1));
+            dataPoints[j] = dp;
+            j++;
+        }
+        for(int i = 0; i < 7; i++){
+            if(dataPoints[i] == null){
+                dataPoints[i] = new DataPoint(0, 0);
+            }
+        }
+        LineGraphSeries<DataPoint> series = new LineGraphSeries<>(dataPoints);
         graph.addSeries(series);
-
+        graph.setTitle(getString(R.string.your_progress));
     }
     /**
      * Creates the stimulus object which initiates the background processes of the application. Uses
diff --git a/src/main/java/com/notificationFramework/sedentary/frontEnd/SaveFile.java b/src/main/java/com/notificationFramework/sedentary/frontEnd/SaveFile.java
index 85d6904..ef74e38 100644
--- a/src/main/java/com/notificationFramework/sedentary/frontEnd/SaveFile.java
+++ b/src/main/java/com/notificationFramework/sedentary/frontEnd/SaveFile.java
@@ -617,6 +617,37 @@ public class SaveFile {
         }
     }
 
+    static List<Integer> getWeeklyAcks(Context context) {
+        List<Integer> acks = new ArrayList<>();
+        String line = "";
+        List<String> contents = new ArrayList<>();
+        if (isExternalStorageMounted()) {
+            File dir = getDirectory(context);
+            File file = new File(dir, "ACKLOG.txt");
+            //Creates a new file if one doesn't already exist
+            if (!file.exists()) {
+                try {
+                    file.createNewFile();
+                } catch (IOException e) {
+                    Log.e("FILE_ERROR", "COULDN'T CREATE NEW FILE");
+                }
+            }
+            //Reads the current contents of the log file
+            try {
+                if (file.isFile() && file.canRead()) {
+                    BufferedReader br = new BufferedReader(new FileReader(file));
+                    while ((line = br.readLine()) != null) {
+                        String items[] = line.split(" ");
+                        acks.add(Integer.parseInt(items[0]));
+                        acks.add(Integer.parseInt(items[1]));
+                    }
+                }
+            } catch (IOException | NumberFormatException e) {
+
+            }
+        }
+        return acks;
+    }
     /**
      * Checks if external storage is available on the device.
      *
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 4d01c4d..9882957 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -59,4 +59,5 @@
     <string name="place_ack_total">Last Place Acknowledgement Total</string>
     <string name="current_week">Current Week</string>
     <string name="prev_ack_total">Previous Acknowledgement Count</string>
+    <string name="your_progress">Your Progress</string>
 </resources>
-- 
GitLab