diff --git a/src/main/java/com/notificationFramework/sedentary/frontEnd/MainActivity.java b/src/main/java/com/notificationFramework/sedentary/frontEnd/MainActivity.java index 0eb95c9f07545ac4a2b5c4c0166ea52f03aaf1c4..f2491430f5b61bb9c118dafeecfe8925400b70d9 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 85d6904340ac8b809ec061e2f303e8ce7c0c7b83..ef74e3898d146f50a8f4b8a70ed6aa0b573d1577 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 4d01c4d0f0c89235c1000c1a60a8b0ad8076ff5b..988295796320be947041bdc7af7eb98e9701ba52 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>