]>
git.ktnx.net Git - mobile-ledger.git/log
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
Damyan Ivanov [Thu, 11 Feb 2021 21:54:21 +0000 (21:54 +0000)]
add missing/fix copyright statements to all SQL revision files
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
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
Damyan Ivanov [Fri, 5 Feb 2021 06:41:37 +0000 (06:41 +0000)]
fixup deletion of templates
Damyan Ivanov [Fri, 5 Feb 2021 06:36:37 +0000 (08:36 +0200)]
bump years of copyright
Damyan Ivanov [Fri, 5 Feb 2021 06:36:11 +0000 (08:36 +0200)]
template deletion, with undo
Damyan Ivanov [Fri, 5 Feb 2021 06:16:56 +0000 (08:16 +0200)]
async template DB manipulation routines
Damyan Ivanov [Fri, 5 Feb 2021 06:15:37 +0000 (08:15 +0200)]
rename getPatternAccountDAO() to getTemplateAccountDAO()
Damyan Ivanov [Fri, 5 Feb 2021 06:08:18 +0000 (08:08 +0200)]
rename getPatternDAO to getTemplateDAO
Damyan Ivanov [Fri, 5 Feb 2021 05:54:40 +0000 (07:54 +0200)]
generic async result callback interface
Damyan Ivanov [Fri, 5 Feb 2021 05:45:21 +0000 (07:45 +0200)]
copy-constructors for TemplateHeader/TemplateAccount/TemplateWithAccounts
Damyan Ivanov [Fri, 5 Feb 2021 04:48:13 +0000 (04:48 +0000)]
cascade delete of template_accounts from templates
Damyan Ivanov [Thu, 4 Feb 2021 20:40:29 +0000 (22:40 +0200)]
drop unused code
Damyan Ivanov [Thu, 4 Feb 2021 20:28:01 +0000 (22:28 +0200)]
quicker reaction to the scroll when considering fab sliding
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
Damyan Ivanov [Wed, 3 Feb 2021 20:41:12 +0000 (20:41 +0000)]
whitespace
Damyan Ivanov [Wed, 3 Feb 2021 20:40:50 +0000 (20:40 +0000)]
fix parameter annotation
Damyan Ivanov [Wed, 3 Feb 2021 17:15:07 +0000 (19:15 +0200)]
add icon to the dialog for choosing a template
Damyan Ivanov [Tue, 2 Feb 2021 21:01:58 +0000 (23:01 +0200)]
Templates: make FAB hide on scroll up
Damyan Ivanov [Tue, 2 Feb 2021 20:22:21 +0000 (22:22 +0200)]
turn foreign_keys PRAGMA in Room too
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
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
Damyan Ivanov [Tue, 2 Feb 2021 06:00:49 +0000 (08:00 +0200)]
guard against ncurrent navigation controller destination being null
Damyan Ivanov [Mon, 1 Feb 2021 06:38:40 +0000 (08:38 +0200)]
drop large sample text
Damyan Ivanov [Mon, 1 Feb 2021 06:38:32 +0000 (08:38 +0200)]
translations
Damyan Ivanov [Mon, 1 Feb 2021 06:38:09 +0000 (08:38 +0200)]
handle back arrow tap in patterns activity
Damyan Ivanov [Mon, 1 Feb 2021 06:18:27 +0000 (08:18 +0200)]
use string resource instead of hardcoded text
Damyan Ivanov [Mon, 1 Feb 2021 06:17:46 +0000 (08:17 +0200)]
fix alignment of date component inputs
Damyan Ivanov [Mon, 1 Feb 2021 06:17:13 +0000 (08:17 +0200)]
fix setting null literal value for date components
Damyan Ivanov [Sun, 31 Jan 2021 21:28:34 +0000 (23:28 +0200)]
fix selecting from multiple matching patterns
Damyan Ivanov [Sun, 31 Jan 2021 20:00:41 +0000 (22:00 +0200)]
ui/machinery support for negated pattern amounts
Damyan Ivanov [Sun, 31 Jan 2021 17:26:16 +0000 (17:26 +0000)]
add a pattern flag for negation of amount
Damyan Ivanov [Sun, 31 Jan 2021 17:25:54 +0000 (17:25 +0000)]
correction in index name
Damyan Ivanov [Sun, 31 Jan 2021 17:24:08 +0000 (17:24 +0000)]
drop redundant parameter with default value
Damyan Ivanov [Sun, 31 Jan 2021 16:32:59 +0000 (16:32 +0000)]
no background for pattern edit buttons
Damyan Ivanov [Sun, 31 Jan 2021 16:32:38 +0000 (16:32 +0000)]
remove background colour of pattern list
was used for debugging
Damyan Ivanov [Sun, 31 Jan 2021 16:31:43 +0000 (16:31 +0000)]
typo in view id
Damyan Ivanov [Sun, 31 Jan 2021 13:26:01 +0000 (13:26 +0000)]
change toolbar title when editing/adding a pattern
Damyan Ivanov [Sun, 31 Jan 2021 13:25:08 +0000 (15:25 +0200)]
cleanup
Damyan Ivanov [Sun, 31 Jan 2021 13:24:48 +0000 (15:24 +0200)]
complete fromRoomObject() to include date matching fields
Damyan Ivanov [Sun, 31 Jan 2021 13:22:49 +0000 (15:22 +0200)]
fix IDs when creating new patterns
Damyan Ivanov [Sun, 31 Jan 2021 11:38:41 +0000 (11:38 +0000)]
Rename QEScanAbleFragment to QRScanCapableFragment
Damyan Ivanov [Sun, 31 Jan 2021 11:23:41 +0000 (13:23 +0200)]
add two indices, corresponding to foreign keys to help Room
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
Damyan Ivanov [Sat, 30 Jan 2021 21:07:23 +0000 (21:07 +0000)]
more toString() support
Damyan Ivanov [Sat, 30 Jan 2021 21:06:29 +0000 (21:06 +0000)]
add SimpleDate.toString()
Damyan Ivanov [Sat, 30 Jan 2021 21:06:16 +0000 (21:06 +0000)]
fix support for matching of transaction description/comment
Damyan Ivanov [Sat, 30 Jan 2021 21:04:04 +0000 (21:04 +0000)]
fu: Data.parseNumber
Damyan Ivanov [Sat, 30 Jan 2021 14:36:23 +0000 (16:36 +0200)]
format account amounts upon focus leave; store in DB
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
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
Damyan Ivanov [Sat, 30 Jan 2021 13:08:42 +0000 (15:08 +0200)]
Room doesn't understand "NULLS FIRST" in the ORDER BY clause :(
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
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
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
Damyan Ivanov [Fri, 29 Jan 2021 05:26:57 +0000 (05:26 +0000)]
global function for formatting numbers (locale-aware)
Damyan Ivanov [Fri, 29 Jan 2021 05:26:14 +0000 (05:26 +0000)]
somewhat working pattern list/editor
Damyan Ivanov [Fri, 29 Jan 2021 05:24:06 +0000 (05:24 +0000)]
updated gradlew.bat
Damyan Ivanov [Fri, 29 Jan 2021 05:23:25 +0000 (05:23 +0000)]
button id rename (fab -> fabAdd)
Damyan Ivanov [Fri, 29 Jan 2021 05:23:05 +0000 (05:23 +0000)]
make Currency loadable by id
Damyan Ivanov [Fri, 29 Jan 2021 05:22:32 +0000 (05:22 +0000)]
App: make the Room database handle available
Damyan Ivanov [Fri, 29 Jan 2021 05:19:50 +0000 (05:19 +0000)]
extract QR-scanning machinery from new transaction fragment
Damyan Ivanov [Fri, 29 Jan 2021 05:18:45 +0000 (05:18 +0000)]
Room database class plus a couple of DAO classes
Damyan Ivanov [Fri, 29 Jan 2021 05:17:35 +0000 (05:17 +0000)]
expand pattern tables with all needed fields; prepare for Room adoption
Damyan Ivanov [Fri, 29 Jan 2021 05:15:32 +0000 (05:15 +0000)]
bump versions of a couple of libraries
Damyan Ivanov [Fri, 29 Jan 2021 05:15:07 +0000 (05:15 +0000)]
add Room to dependencies
Damyan Ivanov [Tue, 12 Jan 2021 20:38:44 +0000 (22:38 +0200)]
pave the way to fragment navigation for pattern list activity
Damyan Ivanov [Tue, 12 Jan 2021 17:14:02 +0000 (19:14 +0200)]
shuffle some classes under proper packages
Damyan Ivanov [Mon, 11 Jan 2021 21:37:05 +0000 (23:37 +0200)]
upgrade a couple of library versions
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
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
Damyan Ivanov [Wed, 6 Jan 2021 20:58:14 +0000 (22:58 +0200)]
db tables for patterns and pattern accounts
Damyan Ivanov [Wed, 6 Jan 2021 17:01:51 +0000 (19:01 +0200)]
new transaction model: add setDate method
Damyan Ivanov [Sun, 3 Jan 2021 07:25:57 +0000 (09:25 +0200)]
drop TODO: transaction-level comment (done)
Damyan Ivanov [Sat, 2 Jan 2021 19:04:42 +0000 (21:04 +0200)]
convert new transaction row to view binding
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
Damyan Ivanov [Sat, 2 Jan 2021 15:38:09 +0000 (17:38 +0200)]
new transaction: bigger currency button area
Damyan Ivanov [Tue, 29 Dec 2020 08:04:30 +0000 (08:04 +0000)]
metadata: mention comments in full description
Damyan Ivanov [Mon, 28 Dec 2020 17:09:30 +0000 (17:09 +0000)]
prepare release 0.16.0 (37)
Damyan Ivanov [Mon, 28 Dec 2020 16:59:10 +0000 (18:59 +0200)]
remove an extra LinearLayout
Damyan Ivanov [Mon, 28 Dec 2020 16:51:20 +0000 (18:51 +0200)]
drop unnecessary namespace declarations after layout merger
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
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
Damyan Ivanov [Mon, 28 Dec 2020 14:47:48 +0000 (16:47 +0200)]
convert MainActivity to view binding
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
Damyan Ivanov [Mon, 28 Dec 2020 13:41:18 +0000 (15:41 +0200)]
migrate profile detail fragment to view binding
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
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
Damyan Ivanov [Mon, 28 Dec 2020 11:24:58 +0000 (13:24 +0200)]
detect and report API errors when saving new transactions
Damyan Ivanov [Mon, 28 Dec 2020 09:39:23 +0000 (11:39 +0200)]
API version-dependent transaction sending
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
Damyan Ivanov [Sun, 27 Dec 2020 21:43:23 +0000 (23:43 +0200)]
hint for showing soft keyboard in new trans/profile details
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
Damyan Ivanov [Sun, 27 Dec 2020 21:32:06 +0000 (23:32 +0200)]
whitespace
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
Damyan Ivanov [Sun, 27 Dec 2020 10:41:52 +0000 (12:41 +0200)]
drop unused menu file
Damyan Ivanov [Sun, 27 Dec 2020 10:41:30 +0000 (12:41 +0200)]
Migrate from Switch to SwitchMaterial
Damyan Ivanov [Sun, 20 Dec 2020 14:32:31 +0000 (14:32 +0000)]
a step towards API-independent JSON parsing of accounts
Damyan Ivanov [Wed, 23 Dec 2020 20:53:32 +0000 (20:53 +0000)]
Switch → SwitchMaterial in the currency selector