diff --git a/app/src/main/java/org/gnucash/android/db/TransactionsDbAdapter.java b/app/src/main/java/org/gnucash/android/db/TransactionsDbAdapter.java index ff7be8604..143a4b0d5 100644 --- a/app/src/main/java/org/gnucash/android/db/TransactionsDbAdapter.java +++ b/app/src/main/java/org/gnucash/android/db/TransactionsDbAdapter.java @@ -464,6 +464,7 @@ public String getUID(long transactionId){ @Override public boolean deleteRecord(long rowId){ Log.d(TAG, "Delete transaction with record Id: " + rowId); + //the splits db adapter handles deletion of the transaction return mSplitsDbAdapter.deleteSplitsForTransaction(rowId); } diff --git a/app/src/main/java/org/gnucash/android/model/Split.java b/app/src/main/java/org/gnucash/android/model/Split.java index 3a11e1c32..f83435457 100644 --- a/app/src/main/java/org/gnucash/android/model/Split.java +++ b/app/src/main/java/org/gnucash/android/model/Split.java @@ -164,7 +164,7 @@ public String toString() { * @return */ public String toCsv(){ - String splitString = mAmount.toString() + ";" + mAmount.getCurrency().getCurrencyCode() + ";" + String splitString = mAmount.asString() + ";" + mAmount.getCurrency().getCurrencyCode() + ";" + mAccountUID + ";" + mSplitType.name(); if (mMemo != null){ splitString = splitString + ";" + mMemo; diff --git a/app/src/main/java/org/gnucash/android/model/Transaction.java b/app/src/main/java/org/gnucash/android/model/Transaction.java index e993c9554..e6883ec41 100644 --- a/app/src/main/java/org/gnucash/android/model/Transaction.java +++ b/app/src/main/java/org/gnucash/android/model/Transaction.java @@ -139,10 +139,15 @@ public Transaction(Transaction transaction, boolean generateNewUID){ initDefaults(); setDescription(transaction.getDescription()); setNote(transaction.getNote()); + setTime(transaction.getTimeMillis()); + mCurrencyCode = transaction.mCurrencyCode; + mRecurrencePeriod = transaction.mRecurrencePeriod; + //exported flag is left at default value of false + for (Split split : transaction.mSplitList) { addSplit(new Split(split, true)); } - setTime(transaction.getTimeMillis()); + if (!generateNewUID){ setUID(transaction.getUID()); } diff --git a/app/src/main/java/org/gnucash/android/ui/transaction/ScheduledTransactionsListFragment.java b/app/src/main/java/org/gnucash/android/ui/transaction/ScheduledTransactionsListFragment.java index 005a8e92e..3d58bb4a5 100644 --- a/app/src/main/java/org/gnucash/android/ui/transaction/ScheduledTransactionsListFragment.java +++ b/app/src/main/java/org/gnucash/android/ui/transaction/ScheduledTransactionsListFragment.java @@ -112,9 +112,10 @@ public boolean onActionItemClicked(ActionMode mode, MenuItem item) { Toast.makeText(getActivity(), R.string.toast_recurring_transaction_deleted, Toast.LENGTH_SHORT).show(); } } - refreshList(); mode.finish(); WidgetConfigurationActivity.updateAllWidgets(getActivity()); + getLoaderManager().destroyLoader(0); + refreshList(); return true; default: diff --git a/app/src/main/java/org/gnucash/android/ui/transaction/TransactionFormFragment.java b/app/src/main/java/org/gnucash/android/ui/transaction/TransactionFormFragment.java index f2d28c3a1..ba36be527 100644 --- a/app/src/main/java/org/gnucash/android/ui/transaction/TransactionFormFragment.java +++ b/app/src/main/java/org/gnucash/android/ui/transaction/TransactionFormFragment.java @@ -861,7 +861,7 @@ public AmountTextWatcher(EditText amountInput) { @Override public void afterTextChanged(Editable s) { String value = s.toString(); - if (mTransactionTypeButton.isChecked()){ + if (value.length() > 0 && mTransactionTypeButton.isChecked()){ if (s.charAt(0) != '-'){ s = Editable.Factory.getInstance().newEditable("-" + value); }