mobile-ledger.git
7 months agoprofile list: react on clicking on different parts of the profile row
Damyan Ivanov [Fri, 19 Apr 2019 15:18:43 +0000 (18:18 +0300)]
profile list: react on clicking on different parts of the profile row

notable the color tag and the space on the left

7 months agorevert unintentional change in text color
Damyan Ivanov [Tue, 16 Apr 2019 18:32:37 +0000 (21:32 +0300)]
revert unintentional change in text color

broken with bb066b2d8c34d685fab6d43690dbf129fcf42cb6

7 months agoavoid multiple acc/trn list updating when switching profiles
Damyan Ivanov [Tue, 16 Apr 2019 18:29:26 +0000 (21:29 +0300)]
avoid multiple acc/trn list updating when switching profiles

7 months agospare a transaction list reload upon changing of the account name filter from ""...
Damyan Ivanov [Tue, 16 Apr 2019 18:26:12 +0000 (21:26 +0300)]
spare a transaction list reload upon changing of the account name filter from "" to null

7 months agowrap Log.d calls, skipping them on non-debug builds
Damyan Ivanov [Tue, 16 Apr 2019 18:23:00 +0000 (21:23 +0300)]
wrap Log.d calls, skipping them on non-debug builds

pro-guard doesn't seem to work and has some scary warnings for the
json parsing library

7 months agomissing not-null annotation
Damyan Ivanov [Tue, 16 Apr 2019 18:19:50 +0000 (21:19 +0300)]
missing not-null annotation

7 months agoprivate field
Damyan Ivanov [Tue, 16 Apr 2019 18:16:41 +0000 (21:16 +0300)]
private field

7 months agonullability annotations
Damyan Ivanov [Tue, 16 Apr 2019 18:13:31 +0000 (21:13 +0300)]
nullability annotations

7 months agowhitespace
Damyan Ivanov [Tue, 16 Apr 2019 18:10:23 +0000 (21:10 +0300)]
whitespace

7 months agomigrate backgroundTaskCount to an atomic counter and "running" boolean LiveData
Damyan Ivanov [Tue, 16 Apr 2019 18:07:10 +0000 (21:07 +0300)]
migrate backgroundTaskCount to an atomic counter and "running" boolean LiveData

7 months agolambdas
Damyan Ivanov [Tue, 16 Apr 2019 18:03:51 +0000 (21:03 +0300)]
lambdas

7 months agoadd missing annotations
Damyan Ivanov [Tue, 16 Apr 2019 18:00:41 +0000 (21:00 +0300)]
add missing annotations

7 months agounused variable
Damyan Ivanov [Tue, 16 Apr 2019 17:55:55 +0000 (20:55 +0300)]
unused variable

7 months agomigrate account name filter to LiveData
Damyan Ivanov [Tue, 16 Apr 2019 17:52:43 +0000 (20:52 +0300)]
migrate account name filter to LiveData

7 months agomigrate themeWatch to LiveData
Damyan Ivanov [Tue, 16 Apr 2019 17:49:34 +0000 (20:49 +0300)]
migrate themeWatch to LiveData

7 months agoforce profile observer notification when current profile is saved
Damyan Ivanov [Tue, 16 Apr 2019 17:46:25 +0000 (20:46 +0300)]
force profile observer notification when current profile is saved

to reflect possible changes in color/name/url

7 months agodrop unused code
Damyan Ivanov [Tue, 16 Apr 2019 17:43:16 +0000 (20:43 +0300)]
drop unused code

7 months agocolor selector: show selected sector (implement drawMarker)
Damyan Ivanov [Tue, 16 Apr 2019 17:40:07 +0000 (20:40 +0300)]
color selector: show selected sector (implement drawMarker)

7 months agorework theme color spectrum to match the holy grail violet and get a darker yellow...
Damyan Ivanov [Tue, 16 Apr 2019 17:36:54 +0000 (20:36 +0300)]
rework theme color spectrum to match the holy grail violet and get a darker yellow with readable white text

also, automate theme XML update

7 months agoadd theme list start/end markers to aid automatic generation
Damyan Ivanov [Tue, 16 Apr 2019 17:33:42 +0000 (20:33 +0300)]
add theme list start/end markers to aid automatic generation

7 months agonote wanted primary color in theme list
Damyan Ivanov [Tue, 16 Apr 2019 17:27:33 +0000 (20:27 +0300)]
note wanted primary color in theme list

7 months agodrop unused resource definition
Damyan Ivanov [Thu, 18 Apr 2019 17:39:28 +0000 (20:39 +0300)]
drop unused resource definition

7 months agowhitepspace
Damyan Ivanov [Tue, 16 Apr 2019 16:51:48 +0000 (19:51 +0300)]
whitepspace

7 months agomigrate lastUpdatedate to LiveData
Damyan Ivanov [Tue, 16 Apr 2019 16:51:30 +0000 (19:51 +0300)]
migrate lastUpdatedate to LiveData

re-inventing a pissibly brooken wheel doesn't sound like a good idea

7 months agobg-BG translation for descriptions and feature graphic
Damyan Ivanov [Tue, 16 Apr 2019 03:21:53 +0000 (06:21 +0300)]
bg-BG translation for descriptions and feature graphic

7 months agoadjust feature graphic to better fit into f-droid client's interface
Damyan Ivanov [Tue, 16 Apr 2019 03:21:38 +0000 (06:21 +0300)]
adjust feature graphic to better fit into f-droid client's interface

7 months agoadd more "air" in the app icon, decreasing the image within the filled frame
Damyan Ivanov [Tue, 16 Apr 2019 03:15:06 +0000 (06:15 +0300)]
add more "air" in the app icon, decreasing the image within the filled frame

7 months agoprepare 0.9.5/25 release v0.9.5
Damyan Ivanov [Sat, 13 Apr 2019 20:36:25 +0000 (20:36 +0000)]
prepare 0.9.5/25 release

7 months agomFragment may be null here
Damyan Ivanov [Sat, 13 Apr 2019 20:01:19 +0000 (23:01 +0300)]
mFragment may be null here

happened on 5.1.1

7 months agouse the standard "add" icon for the new transaction FAB
Damyan Ivanov [Sat, 13 Apr 2019 19:58:39 +0000 (22:58 +0300)]
use the standard "add" icon for the new transaction FAB

the thick plus was a bit out of place

7 months agofix ring placement in the color selector dialog
Damyan Ivanov [Sat, 13 Apr 2019 19:57:16 +0000 (22:57 +0300)]
fix ring placement in the color selector dialog

worked fine on 7.1, but was empty on 5.1

7 months agomove two vector icons in anydpi directory
Damyan Ivanov [Sat, 13 Apr 2019 18:45:28 +0000 (21:45 +0300)]
move two vector icons in anydpi directory

7 months agoimprovement in the color selection UI
Damyan Ivanov [Sat, 13 Apr 2019 18:20:29 +0000 (21:20 +0300)]
improvement in the color selection UI

keep initial and current colors separately. these are two different things
initial is the current profile color, current is the currently selected
color in the color selector, also used by the color selector icon

7 months agoprepare 0.9.4/24 release v0.9.4
Damyan Ivanov [Sat, 13 Apr 2019 14:32:35 +0000 (14:32 +0000)]
prepare 0.9.4/24 release

7 months agofix first run experience
Damyan Ivanov [Fri, 12 Apr 2019 15:11:08 +0000 (18:11 +0300)]
fix first run experience

hide the no profiles screen and show the main screen when the
first profile is created

properly trigger a data retrieval operation
also when the data is stale

7 months agowhitespace
Damyan Ivanov [Fri, 12 Apr 2019 15:09:38 +0000 (18:09 +0300)]
whitespace

7 months agodeveloper menu item for wiping all local profile data
Damyan Ivanov [Fri, 12 Apr 2019 15:08:05 +0000 (18:08 +0300)]
developer menu item for wiping all local profile data

7 months agoa bit of padding on the no profiles screen
Damyan Ivanov [Fri, 12 Apr 2019 14:57:24 +0000 (17:57 +0300)]
a bit of padding on the no profiles screen

7 months agohook profile list expansion/collapsing on tap at runtime
Damyan Ivanov [Fri, 12 Apr 2019 14:05:21 +0000 (17:05 +0300)]
hook profile list expansion/collapsing on tap at runtime

seems to fail on older devices otherwise

7 months agoStop trying to create app shortcuts on pre 7.1 devices, fixing a crash
Damyan Ivanov [Fri, 12 Apr 2019 14:04:04 +0000 (17:04 +0300)]
Stop trying to create app shortcuts on pre 7.1 devices, fixing a crash

7 months agoremove unused code
Damyan Ivanov [Fri, 12 Apr 2019 14:03:21 +0000 (17:03 +0300)]
remove unused code

7 months agobump matching transaction limit to 150
Damyan Ivanov [Wed, 10 Apr 2019 21:00:35 +0000 (00:00 +0300)]
bump matching transaction limit to 150

for when some deep histiry is changed

7 months agoupgrade some libraries
Damyan Ivanov [Wed, 10 Apr 2019 20:59:56 +0000 (23:59 +0300)]
upgrade some libraries

7 months agobump gradle version to 3.3.2
Damyan Ivanov [Wed, 10 Apr 2019 20:13:00 +0000 (23:13 +0300)]
bump gradle version to 3.3.2

7 months agoprepare 0.9.3/23 rlease v0.9.3
Damyan Ivanov [Wed, 10 Apr 2019 16:21:30 +0000 (19:21 +0300)]
prepare 0.9.3/23 rlease

7 months agofixed last couple of glitchs when adding transaction via an app shortcut with the...
Damyan Ivanov [Wed, 10 Apr 2019 16:04:27 +0000 (19:04 +0300)]
fixed last couple of glitchs when adding transaction via an app shortcut with the main app not running

7 months agoprepare 0.9.2 (22) release v0.9.2
Damyan Ivanov [Mon, 8 Apr 2019 18:29:45 +0000 (18:29 +0000)]
prepare 0.9.2 (22) release

7 months agomissing word in 0.9.1 change log
Damyan Ivanov [Mon, 8 Apr 2019 18:29:24 +0000 (18:29 +0000)]
missing word in 0.9.1 change log

7 months agofix account name auto-completion in new transaction screen started via shortcut
Damyan Ivanov [Mon, 8 Apr 2019 18:10:40 +0000 (21:10 +0300)]
fix account name auto-completion in new transaction screen started via shortcut

8 months agouse HTTPS for the hledger.org link
Damyan Ivanov [Sun, 7 Apr 2019 15:18:50 +0000 (15:18 +0000)]
use HTTPS for the hledger.org link

8 months agoupdate changelogs v0.9.1
Damyan Ivanov [Sat, 6 Apr 2019 20:27:13 +0000 (23:27 +0300)]
update changelogs

8 months agobump version name/code to 0.9.1/21
Damyan Ivanov [Sat, 6 Apr 2019 20:23:25 +0000 (23:23 +0300)]
bump version name/code to 0.9.1/21

8 months agouse the activity's mProfile, not the global current profile in Data
Damyan Ivanov [Sat, 6 Apr 2019 20:05:40 +0000 (23:05 +0300)]
use the activity's mProfile, not the global current profile in Data

fixes a problem when the new transaction activity is invoked via
an app shortcut and the main app is not running (and therefore there
is no global current profile

8 months agoupdate change logs v0.9
Damyan Ivanov [Thu, 4 Apr 2019 15:24:45 +0000 (18:24 +0300)]
update change logs

8 months agolegacy parser: fill amounts of synthetic parent accounts
Damyan Ivanov [Thu, 4 Apr 2019 14:54:07 +0000 (17:54 +0300)]
legacy parser: fill amounts of synthetic parent accounts

hledger-web omits the parent account reporting only "par:sub" account
(no separate "par")

so far the code creates the parent account, but wasn't filling its
amounts

8 months agoLedgerAccount: fix NPE in getAmountCount() when there are no amounts
Damyan Ivanov [Thu, 4 Apr 2019 14:52:53 +0000 (17:52 +0300)]
LedgerAccount: fix NPE in getAmountCount() when there are no amounts

triggered by empty accounts without amounts

8 months agowhitespace
Damyan Ivanov [Thu, 4 Apr 2019 13:47:33 +0000 (16:47 +0300)]
whitespace

8 months agoa couple of possible memory leaks closed
Damyan Ivanov [Thu, 4 Apr 2019 13:27:31 +0000 (16:27 +0300)]
a couple of possible memory leaks closed

8 months agoProfile list: block change notifications while moving items around
Damyan Ivanov [Thu, 4 Apr 2019 13:00:01 +0000 (16:00 +0300)]
Profile list: block change notifications while moving items around

this avoids a refresh of the adapter, making the recycler view stop
the swapping dance

8 months agoObservableList: add ability to block (delay) change notifications
Damyan Ivanov [Thu, 4 Apr 2019 12:58:53 +0000 (15:58 +0300)]
ObservableList: add ability to block (delay) change notifications

8 months agoadd app shortcuts (Android 7.1+) for adding new transaction for top profiles
Damyan Ivanov [Thu, 4 Apr 2019 11:35:06 +0000 (14:35 +0300)]
add app shortcuts (Android 7.1+) for adding new transaction for top profiles

8 months agocentral method for retrieving a profile by its UUID
Damyan Ivanov [Thu, 4 Apr 2019 11:33:21 +0000 (14:33 +0300)]
central method for retrieving a profile by its UUID

loads the profile list is not done before

8 months agodrop the "new account" new transaction screen menu item
Damyan Ivanov [Thu, 4 Apr 2019 10:54:40 +0000 (13:54 +0300)]
drop the "new account" new transaction screen menu item

new accounts are added automatically when needed

8 months agoactivity names in manifest - without the full package prefix
Damyan Ivanov [Thu, 4 Apr 2019 10:52:36 +0000 (13:52 +0300)]
activity names in manifest - without the full package prefix

maybe this is important for the shortcuts (to follow)

8 months agodrop the (now non-existing) profile list activity from manifest
Damyan Ivanov [Thu, 4 Apr 2019 10:51:03 +0000 (13:51 +0300)]
drop the (now non-existing) profile list activity from manifest

8 months agoprepare change lists
Damyan Ivanov [Thu, 4 Apr 2019 07:14:49 +0000 (10:14 +0300)]
prepare change lists

8 months agorename the drawer image
Damyan Ivanov [Thu, 4 Apr 2019 07:14:35 +0000 (10:14 +0300)]
rename the drawer image

8 months agobetter total management while parsing JSON transaction list
Damyan Ivanov [Thu, 4 Apr 2019 06:52:51 +0000 (09:52 +0300)]
better total management while parsing JSON transaction list

8 months agomore classes describing the /add API
Damyan Ivanov [Thu, 4 Apr 2019 06:41:29 +0000 (09:41 +0300)]
more classes describing the /add API

8 months agoJSON transaction parser: detect file-order stream and disable the early termination...
Damyan Ivanov [Thu, 4 Apr 2019 06:41:06 +0000 (09:41 +0300)]
JSON transaction parser: detect file-order stream and disable the early termination logic

the early termination logic is useful when transactions come in reverse
chronological order -- newest first. seeing 50 known transactions
seems like a good criteria for terminating the parsing before the whole
stream is processed

however, the JSON API seems to return transactions in file order --
oldest first (by time of creation, not 'date' field). in this order
the newest (and thus unknown) transactions come last and the early
termination logic needs to be disabled

8 months agoJSON API for adding transactions
Damyan Ivanov [Thu, 4 Apr 2019 04:13:14 +0000 (07:13 +0300)]
JSON API for adding transactions

8 months agomethods for converting of run-time data structures to json-serializable ones
Damyan Ivanov [Thu, 4 Apr 2019 04:10:42 +0000 (07:10 +0300)]
methods for converting of run-time data structures to json-serializable ones

8 months agoglobal method for format dates in ISO format (y-m-d)
Damyan Ivanov [Thu, 4 Apr 2019 04:08:23 +0000 (07:08 +0300)]
global method for format dates in ISO format (y-m-d)

8 months agofix JSON account retrieval to supply the amounts to the new list
Damyan Ivanov [Tue, 2 Apr 2019 21:36:33 +0000 (00:36 +0300)]
fix JSON account retrieval to supply the amounts to the new list

8 months agofix handling the click on the account expander image
Damyan Ivanov [Tue, 2 Apr 2019 21:24:15 +0000 (00:24 +0300)]
fix handling the click on the account expander image

8 months agowhitespace
Damyan Ivanov [Tue, 2 Apr 2019 21:13:13 +0000 (00:13 +0300)]
whitespace

8 months agostreamline handling of account name filter
Damyan Ivanov [Tue, 2 Apr 2019 21:13:04 +0000 (00:13 +0300)]
streamline handling of account name filter

avoids multiple refresh requests, handles phone rotation/activity restart
correctly

8 months agoa way to force notification on ObservableValue
Damyan Ivanov [Tue, 2 Apr 2019 21:06:59 +0000 (00:06 +0300)]
a way to force notification on ObservableValue

8 months agohandle long-clicks everywhere on the account row
Damyan Ivanov [Tue, 2 Apr 2019 21:06:03 +0000 (00:06 +0300)]
handle long-clicks everywhere on the account row

8 months agosingle observer instances, single place for reloading account/transaction lists
Damyan Ivanov [Fri, 29 Mar 2019 17:53:43 +0000 (19:53 +0200)]
single observer instances, single place for reloading account/transaction lists

fixes observer leak which also multiplied the reloads with each
screen rotation (and activity restart)

8 months agodrop unused method
Damyan Ivanov [Fri, 29 Mar 2019 17:51:59 +0000 (19:51 +0200)]
drop unused method

8 months agomiddle-level activity class doesn't need to be available in the app manifest
Damyan Ivanov [Fri, 29 Mar 2019 17:51:23 +0000 (19:51 +0200)]
middle-level activity class doesn't need to be available in the app manifest

8 months agospare one activity restart when the startup profile uses a non-default color theme
Damyan Ivanov [Fri, 29 Mar 2019 17:49:57 +0000 (19:49 +0200)]
spare one activity restart when the startup profile uses a non-default color theme

8 months agodrop unused class
Damyan Ivanov [Fri, 29 Mar 2019 17:46:00 +0000 (19:46 +0200)]
drop unused class

was a hollow one anyway

8 months agowhitespace
Damyan Ivanov [Fri, 29 Mar 2019 17:36:07 +0000 (19:36 +0200)]
whitespace

8 months agoData.transactions -> observable list
Damyan Ivanov [Fri, 29 Mar 2019 17:32:32 +0000 (19:32 +0200)]
Data.transactions -> observable list

8 months agofix observer leak
Damyan Ivanov [Fri, 29 Mar 2019 13:29:07 +0000 (15:29 +0200)]
fix observer leak

move observers from AccountSummaryFragment and TransactionListFragment
to MainActivity; drop them when the activity is destroyed

the observers were leaked leading to multiple duplicate change
notifications

8 months agomore flow debugging
Damyan Ivanov [Fri, 29 Mar 2019 12:07:17 +0000 (14:07 +0200)]
more flow debugging

8 months agocollapse profile list and close the drawer when switching profiles
Damyan Ivanov [Fri, 29 Mar 2019 11:55:04 +0000 (13:55 +0200)]
collapse profile list and close the drawer when switching profiles

when the profiles use different themes this kind of worked as a side
effect of activity restart, but when the profiles use the same theme
the drawer remains open making it seem that something didn't work

8 months agowhitespace
Damyan Ivanov [Fri, 29 Mar 2019 11:45:54 +0000 (13:45 +0200)]
whitespace

8 months agonotify profile list adapter when the currently selected profile changes
Damyan Ivanov [Fri, 29 Mar 2019 11:45:44 +0000 (13:45 +0200)]
notify profile list adapter when the currently selected profile changes

this seems to work when the profiles use a different theme because
in this case the activity is restarted (and adapter re-initializes)
but when the changed profiles use the same theme the change was not
reflected in the profile list

8 months agotransaction auto-fill: honor the preferred account filter
Damyan Ivanov [Fri, 29 Mar 2019 11:31:23 +0000 (13:31 +0200)]
transaction auto-fill: honor the preferred account filter

8 months agofix initialization of preferred account name filter in the profile editor when editin...
Damyan Ivanov [Fri, 29 Mar 2019 11:30:47 +0000 (13:30 +0200)]
fix initialization of preferred account name filter in the profile editor when editing new profile

8 months agohide all of the "Last update" text when there was never a successful update
Damyan Ivanov [Fri, 29 Mar 2019 11:30:07 +0000 (13:30 +0200)]
hide all of the "Last update" text when there was never a successful update

8 months agowhitespace
Damyan Ivanov [Fri, 29 Mar 2019 10:45:23 +0000 (12:45 +0200)]
whitespace

8 months agoTODO done: visual feedback on transaction account removal
Damyan Ivanov [Fri, 29 Mar 2019 10:44:32 +0000 (12:44 +0200)]
TODO done: visual feedback on transaction account removal

8 months agonew transaction: remove account on right swipe too
Damyan Ivanov [Fri, 29 Mar 2019 08:10:09 +0000 (10:10 +0200)]
new transaction: remove account on right swipe too

8 months agoenable animations when removing new transaction rows
Damyan Ivanov [Fri, 29 Mar 2019 07:53:59 +0000 (09:53 +0200)]
enable animations when removing new transaction rows

not perfect, but still better than flash-disappearance

8 months agowhitespace
Damyan Ivanov [Thu, 28 Mar 2019 22:19:26 +0000 (00:19 +0200)]
whitespace

8 months agohandle preferred accounts filter setting in the profile detail UI
Damyan Ivanov [Thu, 28 Mar 2019 22:19:17 +0000 (00:19 +0200)]
handle preferred accounts filter setting in the profile detail UI