diff --git a/src/main/java/com/notificationFramework/sedentary/frontEnd/DataAnalysis.java b/src/main/java/com/notificationFramework/sedentary/frontEnd/DataAnalysis.java index 202f771abf95212c86fa376d86dd74dd37d07320..d4f980ae8df07c5a91cf9a7ea25db347d124732b 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 b23ff5b8388d131caa6bb1223724f1f69b676cda..85d6904340ac8b809ec061e2f303e8ce7c0c7b83 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 52dfd74038ee5a1ef2c5655caac39d5335f74020..4d01c4d0f0c89235c1000c1a60a8b0ad8076ff5b 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>