]> git.ktnx.net Git - mobile-ledger.git/log
mobile-ledger.git
3 years agolet SQL revision files control the transaction
Damyan Ivanov [Thu, 11 Feb 2021 22:12:51 +0000 (22:12 +0000)]
let SQL revision files control the transaction

because the foreign_keys pragma can't be used inside a transaction

3 years agoadd missing/fix copyright statements to all SQL revision files
Damyan Ivanov [Thu, 11 Feb 2021 21:54:21 +0000 (21:54 +0000)]
add missing/fix copyright statements to all SQL revision files

3 years agoadd continuation support to applyRevisionFile()
Damyan Ivanov [Wed, 10 Feb 2021 21:34:10 +0000 (23:34 +0200)]
add continuation support to applyRevisionFile()

even if the plan is to migrate fully to Room, writing DB structure
revisions in a series of SQL files is much more convenient compared to a
sequence od db.execSQL() calls with very long arguments

except that writing SQL text that is very long is a problem for the SQL
files too. Continuations solve this in a way, much better than splitting
long SQL arguments to execSQL() in a series of concatenated strings

3 years agofix initial database creation
Damyan Ivanov [Wed, 10 Feb 2021 21:19:52 +0000 (23:19 +0200)]
fix initial database creation

old-style revision support is still needed because Room is a
second-class citizen, yet

3 years agofixup deletion of templates
Damyan Ivanov [Fri, 5 Feb 2021 06:41:37 +0000 (06:41 +0000)]
fixup deletion of templates

3 years agobump years of copyright
Damyan Ivanov [Fri, 5 Feb 2021 06:36:37 +0000 (08:36 +0200)]
bump years of copyright

3 years agotemplate deletion, with undo
Damyan Ivanov [Fri, 5 Feb 2021 06:36:11 +0000 (08:36 +0200)]
template deletion, with undo

3 years agoasync template DB manipulation routines
Damyan Ivanov [Fri, 5 Feb 2021 06:16:56 +0000 (08:16 +0200)]
async template DB manipulation routines

3 years agorename getPatternAccountDAO() to getTemplateAccountDAO()
Damyan Ivanov [Fri, 5 Feb 2021 06:15:37 +0000 (08:15 +0200)]
rename getPatternAccountDAO() to getTemplateAccountDAO()

3 years agorename getPatternDAO to getTemplateDAO
Damyan Ivanov [Fri, 5 Feb 2021 06:08:18 +0000 (08:08 +0200)]
rename getPatternDAO to getTemplateDAO

3 years agogeneric async result callback interface
Damyan Ivanov [Fri, 5 Feb 2021 05:54:40 +0000 (07:54 +0200)]
generic async result callback interface

3 years agocopy-constructors for TemplateHeader/TemplateAccount/TemplateWithAccounts
Damyan Ivanov [Fri, 5 Feb 2021 05:45:21 +0000 (07:45 +0200)]
copy-constructors for TemplateHeader/TemplateAccount/TemplateWithAccounts

3 years agocascade delete of template_accounts from templates
Damyan Ivanov [Fri, 5 Feb 2021 04:48:13 +0000 (04:48 +0000)]
cascade delete of template_accounts from templates

3 years agodrop unused code
Damyan Ivanov [Thu, 4 Feb 2021 20:40:29 +0000 (22:40 +0200)]
drop unused code

3 years agoquicker reaction to the scroll when considering fab sliding
Damyan Ivanov [Thu, 4 Feb 2021 20:28:01 +0000 (22:28 +0200)]
quicker reaction to the scroll when considering fab sliding

3 years agorework main activity fab show/hide to slide up/down
Damyan Ivanov [Thu, 4 Feb 2021 20:26:19 +0000 (22:26 +0200)]
rework main activity fab show/hide to slide up/down

this is inspired by the HideBottomViewOnScrollBehaviour, which cannot
be used directly, since it doesn't work for showing the fab when the
recycler view is not tall enough to cause scrolling

to reproduce the problem, make the fab hide in the transaction list,
then switch to the account tree, which needs to be collapsed, and try
to show the fab

3 years agowhitespace
Damyan Ivanov [Wed, 3 Feb 2021 20:41:12 +0000 (20:41 +0000)]
whitespace

3 years agofix parameter annotation
Damyan Ivanov [Wed, 3 Feb 2021 20:40:50 +0000 (20:40 +0000)]
fix parameter annotation

3 years agoadd icon to the dialog for choosing a template
Damyan Ivanov [Wed, 3 Feb 2021 17:15:07 +0000 (19:15 +0200)]
add icon to the dialog for choosing a template

3 years agoTemplates: make FAB hide on scroll up
Damyan Ivanov [Tue, 2 Feb 2021 21:01:58 +0000 (23:01 +0200)]
Templates: make FAB hide on scroll up

3 years agoturn foreign_keys PRAGMA in Room too
Damyan Ivanov [Tue, 2 Feb 2021 20:22:21 +0000 (22:22 +0200)]
turn foreign_keys PRAGMA in Room too

3 years agorename Patterns to Templates
Damyan Ivanov [Tue, 2 Feb 2021 17:23:35 +0000 (19:23 +0200)]
rename Patterns to Templates

better reflects the purpose and function

also drop unnecessary unique index on a primary key and explicit
foreign key constraint names

3 years agorename patterns to templates
Damyan Ivanov [Tue, 2 Feb 2021 06:35:48 +0000 (08:35 +0200)]
rename patterns to templates

"pattern" is the regular expression that is used to match templates

3 years agoguard against ncurrent navigation controller destination being null
Damyan Ivanov [Tue, 2 Feb 2021 06:00:49 +0000 (08:00 +0200)]
guard against ncurrent navigation controller destination being null

3 years agodrop large sample text
Damyan Ivanov [Mon, 1 Feb 2021 06:38:40 +0000 (08:38 +0200)]
drop large sample text

3 years agotranslations
Damyan Ivanov [Mon, 1 Feb 2021 06:38:32 +0000 (08:38 +0200)]
translations

3 years agohandle back arrow tap in patterns activity
Damyan Ivanov [Mon, 1 Feb 2021 06:38:09 +0000 (08:38 +0200)]
handle back arrow tap in patterns activity

3 years agouse string resource instead of hardcoded text
Damyan Ivanov [Mon, 1 Feb 2021 06:18:27 +0000 (08:18 +0200)]
use string resource instead of hardcoded text

3 years agofix alignment of date component inputs
Damyan Ivanov [Mon, 1 Feb 2021 06:17:46 +0000 (08:17 +0200)]
fix alignment of date component inputs

3 years agofix setting null literal value for date components
Damyan Ivanov [Mon, 1 Feb 2021 06:17:13 +0000 (08:17 +0200)]
fix setting null literal value for date components

3 years agofix selecting from multiple matching patterns
Damyan Ivanov [Sun, 31 Jan 2021 21:28:34 +0000 (23:28 +0200)]
fix selecting from multiple matching patterns

3 years agoui/machinery support for negated pattern amounts
Damyan Ivanov [Sun, 31 Jan 2021 20:00:41 +0000 (22:00 +0200)]
ui/machinery support for negated pattern amounts

3 years agoadd a pattern flag for negation of amount
Damyan Ivanov [Sun, 31 Jan 2021 17:26:16 +0000 (17:26 +0000)]
add a pattern flag for negation of amount

3 years agocorrection in index name
Damyan Ivanov [Sun, 31 Jan 2021 17:25:54 +0000 (17:25 +0000)]
correction in index name

3 years agodrop redundant parameter with default value
Damyan Ivanov [Sun, 31 Jan 2021 17:24:08 +0000 (17:24 +0000)]
drop redundant parameter with default value

3 years agono background for pattern edit buttons
Damyan Ivanov [Sun, 31 Jan 2021 16:32:59 +0000 (16:32 +0000)]
no background for pattern edit buttons

3 years agoremove background colour of pattern list
Damyan Ivanov [Sun, 31 Jan 2021 16:32:38 +0000 (16:32 +0000)]
remove background colour of pattern list

was used for debugging

3 years agotypo in view id
Damyan Ivanov [Sun, 31 Jan 2021 16:31:43 +0000 (16:31 +0000)]
typo in view id

3 years agochange toolbar title when editing/adding a pattern
Damyan Ivanov [Sun, 31 Jan 2021 13:26:01 +0000 (13:26 +0000)]
change toolbar title when editing/adding a pattern

3 years agocleanup
Damyan Ivanov [Sun, 31 Jan 2021 13:25:08 +0000 (15:25 +0200)]
cleanup

3 years agocomplete fromRoomObject() to include date matching fields
Damyan Ivanov [Sun, 31 Jan 2021 13:24:48 +0000 (15:24 +0200)]
complete fromRoomObject() to include date matching fields

3 years agofix IDs when creating new patterns
Damyan Ivanov [Sun, 31 Jan 2021 13:22:49 +0000 (15:22 +0200)]
fix IDs when creating new patterns

3 years agoRename QEScanAbleFragment to QRScanCapableFragment
Damyan Ivanov [Sun, 31 Jan 2021 11:38:41 +0000 (11:38 +0000)]
Rename QEScanAbleFragment to QRScanCapableFragment

3 years agoadd two indices, corresponding to foreign keys to help Room
Damyan Ivanov [Sun, 31 Jan 2021 11:23:41 +0000 (13:23 +0200)]
add two indices, corresponding to foreign keys to help Room

3 years agoadd support for filling new transaction data from matched pattern(s)
Damyan Ivanov [Sat, 30 Jan 2021 21:08:36 +0000 (21:08 +0000)]
add support for filling new transaction data from matched pattern(s)

still not ideal, but works in the simplest case

3 years agomore toString() support
Damyan Ivanov [Sat, 30 Jan 2021 21:07:23 +0000 (21:07 +0000)]
more toString() support

3 years agoadd SimpleDate.toString()
Damyan Ivanov [Sat, 30 Jan 2021 21:06:29 +0000 (21:06 +0000)]
add SimpleDate.toString()

3 years agofix support for matching of transaction description/comment
Damyan Ivanov [Sat, 30 Jan 2021 21:06:16 +0000 (21:06 +0000)]
fix support for matching of transaction description/comment

3 years agofu: Data.parseNumber
Damyan Ivanov [Sat, 30 Jan 2021 21:04:04 +0000 (21:04 +0000)]
fu: Data.parseNumber

3 years agoformat account amounts upon focus leave; store in DB
Damyan Ivanov [Sat, 30 Jan 2021 14:36:23 +0000 (16:36 +0200)]
format account amounts upon focus leave; store in DB

3 years agorename formatNumber to formatCurrency and provide formatNumber w/o curr.
Damyan Ivanov [Sat, 30 Jan 2021 14:35:46 +0000 (16:35 +0200)]
rename formatNumber to formatCurrency and provide formatNumber w/o curr.

also provide number parsing, using the same NumberFormat object

3 years agomove model instantiation from onAttach to onCreateView
Damyan Ivanov [Sat, 30 Jan 2021 13:11:11 +0000 (15:11 +0200)]
move model instantiation from onAttach to onCreateView

parent activity may not be fully up in onAttach() and return a null
navigation controller, resulting in a crash upon reconfiguration

3 years agoRoom doesn't understand "NULLS FIRST" in the ORDER BY clause :(
Damyan Ivanov [Sat, 30 Jan 2021 13:08:42 +0000 (15:08 +0200)]
Room doesn't understand "NULLS FIRST" in the ORDER BY clause :(

3 years agowhen saving a pattern, use the navigateUp() method
Damyan Ivanov [Sat, 30 Jan 2021 11:57:11 +0000 (11:57 +0000)]
when saving a pattern, use the navigateUp() method

this leaves the navigation stack in a better state

3 years agorework pattern management machinery
Damyan Ivanov [Sat, 30 Jan 2021 11:56:08 +0000 (11:56 +0000)]
rework pattern management machinery

adding and editing of patterns mostly works (amounts not yet)

room database instantiation moved from App to DB (properly synchronised)

view holders don't hold references to corresponding items or positions
instead, they retrieve the item via getAdapterPosition() as recommended

account names/comments are stored in the DB

fix crash when a pattern with null test text is loaded

3 years agoadd test text to pattern table and drop position
Damyan Ivanov [Sat, 30 Jan 2021 11:43:41 +0000 (11:43 +0000)]
add test text to pattern table and drop position

test text is needed when displaying details so that matching groups
can have values

the position of the patterns is redundant - they are sorted by name

3 years agoglobal function for formatting numbers (locale-aware)
Damyan Ivanov [Fri, 29 Jan 2021 05:26:57 +0000 (05:26 +0000)]
global function for formatting numbers (locale-aware)

3 years agosomewhat working pattern list/editor
Damyan Ivanov [Fri, 29 Jan 2021 05:26:14 +0000 (05:26 +0000)]
somewhat working pattern list/editor

3 years agoupdated gradlew.bat
Damyan Ivanov [Fri, 29 Jan 2021 05:24:06 +0000 (05:24 +0000)]
updated gradlew.bat

3 years agobutton id rename (fab -> fabAdd)
Damyan Ivanov [Fri, 29 Jan 2021 05:23:25 +0000 (05:23 +0000)]
button id rename (fab -> fabAdd)

3 years agomake Currency loadable by id
Damyan Ivanov [Fri, 29 Jan 2021 05:23:05 +0000 (05:23 +0000)]
make Currency loadable by id

3 years agoApp: make the Room database handle available
Damyan Ivanov [Fri, 29 Jan 2021 05:22:32 +0000 (05:22 +0000)]
App: make the Room database handle available

3 years agoextract QR-scanning machinery from new transaction fragment
Damyan Ivanov [Fri, 29 Jan 2021 05:19:50 +0000 (05:19 +0000)]
extract QR-scanning machinery from new transaction fragment

3 years agoRoom database class plus a couple of DAO classes
Damyan Ivanov [Fri, 29 Jan 2021 05:18:45 +0000 (05:18 +0000)]
Room database class plus a couple of DAO classes

3 years agoexpand pattern tables with all needed fields; prepare for Room adoption
Damyan Ivanov [Fri, 29 Jan 2021 05:17:35 +0000 (05:17 +0000)]
expand pattern tables with all needed fields; prepare for Room adoption

3 years agobump versions of a couple of libraries
Damyan Ivanov [Fri, 29 Jan 2021 05:15:32 +0000 (05:15 +0000)]
bump versions of a couple of libraries

3 years agoadd Room to dependencies
Damyan Ivanov [Fri, 29 Jan 2021 05:15:07 +0000 (05:15 +0000)]
add Room to dependencies

3 years agopave the way to fragment navigation for pattern list activity
Damyan Ivanov [Tue, 12 Jan 2021 20:38:44 +0000 (22:38 +0200)]
pave the way to fragment navigation for pattern list activity

3 years agoshuffle some classes under proper packages
Damyan Ivanov [Tue, 12 Jan 2021 17:14:02 +0000 (19:14 +0200)]
shuffle some classes under proper packages

3 years agoupgrade a couple of library versions
Damyan Ivanov [Mon, 11 Jan 2021 21:37:05 +0000 (23:37 +0200)]
upgrade a couple of library versions

3 years agouse indefinite snackbar showing interval
Damyan Ivanov [Mon, 11 Jan 2021 21:36:48 +0000 (23:36 +0200)]
use indefinite snackbar showing interval

these are messages that need to be read

3 years agofirst step towards pattern-assisted auto-filling of transactions
Damyan Ivanov [Mon, 11 Jan 2021 21:27:07 +0000 (23:27 +0200)]
first step towards pattern-assisted auto-filling of transactions

in the end will support deducing transactions via QR-code scan,
clipboard paste and text messages

3 years agodb tables for patterns and pattern accounts
Damyan Ivanov [Wed, 6 Jan 2021 20:58:14 +0000 (22:58 +0200)]
db tables for patterns and pattern accounts

3 years agonew transaction model: add setDate method
Damyan Ivanov [Wed, 6 Jan 2021 17:01:51 +0000 (19:01 +0200)]
new transaction model: add setDate method

3 years agodrop TODO: transaction-level comment (done)
Damyan Ivanov [Sun, 3 Jan 2021 07:25:57 +0000 (09:25 +0200)]
drop TODO: transaction-level comment (done)

3 years agoconvert new transaction row to view binding
Damyan Ivanov [Sat, 2 Jan 2021 19:04:42 +0000 (21:04 +0200)]
convert new transaction row to view binding

3 years agoconvert switch on resource IDs with a series of if/else
Damyan Ivanov [Sat, 2 Jan 2021 16:16:43 +0000 (18:16 +0200)]
convert switch on resource IDs with a series of if/else

resource IDs are going to be non-final in the future

3 years agonew transaction: bigger currency button area
Damyan Ivanov [Sat, 2 Jan 2021 15:38:09 +0000 (17:38 +0200)]
new transaction: bigger currency button area

3 years agometadata: mention comments in full description
Damyan Ivanov [Tue, 29 Dec 2020 08:04:30 +0000 (08:04 +0000)]
metadata: mention comments in full description

3 years agoprepare release 0.16.0 (37) v0.16.0
Damyan Ivanov [Mon, 28 Dec 2020 17:09:30 +0000 (17:09 +0000)]
prepare release 0.16.0 (37)

3 years agoremove an extra LinearLayout
Damyan Ivanov [Mon, 28 Dec 2020 16:59:10 +0000 (18:59 +0200)]
remove an extra LinearLayout

3 years agodrop unnecessary namespace declarations after layout merger
Damyan Ivanov [Mon, 28 Dec 2020 16:51:20 +0000 (18:51 +0200)]
drop unnecessary namespace declarations after layout merger

3 years agoreplace xml onClick declaration with run-time hooking
Damyan Ivanov [Mon, 28 Dec 2020 16:47:55 +0000 (18:47 +0200)]
replace xml onClick declaration with run-time hooking

declarative handlers are deprecated

3 years agofix server version detection when the first profile is being created
Damyan Ivanov [Mon, 28 Dec 2020 15:22:02 +0000 (17:22 +0200)]
fix server version detection when the first profile is being created

the Authenticator always used the current profile, which is null when
there are no profiles yet

3 years agoconvert MainActivity to view binding
Damyan Ivanov [Mon, 28 Dec 2020 14:47:48 +0000 (16:47 +0200)]
convert MainActivity to view binding

3 years agoconvert two switch() statements to if/else
Damyan Ivanov [Mon, 28 Dec 2020 13:46:52 +0000 (15:46 +0200)]
convert two switch() statements to if/else

preparing for gradle 5, where resource IDs will no longer be declared
as final

3 years agomigrate profile detail fragment to view binding
Damyan Ivanov [Mon, 28 Dec 2020 13:41:18 +0000 (15:41 +0200)]
migrate profile detail fragment to view binding

3 years agobetter handling of theme change
Damyan Ivanov [Mon, 28 Dec 2020 12:16:21 +0000 (14:16 +0200)]
better handling of theme change

was broken if the theme is changed via the profile editor invoked by
the "configure profile" button in the new transaction activity

3 years agoProfileThemedActivity: track current profile changes
Damyan Ivanov [Mon, 28 Dec 2020 11:39:54 +0000 (13:39 +0200)]
ProfileThemedActivity: track current profile changes

needed by the new transaction activity which uses the mProfile value
(and its getApiVersion()) when saving the transaction. The API version
could have been changed by the "possible API version mismatch" dialog,
which may be used to open the profile editor

3 years agodetect and report API errors when saving new transactions
Damyan Ivanov [Mon, 28 Dec 2020 11:24:58 +0000 (13:24 +0200)]
detect and report API errors when saving new transactions

3 years agoAPI version-dependent transaction sending
Damyan Ivanov [Mon, 28 Dec 2020 09:39:23 +0000 (11:39 +0200)]
API version-dependent transaction sending

3 years agomove API version enum in a standalone class
Damyan Ivanov [Mon, 28 Dec 2020 09:00:08 +0000 (11:00 +0200)]
move API version enum in a standalone class

will be used for sending too

3 years agohint for showing soft keyboard in new trans/profile details
Damyan Ivanov [Sun, 27 Dec 2020 21:43:23 +0000 (23:43 +0200)]
hint for showing soft keyboard in new trans/profile details

3 years agodrop description drop-down dismissal upon new trans. activity reset
Damyan Ivanov [Sun, 27 Dec 2020 21:42:47 +0000 (23:42 +0200)]
drop description drop-down dismissal upon new trans. activity reset

seems to crash with adapter inconsistency sometimes

3 years agowhitespace
Damyan Ivanov [Sun, 27 Dec 2020 21:32:06 +0000 (23:32 +0200)]
whitespace

3 years agofinish support for multiple server APIs when retrieving data
Damyan Ivanov [Sun, 27 Dec 2020 21:21:37 +0000 (23:21 +0200)]
finish support for multiple server APIs when retrieving data

this also adds support for the last JSON API change introduced in
1.19.1 (see gh#1360)

exceptions from the low-level json parser are interpreted as version
incompatibility and a pointer is made to profile details

3 years agodrop unused menu file
Damyan Ivanov [Sun, 27 Dec 2020 10:41:52 +0000 (12:41 +0200)]
drop unused menu file

3 years agoMigrate from Switch to SwitchMaterial
Damyan Ivanov [Sun, 27 Dec 2020 10:41:30 +0000 (12:41 +0200)]
Migrate from Switch to SwitchMaterial

3 years agoa step towards API-independent JSON parsing of accounts
Damyan Ivanov [Sun, 20 Dec 2020 14:32:31 +0000 (14:32 +0000)]
a step towards API-independent JSON parsing of accounts

3 years agoSwitch → SwitchMaterial in the currency selector
Damyan Ivanov [Wed, 23 Dec 2020 20:53:32 +0000 (20:53 +0000)]
Switch → SwitchMaterial in the currency selector