]> git.ktnx.net Git - mobile-ledger.git/log
mobile-ledger.git
3 years agofix activity restart upon profile theme change
Damyan Ivanov [Sat, 16 May 2020 10:14:13 +0000 (13:14 +0300)]
fix activity restart upon profile theme change

strangely, calling onSaveInstanceState at this time races with
some other thing reacting to the change making fragment manager
crash with "fragment transaction already in progress"

regardless, Actvity.recreate() is designed just for this job

3 years agoprepare release of 0.13.1 (33) v0.13.1
Damyan Ivanov [Thu, 14 May 2020 21:07:25 +0000 (21:07 +0000)]
prepare release of 0.13.1 (33)

3 years agocompletely abandon fiddling with KeyListener's
Damyan Ivanov [Thu, 14 May 2020 21:03:40 +0000 (00:03 +0300)]
completely abandon fiddling with KeyListener's

inputType setting seems do work alright

3 years agoupdate decimal separator value with locale change
Damyan Ivanov [Thu, 14 May 2020 20:46:52 +0000 (23:46 +0300)]
update decimal separator value with locale change

even on newer android, where there is a dedicated key listener, we
need to know how to convert strings to floats

3 years agostop
Damyan Ivanov [Thu, 14 May 2020 20:42:01 +0000 (23:42 +0300)]
stop

3 years agoprepare release v0.13.0
Damyan Ivanov [Thu, 14 May 2020 18:22:53 +0000 (18:22 +0000)]
prepare release

3 years agoposting-level flag for amount validity; drop custom amount text filter
Damyan Ivanov [Thu, 14 May 2020 10:50:12 +0000 (13:50 +0300)]
posting-level flag for amount validity; drop custom amount text filter

the custom text filter in amount inputs seems to break with some
Samsung keyboards.

with a flag that is honoured by the code that checks for transaction
submittability it is better, and allows for a nice warning icon on
invalid input

3 years agodrop extra item type enforcement when removing transaction comment observer
Damyan Ivanov [Thu, 14 May 2020 10:38:09 +0000 (13:38 +0300)]
drop extra item type enforcement when removing transaction comment observer

leads to crashes and such a check is not present for the other observers

3 years agostyle for error texts
Damyan Ivanov [Thu, 14 May 2020 10:30:25 +0000 (13:30 +0300)]
style for error texts

3 years agomake the "home" (back arrow) toolbar button in the profile detail activity behave...
Damyan Ivanov [Thu, 14 May 2020 08:16:43 +0000 (11:16 +0300)]
make the "home" (back arrow) toolbar button in the profile detail activity behave like the back key

this already done for the new transaction activity and seems proper here too
without it, pressing back (on the "keyboard") finishes the activity returning
to the main activity without changing its state (e.g. the drawer is kept
open), while pressing the home arrow (usually at the top left) re-starts
the main activity, closing its drawer

3 years agodrop unused parent activity declarations from manifest
Damyan Ivanov [Thu, 14 May 2020 07:40:34 +0000 (10:40 +0300)]
drop unused parent activity declarations from manifest

3 years agodrop unused activity declaration from manifest
Damyan Ivanov [Wed, 13 May 2020 20:31:03 +0000 (23:31 +0300)]
drop unused activity declaration from manifest

3 years agotranslation
Damyan Ivanov [Wed, 13 May 2020 20:28:03 +0000 (23:28 +0300)]
translation

3 years agolink show comments by default flag between the UI and the DB
Damyan Ivanov [Wed, 13 May 2020 20:23:05 +0000 (23:23 +0300)]
link show comments by default flag between the UI and the DB

3 years agoprofile details: add switch for showing comments by default
Damyan Ivanov [Wed, 13 May 2020 19:13:04 +0000 (22:13 +0300)]
profile details: add switch for showing comments by default

3 years agoprofile details: put posting params in a layout so that they can be hidden easier
Damyan Ivanov [Wed, 13 May 2020 19:10:33 +0000 (22:10 +0300)]
profile details: put posting params in a layout so that they can be hidden easier

3 years agowhitespace
Damyan Ivanov [Wed, 13 May 2020 18:42:47 +0000 (21:42 +0300)]
whitespace

3 years agopass transaction comment to the JSON API
Damyan Ivanov [Wed, 13 May 2020 18:41:28 +0000 (21:41 +0300)]
pass transaction comment to the JSON API

as a 'same line' comment, e.g.

date description ; comment
 account 42
 account

the "preceding" comment is not working (at least with 1.14)

3 years agohandle transaction comment UI changes
Damyan Ivanov [Wed, 13 May 2020 18:39:36 +0000 (21:39 +0300)]
handle transaction comment UI changes

3 years agorework comment show/hide/blur with colors instead of alpha
Damyan Ivanov [Wed, 13 May 2020 18:36:01 +0000 (21:36 +0300)]
rework comment show/hide/blur with colors instead of alpha

alpha interferes with layout animations

3 years agothemed color for disabled text
Damyan Ivanov [Wed, 13 May 2020 18:32:03 +0000 (21:32 +0300)]
themed color for disabled text

3 years agoadd transaction comment to the internal transaction representation
Damyan Ivanov [Wed, 13 May 2020 18:27:54 +0000 (21:27 +0300)]
add transaction comment to the internal transaction representation

3 years agorearrangement
Damyan Ivanov [Sun, 10 May 2020 18:49:09 +0000 (18:49 +0000)]
rearrangement

3 years agotransaction-level comments in new transaction UI, optional
Damyan Ivanov [Sun, 10 May 2020 18:47:31 +0000 (18:47 +0000)]
transaction-level comments in new transaction UI, optional

3 years agomove previous transaction lookup progress bar to the fragment
Damyan Ivanov [Sun, 10 May 2020 12:31:19 +0000 (15:31 +0300)]
move previous transaction lookup progress bar to the fragment

3 years agofix new transaction (+) fab appearing when returning to the app while the drawer...
Damyan Ivanov [Sat, 9 May 2020 20:40:05 +0000 (20:40 +0000)]
fix new transaction (+) fab appearing when returning to the app while the drawer is open

3 years agoHTML transaction parser: handle posting status flags
Damyan Ivanov [Wed, 6 May 2020 18:19:13 +0000 (18:19 +0000)]
HTML transaction parser: handle posting status flags

instead of crashing

3 years agoupdate open drawer screenshot v0.12.0
Damyan Ivanov [Wed, 6 May 2020 09:24:27 +0000 (09:24 +0000)]
update open drawer screenshot

3 years agoadd change logs for release 31
Damyan Ivanov [Wed, 6 May 2020 09:18:57 +0000 (09:18 +0000)]
add change logs for release 31

3 years agoAdd currency/commodity support to full description
Damyan Ivanov [Wed, 6 May 2020 08:28:27 +0000 (08:28 +0000)]
Add currency/commodity support to full description

3 years agoupdate change log
Damyan Ivanov [Wed, 6 May 2020 08:01:16 +0000 (08:01 +0000)]
update change log

3 years agoprofile editor: streamlined handling of authentication switch
Damyan Ivanov [Wed, 6 May 2020 07:45:48 +0000 (10:45 +0300)]
profile editor: streamlined handling of authentication switch

focus moves only when responding to the UI, hook to the LiveData, not
to the UI element

3 years agodarker colour palette, matching theme (pre-generated) and run-time colours
Damyan Ivanov [Mon, 4 May 2020 20:03:20 +0000 (23:03 +0300)]
darker colour palette, matching theme (pre-generated) and run-time colours

3 years agoremove unused code
Damyan Ivanov [Mon, 4 May 2020 18:35:43 +0000 (21:35 +0300)]
remove unused code

3 years agoadd missing contentDescription to a couple of images
Damyan Ivanov [Sun, 3 May 2020 19:28:08 +0000 (22:28 +0300)]
add missing contentDescription to a couple of images

3 years agoreorganize main activity layout to let the CoordinatorLayout do its job with the...
Damyan Ivanov [Sun, 3 May 2020 19:27:41 +0000 (22:27 +0300)]
reorganize main activity layout to let the CoordinatorLayout do its job with the Snackbars

also leads to a cleaner situation on new installs - no drawer until a
profile is created

3 years agofix rounding of the automatic profile color of the second profile after using the...
Damyan Ivanov [Sun, 3 May 2020 19:23:00 +0000 (22:23 +0300)]
fix rounding of the automatic profile color of the second profile after using the default for the first

was causing invalid theme IDs, falling back the default

3 years agorename ic_clear_black_24dp.xml to avoid clash with a private SDK resource
Damyan Ivanov [Sun, 3 May 2020 19:21:16 +0000 (22:21 +0300)]
rename ic_clear_black_24dp.xml to avoid clash with a private SDK resource

3 years agoignore refresh request when there is no profile yet
Damyan Ivanov [Sun, 3 May 2020 13:05:41 +0000 (16:05 +0300)]
ignore refresh request when there is no profile yet

3 years agoToast → Snackbar
Damyan Ivanov [Sun, 3 May 2020 12:56:38 +0000 (15:56 +0300)]
Toast → Snackbar

3 years agoshow a message when no transactions are found containing the preferred account name
Damyan Ivanov [Sun, 3 May 2020 12:55:59 +0000 (15:55 +0300)]
show a message when no transactions are found containing the preferred account name

3 years agoadd a copy of the navigation drawer header to the welcome screen
Damyan Ivanov [Sun, 3 May 2020 12:55:09 +0000 (15:55 +0300)]
add a copy of the navigation drawer header to the welcome screen

3 years agodelete stray options of already removed profiles
Damyan Ivanov [Sun, 3 May 2020 11:10:26 +0000 (14:10 +0300)]
delete stray options of already removed profiles

3 years agonote create_db.sql reflects changes up to rev. 29
Damyan Ivanov [Sun, 3 May 2020 10:50:14 +0000 (10:50 +0000)]
note create_db.sql reflects changes up to rev. 29

3 years agodescribe changes
Damyan Ivanov [Sun, 3 May 2020 10:48:31 +0000 (10:48 +0000)]
describe changes

3 years agoTODO: transaction-level comments (displaying and entering)
Damyan Ivanov [Sun, 3 May 2020 10:22:26 +0000 (10:22 +0000)]
TODO: transaction-level comments (displaying and entering)

3 years agoshow comment field after screen rotation if it was previously focused
Damyan Ivanov [Sun, 3 May 2020 09:24:49 +0000 (12:24 +0300)]
show comment field after screen rotation if it was previously focused

3 years agowhitespace
Damyan Ivanov [Sun, 3 May 2020 09:11:08 +0000 (12:11 +0300)]
whitespace

3 years agoclean unneeded import
Damyan Ivanov [Sun, 3 May 2020 09:11:03 +0000 (12:11 +0300)]
clean unneeded import

3 years agoconvert two inner classes to static
Damyan Ivanov [Sun, 3 May 2020 09:10:41 +0000 (12:10 +0300)]
convert two inner classes to static

eases references etc

3 years agoprivate access when appropriate
Damyan Ivanov [Sun, 3 May 2020 09:10:14 +0000 (12:10 +0300)]
private access when appropriate

3 years agorework previous transaction retrieval with JOIN (much faster) and async SQL
Damyan Ivanov [Sun, 3 May 2020 09:07:11 +0000 (12:07 +0300)]
rework previous transaction retrieval with JOIN (much faster) and async SQL

also, empty ("") preferred account name is treated correctly

the async SQL really helps avoiding UI lock-ups

3 years agofu: async sql machinery
Damyan Ivanov [Sun, 3 May 2020 09:03:00 +0000 (12:03 +0300)]
fu: async sql machinery

3 years agoLogger: add warning methods
Damyan Ivanov [Sun, 3 May 2020 09:02:02 +0000 (12:02 +0300)]
Logger: add warning methods

3 years agoMLDB: machinery for asynchronous select queries
Damyan Ivanov [Sun, 3 May 2020 08:55:26 +0000 (11:55 +0300)]
MLDB: machinery for asynchronous select queries

similar to the option setting, but for any kind of statements and with
callbacks

3 years agofaster description pop-up
Damyan Ivanov [Sun, 3 May 2020 08:53:26 +0000 (11:53 +0300)]
faster description pop-up

replace surrogate pop-up cursor with a suitable "live" SQLite cursor

the problem with the surrogate is that it loads all matches and /then/
hands off control to the UI

the live cursor is populated incrementally and is very fast

3 years agoadd an index on transactions(description)
Damyan Ivanov [Sun, 3 May 2020 08:12:58 +0000 (11:12 +0300)]
add an index on transactions(description)

to help finding the right previous transaction faster

3 years agoadd progress while retrieving previous transaction
Damyan Ivanov [Sun, 3 May 2020 08:12:09 +0000 (11:12 +0300)]
add progress while retrieving previous transaction

the search for the right transaction may take some time

3 years agoupgrade gradle to 3.6.3
Damyan Ivanov [Sun, 3 May 2020 07:16:14 +0000 (10:16 +0300)]
upgrade gradle to 3.6.3

3 years agoNT: hide the simulation watermark by default
Damyan Ivanov [Fri, 1 May 2020 15:49:22 +0000 (18:49 +0300)]
NT: hide the simulation watermark by default

3 years agorework comments: add clear icon, italics, visible when populated, grayed-out when...
Damyan Ivanov [Fri, 1 May 2020 14:50:47 +0000 (17:50 +0300)]
rework comments: add clear icon, italics, visible when populated, grayed-out when not focused

3 years agovariant of isEmptyOrNull for CharSequence
Damyan Ivanov [Fri, 1 May 2020 14:48:56 +0000 (17:48 +0300)]
variant of isEmptyOrNull for CharSequence

3 years agoNew helper class adding a "clear" (×) button at the end of an EditText
Damyan Ivanov [Fri, 1 May 2020 14:46:17 +0000 (17:46 +0300)]
New helper class adding a "clear" (×) button at the end of an EditText

3 years agolambdaisation
Damyan Ivanov [Sat, 25 Apr 2020 20:05:09 +0000 (23:05 +0300)]
lambdaisation

3 years agodrop unneeded object-level field
Damyan Ivanov [Sat, 25 Apr 2020 20:04:56 +0000 (23:04 +0300)]
drop unneeded object-level field

used only in the constructor where the local variable is enough

3 years agoNT: better alignment anchoring when hiding comment
Damyan Ivanov [Sat, 25 Apr 2020 20:02:00 +0000 (23:02 +0300)]
NT: better alignment anchoring when hiding comment

3 years ago@NotNull annotation
Damyan Ivanov [Sat, 25 Apr 2020 19:57:46 +0000 (22:57 +0300)]
@NotNull annotation

may help something somewhere

3 years agoNT: explicitly set the comment when loading a previous transaction
Damyan Ivanov [Sat, 25 Apr 2020 19:39:04 +0000 (22:39 +0300)]
NT: explicitly set the comment when loading a previous transaction

without this the comment is still there, but the UI is not displaying
the "comment active" icon

3 years agowhitespace
Damyan Ivanov [Sat, 25 Apr 2020 19:29:08 +0000 (22:29 +0300)]
whitespace

3 years agowhen a preferred account name filter yields no results, ignore it
Damyan Ivanov [Sat, 25 Apr 2020 19:29:00 +0000 (22:29 +0300)]
when a preferred account name filter yields no results, ignore it

so that there is some historical transaction used as a template even
when there is none that includes an account matching the preferred
filter

3 years agomove profile editor data in a model class so that it survives reconfiguration
Damyan Ivanov [Mon, 20 Apr 2020 18:49:20 +0000 (21:49 +0300)]
move profile editor data in a model class so that it survives reconfiguration

without this, rotating the device resets the fragment to its initial
state (original profile values or default values)

3 years agonew transaction: hook the currency selection to the item so that it still works after...
Damyan Ivanov [Mon, 20 Apr 2020 18:45:16 +0000 (21:45 +0300)]
new transaction: hook the currency selection to the item so that it still works after a reconfiguration

3 years agoCurrencySelector: move selection listener to the model so that it survives reconficur...
Damyan Ivanov [Mon, 20 Apr 2020 18:43:47 +0000 (21:43 +0300)]
CurrencySelector: move selection listener to the model so that it survives reconficuration

3 years agoutility routines for comparing strings with another string/CharSeqence, treating...
Damyan Ivanov [Mon, 20 Apr 2020 18:36:24 +0000 (21:36 +0300)]
utility routines for comparing strings with another string/CharSeqence, treating null values as empty strings

4 years agomove high-level login out of the new transaction model to the adapter
Damyan Ivanov [Sat, 18 Apr 2020 12:50:04 +0000 (15:50 +0300)]
move high-level login out of the new transaction model to the adapter

4 years agofix storing profile params to DB after adding default currency column
Damyan Ivanov [Sat, 18 Apr 2020 10:42:49 +0000 (13:42 +0300)]
fix storing profile params to DB after adding default currency column

4 years agoexplicit parseInt
Damyan Ivanov [Fri, 17 Apr 2020 19:22:17 +0000 (22:22 +0300)]
explicit parseInt

4 years agoavoid overlapping observations
Damyan Ivanov [Fri, 17 Apr 2020 19:21:56 +0000 (22:21 +0300)]
avoid overlapping observations

4 years agoUI for setting default profile comodity
Damyan Ivanov [Fri, 17 Apr 2020 19:17:41 +0000 (22:17 +0300)]
UI for setting default profile comodity

4 years agomake the position/padding currency parameters optional
Damyan Ivanov [Fri, 17 Apr 2020 19:11:21 +0000 (22:11 +0300)]
make the position/padding currency parameters optional

4 years agowhitespace
Damyan Ivanov [Fri, 17 Apr 2020 19:03:46 +0000 (22:03 +0300)]
whitespace

4 years agoadd profile setting for default currency (db part)
Damyan Ivanov [Fri, 17 Apr 2020 18:53:09 +0000 (21:53 +0300)]
add profile setting for default currency (db part)

4 years agoprofile-level setting for showing commodify in new transaction screen by default
Damyan Ivanov [Sat, 11 Apr 2020 14:22:29 +0000 (17:22 +0300)]
profile-level setting for showing commodify in new transaction screen by default

4 years agosupport multiple currencies in new transaction activity
Damyan Ivanov [Sun, 5 Apr 2020 20:36:50 +0000 (23:36 +0300)]
support multiple currencies in new transaction activity

with mandatory empty rows for easy entering and ensuring transaction balance

this doesn't allow hidden commodity conversion, explicit one should be
used, possibly with dedicated FX accounts

4 years agoprofile methods for loading currency by name
Damyan Ivanov [Sun, 5 Apr 2020 20:33:19 +0000 (23:33 +0300)]
profile methods for loading currency by name

4 years agotreat null currency as "" when storing transaction accounts
Damyan Ivanov [Sun, 5 Apr 2020 20:32:50 +0000 (23:32 +0300)]
treat null currency as "" when storing transaction accounts

the db field is declared as not null

4 years agouse locale-aware String.format
Damyan Ivanov [Sun, 5 Apr 2020 20:31:50 +0000 (23:31 +0300)]
use locale-aware String.format

4 years agotreat "" currency as null
Damyan Ivanov [Sun, 5 Apr 2020 20:31:29 +0000 (23:31 +0300)]
treat "" currency as null

4 years agotypo in exception message
Damyan Ivanov [Sun, 5 Apr 2020 20:30:46 +0000 (23:30 +0300)]
typo in exception message

4 years agohelper methids for comparing currency objects and strings
Damyan Ivanov [Sun, 5 Apr 2020 20:30:27 +0000 (23:30 +0300)]
helper methids for comparing currency objects and strings

4 years agohelper method for loading a currency by name
Damyan Ivanov [Sun, 5 Apr 2020 20:30:07 +0000 (23:30 +0300)]
helper method for loading a currency by name

4 years agohelper routines for treating "" as null and vice versa
Damyan Ivanov [Sun, 5 Apr 2020 20:29:26 +0000 (23:29 +0300)]
helper routines for treating "" as null and vice versa

4 years agoupgrade gradle to 3.6.2
Damyan Ivanov [Sun, 5 Apr 2020 20:28:55 +0000 (23:28 +0300)]
upgrade gradle to 3.6.2

4 years agoNT: new rules for determining whether transaction can be submitted (not quite finished)
Damyan Ivanov [Sun, 15 Mar 2020 05:52:48 +0000 (07:52 +0200)]
NT: new rules for determining whether transaction can be submitted (not quite finished)

4 years agoNT: show currency selection trigger only in a transaction row
Damyan Ivanov [Sun, 15 Mar 2020 05:51:04 +0000 (07:51 +0200)]
NT: show currency selection trigger only in a transaction row

not in the header/padding (these would throw on setCurrency(null) call)

4 years agoNT: correctly disable swiping of top and bottom entries, let all the rest be swiped
Damyan Ivanov [Sat, 14 Mar 2020 19:25:30 +0000 (21:25 +0200)]
NT: correctly disable swiping of top and bottom entries, let all the rest be swiped

top is the entry with the date/description; bottom is the padding

all the rest can be swiped and the call to checkTransactionSubmittable()
will make sure that there are at least two account rows present

4 years agowhitespace
Damyan Ivanov [Sat, 14 Mar 2020 16:45:23 +0000 (18:45 +0200)]
whitespace

4 years agofu: Date → Calendar
Damyan Ivanov [Sat, 14 Mar 2020 16:45:16 +0000 (18:45 +0200)]
fu: Date → Calendar

4 years agoNT: survive swiping away an account when only two accounts are present
Damyan Ivanov [Sat, 14 Mar 2020 16:45:00 +0000 (18:45 +0200)]
NT: survive swiping away an account when only two accounts are present

the old code ignored the swipe, but did not null it, so the UI was still
left with only one account

the new code accounts for the swipe as usual and lets
viewModel.checkTransactionSubmittable add the now missing account row

4 years agoomit use of deprecated Date.getYear() and Date.getMonth()
Damyan Ivanov [Sat, 14 Mar 2020 16:40:40 +0000 (18:40 +0200)]
omit use of deprecated Date.getYear() and Date.getMonth()