From d15545f616029e888fb7e435d41a17f298a4a26c Mon Sep 17 00:00:00 2001 From: Peter De Jonckheere <peter.de-jonckheere.2014@uni.strath.ac.uk> Date: Tue, 24 Jul 2018 14:20:13 +0100 Subject: [PATCH] Graph alterations --- .../sedentary/frontEnd/DataAnalysis.java | 4 +- .../sedentary/frontEnd/SaveFile.java | 43 +++++++++++++++++++ src/main/res/values/strings.xml | 2 + 3 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/notificationFramework/sedentary/frontEnd/DataAnalysis.java b/src/main/java/com/notificationFramework/sedentary/frontEnd/DataAnalysis.java index 202f771..d4f980a 100644 --- a/src/main/java/com/notificationFramework/sedentary/frontEnd/DataAnalysis.java +++ b/src/main/java/com/notificationFramework/sedentary/frontEnd/DataAnalysis.java @@ -121,11 +121,13 @@ public class DataAnalysis { int ackDays = sharedPref.getInt(context.getString(R.string.ack_days), 1); float avgAck = 0; int currentDay = Calendar.getInstance().get(Calendar.DAY_OF_YEAR); - SharedPreferences.Editor editor = sharedPref.edit();; + SharedPreferences.Editor editor = sharedPref.edit(); if (currentDay != sharedPref.getInt(context.getString(R.string.progress_day), 0)) { avgAck = totalAck / ackDays; ackDays++; editor.putInt(context.getString(R.string.progress_day), currentDay); + editor.putInt(context.getString(R.string.prev_ack_total),totalAck); + SaveFile.weeklyAcks(context); } totalAck++; editor.putInt(context.getString(R.string.ack_total), totalAck); diff --git a/src/main/java/com/notificationFramework/sedentary/frontEnd/SaveFile.java b/src/main/java/com/notificationFramework/sedentary/frontEnd/SaveFile.java index b23ff5b..85d6904 100644 --- a/src/main/java/com/notificationFramework/sedentary/frontEnd/SaveFile.java +++ b/src/main/java/com/notificationFramework/sedentary/frontEnd/SaveFile.java @@ -574,6 +574,49 @@ public class SaveFile { return popular; } + static void weeklyAcks(Context context) { + String line = ""; + List<String> contents = new ArrayList<>(); + SharedPreferences shared = context.getSharedPreferences(context.getString(R.string.preference_file_key), Context.MODE_PRIVATE); + int totalAck = shared.getInt(context.getString(R.string.ack_total), 0); + int prevAck = shared.getInt(context.getString(R.string.prev_ack_total), 0); + int ackDays = shared.getInt(context.getString(R.string.ack_days), 1); + 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) { + contents.add(line + '\n'); + } + if (file.isFile() & file.canWrite()) { + BufferedWriter bw = new BufferedWriter(new FileWriter(file)); + if (contents.size() > 6) { + contents.remove(0); + } + for (String ts : contents) { + bw.write(ts); + } + bw.write(ackDays + " " + (totalAck - prevAck)); + bw.close(); + } + } + } catch (IOException e) { + + } + } + } + /** * 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 52dfd74..4d01c4d 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -57,4 +57,6 @@ <string name="store_mcp">Most Common Place</string> <string name="store_last_ack">Last Acknowledgement</string> <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> </resources> -- GitLab