mobile-ledger.git
3 years agodynamic list of profiles, add profile removal
Damyan Ivanov [Wed, 9 Jan 2019 05:25:02 +0000 (05:25 +0000)]
dynamic list of profiles, add profile removal

3 years agonew class for observing a list
Damyan Ivanov [Wed, 9 Jan 2019 05:16:40 +0000 (05:16 +0000)]
new class for observing a list

notifies observers when items are added/removed/set

can't intercept direct item modifications

3 years agomove ObservableXXXX classes under utils/
Damyan Ivanov [Tue, 8 Jan 2019 20:13:42 +0000 (20:13 +0000)]
move ObservableXXXX classes under utils/

3 years agoskip comments while parsing transactions
Damyan Ivanov [Tue, 8 Jan 2019 19:38:24 +0000 (19:38 +0000)]
skip comments while parsing transactions

3 years agosomewhat complete profile implementation
Damyan Ivanov [Mon, 7 Jan 2019 21:03:17 +0000 (21:03 +0000)]
somewhat complete profile implementation

most of the breakages are fixed, some minor remain

3 years agodrop unique index on profile name
Damyan Ivanov [Sun, 6 Jan 2019 13:44:50 +0000 (13:44 +0000)]
drop unique index on profile name

it messes with the unique key and doesn't prevent duplicate names
because we use replace into anyway

duplicate names are permitted

3 years agoMLDB: the locally-stored context in the Application instance
Damyan Ivanov [Sun, 6 Jan 2019 08:24:34 +0000 (08:24 +0000)]
MLDB: the locally-stored context in the Application instance

it was before, but now it is declared so and the code analysis doesn't
complain anymore

3 years agowhitespace
Damyan Ivanov [Sun, 6 Jan 2019 08:14:23 +0000 (08:14 +0000)]
whitespace

3 years agouse profiles for connection parameters
Damyan Ivanov [Sun, 6 Jan 2019 08:14:13 +0000 (08:14 +0000)]
use profiles for connection parameters

included migration from shared preferences

3 years agobump latest revision to 11
Damyan Ivanov [Sun, 6 Jan 2019 07:57:24 +0000 (07:57 +0000)]
bump latest revision to 11

3 years agomodel: class for working with connection profiles
Damyan Ivanov [Sun, 6 Jan 2019 07:56:48 +0000 (07:56 +0000)]
model: class for working with connection profiles

3 years agoSQL: table for storing connection profiles
Damyan Ivanov [Sun, 6 Jan 2019 07:55:44 +0000 (07:55 +0000)]
SQL: table for storing connection profiles

3 years agonice side-swipe switch between account summary and transaction list
Damyan Ivanov [Sat, 5 Jan 2019 19:24:50 +0000 (19:24 +0000)]
nice side-swipe switch between account summary and transaction list

3 years agoclickable suggests focusable
Damyan Ivanov [Sat, 5 Jan 2019 19:06:59 +0000 (19:06 +0000)]
clickable suggests focusable

3 years agoparse and show ledger name
Damyan Ivanov [Sat, 5 Jan 2019 15:48:10 +0000 (15:48 +0000)]
parse and show ledger name

3 years agostatic class method call
Damyan Ivanov [Sat, 5 Jan 2019 13:34:51 +0000 (13:34 +0000)]
static class method call

3 years agofab is guaranteed to have a value
Damyan Ivanov [Sat, 5 Jan 2019 13:17:01 +0000 (13:17 +0000)]
fab is guaranteed to have a value

3 years agosome lambdas
Damyan Ivanov [Sat, 5 Jan 2019 13:06:16 +0000 (13:06 +0000)]
some lambdas

3 years agowhitespace
Damyan Ivanov [Sat, 5 Jan 2019 13:02:43 +0000 (13:02 +0000)]
whitespace

3 years agothe last update UI observes the data in Data.lastUpdateDate
Damyan Ivanov [Sat, 5 Jan 2019 13:02:33 +0000 (13:02 +0000)]
the last update UI observes the data in Data.lastUpdateDate

3 years agodrop separate account retrieval
Damyan Ivanov [Sat, 5 Jan 2019 13:00:45 +0000 (13:00 +0000)]
drop separate account retrieval

transaction retrieval has it integrated

3 years agoObservableValue now works with null
Damyan Ivanov [Sat, 5 Jan 2019 12:59:09 +0000 (12:59 +0000)]
ObservableValue now works with null

3 years agothis is done in the onPostExecute handler
Damyan Ivanov [Sat, 5 Jan 2019 12:18:20 +0000 (12:18 +0000)]
this is done in the onPostExecute handler

3 years agoobservable last update date
Damyan Ivanov [Sat, 5 Jan 2019 12:17:50 +0000 (12:17 +0000)]
observable last update date

3 years ago+debug
Damyan Ivanov [Sat, 5 Jan 2019 12:17:30 +0000 (12:17 +0000)]
+debug

3 years agooperation cancelled text
Damyan Ivanov [Sat, 5 Jan 2019 12:17:19 +0000 (12:17 +0000)]
operation cancelled text

3 years agoset the observable transaction and account lists as well as the last update date...
Damyan Ivanov [Sat, 5 Jan 2019 12:16:59 +0000 (12:16 +0000)]
set the observable transaction and account lists as well as the last update date upon success

3 years agowhitespace
Damyan Ivanov [Sat, 5 Jan 2019 12:14:34 +0000 (12:14 +0000)]
whitespace

3 years agoassume that no more changed transactions will be discovered after 50 matching transac...
Damyan Ivanov [Sat, 5 Jan 2019 12:13:57 +0000 (12:13 +0000)]
assume that no more changed transactions will be discovered after 50 matching transactions

3 years agoextract the matching transactions limit constant
Damyan Ivanov [Sat, 5 Jan 2019 12:13:11 +0000 (12:13 +0000)]
extract the matching transactions limit constant

3 years agoif(!isCancelled) → throwIfCancelled()
Damyan Ivanov [Sat, 5 Jan 2019 12:12:38 +0000 (12:12 +0000)]
if(!isCancelled) → throwIfCancelled()

3 years agoless demanding transaction row template
Damyan Ivanov [Sat, 5 Jan 2019 12:01:42 +0000 (12:01 +0000)]
less demanding transaction row template

3 years agotype correction
Damyan Ivanov [Sat, 5 Jan 2019 08:27:08 +0000 (08:27 +0000)]
type correction

3 years ago(commented) debug
Damyan Ivanov [Sat, 5 Jan 2019 08:26:51 +0000 (08:26 +0000)]
(commented) debug

3 years agoTransactionListViewModel is static
Damyan Ivanov [Sat, 5 Jan 2019 08:26:37 +0000 (08:26 +0000)]
TransactionListViewModel is static

3 years agoasync account list
Damyan Ivanov [Sat, 5 Jan 2019 08:26:15 +0000 (08:26 +0000)]
async account list

3 years agoobserve background task count in the UI fragments
Damyan Ivanov [Sat, 5 Jan 2019 08:02:21 +0000 (08:02 +0000)]
observe background task count in the UI fragments

3 years agoMLDB: store the application instance in the context variable
Damyan Ivanov [Sat, 5 Jan 2019 07:59:32 +0000 (07:59 +0000)]
MLDB: store the application instance in the context variable

avoids a warning about storing activity/fragment instances in static variables,
which may lead to leaks

3 years agostop closing acuired db handles and leave that for the application termination
Damyan Ivanov [Sat, 5 Jan 2019 07:58:34 +0000 (07:58 +0000)]
stop closing acuired db handles and leave that for the application termination

these aren't reference-counted and can be destroyed by one thread while
another still uses them

3 years agoincrement background task count while retrieving accounts too
Damyan Ivanov [Sat, 5 Jan 2019 07:52:19 +0000 (07:52 +0000)]
increment background task count while retrieving accounts too

3 years agopad last update label from the left
Damyan Ivanov [Fri, 4 Jan 2019 18:05:14 +0000 (18:05 +0000)]
pad last update label from the left

3 years agoanother major rework, transaction list is fully asynchronous
Damyan Ivanov [Fri, 4 Jan 2019 17:56:37 +0000 (17:56 +0000)]
another major rework, transaction list is fully asynchronous

3 years agowhitespace
Damyan Ivanov [Wed, 2 Jan 2019 20:45:10 +0000 (20:45 +0000)]
whitespace

3 years agohandle cancellation
Damyan Ivanov [Wed, 2 Jan 2019 20:45:07 +0000 (20:45 +0000)]
handle cancellation

3 years agouse enum for the parser state
Damyan Ivanov [Wed, 2 Jan 2019 20:44:51 +0000 (20:44 +0000)]
use enum for the parser state

3 years agouse a constant for the last refresh stamp option
Damyan Ivanov [Wed, 2 Jan 2019 20:44:30 +0000 (20:44 +0000)]
use a constant for the last refresh stamp option

3 years agofu no context for getWritableDatabase
Damyan Ivanov [Wed, 2 Jan 2019 20:44:03 +0000 (20:44 +0000)]
fu no context for getWritableDatabase

3 years agomove last update and progress bar from transaction list fragment to the main activity
Damyan Ivanov [Wed, 2 Jan 2019 20:35:23 +0000 (20:35 +0000)]
move last update and progress bar from transaction list fragment to the main activity

3 years agoremove context parameter from MLDB.getWritableDB
Damyan Ivanov [Wed, 2 Jan 2019 20:33:12 +0000 (20:33 +0000)]
remove context parameter from MLDB.getWritableDB

3 years agoset title when fragment is changed
Damyan Ivanov [Mon, 31 Dec 2018 19:20:21 +0000 (19:20 +0000)]
set title when fragment is changed

3 years agostreamlined database utility, fed with the application context upon startup
Damyan Ivanov [Mon, 31 Dec 2018 19:17:44 +0000 (19:17 +0000)]
streamlined database utility, fed with the application context upon startup

3 years agotranslation
Damyan Ivanov [Mon, 31 Dec 2018 19:12:46 +0000 (19:12 +0000)]
translation

3 years agounused string
Damyan Ivanov [Mon, 31 Dec 2018 19:12:44 +0000 (19:12 +0000)]
unused string

3 years agolabel → icon for the account name filter pane
Damyan Ivanov [Mon, 31 Dec 2018 19:12:41 +0000 (19:12 +0000)]
label → icon for the account name filter pane

3 years agowhitespace
Damyan Ivanov [Mon, 31 Dec 2018 19:07:32 +0000 (19:07 +0000)]
whitespace

3 years agoslight speed up on re-coloring inactive drawer items
Damyan Ivanov [Mon, 31 Dec 2018 19:07:21 +0000 (19:07 +0000)]
slight speed up on re-coloring inactive drawer items

3 years agofix current fragment indicator in the drawer after returning from the new transaction...
Damyan Ivanov [Mon, 31 Dec 2018 19:07:12 +0000 (19:07 +0000)]
fix current fragment indicator in the drawer after returning from the new transaction activity

3 years agoshow new transaction fab when fragment is changed
Damyan Ivanov [Mon, 31 Dec 2018 19:05:18 +0000 (19:05 +0000)]
show new transaction fab when fragment is changed

3 years agoshow/hide new transaction fab when transaction list is scrolled too
Damyan Ivanov [Mon, 31 Dec 2018 19:05:11 +0000 (19:05 +0000)]
show/hide new transaction fab when transaction list is scrolled too

3 years agogo to transactions for the account when an account is clicked in the account summary
Damyan Ivanov [Mon, 31 Dec 2018 19:00:20 +0000 (19:00 +0000)]
go to transactions for the account when an account is clicked in the account summary

3 years agomore violet color
Damyan Ivanov [Mon, 31 Dec 2018 17:41:27 +0000 (17:41 +0000)]
more violet color

3 years agorework drawer to be below the tool bar
Damyan Ivanov [Mon, 31 Dec 2018 17:41:20 +0000 (17:41 +0000)]
rework drawer to be below the tool bar

3 years agomore main activity rename, cleanup of unused stuff
Damyan Ivanov [Mon, 31 Dec 2018 05:35:23 +0000 (05:35 +0000)]
more main activity rename, cleanup of unused stuff

3 years agomajor refactor, make account summary and transaction list fragments, part of the...
Damyan Ivanov [Mon, 31 Dec 2018 05:31:57 +0000 (05:31 +0000)]
major refactor, make account summary and transaction list fragments, part of the "Main" activity

3 years agoredundant namespace
Damyan Ivanov [Sun, 30 Dec 2018 11:55:29 +0000 (11:55 +0000)]
redundant namespace

3 years agoadd transaction filter
Damyan Ivanov [Sun, 30 Dec 2018 11:50:44 +0000 (11:50 +0000)]
add transaction filter

3 years agofix check for non-zero running total
Damyan Ivanov [Sat, 29 Dec 2018 08:22:37 +0000 (08:22 +0000)]
fix check for non-zero running total

didn't work when the running total is negative

3 years agomove hook_autocompletion_adapter to MLDB
Damyan Ivanov [Sat, 22 Dec 2018 11:24:39 +0000 (11:24 +0000)]
move hook_autocompletion_adapter to MLDB

will be used in other places too

3 years agocorrect height
Damyan Ivanov [Sat, 22 Dec 2018 11:16:10 +0000 (11:16 +0000)]
correct height

3 years agoMLDB: always use the application context
Damyan Ivanov [Sat, 22 Dec 2018 08:12:09 +0000 (08:12 +0000)]
MLDB: always use the application context

kind of global singleton thing

3 years agoload transaction list from DB upon activity start
Damyan Ivanov [Sat, 22 Dec 2018 08:02:25 +0000 (08:02 +0000)]
load transaction list from DB upon activity start

3 years agocancelable transaction refresh
Damyan Ivanov [Sat, 22 Dec 2018 08:02:02 +0000 (08:02 +0000)]
cancelable transaction refresh

3 years agofu: single transaction list
Damyan Ivanov [Sat, 22 Dec 2018 07:59:54 +0000 (07:59 +0000)]
fu: single transaction list

3 years agoblack clear icon from Google
Damyan Ivanov [Sat, 22 Dec 2018 07:31:05 +0000 (07:31 +0000)]
black clear icon from Google

3 years agoput a 30 seconds timeout on network operations
Damyan Ivanov [Sat, 22 Dec 2018 07:29:33 +0000 (07:29 +0000)]
put a 30 seconds timeout on network operations

3 years agolet the model hold the (single) transaction list
Damyan Ivanov [Sat, 22 Dec 2018 07:29:18 +0000 (07:29 +0000)]
let the model hold the (single) transaction list

all access to the list goes via the model
transaction list is loaded upon activity launch if it was never downloaded

before there were two copies of the list that were out of sync

3 years agonoice
Damyan Ivanov [Sat, 22 Dec 2018 07:26:12 +0000 (07:26 +0000)]
noice

3 years agouse full account names in the transaction list
Damyan Ivanov [Fri, 21 Dec 2018 20:47:54 +0000 (20:47 +0000)]
use full account names in the transaction list

there is enough space

3 years agomake "manually" added account rows look the same as those coming from the layout
Damyan Ivanov [Fri, 21 Dec 2018 20:47:10 +0000 (20:47 +0000)]
make "manually" added account rows look the same as those coming from the layout

bottom padding was the difference, The TextView → AppCompatTextView is
just in case

3 years agoembed progress bar in the last update row
Damyan Ivanov [Fri, 21 Dec 2018 20:33:32 +0000 (20:33 +0000)]
embed progress bar in the last update row

3 years agoguard against a race condition when the transaction list is reduced while the scrolle...
Damyan Ivanov [Fri, 21 Dec 2018 20:29:14 +0000 (20:29 +0000)]
guard against a race condition when the transaction list is reduced while the scroller requests an item outside the range of the new list

3 years agosave a method call
Damyan Ivanov [Fri, 21 Dec 2018 20:28:53 +0000 (20:28 +0000)]
save a method call

3 years agotransaction load: replace the list atomically
Damyan Ivanov [Fri, 21 Dec 2018 20:23:20 +0000 (20:23 +0000)]
transaction load: replace the list atomically

otherwise it was emptied and filled up sequentially, while the scroller may
request an item at a position that is not yet loaded

3 years agoCardView!
Damyan Ivanov [Fri, 21 Dec 2018 20:22:58 +0000 (20:22 +0000)]
CardView!

3 years agounneeded id
Damyan Ivanov [Fri, 21 Dec 2018 20:21:02 +0000 (20:21 +0000)]
unneeded id

3 years agoextract a string into resource
Damyan Ivanov [Fri, 21 Dec 2018 20:20:51 +0000 (20:20 +0000)]
extract a string into resource

3 years agoleave progress bar there, just hidden
Damyan Ivanov [Fri, 21 Dec 2018 20:20:42 +0000 (20:20 +0000)]
leave progress bar there, just hidden

it is a bit ugly to let the scroller top jump around

3 years agofix the shadow under the last update row
Damyan Ivanov [Fri, 21 Dec 2018 20:15:10 +0000 (20:15 +0000)]
fix the shadow under the last update row

3 years agoadd another account row in the account list per transaction XML
Damyan Ivanov [Fri, 21 Dec 2018 19:40:12 +0000 (19:40 +0000)]
add another account row in the account list per transaction XML

3 years agoimplement parsing of account currency
Damyan Ivanov [Fri, 21 Dec 2018 19:39:56 +0000 (19:39 +0000)]
implement parsing of account currency

3 years agoborder under transaction header, other improvements. much better now
Damyan Ivanov [Fri, 21 Dec 2018 19:29:53 +0000 (19:29 +0000)]
border under transaction header, other improvements. much better now

3 years agolet the amount text view appear as wide as needed
Damyan Ivanov [Fri, 21 Dec 2018 19:28:22 +0000 (19:28 +0000)]
let the amount text view appear as wide as needed

3 years agono right padding of the transaction account amount
Damyan Ivanov [Fri, 21 Dec 2018 19:27:14 +0000 (19:27 +0000)]
no right padding of the transaction account amount

3 years agoseparate view for transaction date, bold description
Damyan Ivanov [Fri, 21 Dec 2018 18:50:44 +0000 (18:50 +0000)]
separate view for transaction date, bold description

3 years agofix scroll container height (was goung outside the screen); enable vartical scroll bar
Damyan Ivanov [Fri, 21 Dec 2018 18:50:16 +0000 (18:50 +0000)]
fix scroll container height (was goung outside the screen); enable vartical scroll bar

3 years agotransaction list: replace table layout with linear one
Damyan Ivanov [Fri, 21 Dec 2018 17:23:22 +0000 (17:23 +0000)]
transaction list: replace table layout with linear one

works faster, it seems, may be sped up more

3 years agocache short account names
Damyan Ivanov [Fri, 21 Dec 2018 17:04:39 +0000 (17:04 +0000)]
cache short account names

3 years agoreplace transaction accounts iterator with a getter
Damyan Ivanov [Fri, 21 Dec 2018 17:03:30 +0000 (17:03 +0000)]
replace transaction accounts iterator with a getter

3 years agosave a method call
Damyan Ivanov [Fri, 21 Dec 2018 17:00:13 +0000 (17:00 +0000)]
save a method call

3 years agostore table colors in a global glass
Damyan Ivanov [Fri, 21 Dec 2018 05:59:22 +0000 (05:59 +0000)]
store table colors in a global glass

updated by a custom application class upon configuration change