enc-backup: clean up backstack after restore

This commit is contained in:
Vincent Breitmoser
2015-09-25 04:08:42 +02:00
parent 7e175ac673
commit 097430b3e3

View File

@@ -114,7 +114,7 @@ public class BackupCodeEntryFragment extends Fragment implements OnBackStackChan
editText.setText(""); editText.setText("");
} }
pushOntoBackStack(); pushBackStackEntry();
break; break;
@@ -135,14 +135,15 @@ public class BackupCodeEntryFragment extends Fragment implements OnBackStackChan
hideKeyboard(); hideKeyboard();
@ColorInt int black = mCodeEditText[0].getCurrentTextColor();
@ColorInt int green = getResources().getColor(R.color.android_green_dark);
for (EditText editText : mCodeEditText) { for (EditText editText : mCodeEditText) {
editText.setEnabled(false); editText.setEnabled(false);
} }
@ColorInt int black = mCodeEditText[0].getCurrentTextColor();
@ColorInt int green = getResources().getColor(R.color.android_green_dark);
animateFlashText(mCodeEditText, black, green, true); animateFlashText(mCodeEditText, black, green, true);
popFromBackStackNoAction(); popBackStackNoAction();
break; break;
} }
@@ -328,14 +329,14 @@ public class BackupCodeEntryFragment extends Fragment implements OnBackStackChan
} }
} }
private void pushOntoBackStack() { private void pushBackStackEntry() {
FragmentManager fragMan = getFragmentManager(); FragmentManager fragMan = getFragmentManager();
mBackStackLevel = fragMan.getBackStackEntryCount(); mBackStackLevel = fragMan.getBackStackEntryCount();
fragMan.beginTransaction().addToBackStack(BACK_STACK_INPUT).commit(); fragMan.beginTransaction().addToBackStack(BACK_STACK_INPUT).commit();
fragMan.addOnBackStackChangedListener(this); fragMan.addOnBackStackChangedListener(this);
} }
private void popFromBackStackNoAction() { private void popBackStackNoAction() {
FragmentManager fragMan = getFragmentManager(); FragmentManager fragMan = getFragmentManager();
fragMan.removeOnBackStackChangedListener(this); fragMan.removeOnBackStackChangedListener(this);
fragMan.popBackStack(BACK_STACK_INPUT, FragmentManager.POP_BACK_STACK_INCLUSIVE); fragMan.popBackStack(BACK_STACK_INPUT, FragmentManager.POP_BACK_STACK_INCLUSIVE);
@@ -350,6 +351,13 @@ public class BackupCodeEntryFragment extends Fragment implements OnBackStackChan
} }
} }
@Override
public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
super.onViewStateRestored(savedInstanceState);
// we don't really save our state, so at least clean this bit up!
popBackStackNoAction();
}
private void startBackup(boolean exportSecret) { private void startBackup(boolean exportSecret) {
File filename; File filename;
String date = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date()); String date = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date());