Something went wrong on our end
-
Peter Joseph De Jonckheere CESM2014 authoredPeter Joseph De Jonckheere CESM2014 authored
SaveFile.java 6.93 KiB
package com.example.pharmacy.frontEnd;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Environment;
import android.util.Log;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
/**
* Created by pharmacy on 12/02/2018.
*/
public class SaveFile {
private static void recordTimeStamp(int sent, int clicked, int acknowledged, Context context) {
Calendar cal = Calendar.getInstance();
ArrayList<String> contents = new ArrayList<String>();
String line = "";
if (isExternalStorageMounted()) {
File dir = getDirectory(context);
File file = new File(dir, "TIMESTAMPLOG");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
Log.e("FILE_ERROR", "COULDN'T CREATE NEW FILE");
}
}
try {
if (file.isFile() && file.canRead()) {
BufferedReader br = new BufferedReader(new FileReader(file));
Log.d("STAMP", "READING");
while ((line = br.readLine()) != null) {
contents.add(line + '\n');
Log.d("STAMP", "LINING" + line);
}
}
if (file.isFile() & file.canWrite()) {
Log.d("STAMP", "WRITING");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
if (contents.size() > 100) {
contents.remove(0);
Log.d("STAMP", "REMOVING");
}
for (String ts : contents) {
bw.write(ts);
}
bw.write(cal.getTime().toString() + " "+ sent + "" + clicked);
Log.d("STAMP", "SHOULD BE FINITO");
bw.close();
}
} catch (IOException e) {
Log.e("FILEERROR", "COULD NOT WRITE TO FILE");
}
}
}
public static void recordNotification(int sent, int clicked, int acknowledged, Context context) {
int ns = 0;
int nc = 0;
int na = 0;
if (isExternalStorageMounted()) {
Log.d("SAVING", "STORAGE");
File dir = getDirectory(context);
if (dir.isDirectory()) {
Log.d("SAVING", "DIRECTORY");
File file = new File(dir, "NOTLOG");
try {
if(!file.exists()) {
file.createNewFile();
}
Log.d("SAVING", "POSTDIRECTORY");
if (file.isFile() & file.canRead()) {
Log.d("SAVING", "ISFILE");
BufferedReader br = new BufferedReader(new FileReader(file));
Log.d("SAVING", "READINGFILE");
try {
ns = Integer.parseInt(br.readLine());
nc = Integer.parseInt(br.readLine());
na = Integer.parseInt(br.readLine());
}catch(NumberFormatException e){
}
if (file.isFile() & file.canWrite()) {
Log.d("SAVING", "WRITINGFILE");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
ns += sent;
nc += clicked;
na += acknowledged;
Log.d("SAVING", ns+nc+na+"");
bw.write(String.valueOf(ns));
bw.newLine();
bw.write(String.valueOf(nc));
bw.newLine();
bw.write(String.valueOf(na));
bw.close();
Log.d("SAVING", "WROTEDAFILE");
}
}
}catch (IOException e) {
Log.d("SAVING", "EXCEPTION");
}
}
}
recordTimeStamp(sent, clicked, acknowledged, context);
}
public static void recordNotificationType(Context context) {
SharedPreferences shared = context.getSharedPreferences(context.getString(R.string.preference_file_key), Context.MODE_PRIVATE);
int sound = 0;
int led = 0;
int vibration = 0;
if (isExternalStorageMounted()) {
File dir = getDirectory(context);
if (dir.isDirectory()) {
File file = new File(dir, "TYPELOG");
try {
if(!file.exists()) {
file.createNewFile();
}
if (file.isFile() & file.canRead()) {
BufferedReader br = new BufferedReader(new FileReader(file));
try {
sound = Integer.parseInt(br.readLine());
led = Integer.parseInt(br.readLine());
vibration = Integer.parseInt(br.readLine());
}catch (NumberFormatException e){
}
if (file.isFile() & file.canWrite()) {
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
if(shared.getBoolean(context.getString(R.string.audio), false)) {
sound++;
}
if(shared.getBoolean(context.getString(R.string.led), false)){
led++;
}
if(shared.getBoolean(context.getString(R.string.vibration), false)) {
vibration++;
}
bw.write(sound);
bw.newLine();
bw.write(led);
bw.newLine();
bw.write(vibration);
}
}
} catch (IOException e) {
}
}
}
}
/* Checks if external storage is available */
private static boolean isExternalStorageMounted() {
return (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()));
}
private static File getDirectory(Context context) {
File file = new File(context.getExternalFilesDir(
Environment.DIRECTORY_DOCUMENTS), "NOTLOGS");
if (!file.exists()){
if (!file.mkdirs()) {
Log.e("ERR", "Directory not created");
}
}
return file;
}
}