mobile-ledger.git
10 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

10 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

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

10 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

10 months 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

10 months 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

10 months 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

10 months 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

10 months 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

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

10 months 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

10 months 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

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

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

10 months 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

10 months 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

10 months 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

10 months 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

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

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

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

11 months 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://'

11 months 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

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

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

11 months 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

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

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

11 months 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)

11 months 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

11 months 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

11 months 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

11 months 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

11 months 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

11 months 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

11 months 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

11 months 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

11 months 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

11 months 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

11 months 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

11 months 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

11 months 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

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

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

11 months 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

11 months 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

11 months 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

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

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

11 months 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

11 months 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

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

11 months agoprepareConnection: append '/' to the backend URL only if it not already there
Damyan Ivanov [Mon, 18 Mar 2019 06:03:28 +0000 (08:03 +0200)]
prepareConnection: append '/' to the backend URL only if it not already there

avoids URLs like http://server//accounts, which lead to redirects, which
(1) are superflous and (2) MoLe can't handle yet

11 months agoupdate changelog v0.8
Damyan Ivanov [Fri, 15 Mar 2019 04:31:35 +0000 (06:31 +0200)]
update changelog

11 months agoadd changelog for version code 18
Damyan Ivanov [Fri, 15 Mar 2019 04:29:48 +0000 (06:29 +0200)]
add changelog for version code 18

11 months agoupdate full description to match current state
Damyan Ivanov [Fri, 15 Mar 2019 04:29:33 +0000 (06:29 +0200)]
update full description to match current state

11 months agoensure account amount is wide enough to tap on
Damyan Ivanov [Fri, 15 Mar 2019 04:03:22 +0000 (06:03 +0200)]
ensure account amount is wide enough to tap on

11 months agoaccount tree: expand/collapse via account name too, account transactions still availa...
Damyan Ivanov [Fri, 15 Mar 2019 04:01:26 +0000 (06:01 +0200)]
account tree: expand/collapse via account name too, account transactions still available when tapping on amounts

11 months agoadd feature graphic
Damyan Ivanov [Sun, 17 Mar 2019 16:53:42 +0000 (16:53 +0000)]
add feature graphic

11 months agomove phoneScreenshots under images/
Damyan Ivanov [Fri, 15 Mar 2019 01:48:02 +0000 (03:48 +0200)]
move phoneScreenshots under images/

11 months agofix crash when saving profile without bringing up the color selector
Damyan Ivanov [Fri, 15 Mar 2019 01:12:45 +0000 (03:12 +0200)]
fix crash when saving profile without bringing up the color selector

11 months agoadd some screenshots
Damyan Ivanov [Fri, 15 Mar 2019 01:12:17 +0000 (03:12 +0200)]
add some screenshots

11 months agoturn on case-sensitive LIKE operator, globally
Damyan Ivanov [Thu, 14 Mar 2019 21:27:00 +0000 (23:27 +0200)]
turn on case-sensitive LIKE operator, globally

11 months agofix populating live account list when updating from JSON
Damyan Ivanov [Thu, 14 Mar 2019 21:26:41 +0000 (23:26 +0200)]
fix populating live account list when updating from JSON

11 months agooptimise app icons png
Damyan Ivanov [Sun, 17 Mar 2019 16:45:18 +0000 (16:45 +0000)]
optimise app icons png

11 months agoadd banner SVG
Damyan Ivanov [Sun, 17 Mar 2019 16:43:04 +0000 (16:43 +0000)]
add banner SVG

11 months agoreset rotation angle before animating rotation
Damyan Ivanov [Thu, 14 Mar 2019 20:52:44 +0000 (22:52 +0200)]
reset rotation angle before animating rotation

11 months agofix wrong showing of sub-accounts of collapsed accounts upon refresh
Damyan Ivanov [Thu, 14 Mar 2019 20:43:04 +0000 (22:43 +0200)]
fix wrong showing of sub-accounts of collapsed accounts upon refresh

11 months agofix duplication af account amounts on refresh
Damyan Ivanov [Thu, 14 Mar 2019 20:05:50 +0000 (22:05 +0200)]
fix duplication af account amounts on refresh

11 months agoput account expansion bracket after the name, fix rotation animation
Damyan Ivanov [Thu, 14 Mar 2019 20:05:02 +0000 (22:05 +0200)]
put account expansion bracket after the name, fix rotation animation

11 months agobetter error message on network errors
Damyan Ivanov [Tue, 12 Mar 2019 20:26:33 +0000 (22:26 +0200)]
better error message on network errors

11 months agofix refreshing the display of the last update stamp
Damyan Ivanov [Tue, 12 Mar 2019 20:11:12 +0000 (22:11 +0200)]
fix refreshing the display of the last update stamp

11 months agomove setupProfile from onCreate to onStart
Damyan Ivanov [Tue, 12 Mar 2019 20:08:14 +0000 (22:08 +0200)]
move setupProfile from onCreate to onStart

it needs toe activity to be filly up

11 months agocall setupProfile in onCreate, not in onResume
Damyan Ivanov [Mon, 11 Mar 2019 18:32:07 +0000 (20:32 +0200)]
call setupProfile in onCreate, not in onResume

onResume is also called when the app is brought to the front and there is no
need to refresh profile data at this time

11 months agospurious setting
Damyan Ivanov [Mon, 11 Mar 2019 18:30:51 +0000 (20:30 +0200)]
spurious setting

no need, if there is a change, the next line will make it visible via the
observable value

11 months agofix progress in new JSON parsing code
Damyan Ivanov [Thu, 7 Mar 2019 05:58:52 +0000 (07:58 +0200)]
fix progress in new JSON parsing code

11 months agohttp error handling in legacy parsing code
Damyan Ivanov [Thu, 7 Mar 2019 05:54:36 +0000 (07:54 +0200)]
http error handling in legacy parsing code

11 months agofallback to legacy HTML parsing
Damyan Ivanov [Thu, 7 Mar 2019 05:50:17 +0000 (07:50 +0200)]
fallback to legacy HTML parsing

11 months agofallback to legacy HTML parsing
Damyan Ivanov [Thu, 7 Mar 2019 05:50:17 +0000 (07:50 +0200)]
fallback to legacy HTML parsing

11 months agomore debug (disabled)
Damyan Ivanov [Thu, 7 Mar 2019 05:00:33 +0000 (07:00 +0200)]
more debug (disabled)

11 months agoset keep=1 when inserting new accounts
Damyan Ivanov [Thu, 7 Mar 2019 04:59:31 +0000 (06:59 +0200)]
set keep=1 when inserting new accounts

11 months agotry{} needs to be immediately after incrementing the background task count
Damyan Ivanov [Thu, 7 Mar 2019 04:58:43 +0000 (06:58 +0200)]
try{} needs to be immediately after incrementing the background task count

11 months agowhitespace
Damyan Ivanov [Thu, 7 Mar 2019 04:58:05 +0000 (06:58 +0200)]
whitespace

11 months agoProfile/storeAccount[Value],storeTransaction: get the db as an argument
Damyan Ivanov [Thu, 7 Mar 2019 04:57:53 +0000 (06:57 +0200)]
Profile/storeAccount[Value],storeTransaction: get the db as an argument

the calling code uses transactions, so it would be nice to use them

11 months agoshow account list scroll bar
Damyan Ivanov [Thu, 7 Mar 2019 04:21:43 +0000 (06:21 +0200)]
show account list scroll bar

11 months agowhile parsing JSON accounts, skip the "root" account
Damyan Ivanov [Thu, 7 Mar 2019 04:14:51 +0000 (06:14 +0200)]
while parsing JSON accounts, skip the "root" account

11 months agoupdate the in-memory account list after parsing the JSON account list
Damyan Ivanov [Thu, 7 Mar 2019 04:14:16 +0000 (06:14 +0200)]
update the in-memory account list after parsing the JSON account list

similar to what the legacy code does already

11 months agohandle async cancellation in JSON parsing code
Damyan Ivanov [Thu, 7 Mar 2019 03:56:50 +0000 (05:56 +0200)]
handle async cancellation in JSON parsing code

11 months agoset last profile update date in JSON retrieval code
Damyan Ivanov [Thu, 7 Mar 2019 03:52:31 +0000 (05:52 +0200)]
set last profile update date in JSON retrieval code

11 months agocentral method for setting the last profile update date
Damyan Ivanov [Thu, 7 Mar 2019 03:52:02 +0000 (05:52 +0200)]
central method for setting the last profile update date

11 months agopreliminary implementation for retrieval of transactions/accounts using the JSON API
Damyan Ivanov [Thu, 7 Mar 2019 03:38:24 +0000 (05:38 +0200)]
preliminary implementation for retrieval of transactions/accounts using the JSON API

11 months agoparser method for ISO date format (yyyy-mm-dd)
Damyan Ivanov [Thu, 7 Mar 2019 03:37:12 +0000 (05:37 +0200)]
parser method for ISO date format (yyyy-mm-dd)

11 months agoparsers for account and transaction lists (hledger-web JSON API)
Damyan Ivanov [Thu, 7 Mar 2019 03:36:36 +0000 (05:36 +0200)]
parsers for account and transaction lists (hledger-web JSON API)

11 months agobump version to 0.8 (18)
Damyan Ivanov [Thu, 7 Mar 2019 03:28:18 +0000 (05:28 +0200)]
bump version to 0.8 (18)

11 months agoparseLedgerDate: more info on parse error
Damyan Ivanov [Thu, 7 Mar 2019 03:25:06 +0000 (05:25 +0200)]
parseLedgerDate: more info on parse error

11 months agocentral methods for marking accounts and transaction as obsolete, active
Damyan Ivanov [Thu, 7 Mar 2019 03:21:33 +0000 (05:21 +0200)]
central methods for marking accounts and transaction as obsolete, active

as well as deleting the stale records

11 months agoadd jackson JSON processing library
Damyan Ivanov [Wed, 6 Mar 2019 15:49:10 +0000 (17:49 +0200)]
add jackson JSON processing library

11 months agoadd version/API level info to the crash report
Damyan Ivanov [Wed, 6 Mar 2019 15:18:55 +0000 (17:18 +0200)]
add version/API level info to the crash report

11 months agoincrement the background task counter immediately before starting the task
Damyan Ivanov [Tue, 5 Mar 2019 19:18:39 +0000 (21:18 +0200)]
increment the background task counter immediately before starting the task

so that the try/finally construct guarantees the correct counting

11 months agomove reloading of transaction list in the postExecute method
Damyan Ivanov [Tue, 5 Mar 2019 19:17:50 +0000 (21:17 +0200)]
move reloading of transaction list in the postExecute method

seems more logical, when one thread finishes and signals that to the main
thread, the new task is started