]> git.ktnx.net Git - mobile-ledger.git/log
mobile-ledger.git
4 years agopermit cleartext traffic on P
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

4 years agoParsedAmount: do not create a price member object by default
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

4 years agostyle the simulation watermark to stretch
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

4 years agofix NPE in ParsedLedgerTransaction.setTindex
Damyan Ivanov [Sat, 30 Nov 2019 14:10:35 +0000 (16:10 +0200)]
fix NPE in ParsedLedgerTransaction.setTindex

4 years agomove AsyncCrasher in its own file
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

4 years agoNT: add simulation watermark when simulation is enabled
Damyan Ivanov [Sat, 30 Nov 2019 10:54:01 +0000 (12:54 +0200)]
NT: add simulation watermark when simulation is enabled

4 years agofix saving transaction date when it is null (regression)
Damyan Ivanov [Wed, 27 Nov 2019 06:31:17 +0000 (08:31 +0200)]
fix saving transaction date when it is null (regression)

4 years agonew transaction: simulated backend communication is controller via menu (visible...
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)

4 years agoNT model/setDate: replace empty dates with null
Damyan Ivanov [Tue, 26 Nov 2019 22:04:19 +0000 (00:04 +0200)]
NT model/setDate: replace empty dates with null

4 years agoNT fragment: copy the account objects when constructing the transaction to send
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

4 years agoNT fragment: correct logic when determining whether to keep the entered data upon...
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

4 years agoNT fragment: bind the view model to the activity
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

4 years agoNT: pass save error to the data entry fragment upon re-appearance
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

4 years agoLedgerTransactionAccount: add copy constructor
Damyan Ivanov [Tue, 26 Nov 2019 21:58:15 +0000 (23:58 +0200)]
LedgerTransactionAccount: add copy constructor

4 years agowhitespace
Damyan Ivanov [Tue, 26 Nov 2019 21:57:55 +0000 (23:57 +0200)]
whitespace

4 years agowhitespace
Damyan Ivanov [Tue, 26 Nov 2019 21:57:27 +0000 (23:57 +0200)]
whitespace

4 years agoLedgerTransaction.asParsedTransaction: handle null date defaulting to today
Damyan Ivanov [Tue, 26 Nov 2019 21:57:13 +0000 (23:57 +0200)]
LedgerTransaction.asParsedTransaction: handle null date defaulting to today

4 years agowhitespace
Damyan Ivanov [Tue, 26 Nov 2019 21:56:28 +0000 (23:56 +0200)]
whitespace

4 years agonew transaction form: use a CoordinatorLayout as base, and poop the FAB out of the...
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

4 years agoNT: fragment animations all at medium speed
Damyan Ivanov [Tue, 26 Nov 2019 21:55:07 +0000 (23:55 +0200)]
NT: fragment animations all at medium speed

4 years agoTransaction saver task: add 30% probability of exception when simulating network...
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

4 years agonew transaction: (commented) simulate backend communication in debug builds
Damyan Ivanov [Tue, 26 Nov 2019 06:14:40 +0000 (08:14 +0200)]
new transaction: (commented) simulate backend communication in debug builds

4 years agoMisc: add routined for hiding the soft keyboard
Damyan Ivanov [Mon, 25 Nov 2019 22:08:01 +0000 (00:08 +0200)]
Misc: add routined for hiding the soft keyboard

4 years agoMisc.showSoftKeyboard: handle fragemtn.getActivity() returning null
Damyan Ivanov [Mon, 25 Nov 2019 22:07:24 +0000 (00:07 +0200)]
Misc.showSoftKeyboard: handle fragemtn.getActivity() returning null

4 years agotransaction save progress - better centering of the progress bar
Damyan Ivanov [Mon, 25 Nov 2019 22:06:38 +0000 (00:06 +0200)]
transaction save progress - better centering of the progress bar

4 years agoNT: account/amount focus also survives re-configuration
Damyan Ivanov [Mon, 25 Nov 2019 21:25:52 +0000 (23:25 +0200)]
NT: account/amount focus also survives re-configuration

4 years agowhitespace
Damyan Ivanov [Mon, 25 Nov 2019 21:12:16 +0000 (23:12 +0200)]
whitespace

4 years agoNT: do not select all text in description and account name
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

4 years agoNT: plain LinearLayout is good enough here
Damyan Ivanov [Mon, 25 Nov 2019 20:58:18 +0000 (22:58 +0200)]
NT: plain LinearLayout is good enough here

4 years agoNT: row focus survives re-configuration
Damyan Ivanov [Mon, 25 Nov 2019 20:57:41 +0000 (22:57 +0200)]
NT: row focus survives re-configuration

4 years agonew transaction fragment: survive configuration changes / fragment restart
Damyan Ivanov [Sun, 24 Nov 2019 21:02:44 +0000 (23:02 +0200)]
new transaction fragment: survive configuration changes / fragment restart

4 years agowhitespace
Damyan Ivanov [Sun, 24 Nov 2019 20:46:09 +0000 (22:46 +0200)]
whitespace

4 years agonew transaction activity appears from the bottom edge
Damyan Ivanov [Sun, 24 Nov 2019 20:45:35 +0000 (22:45 +0200)]
new transaction activity appears from the bottom edge

4 years agoreplace single case switch() with if()
Damyan Ivanov [Sun, 24 Nov 2019 20:45:07 +0000 (22:45 +0200)]
replace single case switch() with if()

4 years agoremove unised constant
Damyan Ivanov [Sun, 24 Nov 2019 20:44:51 +0000 (22:44 +0200)]
remove unised constant

4 years agoslightly shorter text while saving the transaction
Damyan Ivanov [Sun, 24 Nov 2019 20:44:43 +0000 (22:44 +0200)]
slightly shorter text while saving the transaction

4 years agomove new transaction UI into a fragment, have a clean saving progress
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

4 years agonew transaction: extract account list in a separate layout
Damyan Ivanov [Sun, 24 Nov 2019 14:39:59 +0000 (16:39 +0200)]
new transaction: extract account list in a separate layout

4 years agoAdd strings for saving transaction layout
Damyan Ivanov [Sun, 24 Nov 2019 14:38:08 +0000 (16:38 +0200)]
Add strings for saving transaction layout

4 years agoadd upward animations
Damyan Ivanov [Sun, 24 Nov 2019 14:37:35 +0000 (16:37 +0200)]
add upward animations

4 years agobetter calendar icon
Damyan Ivanov [Sun, 24 Nov 2019 14:00:54 +0000 (16:00 +0200)]
better calendar icon

4 years agoNT: date input is no longer focusable
Damyan Ivanov [Sun, 24 Nov 2019 11:14:41 +0000 (13:14 +0200)]
NT: date input is no longer focusable

4 years agoNT: convert top row to LinearLayout
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

4 years agoNT: fix month interpretation when formatting calendar date
Damyan Ivanov [Sun, 24 Nov 2019 11:13:11 +0000 (13:13 +0200)]
NT: fix month interpretation when formatting calendar date

4 years agoadd calendar drawable to the date input of the new transaction activity
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

4 years agocalendar item icons
Damyan Ivanov [Sun, 24 Nov 2019 11:11:52 +0000 (13:11 +0200)]
calendar item icons

4 years agomore 1.15.1 compatibility - default values for tdate2, tprecedingcomment; add pdate2
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

4 years agoattempt to be compatible with hledger-web 1.15.1
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

4 years agoadd missing horizontal constraints
Damyan Ivanov [Sun, 17 Nov 2019 17:37:41 +0000 (19:37 +0200)]
add missing horizontal constraints

4 years agoreplace anonymous class with lambda
Damyan Ivanov [Sun, 17 Nov 2019 17:27:40 +0000 (19:27 +0200)]
replace anonymous class with lambda

4 years agorework checkTransactionSubmittable
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

4 years agowhitespace
Damyan Ivanov [Sun, 17 Nov 2019 17:24:04 +0000 (19:24 +0200)]
whitespace

4 years agoNT activity: drop method resetForm()
Damyan Ivanov [Sun, 17 Nov 2019 17:23:49 +0000 (19:23 +0200)]
NT activity: drop method resetForm()

hollow wrapper around listAdapter.reset();

4 years agoNT setData(): expand ? : to an if, always set hint
Damyan Ivanov [Sun, 17 Nov 2019 17:20:27 +0000 (19:20 +0200)]
NT setData(): expand ? : to an if, always set hint

4 years agoNT hint boserver: use setHint(resource) when no hint is given
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

4 years agoNewTransaction Item.setEditable: allow to be called for head row too
Damyan Ivanov [Sun, 17 Nov 2019 17:15:40 +0000 (19:15 +0200)]
NewTransaction Item.setEditable: allow to be called for head row too

4 years agoNew transaction Item: variant of ensureType with two allowed types
Damyan Ivanov [Sun, 17 Nov 2019 17:14:50 +0000 (19:14 +0200)]
New transaction Item: variant of ensureType with two allowed types

4 years agoNewTransactionModel: drop unused method isEditable()
Damyan Ivanov [Sun, 17 Nov 2019 17:14:01 +0000 (19:14 +0200)]
NewTransactionModel: drop unused method isEditable()

4 years agoNew transaction: when toggling editting, include the head row
Damyan Ivanov [Sun, 17 Nov 2019 17:13:18 +0000 (19:13 +0200)]
New transaction: when toggling editting, include the head row

4 years agoNewTransactionModel/Item: initialize amount hint on creation
Damyan Ivanov [Sun, 17 Nov 2019 17:12:13 +0000 (19:12 +0200)]
NewTransactionModel/Item: initialize amount hint on creation

fixes "ghost" hints

4 years agowhitespace
Damyan Ivanov [Wed, 13 Nov 2019 21:40:37 +0000 (23:40 +0200)]
whitespace

4 years agoinvert if(!smth) {} else {} condition
Damyan Ivanov [Wed, 13 Nov 2019 21:40:29 +0000 (23:40 +0200)]
invert if(!smth) {} else {} condition

4 years agoNewTransItem/amountHint: allow for null hints, and avoid extra Live triggers
Damyan Ivanov [Wed, 13 Nov 2019 21:39:46 +0000 (23:39 +0200)]
NewTransItem/amountHint: allow for null hints, and avoid extra Live triggers

4 years agoNew transaction: locale aware number input
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)

4 years agonew transaction: locale-aware number formatting (broken in RecyclerView migration)
Damyan Ivanov [Wed, 13 Nov 2019 21:36:52 +0000 (23:36 +0200)]
new transaction: locale-aware number formatting (broken in RecyclerView migration)

4 years agowhitespace
Damyan Ivanov [Wed, 13 Nov 2019 20:15:51 +0000 (22:15 +0200)]
whitespace

4 years agoNew transaction: rework empty amounts hints, broken after RecyclerView migration
Damyan Ivanov [Wed, 13 Nov 2019 20:15:26 +0000 (22:15 +0200)]
New transaction: rework empty amounts hints, broken after RecyclerView migration

4 years agowhitespace
Damyan Ivanov [Wed, 13 Nov 2019 19:43:59 +0000 (21:43 +0200)]
whitespace

4 years agoNew transaction: fix clearing the single negative amount broken after ReecyclerView...
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

4 years agoNew transaction: wider amount box, accommodating -999.99 at least
Damyan Ivanov [Wed, 13 Nov 2019 19:42:25 +0000 (21:42 +0200)]
New transaction: wider amount box, accommodating -999.99 at least

4 years agowhitespace
Damyan Ivanov [Mon, 11 Nov 2019 06:47:58 +0000 (08:47 +0200)]
whitespace

4 years agocatch bad numbers when parsing entered amount
Damyan Ivanov [Mon, 11 Nov 2019 06:47:38 +0000 (08:47 +0200)]
catch bad numbers when parsing entered amount

4 years agofix off by one error when filling transaction after selecting description
Damyan Ivanov [Mon, 11 Nov 2019 06:39:42 +0000 (08:39 +0200)]
fix off by one error when filling transaction after selecting description

4 years agofix format spec in exception reporting
Damyan Ivanov [Mon, 11 Nov 2019 06:39:20 +0000 (08:39 +0200)]
fix format spec in exception reporting

bonus: spot the irony

4 years agoshowSoftKeyboard: show also when the present keyboard has no keys (e.g. there is...
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)

4 years agoDatePickerFragment: dismiss before invoking the date picked listener
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

4 years agoshowSoftKeyboard: act only of no hardware keyboard is present and open
Damyan Ivanov [Mon, 11 Nov 2019 06:28:41 +0000 (08:28 +0200)]
showSoftKeyboard: act only of no hardware keyboard is present and open

4 years agoshowSoftKeyboard(fragment): delegate to showSoftKeyboard(fragment.getActivity())
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

4 years agosplit ef/else/if into separate statements
Damyan Ivanov [Sun, 10 Nov 2019 17:50:47 +0000 (19:50 +0200)]
split ef/else/if into separate statements

4 years agodebug++
Damyan Ivanov [Sun, 10 Nov 2019 17:50:05 +0000 (19:50 +0200)]
debug++

4 years agodebug--
Damyan Ivanov [Sun, 10 Nov 2019 17:49:56 +0000 (19:49 +0200)]
debug--

4 years agoconvert new transaction item 'editable' flat to LiveData
Damyan Ivanov [Sun, 10 Nov 2019 17:49:26 +0000 (19:49 +0200)]
convert new transaction item 'editable' flat to LiveData

4 years agodebug++
Damyan Ivanov [Sun, 10 Nov 2019 17:48:22 +0000 (19:48 +0200)]
debug++

4 years agorewrap
Damyan Ivanov [Sun, 10 Nov 2019 17:46:32 +0000 (19:46 +0200)]
rewrap

4 years agofix swipe-away in reworked new transaction activity
Damyan Ivanov [Sun, 10 Nov 2019 17:44:16 +0000 (19:44 +0200)]
fix swipe-away in reworked new transaction activity

the first item (date and description) can't be swiped, as well as the last
two remaining accounts

4 years agouse Misc.isZero for zero-like comparison
Damyan Ivanov [Sun, 10 Nov 2019 17:39:51 +0000 (19:39 +0200)]
use Misc.isZero for zero-like comparison

4 years agomake soft keyboard appear when new transaction description/account gets focus
Damyan Ivanov [Sun, 10 Nov 2019 17:39:09 +0000 (19:39 +0200)]
make soft keyboard appear when new transaction description/account gets focus

this is used when the focus is given artificially, when date is picked
(and focus goes to the transaction description) and when a transaction
description is selected from the drop down (and focus goes to the first
account name)

4 years agoauto select new transaction description/amounts upon focus
Damyan Ivanov [Sun, 10 Nov 2019 17:34:07 +0000 (19:34 +0200)]
auto select new transaction description/amounts upon focus

4 years agoNewTransItemHolder: prevent sync loops via model data observers
Damyan Ivanov [Sun, 10 Nov 2019 11:22:17 +0000 (13:22 +0200)]
NewTransItemHolder: prevent sync loops via model data observers

when the data in the model is changed (e.g. in a reset operation) the
new data needs to be sent to the UI without this causing data sync back
to the model

4 years agoNewTransAct: set global profile in initProfile() when called via app shortcut
Damyan Ivanov [Sun, 10 Nov 2019 11:20:37 +0000 (13:20 +0200)]
NewTransAct: set global profile in initProfile() when called via app shortcut

same is done in super.initProfile() during normal startup

the global profile setting is needed in the item holder when setting up
lookups

4 years agoProfileThemedActivity: fetch current profile synchronously
Damyan Ivanov [Sun, 10 Nov 2019 09:15:47 +0000 (11:15 +0200)]
ProfileThemedActivity: fetch current profile synchronously

the onCreate method must finish setting up the theme before
returning and giving way to creation of views

if the current profile data comes asynchronously, it may be too late and
some views may have already been created

4 years agowhitespace
Damyan Ivanov [Sat, 9 Nov 2019 23:16:47 +0000 (01:16 +0200)]
whitespace

4 years agomore robust theme ID calculation
Damyan Ivanov [Sat, 9 Nov 2019 23:15:36 +0000 (01:15 +0200)]
more robust theme ID calculation

not depending on specific resource ID ordering that is no longer present
with recent android studio versions

4 years agorework new transaction activity with a RecyclerView
Damyan Ivanov [Sat, 9 Nov 2019 22:51:00 +0000 (00:51 +0200)]
rework new transaction activity with a RecyclerView

in the process:
 - decouple DatePickerFragment from the new transaction activity
 - fix ImeAction setting
 - fix focusing next element when date/old transaction/account name is picked

4 years agoupgrade gradle plugin to 3.5.2
Damyan Ivanov [Sat, 9 Nov 2019 22:42:14 +0000 (00:42 +0200)]
upgrade gradle plugin to 3.5.2

4 years agowhitespace
Damyan Ivanov [Sat, 19 Oct 2019 13:17:43 +0000 (16:17 +0300)]
whitespace

4 years agoProfileThemedActivity: load profile from options if none is loaded yet
Damyan Ivanov [Sat, 19 Oct 2019 13:17:16 +0000 (16:17 +0300)]
ProfileThemedActivity: load profile from options if none is loaded yet

This may happen if the app is removed from memory while the new transaction
activity is active; when the app is started later it goes straight to the
new transaction activity and there is no profile loaded from the options db
in the normal startup the main activity is first and it loads the profile.

Another way to start the new transaction activity without passing via the
main activity is through the app shortcuts

4 years agoRe-enable app shortcuts on android 7.1+ (Nougat++)
Damyan Ivanov [Sat, 19 Oct 2019 09:22:38 +0000 (12:22 +0300)]
Re-enable app shortcuts on android 7.1+ (Nougat++)

was wrongly requiring android 8 (oreo)

4 years agofactor-out parsing string as hledger's ParsedQuantity
Damyan Ivanov [Sun, 22 Sep 2019 11:48:44 +0000 (14:48 +0300)]
factor-out parsing string as hledger's ParsedQuantity

the separate method can now be used for setting the object's value

4 years agowhitespace
Damyan Ivanov [Sat, 21 Sep 2019 17:54:11 +0000 (20:54 +0300)]
whitespace