mirror of
https://github.com/oliexdev/openScale.git
synced 2025-08-26 09:44:31 +02:00
Move to/from int converters to enum
This commit is contained in:
@@ -96,7 +96,7 @@ public class BluetoothMiScale2 extends BluetoothCommunication {
|
|||||||
case 0:
|
case 0:
|
||||||
// set scale units
|
// set scale units
|
||||||
final ScaleUser selectedUser = OpenScale.getInstance(context).getSelectedScaleUser();
|
final ScaleUser selectedUser = OpenScale.getInstance(context).getSelectedScaleUser();
|
||||||
byte[] setUnitCmd = new byte[]{(byte)0x06, (byte)0x04, (byte)0x00, (byte) Converters.toWeightUnitInt(selectedUser.getScaleUnit())};
|
byte[] setUnitCmd = new byte[]{(byte)0x06, (byte)0x04, (byte)0x00, (byte) selectedUser.getScaleUnit().toInt()};
|
||||||
writeBytes(WEIGHT_CUSTOM_SERVICE, WEIGHT_CUSTOM_CONFIG, setUnitCmd);
|
writeBytes(WEIGHT_CUSTOM_SERVICE, WEIGHT_CUSTOM_CONFIG, setUnitCmd);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
@@ -112,8 +112,8 @@ public class ScaleUserDatabase extends SQLiteOpenHelper {
|
|||||||
values.put(COLUMN_NAME_USER_NAME, scaleUser.getUserName());
|
values.put(COLUMN_NAME_USER_NAME, scaleUser.getUserName());
|
||||||
values.put(COLUMN_NAME_BIRTHDAY, formatDateTime.format(scaleUser.getBirthday()));
|
values.put(COLUMN_NAME_BIRTHDAY, formatDateTime.format(scaleUser.getBirthday()));
|
||||||
values.put(COLUMN_NAME_BODY_HEIGHT, scaleUser.getBodyHeight());
|
values.put(COLUMN_NAME_BODY_HEIGHT, scaleUser.getBodyHeight());
|
||||||
values.put(COLUMN_NAME_SCALE_UNIT, Converters.toWeightUnitInt(scaleUser.getScaleUnit()));
|
values.put(COLUMN_NAME_SCALE_UNIT, scaleUser.getScaleUnit().toInt());
|
||||||
values.put(COLUMN_NAME_GENDER, Converters.toGenderInt(scaleUser.getGender()));
|
values.put(COLUMN_NAME_GENDER, scaleUser.getGender().toInt());
|
||||||
values.put(COLUMN_NAME_INITIAL_WEIGHT, scaleUser.getInitialWeight());
|
values.put(COLUMN_NAME_INITIAL_WEIGHT, scaleUser.getInitialWeight());
|
||||||
values.put(COLUMN_NAME_GOAL_WEIGHT, scaleUser.getGoalWeight());
|
values.put(COLUMN_NAME_GOAL_WEIGHT, scaleUser.getGoalWeight());
|
||||||
values.put(COLUMN_NAME_GOAL_DATE, formatDateTime.format(scaleUser.getGoalDate()));
|
values.put(COLUMN_NAME_GOAL_DATE, formatDateTime.format(scaleUser.getGoalDate()));
|
||||||
@@ -145,8 +145,8 @@ public class ScaleUserDatabase extends SQLiteOpenHelper {
|
|||||||
values.put(COLUMN_NAME_USER_NAME, scaleUser.getUserName());
|
values.put(COLUMN_NAME_USER_NAME, scaleUser.getUserName());
|
||||||
values.put(COLUMN_NAME_BIRTHDAY, formatDateTime.format(scaleUser.getBirthday()));
|
values.put(COLUMN_NAME_BIRTHDAY, formatDateTime.format(scaleUser.getBirthday()));
|
||||||
values.put(COLUMN_NAME_BODY_HEIGHT, scaleUser.getBodyHeight());
|
values.put(COLUMN_NAME_BODY_HEIGHT, scaleUser.getBodyHeight());
|
||||||
values.put(COLUMN_NAME_SCALE_UNIT, Converters.toWeightUnitInt(scaleUser.getScaleUnit()));
|
values.put(COLUMN_NAME_SCALE_UNIT, scaleUser.getScaleUnit().toInt());
|
||||||
values.put(COLUMN_NAME_GENDER, Converters.toGenderInt(scaleUser.getGender()));
|
values.put(COLUMN_NAME_GENDER, scaleUser.getGender().toInt());
|
||||||
values.put(COLUMN_NAME_INITIAL_WEIGHT, scaleUser.getInitialWeight());
|
values.put(COLUMN_NAME_INITIAL_WEIGHT, scaleUser.getInitialWeight());
|
||||||
values.put(COLUMN_NAME_GOAL_WEIGHT, scaleUser.getGoalWeight());
|
values.put(COLUMN_NAME_GOAL_WEIGHT, scaleUser.getGoalWeight());
|
||||||
values.put(COLUMN_NAME_GOAL_DATE, formatDateTime.format(scaleUser.getGoalDate()));
|
values.put(COLUMN_NAME_GOAL_DATE, formatDateTime.format(scaleUser.getGoalDate()));
|
||||||
|
@@ -33,9 +33,39 @@ public class Converters {
|
|||||||
}
|
}
|
||||||
return "kg";
|
return "kg";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static WeightUnit fromInt(int unit) {
|
||||||
|
switch (unit) {
|
||||||
|
case 1:
|
||||||
|
return LB;
|
||||||
|
case 2:
|
||||||
|
return ST;
|
||||||
|
}
|
||||||
|
return KG;
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum Gender { MALE, FEMALE }
|
public int toInt() {
|
||||||
|
switch (this) {
|
||||||
|
case LB:
|
||||||
|
return 1;
|
||||||
|
case ST:
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum Gender {
|
||||||
|
MALE, FEMALE;
|
||||||
|
|
||||||
|
public static Gender fromInt(int gender) {
|
||||||
|
return gender == 0 ? MALE : FEMALE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int toInt() {
|
||||||
|
return this == MALE ? 0 : 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
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;
|
||||||
@@ -52,34 +82,22 @@ public class Converters {
|
|||||||
|
|
||||||
@TypeConverter
|
@TypeConverter
|
||||||
public static WeightUnit fromWeightUnitInt(int unit) {
|
public static WeightUnit fromWeightUnitInt(int unit) {
|
||||||
switch (unit) {
|
return WeightUnit.fromInt(unit);
|
||||||
case 1:
|
|
||||||
return WeightUnit.LB;
|
|
||||||
case 2:
|
|
||||||
return WeightUnit.ST;
|
|
||||||
}
|
|
||||||
return WeightUnit.KG;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@TypeConverter
|
@TypeConverter
|
||||||
public static int toWeightUnitInt(WeightUnit unit) {
|
public static int toWeightUnitInt(WeightUnit unit) {
|
||||||
switch (unit) {
|
return unit.toInt();
|
||||||
case LB:
|
|
||||||
return 1;
|
|
||||||
case ST:
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@TypeConverter
|
@TypeConverter
|
||||||
public static Gender fromGenderInt(int gender) {
|
public static Gender fromGenderInt(int gender) {
|
||||||
return gender == 0 ? Gender.MALE : Gender.FEMALE;
|
return Gender.fromInt(gender);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TypeConverter
|
@TypeConverter
|
||||||
public static int toGenderInt(Gender gender) {
|
public static int toGenderInt(Gender gender) {
|
||||||
return gender == Gender.MALE ? 0 : 1;
|
return gender.toInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static float toKilogram(float value, WeightUnit unit) {
|
public static float toKilogram(float value, WeightUnit unit) {
|
||||||
|
@@ -30,10 +30,18 @@ public class ConvertersTest {
|
|||||||
assertEquals(1, Converters.toWeightUnitInt(Converters.WeightUnit.LB));
|
assertEquals(1, Converters.toWeightUnitInt(Converters.WeightUnit.LB));
|
||||||
assertEquals(2, Converters.toWeightUnitInt(Converters.WeightUnit.ST));
|
assertEquals(2, Converters.toWeightUnitInt(Converters.WeightUnit.ST));
|
||||||
|
|
||||||
|
for (Converters.WeightUnit unit : Converters.WeightUnit.values()) {
|
||||||
|
assertEquals(Converters.toWeightUnitInt(unit), unit.toInt());
|
||||||
|
}
|
||||||
|
|
||||||
assertEquals(Converters.WeightUnit.KG, Converters.fromWeightUnitInt(0));
|
assertEquals(Converters.WeightUnit.KG, Converters.fromWeightUnitInt(0));
|
||||||
assertEquals(Converters.WeightUnit.LB, Converters.fromWeightUnitInt(1));
|
assertEquals(Converters.WeightUnit.LB, Converters.fromWeightUnitInt(1));
|
||||||
assertEquals(Converters.WeightUnit.ST, Converters.fromWeightUnitInt(2));
|
assertEquals(Converters.WeightUnit.ST, Converters.fromWeightUnitInt(2));
|
||||||
|
|
||||||
|
for (int i = 0; i < Converters.WeightUnit.values().length; ++i) {
|
||||||
|
assertEquals(Converters.fromWeightUnitInt(i), Converters.WeightUnit.fromInt(i));
|
||||||
|
}
|
||||||
|
|
||||||
assertEquals("kg", Converters.WeightUnit.KG.toString());
|
assertEquals("kg", Converters.WeightUnit.KG.toString());
|
||||||
assertEquals("lb", Converters.WeightUnit.LB.toString());
|
assertEquals("lb", Converters.WeightUnit.LB.toString());
|
||||||
assertEquals("st", Converters.WeightUnit.ST.toString());
|
assertEquals("st", Converters.WeightUnit.ST.toString());
|
||||||
@@ -44,9 +52,17 @@ public class ConvertersTest {
|
|||||||
assertEquals(0, Converters.toGenderInt(Converters.Gender.MALE));
|
assertEquals(0, Converters.toGenderInt(Converters.Gender.MALE));
|
||||||
assertEquals(1, Converters.toGenderInt(Converters.Gender.FEMALE));
|
assertEquals(1, Converters.toGenderInt(Converters.Gender.FEMALE));
|
||||||
|
|
||||||
|
for (Converters.Gender gender : Converters.Gender.values()) {
|
||||||
|
assertEquals(Converters.toGenderInt(gender), gender.toInt());
|
||||||
|
}
|
||||||
|
|
||||||
assertEquals(Converters.Gender.MALE, Converters.fromGenderInt(0));
|
assertEquals(Converters.Gender.MALE, Converters.fromGenderInt(0));
|
||||||
assertEquals(Converters.Gender.FEMALE, Converters.fromGenderInt(1));
|
assertEquals(Converters.Gender.FEMALE, Converters.fromGenderInt(1));
|
||||||
|
|
||||||
|
for (int i = 0; i < Converters.Gender.values().length; ++i) {
|
||||||
|
assertEquals(Converters.fromGenderInt(i), Converters.Gender.fromInt(i));
|
||||||
|
}
|
||||||
|
|
||||||
assertEquals("MALE", Converters.Gender.MALE.toString());
|
assertEquals("MALE", Converters.Gender.MALE.toString());
|
||||||
assertEquals("FEMALE", Converters.Gender.FEMALE.toString());
|
assertEquals("FEMALE", Converters.Gender.FEMALE.toString());
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user