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

5 years 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

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

5 years 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

5 years 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

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

5 years 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

5 years 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

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

5 years 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

5 years 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

5 years 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

5 years 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

5 years 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

5 years 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

5 years 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)

5 years 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

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

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

5 years 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

5 years 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

5 years 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

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

5 years 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

5 years 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)

5 years 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

5 years 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

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

5 years 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

5 years 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

5 years 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

5 years 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)

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

5 years 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

5 years 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

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

was a hollow one anyway

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

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

5 years 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

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

5 years 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

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

5 years 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

5 years 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

5 years 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

5 years 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

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

5 years 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

5 years 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

5 years 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

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

5 years 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

5 years agonew profile field: preferred accounts filter
Damyan Ivanov [Thu, 28 Mar 2019 22:18:03 +0000 (00:18 +0200)]
new profile field: preferred accounts filter

to be used in the transaction description auto-completion, preferring
transactions that contain an account matching the filter

the idea is useful for ledgers manipulated by multiple people with
personal accounts who enter transactions with the same description

one would expect the auto-completion to pick a transaction that uses
accounts of the user rather than transaction using other users'
accounts

5 years agoreuse the SQL parameter list that is the same for the 5 calls
Damyan Ivanov [Thu, 28 Mar 2019 22:14:34 +0000 (00:14 +0200)]
reuse the SQL parameter list that is the same for the 5 calls

5 years agoProfile: drop constructors filling all fields
Damyan Ivanov [Thu, 28 Mar 2019 22:13:42 +0000 (00:13 +0200)]
Profile: drop constructors filling all fields

adding fields becomes fragile and tracing correspondence between
constructor arguments and fields feels like a jedi art

5 years agoput updating of profile data from the UI in a method
Damyan Ivanov [Thu, 28 Mar 2019 22:11:16 +0000 (00:11 +0200)]
put updating of profile data from the UI in a method

will be used on new profiles too

5 years agoremove unused reference to the profile detail FAB
Damyan Ivanov [Thu, 28 Mar 2019 22:10:13 +0000 (00:10 +0200)]
remove unused reference to the profile detail FAB

the fragment already takes care of it

5 years agoprofile details: confirm profile deletion
Damyan Ivanov [Thu, 28 Mar 2019 21:40:01 +0000 (23:40 +0200)]
profile details: confirm profile deletion

5 years agoProfileDetailActivity: delegate options menu item creation and handling to the Profil...
Damyan Ivanov [Thu, 28 Mar 2019 21:39:15 +0000 (23:39 +0200)]
ProfileDetailActivity: delegate options menu item creation and handling to the ProfileDetailFragment

5 years agoafter showing account's transactions, make Back return to the account list
Damyan Ivanov [Thu, 28 Mar 2019 18:18:23 +0000 (20:18 +0200)]
after showing account's transactions, make Back return to the account list

5 years agotranslation
Damyan Ivanov [Thu, 28 Mar 2019 18:17:49 +0000 (20:17 +0200)]
translation

5 years agoremove unused resource file
Damyan Ivanov [Thu, 28 Mar 2019 18:01:23 +0000 (20:01 +0200)]
remove unused resource file

5 years agostore/retrieve account name filter in the bundle
Damyan Ivanov [Thu, 28 Mar 2019 17:50:32 +0000 (19:50 +0200)]
store/retrieve account name filter in the bundle

also move propagating the stored account name filter in the onStart method
which is called when the screen is rotated for example. onCreate is
called in more extreme situations

5 years agooverly long commodity lists fade to white and expand/collapse on click
Damyan Ivanov [Thu, 28 Mar 2019 17:48:49 +0000 (19:48 +0200)]
overly long commodity lists fade to white and expand/collapse on click

5 years agorework showing of account's transactions with a context menu
Damyan Ivanov [Thu, 28 Mar 2019 17:45:40 +0000 (19:45 +0200)]
rework showing of account's transactions with a context menu

not a common option and the ordinary click on the amounts will be used
to expand large commodity lists

5 years agoadd flag to accounts indicating whether their commodity list is expanded
Damyan Ivanov [Thu, 28 Mar 2019 15:44:14 +0000 (17:44 +0200)]
add flag to accounts indicating whether their commodity list is expanded

there may e too many commodities to keep them visible at all times

5 years agobump version code
Damyan Ivanov [Wed, 27 Mar 2019 20:24:04 +0000 (22:24 +0200)]
bump version code

5 years agofix version number v0.8.1
Damyan Ivanov [Tue, 26 Mar 2019 20:54:29 +0000 (20:54 +0000)]
fix version number

5 years agoadd changelog
Damyan Ivanov [Tue, 26 Mar 2019 20:30:47 +0000 (20:30 +0000)]
add changelog

5 years agodefault new profile URL is 'https://'
Damyan Ivanov [Mon, 25 Mar 2019 23:48:57 +0000 (01:48 +0200)]
default new profile URL is 'https://'

5 years agoshow accumulated balance in parent accounts
Damyan Ivanov [Mon, 25 Mar 2019 23:38:47 +0000 (01:38 +0200)]
show accumulated balance in parent accounts

5 years agofixup single initial revision
Damyan Ivanov [Mon, 25 Mar 2019 23:38:27 +0000 (01:38 +0200)]
fixup single initial revision

5 years agowhitespace
Damyan Ivanov [Mon, 25 Mar 2019 22:56:49 +0000 (00:56 +0200)]
whitespace

5 years agosingle SQL file for initial db creation
Damyan Ivanov [Mon, 25 Mar 2019 22:56:43 +0000 (00:56 +0200)]
single SQL file for initial db creation

applying 20 incremental revisions appears a bit too much

5 years agothese constants may be private
Damyan Ivanov [Mon, 25 Mar 2019 20:17:24 +0000 (22:17 +0200)]
these constants may be private

5 years agopackage private constructor is enough
Damyan Ivanov [Mon, 25 Mar 2019 20:17:10 +0000 (22:17 +0200)]
package private constructor is enough

5 years agodeclare LockHolder as implementing AutoClosable (instead of Closable)
Damyan Ivanov [Mon, 25 Mar 2019 20:16:07 +0000 (22:16 +0200)]
declare LockHolder as implementing AutoClosable (instead of Closable)

5 years agofix annotations to match super methods
Damyan Ivanov [Mon, 25 Mar 2019 20:07:34 +0000 (22:07 +0200)]
fix annotations to match super methods

5 years agodrop 'synchronized' modifier for getDatabase
Damyan Ivanov [Sun, 24 Mar 2019 17:11:48 +0000 (19:11 +0200)]
drop 'synchronized' modifier for getDatabase

it was necessary to guarantee that no two connections were created because
the connection is created in getDatabase

by moving the connection creatin to the init() a high profile method
(getDatabase) gets faster. init() is called only once anyway

5 years agolocks around observable list's access
Damyan Ivanov [Sun, 24 Mar 2019 17:09:41 +0000 (19:09 +0200)]
locks around observable list's access

to help guarantee that the list is not modified by another thread while
traversing

5 years agono direct interface to ObservableList's value
Damyan Ivanov [Sun, 24 Mar 2019 16:08:13 +0000 (18:08 +0200)]
no direct interface to ObservableList's value

5 years agoColors: treat 360 same as 0
Damyan Ivanov [Sun, 24 Mar 2019 09:47:42 +0000 (11:47 +0200)]
Colors: treat 360 same as 0

5 years agoaccount list: queue db updates when an account is expanded/collapsed
Damyan Ivanov [Sun, 24 Mar 2019 09:47:17 +0000 (11:47 +0200)]
account list: queue db updates when an account is expanded/collapsed

avoids a possible huge delay in UI if the account list is being updated

5 years agobeginTransaction should be outside the try{} block
Damyan Ivanov [Sun, 24 Mar 2019 09:41:27 +0000 (11:41 +0200)]
beginTransaction should be outside the try{} block

5 years agoLedgerAccount: override hashCode() and equals() to enable proper location in collections
Damyan Ivanov [Sun, 24 Mar 2019 09:40:56 +0000 (11:40 +0200)]
LedgerAccount: override hashCode() and equals() to enable proper location in collections

5 years agocommit right after the account list is complete
Damyan Ivanov [Sun, 24 Mar 2019 09:39:58 +0000 (11:39 +0200)]
commit right after the account list is complete

the transaction list can be updated in its own transaction

shorter transactions - happier database

5 years agoasync database statement queue
Damyan Ivanov [Sun, 24 Mar 2019 09:32:54 +0000 (11:32 +0200)]
async database statement queue

the idea is to take quick database updates outside the main (UI) thread

this helps when the database is in a transaction updating accounts or
transactions which can take considerable time

5 years agoremove the distinction between "readable" and "writable" database connections
Damyan Ivanov [Sun, 24 Mar 2019 09:29:12 +0000 (11:29 +0200)]
remove the distinction between "readable" and "writable" database connections

it is artificial and serves no useful purpose

5 years agoremove the "Cancel" button from the hue selection dialog
Damyan Ivanov [Sun, 24 Mar 2019 09:12:22 +0000 (11:12 +0200)]
remove the "Cancel" button from the hue selection dialog

it is a common feature to cancel the dialog by tapping outside and
the button only takes valuable space

5 years agoic_app_icon.png → app_icon.png in drawable-*
Damyan Ivanov [Mon, 18 Mar 2019 11:27:01 +0000 (13:27 +0200)]
ic_app_icon.png → app_icon.png in drawable-*

see 58b61ea2f6af43ca23c153af8f33e9569d31dc00

5 years agofix method chain
Damyan Ivanov [Mon, 18 Mar 2019 09:31:01 +0000 (11:31 +0200)]
fix method chain

5 years agowhitespace
Damyan Ivanov [Mon, 18 Mar 2019 09:27:56 +0000 (11:27 +0200)]
whitespace

5 years agoremove all profile data when removing a profile
Damyan Ivanov [Mon, 18 Mar 2019 09:26:49 +0000 (11:26 +0200)]
remove all profile data when removing a profile

5 years agofill hasSubAccounts when populating account list on refresh
Damyan Ivanov [Mon, 18 Mar 2019 09:23:32 +0000 (11:23 +0200)]
fill hasSubAccounts when populating account list on refresh

5 years agorefresh profile list when the backend data changes
Damyan Ivanov [Mon, 18 Mar 2019 09:22:07 +0000 (11:22 +0200)]
refresh profile list when the backend data changes

5 years agowhitespace
Damyan Ivanov [Mon, 18 Mar 2019 09:15:31 +0000 (11:15 +0200)]
whitespace

5 years agobump target SQL revision number
Damyan Ivanov [Mon, 18 Mar 2019 09:14:45 +0000 (11:14 +0200)]
bump target SQL revision number

5 years agoprepareConnection: avoid double slashes when constructing connection URL
Damyan Ivanov [Mon, 18 Mar 2019 09:14:25 +0000 (11:14 +0200)]
prepareConnection: avoid double slashes when constructing connection URL

5 years agoremove all data belonging to previously deleted accounts
Damyan Ivanov [Mon, 18 Mar 2019 09:12:36 +0000 (11:12 +0200)]
remove all data belonging to previously deleted accounts

5 years agobump version code/name
Damyan Ivanov [Mon, 18 Mar 2019 09:01:23 +0000 (11:01 +0200)]
bump version code/name