Skip to content

Releases: ffgiraldez/reactive-mvvm-android

3.0.0 : 🔥 rx-java and 🔀 to kotlinx-coroutines

02 Oct 10:54
Compare
Choose a tag to compare

Remove rx-java dependency and replace it with KotlinX-Coroutines

⬆️ Keep dependencies up to date

30 Sep 19:49
5d53349
Compare
Choose a tag to compare

This release tackle some update migrations like moving from kotlintest to kotest and arrow Option deprecations.

Apart from that, just minor changes in order to be up to date with other libraries.

Cover by tests

08 Jul 08:34
d4fb9a7
Compare
Choose a tag to compare

Key layers have been unit tested using multiple tecniques

Simplify ViewModels

30 Jan 14:59
306f3ae
Compare
Choose a tag to compare

Simplify ViewModel in order to only have one LiveData (aka query property) and one LiveData (aka state property).

Move handling state logic to subscriber layer, aka the UI, simplify binding with only one state_change binding per required view

This change tries to simplify the testing effort

Migration to AndroidX

30 Jan 14:56
a00ed21
Compare
Choose a tag to compare

Migrate support library to AndroidX, this introduces breaking changes but not add nothing so only increase minor version.

Also, update other libs and tools to their last stable version.

Handle error state

11 May 23:01
e2f99ba
Compare
Choose a tag to compare

Create a new property on QueryViewModel error to describe an error on UI
Create a new QueryViewState error to model the state
To not duplicate code on data sources, errors are handled on ComicRepository
Model error using Either<ComicError, List>
Empty results on ComicLocalDataSource produce EmptyResultsError
Any network error produce NetworkError
Suggestions will display error as a single suggestion
A search will display error as text on the screen, hiding result list
Error suggestions do not propagate search results

split monolithic Koin context into modules

06 May 21:11
Compare
Choose a tag to compare

Extract common data logic

06 May 20:52
Compare
Choose a tag to compare

create ComicLocalDataSource & ComicRemoteDataSource polymorphic on T
refactor ComicRepository to use ComicLocalDataSource & ComicRemoteDataSource and polymorphic on T
create specific datasources & repository for Suggestion
create specific datasources & repository for Search

reorganise packages to reflect data common feature.

Use Common ViewModel/ViewState

20 Apr 17:19
7d6cb03
Compare
Choose a tag to compare

create QueryViewModel as base ViewModel class for suggestion and search.
create QueryViewState to handle QueryViewModel states.
SuggestionViewModel, only defines how to go from Flowable to Flowable<List>
SuggestionViewModel, only defines how to go from Flowable to Flowable<List>

reorganise packages to reflect query common feature.

screen shot 2018-04-20 at 19 16 07

Use ViewState to Handle ViewModels

20 Apr 15:46
3d34f61
Compare
Choose a tag to compare

Keep into a ViewState all possible state of a ViewModel.

Fix LiveData nullability on BindingAdapters