* [#209] Update Compose dependency to latest version 1.2.0-beta03
- Update dependency
- Align our integration tests with the new Compose requirements
- Add integration folder to tests, if missing
- Split integration tests, which require activity to separate classes
- Remove unnecessary custom activity for each integration app part and create one custom common activity
- Implement Downloadable fonts from Compose 1.2
- Update Third party licenses documentation
- Added automatic exception logging, registered in the Application object
- The design sends the exception to a second process, as the main process could be in a bad state when crashing. If we ever encounter problems with this design, it is easily toggleable to turn off with a boolean resource
- Reading the process name is a bit complex on older Android versions, so we leverage a ContentProvider (which runs prior to Application.onCreate()) to get the process name
- Added a simple logging mechanism for multiprocess and multithread log messages
- Refactored spackle-lib into spackle-lib (multiplatform) and spackle-android-lib
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
- Basic screen UI scaffolding.
- Set up communication with Google Play in-app update API.
- Mocking communication with Google Play API.
- Added unit, UI and integration tests for the in-app update screen model, util, view and viewmodel classes.
- Added mock implementation of helper AppUpdateChecker class.
- Introduced ViewModel integration test.
- Filed issue for future manual testing of implemented in-app update mechanisms after the wallet app is released on Google Play.
- Implement FakeAppUpdateManager in AppUpdateCheckerMock instead of the ugly AppUpdateInfo instantiation - this affected the tests too.
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
This moves the theme and common UI elements to a separate Gradle module.
This is a first step towards creating our own custom design system, as it would eventually allow hiding of Material Design from the rest of the app UI.
As part of this change, a new common utility module was created so that both the ui and ui-design modules can depend on it.