Tech Stack
Features
-
High emphasis on quality and testing, with Travis integration from the beginning with master branch requiring tests to pass
-
Fully test-driven MVI "dialog" applies 2 intent types,
NewXpubIntent
andRefreshIntent
, to get anObservable
stream of View Models -
The Main activity just subscribes to the VM stream
-
Error handling, such as no-network, appears as a card, with tap to retry
-
Pull down to refresh
Future work
-
A new request is fired on each activity resume, VMs are cheap to make, so caching at OkHttp client level is an option that both solves this and prevents an app calling the server too frequently. Other options are to cache the VM in the RX stream.
-
Use
DiffUtil
to animate only the changes in the list in theRecyclerView
. -
Technically the transactions are homogeneous content and so shouldn't have their own cards.