Skip to content

Commit 1ac224a

Browse files
author
Paolo Rotolo
authored
Merge pull request #293 from Glucosio/develop
Release 1.2.1
2 parents 69530a7 + b8a658d commit 1ac224a

File tree

11 files changed

+104
-55
lines changed

11 files changed

+104
-55
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ android {
3434
defaultConfig {
3535
minSdkVersion 16
3636
targetSdkVersion 24
37-
versionCode 34
38-
versionName '1.2.0'
37+
versionCode 35
38+
versionName '1.2.1'
3939
applicationId 'org.glucosio.android'
4040

4141
vectorDrawables.useSupportLibrary = true

app/src/main/java/org/glucosio/android/activity/MainActivity.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,11 @@ public void showNoReadingsSnackBar() {
617617
Snackbar.make(rootLayout, getString(R.string.activity_export_no_readings_snackbar), Snackbar.LENGTH_SHORT).show();
618618
}
619619

620+
public void showExportError() {
621+
View rootLayout = findViewById(android.R.id.content);
622+
Snackbar.make(rootLayout, getString(R.string.activity_export_issue_generic), Snackbar.LENGTH_SHORT).show();
623+
}
624+
620625
private void showSnackBar(String text, int lengthLong) {
621626
View rootLayout = findViewById(android.R.id.content);
622627
Snackbar.make(rootLayout, text, lengthLong).show();

app/src/main/java/org/glucosio/android/activity/PreferencesActivity.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -214,13 +214,23 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
214214
diabetesTypePref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
215215
@Override
216216
public boolean onPreferenceChange(Preference preference, Object newValue) {
217-
if (newValue.toString().equals(getResources().getString(R.string.helloactivity_spinner_diabetes_type_1))) {
217+
String[] typesArray = getResources().getStringArray(R.array.helloactivity_diabetes_type);
218+
String selectedType = newValue.toString();
219+
220+
if (selectedType.equals(typesArray[0])) {
218221
updatedUser.setD_type(1);
219222
updateDB();
220-
} else {
223+
} else if (selectedType.equals(typesArray[1])) {
221224
updatedUser.setD_type(2);
222225
updateDB();
226+
} else if (selectedType.equals(typesArray[2])) {
227+
updatedUser.setD_type(3);
228+
updateDB();
229+
} else {
230+
updatedUser.setD_type(4);
231+
updateDB();
223232
}
233+
224234
return true;
225235
}
226236
});
@@ -414,7 +424,8 @@ private void updateDB() {
414424
dB.updateUser(updatedUser);
415425
agePref.setSummary(user.getAge() + "");
416426
genderPref.setSummary(user.getGender() + "");
417-
diabetesTypePref.setSummary(getResources().getString(R.string.glucose_reading_type) + " " + user.getD_type());
427+
428+
diabetesTypePref.setSummary(getResources().getStringArray(R.array.helloactivity_diabetes_type)[user.getD_type() - 1]);
418429
unitPrefGlucose.setSummary(getGlucoseUnitValue(user.getPreferred_unit()));
419430
unitPrefA1c.setSummary(getA1CUnitValue(user.getPreferred_unit_a1c()));
420431
unitPrefWeight.setSummary(getUnitWeight(user.getPreferred_unit_weight()));

app/src/main/java/org/glucosio/android/presenter/ExportPresenter.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import android.content.pm.PackageManager;
2626
import android.net.Uri;
2727
import android.os.AsyncTask;
28+
import android.os.Environment;
2829
import android.support.v4.app.ActivityCompat;
2930
import android.support.v4.content.FileProvider;
3031
import android.util.Log;
@@ -108,7 +109,13 @@ protected String doInBackground(Void... params) {
108109
readingsToExport = dB.getGlucoseReadings(realm, fromDate.getTime(), toDate.getTime());
109110
}
110111

111-
return csv.createCSVFile(realm, readingsToExport, preferredUnit);
112+
if (dirExists()) {
113+
Log.i("glucosio", "Dir exists");
114+
return csv.createCSVFile(realm, readingsToExport, preferredUnit);
115+
} else {
116+
Log.i("glucosio", "Dir NOT exists");
117+
return null;
118+
}
112119
}
113120

114121
@Override
@@ -120,7 +127,7 @@ protected void onPostExecute(String filename) {
120127
activity.showShareDialog(uri);
121128
} else {
122129
//TODO: Show error SnackBar
123-
activity.showNoReadingsSnackBar();
130+
activity.showExportError();
124131
}
125132
}
126133
}.execute();
@@ -130,6 +137,11 @@ protected void onPostExecute(String filename) {
130137
}
131138
}
132139

140+
private boolean dirExists() {
141+
final File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/glucosio");
142+
return file.exists() || file.mkdirs();
143+
}
144+
133145
private boolean hasStoragePermissions(Activity activity) {
134146
// Check if we have write permission
135147
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);

app/src/main/java/org/glucosio/android/tools/ReadingToCSV.java

Lines changed: 40 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -42,72 +42,84 @@ public ReadingToCSV(Context mContext) {
4242
this.context = mContext;
4343
}
4444

45-
public static String getExternalDir() {
46-
return Environment.getExternalStorageDirectory().getAbsolutePath() +
47-
"/glucosio";
48-
}
49-
50-
public static boolean checkIfDirExists(final String dir) {
51-
final File file = new File(dir);
52-
return file.exists() || file.mkdirs();
53-
}
5445

5546
public String createCSVFile(Realm realm, final ArrayList<GlucoseReading> readings, String um) {
5647
try {
57-
final String databaseName = "/glucosio_exported_data_" + System.currentTimeMillis() + ".csv";
58-
final String dir =
59-
getExternalDir();
60-
final String filename = dir + databaseName;
61-
checkIfDirExists(dir);
62-
48+
final File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/glucosio", "glucosio_export_ " + System.currentTimeMillis()/1000 + ".csv");
6349
final File sd = Environment.getExternalStorageDirectory();
6450
if (sd.canWrite()) {
65-
66-
FileOutputStream fileOutputStream = new FileOutputStream(filename);
51+
FileOutputStream fileOutputStream = new FileOutputStream(file);
6752
OutputStreamWriter osw = new OutputStreamWriter(fileOutputStream);
6853

54+
// CSV Structure
55+
// Date | Time | Concentration | Unit | Measured | Notes
56+
osw.append(context.getResources().getString(R.string.dialog_add_date));
57+
osw.append(',');
58+
59+
osw.append(context.getResources().getString(R.string.dialog_add_time));
60+
osw.append(',');
61+
6962
osw.append(context.getResources().getString(R.string.dialog_add_concentration));
7063
osw.append(',');
7164

72-
osw.append(context.getResources().getString(R.string.dialog_add_measured));
65+
osw.append(context.getResources().getString(R.string.helloactivity_spinner_preferred_glucose_unit));
7366
osw.append(',');
7467

75-
osw.append(context.getResources().getString(R.string.dialog_add_date));
68+
osw.append(context.getResources().getString(R.string.dialog_add_measured));
7669
osw.append(',');
7770

78-
osw.append(context.getResources().getString(R.string.dialog_add_time));
71+
osw.append(context.getResources().getString(R.string.dialog_add_notes));
7972
osw.append('\n');
8073

74+
8175
FormatDateTime dateTool = new FormatDateTime(context);
8276

77+
// Concentration | Measured | Date | Time | Notes | Unit of Measurement
8378
if ("mg/dL".equals(um)) {
8479
for (int i = 0; i < readings.size(); i++) {
80+
GlucoseReading reading = readings.get(i);
81+
osw.append(dateTool.convertRawDate(reading.getCreated() + ""));
82+
osw.append(',');
8583

86-
osw.append(readings.get(i).getReading() + "mg/dL");
84+
osw.append(dateTool.convertRawTime(reading.getCreated() + ""));
8785
osw.append(',');
8886

89-
osw.append(readings.get(i).getReading_type() + "");
87+
osw.append(reading.getReading() + "");
9088
osw.append(',');
9189

92-
osw.append(dateTool.convertRawDate(readings.get(i).getCreated() + ""));
90+
osw.append("mg/dL");
9391
osw.append(',');
9492

95-
osw.append(dateTool.convertRawTime(readings.get(i).getCreated() + ""));
93+
osw.append(reading.getReading_type() + "");
94+
osw.append(',');
95+
96+
osw.append(reading.getNotes());
9697
osw.append('\n');
98+
9799
}
98100
} else {
99101
GlucosioConverter converter = new GlucosioConverter();
100102

101103
for (int i = 0; i < readings.size(); i++) {
104+
GlucoseReading reading = readings.get(i);
105+
osw.append(dateTool.convertRawDate(reading.getCreated() + ""));
106+
osw.append(',');
107+
108+
osw.append(dateTool.convertRawTime(reading.getCreated() + ""));
109+
osw.append(',');
102110

103-
osw.append(converter.glucoseToMmolL(readings.get(i).getReading()) + "mmol/L");
111+
osw.append(converter.glucoseToMmolL(reading.getReading()) + "");
104112
osw.append(',');
105113

106-
osw.append(dateTool.convertRawDate(readings.get(i).getCreated() + ""));
114+
osw.append("mmol/L");
107115
osw.append(',');
108116

109-
osw.append(dateTool.convertRawTime(readings.get(i).getCreated() + ""));
117+
osw.append(reading.getReading_type() + "");
118+
osw.append(',');
119+
120+
osw.append(reading.getNotes());
110121
osw.append('\n');
122+
111123
}
112124
}
113125

@@ -116,7 +128,7 @@ public String createCSVFile(Realm realm, final ArrayList<GlucoseReading> reading
116128
Log.i("Glucosio", "Done exporting readings");
117129
}
118130
realm.close();
119-
return filename;
131+
return file.getPath();
120132
} catch (Exception e) {
121133
realm.close();
122134
e.printStackTrace();

app/src/main/res/values-ca-rES/strings.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<string name="tab_overview">Informació general</string>
2727
<string name="tab_history">Historial</string>
2828
<string name="tab_tips">Consells</string>
29+
<string name="activity_main_add_new_reading">Afegeix una lectura nova</string>
2930
<string name="title_activity_hello">Hola.</string>
3031
<string name="helloactivity_headline">Hola.</string>
3132
<string name="helloactivity_terms">Condicions d\'ús.</string>
@@ -238,10 +239,15 @@
238239
<string name="title_activity_add_glucose">Afegeix una lectura de glucosa</string>
239240
<string name="title_activity_add_glucose_edit">Edita la lectura de glucosa</string>
240241
<string name="title_activity_add_weight">Afegeix un pes corporal</string>
242+
<string name="title_activity_add_weight_edit">Edita el pes corporal</string>
241243
<string name="title_activity_add_cholesterol">Afegeix un nivell de colesterol</string>
244+
<string name="title_activity_add_cholesterol_edit">Edita el nivell de colesterol</string>
242245
<string name="title_activity_add_hb1ac">Afegeix la HbA1c</string>
246+
<string name="title_activity_add_hb1ac_edit">Edita la HbA1c</string>
243247
<string name="title_activity_add_ketone">Afegeix cetones</string>
248+
<string name="title_activity_add_ketone_edit">Edita les cetones</string>
244249
<string name="title_activity_add_pressure">Afegeix la pressió arterial</string>
250+
<string name="title_activity_add_pressure_edit">Edita la pressió arterial</string>
245251
<string name="fab_weight">Pes corporal</string>
246252
<string name="fab_ketones">Cetones</string>
247253
<string name="fab_pressure">Pressió arterial</string>
@@ -285,6 +291,7 @@
285291
<string name="activity_backup_drive_failed">Alguna cosa ha anat malament. Torneu a provar-ho més tard :/</string>
286292
<string name="activity_backup_drive_last">Última còpia de seguretat:</string>
287293
<string name="activity_backup_drive_folder">Carpeta de còpies de seguretat</string>
294+
<string name="activity_backup_drive_folder_not_set">Sense definir</string>
288295
<string name="activity_backup_drive_button_backup">Fes la còpia de seguretat ara</string>
289296
<string name="activity_backup_drive_recent">Còpies de seguretat recents</string>
290297
<string name="activity_backup_drive_more">Mostra més còpies de seguretat</string>

app/src/main/res/values/google-playstore-strings.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@
3131

3232
<string name="PlaystoreDescription_para_0100">Glucosio - Diabetes Tracker</string>
3333
<string name="PlaystoreDescription_para_0200">Glucosio is a modern diabetes tracker</string>
34-
<string name="PlaystoreDescription_para_0300">Glucosio is a modern diabetes tracker for blood glucose, HB1AC, Cholesterol, Blood Pressure, Ketones, Body Weight and more. Glucosio diabetes tracker makes it quick and easy to track all aspects of your diabetes! Glucosio is the only open source diabetes app for both type 1 &amp; type 2 diabetes and entirely free!</string>
34+
<string name="PlaystoreDescription_para_0300">Glucosio is a modern diabetes tracker for Blood Glucose, HB1AC, Cholesterol, Blood Pressure, Ketones, Body Weight and more. Glucosio diabetes tracker makes it quick and easy to track all aspects of your diabetes! Glucosio is the only open source diabetes app for both type 1 &amp; type 2 diabetes and entirely free!</string>
3535
<string name="PlaystoreDescription_para_0400">FEATURES:</string>
36-
<string name="PlaystoreDescription_para_0500">• Quick and easy logging (blood glucose, HB1AC, Cholesterol, Blood Pressure, Ketones, Body Weight etc.)</string>
36+
<string name="PlaystoreDescription_para_0500">• Quick and easy logging (blood glucose, HbA1c, Cholesterol, Blood Pressure, Ketones, Body Weight etc.)</string>
3737
<string name="PlaystoreDescription_para_0600">• Designed for both type 1 &amp; type 2 diabetes</string>
3838
<string name="PlaystoreDescription_para_0700">• Estimated HbA1c &amp; HbA1c conversion calculator</string>
39-
<string name="PlaystoreDescription_para_0800">• Choose Glucose Target (ADA, NICE, AACE, Custom)</string>
39+
<string name="PlaystoreDescription_para_0800">• Choose Glucose Target Glucose Range (ADA, NICE, AACE, Custom)</string>
4040
<string name="PlaystoreDescription_para_0900">• CGM data integration via CSV import and NFC</string>
4141
<string name="PlaystoreDescription_para_1000">• Daily, weekly and monthly graphs and analysis</string>
4242
<string name="PlaystoreDescription_para_1100">• Assistant gives tips and more</string>

0 commit comments

Comments
 (0)