]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionFragment.java
fix crash when new trans. is started by a shortcut for removed profile
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / new_transaction / NewTransactionFragment.java
index 7741d18ac6656902485662583ba02d924078761c..9bcac1c81a9b65d2b0d5ada9441493a71efb7120 100644 (file)
@@ -195,8 +195,13 @@ public class NewTransactionFragment extends Fragment {
             element = FocusedElement.valueOf(savedInstanceState.getString("focused-element"));
         }
 
-        if (!keep)
-            viewModel.reset();
+        if (!keep) {
+            // we need the DB up and running
+            Data.observeProfile(getViewLifecycleOwner(), p -> {
+                if (p != null)
+                    viewModel.reset();
+            });
+        }
         else {
             viewModel.noteFocusChanged(focused, element);
         }
@@ -226,10 +231,12 @@ public class NewTransactionFragment extends Fragment {
         outState.putBoolean("keep", true);
         final NewTransactionModel.FocusInfo focusInfo = viewModel.getFocusInfo()
                                                                  .getValue();
-        final int focusedItem = focusInfo.position;
-        if (focusedItem >= 0)
-            outState.putInt("focused-item", focusedItem);
-        outState.putString("focused-element", focusInfo.element.toString());
+        if (focusInfo != null) {
+            final int focusedItem = focusInfo.position;
+            if (focusedItem >= 0)
+                outState.putInt("focused-item", focusedItem);
+            outState.putString("focused-element", focusInfo.element.toString());
+        }
     }
 
     @Override