From c8e782473c7064bbe9ba1006958c412322c8b766 Mon Sep 17 00:00:00 2001 From: "DESKTOP-IF738U6\\Tim" Date: Fri, 31 Dec 2021 18:08:24 +0800 Subject: [PATCH] fix for losing data during rotation of device --- .../beecount/CountOptionsActivity.java | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/beecount/src/main/java/com/knirirr/beecount/CountOptionsActivity.java b/beecount/src/main/java/com/knirirr/beecount/CountOptionsActivity.java index ca03d3e..352a088 100644 --- a/beecount/src/main/java/com/knirirr/beecount/CountOptionsActivity.java +++ b/beecount/src/main/java/com/knirirr/beecount/CountOptionsActivity.java @@ -48,6 +48,15 @@ public class CountOptionsActivity extends AppCompatActivity implements SharedPre private long project_id; private boolean pref_multiplier; + private boolean setting1Check; + private boolean setting2Check; + private boolean setting3Check; + private boolean settingNotesCheck; + private int setting1; + private int setting2; + private int setting3; + private String settingNotes; + LinearLayout static_widget_area; LinearLayout dynamic_widget_area; OptionsWidget ar_value_widget; @@ -90,9 +99,24 @@ protected void onCreate(Bundle savedInstanceState) { savedAlerts = (ArrayList) savedInstanceState.getSerializable("savedAlerts"); } + setting1 = savedInstanceState.getInt("setting1"); + setting2 = savedInstanceState.getInt("setting2"); + setting3 = savedInstanceState.getInt("setting3"); + settingNotes = savedInstanceState.getString("settingNotes"); + if(setting1 != 0){ + setting1Check = true; + } + if(setting2 != 0){ + setting2Check = true; + } + if(setting3 != 0){ + setting3Check = true; + } + if(settingNotes != null){ + settingNotesCheck = true; + } } - } @Override @@ -171,6 +195,19 @@ protected void onResume() { dynamic_widget_area.addView(acw); } + + if(setting1Check){ + ar_value_widget.setParameterValue(setting1); + } + if(setting2Check){ + ar_level_widget.setParameterValue(setting2); + } + if(setting3Check){ + curr_val_widget.setParameterValue(setting3); + } + if(settingNotesCheck){ + enw.setProjectName(settingNotes); + } } @Override @@ -186,6 +223,10 @@ protected void onSaveInstanceState(Bundle outState) ((ViewGroup) acw.getParent()).removeView(acw); } outState.putSerializable("savedAlerts", savedAlerts); + outState.putInt("setting1", ar_value_widget.getParameterValue()); + outState.putInt("setting2", ar_level_widget.getParameterValue()); + outState.putInt("setting3", curr_val_widget.getParameterValue()); + outState.putString("settingNotes", enw.getProjectName()); } @Override