1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-24 17:23:03 +02:00

bug fix calculate BMI always in kg

convert kg to st/lb and back on user selections
This commit is contained in:
OliE
2017-04-29 13:01:07 +02:00
parent d715959aad
commit 687c0b95ca
27 changed files with 385 additions and 312 deletions

View File

@@ -46,6 +46,8 @@ import java.util.ArrayList;
import java.util.Map;
import java.util.TreeMap;
import static android.R.attr.id;
import static com.health.openscale.R.drawable.weight;
import static com.health.openscale.core.bluetooth.BluetoothCommunication.BT_MI_SCALE;
import static com.health.openscale.core.bluetooth.BluetoothCommunication.BT_OPEN_SCALE;
@@ -67,8 +69,8 @@ public class OpenScale {
private ArrayList<FragmentUpdateListener> fragmentList;
private OpenScale(Context con) {
context = con;
private OpenScale(Context context) {
this.context = context;
scaleDB = new ScaleDatabase(context);
scaleUserDB = new ScaleUserDatabase(context);
alarmHandler = new AlarmHandler();
@@ -78,9 +80,9 @@ public class OpenScale {
updateScaleData();
}
public static OpenScale getInstance(Context con) {
public static OpenScale getInstance(Context context) {
if (instance == null) {
instance = new OpenScale(con);
instance = new OpenScale(context);
}
return instance;
@@ -166,49 +168,28 @@ public class OpenScale {
return scaleDB.getDataEntry(id);
}
public int addScaleData(ScaleData scaleData) {
return addScaleData(scaleData.user_id, dateTimeFormat.format(scaleData.date_time).toString(), scaleData.weight, scaleData.fat,
scaleData.water, scaleData.muscle, scaleData.waist, scaleData.hip, scaleData.comment);
}
public int addScaleData(int user_id, String date_time, float weight, float fat,
float water, float muscle, float waist, float hip, String comment) {
ScaleData scaleData = new ScaleData();
public int addScaleData(ScaleData scaleData) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (user_id == -1) {
if (scaleData.getUserId() == -1) {
if (prefs.getBoolean("smartUserAssign", false)) {
user_id = getSmartUserAssignment(weight, 15.0f);
scaleData.setUserId(getSmartUserAssignment(weight, 15.0f));
} else {
user_id = getSelectedScaleUser().id;
scaleData.setUserId(getSelectedScaleUser().id);
}
if (user_id == -1) {
if (scaleData.getUserId() == -1) {
return -1;
}
}
try {
scaleData.user_id = user_id;
scaleData.date_time = dateTimeFormat.parse(date_time);
scaleData.weight = weight;
scaleData.fat = fat;
scaleData.water = water;
scaleData.muscle = muscle;
scaleData.waist = waist;
scaleData.hip = hip;
scaleData.comment = comment;
} catch (ParseException e) {
Log.e("OpenScale", "Can't parse date time string while adding to the database");
}
if (scaleDB.insertEntry(scaleData)) {
alarmHandler.entryChanged(context, scaleData);
updateScaleData();
}
return user_id;
return scaleData.getUserId();
}
private int getSmartUserAssignment(float weight, float range) {
@@ -219,7 +200,7 @@ public class OpenScale {
ArrayList<ScaleData> scaleUserData = scaleDB.getScaleDataList(scaleUser.get(i).id);
if (scaleUserData.size() > 0) {
float lastWeight = scaleUserData.get(0).weight;
float lastWeight = scaleUserData.get(0).getConvertedWeight(getSelectedScaleUser().scale_unit);
if ((lastWeight - range) <= weight && (lastWeight + range) >= weight) {
inRangeWeights.put(Math.abs(lastWeight - weight), scaleUser.get(i).id);
@@ -235,22 +216,7 @@ public class OpenScale {
return getSelectedScaleUser().id;
}
public void updateScaleData(long id, String date_time, float weight, float fat, float water, float muscle, float waist, float hip, String comment) {
ScaleData scaleData = new ScaleData();
try {
scaleData.date_time = dateTimeFormat.parse(date_time);
scaleData.weight = weight;
scaleData.fat = fat;
scaleData.water = water;
scaleData.muscle = muscle;
scaleData.waist = waist;
scaleData.hip = hip;
scaleData.comment = comment;
} catch (ParseException e) {
Log.e("OpenScale", "Can't parse date time string while adding to the database");
}
public void updateScaleData(ScaleData scaleData) {
scaleDB.updateEntry(id, scaleData);
alarmHandler.entryChanged(context, scaleData);
@@ -284,16 +250,16 @@ public class OpenScale {
ScaleData newScaleData = new ScaleData();
newScaleData.date_time = dateTimeFormat.parse(csvField[0]);
newScaleData.weight = Float.parseFloat(csvField[1]);
newScaleData.fat = Float.parseFloat(csvField[2]);
newScaleData.water = Float.parseFloat(csvField[3]);
newScaleData.muscle = Float.parseFloat(csvField[4]);
newScaleData.waist = Float.parseFloat(csvField[5]);
newScaleData.hip = Float.parseFloat(csvField[6]);
newScaleData.comment = csvField[7];
newScaleData.setDateTime(dateTimeFormat.parse(csvField[0]));
newScaleData.setWeight(Float.parseFloat(csvField[1]));
newScaleData.setFat(Float.parseFloat(csvField[2]));
newScaleData.setWater(Float.parseFloat(csvField[3]));
newScaleData.setMuscle(Float.parseFloat(csvField[4]));
newScaleData.setWaist(Float.parseFloat(csvField[5]));
newScaleData.setHip(Float.parseFloat(csvField[6]));
newScaleData.setComment(csvField[7]);
newScaleData.user_id = getSelectedScaleUser().id;
newScaleData.setUserId(getSelectedScaleUser().id);
scaleDB.insertEntry(newScaleData);
@@ -321,15 +287,15 @@ public class OpenScale {
OutputStreamWriter csvWriter = new OutputStreamWriter(outputStream);
for (ScaleData scaleData : scaleDataList) {
csvWriter.append(dateTimeFormat.format(scaleData.date_time) + ",");
csvWriter.append(Float.toString(scaleData.weight) + ",");
csvWriter.append(Float.toString(scaleData.fat) + ",");
csvWriter.append(Float.toString(scaleData.water) + ",");
csvWriter.append(Float.toString(scaleData.muscle) + ",");
csvWriter.append(Float.toString(scaleData.waist) + ",");
csvWriter.append(Float.toString(scaleData.hip) + ",");
if (!scaleData.comment.isEmpty()) {
csvWriter.append(scaleData.comment);
csvWriter.append(dateTimeFormat.format(scaleData.getDateTime()) + ",");
csvWriter.append(Float.toString(scaleData.getWeight()) + ",");
csvWriter.append(Float.toString(scaleData.getFat()) + ",");
csvWriter.append(Float.toString(scaleData.getWater()) + ",");
csvWriter.append(Float.toString(scaleData.getMuscle()) + ",");
csvWriter.append(Float.toString(scaleData.getWaist()) + ",");
csvWriter.append(Float.toString(scaleData.getHip()) + ",");
if (!scaleData.getComment().isEmpty()) {
csvWriter.append(scaleData.getComment());
}
csvWriter.append("\n");

View File

@@ -54,7 +54,7 @@ public class AlarmHandler
public void entryChanged(Context context, ScaleData data)
{
long dataMillis = data.date_time.getTime();
long dataMillis = data.getDateTime().getTime();
Calendar dataTimestamp = Calendar.getInstance();
dataTimestamp.setTimeInMillis(dataMillis);

View File

@@ -212,15 +212,15 @@ public class BluetoothCustomOpenScale extends BluetoothCommunication {
int btChecksum = Integer.parseInt(csvField[10]);
if (checksum == btChecksum) {
scaleBtData.id = -1;
scaleBtData.user_id = Integer.parseInt(csvField[0]);
scaleBtData.setId(-1);
scaleBtData.setUserId(Integer.parseInt(csvField[0]));
String date_string = csvField[1] + "/" + csvField[2] + "/" + csvField[3] + "/" + csvField[4] + "/" + csvField[5];
scaleBtData.date_time = new SimpleDateFormat("yyyy/MM/dd/HH/mm").parse(date_string);
scaleBtData.setDateTime(new SimpleDateFormat("yyyy/MM/dd/HH/mm").parse(date_string));
scaleBtData.weight = Float.parseFloat(csvField[6]);
scaleBtData.fat = Float.parseFloat(csvField[7]);
scaleBtData.water = Float.parseFloat(csvField[8]);
scaleBtData.muscle = Float.parseFloat(csvField[9]);
scaleBtData.setWeight(Float.parseFloat(csvField[6]));
scaleBtData.setFat(Float.parseFloat(csvField[7]));
scaleBtData.setWater(Float.parseFloat(csvField[8]));
scaleBtData.setMuscle(Float.parseFloat(csvField[9]));
return scaleBtData;
} else {

View File

@@ -160,8 +160,8 @@ public class BluetoothMiScale extends BluetoothCommunication {
if (validateDate(date_time, 20)) {
ScaleData scaleBtData = new ScaleData();
scaleBtData.weight = weight;
scaleBtData.date_time = date_time;
scaleBtData.setWeight(weight);
scaleBtData.setDateTime(date_time);
callbackBtHandler.obtainMessage(BluetoothCommunication.BT_RETRIEVE_SCALE_DATA, scaleBtData).sendToTarget();
} else {

View File

@@ -88,7 +88,7 @@ public class ScaleDatabase extends SQLiteOpenHelper {
private SimpleDateFormat formatDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.US);
public ScaleDatabase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
@@ -120,7 +120,7 @@ public class ScaleDatabase extends SQLiteOpenHelper {
SQLiteDatabase db = getWritableDatabase();
Cursor cursorScaleDB = db.query(TABLE_NAME, new String[] {COLUMN_NAME_DATE_TIME}, COLUMN_NAME_DATE_TIME + "=? AND " + COLUMN_NAME_USER_ID + "=?",
new String[] {formatDateTime.format(scaleData.date_time), Integer.toString(scaleData.user_id)}, null, null, null);
new String[] {formatDateTime.format(scaleData.getDateTime()), Integer.toString(scaleData.getUserId())}, null, null, null);
// we don't want double entries
if (cursorScaleDB.getCount() > 0) {
@@ -128,15 +128,15 @@ public class ScaleDatabase extends SQLiteOpenHelper {
return false;
} else {
ContentValues values = new ContentValues();
values.put(COLUMN_NAME_USER_ID, scaleData.user_id);
values.put(COLUMN_NAME_DATE_TIME, formatDateTime.format(scaleData.date_time));
values.put(COLUMN_NAME_WEIGHT, scaleData.weight);
values.put(COLUMN_NAME_FAT, scaleData.fat);
values.put(COLUMN_NAME_WATER, scaleData.water);
values.put(COLUMN_NAME_MUSCLE, scaleData.muscle);
values.put(COLUMN_NAME_WAIST, scaleData.waist);
values.put(COLUMN_NAME_HIP, scaleData.hip);
values.put(COLUMN_NAME_COMMENT, scaleData.comment);
values.put(COLUMN_NAME_USER_ID, scaleData.getUserId());
values.put(COLUMN_NAME_DATE_TIME, formatDateTime.format(scaleData.getDateTime()));
values.put(COLUMN_NAME_WEIGHT, scaleData.getWeight());
values.put(COLUMN_NAME_FAT, scaleData.getFat());
values.put(COLUMN_NAME_WATER, scaleData.getWater());
values.put(COLUMN_NAME_MUSCLE, scaleData.getMuscle());
values.put(COLUMN_NAME_WAIST, scaleData.getWaist());
values.put(COLUMN_NAME_HIP, scaleData.getHip());
values.put(COLUMN_NAME_COMMENT, scaleData.getComment());
values.put(COLUMN_NAME_ENABLE, 1);
try
@@ -158,14 +158,14 @@ public class ScaleDatabase extends SQLiteOpenHelper {
public void updateEntry(long id, ScaleData scaleData) {
ContentValues values = new ContentValues();
values.put(COLUMN_NAME_DATE_TIME, formatDateTime.format(scaleData.date_time));
values.put(COLUMN_NAME_WEIGHT, scaleData.weight);
values.put(COLUMN_NAME_FAT, scaleData.fat);
values.put(COLUMN_NAME_WATER, scaleData.water);
values.put(COLUMN_NAME_MUSCLE, scaleData.muscle);
values.put(COLUMN_NAME_WAIST, scaleData.waist);
values.put(COLUMN_NAME_HIP, scaleData.hip);
values.put(COLUMN_NAME_COMMENT, scaleData.comment);
values.put(COLUMN_NAME_DATE_TIME, formatDateTime.format(scaleData.getDateTime()));
values.put(COLUMN_NAME_WEIGHT, scaleData.getWeight());
values.put(COLUMN_NAME_FAT, scaleData.getFat());
values.put(COLUMN_NAME_WATER, scaleData.getWater());
values.put(COLUMN_NAME_MUSCLE, scaleData.getMuscle());
values.put(COLUMN_NAME_WAIST, scaleData.getWaist());
values.put(COLUMN_NAME_HIP, scaleData.getHip());
values.put(COLUMN_NAME_COMMENT, scaleData.getComment());
values.put(COLUMN_NAME_ENABLE, 1);
dbWrite.update(TABLE_NAME, values, COLUMN_NAME_ID + "=" + id, null);
@@ -334,18 +334,18 @@ public class ScaleDatabase extends SQLiteOpenHelper {
ScaleData scaleData = new ScaleData();
try {
scaleData.id = cur.getLong(cur.getColumnIndexOrThrow(COLUMN_NAME_ID));
scaleData.user_id = cur.getInt(cur.getColumnIndexOrThrow(COLUMN_NAME_USER_ID));
scaleData.setId(cur.getLong(cur.getColumnIndexOrThrow(COLUMN_NAME_ID)));
scaleData.setUserId(cur.getInt(cur.getColumnIndexOrThrow(COLUMN_NAME_USER_ID)));
String date_time = cur.getString(cur.getColumnIndexOrThrow(COLUMN_NAME_DATE_TIME));
scaleData.weight = cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_WEIGHT));
scaleData.fat = cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_FAT));
scaleData.water = cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_WATER));
scaleData.muscle = cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_MUSCLE));
scaleData.waist = cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_WAIST));
scaleData.hip = cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_HIP));
scaleData.comment = cur.getString(cur.getColumnIndexOrThrow(COLUMN_NAME_COMMENT));
scaleData.setWeight(cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_WEIGHT)));
scaleData.setFat(cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_FAT)));
scaleData.setWater(cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_WATER)));
scaleData.setMuscle(cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_MUSCLE)));
scaleData.setWaist(cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_WAIST)));
scaleData.setHip(cur.getFloat(cur.getColumnIndexOrThrow(COLUMN_NAME_HIP)));
scaleData.setComment(cur.getString(cur.getColumnIndexOrThrow(COLUMN_NAME_COMMENT)));
scaleData.date_time = formatDateTime.parse(date_time);
scaleData.setDateTime(formatDateTime.parse(date_time));
} catch (ParseException ex) {
Log.e("ScaleDatabase", "Can't parse the date time string: " + ex.getMessage());
}

View File

@@ -1,37 +0,0 @@
package com.health.openscale.core.datatypes;
public class ScaleCalculator {
private float weight;
private float fat;
private float water;
private float muscle;
private float waist;
private float hip;
public ScaleCalculator(ScaleData scaleData) {
weight = scaleData.weight;
fat = scaleData.fat;
water = scaleData.water;
muscle = scaleData.weight;
waist = scaleData.waist;
hip = scaleData.hip;
}
public float getBMI(int body_height) {
return weight / ((body_height / 100.0f)*(body_height / 100.0f));
}
public float getWHtR(int body_height) {
return waist / (float)body_height;
}
public float getWHR() {
if (hip == 0) {
return 0;
}
return waist / hip;
}
}

View File

@@ -16,19 +16,28 @@
package com.health.openscale.core.datatypes;
import android.util.Log;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ScaleData {
public long id;
public int user_id;
public Date date_time;
public float weight;
public float fat;
public float water;
public float muscle;
public float waist;
public float hip;
public String comment;
private static float KG_LB = 2.20462f;
private static float KG_ST = 0.157473f;
private SimpleDateFormat dateTimeFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm");
private long id;
private int user_id;
private Date date_time;
private float weight;
private float fat;
private float water;
private float muscle;
private float waist;
private float hip;
private String comment;
public ScaleData()
{
@@ -44,6 +53,143 @@ public class ScaleData {
comment = new String();
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public int getUserId() {
return user_id;
}
public void setUserId(int user_id) {
this.user_id = user_id;
}
public Date getDateTime() {
return date_time;
}
public void setDateTime(Date date_time) {
this.date_time = date_time;
}
public void setDateTime(String date_time) {
try {
this.date_time = dateTimeFormat.parse(date_time);
} catch (ParseException e) {
Log.e("OpenScale", "Can't parse date time string while adding to the database");
}
}
public float getWeight() {
return weight;
}
public float getConvertedWeight(int scale_unit) {
float converted_weight = 0.0f;
switch (ScaleUser.UNIT_STRING[scale_unit]) {
case "kg":
converted_weight = weight;
break;
case "lb":
converted_weight = weight * KG_LB;
break;
case "st":
converted_weight = weight * KG_ST;
break;
}
return converted_weight;
}
public void setWeight(float weight) {
this.weight = weight;
}
public void setConvertedWeight(float weight, int scale_unit) {
switch (ScaleUser.UNIT_STRING[scale_unit]) {
case "kg":
this.weight = weight;
break;
case "lb":
this.weight = weight / KG_LB;
break;
case "st":
this.weight = weight / KG_ST;
break;
}
}
public float getFat() {
return fat;
}
public void setFat(float fat) {
this.fat = fat;
}
public float getWater() {
return water;
}
public void setWater(float water) {
this.water = water;
}
public float getMuscle() {
return muscle;
}
public void setMuscle(float muscle) {
this.muscle = muscle;
}
public float getWaist() {
return waist;
}
public void setWaist(float waist) {
this.waist = waist;
}
public float getHip() {
return hip;
}
public void setHip(float hip) {
this.hip = hip;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public float getBMI(int body_height) {
return weight / ((body_height / 100.0f)*(body_height / 100.0f));
}
public float getWHtR(int body_height) {
return waist / (float)body_height ;
}
public float getWHR() {
if (hip == 0) {
return 0;
}
return waist / hip;
}
@Override
public String toString()
{

View File

@@ -77,6 +77,7 @@ public class MainActivity extends ActionBarActivity implements
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

View File

@@ -186,7 +186,7 @@ public class DataEntryActivity extends Activity {
ScaleData selectedScaleData = openScale.getScaleData(id);
txtDataNr.setText(DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT).format(selectedScaleData.date_time));
txtDataNr.setText(DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT).format(selectedScaleData.getDateTime()));
ArrayList<ScaleData> scaleDataList = OpenScale.getInstance(context).getScaleDataList();
ListIterator<ScaleData> scaleDataIterator = scaleDataList.listIterator();
@@ -196,7 +196,7 @@ public class DataEntryActivity extends Activity {
while(scaleDataIterator.hasNext()) {
ScaleData scaleData = scaleDataIterator.next();
if (scaleData.id == id) {
if (scaleData.getId() == id) {
if (scaleDataIterator.hasNext()) {
lastData = scaleDataIterator.next();
}
@@ -214,16 +214,16 @@ public class DataEntryActivity extends Activity {
}
if (!OpenScale.getInstance(this).getScaleDataList().isEmpty())
if (!OpenScale.getInstance(getApplicationContext()).getScaleDataList().isEmpty())
{
setViewMode(MeasurementView.MeasurementViewMode.ADD);
txtDataNr.setText(DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT).format(new Date()));
ScaleData lastScaleData = OpenScale.getInstance(this).getScaleDataList().get(0);
ScaleData lastScaleData = OpenScale.getInstance(getApplicationContext()).getScaleDataList().get(0);
// show as default last scale data
for (MeasurementView measuremt : dataEntryMeasurements) {
lastScaleData.date_time = new Date();
lastScaleData.comment = "";
lastScaleData.setDateTime(new Date());
lastScaleData.setComment("");
measuremt.updateValue(lastScaleData);
}
} else {
@@ -279,21 +279,26 @@ public class DataEntryActivity extends Activity {
}
private void saveScaleData() {
OpenScale openScale = OpenScale.getInstance(context);
OpenScale openScale = OpenScale.getInstance(getApplicationContext());
openScale.updateScaleData(id,
dateMeasurement.getValueAsString() + " " + timeMeasurement.getValueAsString(),
weightMeasurement.getValue(),
fatMeasurement.getValue(),
waterMeasurement.getValue(),
muscleMeasurement.getValue(),
waistMeasurement.getValue(),
hipMeasurement.getValue(),
commentMeasurement.getValueAsString());
ScaleData scaleData = new ScaleData();
scaleData.setId(id);
scaleData.setUserId(openScale.getSelectedScaleUser().id);
scaleData.setDateTime(dateMeasurement.getValueAsString() + " " + timeMeasurement.getValueAsString());
scaleData.setConvertedWeight(weightMeasurement.getValue(), openScale.getSelectedScaleUser().scale_unit);
scaleData.setFat(fatMeasurement.getValue());
scaleData.setWater(waterMeasurement.getValue());
scaleData.setMuscle(muscleMeasurement.getValue());
scaleData.setWaist(waistMeasurement.getValue());
scaleData.setHip(hipMeasurement.getValue());
scaleData.setComment(commentMeasurement.getValueAsString());
openScale.updateScaleData(scaleData);
}
private boolean moveLeft() {
ArrayList<ScaleData> scaleDataList = OpenScale.getInstance(context).getScaleDataList();
ArrayList<ScaleData> scaleDataList = OpenScale.getInstance(getApplicationContext()).getScaleDataList();
ListIterator<ScaleData> scaleDataIterator = scaleDataList.listIterator();
@@ -301,11 +306,11 @@ public class DataEntryActivity extends Activity {
{
ScaleData scaleData = scaleDataIterator.next();
if (scaleData.id == id)
if (scaleData.getId() == id)
{
if (scaleDataIterator.hasNext()) {
saveScaleData();
getIntent().putExtra("id",scaleDataIterator.next().id );
getIntent().putExtra("id",scaleDataIterator.next().getId() );
updateOnView();
return true;
} else {
@@ -320,7 +325,7 @@ public class DataEntryActivity extends Activity {
private boolean moveRight()
{
ArrayList<ScaleData> scaleDataList = OpenScale.getInstance(context).getScaleDataList();
ArrayList<ScaleData> scaleDataList = OpenScale.getInstance(getApplicationContext()).getScaleDataList();
ListIterator<ScaleData> scaleDataIterator = scaleDataList.listIterator(scaleDataList.size());
@@ -328,11 +333,11 @@ public class DataEntryActivity extends Activity {
{
ScaleData scaleData = scaleDataIterator.previous();
if (scaleData.id == id)
if (scaleData.getId() == id)
{
if (scaleDataIterator.hasPrevious()) {
saveScaleData();
getIntent().putExtra("id", scaleDataIterator.previous().id);
getIntent().putExtra("id", scaleDataIterator.previous().getId());
updateOnView();
return true;
} else {
@@ -348,7 +353,7 @@ public class DataEntryActivity extends Activity {
private class onClickListenerAdd implements View.OnClickListener {
@Override
public void onClick(View v) {
OpenScale openScale = OpenScale.getInstance(context);
OpenScale openScale = OpenScale.getInstance(getApplicationContext());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
int selectedUserId = prefs.getInt("selectedUserId", -1);
@@ -362,15 +367,19 @@ public class DataEntryActivity extends Activity {
infoDialog.show();
} else {
openScale.addScaleData(selectedUserId,
dateMeasurement.getValueAsString() + " " + timeMeasurement.getValueAsString(),
weightMeasurement.getValue(),
fatMeasurement.getValue(),
waterMeasurement.getValue(),
muscleMeasurement.getValue(),
waistMeasurement.getValue(),
hipMeasurement.getValue(),
commentMeasurement.getValueAsString());
ScaleData scaleData = new ScaleData();
scaleData.setUserId(selectedUserId);
scaleData.setDateTime( dateMeasurement.getValueAsString() + " " + timeMeasurement.getValueAsString());
scaleData.setConvertedWeight(weightMeasurement.getValue(), openScale.getSelectedScaleUser().scale_unit);
scaleData.setFat(fatMeasurement.getValue());
scaleData.setWater(waterMeasurement.getValue());
scaleData.setMuscle(muscleMeasurement.getValue());
scaleData.setWaist(waistMeasurement.getValue());
scaleData.setHip(hipMeasurement.getValue());
scaleData.setComment(commentMeasurement.getValueAsString());
openScale.addScaleData(scaleData);
finish();
}
@@ -440,7 +449,7 @@ public class DataEntryActivity extends Activity {
boolean hasNext = moveLeft();
OpenScale.getInstance(context).deleteScaleData(delId);
OpenScale.getInstance(getApplicationContext()).deleteScaleData(delId);
Toast.makeText(context, getResources().getString(R.string.info_data_deleted), Toast.LENGTH_SHORT).show();
if (!hasNext) {

View File

@@ -123,7 +123,7 @@ public class UserSettingsActivity extends Activity {
{
int id = getIntent().getExtras().getInt("id");
OpenScale openScale = OpenScale.getInstance(context);
OpenScale openScale = OpenScale.getInstance(getApplicationContext());
ScaleUser scaleUser = openScale.getScaleUser(id);
@@ -207,7 +207,7 @@ public class UserSettingsActivity extends Activity {
public void onClick(DialogInterface dialog, int id) {
int userId = getIntent().getExtras().getInt("id");
OpenScale openScale = OpenScale.getInstance(context);
OpenScale openScale = OpenScale.getInstance(getApplicationContext());
openScale.clearScaleData(userId);
openScale.deleteScaleUser(userId);
@@ -246,7 +246,7 @@ public class UserSettingsActivity extends Activity {
public void onClick(View v) {
if (validateInput())
{
OpenScale openScale = OpenScale.getInstance(context);
OpenScale openScale = OpenScale.getInstance(getApplicationContext());
String name = txtUserName.getText().toString();
int body_height = Integer.valueOf(txtBodyHeight.getText().toString());

View File

@@ -164,7 +164,7 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
}
});
openScale = OpenScale.getInstance(graphView.getContext());
openScale = OpenScale.getInstance(getContext());
openScale.registerFragment(this);
return graphView;
@@ -211,14 +211,14 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
for(ScaleData scaleEntry: scaleDataList)
{
calDB.setTime(scaleEntry.date_time);
calDB.setTime(scaleEntry.getDateTime());
valuesWeight.add(new PointValue(calDB.get(field)-1, scaleEntry.weight));
valuesFat.add(new PointValue(calDB.get(field)-1, scaleEntry.fat));
valuesWater.add(new PointValue(calDB.get(field)-1, scaleEntry.water));
valuesMuscle.add(new PointValue(calDB.get(field)-1, scaleEntry.muscle));
valuesWaist.add(new PointValue(calDB.get(field)-1, scaleEntry.waist));
valuesHip.add(new PointValue(calDB.get(field)-1, scaleEntry.hip));
valuesWeight.add(new PointValue(calDB.get(field)-1, scaleEntry.getConvertedWeight(openScale.getSelectedScaleUser().scale_unit)));
valuesFat.add(new PointValue(calDB.get(field)-1, scaleEntry.getFat()));
valuesWater.add(new PointValue(calDB.get(field)-1, scaleEntry.getWater()));
valuesMuscle.add(new PointValue(calDB.get(field)-1, scaleEntry.getMuscle()));
valuesWaist.add(new PointValue(calDB.get(field)-1, scaleEntry.getWaist()));
valuesHip.add(new PointValue(calDB.get(field)-1, scaleEntry.getHip()));
}
@@ -414,7 +414,7 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
public void onValueSelected(int lineIndex, int pointIndex, PointValue pointValue) {
ScaleData scaleData = scaleDataList.get(pointIndex);
long id = scaleData.id;
long id = scaleData.getId();
Intent intent = new Intent(graphView.getContext(), DataEntryActivity.class);
intent.putExtra("id", id);

View File

@@ -161,7 +161,7 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
}
});
OpenScale.getInstance(overviewView.getContext()).registerFragment(this);
OpenScale.getInstance(getContext()).registerFragment(this);
return overviewView;
}
@@ -192,7 +192,7 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
while(scaleDataIterator.hasNext()) {
ScaleData scaleData = scaleDataIterator.next();
if (scaleData.id == lastScaleData.id) {
if (scaleData.getId() == lastScaleData.getId()) {
if (scaleDataIterator.hasNext()) {
ScaleData diffScaleData = scaleDataIterator.next();
@@ -211,12 +211,12 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
private void updateUserSelection() {
currentScaleUser = OpenScale.getInstance(overviewView.getContext()).getSelectedScaleUser();
currentScaleUser = OpenScale.getInstance(getContext()).getSelectedScaleUser();
userSelectedData = null;
spinUserAdapter.clear();
ArrayList<ScaleUser> scaleUserList = OpenScale.getInstance(overviewView.getContext()).getScaleUserList();
ArrayList<ScaleUser> scaleUserList = OpenScale.getInstance(getContext()).getScaleUserList();
int posUser = 0;
int pos = 0;
@@ -256,7 +256,7 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
Calendar lastDate = Calendar.getInstance();
if (!scaleDataList.isEmpty()) {
lastDate.setTime(scaleDataList.get(0).date_time);
lastDate.setTime(scaleDataList.get(0).getDateTime());
}
scaleDataLastDays = new ArrayList<ScaleData>();
@@ -266,19 +266,19 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
scaleDataLastDays.add(histData);
valuesWeight.add(new PointValue(i, histData.weight));
valuesFat.add(new PointValue(i, histData.fat));
valuesWater.add(new PointValue(i, histData.water));
valuesMuscle.add(new PointValue(i, histData.muscle));
valuesWaist.add(new PointValue(i, histData.waist));
valuesHip.add(new PointValue(i, histData.hip));
valuesWeight.add(new PointValue(i, histData.getConvertedWeight(currentScaleUser.scale_unit)));
valuesFat.add(new PointValue(i, histData.getFat()));
valuesWater.add(new PointValue(i, histData.getWater()));
valuesMuscle.add(new PointValue(i, histData.getMuscle()));
valuesWaist.add(new PointValue(i, histData.getWaist()));
valuesHip.add(new PointValue(i, histData.getHip()));
histDate.setTime(histData.date_time);
histDate.setTime(histData.getDateTime());
long days = 0 - daysBetween(lastDate, histDate);
if (days == 0 && !scaleDataList.isEmpty()) {
axisValues.add(new AxisValue(i, DateFormat.getDateInstance(DateFormat.SHORT).format(scaleDataList.get(0).date_time).toCharArray()));
axisValues.add(new AxisValue(i, DateFormat.getDateInstance(DateFormat.SHORT).format(scaleDataList.get(0).getDateTime()).toCharArray()));
} else {
axisValues.add(new AxisValue(i, String.format("%d " + getResources().getString(R.string.label_days), days).toCharArray()));
}
@@ -361,32 +361,32 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
List<SliceValue> arcValuesLast = new ArrayList<SliceValue>();
if (lastScaleData.fat == 0) {
if (lastScaleData.getFat() == 0) {
arcValuesLast.add(new SliceValue(1, ChartUtils.COLOR_ORANGE));
}
else {
arcValuesLast.add(new SliceValue(lastScaleData.fat, ChartUtils.COLOR_ORANGE));
arcValuesLast.add(new SliceValue(lastScaleData.getFat(), ChartUtils.COLOR_ORANGE));
}
if (lastScaleData.water == 0) {
if (lastScaleData.getWater() == 0) {
arcValuesLast.add(new SliceValue(1, ChartUtils.COLOR_BLUE));
}
else {
arcValuesLast.add(new SliceValue(lastScaleData.water, ChartUtils.COLOR_BLUE));
arcValuesLast.add(new SliceValue(lastScaleData.getWater(), ChartUtils.COLOR_BLUE));
}
if (lastScaleData.muscle == 0) {
if (lastScaleData.getMuscle() == 0) {
arcValuesLast.add(new SliceValue(1, ChartUtils.COLOR_GREEN));
}
else {
arcValuesLast.add(new SliceValue(lastScaleData.muscle, ChartUtils.COLOR_GREEN));
arcValuesLast.add(new SliceValue(lastScaleData.getMuscle(), ChartUtils.COLOR_GREEN));
}
PieChartData pieChartData = new PieChartData(arcValuesLast);
pieChartData.setHasLabels(false);
pieChartData.setHasCenterCircle(true);
pieChartData.setCenterText1(Float.toString(lastScaleData.weight) + " " + ScaleUser.UNIT_STRING[currentScaleUser.scale_unit]);
pieChartData.setCenterText2(DateFormat.getDateInstance(DateFormat.MEDIUM).format(lastScaleData.date_time));
pieChartData.setCenterText1(String.format("%.2f %s", lastScaleData.getConvertedWeight(currentScaleUser.scale_unit), ScaleUser.UNIT_STRING[currentScaleUser.scale_unit]));
pieChartData.setCenterText2(DateFormat.getDateInstance(DateFormat.MEDIUM).format(lastScaleData.getDateTime()));
if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE ||
@@ -422,17 +422,17 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
return;
}
String date_time = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.SHORT).format(lastScaleData.date_time);
String date_time = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.SHORT).format(lastScaleData.getDateTime());
switch (i) {
case 0:
Toast.makeText(getActivity(), getResources().getString(R.string.info_your_fat) + " " + lastScaleData.fat + "% " + getResources().getString(R.string.info_on_date) + " " + date_time, Toast.LENGTH_SHORT).show();
Toast.makeText(getActivity(), getResources().getString(R.string.info_your_fat) + " " + lastScaleData.getFat() + "% " + getResources().getString(R.string.info_on_date) + " " + date_time, Toast.LENGTH_SHORT).show();
break;
case 1:
Toast.makeText(getActivity(), getResources().getString(R.string.info_your_water) + " " + lastScaleData.water + "% " + getResources().getString(R.string.info_on_date) + " " + date_time, Toast.LENGTH_SHORT).show();
Toast.makeText(getActivity(), getResources().getString(R.string.info_your_water) + " " + lastScaleData.getWater() + "% " + getResources().getString(R.string.info_on_date) + " " + date_time, Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(getActivity(), getResources().getString(R.string.info_your_muscle) + " " + lastScaleData.muscle + "% " + getResources().getString(R.string.info_on_date) + " " + date_time, Toast.LENGTH_SHORT).show();
Toast.makeText(getActivity(), getResources().getString(R.string.info_your_muscle) + " " + lastScaleData.getMuscle() + "% " + getResources().getString(R.string.info_on_date) + " " + date_time, Toast.LENGTH_SHORT).show();
break;
}
}
@@ -448,7 +448,7 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
public void onValueSelected(int lineIndex, int pointIndex, PointValue pointValue) {
userSelectedData = scaleDataLastDays.get(pointIndex);
updateOnView( OpenScale.getInstance(overviewView.getContext()).getScaleDataList());
updateOnView( OpenScale.getInstance(getContext()).getScaleDataList());
}
@Override
@@ -464,13 +464,13 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener
if (parent.getChildCount() > 0) {
((TextView) parent.getChildAt(0)).setTextColor(Color.GRAY);
ArrayList<ScaleUser> scaleUserList = OpenScale.getInstance(overviewView.getContext()).getScaleUserList();
ArrayList<ScaleUser> scaleUserList = OpenScale.getInstance(getContext()).getScaleUserList();
ScaleUser scaleUser = scaleUserList.get(position);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
prefs.edit().putInt("selectedUserId", scaleUser.id).commit();
OpenScale.getInstance(overviewView.getContext()).updateScaleData();
OpenScale.getInstance(getContext()).updateScaleData();
}
}

View File

@@ -28,7 +28,6 @@ import android.widget.TextView;
import com.health.openscale.R;
import com.health.openscale.core.OpenScale;
import com.health.openscale.core.datatypes.ScaleCalculator;
import com.health.openscale.core.datatypes.ScaleData;
import com.health.openscale.core.datatypes.ScaleUser;
@@ -83,7 +82,7 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen
txtLabelAvgWeek = (TextView) statisticsView.findViewById(R.id.txtLabelAvgWeek);
txtLabelAvgMonth = (TextView) statisticsView.findViewById(R.id.txtLabelAvgMonth);
OpenScale.getInstance(statisticsView.getContext()).registerFragment(this);
OpenScale.getInstance(getContext()).registerFragment(this);
return statisticsView;
}
@@ -100,16 +99,19 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen
txtTitleStatistics.setText(getResources().getString(R.string.label_title_statistics).toUpperCase());
prefs = PreferenceManager.getDefaultSharedPreferences(statisticsView.getContext());
currentScaleUser = OpenScale.getInstance(statisticsView.getContext()).getSelectedScaleUser();
currentScaleUser = OpenScale.getInstance(getContext()).getSelectedScaleUser();
updateStatistics(scaleDataList);
updateGoal(scaleDataList);
}
private void updateGoal(ArrayList<ScaleData> scaleDataList) {
txtGoalWeight.setText(currentScaleUser.goal_weight + " " + ScaleUser.UNIT_STRING[currentScaleUser.scale_unit]);
ScaleData goalScaleData = new ScaleData();
goalScaleData.setConvertedWeight(currentScaleUser.goal_weight, currentScaleUser.scale_unit);
double weight_diff = currentScaleUser.goal_weight - lastScaleData.weight;
txtGoalWeight.setText(goalScaleData.getConvertedWeight(currentScaleUser.scale_unit) + " " + ScaleUser.UNIT_STRING[currentScaleUser.scale_unit]);
double weight_diff = goalScaleData.getConvertedWeight(currentScaleUser.scale_unit) - lastScaleData.getConvertedWeight(currentScaleUser.scale_unit);
txtGoalDiff.setText(String.format("%.1f " + ScaleUser.UNIT_STRING[currentScaleUser.scale_unit], weight_diff));
Calendar goalDate = Calendar.getInstance();
@@ -119,11 +121,11 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen
long days = daysBetween(curDate, goalDate);
txtGoalDayLeft.setText(days + " " + getResources().getString(R.string.label_days));
ScaleCalculator currentCalculator = new ScaleCalculator(lastScaleData);
lastScaleData.setUserId(currentScaleUser.id);
ScaleData goalData = new ScaleData();
goalData.weight = currentScaleUser.goal_weight;
ScaleCalculator goalCalculator = new ScaleCalculator(goalData);
goalData.setConvertedWeight(currentScaleUser.goal_weight, currentScaleUser.scale_unit);
goalData.setUserId(currentScaleUser.id);
txtLabelGoalWeight.setText(
Html.fromHtml(
@@ -131,7 +133,7 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen
" <br> <font color='grey'><small>" +
getResources().getString(R.string.label_bmi) +
": " +
String.format("%.1f", goalCalculator.getBMI(currentScaleUser.body_height)) +
String.format("%.1f", goalData.getBMI(currentScaleUser.body_height)) +
" </small></font>"
)
);
@@ -141,7 +143,7 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen
" <br> <font color='grey'><small>" +
getResources().getString(R.string.label_bmi) +
": " +
String.format("%.1f", currentCalculator.getBMI(currentScaleUser.body_height) - goalCalculator.getBMI(currentScaleUser.body_height)) +
String.format("%.1f", lastScaleData.getBMI(currentScaleUser.body_height) - goalData.getBMI(currentScaleUser.body_height)) +
" </small></font>"
)
);
@@ -162,10 +164,10 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen
Calendar weekPastDate = Calendar.getInstance();
Calendar monthPastDate = Calendar.getInstance();
weekPastDate.setTime(lastScaleData.date_time);
weekPastDate.setTime(lastScaleData.getDateTime());
weekPastDate.add(Calendar.DATE, -7);
monthPastDate.setTime(lastScaleData.date_time);
monthPastDate.setTime(lastScaleData.getDateTime());
monthPastDate.add(Calendar.DATE, -30);
int weekSize = 0;
@@ -192,36 +194,34 @@ public class StatisticsFragment extends Fragment implements FragmentUpdateListen
for (ScaleData scaleData : scaleDataList)
{
histDate.setTime(scaleData.date_time);
ScaleCalculator calculator = new ScaleCalculator(scaleData);
histDate.setTime(scaleData.getDateTime());
if (weekPastDate.before(histDate)) {
weekSize++;
weekAvgWeight += scaleData.weight;
weekAvgBMI += calculator.getBMI(currentScaleUser.body_height);
weekAvgFat += scaleData.fat;
weekAvgWater += scaleData.water;
weekAvgMuscle += scaleData.muscle;
weekAvgWaist += scaleData.waist;
weekAvgHip += scaleData.hip;
weekAvgWHtR += calculator.getWHtR(currentScaleUser.body_height);
weekAvgWHR += calculator.getWHR();
weekAvgWeight += scaleData.getConvertedWeight(currentScaleUser.scale_unit);
weekAvgBMI += scaleData.getBMI(currentScaleUser.body_height);
weekAvgFat += scaleData.getFat();
weekAvgWater += scaleData.getWater();
weekAvgMuscle += scaleData.getMuscle();
weekAvgWaist += scaleData.getWaist();
weekAvgHip += scaleData.getHip();
weekAvgWHtR += scaleData.getWHtR(currentScaleUser.body_height);
weekAvgWHR += scaleData.getWHR();
}
if (monthPastDate.before(histDate)) {
monthSize++;
monthAvgWeight += scaleData.weight;
monthAvgBMI += calculator.getBMI(currentScaleUser.body_height);
monthAvgFat += scaleData.fat;
monthAvgWater += scaleData.water;
monthAvgMuscle += scaleData.muscle;
monthAvgWaist += scaleData.waist;
monthAvgHip += scaleData.hip;
monthAvgWHtR += calculator.getWHtR(currentScaleUser.body_height);
monthAvgWHR += calculator.getWHR();
monthAvgWeight += scaleData.getConvertedWeight(currentScaleUser.scale_unit);
monthAvgBMI += scaleData.getBMI(currentScaleUser.body_height);
monthAvgFat += scaleData.getFat();
monthAvgWater += scaleData.getWater();
monthAvgMuscle += scaleData.getMuscle();
monthAvgWaist += scaleData.getWaist();
monthAvgHip += scaleData.getHip();
monthAvgWHtR += scaleData.getWHtR(currentScaleUser.body_height);
monthAvgWHR += scaleData.getWHR();
} else {
break;
}

View File

@@ -71,7 +71,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
tableView.findViewById(R.id.btnDeleteAll).setOnClickListener(new onClickListenerDeleteAll());
OpenScale.getInstance(tableView.getContext()).registerFragment(this);
OpenScale.getInstance(getContext()).registerFragment(this);
return tableView;
}
@@ -152,32 +152,32 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
dataRow.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
TextView idView = new TextView(tableView.getContext());
idView.setText(Long.toString(scaleData.id));
idView.setText(Long.toString(scaleData.getId()));
idView.setVisibility(View.GONE);
dataRow.addView(idView);
TextView dateTextView = new TextView(tableView.getContext());
if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE ||
(getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) {
dateTextView.setText(DateFormat.getDateInstance(DateFormat.MEDIUM).format(scaleData.date_time));
dateTextView.setText(DateFormat.getDateInstance(DateFormat.MEDIUM).format(scaleData.getDateTime()));
} else{
dateTextView.setText(DateFormat.getDateInstance(DateFormat.SHORT).format(scaleData.date_time));
dateTextView.setText(DateFormat.getDateInstance(DateFormat.SHORT).format(scaleData.getDateTime()));
}
dateTextView.setPadding(0, 5, 5, 5);
dataRow.addView(dateTextView);
TextView timeTextView = new TextView(tableView.getContext());
timeTextView.setText(new SimpleDateFormat("HH:mm").format(scaleData.date_time));
timeTextView.setText(new SimpleDateFormat("HH:mm").format(scaleData.getDateTime()));
timeTextView.setPadding(0, 5, 5, 5);
dataRow.addView(timeTextView);
TextView weightView = new TextView(tableView.getContext());
weightView.setText(Float.toString(scaleData.weight));
weightView.setText(String.format("%.2f", scaleData.getConvertedWeight(OpenScale.getInstance(getContext()).getSelectedScaleUser().scale_unit)));
weightView.setPadding(0, 5, 5, 5);
dataRow.addView(weightView);
TextView fatView = new TextView(tableView.getContext());
fatView.setText(Float.toString(scaleData.fat));
fatView.setText(Float.toString(scaleData.getFat()));
fatView.setPadding(0, 5, 5, 5);
if(!prefs.getBoolean("fatEnable", true)) {
fatView.setVisibility(View.GONE);
@@ -185,7 +185,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
dataRow.addView(fatView);
TextView waterView = new TextView(tableView.getContext());
waterView.setText(Float.toString(scaleData.water));
waterView.setText(Float.toString(scaleData.getWater()));
waterView.setPadding(0, 5, 5, 5);
if(!prefs.getBoolean("waterEnable", true)) {
waterView.setVisibility(View.GONE);
@@ -193,7 +193,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
dataRow.addView(waterView);
TextView muscleView = new TextView(tableView.getContext());
muscleView.setText(Float.toString(scaleData.muscle));
muscleView.setText(Float.toString(scaleData.getMuscle()));
muscleView.setPadding(0, 5, 5, 5);
if(!prefs.getBoolean("muscleEnable", true)) {
muscleView.setVisibility(View.GONE);
@@ -201,7 +201,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
dataRow.addView(muscleView);
TextView waistView = new TextView(tableView.getContext());
waistView.setText(Float.toString(scaleData.waist));
waistView.setText(Float.toString(scaleData.getWaist()));
waistView.setPadding(0, 5, 5, 5);
if(!prefs.getBoolean("waistEnable", true)) {
waistView.setVisibility(View.GONE);
@@ -209,7 +209,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
dataRow.addView(waistView);
TextView hipView = new TextView(tableView.getContext());
hipView.setText(Float.toString(scaleData.hip));
hipView.setText(Float.toString(scaleData.getHip()));
hipView.setPadding(0, 5, 5, 5);
if(!prefs.getBoolean("hipEnable", true)) {
hipView.setVisibility(View.GONE);
@@ -217,7 +217,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
dataRow.addView(hipView);
TextView commentView = new TextView(tableView.getContext());
commentView.setText(scaleData.comment);
commentView.setText(scaleData.getComment());
commentView.setPadding(0, 5, 5, 5);
dataRow.addView(commentView);
@@ -289,7 +289,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
filenameDialog.setTitle(getResources().getString(R.string.info_set_filename) + " /sdcard ...");
final EditText txtFilename = new EditText(tableView.getContext());
txtFilename.setText("/openScale_data_" + OpenScale.getInstance(tableView.getContext()).getSelectedScaleUser().user_name + ".csv");
txtFilename.setText("/openScale_data_" + OpenScale.getInstance(getContext()).getSelectedScaleUser().user_name + ".csv");
filenameDialog.setView(txtFilename);
@@ -298,7 +298,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
boolean isError = false;
try {
OpenScale.getInstance(tableView.getContext()).importData(Environment.getExternalStorageDirectory().getPath() + txtFilename.getText().toString());
OpenScale.getInstance(getContext()).importData(Environment.getExternalStorageDirectory().getPath() + txtFilename.getText().toString());
} catch (IOException e) {
Toast.makeText(tableView.getContext(), getResources().getString(R.string.error_importing) + " " + e.getMessage(), Toast.LENGTH_SHORT).show();
isError = true;
@@ -306,7 +306,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
if (!isError) {
Toast.makeText(tableView.getContext(), getResources().getString(R.string.info_data_imported) + " /sdcard" + txtFilename.getText().toString(), Toast.LENGTH_SHORT).show();
updateOnView(OpenScale.getInstance(tableView.getContext()).getScaleDataList());
updateOnView(OpenScale.getInstance(getContext()).getScaleDataList());
}
}
});
@@ -331,7 +331,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
filenameDialog.setTitle(getResources().getString(R.string.info_set_filename) + " /sdcard ...");
final EditText txtFilename = new EditText(tableView.getContext());
txtFilename.setText("/openScale_data_" + OpenScale.getInstance(tableView.getContext()).getSelectedScaleUser().user_name + ".csv");
txtFilename.setText("/openScale_data_" + OpenScale.getInstance(getContext()).getSelectedScaleUser().user_name + ".csv");
filenameDialog.setView(txtFilename);
@@ -340,7 +340,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
boolean isError = false;
try {
OpenScale.getInstance(tableView.getContext()).exportData(Environment.getExternalStorageDirectory().getPath() + txtFilename.getText().toString());
OpenScale.getInstance(getContext()).exportData(Environment.getExternalStorageDirectory().getPath() + txtFilename.getText().toString());
} catch (IOException e) {
Toast.makeText(tableView.getContext(), getResources().getString(R.string.error_exporting) + " " + e.getMessage(), Toast.LENGTH_SHORT).show();
isError = true;
@@ -375,10 +375,10 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(tableView.getContext());
int selectedUserId = prefs.getInt("selectedUserId", -1);
OpenScale.getInstance(tableView.getContext()).clearScaleData(selectedUserId);
OpenScale.getInstance(getContext()).clearScaleData(selectedUserId);
Toast.makeText(tableView.getContext(), getResources().getString(R.string.info_data_all_deleted), Toast.LENGTH_SHORT).show();
updateOnView(OpenScale.getInstance(tableView.getContext()).getScaleDataList());
updateOnView(OpenScale.getInstance(getContext()).getScaleDataList());
}
});
@@ -428,10 +428,10 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
}
public void deleteMeasurement() {
OpenScale.getInstance(tableView.getContext()).deleteScaleData(row_id);
OpenScale.getInstance(getContext()).deleteScaleData(row_id);
Toast.makeText(tableView.getContext(), getResources().getString(R.string.info_data_deleted), Toast.LENGTH_SHORT).show();
updateOnView(OpenScale.getInstance(tableView.getContext()).getScaleDataList());
updateOnView(OpenScale.getInstance(getContext()).getScaleDataList());
}
}

View File

@@ -20,7 +20,6 @@ import android.content.SharedPreferences;
import android.support.v4.content.ContextCompat;
import com.health.openscale.R;
import com.health.openscale.core.datatypes.ScaleCalculator;
import com.health.openscale.core.datatypes.ScaleData;
import com.health.openscale.core.evaluation.EvaluationResult;
import com.health.openscale.core.evaluation.EvaluationSheet;
@@ -38,15 +37,12 @@ public class BMIMeasurementView extends MeasurementView {
@Override
public void updateValue(ScaleData updateData) {
ScaleCalculator updateCalculator = new ScaleCalculator(updateData);
setValueOnView(updateCalculator.getBMI(getScaleUser().body_height));
setValueOnView(updateData.getBMI(getScaleUser().body_height));
}
@Override
public void updateDiff(ScaleData updateData, ScaleData lastData) {
ScaleCalculator updateCalculator = new ScaleCalculator(updateData);
ScaleCalculator lastCalculator = new ScaleCalculator(lastData);
setDiffOnView(updateCalculator.getBMI(getScaleUser().body_height), lastCalculator.getBMI(getScaleUser().body_height));
setDiffOnView(updateData.getBMI(getScaleUser().body_height), lastData.getBMI(getScaleUser().body_height));
}
@Override

View File

@@ -48,7 +48,7 @@ public class CommentMeasurementView extends MeasurementView {
@Override
public void updateValue(ScaleData updateData) {
setValueOnView(updateData.comment);
setValueOnView(updateData.getComment());
}
@Override

View File

@@ -55,7 +55,7 @@ public class DateMeasurementView extends MeasurementView {
@Override
public void updateValue(ScaleData updateData) {
setValueOnView(dateFormat.format(updateData.date_time));
setValueOnView(dateFormat.format(updateData.getDateTime()));
}
@Override

View File

@@ -32,12 +32,12 @@ public class FatMeasurementView extends MeasurementView {
@Override
public void updateValue(ScaleData updateData) {
setValueOnView(updateData.fat);
setValueOnView(updateData.getFat());
}
@Override
public void updateDiff(ScaleData updateData, ScaleData lastData) {
setDiffOnView(updateData.fat, lastData.fat);
setDiffOnView(updateData.getFat(), lastData.getFat());
}
@Override

View File

@@ -32,12 +32,12 @@ public class HipMeasurementView extends MeasurementView {
@Override
public void updateValue(ScaleData updateData) {
setValueOnView(updateData.hip);
setValueOnView(updateData.getHip());
}
@Override
public void updateDiff(ScaleData updateData, ScaleData lastData) {
setDiffOnView(updateData.hip, lastData.hip);
setDiffOnView(updateData.getHip(), lastData.getHip());
}
@Override

View File

@@ -32,12 +32,12 @@ public class MuscleMeasurementView extends MeasurementView {
@Override
public void updateValue(ScaleData updateData) {
setValueOnView(updateData.muscle);
setValueOnView(updateData.getMuscle());
}
@Override
public void updateDiff(ScaleData updateData, ScaleData lastData) {
setDiffOnView(updateData.muscle, lastData.muscle);
setDiffOnView(updateData.getMuscle(), lastData.getMuscle());
}
@Override

View File

@@ -55,7 +55,7 @@ public class TimeMeasurementView extends MeasurementView {
@Override
public void updateValue(ScaleData updateData) {
setValueOnView(timeFormat.format(updateData.date_time));
setValueOnView(timeFormat.format(updateData.getDateTime()));
}
@Override

View File

@@ -20,7 +20,6 @@ import android.content.SharedPreferences;
import android.support.v4.content.ContextCompat;
import com.health.openscale.R;
import com.health.openscale.core.datatypes.ScaleCalculator;
import com.health.openscale.core.datatypes.ScaleData;
import com.health.openscale.core.evaluation.EvaluationResult;
import com.health.openscale.core.evaluation.EvaluationSheet;
@@ -38,15 +37,12 @@ public class WHRMeasurementView extends MeasurementView {
@Override
public void updateValue(ScaleData updateData) {
ScaleCalculator updateCalculator = new ScaleCalculator(updateData);
setValueOnView(updateCalculator.getWHR());
setValueOnView(updateData.getWHR());
}
@Override
public void updateDiff(ScaleData updateData, ScaleData lastData) {
ScaleCalculator updateCalculator = new ScaleCalculator(updateData);
ScaleCalculator lastCalculator = new ScaleCalculator(lastData);
setDiffOnView(updateCalculator.getWHR(), lastCalculator.getWHR());
setDiffOnView(updateData.getWHR(), lastData.getWHR());
}
@Override

View File

@@ -20,7 +20,6 @@ import android.content.SharedPreferences;
import android.support.v4.content.ContextCompat;
import com.health.openscale.R;
import com.health.openscale.core.datatypes.ScaleCalculator;
import com.health.openscale.core.datatypes.ScaleData;
import com.health.openscale.core.evaluation.EvaluationResult;
import com.health.openscale.core.evaluation.EvaluationSheet;
@@ -38,15 +37,12 @@ public class WHtRMeasurementView extends MeasurementView {
@Override
public void updateValue(ScaleData updateData) {
ScaleCalculator updateCalculator = new ScaleCalculator(updateData);
setValueOnView(updateCalculator.getWHtR(getScaleUser().body_height));
setValueOnView(updateData.getWHtR(getScaleUser().body_height));
}
@Override
public void updateDiff(ScaleData updateData, ScaleData lastData) {
ScaleCalculator updateCalculator = new ScaleCalculator(updateData);
ScaleCalculator lastCalculator = new ScaleCalculator(lastData);
setDiffOnView(updateCalculator.getWHtR(getScaleUser().body_height), lastCalculator.getWHtR(getScaleUser().body_height));
setDiffOnView(updateData.getWHtR(getScaleUser().body_height), lastData.getWHtR(getScaleUser().body_height));
}
@Override

View File

@@ -32,12 +32,12 @@ public class WaistMeasurementView extends MeasurementView {
@Override
public void updateValue(ScaleData updateData) {
setValueOnView(updateData.waist);
setValueOnView(updateData.getWaist());
}
@Override
public void updateDiff(ScaleData updateData, ScaleData lastData) {
setDiffOnView(updateData.waist, lastData.waist);
setDiffOnView(updateData.getWaist(), lastData.getWaist());
}
@Override

View File

@@ -32,12 +32,12 @@ public class WaterMeasurementView extends MeasurementView {
@Override
public void updateValue(ScaleData updateData) {
setValueOnView(updateData.water);
setValueOnView(updateData.getWater());
}
@Override
public void updateDiff(ScaleData updateData, ScaleData lastData) {
setDiffOnView(updateData.water, lastData.water);
setDiffOnView(updateData.getWater(), lastData.getWater());
}
@Override

View File

@@ -33,7 +33,7 @@ public class WeightMeasurementView extends MeasurementView {
@Override
public void updateValue(ScaleData updateData) {
setValueOnView(updateData.weight);
setValueOnView(updateData.getConvertedWeight(getScaleUser().scale_unit));
if (getMeasurementMode() == MeasurementViewMode.ADD) {
getInputDialog().show();
@@ -42,7 +42,7 @@ public class WeightMeasurementView extends MeasurementView {
@Override
public void updateDiff(ScaleData updateData, ScaleData lastData) {
setDiffOnView(updateData.weight, lastData.weight);
setDiffOnView(updateData.getConvertedWeight(getScaleUser().scale_unit), lastData.getConvertedWeight(getScaleUser().scale_unit));
}
@Override

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 976 B