Switch to modern system
- Dominant language
- Kotlin
- Stars
- 5.6k
- Forks
- 2k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 92
Description
Our current architecture system is really old and evolved over years.
I think it is a good point to migrate it step by step to a modern system, as described [here](https://developer.android.com/jetpack/docs/guide).
This is an overview, how it looks like:

In short:
- [separation of concerns](https://developer.android.com/jetpack/docs/guide#separation-of-concerns)
- use Dagger2 for dependency injection (DI)
- use [Data Binding](https://developer.android.com/topic/libraries/data-binding)
- use Room
- use LiveData
- use [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel)
- to prevent rotation problems
- avoids async task problems
- share data between fragments: later usable for split view on tablets
- [further reading](https://medium.com/androiddevelopers/lifecycle-aware-data-loading-with-android-architecture-components-f95484159de4)
- Network handling: https://developer.android.com/jetpack/docs/guide#addendum
- benefit: get a more easy [testing environment](https://developer.android.com/jetpack/docs/guide#test-components)
I would like to test this first on UserInfo Activity as this is a nice well defined part of our app. I will add caching to it.
Later I would go with Activities, which will also benefit from caching.
Contributor guide
Assessment
This issue has not been assessed yet.