From a67a80e1682d91d1530d966db2ec4e7388cf78d2 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Mon, 4 Aug 2014 16:18:59 +0200 Subject: [PATCH] Fixed dialog rotation --- .../ericsson/uecontrol/gui/EditActivity.java | 5 +++-- .../gui/fragments/ConfigureDialog.java | 19 ++++++++++++++++--- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/EditActivity.java b/app/src/main/java/com/ericsson/uecontrol/gui/EditActivity.java index 15df86e..a6926ac 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/EditActivity.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/EditActivity.java @@ -84,10 +84,11 @@ public class EditActivity extends ListActivity implements AdapterView.OnItemClic @Override public void onItemClick(AdapterView adapterView, View view, int i, long l) { UeBehaviour behaviour = executor.getBehaviourList().get(i); - Configurator confer = new Configurator(behaviour); + Bundle bundle = new Bundle(); + bundle.putInt("object_index", i); ConfigureDialog dialog = new ConfigureDialog(); - dialog.setConfigurator(confer); + dialog.setArguments(bundle); dialog.show(getFragmentManager(), "behaviour_configurator"); } diff --git a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/ConfigureDialog.java b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/ConfigureDialog.java index 873230f..2fc3d71 100755 --- a/app/src/main/java/com/ericsson/uecontrol/gui/fragments/ConfigureDialog.java +++ b/app/src/main/java/com/ericsson/uecontrol/gui/fragments/ConfigureDialog.java @@ -11,6 +11,8 @@ import android.widget.LinearLayout; import android.widget.TextView; import com.ericsson.uecontrol.R; +import com.ericsson.uecontrol.core.UeBehaviour; +import com.ericsson.uecontrol.gui.MainActivity; import com.ericsson.uecontrol.gui.util.Configurator; import com.ericsson.uecontrol.gui.util.Configurator.ConfigurationParam; @@ -39,6 +41,8 @@ public class ConfigureDialog extends DialogFragment { int padding = getResources().getDimensionPixelSize(R.dimen.standard_padding); root.setPadding(padding, padding, padding, padding); + UeBehaviour behaviour = MainActivity.getExecutor().getBehaviourList().get(this.getArguments().getInt("object_index")); + confer = new Configurator(behaviour); for(ConfigurationParam confParam : confer.getConfiguration()){ LinearLayout layout = new LinearLayout(getActivity()); layout.setOrientation(LinearLayout.HORIZONTAL); @@ -57,8 +61,13 @@ public class ConfigureDialog extends DialogFragment { input.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)); - input.setText(confParam.getString(), TextView.BufferType.EDITABLE); input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); + // Set previous value + if(savedInstanceState != null && savedInstanceState.containsKey(confParam.getName())) + input.setText(savedInstanceState.getString(confParam.getName()), TextView.BufferType.EDITABLE); + else + input.setText(confParam.getString(), TextView.BufferType.EDITABLE); + // store inputs for later use inputs.put(confParam.getName(), input); layout.addView(input); @@ -84,7 +93,11 @@ public class ConfigureDialog extends DialogFragment { return builder.create(); } - public void setConfigurator(Configurator c) { - confer = c; + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + for(String key : inputs.keySet()){ + outState.putString(key, inputs.get(key).getText().toString()); + } } }