]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionActivity.java
fix loading previous transaction with no preferred account (again)
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / new_transaction / NewTransactionActivity.java
index 791bbcefa5a5cc44300caac28c04b133af08ece0..9a630f811d2b5f54ae8a22061c2104ba8966df0e 100644 (file)
@@ -154,7 +154,7 @@ public class NewTransactionActivity extends ProfileThemedActivity
             saver.execute(tr);
         }
         catch (Exception e) {
-            debug("new-transaction", "Unknown error", e);
+            debug("new-transaction", "Unknown error: " + e);
 
             Bundle b = new Bundle();
             b.putString("error", "unknown error");
@@ -198,14 +198,23 @@ public class NewTransactionActivity extends ProfileThemedActivity
                 getResources().getDisplayMetrics()));
     }
     @Override
-    public void done(String error) {
+    public void onTransactionSaveDone(String error, Object arg) {
         Bundle b = new Bundle();
         if (error != null) {
             b.putString("error", error);
             navController.navigate(R.id.action_newTransactionSavingFragment_Failure, b);
         }
-        else
+        else {
             navController.navigate(R.id.action_newTransactionSavingFragment_Success, b);
+
+            AsyncTask.execute(() -> commitToDb((LedgerTransaction) arg));
+        }
+    }
+    public void commitToDb(LedgerTransaction tr) {
+        TransactionWithAccounts dbTransaction = tr.toDBO();
+        DB.get()
+          .getTransactionDAO()
+          .appendSync(dbTransaction);
     }
     public boolean onToggleSimulateSaveMenuItemClicked(MenuItem item) {
         model.toggleSimulateSave();
@@ -342,7 +351,7 @@ public class NewTransactionActivity extends ProfileThemedActivity
                .create()
                .show();
     }
-    public void descriptionSelected(String description) {
+    public void onDescriptionSelected(String description) {
         debug("description selected", description);
         if (!model.accountListIsEmpty())
             return;
@@ -353,17 +362,13 @@ public class NewTransactionActivity extends ProfileThemedActivity
             TransactionDAO trDao = DB.get()
                                      .getTransactionDAO();
 
-            TransactionWithAccounts tr;
+            TransactionWithAccounts tr = null;
 
-            if (Misc.emptyIsNull(accFilter) != null) {
+            if (Misc.emptyIsNull(accFilter) != null)
                 tr = trDao.getFirstByDescriptionHavingAccountSync(description, accFilter);
-                if (tr != null) {
-                    model.loadTransactionIntoModel(tr);
-                    return;
-                }
-            }
+            if (tr == null)
+                tr = trDao.getFirstByDescriptionSync(description);
 
-            tr = trDao.getFirstByDescriptionSync(description);
             if (tr != null)
                 model.loadTransactionIntoModel(tr);
         });