From 481eb17d367f5d1c5012c5caed88708d145c9cf9 Mon Sep 17 00:00:00 2001 From: OliE Date: Wed, 8 Nov 2017 18:18:43 +0100 Subject: [PATCH] catch user input NumberFormatException add lean body weight icons --- .../gui/activities/UserSettingsActivity.java | 116 +++++++++--------- .../app/src/main/res/drawable-hdpi/ic_lbw.png | Bin 0 -> 954 bytes .../app/src/main/res/drawable-ldpi/ic_lbw.png | Bin 0 -> 367 bytes .../app/src/main/res/drawable-mdpi/ic_lbw.png | Bin 0 -> 548 bytes .../src/main/res/drawable-xhdpi/ic_lbw.png | Bin 0 -> 1445 bytes .../src/main/res/drawable-xxhdpi/ic_lbw.png | Bin 0 -> 2558 bytes .../src/main/res/drawable-xxxhdpi/ic_lbw.png | Bin 0 -> 3633 bytes 7 files changed, 59 insertions(+), 57 deletions(-) create mode 100644 android_app/app/src/main/res/drawable-hdpi/ic_lbw.png create mode 100644 android_app/app/src/main/res/drawable-ldpi/ic_lbw.png create mode 100644 android_app/app/src/main/res/drawable-mdpi/ic_lbw.png create mode 100644 android_app/app/src/main/res/drawable-xhdpi/ic_lbw.png create mode 100644 android_app/app/src/main/res/drawable-xxhdpi/ic_lbw.png create mode 100644 android_app/app/src/main/res/drawable-xxxhdpi/ic_lbw.png 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 ac99cc9a..d434617a 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 @@ -29,6 +29,7 @@ import android.widget.Button; import android.widget.DatePicker; import android.widget.EditText; import android.widget.RadioGroup; +import android.widget.Toast; import com.health.openscale.R; import com.health.openscale.core.OpenScale; @@ -253,67 +254,68 @@ public class UserSettingsActivity extends Activity { private class onClickListenerOk implements View.OnClickListener { @Override public void onClick(View v) { - if (validateInput()) - { - OpenScale openScale = OpenScale.getInstance(getApplicationContext()); + try { + if (validateInput()) { + OpenScale openScale = OpenScale.getInstance(getApplicationContext()); - String name = txtUserName.getText().toString(); - int body_height = Integer.valueOf(txtBodyHeight.getText().toString()); - int checkedRadioButtonId = radioScaleUnit.getCheckedRadioButtonId(); - int checkedGenderId = radioGender.getCheckedRadioButtonId(); - float initial_weight = Float.valueOf(txtInitialWeight.getText().toString()); - float goal_weight = Float.valueOf(txtGoalWeight.getText().toString()); + String name = txtUserName.getText().toString(); + int body_height = Integer.valueOf(txtBodyHeight.getText().toString()); + int checkedRadioButtonId = radioScaleUnit.getCheckedRadioButtonId(); + int checkedGenderId = radioGender.getCheckedRadioButtonId(); + float initial_weight = Float.valueOf(txtInitialWeight.getText().toString()); + float goal_weight = Float.valueOf(txtGoalWeight.getText().toString()); - int scale_unit = -1; + int scale_unit = -1; - switch (checkedRadioButtonId) { - case R.id.btnRadioKG: - scale_unit = 0; - break; - case R.id.btnRadioLB: - scale_unit = 1; - break; - case R.id.btnRadioST: - scale_unit = 2; - break; + switch (checkedRadioButtonId) { + case R.id.btnRadioKG: + scale_unit = 0; + break; + case R.id.btnRadioLB: + scale_unit = 1; + break; + case R.id.btnRadioST: + scale_unit = 2; + break; + } + + int gender = -1; + + switch (checkedGenderId) { + case R.id.btnRadioMale: + gender = 0; + break; + case R.id.btnRadioWoman: + gender = 1; + break; + } + + String date = txtBirthday.getText().toString(); + String goal_date = txtGoalDate.getText().toString(); + + int id = 0; + + if (getIntent().getExtras().getInt("mode") == EDIT_USER_REQUEST) { + id = getIntent().getExtras().getInt("id"); + openScale.updateScaleUser(id, name, date, body_height, scale_unit, gender, initial_weight, goal_weight, goal_date); + } else { + openScale.addScaleUser(name, date, body_height, scale_unit, gender, initial_weight, goal_weight, goal_date); + + id = openScale.getScaleUserList().get(openScale.getScaleUserList().size() - 1).id; + } + + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + prefs.edit().putInt("selectedUserId", id).commit(); + + openScale.updateScaleData(); + + Intent returnIntent = new Intent(); + setResult(RESULT_OK, returnIntent); + + finish(); } - - int gender = -1; - - switch (checkedGenderId) { - case R.id.btnRadioMale: - gender = 0; - break; - case R.id.btnRadioWoman: - gender = 1; - break; - } - - String date = txtBirthday.getText().toString(); - String goal_date = txtGoalDate.getText().toString(); - - int id = 0; - - if (getIntent().getExtras().getInt("mode") == EDIT_USER_REQUEST) - { - id = getIntent().getExtras().getInt("id"); - openScale.updateScaleUser(id, name, date, body_height, scale_unit, gender, initial_weight, goal_weight, goal_date); - } else - { - openScale.addScaleUser(name, date, body_height, scale_unit, gender, initial_weight, goal_weight, goal_date); - - id = openScale.getScaleUserList().get(openScale.getScaleUserList().size() - 1).id; - } - - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - prefs.edit().putInt("selectedUserId", id).commit(); - - openScale.updateScaleData(); - - Intent returnIntent = new Intent(); - setResult(RESULT_OK, returnIntent); - - finish(); + } catch (NumberFormatException ex) { + Toast.makeText(context, getResources().getString(R.string.error_value_range) + "(" + ex.getMessage() + ")", Toast.LENGTH_SHORT).show(); } } } diff --git a/android_app/app/src/main/res/drawable-hdpi/ic_lbw.png b/android_app/app/src/main/res/drawable-hdpi/ic_lbw.png new file mode 100644 index 0000000000000000000000000000000000000000..6e19b30cf2f405d6b6ab9e725b722e45933b0831 GIT binary patch literal 954 zcmV;r14aCaP)*f6ax&Pf~owe8A=TJcf6;!ZeQ5fL(`{D2$cg6Sk6ie~z|3#<;XWj#td|0Gw#dZoAIMip%)v3pK8#W#IMBt7>V)!mPjpb6KQBD znOlVibAh9C(RcIx^!)B_Ou(bqOQdUcK0kx1{+fC;=Hqs($hiWp69(=m`L+s=VJ?os znfO}xYBo0F9PF7fzQy|f5SoTlaRq+L1*c;w4if3uh)ZxB2H|m>h<%dq0%7>?(1mN! zgbQ&e=4}g+S}aT=h1}sqcusg{kdRvjek7lV3Kd(*;!PH9;AZTEhlTNpRFXUB3zP5? z#wD>icmY#vEr?;lJ5#X;?KxkES;D;KXwUyVgdrA~Ncu269`e#uR>2)``Dy&`>`SX{^e=V#zU@v$)NI?>)YAMA1H8#=K&cHRf){3U7QQq+gmluMq}>-*eIR zCFCv^%8nC0lg~@AJQZA<;|Sb>Pec=K6~{|6y2{IbglOl-C&^yXJC@<~eC`Xicv7Tw zx$xplq4I0Ow4-pfXq4xPDs9dA%Tuwl|E>=mE2M7}soRuojp-^+hwlu~XoFZC4HP#4oHVboZ#y3fDd@eEuZ;1QPl>DX# z*W`wZDBvbx=m&}u{lQ?IAUbw^F1RuY)r+1oMqEKw7+5WKkGvMcQk{S+_S%7Ac*t?1DBBH^ypF?oFbc8?cM0(to_dR!~6& c73^sI2{ek*=g4~=>i_@%07*qoM6N<$f|Aa~ZvX%Q literal 0 HcmV?d00001 diff --git a/android_app/app/src/main/res/drawable-ldpi/ic_lbw.png b/android_app/app/src/main/res/drawable-ldpi/ic_lbw.png new file mode 100644 index 0000000000000000000000000000000000000000..e6726f21c5c90467253f14cf43f4845f4417f8a8 GIT binary patch literal 367 zcmV-#0g(QQP)2P}TM<9;P4d-QY+wnSvHT9@ zmvYpEiD(+fjU+oQxW-3G4E8aFW~@~b$UzK*f1~(;$ABN=qyol!;R(_KIw*zfo+|(V N002ovPDHLkV1m&co{|6n literal 0 HcmV?d00001 diff --git a/android_app/app/src/main/res/drawable-mdpi/ic_lbw.png b/android_app/app/src/main/res/drawable-mdpi/ic_lbw.png new file mode 100644 index 0000000000000000000000000000000000000000..3cd3ef1abafbefa620ea529c57ca2f3e111af361 GIT binary patch literal 548 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