]>
git.ktnx.net Git - mobile-ledger.git/log
Damyan Ivanov [Fri, 15 May 2020 06:43:53 +0000 (06:43 +0000)]
use rsvg-convert (librsvg2) instead of convert (imagemagick) to create launcher icon PNGs from the source SVG
convert started to fail with
convert-im6.q16: non-conforming drawing primitive definition `letter-spacing' @ error/draw.c/RenderMVGContent/4300
Damyan Ivanov [Fri, 15 May 2020 06:15:50 +0000 (06:15 +0000)]
move app_icon.png images from drawable-* to mipmap-*
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
Damyan Ivanov [Thu, 14 May 2020 21:07:25 +0000 (21:07 +0000)]
prepare release of 0.13.1 (33)
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
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
Damyan Ivanov [Thu, 14 May 2020 20:42:01 +0000 (23:42 +0300)]
stop
Damyan Ivanov [Thu, 14 May 2020 18:22:53 +0000 (18:22 +0000)]
prepare release
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
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
Damyan Ivanov [Thu, 14 May 2020 10:30:25 +0000 (13:30 +0300)]
style for error texts
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
Damyan Ivanov [Thu, 14 May 2020 07:40:34 +0000 (10:40 +0300)]
drop unused parent activity declarations from manifest
Damyan Ivanov [Wed, 13 May 2020 20:31:03 +0000 (23:31 +0300)]
drop unused activity declaration from manifest
Damyan Ivanov [Wed, 13 May 2020 20:28:03 +0000 (23:28 +0300)]
translation
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
Damyan Ivanov [Wed, 13 May 2020 19:13:04 +0000 (22:13 +0300)]
profile details: add switch for showing comments by default
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
Damyan Ivanov [Wed, 13 May 2020 18:42:47 +0000 (21:42 +0300)]
whitespace
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)
Damyan Ivanov [Wed, 13 May 2020 18:39:36 +0000 (21:39 +0300)]
handle transaction comment UI changes
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
Damyan Ivanov [Wed, 13 May 2020 18:32:03 +0000 (21:32 +0300)]
themed color for disabled text
Damyan Ivanov [Wed, 13 May 2020 18:27:54 +0000 (21:27 +0300)]
add transaction comment to the internal transaction representation
Damyan Ivanov [Sun, 10 May 2020 18:49:09 +0000 (18:49 +0000)]
rearrangement
Damyan Ivanov [Sun, 10 May 2020 18:47:31 +0000 (18:47 +0000)]
transaction-level comments in new transaction UI, optional
Damyan Ivanov [Sun, 10 May 2020 12:31:19 +0000 (15:31 +0300)]
move previous transaction lookup progress bar to the fragment
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
Damyan Ivanov [Wed, 6 May 2020 18:19:13 +0000 (18:19 +0000)]
HTML transaction parser: handle posting status flags
instead of crashing
Damyan Ivanov [Wed, 6 May 2020 09:24:27 +0000 (09:24 +0000)]
update open drawer screenshot
Damyan Ivanov [Wed, 6 May 2020 09:18:57 +0000 (09:18 +0000)]
add change logs for release 31
Damyan Ivanov [Wed, 6 May 2020 08:28:27 +0000 (08:28 +0000)]
Add currency/commodity support to full description
Damyan Ivanov [Wed, 6 May 2020 08:01:16 +0000 (08:01 +0000)]
update change log
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
Damyan Ivanov [Mon, 4 May 2020 20:03:20 +0000 (23:03 +0300)]
darker colour palette, matching theme (pre-generated) and run-time colours
Damyan Ivanov [Mon, 4 May 2020 18:35:43 +0000 (21:35 +0300)]
remove unused code
Damyan Ivanov [Sun, 3 May 2020 19:28:08 +0000 (22:28 +0300)]
add missing contentDescription to a couple of images
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
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
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
Damyan Ivanov [Sun, 3 May 2020 13:05:41 +0000 (16:05 +0300)]
ignore refresh request when there is no profile yet
Damyan Ivanov [Sun, 3 May 2020 12:56:38 +0000 (15:56 +0300)]
Toast → Snackbar
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
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
Damyan Ivanov [Sun, 3 May 2020 11:10:26 +0000 (14:10 +0300)]
delete stray options of already removed profiles
Damyan Ivanov [Sun, 3 May 2020 10:50:14 +0000 (10:50 +0000)]
note create_db.sql reflects changes up to rev. 29
Damyan Ivanov [Sun, 3 May 2020 10:48:31 +0000 (10:48 +0000)]
describe changes
Damyan Ivanov [Sun, 3 May 2020 10:22:26 +0000 (10:22 +0000)]
TODO: transaction-level comments (displaying and entering)
Damyan Ivanov [Sun, 3 May 2020 09:24:49 +0000 (12:24 +0300)]
show comment field after screen rotation if it was previously focused
Damyan Ivanov [Sun, 3 May 2020 09:11:08 +0000 (12:11 +0300)]
whitespace
Damyan Ivanov [Sun, 3 May 2020 09:11:03 +0000 (12:11 +0300)]
clean unneeded import
Damyan Ivanov [Sun, 3 May 2020 09:10:41 +0000 (12:10 +0300)]
convert two inner classes to static
eases references etc
Damyan Ivanov [Sun, 3 May 2020 09:10:14 +0000 (12:10 +0300)]
private access when appropriate
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
Damyan Ivanov [Sun, 3 May 2020 09:03:00 +0000 (12:03 +0300)]
fu: async sql machinery
Damyan Ivanov [Sun, 3 May 2020 09:02:02 +0000 (12:02 +0300)]
Logger: add warning methods
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
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
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
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
Damyan Ivanov [Sun, 3 May 2020 07:16:14 +0000 (10:16 +0300)]
upgrade gradle to 3.6.3
Damyan Ivanov [Fri, 1 May 2020 15:49:22 +0000 (18:49 +0300)]
NT: hide the simulation watermark by default
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
Damyan Ivanov [Fri, 1 May 2020 14:48:56 +0000 (17:48 +0300)]
variant of isEmptyOrNull for CharSequence
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
Damyan Ivanov [Sat, 25 Apr 2020 20:05:09 +0000 (23:05 +0300)]
lambdaisation
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
Damyan Ivanov [Sat, 25 Apr 2020 20:02:00 +0000 (23:02 +0300)]
NT: better alignment anchoring when hiding comment
Damyan Ivanov [Sat, 25 Apr 2020 19:57:46 +0000 (22:57 +0300)]
@NotNull annotation
may help something somewhere
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
Damyan Ivanov [Sat, 25 Apr 2020 19:29:08 +0000 (22:29 +0300)]
whitespace
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
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)
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
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
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
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
Damyan Ivanov [Sat, 18 Apr 2020 10:42:49 +0000 (13:42 +0300)]
fix storing profile params to DB after adding default currency column
Damyan Ivanov [Fri, 17 Apr 2020 19:22:17 +0000 (22:22 +0300)]
explicit parseInt
Damyan Ivanov [Fri, 17 Apr 2020 19:21:56 +0000 (22:21 +0300)]
avoid overlapping observations
Damyan Ivanov [Fri, 17 Apr 2020 19:17:41 +0000 (22:17 +0300)]
UI for setting default profile comodity
Damyan Ivanov [Fri, 17 Apr 2020 19:11:21 +0000 (22:11 +0300)]
make the position/padding currency parameters optional
Damyan Ivanov [Fri, 17 Apr 2020 19:03:46 +0000 (22:03 +0300)]
whitespace
Damyan Ivanov [Fri, 17 Apr 2020 18:53:09 +0000 (21:53 +0300)]
add profile setting for default currency (db part)
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
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
Damyan Ivanov [Sun, 5 Apr 2020 20:33:19 +0000 (23:33 +0300)]
profile methods for loading currency by name
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
Damyan Ivanov [Sun, 5 Apr 2020 20:31:50 +0000 (23:31 +0300)]
use locale-aware String.format
Damyan Ivanov [Sun, 5 Apr 2020 20:31:29 +0000 (23:31 +0300)]
treat "" currency as null
Damyan Ivanov [Sun, 5 Apr 2020 20:30:46 +0000 (23:30 +0300)]
typo in exception message
Damyan Ivanov [Sun, 5 Apr 2020 20:30:27 +0000 (23:30 +0300)]
helper methids for comparing currency objects and strings
Damyan Ivanov [Sun, 5 Apr 2020 20:30:07 +0000 (23:30 +0300)]
helper method for loading a currency by name
Damyan Ivanov [Sun, 5 Apr 2020 20:29:26 +0000 (23:29 +0300)]
helper routines for treating "" as null and vice versa
Damyan Ivanov [Sun, 5 Apr 2020 20:28:55 +0000 (23:28 +0300)]
upgrade gradle to 3.6.2
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)
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)
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
Damyan Ivanov [Sat, 14 Mar 2020 16:45:23 +0000 (18:45 +0200)]
whitespace
Damyan Ivanov [Sat, 14 Mar 2020 16:45:16 +0000 (18:45 +0200)]
fu: Date → Calendar