Skip to content

Commit 6dd9859

Browse files
author
Paolo Rotolo
committed
Add confirm dialog on Wear. Convert Ketone reading from long to double. Add methods to delete advanced metrics.
1 parent 2748787 commit 6dd9859

File tree

9 files changed

+86
-22
lines changed

9 files changed

+86
-22
lines changed

app/src/main/java/org/glucosio/android/db/DatabaseHandler.java

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,13 @@ public void deleteHB1ACReadingReading(HB1ACReading reading) {
310310
realm.commitTransaction();
311311
}
312312

313+
public HB1ACReading getHB1ACReading(long id) {
314+
return realm.where(HB1ACReading.class)
315+
.equalTo("id", id)
316+
.findFirst();
317+
}
318+
319+
313320
public ArrayList<HB1ACReading> getHB1ACReadings() {
314321
RealmResults<HB1ACReading> results =
315322
realm.where(HB1ACReading.class)
@@ -374,6 +381,12 @@ public void addKetoneReading(KetoneReading reading) {
374381
realm.commitTransaction();
375382
}
376383

384+
public KetoneReading getKetoneReading(long id) {
385+
return realm.where(KetoneReading.class)
386+
.equalTo("id", id)
387+
.findFirst();
388+
}
389+
377390
public void deleteKetoneReading(KetoneReading reading) {
378391
realm.beginTransaction();
379392
reading.removeFromRealm();
@@ -406,13 +419,13 @@ public ArrayList<Long> getKetoneIdAsArray(){
406419
return idArray;
407420
}
408421

409-
public ArrayList<Long> getKetoneReadingAsArray(){
422+
public ArrayList<Double> getKetoneReadingAsArray(){
410423
List<KetoneReading> readings = getKetoneReadings();
411-
ArrayList<Long> readingArray = new ArrayList<Long>();
424+
ArrayList<Double> readingArray = new ArrayList<Double>();
412425
int i;
413426

414427
for (i = 0; i < readings.size(); i++){
415-
long reading;
428+
double reading;
416429
KetoneReading singleReading = readings.get(i);
417430
reading = singleReading.getReading();
418431
readingArray.add(reading);
@@ -444,6 +457,12 @@ public void addPressureReading(PressureReading reading) {
444457
realm.commitTransaction();
445458
}
446459

460+
public PressureReading getPressureReading(long id) {
461+
return realm.where(PressureReading.class)
462+
.equalTo("id", id)
463+
.findFirst();
464+
}
465+
447466
public void deletePressureReading(PressureReading reading) {
448467
realm.beginTransaction();
449468
reading.removeFromRealm();
@@ -529,6 +548,12 @@ public void addWeightReading(WeightReading reading) {
529548
realm.commitTransaction();
530549
}
531550

551+
public WeightReading getWeightReading(long id) {
552+
return realm.where(WeightReading.class)
553+
.equalTo("id", id)
554+
.findFirst();
555+
}
556+
532557
public void deleteWeightReading(WeightReading reading) {
533558
realm.beginTransaction();
534559
reading.removeFromRealm();
@@ -599,6 +624,12 @@ public void addCholesterolReading(CholesterolReading reading) {
599624
realm.commitTransaction();
600625
}
601626

627+
public CholesterolReading getCholesterolReading(long id) {
628+
return realm.where(CholesterolReading.class)
629+
.equalTo("id", id)
630+
.findFirst();
631+
}
632+
602633
public void deleteCholesterolReading(CholesterolReading reading) {
603634
realm.beginTransaction();
604635
reading.removeFromRealm();

app/src/main/java/org/glucosio/android/db/KetoneReading.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,22 @@ public class KetoneReading extends RealmObject {
99
@PrimaryKey
1010
private long id;
1111

12-
private long reading;
12+
private double reading;
1313
private Date created;
1414

1515
public KetoneReading() {
1616
}
1717

18-
public KetoneReading(long reading,Date created) {
18+
public KetoneReading(double reading,Date created) {
1919
this.reading=reading;
2020
this.created=created;
2121
}
2222

23-
public long getReading() {
23+
public double getReading() {
2424
return reading;
2525
}
2626

27-
public void setReading(long reading) {
27+
public void setReading(double reading) {
2828
this.reading = reading;
2929
}
3030

app/src/main/java/org/glucosio/android/db/Migration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class KetoneReading
5454
@PrimaryKey
5555
long id;
5656
57-
long reading;
57+
double reading;
5858
Date created;
5959
6060
class PressureReading
@@ -94,7 +94,7 @@ class HB1ACReading
9494
RealmObjectSchema ketoneSchema = schema.create("KetoneReading")
9595
.addField("id", Long.class, FieldAttribute.PRIMARY_KEY, FieldAttribute.REQUIRED)
9696
.addField("created", Date.class)
97-
.addField("reading", Long.class, FieldAttribute.REQUIRED);
97+
.addField("reading", Double.class, FieldAttribute.REQUIRED);
9898

9999
RealmObjectSchema HB1ACSchema = schema.create("HB1ACReading")
100100
.addField("id", Long.class, FieldAttribute.PRIMARY_KEY, FieldAttribute.REQUIRED)

app/src/main/java/org/glucosio/android/fragment/HistoryFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ public void onDismissed(Snackbar snackbar, int event) {
119119
// Do nothing, see Undo onClickListener
120120
break;
121121
case Snackbar.Callback.DISMISS_EVENT_TIMEOUT:
122-
presenter.onDeleteClicked(idToDelete);
122+
presenter.onDeleteClicked(idToDelete, historySpinner.getSelectedItemPosition());
123123
break;
124124
}
125125
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public void dialogOnAddButtonPressed(String time, String date, String reading){
6363
Calendar cal = Calendar.getInstance();
6464
cal.set(Integer.parseInt(readingYear), Integer.parseInt(readingMonth)-1, Integer.parseInt(readingDay), Integer.parseInt(readingHour), Integer.parseInt(readingMinute));
6565
Date finalDateTime = cal.getTime();
66-
long finalReading = Long.parseLong(reading);
66+
double finalReading = Double.parseDouble(reading);
6767
KetoneReading kReading = new KetoneReading(finalReading, finalDateTime);
6868

6969
dB.addKetoneReading(kReading);

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

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.glucosio.android.presenter;
22

33
import org.glucosio.android.db.DatabaseHandler;
4-
import org.glucosio.android.db.GlucoseReading;
54
import org.glucosio.android.fragment.HistoryFragment;
65

76
import java.util.ArrayList;
@@ -25,17 +24,43 @@ public String convertDate(String date){
2524
return fragment.convertDate(date);
2625
}
2726

28-
public void onDeleteClicked(int idToDelete){
29-
removeReadingFromDb(dB.getGlucoseReadingById(idToDelete));
27+
public void onDeleteClicked(int idToDelete, int metricID){
28+
switch (metricID) {
29+
// Glucose
30+
case 0:
31+
dB.deleteGlucoseReadings(dB.getGlucoseReading(idToDelete));
32+
fragment.reloadFragmentAdapter();
33+
break;
34+
// HB1AC
35+
case 1:
36+
dB.deleteHB1ACReadingReading(dB.getHB1ACReading(idToDelete));
37+
fragment.reloadFragmentAdapter();
38+
break;
39+
// Cholesterol
40+
case 2:
41+
dB.deleteCholesterolReading(dB.getCholesterolReading(idToDelete));
42+
fragment.reloadFragmentAdapter();
43+
break;
44+
// Pressure
45+
case 3:
46+
dB.deletePressureReading(dB.getPressureReading(idToDelete));
47+
fragment.reloadFragmentAdapter();
48+
break;
49+
//Ketones
50+
case 4:
51+
dB.deleteKetoneReading(dB.getKetoneReading(idToDelete));
52+
fragment.reloadFragmentAdapter();
53+
break;
54+
// Weight
55+
case 5:
56+
dB.deleteWeightReading(dB.getWeightReading(idToDelete));
57+
fragment.reloadFragmentAdapter();
58+
break;
59+
}
3060
fragment.notifyAdapter();
3161
fragment.updateToolbarBehaviour();
3262
}
3363

34-
private void removeReadingFromDb(GlucoseReading gReading) {
35-
dB.deleteGlucoseReadings(gReading);
36-
fragment.reloadFragmentAdapter();
37-
}
38-
3964
// Getters
4065
public String getUnitMeasuerement(){
4166
return dB.getUser(1).getPreferred_unit();
@@ -61,7 +86,7 @@ public int getGlucoseReadingsNumber(){
6186
return dB.getGlucoseReadingAsArray().size();
6287
}
6388

64-
public ArrayList<Long> getKetoneReading() {
89+
public ArrayList<Double> getKetoneReading() {
6590
return dB.getKetoneReadingAsArray();
6691
}
6792

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@
105105
</string-array>
106106
<string name="tip_example" translatable="false">Use less cheese in your recipes and meals. Fresh mozzarella packed in water and Swiss cheese are usually lower in sodium.</string>
107107
<string name="preferences_about">About</string>
108-
<string name="version" translatable="false">0.8.3 (Noce)</string>
108+
<string name="version" translatable="false">0.9.0 (Imli)</string>
109109
<string name="preferences_version">Version</string>
110110
<string name="preferences_terms">Terms of use</string>
111111
<string name="glucose_reading_type">Type</string>

wear/src/main/AndroidManifest.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@
1515
android:label="@string/app_name">
1616
<intent-filter>
1717
<action android:name="android.intent.action.MAIN" />
18-
1918
<category android:name="android.intent.category.LAUNCHER" />
2019
</intent-filter>
2120
</activity>
21+
<activity
22+
android:name="android.support.wearable.activity.ConfirmationActivity">
23+
</activity>
2224
</application>
2325

2426
</manifest>

wear/src/main/java/org/glucosio/android/MainActivity.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import android.content.Intent;
66
import android.os.Bundle;
77
import android.speech.RecognizerIntent;
8+
import android.support.wearable.activity.ConfirmationActivity;
89
import android.support.wearable.view.DelayedConfirmationView;
910
import android.support.wearable.view.WearableListView;
1011
import android.util.Log;
@@ -118,6 +119,11 @@ public void run() {
118119
client.disconnect();
119120
}
120121
}).start();
122+
// Show Success ConfirmationActivity
123+
Intent intent = new Intent(this, ConfirmationActivity.class);
124+
intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE,
125+
ConfirmationActivity.SUCCESS_ANIMATION);
126+
startActivity(intent);
121127
} else {
122128
Toast.makeText(MainActivity.this, getResources().getString(R.string.wear_error), Toast.LENGTH_SHORT).show();
123129
}

0 commit comments

Comments
 (0)