diff --git a/android_app/app/src/main/java/com/health/openscale/gui/activities/UserSettingsActivity.java b/android_app/app/src/main/java/com/health/openscale/gui/activities/UserSettingsActivity.java
index 09008b7c..11fae23b 100644
--- a/android_app/app/src/main/java/com/health/openscale/gui/activities/UserSettingsActivity.java
+++ b/android_app/app/src/main/java/com/health/openscale/gui/activities/UserSettingsActivity.java
@@ -32,6 +32,7 @@ import android.view.View;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioGroup;
+import android.widget.Spinner;
import android.widget.Toast;
import com.health.openscale.R;
@@ -63,7 +64,7 @@ public class UserSettingsActivity extends BaseAppCompatActivity {
private RadioGroup radioScaleUnit;
private RadioGroup radioGender;
private RadioGroup radioMeasurementUnit;
- private RadioGroup radioActivityLevel;
+ private Spinner spinnerActivityLevel;
private final DateFormat dateFormat = DateFormat.getDateInstance();
@@ -87,7 +88,7 @@ public class UserSettingsActivity extends BaseAppCompatActivity {
radioScaleUnit = findViewById(R.id.groupScaleUnit);
radioGender = findViewById(R.id.groupGender);
radioMeasurementUnit = findViewById(R.id.groupMeasureUnit);
- radioActivityLevel = findViewById(R.id.groupActivityLevel);
+ spinnerActivityLevel = findViewById(R.id.spinnerActivityLevel);
txtInitialWeight = findViewById(R.id.txtInitialWeight);
txtGoalWeight = findViewById(R.id.txtGoalWeight);
@@ -294,23 +295,7 @@ public class UserSettingsActivity extends BaseAppCompatActivity {
break;
}
- switch (scaleUser.getActivityLevel()) {
- case SEDENTARY:
- radioActivityLevel.check(R.id.btnRadioSedentary);
- break;
- case MILD:
- radioActivityLevel.check(R.id.btnRadioMild);
- break;
- case MODERATE:
- radioActivityLevel.check(R.id.btnRadioModerate);
- break;
- case HEAVY:
- radioActivityLevel.check(R.id.btnRadioHeavy);
- break;
- case EXTREME:
- radioActivityLevel.check(R.id.btnRadioExtreme);
- break;
- }
+ spinnerActivityLevel.setSelection(scaleUser.getActivityLevel().toInt());
}
private boolean validateInput()
@@ -456,26 +441,6 @@ public class UserSettingsActivity extends BaseAppCompatActivity {
break;
}
- Converters.ActivityLevel activity_level = Converters.ActivityLevel.SEDENTARY;
-
- switch (radioActivityLevel.getCheckedRadioButtonId()) {
- case R.id.btnRadioSedentary:
- activity_level = Converters.ActivityLevel.SEDENTARY;
- break;
- case R.id.btnRadioMild:
- activity_level = Converters.ActivityLevel.MILD;
- break;
- case R.id.btnRadioModerate:
- activity_level = Converters.ActivityLevel.MODERATE;
- break;
- case R.id.btnRadioHeavy:
- activity_level = Converters.ActivityLevel.HEAVY;
- break;
- case R.id.btnRadioExtreme:
- activity_level = Converters.ActivityLevel.EXTREME;
- break;
- }
-
final ScaleUser scaleUser = new ScaleUser();
scaleUser.setUserName(name);
@@ -483,7 +448,8 @@ public class UserSettingsActivity extends BaseAppCompatActivity {
scaleUser.setBodyHeight(Converters.toCentimeter(body_height, measure_unit));
scaleUser.setScaleUnit(scale_unit);
scaleUser.setMeasureUnit(measure_unit);
- scaleUser.setActivityLevel(activity_level);
+ scaleUser.setActivityLevel(Converters.fromActivityLevelInt(
+ spinnerActivityLevel.getSelectedItemPosition()));
scaleUser.setGender(gender);
scaleUser.setInitialWeight(Converters.toKilogram(initial_weight, scale_unit));
scaleUser.setGoalWeight(Converters.toKilogram(goal_weight, scale_unit));
diff --git a/android_app/app/src/main/res/layout/activity_usersettings.xml b/android_app/app/src/main/res/layout/activity_usersettings.xml
index 80e781a1..54ab459c 100644
--- a/android_app/app/src/main/res/layout/activity_usersettings.xml
+++ b/android_app/app/src/main/res/layout/activity_usersettings.xml
@@ -180,45 +180,11 @@
android:layout_gravity="center_vertical"
android:text="@string/label_activity_level" />
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:entries="@array/activity_level_entries" />
Light
- Dark
+
+
+ - @string/activity_level_sedentary
+ - @string/activity_level_mild
+ - @string/activity_level_moderate
+ - @string/activity_level_heavy
+ - @string/activity_level_extreme
+
+
diff --git a/android_app/app/src/main/res/values/strings.xml b/android_app/app/src/main/res/values/strings.xml
index b17733f7..7039fd24 100644
--- a/android_app/app/src/main/res/values/strings.xml
+++ b/android_app/app/src/main/res/values/strings.xml
@@ -237,4 +237,9 @@
Hip skinfold
Measurement unit
Activity level
+ Sedentary
+ Mild
+ Moderate
+ Heavy
+ Extreme