]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionActivity.java
simplify logic
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / new_transaction / NewTransactionActivity.java
index 791bbcefa5a5cc44300caac28c04b133af08ece0..33234639919692db552e936a6fbbf45112d5857b 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;
@@ -355,15 +364,11 @@ public class NewTransactionActivity extends ProfileThemedActivity
 
             TransactionWithAccounts tr;
 
-            if (Misc.emptyIsNull(accFilter) != null) {
+            if (Misc.emptyIsNull(accFilter) != null)
                 tr = trDao.getFirstByDescriptionHavingAccountSync(description, accFilter);
-                if (tr != null) {
-                    model.loadTransactionIntoModel(tr);
-                    return;
-                }
-            }
+            else
+                tr = trDao.getFirstByDescriptionSync(description);
 
-            tr = trDao.getFirstByDescriptionSync(description);
             if (tr != null)
                 model.loadTransactionIntoModel(tr);
         });