]>
git.ktnx.net Git - mobile-ledger.git/log
Damyan Ivanov [Sat, 21 Dec 2019 21:24:16 +0000 (23:24 +0200)]
store profile API version in the database
Damyan Ivanov [Sat, 21 Dec 2019 21:22:14 +0000 (23:22 +0200)]
support both 1.14 and 1.15 JSON APIs
this is a major and somewhat messy rework
the idea is that several APIs should be able to co-exist
conversion between MoLe's internal structures and the JSON API is moved
to the version-dependent JSON representations
an 'auto' setting for the version (the default) attempts all available
API versions starting from the latest
HTTP status 400 is interpreted as "version mismatch" (same as 405)
Damyan Ivanov [Thu, 19 Dec 2019 20:06:37 +0000 (22:06 +0200)]
whitespace
Damyan Ivanov [Thu, 19 Dec 2019 20:05:56 +0000 (22:05 +0200)]
profile details fragment: move setup from onCreate to onActivityCreated
this is what the docs suggest and it fixes a problem with the toolbar
title changing to from profile name to 'Profile details' when the screen
is rotated. This is because the title is set during the setup and onCreate
isn't necessarily run when the screen is rotated (contrary to
onActivityCreated which is re-run since the activity is re-created on
reconfiguration (of which screen rotation is an instance))
Damyan Ivanov [Wed, 18 Dec 2019 21:54:08 +0000 (23:54 +0200)]
rearrangement
Damyan Ivanov [Wed, 18 Dec 2019 21:53:54 +0000 (23:53 +0200)]
profile details: move preferred last transaction filter and future dates together under the 'allow new transactions' switch
Damyan Ivanov [Wed, 18 Dec 2019 21:51:39 +0000 (23:51 +0200)]
restore ability to scroll the profile details screen especially when the soft keyboard is visible
Damyan Ivanov [Wed, 18 Dec 2019 21:47:57 +0000 (23:47 +0200)]
add a FIXME about a concurrent problem (crash) while loading transactions
Damyan Ivanov [Wed, 18 Dec 2019 21:47:04 +0000 (23:47 +0200)]
bump versions of gradle and a bunch of libraries
Damyan Ivanov [Tue, 17 Dec 2019 19:31:17 +0000 (21:31 +0200)]
unused variable
Damyan Ivanov [Tue, 17 Dec 2019 19:31:07 +0000 (21:31 +0200)]
whitespace and wrapping
Damyan Ivanov [Tue, 17 Dec 2019 19:29:54 +0000 (21:29 +0200)]
profile editor: consistent item colors in the profile details screen
Damyan Ivanov [Tue, 17 Dec 2019 19:29:01 +0000 (21:29 +0200)]
profile editor: remove the profile options when removing a profile
Damyan Ivanov [Tue, 17 Dec 2019 19:28:21 +0000 (21:28 +0200)]
honor the future dates setting in the new transaction date picker
Damyan Ivanov [Tue, 17 Dec 2019 19:27:11 +0000 (21:27 +0200)]
manage future dates entry option in the profile editor
Damyan Ivanov [Tue, 17 Dec 2019 19:20:32 +0000 (21:20 +0200)]
add profile option for entering dates in the future
Damyan Ivanov [Tue, 10 Dec 2019 19:56:22 +0000 (21:56 +0200)]
SendTransactionTask: log full request JSON in simulation mode (debug builds)
Damyan Ivanov [Tue, 10 Dec 2019 19:54:07 +0000 (21:54 +0200)]
bump version
Damyan Ivanov [Tue, 3 Dec 2019 20:35:05 +0000 (20:35 +0000)]
prepare v0.11.0/30
Damyan Ivanov [Sun, 1 Dec 2019 06:23:56 +0000 (06:23 +0000)]
Fix hledger-web URL in README.md
Damyan Ivanov [Sat, 30 Nov 2019 21:26:48 +0000 (23:26 +0200)]
permit cleartext traffic on P
clearly using https is better, but this is something outside of MoLe's
control, so let the users use whatever they want
The profile editor already warns when authorization is used over plain
http
Damyan Ivanov [Sat, 30 Nov 2019 21:04:41 +0000 (23:04 +0200)]
ParsedAmount: do not create a price member object by default
when no price is entered the member should be sent as null, otherwise
hledger-web 1.15.2 rejects the request with err 400 and complains about
invalid price object
further fixing this would need making it send a proper price object, but
since MoLe doesn't support entering prices, that is left for the future
Damyan Ivanov [Sat, 30 Nov 2019 14:11:56 +0000 (16:11 +0200)]
style the simulation watermark to stretch
requires API 26, so also set a larger default textSize for those not
lucky to have modern Android
Damyan Ivanov [Sat, 30 Nov 2019 14:10:35 +0000 (16:10 +0200)]
fix NPE in ParsedLedgerTransaction.setTindex
Damyan Ivanov [Sat, 30 Nov 2019 10:54:47 +0000 (12:54 +0200)]
move AsyncCrasher in its own file
avoids implicit reference to parent activity class which may lead to
memory leaks
Damyan Ivanov [Sat, 30 Nov 2019 10:54:01 +0000 (12:54 +0200)]
NT: add simulation watermark when simulation is enabled
Damyan Ivanov [Wed, 27 Nov 2019 06:31:17 +0000 (08:31 +0200)]
fix saving transaction date when it is null (regression)
Damyan Ivanov [Wed, 27 Nov 2019 06:30:38 +0000 (08:30 +0200)]
new transaction: simulated backend communication is controller via menu (visible only in debug builds)
Damyan Ivanov [Tue, 26 Nov 2019 22:04:19 +0000 (00:04 +0200)]
NT model/setDate: replace empty dates with null
Damyan Ivanov [Tue, 26 Nov 2019 22:03:50 +0000 (00:03 +0200)]
NT fragment: copy the account objects when constructing the transaction to send
the single account row without an amount has its amount set and this should
not reflect the data in the model which may be re-displayed if when the
save is unsuccessful
Damyan Ivanov [Tue, 26 Nov 2019 22:01:59 +0000 (00:01 +0200)]
NT fragment: correct logic when determining whether to keep the entered data upon fragment attachment
Damyan Ivanov [Tue, 26 Nov 2019 22:00:39 +0000 (00:00 +0200)]
NT fragment: bind the view model to the activity
the fragment can be re-created when navigating to the save progress
fragment. when it is re-created the view model instance is re-created too,
losing the unsaved transaction
Damyan Ivanov [Tue, 26 Nov 2019 21:58:50 +0000 (23:58 +0200)]
NT: pass save error to the data entry fragment upon re-appearance
Damyan Ivanov [Tue, 26 Nov 2019 21:58:15 +0000 (23:58 +0200)]
LedgerTransactionAccount: add copy constructor
Damyan Ivanov [Tue, 26 Nov 2019 21:57:55 +0000 (23:57 +0200)]
whitespace
Damyan Ivanov [Tue, 26 Nov 2019 21:57:27 +0000 (23:57 +0200)]
whitespace
Damyan Ivanov [Tue, 26 Nov 2019 21:57:13 +0000 (23:57 +0200)]
LedgerTransaction.asParsedTransaction: handle null date defaulting to today
Damyan Ivanov [Tue, 26 Nov 2019 21:56:28 +0000 (23:56 +0200)]
whitespace
Damyan Ivanov [Tue, 26 Nov 2019 21:56:05 +0000 (23:56 +0200)]
new transaction form: use a CoordinatorLayout as base, and poop the FAB out of the constraint layout
makes it behave nice when a snack bar message appears
Damyan Ivanov [Tue, 26 Nov 2019 21:55:07 +0000 (23:55 +0200)]
NT: fragment animations all at medium speed
Damyan Ivanov [Tue, 26 Nov 2019 21:54:27 +0000 (23:54 +0200)]
Transaction saver task: add 30% probability of exception when simulating network activity
Damyan Ivanov [Tue, 26 Nov 2019 06:14:40 +0000 (08:14 +0200)]
new transaction: (commented) simulate backend communication in debug builds
Damyan Ivanov [Mon, 25 Nov 2019 22:08:01 +0000 (00:08 +0200)]
Misc: add routined for hiding the soft keyboard
Damyan Ivanov [Mon, 25 Nov 2019 22:07:24 +0000 (00:07 +0200)]
Misc.showSoftKeyboard: handle fragemtn.getActivity() returning null
Damyan Ivanov [Mon, 25 Nov 2019 22:06:38 +0000 (00:06 +0200)]
transaction save progress - better centering of the progress bar
Damyan Ivanov [Mon, 25 Nov 2019 21:25:52 +0000 (23:25 +0200)]
NT: account/amount focus also survives re-configuration
Damyan Ivanov [Mon, 25 Nov 2019 21:12:16 +0000 (23:12 +0200)]
whitespace
Damyan Ivanov [Mon, 25 Nov 2019 21:11:47 +0000 (23:11 +0200)]
NT: do not select all text in description and account name
we have the [X] to clear the input if needed and auto-select-all on
large inputs is visually disturbing
Damyan Ivanov [Mon, 25 Nov 2019 20:58:18 +0000 (22:58 +0200)]
NT: plain LinearLayout is good enough here
Damyan Ivanov [Mon, 25 Nov 2019 20:57:41 +0000 (22:57 +0200)]
NT: row focus survives re-configuration
Damyan Ivanov [Sun, 24 Nov 2019 21:02:44 +0000 (23:02 +0200)]
new transaction fragment: survive configuration changes / fragment restart
Damyan Ivanov [Sun, 24 Nov 2019 20:46:09 +0000 (22:46 +0200)]
whitespace
Damyan Ivanov [Sun, 24 Nov 2019 20:45:35 +0000 (22:45 +0200)]
new transaction activity appears from the bottom edge
Damyan Ivanov [Sun, 24 Nov 2019 20:45:07 +0000 (22:45 +0200)]
replace single case switch() with if()
Damyan Ivanov [Sun, 24 Nov 2019 20:44:51 +0000 (22:44 +0200)]
remove unised constant
Damyan Ivanov [Sun, 24 Nov 2019 20:44:43 +0000 (22:44 +0200)]
slightly shorter text while saving the transaction
Damyan Ivanov [Sun, 24 Nov 2019 20:43:43 +0000 (22:43 +0200)]
move new transaction UI into a fragment, have a clean saving progress
Damyan Ivanov [Sun, 24 Nov 2019 14:39:59 +0000 (16:39 +0200)]
new transaction: extract account list in a separate layout
Damyan Ivanov [Sun, 24 Nov 2019 14:38:08 +0000 (16:38 +0200)]
Add strings for saving transaction layout
Damyan Ivanov [Sun, 24 Nov 2019 14:37:35 +0000 (16:37 +0200)]
add upward animations
Damyan Ivanov [Sun, 24 Nov 2019 14:00:54 +0000 (16:00 +0200)]
better calendar icon
Damyan Ivanov [Sun, 24 Nov 2019 11:14:41 +0000 (13:14 +0200)]
NT: date input is no longer focusable
Damyan Ivanov [Sun, 24 Nov 2019 11:14:16 +0000 (13:14 +0200)]
NT: convert top row to LinearLayout
handles two-row date field better, aligning the description to the bottom
Damyan Ivanov [Sun, 24 Nov 2019 11:13:11 +0000 (13:13 +0200)]
NT: fix month interpretation when formatting calendar date
Damyan Ivanov [Sun, 24 Nov 2019 11:12:41 +0000 (13:12 +0200)]
add calendar drawable to the date input of the new transaction activity
Damyan Ivanov [Sun, 24 Nov 2019 11:11:52 +0000 (13:11 +0200)]
calendar item icons
Damyan Ivanov [Wed, 20 Nov 2019 20:53:15 +0000 (22:53 +0200)]
more 1.15.1 compatibility - default values for tdate2, tprecedingcomment; add pdate2
Damyan Ivanov [Wed, 20 Nov 2019 20:52:27 +0000 (22:52 +0200)]
attempt to be compatible with hledger-web 1.15.1
add 'ptransaction_' field to the postings
Damyan Ivanov [Sun, 17 Nov 2019 17:37:41 +0000 (19:37 +0200)]
add missing horizontal constraints
Damyan Ivanov [Sun, 17 Nov 2019 17:27:40 +0000 (19:27 +0200)]
replace anonymous class with lambda
Damyan Ivanov [Sun, 17 Nov 2019 17:25:14 +0000 (19:25 +0200)]
rework checkTransactionSubmittable
more debug, clear rules, and hints when decision is made
Damyan Ivanov [Sun, 17 Nov 2019 17:24:04 +0000 (19:24 +0200)]
whitespace
Damyan Ivanov [Sun, 17 Nov 2019 17:23:49 +0000 (19:23 +0200)]
NT activity: drop method resetForm()
hollow wrapper around listAdapter.reset();
Damyan Ivanov [Sun, 17 Nov 2019 17:20:27 +0000 (19:20 +0200)]
NT setData(): expand ? : to an if, always set hint
Damyan Ivanov [Sun, 17 Nov 2019 17:18:04 +0000 (19:18 +0200)]
NT hint boserver: use setHint(resource) when no hint is given
instead of fetching the resource value
Damyan Ivanov [Sun, 17 Nov 2019 17:15:40 +0000 (19:15 +0200)]
NewTransaction Item.setEditable: allow to be called for head row too
Damyan Ivanov [Sun, 17 Nov 2019 17:14:50 +0000 (19:14 +0200)]
New transaction Item: variant of ensureType with two allowed types
Damyan Ivanov [Sun, 17 Nov 2019 17:14:01 +0000 (19:14 +0200)]
NewTransactionModel: drop unused method isEditable()
Damyan Ivanov [Sun, 17 Nov 2019 17:13:18 +0000 (19:13 +0200)]
New transaction: when toggling editting, include the head row
Damyan Ivanov [Sun, 17 Nov 2019 17:12:13 +0000 (19:12 +0200)]
NewTransactionModel/Item: initialize amount hint on creation
fixes "ghost" hints
Damyan Ivanov [Wed, 13 Nov 2019 21:40:37 +0000 (23:40 +0200)]
whitespace
Damyan Ivanov [Wed, 13 Nov 2019 21:40:29 +0000 (23:40 +0200)]
invert if(!smth) {} else {} condition
Damyan Ivanov [Wed, 13 Nov 2019 21:39:46 +0000 (23:39 +0200)]
NewTransItem/amountHint: allow for null hints, and avoid extra Live triggers
Damyan Ivanov [Wed, 13 Nov 2019 21:38:58 +0000 (23:38 +0200)]
New transaction: locale aware number input
uses hacks on pre-O devices that break inserting "-" at the beginning
(requires that the minus is entered on an empty field)
Damyan Ivanov [Wed, 13 Nov 2019 21:36:52 +0000 (23:36 +0200)]
new transaction: locale-aware number formatting (broken in RecyclerView migration)
Damyan Ivanov [Wed, 13 Nov 2019 20:15:51 +0000 (22:15 +0200)]
whitespace
Damyan Ivanov [Wed, 13 Nov 2019 20:15:26 +0000 (22:15 +0200)]
New transaction: rework empty amounts hints, broken after RecyclerView migration
Damyan Ivanov [Wed, 13 Nov 2019 19:43:59 +0000 (21:43 +0200)]
whitespace
Damyan Ivanov [Wed, 13 Nov 2019 19:43:41 +0000 (21:43 +0200)]
New transaction: fix clearing the single negative amount broken after ReecyclerView migration
Damyan Ivanov [Wed, 13 Nov 2019 19:42:25 +0000 (21:42 +0200)]
New transaction: wider amount box, accommodating -999.99 at least
Damyan Ivanov [Mon, 11 Nov 2019 06:47:58 +0000 (08:47 +0200)]
whitespace
Damyan Ivanov [Mon, 11 Nov 2019 06:47:38 +0000 (08:47 +0200)]
catch bad numbers when parsing entered amount
Damyan Ivanov [Mon, 11 Nov 2019 06:39:42 +0000 (08:39 +0200)]
fix off by one error when filling transaction after selecting description
Damyan Ivanov [Mon, 11 Nov 2019 06:39:20 +0000 (08:39 +0200)]
fix format spec in exception reporting
bonus: spot the irony
Damyan Ivanov [Mon, 11 Nov 2019 06:35:00 +0000 (08:35 +0200)]
showSoftKeyboard: show also when the present keyboard has no keys (e.g. there is no hardware keyboard)
Damyan Ivanov [Mon, 11 Nov 2019 06:29:44 +0000 (08:29 +0200)]
DatePickerFragment: dismiss before invoking the date picked listener
may want to do something with the focus
Damyan Ivanov [Mon, 11 Nov 2019 06:28:41 +0000 (08:28 +0200)]
showSoftKeyboard: act only of no hardware keyboard is present and open
Damyan Ivanov [Mon, 11 Nov 2019 06:27:48 +0000 (08:27 +0200)]
showSoftKeyboard(fragment): delegate to showSoftKeyboard(fragment.getActivity())
no need to implement the same thing multiple times
Damyan Ivanov [Sun, 10 Nov 2019 17:50:47 +0000 (19:50 +0200)]
split ef/else/if into separate statements
Damyan Ivanov [Sun, 10 Nov 2019 17:50:05 +0000 (19:50 +0200)]
debug++