mobile-ledger.git
4 months agoprepare 0.10.1/27 release v0.10.1
Damyan Ivanov [Wed, 5 Jun 2019 18:46:25 +0000 (18:46 +0000)]
prepare 0.10.1/27 release

4 months agolegacy parser: do not crash with amounts like '1,234.56'
Damyan Ivanov [Wed, 5 Jun 2019 18:34:16 +0000 (21:34 +0300)]
legacy parser: do not crash with amounts like '1,234.56'

4 months agoadd MoLe version to the crash report
Damyan Ivanov [Wed, 5 Jun 2019 18:27:50 +0000 (21:27 +0300)]
add MoLe version to the crash report

4 months agobetter color for the new transaction save progress spinner
Damyan Ivanov [Sat, 1 Jun 2019 19:21:37 +0000 (22:21 +0300)]
better color for the new transaction save progress spinner

the button uses the accent color, so the progress should use the primary

4 months agowhitespace
Damyan Ivanov [Sat, 1 Jun 2019 16:49:36 +0000 (19:49 +0300)]
whitespace

4 months agoreplace in-activity copy of account name filter value with the global item in Data
Damyan Ivanov [Sat, 1 Jun 2019 16:49:31 +0000 (19:49 +0300)]
replace in-activity copy of account name filter value with the global item in Data

also solves filter disappearing when switching back to the app

4 months agogradle upgrade
Damyan Ivanov [Sat, 1 Jun 2019 16:48:09 +0000 (19:48 +0300)]
gradle upgrade

4 months ago"(debug)" → "(dev)"
Damyan Ivanov [Wed, 22 May 2019 19:00:59 +0000 (22:00 +0300)]
"(debug)" → "(dev)"

4 months agoNew transaction: use the accent color for the FAB (same as in main activity)
Damyan Ivanov [Wed, 22 May 2019 18:55:30 +0000 (21:55 +0300)]
New transaction: use the accent color for the FAB (same as in main activity)

4 months agomulti-color progress indicators
Damyan Ivanov [Sat, 18 May 2019 10:19:29 +0000 (13:19 +0300)]
multi-color progress indicators

4 months agoremote fragmentManager field
Damyan Ivanov [Sat, 18 May 2019 09:43:47 +0000 (12:43 +0300)]
remote fragmentManager field

4 months agodrop two fields, sparing their initialization in onCreate
Damyan Ivanov [Sat, 18 May 2019 09:42:03 +0000 (12:42 +0300)]
drop two fields, sparing their initialization in onCreate

the idea is to make onCreate as slim as possible

4 months agoshow New transaction button when the app is brought back to the foreground
Damyan Ivanov [Sat, 18 May 2019 09:30:19 +0000 (12:30 +0300)]
show New transaction button when the app is brought back to the foreground

4 months agobump version
Damyan Ivanov [Sat, 18 May 2019 09:29:15 +0000 (12:29 +0300)]
bump version

4 months agoprepare 0.10.0/26 release v0.10.0
Damyan Ivanov [Fri, 17 May 2019 20:49:14 +0000 (20:49 +0000)]
prepare 0.10.0/26 release

5 months agostore current page index on page change
Damyan Ivanov [Sun, 5 May 2019 19:57:37 +0000 (22:57 +0300)]
store current page index on page change

this was the missing piece to store the current page in the saved state
so that when the app is switched out and then back in the page is kept

5 months agomove account name filter to the transaction list fragment
Damyan Ivanov [Sun, 5 May 2019 19:56:13 +0000 (22:56 +0300)]
move account name filter to the transaction list fragment

it is not relevant to the account list and should not be visible there

5 months agomore information in the main activity start debug
Damyan Ivanov [Sun, 5 May 2019 18:57:48 +0000 (21:57 +0300)]
more information in the main activity start debug

5 months agowhitespace
Damyan Ivanov [Sun, 5 May 2019 18:57:25 +0000 (21:57 +0300)]
whitespace

5 months agofix hooking profile-specific auto-completion adapter
Damyan Ivanov [Sun, 5 May 2019 18:44:03 +0000 (21:44 +0300)]
fix hooking profile-specific auto-completion adapter

at this point the main profile may not have been loaded yet so don't give it
to the hooking routine, which would instead retrieve the profile when the
auto-completion is triggered, at which point Data.profile must be populated

the other user of these routines, the new transaction activity is also bound
to a profile (either the main one in Data.profile, or another -- if invoced
via app shortcut) so it may pass the profile as a parameter

5 months agodrop deprecated property
Damyan Ivanov [Sun, 5 May 2019 18:28:13 +0000 (21:28 +0300)]
drop deprecated property

5 months agoadd missiing accessibility hint
Damyan Ivanov [Sun, 5 May 2019 18:27:57 +0000 (21:27 +0300)]
add missiing accessibility hint

5 months agofix account filter popup colors, broken since last release
Damyan Ivanov [Sun, 5 May 2019 18:27:44 +0000 (21:27 +0300)]
fix account filter popup colors, broken since last release

5 months agodrop unused resource file
Damyan Ivanov [Sun, 5 May 2019 17:08:28 +0000 (20:08 +0300)]
drop unused resource file

5 months agonotify the profile list adapter when a profile is changed
Damyan Ivanov [Sun, 5 May 2019 15:22:49 +0000 (18:22 +0300)]
notify the profile list adapter when a profile is changed

was broken after migration of the profile list to LiveData

5 months agoProfilesRecyclerViewAdapter as a weak singleton
Damyan Ivanov [Sun, 5 May 2019 15:21:53 +0000 (18:21 +0300)]
ProfilesRecyclerViewAdapter as a weak singleton

will be needed by the ProfileDetailsFragment when a profile is saved to let
the adapter know of the change

5 months agoreplace assertions with good old if()
Damyan Ivanov [Sun, 5 May 2019 15:17:05 +0000 (18:17 +0300)]
replace assertions with good old if()

assertions aren't implemented in Android's Java?

5 months ago5-degree theme steps, for smooth color selection
Damyan Ivanov [Sun, 5 May 2019 14:55:26 +0000 (17:55 +0300)]
5-degree theme steps, for smooth color selection

also replaces the fixed switch on theme hue with heuristic for getting
resource theme ID from the hue

the three-digit number (%03d) in the resource theme id name is needed because
the build infrastructure orders the IDs by lexical order (0,10,15,100,150,200)
instead of numerical order (0,5,10,15). By zero-padding both orders are the same
(000,005,010,015)

5 months agouse a constant for the color wheel step size
Damyan Ivanov [Sun, 5 May 2019 14:07:12 +0000 (17:07 +0300)]
use a constant for the color wheel step size

5 months agopreserve indents to help minimise whitespace changes
Damyan Ivanov [Sun, 5 May 2019 14:05:20 +0000 (17:05 +0300)]
preserve indents to help minimise whitespace changes

5 months agodrop unused menu item
Damyan Ivanov [Sun, 5 May 2019 13:48:09 +0000 (16:48 +0300)]
drop unused menu item

5 months agofinish the profile editor activity when the profile is removed
Damyan Ivanov [Sun, 5 May 2019 13:42:55 +0000 (16:42 +0300)]
finish the profile editor activity when the profile is removed

it was done only when the current profile is removed

5 months agofix method signature
Damyan Ivanov [Sun, 5 May 2019 13:42:23 +0000 (16:42 +0300)]
fix method signature

5 months agowhitespace
Damyan Ivanov [Sun, 5 May 2019 13:28:50 +0000 (16:28 +0300)]
whitespace

5 months agodisable profile list animations while the drawer is closing/closed
Damyan Ivanov [Sun, 5 May 2019 13:28:29 +0000 (16:28 +0300)]
disable profile list animations while the drawer is closing/closed

5 months agomigrate editingProfiles to LiveData
Damyan Ivanov [Sun, 5 May 2019 13:25:31 +0000 (16:25 +0300)]
migrate editingProfiles to LiveData

5 months agodrop unused attribute
Damyan Ivanov [Sun, 5 May 2019 12:54:04 +0000 (15:54 +0300)]
drop unused attribute

5 months agoreorganization of profile list
Damyan Ivanov [Sun, 5 May 2019 12:53:47 +0000 (15:53 +0300)]
reorganization of profile list

always visible, gear icon too

add profile icon appears only when editing the profile list

the idea is that switching profiles is the main action to perform when the
drawer is open, so no need to hide it behind a collapsible list

adding a profile is still a second level action, hidden behind the gead icon

5 months agodebug messages on app start/termination
Damyan Ivanov [Sun, 5 May 2019 10:20:03 +0000 (13:20 +0300)]
debug messages on app start/termination

5 months agoupdate icon files
Damyan Ivanov [Sun, 5 May 2019 10:05:09 +0000 (13:05 +0300)]
update icon files

5 months agono transparency of the purple
Damyan Ivanov [Sun, 5 May 2019 09:31:48 +0000 (09:31 +0000)]
no transparency of the purple

can't be implemented for the around-the-dot border in a convenient way

cutting the book would work, but would also remove the ability to adjust it

5 months agothe icon color is #935ff2, same as the primary app color
Damyan Ivanov [Sun, 5 May 2019 07:42:46 +0000 (07:42 +0000)]
the icon color is #935ff2, same as the primary app color

5 months agothinner and smaller ±
Damyan Ivanov [Sun, 5 May 2019 07:36:25 +0000 (07:36 +0000)]
thinner and smaller ±

5 months agowork around border-fill order inability in android vector studio
Damyan Ivanov [Sun, 5 May 2019 07:24:48 +0000 (07:24 +0000)]
work around border-fill order inability in android vector studio

split the heavily-bordered cirvle to a white-filled circle
and a bigger purple circle under it

5 months agomore app_icon improvements
Damyan Ivanov [Sun, 5 May 2019 07:17:13 +0000 (07:17 +0000)]
more app_icon improvements

wave source at the book split point

thinner and page-centered ±

5 months agoLatest transactions → Transactions
Damyan Ivanov [Fri, 3 May 2019 18:09:21 +0000 (21:09 +0300)]
Latest transactions → Transactions

the full list is shown since a long time

5 months agowhitespace
Damyan Ivanov [Fri, 3 May 2019 18:08:47 +0000 (21:08 +0300)]
whitespace

5 months agoclear synthetic accounts list after propagating parsed amount
Damyan Ivanov [Fri, 3 May 2019 17:20:15 +0000 (20:20 +0300)]
clear synthetic accounts list after propagating parsed amount

this fixes a bug where a synthetic accounts tree gets the amounts of
the following real account

5 months agofix text color for the account name filter
Damyan Ivanov [Fri, 3 May 2019 16:24:52 +0000 (19:24 +0300)]
fix text color for the account name filter

broken after the fix for the view style

5 months agowhitespace
Damyan Ivanov [Fri, 3 May 2019 16:09:22 +0000 (19:09 +0300)]
whitespace

5 months agosetCurrentProfile: no crash if given a null argument
Damyan Ivanov [Fri, 3 May 2019 16:09:10 +0000 (19:09 +0300)]
setCurrentProfile: no crash if given a null argument

5 months agoignore request to update the last update date when there is no current profile
Damyan Ivanov [Fri, 3 May 2019 16:08:57 +0000 (19:08 +0300)]
ignore request to update the last update date when there is no current profile

5 months agoprofile should not be null when requesting transaction retrieval
Damyan Ivanov [Fri, 3 May 2019 16:07:36 +0000 (19:07 +0300)]
profile should not be null when requesting transaction retrieval

5 months agolet the loading screen use the default background color
Damyan Ivanov [Fri, 3 May 2019 16:07:31 +0000 (19:07 +0300)]
let the loading screen use the default background color

5 months agodrop a resource block around an SQLDatabase object
Damyan Ivanov [Fri, 3 May 2019 16:07:19 +0000 (19:07 +0300)]
drop a resource block around an SQLDatabase object

hopefully this is the last such construct which may cause the global
DB connection to be closed leading to a crash the next time it is used

5 months agodrop unused class
Damyan Ivanov [Fri, 3 May 2019 16:07:15 +0000 (19:07 +0300)]
drop unused class

5 months agoproperly detect when profile list hasn't loaded yet
Damyan Ivanov [Fri, 3 May 2019 16:07:06 +0000 (19:07 +0300)]
properly detect when profile list hasn't loaded yet

5 months agowhitespace
Damyan Ivanov [Fri, 3 May 2019 16:06:53 +0000 (19:06 +0300)]
whitespace

5 months agomove DB access routines to the application class
Damyan Ivanov [Fri, 3 May 2019 16:06:32 +0000 (19:06 +0300)]
move DB access routines to the application class

it is a natural context "source" for the DB creation and a singleton
global instance

5 months agostore the theme Id in the preferences so that no DB is needed to access it
Damyan Ivanov [Fri, 3 May 2019 15:26:35 +0000 (18:26 +0300)]
store the theme Id in the preferences so that no DB is needed to access it

the idea is to set up the main activity without accessing the database
so that a Loading... screen is shown while the DB is being upgraded

5 months ago"Loading..." screen while DB is being read
Damyan Ivanov [Fri, 3 May 2019 15:26:11 +0000 (18:26 +0300)]
"Loading..." screen while DB is being read

not noticeable at present, because the first DB read (and possible upgrade)
is being run when the activity is created.

5 months agoasynchronous profile setup
Damyan Ivanov [Fri, 3 May 2019 15:25:08 +0000 (18:25 +0300)]
asynchronous profile setup

5 months agoMLDB: asyncronous variant of getOption
Damyan Ivanov [Fri, 3 May 2019 15:22:39 +0000 (18:22 +0300)]
MLDB: asyncronous variant of getOption

5 months agoavoid duplicate theme setup upon startup and profile+theme change
Damyan Ivanov [Fri, 3 May 2019 15:21:25 +0000 (18:21 +0300)]
avoid duplicate theme setup upon startup and profile+theme change

5 months agowhitespace
Damyan Ivanov [Fri, 3 May 2019 15:21:22 +0000 (18:21 +0300)]
whitespace

5 months agosuppress some warnings
Damyan Ivanov [Fri, 3 May 2019 15:18:23 +0000 (18:18 +0300)]
suppress some warnings

5 months agodrop remnants of hollow transaction list item
Damyan Ivanov [Fri, 3 May 2019 16:11:38 +0000 (19:11 +0300)]
drop remnants of hollow transaction list item

5 months agomove null check before the value is used
Damyan Ivanov [Thu, 2 May 2019 15:16:19 +0000 (18:16 +0300)]
move null check before the value is used

5 months agostop any running back-end data retrieval when the profile is changed
Damyan Ivanov [Fri, 3 May 2019 15:16:09 +0000 (18:16 +0300)]
stop any running back-end data retrieval when the profile is changed

5 months agomove initiation of back-end data retrieval to Data
Damyan Ivanov [Fri, 3 May 2019 15:12:01 +0000 (18:12 +0300)]
move initiation of back-end data retrieval to Data

5 months agodebug message when profile data is wiped
Damyan Ivanov [Fri, 3 May 2019 15:11:40 +0000 (18:11 +0300)]
debug message when profile data is wiped

5 months agooff-load option setting DB update to the background work queue
Damyan Ivanov [Fri, 3 May 2019 15:10:29 +0000 (18:10 +0300)]
off-load option setting DB update to the background work queue

such an update may have to wait for the DB to complete any reads, like while
loading transaction data or even transaction data retrieval. that would lead
to UI freeze

delaying the update has no ill effects, since the data is needed only the next
time the app is run

5 months agobump versions of two libraries
Damyan Ivanov [Fri, 3 May 2019 15:10:21 +0000 (18:10 +0300)]
bump versions of two libraries

5 months agowhitespace
Damyan Ivanov [Fri, 3 May 2019 15:10:15 +0000 (18:10 +0300)]
whitespace

5 months agomigrate a bunch of globals to LiveData
Damyan Ivanov [Fri, 3 May 2019 15:09:52 +0000 (18:09 +0300)]
migrate a bunch of globals to LiveData

5 months agoLockHolder: reset lock instances to null after unlocking
Damyan Ivanov [Sun, 28 Apr 2019 19:32:24 +0000 (22:32 +0300)]
LockHolder: reset lock instances to null after unlocking

5 months agoEnglish locale String.format
Damyan Ivanov [Sun, 28 Apr 2019 19:30:30 +0000 (22:30 +0300)]
English locale String.format

5 months agoslightly lighter yellow accent
Damyan Ivanov [Sun, 28 Apr 2019 19:27:35 +0000 (22:27 +0300)]
slightly lighter yellow accent

was nearly black

5 months agofix header items (acc name filter, retrieve progress) to use the profile theme colors
Damyan Ivanov [Sun, 28 Apr 2019 18:47:17 +0000 (21:47 +0300)]
fix header items (acc name filter, retrieve progress) to use the profile theme colors

by removing explicit pointer to the default theme

5 months agocopy constructor for MobileLedgerProfile
Damyan Ivanov [Sun, 28 Apr 2019 18:09:09 +0000 (21:09 +0300)]
copy constructor for MobileLedgerProfile

5 months agodrop unused field
Damyan Ivanov [Sun, 28 Apr 2019 18:07:33 +0000 (21:07 +0300)]
drop unused field

5 months agoSQLiteOpenHelper wrapper doesn't need to implement AutoCloseable
Damyan Ivanov [Sat, 27 Apr 2019 20:19:37 +0000 (23:19 +0300)]
SQLiteOpenHelper wrapper doesn't need to implement AutoCloseable

db life is hand-managed, opened at application start and shut down
on application termination

5 months agosilence some debug
Damyan Ivanov [Sat, 27 Apr 2019 20:18:10 +0000 (23:18 +0300)]
silence some debug

5 months agoO is the android version with app shortcuts
Damyan Ivanov [Sat, 27 Apr 2019 17:36:53 +0000 (20:36 +0300)]
O is the android version with app shortcuts

5 months agolocale-aware String.format
Damyan Ivanov [Sat, 27 Apr 2019 17:16:32 +0000 (20:16 +0300)]
locale-aware String.format

these are debugging things, the English locale should be fine

5 months agodrop unused commented-out code
Damyan Ivanov [Tue, 23 Apr 2019 00:53:54 +0000 (03:53 +0300)]
drop unused commented-out code

5 months agocorrect constant for vertival layout
Damyan Ivanov [Tue, 23 Apr 2019 00:52:34 +0000 (03:52 +0300)]
correct constant for vertival layout

5 months agodrop unused variable
Damyan Ivanov [Tue, 23 Apr 2019 00:52:20 +0000 (03:52 +0300)]
drop unused variable

5 months agowhitespace
Damyan Ivanov [Sat, 20 Apr 2019 07:43:38 +0000 (10:43 +0300)]
whitespace

5 months agodrop dummy bottom-list entries and intercept draw up/down to hide/show the Add FAB
Damyan Ivanov [Sat, 20 Apr 2019 07:41:51 +0000 (10:41 +0300)]
drop dummy bottom-list entries and intercept draw up/down to hide/show the Add FAB

5 months agodrop redundant setting of swiper color
Damyan Ivanov [Fri, 19 Apr 2019 21:46:28 +0000 (00:46 +0300)]
drop redundant setting of swiper color

the LiveData thing takes care of the initial setting

5 months agoprofile list: don't hide the collapse arrow when editting is enabled
Damyan Ivanov [Fri, 19 Apr 2019 20:37:10 +0000 (23:37 +0300)]
profile list: don't hide the collapse arrow when editting is enabled

clicking on the 'Profiles' row still collapses the list, so the missing
arrow is just confusing

5 months agodrop dead code
Damyan Ivanov [Fri, 19 Apr 2019 20:27:28 +0000 (23:27 +0300)]
drop dead code

5 months agooverride the weaker access warning
Damyan Ivanov [Fri, 19 Apr 2019 17:25:53 +0000 (20:25 +0300)]
override the weaker access warning

the similar method accepting profile object is public and is used in
the wild, so maybe this one would also be used one day

5 months agoname variable keeping auto-closed resource 'ignored'
Damyan Ivanov [Fri, 19 Apr 2019 17:24:39 +0000 (20:24 +0300)]
name variable keeping auto-closed resource 'ignored'

5 months agowhitespace
Damyan Ivanov [Fri, 19 Apr 2019 17:20:04 +0000 (20:20 +0300)]
whitespace

5 months agolimit method visibility to the used level
Damyan Ivanov [Fri, 19 Apr 2019 17:19:55 +0000 (20:19 +0300)]
limit method visibility to the used level

5 months agounnecessary cast
Damyan Ivanov [Fri, 19 Apr 2019 17:18:49 +0000 (20:18 +0300)]
unnecessary cast

5 months agoname intentionally unused variable as 'ignored'
Damyan Ivanov [Fri, 19 Apr 2019 17:16:48 +0000 (20:16 +0300)]
name intentionally unused variable as 'ignored'

it is used to hold the auto-closed resource

5 months agomissing not-null annotation
Damyan Ivanov [Fri, 19 Apr 2019 17:15:07 +0000 (20:15 +0300)]
missing not-null annotation