* develop: (114 commits)
Docs: Fix various formatting and spelling issues in notifications.md
Fixing non necessary breaking line
continuing to the originally supplied url when a rtl override character is detected
splitting url detection condition into separate branches
Cleaner code
Create extension `String?.toActiveSpaceOrOrphanRooms()` to reduce noise.
Add changelog
Fix test compilation
Add some Kdoc
Add some Kdoc
Create SpaceFilter.OrphanRooms to improve the API. Not 100% of the side effect. There is probably some (fixed?) bugs here.
Rename ActiveSpaceFilter to SpaceFilter
Remove `ActiveSpaceFilter.None` Prefer nullability for API coherency of `RoomSummaryQueryParams`
Add some Kdoc
Remove duplicated lines of code (the same code is done a few lines later)
Remove `RoomCategoryFilter.ALL` Prefer nullability for API coherency of `RoomSummaryQueryParams`
`displayName` default value is now `QueryStringValue.NoCondition`. It was working fine since in the DB we always have a name using `RoomDisplayNameFallbackProvider`, which in our current implementation always return a non empty String.
Small rework for nicer code
Remove duplicated code lines
Remove `roomId` from `RoomSummaryQueryParams.Builder()`. Create a new API in RoomService to observe a room summary from a roomId.
...
# Conflicts:
# vector/src/main/java/im/vector/app/features/location/live/map/LocationLiveMapViewFragment.kt
Persisting notification info fails for non-null Uris:
E NotificationEventPersistence: ## Failed to save cached notification info
E NotificationEventPersistence: java.io.NotSerializableException: android.net.Uri$HierarchicalUri
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1240)
E NotificationEventPersistence: at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
E NotificationEventPersistence: at java.util.ArrayList.writeObject(ArrayList.java:762)
E NotificationEventPersistence: at java.lang.reflect.Method.invoke(Native Method)
E NotificationEventPersistence: at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1036)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1552)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
E NotificationEventPersistence: at org.matrix.android.sdk.internal.session.securestorage.SecretStoringUtils.saveSecureObjectM(SecretStoringUtils.kt:283)
E NotificationEventPersistence: at org.matrix.android.sdk.internal.session.securestorage.SecretStoringUtils.securelyStoreObject(SecretStoringUtils.kt:150)
E NotificationEventPersistence: at org.matrix.android.sdk.internal.session.securestorage.DefaultSecureStorageService.securelyStoreObject(DefaultSecureStorageService.kt:27)
E NotificationEventPersistence: at im.vector.app.features.notifications.NotificationEventPersistence.persistEvents(NotificationEventPersistence.kt:58)
E NotificationEventPersistence: at im.vector.app.features.notifications.NotificationDrawerManager$persistEvents$1.invoke(NotificationDrawerManager.kt:183)
E NotificationEventPersistence: at im.vector.app.features.notifications.NotificationDrawerManager$persistEvents$1.invoke(NotificationDrawerManager.kt:182)
E NotificationEventPersistence: at im.vector.app.features.notifications.NotificationState.queuedEvents(NotificationState.kt:55)
E NotificationEventPersistence: at im.vector.app.features.notifications.NotificationDrawerManager.persistEvents(NotificationDrawerManager.kt:182)
E NotificationEventPersistence: at im.vector.app.features.notifications.NotificationDrawerManager.refreshNotificationDrawerBg(NotificationDrawerManager.kt:177)
Accordingly, if a notification for an image is shown, and the
notification state is loaded from storage later, none of the previously
shown notifications will get dismissed once read.
Likely addresses https://github.com/vector-im/element-android/issues/4862.
Change-Id: I2d6be497e8b92e770b680e16e42b3610add57323
* develop: (251 commits)
Space explore rooms screen alignment with design in figma (#5834)
leaving space aligned with ios (#5942)
Fix usage of System.currentTimeMillis(). This a bit mocky but anyway it's better to use SystemClock.elapsedRealtime() for this case.
Update TimelinePreviousLastForwardTest.kt
Changelog.d
Rename 'getDomain' to 'getServerName'.
Well-known lookups should not include the port of a server.
Ah it was used in Gplay variant. Anyway I think we can still remove this now.
Fix parsing of location data in non encrypted room
Additionally increment for TimelinePreviousLastForwardTest
Notify other devices of acceptance of verification request
Instead of using a magic number, explicitly test for the events we expect.
Adding comments on some strings and removing non necessary plural
Remove ShortcutBadger lib and usage (it was dead code)
Version++
Fastlane file
Towncrier
Add `.login` to get the username of the PR merger.
Rename folder for the PlayStore
Remove empty translations
...
# Conflicts:
# matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionModule.kt
* develop:
Space explore rooms screen alignment with design in figma (#5834)
leaving space aligned with ios (#5942)
Fix usage of System.currentTimeMillis(). This a bit mocky but anyway it's better to use SystemClock.elapsedRealtime() for this case.
- the event insert logic is designed to be single threaded however the scope will allow coroutine continuation which leads to unintended multiple thread access for processing and post processing
- the fix is to convert the launching to a flow which will sequentially process the launch logic on the single threaded scope