mobile-ledger.git
2 months agoprepare v0.21.45 (54) master v0.21.5
Damyan Ivanov [Sun, 4 Sep 2022 07:16:04 +0000 (07:16 +0000)]
prepare v0.21.45 (54)

2 months agoalso restore the current profile from the cloud backup
Damyan Ivanov [Sat, 3 Sep 2022 15:47:56 +0000 (15:47 +0000)]
also restore the current profile from the cloud backup

2 months agofix cloud backup
Damyan Ivanov [Sat, 3 Sep 2022 15:00:43 +0000 (18:00 +0300)]
fix cloud backup

by making the BackupAgent-extending class public

also, dereive directly from BackupAgent, because only the profile
configuration is stored, not the whole database

as a side action, drop the backup descriptor and its mention in the
manifests, because it is not used in the key-value backup MoLe uses

5 months agoprepare v0.21.4 (53) for release v0.21.4
Damyan Ivanov [Sat, 18 Jun 2022 16:19:07 +0000 (16:19 +0000)]
prepare v0.21.4 (53) for release

5 months agofix a rare crash when submitting new transaction
Damyan Ivanov [Sat, 18 Jun 2022 16:09:43 +0000 (19:09 +0300)]
fix a rare crash when submitting new transaction

occurring when multiple accounts have no amount and the remaining
balance is zero

5 months agoFix representation of AmountPrecision for v1.23
Faye Duxovni [Thu, 9 Jun 2022 06:11:10 +0000 (02:11 -0400)]
Fix representation of AmountPrecision for v1.23

In v1.23+, AmountPrecision is serialized and deserialized as though
it's a Maybe Word8; it's expected to be either an integer or null, not
a JSON object.

5 months agoSet valid default value for tsourcepos in v1.23 ParsedLedgerTransaction
Faye Duxovni [Thu, 9 Jun 2022 06:11:09 +0000 (02:11 -0400)]
Set valid default value for tsourcepos in v1.23 ParsedLedgerTransaction

If tsourcepos is an empty list, attempting to add a transaction will
be rejected by the server, which is expecting a pair of values.  This
sets it to a well-formed default value which the server will accept.

7 months agofix crash when deleting templates
Damyan Ivanov [Mon, 25 Apr 2022 12:58:36 +0000 (15:58 +0300)]
fix crash when deleting templates

7 months agoprepare v0.21.3 (52) for release v0.21.3
Damyan Ivanov [Wed, 6 Apr 2022 19:33:23 +0000 (19:33 +0000)]
prepare v0.21.3 (52) for release

7 months agoexplicit assert of non-null value
Damyan Ivanov [Wed, 6 Apr 2022 19:24:58 +0000 (22:24 +0300)]
explicit assert of non-null value

7 months agoadjust deprecated constructor usage
Damyan Ivanov [Wed, 6 Apr 2022 19:24:42 +0000 (22:24 +0300)]
adjust deprecated constructor usage

7 months agobump sdk version to 31
Damyan Ivanov [Wed, 6 Apr 2022 19:24:21 +0000 (22:24 +0300)]
bump sdk version to 31

7 months agobump versions of several dependencies
Damyan Ivanov [Wed, 6 Apr 2022 19:23:34 +0000 (22:23 +0300)]
bump versions of several dependencies

7 months agobump all gradle versions
Damyan Ivanov [Wed, 6 Apr 2022 18:54:58 +0000 (18:54 +0000)]
bump all gradle versions

7 months agoprepare v0.21.2 (51) for release v0.21.2
Damyan Ivanov [Mon, 4 Apr 2022 19:28:33 +0000 (19:28 +0000)]
prepare v0.21.2 (51) for release

7 months agoNT: turn on commodity setting when loading transaction with commodities
Damyan Ivanov [Mon, 4 Apr 2022 19:20:21 +0000 (22:20 +0300)]
NT: turn on commodity setting when loading transaction with commodities

7 months agofix crash when restoring configuration backup
Damyan Ivanov [Mon, 4 Apr 2022 16:18:43 +0000 (19:18 +0300)]
fix crash when restoring configuration backup

7 months agofix crash when duplicating templates due to duplicating UUIDs
Damyan Ivanov [Mon, 4 Apr 2022 16:05:37 +0000 (19:05 +0300)]
fix crash when duplicating templates due to duplicating UUIDs

7 months agotypo in method name
Damyan Ivanov [Mon, 4 Apr 2022 16:00:27 +0000 (19:00 +0300)]
typo in method name

9 months agofix crash when auto-balancing multi currency transaction
Damyan Ivanov [Tue, 1 Feb 2022 20:16:28 +0000 (22:16 +0200)]
fix crash when auto-balancing multi currency transaction

11 months agoprepare v0.21.1 (50) for release v0.21.1
Damyan Ivanov [Thu, 30 Dec 2021 07:38:21 +0000 (07:38 +0000)]
prepare v0.21.1 (50) for release

11 months agodo not crash when sending transaction with just empty amounts
Damyan Ivanov [Sun, 26 Dec 2021 21:37:36 +0000 (23:37 +0200)]
do not crash when sending transaction with just empty amounts

if it is accepted by hledger-web, it must be legal

11 months agoadd support for 1.23 also when adding transactions
Damyan Ivanov [Sun, 26 Dec 2021 21:35:54 +0000 (23:35 +0200)]
add support for 1.23 also when adding transactions

the previous 1.23 support concerned only transaction/account retrieval

11 months agotypo in comment
Damyan Ivanov [Sun, 19 Dec 2021 10:54:40 +0000 (12:54 +0200)]
typo in comment

11 months agolog count of retrieved accounts and transactions as well as the API
Damyan Ivanov [Sun, 19 Dec 2021 10:54:19 +0000 (12:54 +0200)]
log count of retrieved accounts and transactions as well as the API

11 months agoTransactionListAdapter: include running total in item comparison
Damyan Ivanov [Sun, 19 Dec 2021 10:53:27 +0000 (12:53 +0200)]
TransactionListAdapter: include running total in item comparison

fixes stale running total being displayed when new transactions enter
the list in non-top position

11 months agoprepare v0.21.0 (49) for release v0.21.0
Damyan Ivanov [Thu, 9 Dec 2021 20:21:20 +0000 (20:21 +0000)]
prepare v0.21.0 (49) for release

11 months agoadd support for hledger-web 1.23 json schema
Damyan Ivanov [Thu, 9 Dec 2021 19:59:23 +0000 (21:59 +0200)]
add support for hledger-web 1.23 json schema

11 months agoinclude exception details in debug log when retrieving transactions
Damyan Ivanov [Thu, 9 Dec 2021 19:58:40 +0000 (21:58 +0200)]
include exception details in debug log when retrieving transactions

includes precious details about json parsing errors

11 months agoDB revision 66: add Room schema to Git
Damyan Ivanov [Thu, 9 Dec 2021 19:43:01 +0000 (21:43 +0200)]
DB revision 66: add Room schema to Git

11 months agoreally prepare 0.20.4 (48) for release v0.20.4
Damyan Ivanov [Wed, 8 Dec 2021 18:59:44 +0000 (18:59 +0000)]
really prepare 0.20.4 (48) for release

12 months agoprepare for release
Damyan Ivanov [Thu, 18 Nov 2021 21:48:10 +0000 (21:48 +0000)]
prepare for release

12 months agoDB revision 66: re-calculate descriptionUpper to fix searching
Damyan Ivanov [Thu, 18 Nov 2021 21:30:12 +0000 (23:30 +0200)]
DB revision 66: re-calculate descriptionUpper to fix searching

12 months agoTransaction: when copying, use proper descriptionUpper member
Damyan Ivanov [Thu, 18 Nov 2021 21:29:19 +0000 (23:29 +0200)]
Transaction: when copying, use proper descriptionUpper member

wasn't filled previously leading to bad search results

12 months agoremove double % when searching transactions by description
Damyan Ivanov [Thu, 18 Nov 2021 21:28:21 +0000 (23:28 +0200)]
remove double % when searching transactions by description

it seems to work, but looks strance anyway

14 months agoprepare v0.20.3 (47) for release v0.20.3
Damyan Ivanov [Wed, 29 Sep 2021 20:01:29 +0000 (20:01 +0000)]
prepare v0.20.3 (47) for release

14 months agoanother db migration fix v0.16.0
Damyan Ivanov [Wed, 29 Sep 2021 19:57:43 +0000 (19:57 +0000)]
another db migration fix v0.16.0

14 months agorelease version 0.20.2 (46) v0.20.2
Damyan Ivanov [Thu, 23 Sep 2021 17:51:04 +0000 (17:51 +0000)]
release version 0.20.2 (46)

14 months agofix db_62.sql (SQL syntax error)
Damyan Ivanov [Thu, 23 Sep 2021 16:25:16 +0000 (16:25 +0000)]
fix db_62.sql (SQL syntax error)

14 months agoslight rewording
Damyan Ivanov [Sun, 12 Sep 2021 13:07:56 +0000 (16:07 +0300)]
slight rewording

14 months agofixup: transactions.description_uc correction
Damyan Ivanov [Sun, 12 Sep 2021 13:07:34 +0000 (16:07 +0300)]
fixup: transactions.description_uc correction

14 months agoprovide cloud backup functionality
Damyan Ivanov [Sun, 12 Sep 2021 11:30:56 +0000 (14:30 +0300)]
provide cloud backup functionality

14 months agomethods for deleting all DB tables
Damyan Ivanov [Sun, 12 Sep 2021 11:30:09 +0000 (14:30 +0300)]
methods for deleting all DB tables

14 months agofix search previous transactions by description
Damyan Ivanov [Fri, 10 Sep 2021 19:28:25 +0000 (22:28 +0300)]
fix search previous transactions by description

caused by bad data in transactions.description_uc

14 months agorelease v0.20.1 (45) v0.20.1
Damyan Ivanov [Thu, 9 Sep 2021 20:07:48 +0000 (20:07 +0000)]
release v0.20.1 (45)

14 months ago(unsuccessful) attempt to avoid black flicker when switching profiles
Damyan Ivanov [Thu, 9 Sep 2021 19:56:46 +0000 (22:56 +0300)]
(unsuccessful) attempt to avoid black flicker when switching profiles

14 months agodb 62: remove duplicate currency entries before creating unique index
Damyan Ivanov [Thu, 9 Sep 2021 19:55:02 +0000 (22:55 +0300)]
db 62: remove duplicate currency entries before creating unique index

14 months agosettings backup: mention that passwords are stored in the clear
Damyan Ivanov [Wed, 8 Sep 2021 19:48:32 +0000 (22:48 +0300)]
settings backup: mention that passwords are stored in the clear

14 months agodebug setupProfileColors() calls
Damyan Ivanov [Mon, 6 Sep 2021 06:26:13 +0000 (06:26 +0000)]
debug setupProfileColors() calls

14 months agodo not report data retrieval cancellation to the user
Damyan Ivanov [Thu, 2 Sep 2021 06:05:22 +0000 (09:05 +0300)]
do not report data retrieval cancellation to the user

this happens as a direct consequence of user action and just adds stress

15 months agofix a crash when returning to new transaction with no focused input
Damyan Ivanov [Mon, 30 Aug 2021 19:46:08 +0000 (22:46 +0300)]
fix a crash when returning to new transaction with no focused input

for example, after an unsuccessful save

15 months agofocus amount when account is selected
Damyan Ivanov [Mon, 30 Aug 2021 16:43:30 +0000 (19:43 +0300)]
focus amount when account is selected

15 months agotypo in exception name
Damyan Ivanov [Mon, 30 Aug 2021 16:17:11 +0000 (19:17 +0300)]
typo in exception name

15 months agoconfig restore: skip null entries
Damyan Ivanov [Mon, 30 Aug 2021 16:07:37 +0000 (19:07 +0300)]
config restore: skip null entries

instead of crashing because they aren't 'String' etc.

15 months agoinclude description_uc in Transaction's SQL
Damyan Ivanov [Fri, 27 Aug 2021 20:13:04 +0000 (20:13 +0000)]
include description_uc in Transaction's SQL

15 months agoreplace AsyncTask.execute with GeneralBackgroundTasks.run
Damyan Ivanov [Fri, 27 Aug 2021 20:12:37 +0000 (20:12 +0000)]
replace AsyncTask.execute with GeneralBackgroundTasks.run

15 months agotypo in method name
Damyan Ivanov [Fri, 27 Aug 2021 20:12:02 +0000 (20:12 +0000)]
typo in method name

15 months agoconvert AsyncTask descender classes to pure Thread's
Damyan Ivanov [Fri, 27 Aug 2021 20:11:51 +0000 (20:11 +0000)]
convert AsyncTask descender classes to pure Thread's

perhaps these should use a cachedThreadExecutor for handling long jobs
such as network transfer? doesn't seem any better

15 months agomake Room ignore the no-argument Currency constructor
Damyan Ivanov [Fri, 27 Aug 2021 20:08:36 +0000 (20:08 +0000)]
make Room ignore the no-argument Currency constructor

the one with all fields should be good

15 months agomove async DB stuff away of AsyncTask
Damyan Ivanov [Fri, 27 Aug 2021 20:07:31 +0000 (20:07 +0000)]
move async DB stuff away of AsyncTask

it is deprecated

the replacement is a single-thread executor instance

in theory a multi-thread executor may work too, but there should not be
so much concurrency on the DB level. getting the DB stuff away from the
main thread should be enough

15 months agouse a fixed thread pool for general short tasks
Damyan Ivanov [Fri, 27 Aug 2021 20:02:49 +0000 (20:02 +0000)]
use a fixed thread pool for general short tasks

15 months agorun the success callback on the main thread
Damyan Ivanov [Fri, 27 Aug 2021 20:02:10 +0000 (20:02 +0000)]
run the success callback on the main thread

15 months agoreplace deprecated implicit looper with Looper.getMainLooper()
Damyan Ivanov [Wed, 25 Aug 2021 20:30:33 +0000 (23:30 +0300)]
replace deprecated implicit looper with Looper.getMainLooper()

15 months agoreplace AsyncCrasher with a Runnable run by GeneralBackgroundTasks
Damyan Ivanov [Wed, 25 Aug 2021 20:27:23 +0000 (23:27 +0300)]
replace AsyncCrasher with a Runnable run by GeneralBackgroundTasks

a step in removing usages of deprecated AsyncTask

15 months agoadd an async runner class for general tasks
Damyan Ivanov [Wed, 25 Aug 2021 20:25:31 +0000 (23:25 +0300)]
add an async runner class for general tasks

supposed to replace AsyncTask usage

15 months agorelease v0.20.0 (44) v0.20.0
Damyan Ivanov [Sun, 22 Aug 2021 19:01:09 +0000 (19:01 +0000)]
release v0.20.0 (44)

15 months agofall back to any profile when restoring config
Damyan Ivanov [Sun, 22 Aug 2021 17:14:22 +0000 (20:14 +0300)]
fall back to any profile when restoring config

it would be strange to happen, because the config should always have
a current profile, but who knows… defensive programming

15 months agouse post..() instead of set..() from a background thread
Damyan Ivanov [Sun, 22 Aug 2021 17:05:10 +0000 (20:05 +0300)]
use post..() instead of set..() from a background thread

15 months agofix crash when new trans. is started by a shortcut for removed profile
Damyan Ivanov [Sun, 22 Aug 2021 16:53:41 +0000 (19:53 +0300)]
fix crash when new trans. is started by a shortcut for removed profile

15 months agoMainActivity: always refresh shortcuts, even if the list is empty
Damyan Ivanov [Sun, 22 Aug 2021 16:52:09 +0000 (19:52 +0300)]
MainActivity: always refresh shortcuts, even if the list is empty

15 months agoDate.setCurrentProfile may accept null as argument
Damyan Ivanov [Sun, 22 Aug 2021 16:18:58 +0000 (19:18 +0300)]
Date.setCurrentProfile may accept null as argument

for example when the last profile has been removed

15 months agodo not reset the new transaction model in the constructor
Damyan Ivanov [Sun, 22 Aug 2021 16:18:24 +0000 (19:18 +0300)]
do not reset the new transaction model in the constructor

1) reset() requires that there is a current profile in Data and that may
   not be true because the new transaction activity may be started by a
   shortcut referencing a profile that was removed and that may have
   been the last profile, i.e. there may be no profiles at that moment
2) reset is later called by the new transaction fragment anyway, when it
   has ensured that there is an active profile

15 months agofix crash in new transaction shortcut when the main app is not running
Damyan Ivanov [Sun, 22 Aug 2021 16:15:09 +0000 (19:15 +0300)]
fix crash in new transaction shortcut when the main app is not running

15 months agofix JSON export of templates
Damyan Ivanov [Sat, 21 Aug 2021 20:15:52 +0000 (23:15 +0300)]
fix JSON export of templates

15 months agoadd some explanation before the restore button on the welcome screen
Damyan Ivanov [Sat, 21 Aug 2021 20:05:39 +0000 (23:05 +0300)]
add some explanation before the restore button on the welcome screen

also make it scrollable and more even-aligned

15 months agooffer to restore from backup when starting the app with no profiles
Damyan Ivanov [Sat, 21 Aug 2021 16:16:07 +0000 (19:16 +0300)]
offer to restore from backup when starting the app with no profiles

15 months agogray out the backup controls if there is nothing to backup
Damyan Ivanov [Sat, 21 Aug 2021 16:15:50 +0000 (19:15 +0300)]
gray out the backup controls if there is nothing to backup

15 months agoworking backup and restore of configuration settings
Damyan Ivanov [Sat, 21 Aug 2021 15:59:29 +0000 (18:59 +0300)]
working backup and restore of configuration settings

all profile and template parameters are supported

15 months agodrop deprecation from profiles.uuid, make not null
Damyan Ivanov [Sat, 21 Aug 2021 13:43:04 +0000 (16:43 +0300)]
drop deprecation from profiles.uuid, make not null

will be used when importing profiles from exported JSON configuration

15 months agoadd uuid to templates
Damyan Ivanov [Sat, 21 Aug 2021 13:25:34 +0000 (16:25 +0300)]
add uuid to templates

will be used to distinguish new templates when restoring configuration
from JSON

15 months agoadd unique index on currencies(name)
Damyan Ivanov [Sat, 21 Aug 2021 12:49:20 +0000 (15:49 +0300)]
add unique index on currencies(name)

this would function as the UUID on profiles and templates

17 months agopoint to local license copies (in addition to web links)
Damyan Ivanov [Sat, 26 Jun 2021 07:50:55 +0000 (07:50 +0000)]
point to local license copies (in addition to web links)

17 months agoprepare v0.19.2 (43) for release v0.19.2
Damyan Ivanov [Wed, 9 Jun 2021 04:48:03 +0000 (04:48 +0000)]
prepare v0.19.2 (43) for release

17 months agofix looking up old transactions with non-ASCII names (broken in 0.18.0)
Damyan Ivanov [Tue, 8 Jun 2021 20:26:14 +0000 (23:26 +0300)]
fix looking up old transactions with non-ASCII names (broken in 0.18.0)

according to the documentation, SQLite's NOCASE collation affects only
ASCII characters. Unicode is explicitly mentioned as not supported.
Strangely Unicode still works on some Android versions/variants, but not
on others.

This change stops relying on NOCASE collation and puts back upper case
variant of transaction description in a new column, which is then used
when looking up previous transactions for auto-completion

18 months agoprepare v0.19.1 (42) for release v0.19.1
Damyan Ivanov [Sun, 23 May 2021 15:59:12 +0000 (15:59 +0000)]
prepare v0.19.1 (42) for release

18 months agodrop a fixme that needs no fixing
Damyan Ivanov [Sun, 23 May 2021 15:39:58 +0000 (18:39 +0300)]
drop a fixme that needs no fixing

18 months agofix crash in version checking code with two-component versions (3.14)
Damyan Ivanov [Sun, 23 May 2021 14:36:36 +0000 (17:36 +0300)]
fix crash in version checking code with two-component versions (3.14)

18 months agomaintain amount text independent from the amount
Damyan Ivanov [Sun, 23 May 2021 14:29:54 +0000 (17:29 +0300)]
maintain amount text independent from the amount

for example, the text may not be a valid amount, i.e. a sole "-"

18 months agomake decimal separator available globally
Damyan Ivanov [Sun, 23 May 2021 14:27:21 +0000 (17:27 +0300)]
make decimal separator available globally

updated with locale changes

18 months agotrack more instances where currency may be null (and replace it with "")
Damyan Ivanov [Sun, 16 May 2021 11:38:19 +0000 (14:38 +0300)]
track more instances where currency may be null (and replace it with "")

18 months agobimp gradle, sdk, build tools, jackson; jcentral→mavenCentral
Damyan Ivanov [Sun, 16 May 2021 05:45:20 +0000 (05:45 +0000)]
bimp gradle, sdk, build tools, jackson; jcentral→mavenCentral

18 months agofix loading previous transaction with no preferred account (again)
Damyan Ivanov [Sun, 16 May 2021 05:42:43 +0000 (05:42 +0000)]
fix loading previous transaction with no preferred account (again)

broken in 0.19.0

18 months agouse explicit main thread looper
Damyan Ivanov [Sat, 15 May 2021 10:20:03 +0000 (13:20 +0300)]
use explicit main thread looper

18 months agobump version of two test libraries
Damyan Ivanov [Thu, 13 May 2021 05:03:14 +0000 (08:03 +0300)]
bump version of two test libraries

18 months agoannotate a data retrieval method with @Transaction as suggested
Damyan Ivanov [Thu, 13 May 2021 04:57:12 +0000 (07:57 +0300)]
annotate a data retrieval method with @Transaction as suggested

18 months agofix a weird bug when an invalid amount is entered
Damyan Ivanov [Wed, 12 May 2021 19:52:11 +0000 (22:52 +0300)]
fix a weird bug when an invalid amount is entered

18 months agotypo in debug message
Damyan Ivanov [Wed, 12 May 2021 19:51:55 +0000 (22:51 +0300)]
typo in debug message

18 months agonew transaction: currency can't be null
Damyan Ivanov [Wed, 12 May 2021 19:51:33 +0000 (22:51 +0300)]
new transaction: currency can't be null

18 months agoprepare release of v0.19.0 (41) v0.19.0
Damyan Ivanov [Mon, 10 May 2021 19:41:01 +0000 (19:41 +0000)]
prepare release of v0.19.0 (41)

18 months agowhen accumulating running totals, consider sub-accounts too
Damyan Ivanov [Mon, 10 May 2021 19:28:22 +0000 (22:28 +0300)]
when accumulating running totals, consider sub-accounts too