Previously, certain phones could press cancel to bypass biometrics. Others couldn't even enter the send flow. Google's library for this is still not stable but it has improved and the underlying issue that contributed to these bugs has been corrected.
The SendFinal screen would completely break after pressing cancel. Pressing back would return to other screens but not actually clear the SendFinal fragment out. This workaround fixes that but there is still weird behavior when users press back. This is good enough for this release.
ViewingKeys would sometimes get written in one way but not read back the same, dependeing on length. This was hard to catch because it only happened about 30 percent of the time. The fix was to update the secure storage library to work with lists and maintain order. A PR was submitted upstream but we are also going to seek out a better library to use going forward.
which automatically handles some of the more complex state management. Without this change, the recyclerview would lose its scroll position after viewing tx details. Now it handles it perfectly due to setting transactionAdapter.stateRestorationPolicy =
RecyclerView.Adapter.StateRestorationPolicy.PREVENT_WHEN_EMPTY
Addresses https://github.com/zcash/zcash-android-wallet/issues/143 by placing everything behind a user setting that can be enabled in the future by users who want to continue helping us improve the user experience. For the most part, this will just be turned on for internal company releases in order to continue learning and improving the app.
Dagger Android is overly complex and confusing and Google admitted that they need to change it and simply its use. In the meantime, it is easier to just remove it and setup dagger the old way.