mirror of
https://github.com/oliexdev/openScale.git
synced 2025-08-26 01:43:59 +02:00
Merge pull request #95 from erijo/datetime
Unify date and time handling
This commit is contained in:
@@ -46,6 +46,7 @@ import java.io.OutputStreamWriter;
|
|||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
|
|
||||||
@@ -86,23 +87,18 @@ public class OpenScale {
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addScaleUser(String name, String birthday, int body_height, int scale_unit, int gender, float initial_weight, float goal_weight, String goal_date)
|
public void addScaleUser(String name, Date birthday, int body_height, int scale_unit, int gender, float initial_weight, float goal_weight, Date goal_date)
|
||||||
{
|
{
|
||||||
ScaleUser scaleUser = new ScaleUser();
|
ScaleUser scaleUser = new ScaleUser();
|
||||||
|
|
||||||
try {
|
scaleUser.user_name = name;
|
||||||
scaleUser.user_name = name;
|
scaleUser.birthday = birthday;
|
||||||
scaleUser.birthday = new SimpleDateFormat("dd.MM.yyyy").parse(birthday);
|
scaleUser.body_height = body_height;
|
||||||
scaleUser.body_height = body_height;
|
scaleUser.scale_unit = scale_unit;
|
||||||
scaleUser.scale_unit = scale_unit;
|
scaleUser.gender = gender;
|
||||||
scaleUser.gender = gender;
|
scaleUser.setConvertedInitialWeight(initial_weight);
|
||||||
scaleUser.setConvertedInitialWeight(initial_weight);
|
scaleUser.goal_weight = goal_weight;
|
||||||
scaleUser.goal_weight = goal_weight;
|
scaleUser.goal_date = goal_date;
|
||||||
scaleUser.goal_date = new SimpleDateFormat("dd.MM.yyyy").parse(goal_date);
|
|
||||||
|
|
||||||
} catch (ParseException e) {
|
|
||||||
Log.e("OpenScale", "Can't parse date time string while adding to the database");
|
|
||||||
}
|
|
||||||
|
|
||||||
scaleUserDB.insertEntry(scaleUser);
|
scaleUserDB.insertEntry(scaleUser);
|
||||||
}
|
}
|
||||||
@@ -142,23 +138,19 @@ public class OpenScale {
|
|||||||
scaleUserDB.deleteEntry(id);
|
scaleUserDB.deleteEntry(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateScaleUser(int id, String name, String birthday, int body_height, int scale_unit, int gender, float initial_weight, float goal_weight, String goal_date)
|
public void updateScaleUser(int id, String name, Date birthday, int body_height, int scale_unit, int gender, float initial_weight, float goal_weight, Date goal_date)
|
||||||
{
|
{
|
||||||
ScaleUser scaleUser = new ScaleUser();
|
ScaleUser scaleUser = new ScaleUser();
|
||||||
|
|
||||||
try {
|
scaleUser.id = id;
|
||||||
scaleUser.id = id;
|
scaleUser.user_name = name;
|
||||||
scaleUser.user_name = name;
|
scaleUser.birthday = birthday;
|
||||||
scaleUser.birthday = new SimpleDateFormat("dd.MM.yyyy").parse(birthday);
|
scaleUser.body_height = body_height;
|
||||||
scaleUser.body_height = body_height;
|
scaleUser.scale_unit = scale_unit;
|
||||||
scaleUser.scale_unit = scale_unit;
|
scaleUser.gender = gender;
|
||||||
scaleUser.gender = gender;
|
scaleUser.setConvertedInitialWeight(initial_weight);
|
||||||
scaleUser.setConvertedInitialWeight(initial_weight);
|
scaleUser.goal_weight = goal_weight;
|
||||||
scaleUser.goal_weight = goal_weight;
|
scaleUser.goal_date = goal_date;
|
||||||
scaleUser.goal_date = new SimpleDateFormat("dd.MM.yyyy").parse(goal_date);
|
|
||||||
} catch (ParseException e) {
|
|
||||||
Log.e("OpenScale", "Can't parse date time string while adding to the database");
|
|
||||||
}
|
|
||||||
|
|
||||||
scaleUserDB.updateScaleUser(scaleUser);
|
scaleUserDB.updateScaleUser(scaleUser);
|
||||||
}
|
}
|
||||||
|
@@ -16,18 +16,12 @@
|
|||||||
|
|
||||||
package com.health.openscale.core.datatypes;
|
package com.health.openscale.core.datatypes;
|
||||||
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import java.text.ParseException;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
public class ScaleData {
|
public class ScaleData {
|
||||||
private static float KG_LB = 2.20462f;
|
private static float KG_LB = 2.20462f;
|
||||||
private static float KG_ST = 0.157473f;
|
private static float KG_ST = 0.157473f;
|
||||||
|
|
||||||
private SimpleDateFormat dateTimeFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm");
|
|
||||||
|
|
||||||
private long id;
|
private long id;
|
||||||
private int user_id;
|
private int user_id;
|
||||||
private Date date_time;
|
private Date date_time;
|
||||||
@@ -81,14 +75,6 @@ public class ScaleData {
|
|||||||
this.date_time = 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() {
|
public float getWeight() {
|
||||||
return weight;
|
return weight;
|
||||||
}
|
}
|
||||||
|
@@ -34,6 +34,7 @@ import android.widget.Toast;
|
|||||||
import com.health.openscale.R;
|
import com.health.openscale.R;
|
||||||
import com.health.openscale.core.OpenScale;
|
import com.health.openscale.core.OpenScale;
|
||||||
import com.health.openscale.core.datatypes.ScaleData;
|
import com.health.openscale.core.datatypes.ScaleData;
|
||||||
|
import com.health.openscale.core.datatypes.ScaleUser;
|
||||||
import com.health.openscale.gui.views.BMIMeasurementView;
|
import com.health.openscale.gui.views.BMIMeasurementView;
|
||||||
import com.health.openscale.gui.views.BMRMeasurementView;
|
import com.health.openscale.gui.views.BMRMeasurementView;
|
||||||
import com.health.openscale.gui.views.BoneMeasurementView;
|
import com.health.openscale.gui.views.BoneMeasurementView;
|
||||||
@@ -53,6 +54,7 @@ import com.health.openscale.gui.views.WeightMeasurementView;
|
|||||||
|
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Calendar;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@@ -280,15 +282,24 @@ public class DataEntryActivity extends Activity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveScaleData() {
|
private ScaleData createScaleDataFromMeasurement() {
|
||||||
OpenScale openScale = OpenScale.getInstance(getApplicationContext());
|
OpenScale openScale = OpenScale.getInstance(getApplicationContext());
|
||||||
|
ScaleUser user = openScale.getSelectedScaleUser();
|
||||||
|
|
||||||
|
Calendar time = Calendar.getInstance();
|
||||||
|
time.setTime(timeMeasurement.getDateTime());
|
||||||
|
|
||||||
|
Calendar cal = Calendar.getInstance();
|
||||||
|
cal.setTime(dateMeasurement.getDateTime());
|
||||||
|
cal.set(Calendar.HOUR_OF_DAY, time.get(Calendar.HOUR_OF_DAY));
|
||||||
|
cal.set(Calendar.MINUTE, time.get(Calendar.MINUTE));
|
||||||
|
cal.set(Calendar.SECOND, time.get(Calendar.SECOND));
|
||||||
|
|
||||||
ScaleData scaleData = new ScaleData();
|
ScaleData scaleData = new ScaleData();
|
||||||
|
|
||||||
scaleData.setId(id);
|
scaleData.setUserId(user.id);
|
||||||
scaleData.setUserId(openScale.getSelectedScaleUser().id);
|
scaleData.setDateTime(cal.getTime());
|
||||||
scaleData.setDateTime(dateMeasurement.getValueAsString() + " " + timeMeasurement.getValueAsString());
|
scaleData.setConvertedWeight(weightMeasurement.getValue(), user.scale_unit);
|
||||||
scaleData.setConvertedWeight(weightMeasurement.getValue(), openScale.getSelectedScaleUser().scale_unit);
|
|
||||||
scaleData.setFat(fatMeasurement.getValue());
|
scaleData.setFat(fatMeasurement.getValue());
|
||||||
scaleData.setWater(waterMeasurement.getValue());
|
scaleData.setWater(waterMeasurement.getValue());
|
||||||
scaleData.setMuscle(muscleMeasurement.getValue());
|
scaleData.setMuscle(muscleMeasurement.getValue());
|
||||||
@@ -298,6 +309,15 @@ public class DataEntryActivity extends Activity {
|
|||||||
scaleData.setBone(boneMeasurementView.getValue());
|
scaleData.setBone(boneMeasurementView.getValue());
|
||||||
scaleData.setComment(commentMeasurement.getValueAsString());
|
scaleData.setComment(commentMeasurement.getValueAsString());
|
||||||
|
|
||||||
|
return scaleData;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveScaleData() {
|
||||||
|
ScaleData scaleData = createScaleDataFromMeasurement();
|
||||||
|
|
||||||
|
scaleData.setId(id);
|
||||||
|
|
||||||
|
OpenScale openScale = OpenScale.getInstance(getApplicationContext());
|
||||||
openScale.updateScaleData(scaleData);
|
openScale.updateScaleData(scaleData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -334,10 +354,8 @@ public class DataEntryActivity extends Activity {
|
|||||||
private class onClickListenerAdd implements View.OnClickListener {
|
private class onClickListenerAdd implements View.OnClickListener {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
OpenScale openScale = OpenScale.getInstance(getApplicationContext());
|
|
||||||
|
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
int selectedUserId = prefs.getInt("selectedUserId", -1);
|
int selectedUserId = prefs.getInt("selectedUserId", -1);
|
||||||
|
|
||||||
if (selectedUserId == -1) {
|
if (selectedUserId == -1) {
|
||||||
AlertDialog.Builder infoDialog = new AlertDialog.Builder(context);
|
AlertDialog.Builder infoDialog = new AlertDialog.Builder(context);
|
||||||
@@ -348,20 +366,9 @@ public class DataEntryActivity extends Activity {
|
|||||||
|
|
||||||
infoDialog.show();
|
infoDialog.show();
|
||||||
} else {
|
} else {
|
||||||
ScaleData scaleData = new ScaleData();
|
ScaleData scaleData = createScaleDataFromMeasurement();
|
||||||
|
|
||||||
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.setLBW(lbwMeasurement.getValue());
|
|
||||||
scaleData.setWaist(waistMeasurement.getValue());
|
|
||||||
scaleData.setHip(hipMeasurement.getValue());
|
|
||||||
scaleData.setBone(boneMeasurementView.getValue());
|
|
||||||
scaleData.setComment(commentMeasurement.getValueAsString());
|
|
||||||
|
|
||||||
|
OpenScale openScale = OpenScale.getInstance(getApplicationContext());
|
||||||
openScale.addScaleData(scaleData);
|
openScale.addScaleData(scaleData);
|
||||||
|
|
||||||
finish();
|
finish();
|
||||||
|
@@ -35,7 +35,7 @@ import com.health.openscale.R;
|
|||||||
import com.health.openscale.core.OpenScale;
|
import com.health.openscale.core.OpenScale;
|
||||||
import com.health.openscale.core.datatypes.ScaleUser;
|
import com.health.openscale.core.datatypes.ScaleUser;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.DateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -45,6 +45,9 @@ public class UserSettingsActivity extends Activity {
|
|||||||
public static final int ADD_USER_REQUEST = 0;
|
public static final int ADD_USER_REQUEST = 0;
|
||||||
public static final int EDIT_USER_REQUEST = 1;
|
public static final int EDIT_USER_REQUEST = 1;
|
||||||
|
|
||||||
|
private Date birthday = new Date();
|
||||||
|
private Date goal_date = new Date();
|
||||||
|
|
||||||
private EditText txtUserName;
|
private EditText txtUserName;
|
||||||
private EditText txtBodyHeight;
|
private EditText txtBodyHeight;
|
||||||
private EditText txtBirthday;
|
private EditText txtBirthday;
|
||||||
@@ -58,7 +61,7 @@ public class UserSettingsActivity extends Activity {
|
|||||||
private Button btnCancel;
|
private Button btnCancel;
|
||||||
private Button btnDelete;
|
private Button btnDelete;
|
||||||
|
|
||||||
private SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
|
private DateFormat dateFormat = DateFormat.getDateInstance();
|
||||||
|
|
||||||
private Context context;
|
private Context context;
|
||||||
|
|
||||||
@@ -86,28 +89,30 @@ public class UserSettingsActivity extends Activity {
|
|||||||
btnCancel.setOnClickListener(new onClickListenerCancel());
|
btnCancel.setOnClickListener(new onClickListenerCancel());
|
||||||
btnDelete.setOnClickListener(new onClickListenerDelete());
|
btnDelete.setOnClickListener(new onClickListenerDelete());
|
||||||
|
|
||||||
txtBirthday.setText(dateFormat.format(new Date()));
|
txtBirthday.setText(dateFormat.format(birthday));
|
||||||
txtGoalDate.setText(dateFormat.format(new Date()));
|
txtGoalDate.setText(dateFormat.format(goal_date));
|
||||||
|
|
||||||
txtBirthday.setOnFocusChangeListener(new View.OnFocusChangeListener() {
|
txtBirthday.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onFocusChange(View v, boolean hasFocus) {
|
public void onClick(View v) {
|
||||||
if (hasFocus) {
|
Calendar cal = Calendar.getInstance();
|
||||||
Calendar cal = Calendar.getInstance();
|
cal.setTime(birthday);
|
||||||
DatePickerDialog datePicker = new DatePickerDialog(context, datePickerListener, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
|
DatePickerDialog datePicker = new DatePickerDialog(
|
||||||
datePicker.show();
|
context, birthdayPickerListener, cal.get(Calendar.YEAR),
|
||||||
}
|
cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
|
||||||
|
datePicker.show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
txtGoalDate.setOnFocusChangeListener(new View.OnFocusChangeListener() {
|
txtGoalDate.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onFocusChange(View v, boolean hasFocus) {
|
public void onClick(View v) {
|
||||||
if (hasFocus) {
|
Calendar cal = Calendar.getInstance();
|
||||||
Calendar cal = Calendar.getInstance();
|
cal.setTime(goal_date);
|
||||||
DatePickerDialog datePicker = new DatePickerDialog(context, goalDatePickerListener, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
|
DatePickerDialog datePicker = new DatePickerDialog(
|
||||||
datePicker.show();
|
context, goalDatePickerListener, cal.get(Calendar.YEAR),
|
||||||
}
|
cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
|
||||||
|
datePicker.show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -130,10 +135,13 @@ public class UserSettingsActivity extends Activity {
|
|||||||
|
|
||||||
ScaleUser scaleUser = openScale.getScaleUser(id);
|
ScaleUser scaleUser = openScale.getScaleUser(id);
|
||||||
|
|
||||||
|
birthday = scaleUser.birthday;
|
||||||
|
goal_date = scaleUser.goal_date;
|
||||||
|
|
||||||
txtUserName.setText(scaleUser.user_name);
|
txtUserName.setText(scaleUser.user_name);
|
||||||
txtBodyHeight.setText(Integer.toString(scaleUser.body_height));
|
txtBodyHeight.setText(Integer.toString(scaleUser.body_height));
|
||||||
txtBirthday.setText(dateFormat.format(scaleUser.birthday));
|
txtBirthday.setText(dateFormat.format(birthday));
|
||||||
txtGoalDate.setText(dateFormat.format(scaleUser.goal_date));
|
txtGoalDate.setText(dateFormat.format(goal_date));
|
||||||
txtInitialWeight.setText(Math.round(scaleUser.getConvertedInitialWeight()*100.0f)/100.0f + "");
|
txtInitialWeight.setText(Math.round(scaleUser.getConvertedInitialWeight()*100.0f)/100.0f + "");
|
||||||
txtGoalWeight.setText(scaleUser.goal_weight+"");
|
txtGoalWeight.setText(scaleUser.goal_weight+"");
|
||||||
|
|
||||||
@@ -192,17 +200,23 @@ public class UserSettingsActivity extends Activity {
|
|||||||
return validate;
|
return validate;
|
||||||
}
|
}
|
||||||
|
|
||||||
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
|
private DatePickerDialog.OnDateSetListener birthdayPickerListener = new DatePickerDialog.OnDateSetListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {
|
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {
|
||||||
txtBirthday.setText(String.format("%02d.%02d.%04d", selectedDay, selectedMonth + 1, selectedYear));
|
Calendar cal = Calendar.getInstance();
|
||||||
|
cal.set(selectedYear, selectedMonth, selectedDay, 0, 0, 0);
|
||||||
|
birthday = cal.getTime();
|
||||||
|
txtBirthday.setText(dateFormat.format(birthday));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private DatePickerDialog.OnDateSetListener goalDatePickerListener = new DatePickerDialog.OnDateSetListener() {
|
private DatePickerDialog.OnDateSetListener goalDatePickerListener = new DatePickerDialog.OnDateSetListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {
|
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {
|
||||||
txtGoalDate.setText(String.format("%02d.%02d.%04d", selectedDay, selectedMonth + 1, selectedYear));
|
Calendar cal = Calendar.getInstance();
|
||||||
|
cal.set(selectedYear, selectedMonth, selectedDay, 0, 0, 0);
|
||||||
|
goal_date = cal.getTime();
|
||||||
|
txtGoalDate.setText(dateFormat.format(goal_date));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -290,16 +304,13 @@ public class UserSettingsActivity extends Activity {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
String date = txtBirthday.getText().toString();
|
|
||||||
String goal_date = txtGoalDate.getText().toString();
|
|
||||||
|
|
||||||
int id = 0;
|
int id = 0;
|
||||||
|
|
||||||
if (getIntent().getExtras().getInt("mode") == EDIT_USER_REQUEST) {
|
if (getIntent().getExtras().getInt("mode") == EDIT_USER_REQUEST) {
|
||||||
id = getIntent().getExtras().getInt("id");
|
id = getIntent().getExtras().getInt("id");
|
||||||
openScale.updateScaleUser(id, name, date, body_height, scale_unit, gender, initial_weight, goal_weight, goal_date);
|
openScale.updateScaleUser(id, name, birthday, body_height, scale_unit, gender, initial_weight, goal_weight, goal_date);
|
||||||
} else {
|
} else {
|
||||||
openScale.addScaleUser(name, date, body_height, scale_unit, gender, initial_weight, goal_weight, goal_date);
|
openScale.addScaleUser(name, birthday, body_height, scale_unit, gender, initial_weight, goal_weight, goal_date);
|
||||||
|
|
||||||
id = openScale.getScaleUserList().get(openScale.getScaleUserList().size() - 1).id;
|
id = openScale.getScaleUserList().get(openScale.getScaleUserList().size() - 1).id;
|
||||||
}
|
}
|
||||||
|
@@ -26,8 +26,6 @@ import android.widget.TimePicker;
|
|||||||
import com.health.openscale.R;
|
import com.health.openscale.R;
|
||||||
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.GregorianCalendar;
|
|
||||||
|
|
||||||
public class TimePreferenceDialog extends DialogPreference {
|
public class TimePreferenceDialog extends DialogPreference {
|
||||||
private Calendar calendar;
|
private Calendar calendar;
|
||||||
@@ -46,13 +44,14 @@ public class TimePreferenceDialog extends DialogPreference {
|
|||||||
|
|
||||||
setPositiveButtonText(R.string.label_ok);
|
setPositiveButtonText(R.string.label_ok);
|
||||||
setNegativeButtonText(R.string.label_cancel);
|
setNegativeButtonText(R.string.label_cancel);
|
||||||
calendar = new GregorianCalendar();
|
calendar = Calendar.getInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected View onCreateDialogView() {
|
protected View onCreateDialogView() {
|
||||||
picker = new TimePicker(getContext());
|
picker = new TimePicker(getContext());
|
||||||
return (picker);
|
picker.setIs24HourView(android.text.format.DateFormat.is24HourFormat(getContext()));
|
||||||
|
return picker;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -107,7 +106,7 @@ public class TimePreferenceDialog extends DialogPreference {
|
|||||||
if (calendar == null) {
|
if (calendar == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return DateFormat.getTimeFormat(getContext()).format(new Date(calendar.getTimeInMillis()));
|
return DateFormat.getTimeFormat(getContext()).format(calendar.getTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getTimeInMillis() {
|
public long getTimeInMillis() {
|
||||||
|
@@ -27,12 +27,12 @@ import com.health.openscale.core.datatypes.ScaleData;
|
|||||||
import com.health.openscale.core.evaluation.EvaluationResult;
|
import com.health.openscale.core.evaluation.EvaluationResult;
|
||||||
import com.health.openscale.core.evaluation.EvaluationSheet;
|
import com.health.openscale.core.evaluation.EvaluationSheet;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.DateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
public class DateMeasurementView extends MeasurementView {
|
public class DateMeasurementView extends MeasurementView {
|
||||||
private SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
|
private DateFormat dateFormat = DateFormat.getDateInstance();
|
||||||
|
|
||||||
public DateMeasurementView(Context context) {
|
public DateMeasurementView(Context context) {
|
||||||
super(context, context.getResources().getString(R.string.label_date), ContextCompat.getDrawable(context, R.drawable.ic_lastmonth));
|
super(context, context.getResources().getString(R.string.label_date), ContextCompat.getDrawable(context, R.drawable.ic_lastmonth));
|
||||||
@@ -41,15 +41,21 @@ public class DateMeasurementView extends MeasurementView {
|
|||||||
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
|
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {
|
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {
|
||||||
setValueOnView(new Date(), String.format("%02d.%02d.%04d", selectedDay, selectedMonth+1, selectedYear));
|
Calendar cal = Calendar.getInstance();
|
||||||
|
cal.set(selectedYear, selectedMonth, selectedDay);
|
||||||
|
Date date = cal.getTime();
|
||||||
|
setValueOnView(date, dateFormat.format(date));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected AlertDialog getInputDialog() {
|
protected AlertDialog getInputDialog() {
|
||||||
Calendar cal = Calendar.getInstance();
|
Calendar cal = Calendar.getInstance();
|
||||||
|
cal.setTime(getDateTime());
|
||||||
|
|
||||||
DatePickerDialog datePicker = new DatePickerDialog(getContext(), datePickerListener, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
|
DatePickerDialog datePicker = new DatePickerDialog(
|
||||||
|
getContext(), datePickerListener, cal.get(Calendar.YEAR),
|
||||||
|
cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
|
||||||
|
|
||||||
return datePicker;
|
return datePicker;
|
||||||
}
|
}
|
||||||
|
@@ -243,6 +243,8 @@ public abstract class MeasurementView extends TableLayout {
|
|||||||
|
|
||||||
public String getDiffValue() { return diffValue; }
|
public String getDiffValue() { return diffValue; }
|
||||||
|
|
||||||
|
public Date getDateTime() { return dateTime; }
|
||||||
|
|
||||||
protected boolean isEditable() {
|
protected boolean isEditable() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@@ -27,29 +27,39 @@ import com.health.openscale.core.datatypes.ScaleData;
|
|||||||
import com.health.openscale.core.evaluation.EvaluationResult;
|
import com.health.openscale.core.evaluation.EvaluationResult;
|
||||||
import com.health.openscale.core.evaluation.EvaluationSheet;
|
import com.health.openscale.core.evaluation.EvaluationSheet;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.DateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
public class TimeMeasurementView extends MeasurementView {
|
public class TimeMeasurementView extends MeasurementView {
|
||||||
private SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm");
|
private DateFormat timeFormat;
|
||||||
|
|
||||||
public TimeMeasurementView(Context context) {
|
public TimeMeasurementView(Context context) {
|
||||||
super(context, context.getResources().getString(R.string.label_time), ContextCompat.getDrawable(context, R.drawable.ic_daysleft));
|
super(context, context.getResources().getString(R.string.label_time), ContextCompat.getDrawable(context, R.drawable.ic_daysleft));
|
||||||
|
timeFormat = android.text.format.DateFormat.getTimeFormat(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
private TimePickerDialog.OnTimeSetListener timePickerListener = new TimePickerDialog.OnTimeSetListener() {
|
private TimePickerDialog.OnTimeSetListener timePickerListener = new TimePickerDialog.OnTimeSetListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
|
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
|
||||||
setValueOnView(new Date(), String.format("%02d:%02d", hourOfDay, minute));
|
Calendar cal = Calendar.getInstance();
|
||||||
|
cal.set(Calendar.HOUR_OF_DAY, hourOfDay);
|
||||||
|
cal.set(Calendar.MINUTE, minute);
|
||||||
|
cal.set(Calendar.SECOND, 0);
|
||||||
|
Date date = cal.getTime();
|
||||||
|
setValueOnView(date, timeFormat.format(date));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected AlertDialog getInputDialog() {
|
protected AlertDialog getInputDialog() {
|
||||||
Calendar cal = Calendar.getInstance();
|
Calendar cal = Calendar.getInstance();
|
||||||
|
cal.setTime(getDateTime());
|
||||||
|
|
||||||
TimePickerDialog timePicker = new TimePickerDialog(getContext(), timePickerListener, cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), true);
|
TimePickerDialog timePicker = new TimePickerDialog(
|
||||||
|
getContext(), timePickerListener,
|
||||||
|
cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE),
|
||||||
|
android.text.format.DateFormat.is24HourFormat(getContext()));
|
||||||
|
|
||||||
return timePicker;
|
return timePicker;
|
||||||
}
|
}
|
||||||
|
@@ -158,6 +158,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="5"
|
android:layout_weight="5"
|
||||||
android:ems="10"
|
android:ems="10"
|
||||||
|
android:focusable="false"
|
||||||
android:inputType="date" />
|
android:inputType="date" />
|
||||||
|
|
||||||
</TableRow>
|
</TableRow>
|
||||||
@@ -217,6 +218,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="5"
|
android:layout_weight="5"
|
||||||
android:ems="10"
|
android:ems="10"
|
||||||
|
android:focusable="false"
|
||||||
android:inputType="date" />
|
android:inputType="date" />
|
||||||
|
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
Reference in New Issue
Block a user