mobile-ledger.git
19 hours agodrop unused empty style master
Damyan Ivanov [Thu, 17 Sep 2020 08:21:03 +0000 (08:21 +0000)]
drop unused empty style

19 hours agobetter shadow under main header in dark mode
Damyan Ivanov [Thu, 17 Sep 2020 08:17:17 +0000 (08:17 +0000)]
better shadow under main header in dark mode

with greater height and darker at the top edge. still black

tried with white and it looks very unnatural and like a mistake

19 hours agotransaction list always starts with the date of the first transaction
Damyan Ivanov [Thu, 17 Sep 2020 07:54:08 +0000 (07:54 +0000)]
transaction list always starts with the date of the first transaction

this is a good idea because of the side effect it has when a new
transaction from today comes after a refresh -- you see it pop in under
the date row

without the date row (which is at the top of the scroll view when
pulling to refresh) the new appears outside of the visible scroll window
and one has to to see it -- it appears as if the refresh didn't do
anything later problem still stays when the first transaction is for a
past(1) and the newly coming ones are from a later (than (1)) date

a possible solution is to convert the "Last updated" header to a special
kind of transaction list item (there are three now - date line,
transaction box and bottom filler) that always sits on the top of the
list and all incoming transactions are inserted below it -- always pop
in nicely

19 hours agostore new currencies upon account amounts storage
Damyan Ivanov [Thu, 17 Sep 2020 07:37:28 +0000 (07:37 +0000)]
store new currencies upon account amounts storage

fixes a crash when a previous transaction is selected in the new
transaction screen that uses currencies not added via the currency
dialog

19 hours agofix storing/retrieval of currency position
Damyan Ivanov [Thu, 17 Sep 2020 07:25:04 +0000 (07:25 +0000)]
fix storing/retrieval of currency position

no need of trickery. standard enum has it all

19 hours agoreplace local utility functions with ones from TextUtils
Damyan Ivanov [Thu, 17 Sep 2020 07:13:37 +0000 (07:13 +0000)]
replace local utility functions with ones from TextUtils

19 hours agodrop done TODO: transaction level comment
Damyan Ivanov [Thu, 17 Sep 2020 07:06:14 +0000 (07:06 +0000)]
drop done TODO: transaction level comment

implemented in v0.14.0

19 hours agoupdate CHANGES.md
Damyan Ivanov [Thu, 17 Sep 2020 07:05:00 +0000 (07:05 +0000)]
update CHANGES.md

19 hours agofix transaction_accounts in create_db.sql
Damyan Ivanov [Thu, 17 Sep 2020 07:02:00 +0000 (07:02 +0000)]
fix transaction_accounts in create_db.sql

columns can't come after constraints, it seems

41 hours agofix spurious fetch of remote data
Damyan Ivanov [Wed, 16 Sep 2020 15:13:47 +0000 (18:13 +0300)]
fix spurious fetch of remote data

the lastUpdate observer was triggered once before the value is set
so move the decision whether to fetch out of the observer

41 hours agofix many lint errors/warnings
Damyan Ivanov [Wed, 16 Sep 2020 15:03:10 +0000 (18:03 +0300)]
fix many lint errors/warnings

43 hours agodisable some annoying debug
Damyan Ivanov [Wed, 16 Sep 2020 13:31:12 +0000 (16:31 +0300)]
disable some annoying debug

43 hours agomajor rework of parsed transaction/descriptions/accounts storage
Damyan Ivanov [Wed, 16 Sep 2020 13:30:50 +0000 (16:30 +0300)]
major rework of parsed transaction/descriptions/accounts storage

new approach avoids mass deletion followed by mass inserts and allows
activation of foreign key constraints in SQLite

the list of accounts and transactions are managed by an
asynchronous differ

members of Data that are relevant only to the MainActivity and its
fragments are moved to a new MainModel ViewModel class

11 days agobump gradle version to 4.0.1
Damyan Ivanov [Sun, 6 Sep 2020 08:51:10 +0000 (08:51 +0000)]
bump gradle version to 4.0.1

11 days agostatic Logger reference
Damyan Ivanov [Sun, 6 Sep 2020 08:50:54 +0000 (08:50 +0000)]
static Logger reference

11 days agoaddress nullability warning
Damyan Ivanov [Sun, 6 Sep 2020 08:50:29 +0000 (08:50 +0000)]
address nullability warning

11 days agospeed up parsed transaction/accounts storage
Damyan Ivanov [Sun, 6 Sep 2020 08:47:41 +0000 (11:47 +0300)]
speed up parsed transaction/accounts storage

new approach avoids mass deletion followed by mass inserts

2 weeks agofixup: progress
Damyan Ivanov [Fri, 28 Aug 2020 16:50:47 +0000 (19:50 +0300)]
fixup: progress

3 weeks agowhitespace
Damyan Ivanov [Wed, 26 Aug 2020 20:07:01 +0000 (23:07 +0300)]
whitespace

3 weeks agoproper transaction parsing progress
Damyan Ivanov [Wed, 26 Aug 2020 20:05:35 +0000 (23:05 +0300)]
proper transaction parsing progress

accounts data has the number of postings which can be used to determine
the remaining work

3 weeks agorework transaction retrieval without MainActivity reference
Damyan Ivanov [Wed, 26 Aug 2020 20:03:05 +0000 (20:03 +0000)]
rework transaction retrieval without MainActivity reference

use a public LiveData to which interested parties can subscribe

4 weeks agocollapse empty xml tag
Damyan Ivanov [Mon, 17 Aug 2020 16:42:22 +0000 (19:42 +0300)]
collapse empty xml tag

4 weeks agodeclare theme for the splash and main activities
Damyan Ivanov [Mon, 17 Aug 2020 16:42:08 +0000 (19:42 +0300)]
declare theme for the splash and main activities

seems to help reduce flicker upon startup

4 weeks agoput default colour in the base theme
Damyan Ivanov [Mon, 17 Aug 2020 16:39:37 +0000 (19:39 +0300)]
put default colour in the base theme

this duplicates the .default theme, but is useful in the graphical editors

perhaps can me useful to spot unexpected changed in the default theme too

4 weeks agouse DayNight theme overlay for the profile details toolbar
Damyan Ivanov [Mon, 17 Aug 2020 16:37:05 +0000 (19:37 +0300)]
use DayNight theme overlay for the profile details toolbar

4 weeks agotheme color tint for the delete icon
Damyan Ivanov [Mon, 17 Aug 2020 16:35:17 +0000 (19:35 +0300)]
theme color tint for the delete icon

4 weeks agowhitespace
Damyan Ivanov [Mon, 17 Aug 2020 16:30:34 +0000 (19:30 +0300)]
whitespace

4 weeks agorename mergeAccountLists method to better reflect its purpose
Damyan Ivanov [Sun, 16 Aug 2020 13:59:08 +0000 (16:59 +0300)]
rename mergeAccountLists method to better reflect its purpose

it is important to note that the data comes from hledger-web and not
as a result to some UI-induced change

4 weeks agofix merging of account lists so that changes are detected
Damyan Ivanov [Sun, 16 Aug 2020 13:56:30 +0000 (16:56 +0300)]
fix merging of account lists so that changes are detected

the old code modified objects in-place, changing the existing object,
which avoids (wrongly) propagation of the change to the UI

the new code ensures a new object is used in that case (the one from
newList) which guarantees that the change will be caught by the list
differ

this fixes a problem with amounts not being updated after a refresh from
the hledger-web backend

4 weeks agodrop unneeded profile parameter
Damyan Ivanov [Sun, 16 Aug 2020 13:53:21 +0000 (16:53 +0300)]
drop unneeded profile parameter

4 weeks agoavoid warning about dangerous unboxing by handling (im)possible null value
Damyan Ivanov [Sun, 16 Aug 2020 13:08:15 +0000 (16:08 +0300)]
avoid warning about dangerous unboxing by handling (im)possible null value

4 weeks agomove locale live-data initialization to a static initialization block
Damyan Ivanov [Sun, 16 Aug 2020 12:59:57 +0000 (15:59 +0300)]
move locale live-data initialization to a static initialization block

avoids a warning about assigning locale to a final variable. the warning is misleading, because the locale is assigned to a final mutable live data object, not to a final variable

4 weeks agowhitespace
Damyan Ivanov [Sun, 16 Aug 2020 12:54:07 +0000 (15:54 +0300)]
whitespace

4 weeks agonew transaction: fix saving progress in/out navigation
Damyan Ivanov [Sun, 16 Aug 2020 12:50:14 +0000 (15:50 +0300)]
new transaction: fix saving progress in/out navigation

somewhat broken after following the recommendations about thefragment container.

the navigation was saved so after saving 'Back' returned to the 'saving progress' fragment instead of closing the activity

4 weeks agomore string translations
Damyan Ivanov [Sat, 15 Aug 2020 12:47:09 +0000 (12:47 +0000)]
more string translations

4 weeks agodrop unused string resource
Damyan Ivanov [Sat, 15 Aug 2020 12:46:57 +0000 (12:46 +0000)]
drop unused string resource

4 weeks agoadd splash icon description
Damyan Ivanov [Sat, 15 Aug 2020 12:46:42 +0000 (12:46 +0000)]
add splash icon description

4 weeks agounused event handler declaration
Damyan Ivanov [Sat, 15 Aug 2020 12:45:45 +0000 (12:45 +0000)]
unused event handler declaration

this is hooked in code

4 weeks agowhitespace
Damyan Ivanov [Sat, 15 Aug 2020 12:45:10 +0000 (15:45 +0300)]
whitespace

4 weeks agoreplace <fragment> with FragmentContainerView as recommended
Damyan Ivanov [Sat, 15 Aug 2020 12:44:52 +0000 (15:44 +0300)]
replace <fragment> with FragmentContainerView as recommended

supposedly more flexible about fragment transactions

4 weeks agouse recommended '0.xx' instead of '.xx' in one vector icon
Damyan Ivanov [Sat, 15 Aug 2020 12:41:07 +0000 (15:41 +0300)]
use recommended '0.xx' instead of '.xx' in one vector icon

the new form uses more bytes, but is supposedly compatible with more implementations

4 weeks agoforgotten import
Damyan Ivanov [Sat, 15 Aug 2020 12:12:29 +0000 (15:12 +0300)]
forgotten import

4 weeks agoproper constant declaration
Damyan Ivanov [Sat, 15 Aug 2020 12:12:17 +0000 (15:12 +0300)]
proper constant declaration

4 weeks agoData.transactions can't be bull here
Damyan Ivanov [Sat, 15 Aug 2020 12:09:22 +0000 (12:09 +0000)]
Data.transactions can't be bull here

4 weeks agofix linter warning about calling LayoutInflater.inflate with root=null
Damyan Ivanov [Sat, 15 Aug 2020 12:08:27 +0000 (12:08 +0000)]
fix linter warning about calling LayoutInflater.inflate with root=null

4 weeks agodeclare several inner classes as static
Damyan Ivanov [Sat, 15 Aug 2020 12:06:33 +0000 (12:06 +0000)]
declare several inner classes as static

otherwise they keep references to their parent class

4 weeks agodrop unused/unneeded variables
Damyan Ivanov [Sat, 15 Aug 2020 12:05:37 +0000 (12:05 +0000)]
drop unused/unneeded variables

4 weeks agoHueRing: override/call performClick()
Damyan Ivanov [Sat, 15 Aug 2020 12:04:50 +0000 (12:04 +0000)]
HueRing: override/call performClick()

linter insists this would help accessibility

4 weeks agoHueRing: single 'center' value
Damyan Ivanov [Sat, 15 Aug 2020 12:04:18 +0000 (12:04 +0000)]
HueRing: single 'center' value

it is relative to widget origin so no separate value is needed for
horizontal and vertical center

4 weeks agoCurrencySelectorModel: proper initialization of currencies list
Damyan Ivanov [Sat, 15 Aug 2020 12:02:32 +0000 (12:02 +0000)]
CurrencySelectorModel: proper initialization of currencies list

4 weeks agotransaction.getDate() never returns null
Damyan Ivanov [Sat, 15 Aug 2020 12:01:19 +0000 (12:01 +0000)]
transaction.getDate() never returns null

4 weeks agonew currency ID: without (not working) dance around duplicate IDs
Damyan Ivanov [Sat, 15 Aug 2020 12:00:37 +0000 (12:00 +0000)]
new currency ID: without (not working) dance around duplicate IDs

4 weeks agofixed-locale String.format
Damyan Ivanov [Sat, 15 Aug 2020 11:59:25 +0000 (11:59 +0000)]
fixed-locale String.format

these are debugging statements, but still

4 weeks agorework background progress to use MutableLiveData and observers
Damyan Ivanov [Sat, 15 Aug 2020 11:57:51 +0000 (11:57 +0000)]
rework background progress to use MutableLiveData and observers

4 weeks agowhitespace
Damyan Ivanov [Sat, 15 Aug 2020 10:08:00 +0000 (10:08 +0000)]
whitespace

4 weeks agofix a bunch of spelling mistakes all around
Damyan Ivanov [Sat, 15 Aug 2020 09:57:52 +0000 (09:57 +0000)]
fix a bunch of spelling mistakes all around

4 weeks agoData: migrate profile to a private variable, provide methods for accessing it
Damyan Ivanov [Sat, 15 Aug 2020 09:46:40 +0000 (09:46 +0000)]
Data: migrate profile to a private variable, provide methods for accessing it

4 weeks agorename 'iter' variable to 'iterator'
Damyan Ivanov [Sat, 15 Aug 2020 09:26:21 +0000 (09:26 +0000)]
rename 'iter' variable to 'iterator'

4 weeks agonew transaction: hide FAB on submit
Damyan Ivanov [Sat, 15 Aug 2020 09:07:19 +0000 (12:07 +0300)]
new transaction: hide FAB on submit

disabling changes the icon colour which is strange

6 weeks agorework account list management to be fully asynchronous
Damyan Ivanov [Sat, 1 Aug 2020 13:27:03 +0000 (16:27 +0300)]
rework account list management to be fully asynchronous

displayed list is mostly static, updates are made to new lists, which are diff-updated (in a thread)

the tricky part is handling updates from the web (in a thread) and from the UI (expansion/collapsing of sub-trees)

6 weeks agoAccountListParser: include version in debug output
Damyan Ivanov [Sat, 1 Aug 2020 13:16:24 +0000 (16:16 +0300)]
AccountListParser: include version in debug output

6 weeks agodebug: print SQL params in DbOpRunner
Damyan Ivanov [Sat, 1 Aug 2020 13:15:25 +0000 (16:15 +0300)]
debug: print SQL params in DbOpRunner

6 weeks agoimplement AutoCloseable in Locker
Damyan Ivanov [Sat, 1 Aug 2020 12:59:18 +0000 (12:59 +0000)]
implement AutoCloseable in Locker

6 weeks agodo not force refreshing spinner during transaction description refresh
Damyan Ivanov [Sat, 1 Aug 2020 12:58:31 +0000 (15:58 +0300)]
do not force refreshing spinner during transaction description refresh

it appears as if the general refresh runs twice and transaction description runs in non-exclusive
transaction and doesn't interfere with e.g. new transaction entry (where there is a lookup for
transaction descriptions)

8 weeks agoreplace hollow switch with a simple if
Damyan Ivanov [Tue, 21 Jul 2020 09:59:41 +0000 (12:59 +0300)]
replace hollow switch with a simple if

8 weeks agodrop remnants of "starring" accounts
Damyan Ivanov [Mon, 20 Jul 2020 07:59:53 +0000 (07:59 +0000)]
drop remnants of "starring" accounts

2 months agomove setting case_sensitive_like=ON to helper.onOpen
Damyan Ivanov [Sun, 19 Jul 2020 09:04:10 +0000 (12:04 +0300)]
move setting case_sensitive_like=ON to helper.onOpen

executes the query once per app start (db open) instead on each connection request

2 months agofix argument annotation
Damyan Ivanov [Sun, 19 Jul 2020 08:43:27 +0000 (11:43 +0300)]
fix argument annotation

2 months agoaccessibility: describe account expander arrow image
Damyan Ivanov [Sun, 19 Jul 2020 08:35:32 +0000 (11:35 +0300)]
accessibility: describe account expander arrow image

2 months agoa but narrower account expander
Damyan Ivanov [Thu, 16 Jul 2020 19:46:18 +0000 (22:46 +0300)]
a but narrower account expander

making it three-lines wide uses too much precious horizontal space

2 months agowhitespace
Damyan Ivanov [Thu, 16 Jul 2020 15:42:15 +0000 (18:42 +0300)]
whitespace

2 months agoinclude amounts when comparing two account list items
Damyan Ivanov [Thu, 16 Jul 2020 15:42:06 +0000 (18:42 +0300)]
include amounts when comparing two account list items

2 months agouse requireContext instead of Objects.requireNonNull
Damyan Ivanov [Thu, 16 Jul 2020 15:40:02 +0000 (15:40 +0000)]
use requireContext instead of Objects.requireNonNull

2 months agovisual enhancements of the account list
Damyan Ivanov [Thu, 16 Jul 2020 15:39:44 +0000 (15:39 +0000)]
visual enhancements of the account list

equal three-row height for default rows. expands when the amounts
are expanded, but the account name stays at the top

2 months agowhitespace
Damyan Ivanov [Thu, 16 Jul 2020 08:39:00 +0000 (08:39 +0000)]
whitespace

2 months agomore asynchronous account list (re-)loading
Damyan Ivanov [Thu, 16 Jul 2020 08:38:43 +0000 (08:38 +0000)]
more asynchronous account list (re-)loading

it was loaded from DB in a background thread already, but recycler view
now updates are also managed in a background thread

2 months agostore a weak reference to the profile in the account object
Damyan Ivanov [Thu, 16 Jul 2020 06:50:32 +0000 (06:50 +0000)]
store a weak reference to the profile in the account object

to be used for storing account data to the DB

2 months agodrop hard reference to the main activity
Damyan Ivanov [Thu, 16 Jul 2020 05:26:24 +0000 (08:26 +0300)]
drop hard reference to the main activity

2 months agoDbOp*: optional post-execute hook
Damyan Ivanov [Wed, 15 Jul 2020 20:38:47 +0000 (23:38 +0300)]
DbOp*: optional post-execute hook

2 months agoremove hard reference from MainAvtivity to AccountSummaryFragment
Damyan Ivanov [Fri, 10 Jul 2020 20:20:39 +0000 (23:20 +0300)]
remove hard reference from MainAvtivity to AccountSummaryFragment

not used

2 months agowhitespace
Damyan Ivanov [Fri, 10 Jul 2020 15:45:20 +0000 (18:45 +0300)]
whitespace

2 months agoprofile: copy constructor missed two fields
Damyan Ivanov [Fri, 10 Jul 2020 15:29:14 +0000 (18:29 +0300)]
profile: copy constructor missed two fields

2 months agorework colours using more colour theory
Damyan Ivanov [Fri, 10 Jul 2020 07:12:59 +0000 (10:12 +0300)]
rework colours using more colour theory

lightness is adjusted per colour to ensure enough contrast

drop colorAccent which is not used anymore

2 months agouse colorPrimary for the arrow color
Damyan Ivanov [Fri, 10 Jul 2020 07:09:18 +0000 (10:09 +0300)]
use colorPrimary for the arrow color

secondary is a vit darker and looks bad in night mode

2 months agomark a clickable arrow as focusable
Damyan Ivanov [Fri, 10 Jul 2020 07:08:41 +0000 (10:08 +0300)]
mark a clickable arrow as focusable

accessibility hint from Studio

2 months agowhitespace
Damyan Ivanov [Fri, 10 Jul 2020 06:46:32 +0000 (09:46 +0300)]
whitespace

2 months agoreplace colorAccent with colorSecondary
Damyan Ivanov [Fri, 10 Jul 2020 06:46:04 +0000 (09:46 +0300)]
replace colorAccent with colorSecondary

same color, another name

2 months agodrop unneeded ems setting in several layouts
Damyan Ivanov [Fri, 10 Jul 2020 06:41:20 +0000 (09:41 +0300)]
drop unneeded ems setting in several layouts

2 months agobetter color of the palette icon in the profile editor
Damyan Ivanov [Fri, 10 Jul 2020 06:07:12 +0000 (09:07 +0300)]
better color of the palette icon in the profile editor

2 months agounneeded tag attribute
Damyan Ivanov [Sun, 5 Jul 2020 20:25:05 +0000 (20:25 +0000)]
unneeded tag attribute

2 months agoexplicit secondary theme color
Damyan Ivanov [Sun, 5 Jul 2020 20:24:22 +0000 (20:24 +0000)]
explicit secondary theme color

2 months agoa bit darker 'table_row_dark_bg' in night mode
Damyan Ivanov [Sun, 5 Jul 2020 20:23:35 +0000 (20:23 +0000)]
a bit darker 'table_row_dark_bg' in night mode

2 months agofix FAB icon color in night mode
Damyan Ivanov [Sun, 5 Jul 2020 20:16:38 +0000 (20:16 +0000)]
fix FAB icon color in night mode

2 months agoremove 'Loading' layout from the main activity
Damyan Ivanov [Sun, 5 Jul 2020 20:15:37 +0000 (20:15 +0000)]
remove 'Loading' layout from the main activity

replaced by the splash activity

2 months agoadd splash on startup
Damyan Ivanov [Sun, 5 Jul 2020 16:40:57 +0000 (19:40 +0300)]
add splash on startup

use the small delay to prepare as much as possible

there's still a bit of a flicker, so this needs more work to make it smooth

2 months agodrop accounts.hidden and "hidden by star" handling
Damyan Ivanov [Sun, 5 Jul 2020 14:42:59 +0000 (17:42 +0300)]
drop accounts.hidden and "hidden by star" handling

long gone from the interface

2 months agoupgrade navigation library version
Damyan Ivanov [Sun, 5 Jul 2020 14:08:08 +0000 (17:08 +0300)]
upgrade navigation library version

2 months agolet "accent" (a.k.a. primary dark) colour be darker than the primary even in night...
Damyan Ivanov [Sun, 28 Jun 2020 20:23:53 +0000 (20:23 +0000)]
let "accent" (a.k.a. primary dark) colour be darker than the primary even in night mode

2 months agoprepare release of 0.14.1 (35) v0.14.1
Damyan Ivanov [Sun, 28 Jun 2020 19:29:48 +0000 (19:29 +0000)]
prepare release of 0.14.1 (35)

2 months agofix styling of "Last update: ..." text
Damyan Ivanov [Sun, 28 Jun 2020 16:54:48 +0000 (19:54 +0300)]
fix styling of "Last update: ..." text