mirror of
https://codeberg.org/Mercury-IM/Mercury-IM
synced 2024-06-26 05:24:50 +02:00
19 lines
848 B
Markdown
19 lines
848 B
Markdown
|
# Abstract Persistence Layer of Mercury
|
||
|
|
||
|
This Android module defines interfaces for a persistence backend.
|
||
|
|
||
|
Ideally this module would at some point be a plain java (non-Android) module to allow for
|
||
|
non-Android implementations. This is currently being blocked by [LiveData](https://developer.android.com/topic/libraries/architecture/livedata)
|
||
|
being an Android library. We could fix this by replacing LiveData with RxJava, but this would
|
||
|
require us to manually handle LifeCycles of ViewModels etc. so for now we stick with LiveData.
|
||
|
|
||
|
## Packages
|
||
|
|
||
|
### `model` package
|
||
|
Contains interfaces that define the structure of data classes.
|
||
|
|
||
|
### `repository` package
|
||
|
Repositories build a user-friendly interface to query and modify data in the backend.
|
||
|
|
||
|
## Implementations
|
||
|
Currently the module is only being implemented by the `persistence-room` Android module.
|