EditHabitActivity: Dismiss all fragments on device rotation

pull/605/head
Alinson S. Xavier 5 years ago
parent 403ed8b250
commit c43f3c2fd7

@ -52,6 +52,7 @@ public class TimePickerDialog extends AppCompatDialogFragment implements OnValue
private static final String KEY_IN_KB_MODE = "in_kb_mode"; private static final String KEY_IN_KB_MODE = "in_kb_mode";
private static final String KEY_TYPED_TIMES = "typed_times"; private static final String KEY_TYPED_TIMES = "typed_times";
private static final String KEY_DARK_THEME = "dark_theme"; private static final String KEY_DARK_THEME = "dark_theme";
private static final String KEY_SELECTED_COLOR = "selected_color";
public static final int HOUR_INDEX = 0; public static final int HOUR_INDEX = 0;
public static final int MINUTE_INDEX = 1; public static final int MINUTE_INDEX = 1;
@ -202,6 +203,7 @@ public class TimePickerDialog extends AppCompatDialogFragment implements OnValue
mIs24HourMode = savedInstanceState.getBoolean(KEY_IS_24_HOUR_VIEW); mIs24HourMode = savedInstanceState.getBoolean(KEY_IS_24_HOUR_VIEW);
mInKbMode = savedInstanceState.getBoolean(KEY_IN_KB_MODE); mInKbMode = savedInstanceState.getBoolean(KEY_IN_KB_MODE);
mThemeDark = savedInstanceState.getBoolean(KEY_DARK_THEME); mThemeDark = savedInstanceState.getBoolean(KEY_DARK_THEME);
mSelectedColor = savedInstanceState.getInt(KEY_SELECTED_COLOR);
} }
} }
@ -436,6 +438,7 @@ public class TimePickerDialog extends AppCompatDialogFragment implements OnValue
outState.putIntegerArrayList(KEY_TYPED_TIMES, mTypedTimes); outState.putIntegerArrayList(KEY_TYPED_TIMES, mTypedTimes);
} }
outState.putBoolean(KEY_DARK_THEME, mThemeDark); outState.putBoolean(KEY_DARK_THEME, mThemeDark);
outState.putInt(KEY_SELECTED_COLOR, mSelectedColor);
} }
} }

@ -37,6 +37,8 @@ class FrequencyPickerDialog(var freqNumerator: Int,
lateinit var contentView: View lateinit var contentView: View
var onFrequencyPicked: (num: Int, den: Int) -> Unit = {_,_ -> } var onFrequencyPicked: (num: Int, den: Int) -> Unit = {_,_ -> }
constructor() : this(1, 1)
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val inflater = LayoutInflater.from(activity!!) val inflater = LayoutInflater.from(activity!!)
contentView = inflater.inflate(R.layout.frequency_picker_dialog, null) contentView = inflater.inflate(R.layout.frequency_picker_dialog, null)

@ -25,6 +25,7 @@ import android.os.*
import android.text.format.* import android.text.format.*
import android.view.* import android.view.*
import androidx.appcompat.app.* import androidx.appcompat.app.*
import androidx.fragment.app.*
import com.android.datetimepicker.time.* import com.android.datetimepicker.time.*
import kotlinx.android.synthetic.main.activity_edit_habit.* import kotlinx.android.synthetic.main.activity_edit_habit.*
import org.isoron.androidbase.utils.* import org.isoron.androidbase.utils.*
@ -151,6 +152,10 @@ class EditHabitActivity : AppCompatActivity() {
binding.buttonSave.setOnClickListener { binding.buttonSave.setOnClickListener {
if(validate()) save() if(validate()) save()
} }
for (fragment in supportFragmentManager.fragments) {
(fragment as DialogFragment).dismiss()
}
} }
private fun save() { private fun save() {

Loading…
Cancel
Save