]>
git.ktnx.net Git - mobile-ledger.git/log
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
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
Damyan Ivanov [Sat, 14 Mar 2020 16:40:40 +0000 (18:40 +0200)]
omit use of deprecated Date.getYear() and Date.getMonth()
Damyan Ivanov [Sat, 14 Mar 2020 16:39:34 +0000 (18:39 +0200)]
enable viewBinding ("compile-time check for findViewById")
Damyan Ivanov [Sat, 14 Mar 2020 16:36:49 +0000 (18:36 +0200)]
bump gradle version
Damyan Ivanov [Sat, 14 Mar 2020 16:36:22 +0000 (18:36 +0200)]
add -Xlint:deprecation -Xlint:unchecked to compiler arguments
Damyan Ivanov [Sat, 14 Mar 2020 16:35:53 +0000 (18:35 +0200)]
bump library versions
Damyan Ivanov [Sat, 7 Mar 2020 14:48:42 +0000 (16:48 +0200)]
typo in resource name
Damyan Ivanov [Sat, 7 Mar 2020 14:48:33 +0000 (16:48 +0200)]
Typos in visible strings
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
Damyan Ivanov [Thu, 20 Feb 2020 18:00:35 +0000 (20:00 +0200)]
whitespace
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
Damyan Ivanov [Thu, 20 Feb 2020 17:58:23 +0000 (19:58 +0200)]
add functional currency selector when entering new transactions
Damyan Ivanov [Thu, 20 Feb 2020 17:48:34 +0000 (19:48 +0200)]
indent comments in transaction list a bit
Damyan Ivanov [Thu, 20 Feb 2020 17:45:05 +0000 (19:45 +0200)]
common class for version-independent functionality of ParsedPosting
Damyan Ivanov [Thu, 20 Feb 2020 17:43:32 +0000 (19:43 +0200)]
track locale changes in new transaction entry activity
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
Damyan Ivanov [Thu, 20 Feb 2020 17:34:01 +0000 (19:34 +0200)]
add currency symbol to debug output
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
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
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
Damyan Ivanov [Sat, 25 Jan 2020 13:09:56 +0000 (15:09 +0200)]
a single positive amount (with multiple negative amounts) is omitted
Damyan Ivanov [Sat, 25 Jan 2020 12:59:11 +0000 (14:59 +0200)]
whitespace, imports
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
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
Damyan Ivanov [Sat, 25 Jan 2020 07:25:22 +0000 (09:25 +0200)]
themeId -> themeHue
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