* 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>
* 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`.