]> git.ktnx.net Git - mobile-ledger.git/log
mobile-ledger.git
4 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

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

4 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

4 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

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

4 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

4 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

4 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

4 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

4 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

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

4 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

4 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

4 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

4 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

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

4 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)

4 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

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

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

4 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

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

4 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

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

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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

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

4 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

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

4 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

4 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

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

may help something somewhere

4 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

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

4 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

4 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)

4 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

4 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

4 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()

4 years agoenable viewBinding ("compile-time check for findViewById")
Damyan Ivanov [Sat, 14 Mar 2020 16:39:34 +0000 (18:39 +0200)]
enable viewBinding ("compile-time check for findViewById")

4 years agobump gradle version
Damyan Ivanov [Sat, 14 Mar 2020 16:36:49 +0000 (18:36 +0200)]
bump gradle version

4 years agoadd -Xlint:deprecation -Xlint:unchecked to compiler arguments
Damyan Ivanov [Sat, 14 Mar 2020 16:36:22 +0000 (18:36 +0200)]
add -Xlint:deprecation -Xlint:unchecked to compiler arguments

4 years agobump library versions
Damyan Ivanov [Sat, 14 Mar 2020 16:35:53 +0000 (18:35 +0200)]
bump library versions

4 years agotypo in resource name
Damyan Ivanov [Sat, 7 Mar 2020 14:48:42 +0000 (16:48 +0200)]
typo in resource name

4 years agoTypos in visible strings
Damyan Ivanov [Sat, 7 Mar 2020 14:48:33 +0000 (16:48 +0200)]
Typos in visible strings

4 years agonew transaction: hide currency/commodity selector by default; add menu item for showing
Damyan Ivanov [Sat, 7 Mar 2020 14:44:50 +0000 (16:44 +0200)]
new transaction: hide currency/commodity selector by default; add menu item for showing

4 years agowhitespace
Damyan Ivanov [Thu, 20 Feb 2020 18:00:35 +0000 (20:00 +0200)]
whitespace

4 years agouse opaque base text color
Damyan Ivanov [Thu, 20 Feb 2020 17:59:59 +0000 (19:59 +0200)]
use opaque base text color

the transparency needs to be manipulated in another place, which would
require mangling with alpha, which (the docs say) has performance
implications

the new color is what the old one would appear on a white background

4 years agoadd functional currency selector when entering new transactions
Damyan Ivanov [Thu, 20 Feb 2020 17:58:23 +0000 (19:58 +0200)]
add functional currency selector when entering new transactions

4 years agoindent comments in transaction list a bit
Damyan Ivanov [Thu, 20 Feb 2020 17:48:34 +0000 (19:48 +0200)]
indent comments in transaction list a bit

4 years agocommon class for version-independent functionality of ParsedPosting
Damyan Ivanov [Thu, 20 Feb 2020 17:45:05 +0000 (19:45 +0200)]
common class for version-independent functionality of ParsedPosting

4 years agotrack locale changes in new transaction entry activity
Damyan Ivanov [Thu, 20 Feb 2020 17:43:32 +0000 (19:43 +0200)]
track locale changes in new transaction entry activity

4 years agodetect and store whether currency is right next to the value or there is a gap
Damyan Ivanov [Thu, 20 Feb 2020 17:37:45 +0000 (19:37 +0200)]
detect and store whether currency is right next to the value or there is a gap

4 years agoadd currency symbol to debug output
Damyan Ivanov [Thu, 20 Feb 2020 17:34:01 +0000 (19:34 +0200)]
add currency symbol to debug output

4 years agoadd two more limit options for the future date entry limit - one and two weeks
Damyan Ivanov [Thu, 20 Feb 2020 16:05:54 +0000 (18:05 +0200)]
add two more limit options for the future date entry limit - one and two weeks

4 years agofix limitting of future dates entry to measure from today, not from the currently...
Damyan Ivanov [Thu, 20 Feb 2020 16:01:26 +0000 (18:01 +0200)]
fix limitting of future dates entry to measure from today, not from the currently selected date

4 years agomore heuristics when filling accounts from a previous transaction
Damyan Ivanov [Sat, 25 Jan 2020 14:07:42 +0000 (16:07 +0200)]
more heuristics when filling accounts from a previous transaction

previously, when there was a single account with negative amount, that
amount was cleared from the row so that it is filled automatically when
the amounts of other accounts change

now this is also done for the single account with a positive amount if
there is one, and there are multiple accounts with negative amounts

4 years agoa single positive amount (with multiple negative amounts) is omitted
Damyan Ivanov [Sat, 25 Jan 2020 13:09:56 +0000 (15:09 +0200)]
a single positive amount (with multiple negative amounts) is omitted

4 years agowhitespace, imports
Damyan Ivanov [Sat, 25 Jan 2020 12:59:11 +0000 (14:59 +0200)]
whitespace, imports

4 years agoprofile editor: offer a suitable color for new profiles
Damyan Ivanov [Sat, 25 Jan 2020 12:55:46 +0000 (14:55 +0200)]
profile editor: offer a suitable color for new profiles

suitable is defined as the color standing most away of all other profiles'
colors

4 years agolimit the number of launcher shortcuts to the maximum supported
Damyan Ivanov [Sat, 25 Jan 2020 12:46:29 +0000 (14:46 +0200)]
limit the number of launcher shortcuts to the maximum supported

instead of crashing attempting th breach the limit

4 years agothemeId -> themeHue
Damyan Ivanov [Sat, 25 Jan 2020 07:25:22 +0000 (09:25 +0200)]
themeId -> themeHue

4 years agoinclude posting comment in transaction hash
Damyan Ivanov [Thu, 23 Jan 2020 19:47:36 +0000 (21:47 +0200)]
include posting comment in transaction hash

so that changes in comment at the source reaches the DB

4 years agotranslate account comment hint
Damyan Ivanov [Thu, 23 Jan 2020 19:06:10 +0000 (21:06 +0200)]
translate account comment hint

4 years agoslight improvement in allowing "-" only at the eginning of the amount
Damyan Ivanov [Thu, 23 Jan 2020 19:04:17 +0000 (21:04 +0200)]
slight improvement in allowing "-" only at the eginning of the amount

4 years agofix appending account entry in transaction list
Damyan Ivanov [Thu, 9 Jan 2020 21:23:03 +0000 (23:23 +0200)]
fix appending account entry in transaction list

4 years agowhitespace
Damyan Ivanov [Thu, 9 Jan 2020 21:19:58 +0000 (23:19 +0200)]
whitespace

4 years agomachinery for tracking currency format (e.g. locale) changes
Damyan Ivanov [Thu, 9 Jan 2020 21:10:04 +0000 (23:10 +0200)]
machinery for tracking currency format (e.g. locale) changes