diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c0bdc9ba..9bcb4529e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ Change Log =============================================================================== +Version 2.1.1 *(2016-09-05)* +---------------------------- +* Fixed: Bug cause crash during start-up for devices with no scheduled transactions + Version 2.1.0 *(2016-09-01)* ---------------------------- * Feature: Use multiple GnuCash books in single application @@ -15,7 +19,9 @@ Version 2.1.0 *(2016-09-01)* Version 2.0.7 *(2016-05-05)* ---------------------------- * Fixed: Currency exchange rate does not accept very small rates (> 2 decimal places) -* Improved: Updated translations for Japanese, Polish, French, Version 2.0.6 *(2016-02-20)* +* Improved: Updated translations for Japanese, Polish, French, + +Version 2.0.6 *(2016-02-20)* ---------------------------- * Fixed: Saving transaction gets slower with increase in size of database * Fixed: Imbalance amount wrongly computed in split editor (for some accounts) diff --git a/app/src/main/java/org/gnucash/android/service/ScheduledActionService.java b/app/src/main/java/org/gnucash/android/service/ScheduledActionService.java index b8de7c520..be88db56b 100644 --- a/app/src/main/java/org/gnucash/android/service/ScheduledActionService.java +++ b/app/src/main/java/org/gnucash/android/service/ScheduledActionService.java @@ -187,7 +187,13 @@ private static int executeTransactions(ScheduledAction scheduledAction, SQLiteDa int executionCount = 0; String actionUID = scheduledAction.getActionUID(); TransactionsDbAdapter transactionsDbAdapter = new TransactionsDbAdapter(db, new SplitsDbAdapter(db)); - Transaction trxnTemplate = transactionsDbAdapter.getRecord(actionUID); + Transaction trxnTemplate = null; + try { + trxnTemplate = transactionsDbAdapter.getRecord(actionUID); + } catch (IllegalArgumentException ex){ //if the record could not be found, abort + return executionCount; + } + long now = System.currentTimeMillis(); //if there is an end time in the past, we execute all schedules up to the end time. diff --git a/app/src/main/java/org/gnucash/android/ui/account/AccountsListFragment.java b/app/src/main/java/org/gnucash/android/ui/account/AccountsListFragment.java index 9a4b0a9d9..e07a973d9 100644 --- a/app/src/main/java/org/gnucash/android/ui/account/AccountsListFragment.java +++ b/app/src/main/java/org/gnucash/android/ui/account/AccountsListFragment.java @@ -318,7 +318,8 @@ public void onSaveInstanceState(Bundle outState) { @Override public void onDestroy() { super.onDestroy(); - mAccountRecyclerAdapter.swapCursor(null); + if (mAccountRecyclerAdapter != null) + mAccountRecyclerAdapter.swapCursor(null); } /**