|
1 | 1 | package de.mygrades.view.activity; |
2 | 2 |
|
3 | 3 | import android.app.Activity; |
| 4 | +import android.os.Bundle; |
4 | 5 | import android.util.Log; |
5 | 6 | import android.view.View; |
6 | 7 | import android.view.ViewGroup; |
|
25 | 26 | public class GradeDetailedActivityEditHelper { |
26 | 27 | private static final String TAG = GradeDetailedActivityEditHelper.class.getSimpleName(); |
27 | 28 |
|
| 29 | + // instance state |
| 30 | + public static final String ET_EXAM_ID_TEXT = "et_exam_id_text"; |
| 31 | + public static final String ET_STATE_TEXT = "et_state_text"; |
| 32 | + public static final String ET_CREDIT_POINTS_TEXT = "et_credit_points_text"; |
| 33 | + public static final String ET_GRADE_TEXT = "et_grade_text"; |
| 34 | + public static final String ET_ANNOTATION_TEXT = "et_annotation_text"; |
| 35 | + public static final String ET_EXAM_DATE_TEXT = "et_exam_date_text"; |
| 36 | + public static final String ET_TESTER_TEXT = "et_tester_text"; |
| 37 | + public static final String ET_WEIGHT_TEXT = "et_weight_text"; |
| 38 | + public static final String ET_NAME_TEXT = "et_name_text"; |
| 39 | + public static final String SP_ATTEMPT_POSITION = "sp_attempt_position"; |
| 40 | + public static final String SP_SEMESTER_POSITION = "sp_semester_position"; |
| 41 | + |
28 | 42 | private Activity activity; |
29 | 43 | private MainServiceHelper mainServiceHelper; |
30 | 44 | private boolean editModeEnabled; |
@@ -718,6 +732,49 @@ private Double stringToDouble(String s) { |
718 | 732 | return null; |
719 | 733 | } |
720 | 734 |
|
| 735 | + /** |
| 736 | + * Get the instance state for all edit texts and spinner. |
| 737 | + * |
| 738 | + * @return instance state as Bundle |
| 739 | + */ |
| 740 | + public Bundle getInstanceState() { |
| 741 | + Bundle state = new Bundle(); |
| 742 | + state.putString(ET_EXAM_ID_TEXT, etExamId.getText().toString()); |
| 743 | + state.putString(ET_STATE_TEXT, etState.getText().toString()); |
| 744 | + state.putString(ET_CREDIT_POINTS_TEXT, etCreditPoints.getText().toString()); |
| 745 | + state.putString(ET_GRADE_TEXT, etGrade.getText().toString()); |
| 746 | + state.putString(ET_ANNOTATION_TEXT, etAnnotation.getText().toString()); |
| 747 | + state.putString(ET_EXAM_DATE_TEXT, etExamDate.getText().toString()); |
| 748 | + state.putString(ET_TESTER_TEXT, etTester.getText().toString()); |
| 749 | + state.putString(ET_WEIGHT_TEXT, etWeight.getText().toString()); |
| 750 | + state.putString(ET_NAME_TEXT, etName.getText().toString()); |
| 751 | + state.putInt(SP_ATTEMPT_POSITION, spAttempt.getSelectedItemPosition()); |
| 752 | + state.putInt(SP_SEMESTER_POSITION, spSemester.getSelectedItemPosition()); |
| 753 | + |
| 754 | + return state; |
| 755 | + } |
| 756 | + |
| 757 | + /** |
| 758 | + * Restore the instance state for all edit texts and spinner. |
| 759 | + * |
| 760 | + * @param savedState Bundle |
| 761 | + */ |
| 762 | + public void restoreInstanceState(Bundle savedState) { |
| 763 | + if (savedState == null) return; |
| 764 | + |
| 765 | + etExamId.setText(savedState.getString(ET_EXAM_ID_TEXT)); |
| 766 | + etState.setText(savedState.getString(ET_STATE_TEXT)); |
| 767 | + etCreditPoints.setText(savedState.getString(ET_CREDIT_POINTS_TEXT)); |
| 768 | + etGrade.setText(savedState.getString(ET_GRADE_TEXT)); |
| 769 | + etAnnotation.setText(savedState.getString(ET_ANNOTATION_TEXT)); |
| 770 | + etExamDate.setText(savedState.getString(ET_EXAM_DATE_TEXT)); |
| 771 | + etTester.setText(savedState.getString(ET_TESTER_TEXT)); |
| 772 | + etWeight.setText(savedState.getString(ET_WEIGHT_TEXT)); |
| 773 | + etName.setText(savedState.getString(ET_NAME_TEXT)); |
| 774 | + spAttempt.setSelection(savedState.getInt(SP_ATTEMPT_POSITION)); |
| 775 | + spSemester.setSelection(savedState.getInt(SP_SEMESTER_POSITION)); |
| 776 | + } |
| 777 | + |
721 | 778 | public void setGradeEntry(GradeEntry gradeEntry) { |
722 | 779 | this.gradeEntry = gradeEntry; |
723 | 780 | } |
|
0 commit comments