+
+ int focused = 0;
+ if (savedInstanceState != null) {
+ keep |= savedInstanceState.getBoolean("keep", true);
+ focused = savedInstanceState.getInt("focused", 0);
+ }
+
+ if (!keep)
+ viewModel.reset();
+ else {
+ viewModel.setFocusedItem(focused);
+ }
+ }
+ @Override
+ public void onSaveInstanceState(@NonNull Bundle outState) {
+ super.onSaveInstanceState(outState);
+ outState.putBoolean("keep", true);
+ final int focusedItem = viewModel.getFocusedItem();
+ outState.putInt("focused", focusedItem);