* Add `DateTimeObserver` to rebuild the room summary data when the date/time changes.
* Add time changed action too, to trigger when the user manually changes date/time
* Fix timezone issue by adding `TimezoneProvider`, fix tests
* Create test for `DateTimeObserver` usage in `RoomListDataSource`
* Create aRoomListRoomSummaryFactory function.
* Improve test by faking the lastMessageTimestampFormatter
---------
Co-authored-by: Benoit Marty <benoit@matrix.org>
* Upgrade the used JDK in the project to v21
* Use it for CI too
* Centralise java language version
* Fix deprecations, tests and lint issues
* Fix coverage taking into account `@Preview` annotated code.
---------
Co-authored-by: Benoit Marty <benoit@matrix.org>
* Use ComposablePreviewScanner to rework how screenshot testing works
* Add test sharding
* Update screenshots
* Fixes for Element Gallery
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
* Update AGP to 8.0.0.
* Set JAVA_HOME to JDK17
* Update lint version.
* Use right JDK for dependency analysis, replace deprecated env var.
* Upgrade to Gradle 8.1.
* Remove `@Supress(DSL_SCOPE_VIOLATION)` as it's no longer needed.
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Create `RoomLastMessageFormatter` to produce readable room summaries.
* Add unit tests using Robolectric, fix bugs
* Add changelog
* Move `RoomLastMessageFormatter` back to `impl` module, allow it to receive an `EventTimelineItem` instead of `MessageContent`.