diff --git a/.gitignore b/.gitignore index 7bf4655..1563dfa 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ gen/ build/ /*/build/ + # Local configuration file (sdk path, etc) local.properties @@ -43,3 +44,13 @@ Thumbs.db .idea/dataSources.ids .idea + +#Technical Files +caches/ +/caches/ +wrapper/ +/wrapper/ +native/ +/native/ +daemon/ +/daemon/ diff --git a/app/build.gradle b/app/build.gradle index ae2b05a..fe0d30a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,10 @@ apply plugin: 'com.android.application' android { + signingConfigs { + release { + } + } compileSdkVersion 30 buildToolsVersion '30.0.3' defaultConfig { diff --git a/app/src/main/java/org/kochka/android/weightlogger/EditMeasurementActivity.java b/app/src/main/java/org/kochka/android/weightlogger/EditMeasurementActivity.java index e626c28..abf956b 100644 --- a/app/src/main/java/org/kochka/android/weightlogger/EditMeasurementActivity.java +++ b/app/src/main/java/org/kochka/android/weightlogger/EditMeasurementActivity.java @@ -221,7 +221,7 @@ private boolean unloadFields() { if (muscle_mass_required) measurement.setConvertedMuscleMass(Float.parseFloat(((EditText)findViewById(R.id.muscle_mass)).getText().toString())); if (daily_calorie_intake_required) measurement.setDailyCalorieIntake(Short.parseShort(((EditText)findViewById(R.id.daily_calorie_intake)).getText().toString())); if (physique_rating_required) measurement.setPhysiqueRating(Short.parseShort(((EditText)findViewById(R.id.physique_rating)).getText().toString())); - if (visceral_fat_rating_required) measurement.setVisceralFatRating(Short.parseShort(((EditText)findViewById(R.id.visceral_fat_rating)).getText().toString())); + if (visceral_fat_rating_required) measurement.setVisceralFatRating(Float.parseFloat(((EditText)findViewById(R.id.visceral_fat_rating)).getText().toString())); if (bone_mass_required) measurement.setConvertedBoneMass(Float.parseFloat(((EditText)findViewById(R.id.bone_mass)).getText().toString())); if (metabolic_age_required) measurement.setMetabolicAge(Short.parseShort(((EditText)findViewById(R.id.metabolic_age)).getText().toString())); measurement.setExported(((CheckBox)findViewById(R.id.exported)).isChecked()); diff --git a/app/src/main/java/org/kochka/android/weightlogger/data/Database.java b/app/src/main/java/org/kochka/android/weightlogger/data/Database.java index 300fbc1..9e6841e 100644 --- a/app/src/main/java/org/kochka/android/weightlogger/data/Database.java +++ b/app/src/main/java/org/kochka/android/weightlogger/data/Database.java @@ -53,7 +53,7 @@ public void onCreate(SQLiteDatabase db) { // Create measurements table db.execSQL("CREATE TABLE measurements (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," + "weight REAL NOT NULL, body_fat REAL, body_water REAL, muscle_mass REAL," - + "daily_calorie_intake INTEGER, physique_rating INTEGER, visceral_fat_rating INTEGER," + + "daily_calorie_intake INTEGER, physique_rating INTEGER, visceral_fat_rating REAL," + "bone_mass REAL, metabolic_age INTEGER, recorded_at INTEGER, exported INTEGER NOT NULL DEFAULT 0);" + "CREATE INDEX idx_recorded_at on measurements (recorded_at ASC);"); } diff --git a/app/src/main/java/org/kochka/android/weightlogger/data/Measurement.java b/app/src/main/java/org/kochka/android/weightlogger/data/Measurement.java index 582fdf4..b047e53 100644 --- a/app/src/main/java/org/kochka/android/weightlogger/data/Measurement.java +++ b/app/src/main/java/org/kochka/android/weightlogger/data/Measurement.java @@ -66,7 +66,7 @@ public class Measurement { private Float muscle_mass; private Short daily_calorie_intake; private Short physique_rating; - private Short visceral_fat_rating; + private Float visceral_fat_rating; private Float bone_mass; private Short metabolic_age; private GregorianCalendar recorded_at = new GregorianCalendar(); @@ -89,7 +89,7 @@ public Measurement(Context context, boolean convert_to_lb, boolean muscle_mass_i } public Measurement(Context context, Integer id, Float weight, Float body_fat, Float body_water, Float muscle_mass, Short daily_calorie_intake, - Short physique_rating, Short visceral_fat_rating, Float bone_mass, Short metabolic_age, Long recorded_at, boolean exported) { + Short physique_rating, Float visceral_fat_rating, Float bone_mass, Short metabolic_age, Long recorded_at, boolean exported) { this(context); setId(id); setWeight(weight); @@ -106,19 +106,19 @@ public Measurement(Context context, Integer id, Float weight, Float body_fat, Fl } public Measurement(Context context, Integer id, Float weight, Float body_fat, Float body_water, Float muscle_mass, Short daily_calorie_intake, - Short physique_rating, Short visceral_fat_rating, Float bone_mass, Short metabolic_age, Long recorded_at, boolean exported, boolean convert_to_lb, boolean muscle_mass_in_percent) { + Short physique_rating, Float visceral_fat_rating, Float bone_mass, Short metabolic_age, Long recorded_at, boolean exported, boolean convert_to_lb, boolean muscle_mass_in_percent) { this(context, id, weight, body_fat, body_water, muscle_mass, daily_calorie_intake, physique_rating, visceral_fat_rating, bone_mass, metabolic_age, recorded_at, exported); this.convert_to_lb = convert_to_lb; this.muscle_mass_in_percent = muscle_mass_in_percent; } public Measurement(Context context, Float weight, Float body_fat, Float body_water, Float muscle_mass, Short daily_calorie_intake, - Short physique_rating, Short visceral_fat_rating, Float bone_mass, Short metabolic_age, Long recorded_at, boolean exported) { + Short physique_rating, Float visceral_fat_rating, Float bone_mass, Short metabolic_age, Long recorded_at, boolean exported) { this(context, null, weight, body_fat, body_water, muscle_mass, daily_calorie_intake, physique_rating, visceral_fat_rating, bone_mass, metabolic_age, recorded_at, exported); } public Measurement(Context context, Float weight, Float body_fat, Float body_water, Float muscle_mass, Short daily_calorie_intake, - Short physique_rating, Short visceral_fat_rating, Float bone_mass, Short metabolic_age, Long recorded_at, boolean exported, boolean convert_to_lb, boolean muscle_mass_in_percent) { + Short physique_rating, Float visceral_fat_rating, Float bone_mass, Short metabolic_age, Long recorded_at, boolean exported, boolean convert_to_lb, boolean muscle_mass_in_percent) { this(context, null, weight, body_fat, body_water, muscle_mass, daily_calorie_intake, physique_rating, visceral_fat_rating, bone_mass, metabolic_age, recorded_at, exported, convert_to_lb, muscle_mass_in_percent); } // Getters & setters @@ -271,15 +271,15 @@ public void setPhysiqueRating(Short physique_rating) { this.physique_rating = physique_rating; } - public Short getVisceralFatRating() { + public Float getVisceralFatRating() { return visceral_fat_rating; } public String getVisceralFatRatingInfo() { - return (visceral_fat_rating <= 12) ? context.getString(R.string.vfr_healthy) : context.getString(R.string.vfr_excess); + return (visceral_fat_rating <= 12.0f) ? context.getString(R.string.vfr_healthy) : context.getString(R.string.vfr_excess); } - public void setVisceralFatRating(Short visceral_fat_rating) { + public void setVisceralFatRating(Float visceral_fat_rating) { this.visceral_fat_rating = visceral_fat_rating; } @@ -529,7 +529,7 @@ static private Measurement getInstanceFromCursor(Context context, Cursor cursor) (cursor.isNull(MUSCLE_MASS)) ? null : cursor.getFloat(MUSCLE_MASS), (cursor.isNull(DAILY_CALORY_INTAKE)) ? null : cursor.getShort(DAILY_CALORY_INTAKE), (cursor.isNull(PHYSIQUE_RATING)) ? null : cursor.getShort(PHYSIQUE_RATING), - (cursor.isNull(VISCERAL_FAT_RATING)) ? null : cursor.getShort(VISCERAL_FAT_RATING), + (cursor.isNull(VISCERAL_FAT_RATING)) ? null : cursor.getFloat(VISCERAL_FAT_RATING), (cursor.isNull(BONE_MASS)) ? null : cursor.getFloat(BONE_MASS), (cursor.isNull(METABOLIC_AGE)) ? null : cursor.getShort(METABOLIC_AGE), cursor.getLong(RECORDED_AT), diff --git a/app/src/main/java/org/kochka/android/weightlogger/fragments/PreferencesFragment.java b/app/src/main/java/org/kochka/android/weightlogger/fragments/PreferencesFragment.java index b9bd7e7..db45c74 100644 --- a/app/src/main/java/org/kochka/android/weightlogger/fragments/PreferencesFragment.java +++ b/app/src/main/java/org/kochka/android/weightlogger/fragments/PreferencesFragment.java @@ -17,6 +17,7 @@ import android.app.Activity; import android.app.AlertDialog; +import android.content.Context; import android.content.DialogInterface; import android.content.SharedPreferences; import android.os.Bundle; @@ -221,14 +222,14 @@ public void run() { cal.add(Calendar.DATE, -40); for (int i=0; i<40; i++){ - new Measurement(getActivity(), + new Measurement((Context) getActivity(), (70 + (int)(Math.random() * 110)/10.0f), (15 + (int)(Math.random() * 70)/10.0f), (50 + (int)(Math.random() * 210)/10.0f), (50 + (int)(Math.random() * 210)/10.0f), (short)(1500 + (int)(Math.random() * 20000)/10), (short)(1 + (int)(Math.random() * 90)/10), - (short)(1 + (int)(Math.random() * 200)/10), + (1 + (int)(Math.random() * 200)/10.0f), (2 + (int)(Math.random() * 50)/10.0f), (short)(20 + (int)(Math.random() * 410)/10), cal.getTimeInMillis(), diff --git a/app/src/main/java/org/kochka/android/weightlogger/tools/Export.java b/app/src/main/java/org/kochka/android/weightlogger/tools/Export.java index f1aefbc..be62830 100644 --- a/app/src/main/java/org/kochka/android/weightlogger/tools/Export.java +++ b/app/src/main/java/org/kochka/android/weightlogger/tools/Export.java @@ -65,7 +65,7 @@ public static String buildFitFile(Context context, LinkedList measu if(measurement.getDailyCalorieIntake() != null) wm.setActiveMet((float) measurement.getDailyCalorieIntake()); wm.setPhysiqueRating(measurement.getPhysiqueRating()); - wm.setVisceralFatRating(measurement.getVisceralFatRating()); + wm.setVisceralFatRating((short) Math.round(measurement.getVisceralFatRating())); wm.setBoneMass(measurement.getBoneMass()); wm.setMetabolicAge(measurement.getMetabolicAge()); encoder.write(wm); @@ -100,7 +100,7 @@ public static String buildFitFileInAppDir(Context context, LinkedList - +