]>
git.ktnx.net Git - mobile-ledger.git/log
Damyan Ivanov [Sat, 20 Jul 2019 19:18:23 +0000 (22:18 +0300)]
replace .clone() with a copy constructor
fixes a compiler warning
Damyan Ivanov [Sat, 20 Jul 2019 19:17:47 +0000 (22:17 +0300)]
streamline profile validation
avoids insistent warnings about invalid URL
Damyan Ivanov [Sat, 20 Jul 2019 18:47:54 +0000 (21:47 +0300)]
add navigation libraries to gradle dependencies
not really used for now, but may be in the future
Damyan Ivanov [Sat, 20 Jul 2019 18:45:58 +0000 (21:45 +0300)]
require URL protocol to be HTTP or HTTPS
Damyan Ivanov [Sat, 20 Jul 2019 18:36:37 +0000 (21:36 +0300)]
warn when using authentication with insecure HTTP scheme
Damyan Ivanov [Sat, 20 Jul 2019 18:09:50 +0000 (21:09 +0300)]
clarify that crash reports are sent via email and user can review them before sending
Damyan Ivanov [Sat, 20 Jul 2019 18:09:09 +0000 (21:09 +0300)]
strings: replace three dots with ellipsis
Damyan Ivanov [Sat, 20 Jul 2019 17:52:21 +0000 (20:52 +0300)]
add contentDescription for the color picker button in the profile editor
Damyan Ivanov [Sat, 20 Jul 2019 17:51:45 +0000 (20:51 +0300)]
remove unused namespace declaration
Damyan Ivanov [Thu, 18 Jul 2019 19:41:24 +0000 (22:41 +0300)]
bump gradle version
Damyan Ivanov [Sat, 13 Jul 2019 05:54:51 +0000 (08:54 +0300)]
whitespace
Damyan Ivanov [Sat, 13 Jul 2019 05:53:46 +0000 (08:53 +0300)]
profile editor: validate entered URL
Damyan Ivanov [Sat, 13 Jul 2019 05:38:37 +0000 (08:38 +0300)]
replace hard-coded basic HTTP authentication with triggered Authenticator
checks whether host name matches
avoids exposing authentication data to wifi portals
Damyan Ivanov [Sat, 13 Jul 2019 05:35:59 +0000 (08:35 +0300)]
whitespace
Damyan Ivanov [Thu, 11 Jul 2019 09:51:36 +0000 (12:51 +0300)]
gradle: update a bunch of libraries to the current stable version
appcompat, material, lifecycle-extensions, recyclerview, test runners
Damyan Ivanov [Sun, 30 Jun 2019 10:32:40 +0000 (10:32 +0000)]
prepare v0.10.3/29
Damyan Ivanov [Fri, 28 Jun 2019 20:14:24 +0000 (23:14 +0300)]
add a test for the ParsedQuantity(String) constructor
Damyan Ivanov [Fri, 28 Jun 2019 20:13:36 +0000 (23:13 +0300)]
add constructor for json.ParsedQuantity that instantiates from string
fixes a reported crash
Damyan Ivanov [Fri, 14 Jun 2019 16:37:34 +0000 (16:37 +0000)]
prepare 0.10.2 (28) release
Damyan Ivanov [Fri, 14 Jun 2019 16:29:32 +0000 (19:29 +0300)]
Another JSON parser fix from Mattéo Delabre, this time for the posting tags
Damyan Ivanov [Tue, 11 Jun 2019 20:13:03 +0000 (23:13 +0300)]
Fix tags parsing with JSON backend
Patch by Mattéo Delabre
Damyan Ivanov [Wed, 5 Jun 2019 18:46:25 +0000 (18:46 +0000)]
prepare 0.10.1/27 release
Damyan Ivanov [Wed, 5 Jun 2019 18:34:16 +0000 (21:34 +0300)]
legacy parser: do not crash with amounts like '1,234.56'
Damyan Ivanov [Wed, 5 Jun 2019 18:27:50 +0000 (21:27 +0300)]
add MoLe version to the crash report
Damyan Ivanov [Sat, 1 Jun 2019 19:21:37 +0000 (22:21 +0300)]
better color for the new transaction save progress spinner
the button uses the accent color, so the progress should use the primary
Damyan Ivanov [Sat, 1 Jun 2019 16:49:36 +0000 (19:49 +0300)]
whitespace
Damyan Ivanov [Sat, 1 Jun 2019 16:49:31 +0000 (19:49 +0300)]
replace in-activity copy of account name filter value with the global item in Data
also solves filter disappearing when switching back to the app
Damyan Ivanov [Sat, 1 Jun 2019 16:48:09 +0000 (19:48 +0300)]
gradle upgrade
Damyan Ivanov [Wed, 22 May 2019 19:00:59 +0000 (22:00 +0300)]
"(debug)" → "(dev)"
Damyan Ivanov [Wed, 22 May 2019 18:55:30 +0000 (21:55 +0300)]
New transaction: use the accent color for the FAB (same as in main activity)
Damyan Ivanov [Sat, 18 May 2019 10:19:29 +0000 (13:19 +0300)]
multi-color progress indicators
Damyan Ivanov [Sat, 18 May 2019 09:43:47 +0000 (12:43 +0300)]
remote fragmentManager field
Damyan Ivanov [Sat, 18 May 2019 09:42:03 +0000 (12:42 +0300)]
drop two fields, sparing their initialization in onCreate
the idea is to make onCreate as slim as possible
Damyan Ivanov [Sat, 18 May 2019 09:30:19 +0000 (12:30 +0300)]
show New transaction button when the app is brought back to the foreground
Damyan Ivanov [Sat, 18 May 2019 09:29:15 +0000 (12:29 +0300)]
bump version
Damyan Ivanov [Fri, 17 May 2019 20:49:14 +0000 (20:49 +0000)]
prepare 0.10.0/26 release
Damyan Ivanov [Sun, 5 May 2019 19:57:37 +0000 (22:57 +0300)]
store current page index on page change
this was the missing piece to store the current page in the saved state
so that when the app is switched out and then back in the page is kept
Damyan Ivanov [Sun, 5 May 2019 19:56:13 +0000 (22:56 +0300)]
move account name filter to the transaction list fragment
it is not relevant to the account list and should not be visible there
Damyan Ivanov [Sun, 5 May 2019 18:57:48 +0000 (21:57 +0300)]
more information in the main activity start debug
Damyan Ivanov [Sun, 5 May 2019 18:57:25 +0000 (21:57 +0300)]
whitespace
Damyan Ivanov [Sun, 5 May 2019 18:44:03 +0000 (21:44 +0300)]
fix hooking profile-specific auto-completion adapter
at this point the main profile may not have been loaded yet so don't give it
to the hooking routine, which would instead retrieve the profile when the
auto-completion is triggered, at which point Data.profile must be populated
the other user of these routines, the new transaction activity is also bound
to a profile (either the main one in Data.profile, or another -- if invoced
via app shortcut) so it may pass the profile as a parameter
Damyan Ivanov [Sun, 5 May 2019 18:28:13 +0000 (21:28 +0300)]
drop deprecated property
Damyan Ivanov [Sun, 5 May 2019 18:27:57 +0000 (21:27 +0300)]
add missiing accessibility hint
Damyan Ivanov [Sun, 5 May 2019 18:27:44 +0000 (21:27 +0300)]
fix account filter popup colors, broken since last release
Damyan Ivanov [Sun, 5 May 2019 17:08:28 +0000 (20:08 +0300)]
drop unused resource file
Damyan Ivanov [Sun, 5 May 2019 15:22:49 +0000 (18:22 +0300)]
notify the profile list adapter when a profile is changed
was broken after migration of the profile list to LiveData
Damyan Ivanov [Sun, 5 May 2019 15:21:53 +0000 (18:21 +0300)]
ProfilesRecyclerViewAdapter as a weak singleton
will be needed by the ProfileDetailsFragment when a profile is saved to let
the adapter know of the change
Damyan Ivanov [Sun, 5 May 2019 15:17:05 +0000 (18:17 +0300)]
replace assertions with good old if()
assertions aren't implemented in Android's Java?
Damyan Ivanov [Sun, 5 May 2019 14:55:26 +0000 (17:55 +0300)]
5-degree theme steps, for smooth color selection
also replaces the fixed switch on theme hue with heuristic for getting
resource theme ID from the hue
the three-digit number (%03d) in the resource theme id name is needed because
the build infrastructure orders the IDs by lexical order (0,10,15,100,150,200)
instead of numerical order (0,5,10,15). By zero-padding both orders are the same
(000,005,010,015)
Damyan Ivanov [Sun, 5 May 2019 14:07:12 +0000 (17:07 +0300)]
use a constant for the color wheel step size
Damyan Ivanov [Sun, 5 May 2019 14:05:20 +0000 (17:05 +0300)]
preserve indents to help minimise whitespace changes
Damyan Ivanov [Sun, 5 May 2019 13:48:09 +0000 (16:48 +0300)]
drop unused menu item
Damyan Ivanov [Sun, 5 May 2019 13:42:55 +0000 (16:42 +0300)]
finish the profile editor activity when the profile is removed
it was done only when the current profile is removed
Damyan Ivanov [Sun, 5 May 2019 13:42:23 +0000 (16:42 +0300)]
fix method signature
Damyan Ivanov [Sun, 5 May 2019 13:28:50 +0000 (16:28 +0300)]
whitespace
Damyan Ivanov [Sun, 5 May 2019 13:28:29 +0000 (16:28 +0300)]
disable profile list animations while the drawer is closing/closed
Damyan Ivanov [Sun, 5 May 2019 13:25:31 +0000 (16:25 +0300)]
migrate editingProfiles to LiveData
Damyan Ivanov [Sun, 5 May 2019 12:54:04 +0000 (15:54 +0300)]
drop unused attribute
Damyan Ivanov [Sun, 5 May 2019 12:53:47 +0000 (15:53 +0300)]
reorganization of profile list
always visible, gear icon too
add profile icon appears only when editing the profile list
the idea is that switching profiles is the main action to perform when the
drawer is open, so no need to hide it behind a collapsible list
adding a profile is still a second level action, hidden behind the gead icon
Damyan Ivanov [Sun, 5 May 2019 10:20:03 +0000 (13:20 +0300)]
debug messages on app start/termination
Damyan Ivanov [Sun, 5 May 2019 10:05:09 +0000 (13:05 +0300)]
update icon files
Damyan Ivanov [Sun, 5 May 2019 09:31:48 +0000 (09:31 +0000)]
no transparency of the purple
can't be implemented for the around-the-dot border in a convenient way
cutting the book would work, but would also remove the ability to adjust it
Damyan Ivanov [Sun, 5 May 2019 07:42:46 +0000 (07:42 +0000)]
the icon color is #935ff2, same as the primary app color
Damyan Ivanov [Sun, 5 May 2019 07:36:25 +0000 (07:36 +0000)]
thinner and smaller ±
Damyan Ivanov [Sun, 5 May 2019 07:24:48 +0000 (07:24 +0000)]
work around border-fill order inability in android vector studio
split the heavily-bordered cirvle to a white-filled circle
and a bigger purple circle under it
Damyan Ivanov [Sun, 5 May 2019 07:17:13 +0000 (07:17 +0000)]
more app_icon improvements
wave source at the book split point
thinner and page-centered ±
Damyan Ivanov [Fri, 3 May 2019 18:09:21 +0000 (21:09 +0300)]
Latest transactions → Transactions
the full list is shown since a long time
Damyan Ivanov [Fri, 3 May 2019 18:08:47 +0000 (21:08 +0300)]
whitespace
Damyan Ivanov [Fri, 3 May 2019 17:20:15 +0000 (20:20 +0300)]
clear synthetic accounts list after propagating parsed amount
this fixes a bug where a synthetic accounts tree gets the amounts of
the following real account
Damyan Ivanov [Fri, 3 May 2019 16:24:52 +0000 (19:24 +0300)]
fix text color for the account name filter
broken after the fix for the view style
Damyan Ivanov [Fri, 3 May 2019 16:09:22 +0000 (19:09 +0300)]
whitespace
Damyan Ivanov [Fri, 3 May 2019 16:09:10 +0000 (19:09 +0300)]
setCurrentProfile: no crash if given a null argument
Damyan Ivanov [Fri, 3 May 2019 16:08:57 +0000 (19:08 +0300)]
ignore request to update the last update date when there is no current profile
Damyan Ivanov [Fri, 3 May 2019 16:07:36 +0000 (19:07 +0300)]
profile should not be null when requesting transaction retrieval
Damyan Ivanov [Fri, 3 May 2019 16:07:31 +0000 (19:07 +0300)]
let the loading screen use the default background color
Damyan Ivanov [Fri, 3 May 2019 16:07:19 +0000 (19:07 +0300)]
drop a resource block around an SQLDatabase object
hopefully this is the last such construct which may cause the global
DB connection to be closed leading to a crash the next time it is used
Damyan Ivanov [Fri, 3 May 2019 16:07:15 +0000 (19:07 +0300)]
drop unused class
Damyan Ivanov [Fri, 3 May 2019 16:07:06 +0000 (19:07 +0300)]
properly detect when profile list hasn't loaded yet
Damyan Ivanov [Fri, 3 May 2019 16:06:53 +0000 (19:06 +0300)]
whitespace
Damyan Ivanov [Fri, 3 May 2019 16:06:32 +0000 (19:06 +0300)]
move DB access routines to the application class
it is a natural context "source" for the DB creation and a singleton
global instance
Damyan Ivanov [Fri, 3 May 2019 15:26:35 +0000 (18:26 +0300)]
store the theme Id in the preferences so that no DB is needed to access it
the idea is to set up the main activity without accessing the database
so that a Loading... screen is shown while the DB is being upgraded
Damyan Ivanov [Fri, 3 May 2019 15:26:11 +0000 (18:26 +0300)]
"Loading..." screen while DB is being read
not noticeable at present, because the first DB read (and possible upgrade)
is being run when the activity is created.
Damyan Ivanov [Fri, 3 May 2019 15:25:08 +0000 (18:25 +0300)]
asynchronous profile setup
Damyan Ivanov [Fri, 3 May 2019 15:22:39 +0000 (18:22 +0300)]
MLDB: asyncronous variant of getOption
Damyan Ivanov [Fri, 3 May 2019 15:21:25 +0000 (18:21 +0300)]
avoid duplicate theme setup upon startup and profile+theme change
Damyan Ivanov [Fri, 3 May 2019 15:21:22 +0000 (18:21 +0300)]
whitespace
Damyan Ivanov [Fri, 3 May 2019 15:18:23 +0000 (18:18 +0300)]
suppress some warnings
Damyan Ivanov [Fri, 3 May 2019 16:11:38 +0000 (19:11 +0300)]
drop remnants of hollow transaction list item
Damyan Ivanov [Thu, 2 May 2019 15:16:19 +0000 (18:16 +0300)]
move null check before the value is used
Damyan Ivanov [Fri, 3 May 2019 15:16:09 +0000 (18:16 +0300)]
stop any running back-end data retrieval when the profile is changed
Damyan Ivanov [Fri, 3 May 2019 15:12:01 +0000 (18:12 +0300)]
move initiation of back-end data retrieval to Data
Damyan Ivanov [Fri, 3 May 2019 15:11:40 +0000 (18:11 +0300)]
debug message when profile data is wiped
Damyan Ivanov [Fri, 3 May 2019 15:10:29 +0000 (18:10 +0300)]
off-load option setting DB update to the background work queue
such an update may have to wait for the DB to complete any reads, like while
loading transaction data or even transaction data retrieval. that would lead
to UI freeze
delaying the update has no ill effects, since the data is needed only the next
time the app is run
Damyan Ivanov [Fri, 3 May 2019 15:10:21 +0000 (18:10 +0300)]
bump versions of two libraries
Damyan Ivanov [Fri, 3 May 2019 15:10:15 +0000 (18:10 +0300)]
whitespace
Damyan Ivanov [Fri, 3 May 2019 15:09:52 +0000 (18:09 +0300)]
migrate a bunch of globals to LiveData
Damyan Ivanov [Sun, 28 Apr 2019 19:32:24 +0000 (22:32 +0300)]
LockHolder: reset lock instances to null after unlocking
Damyan Ivanov [Sun, 28 Apr 2019 19:30:30 +0000 (22:30 +0300)]
English locale String.format
Damyan Ivanov [Sun, 28 Apr 2019 19:27:35 +0000 (22:27 +0300)]
slightly lighter yellow accent
was nearly black
Damyan Ivanov [Sun, 28 Apr 2019 18:47:17 +0000 (21:47 +0300)]
fix header items (acc name filter, retrieve progress) to use the profile theme colors
by removing explicit pointer to the default theme