From 67ed699ca5cad09a77d33a6347cab6424167617b Mon Sep 17 00:00:00 2001 From: Roumen Georgiev Date: Thu, 26 Apr 2018 15:59:08 +0300 Subject: [PATCH] save() before showing next --- .../androidaps/startupwizard/SWRadioButton.java | 13 ++++++++----- .../startupwizard/SetupWizardActivity.java | 7 ++++++- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/startupwizard/SWRadioButton.java b/app/src/main/java/info/nightscout/androidaps/startupwizard/SWRadioButton.java index 9a615cd47f..eea12eabf5 100644 --- a/app/src/main/java/info/nightscout/androidaps/startupwizard/SWRadioButton.java +++ b/app/src/main/java/info/nightscout/androidaps/startupwizard/SWRadioButton.java @@ -10,6 +10,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.events.EventPreferenceChange; +import info.nightscout.utils.SP; public class SWRadioButton extends SWItem { @@ -72,11 +74,6 @@ public class SWRadioButton extends SWItem { return this.radioGroup; } - // returns the id of the group - public int getGroupId(){ - return radioGroup.getId(); - } - public String getCheckedValue(){ if(radioGroup != null && radioGroup.getCheckedRadioButtonId() > -1){ Context context = radioGroup.getRootView().getContext(); @@ -91,6 +88,12 @@ public class SWRadioButton extends SWItem { return this.somethingChecked; } + public void save(){ + if(getCheckedValue().equals("none")) { + SP.putString(preferenceId, getCheckedValue()); + MainApp.bus().post(new EventPreferenceChange(preferenceId)); + } + } // return true if we have something checked public boolean isValid(){ if(getCheckedValue().equals("none")) diff --git a/app/src/main/java/info/nightscout/androidaps/startupwizard/SetupWizardActivity.java b/app/src/main/java/info/nightscout/androidaps/startupwizard/SetupWizardActivity.java index fa9406e523..e695f87148 100644 --- a/app/src/main/java/info/nightscout/androidaps/startupwizard/SetupWizardActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/startupwizard/SetupWizardActivity.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.List; import info.nightscout.androidaps.R; +import info.nightscout.utils.SP; import static info.nightscout.androidaps.startupwizard.SWItem.Type.RADIOBUTTON; import static info.nightscout.androidaps.startupwizard.SWItem.Type.STRING; @@ -179,7 +180,10 @@ public class SetupWizardActivity extends AppCompatActivity { radioGroupItems.getRadioGroup().setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { - nextAllowed = radioGroupItems.isValid(); + log.debug("Validate radio input:" +currentScreen.validator.isValid()); + radioGroupItems.save(); + log.debug("Preference value after save is:"+ SP.getString(radioGroupItems.preferenceId, "unset")); + nextAllowed = currentScreen.validator.isValid(); if(showPage == screens.size() - 1 && nextAllowed) { ((Button) findViewById(R.id.finish_button)).setVisibility(View.VISIBLE); ((Button) findViewById(R.id.next_button)).setVisibility(View.GONE); @@ -196,6 +200,7 @@ public class SetupWizardActivity extends AppCompatActivity { SWUrl swUrl = new SWUrl(); swUrl.setOptions(labels, comments); swUrl.generateDialog(this.findViewById(R.id.fullscreen_content_fields)); + log.debug("Valid input:" +currentScreen.validator.isValid()); nextAllowed = swUrl.isValid(); ((Button) findViewById(R.id.next_button)).setVisibility(View.VISIBLE); }