Open at unread isn't supported for threads (we do not have separate
read markers for threads as far as I'm aware), so if we try to open at
the recent read, it won't work.
Change-Id: I39eef8d7ce11558f5db190b02a5f601556d24d2f
This reverts commit 130fe7f887.
Also update to some newer decryption logic, and disable the new upstream
logic, to avoid duplicate decryption attempts.
Change-Id: Ibcea8b825d94284dfcf2d305b5f57423366601e5
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.
Change-Id: I2d6be497e8b92e770b680e16e42b3610add57323
Thread: main, Exception: java.lang.ArrayIndexOutOfBoundsException: length=191; index=-1
at java.util.ArrayList.get(ArrayList.java:439)
at java.util.Collections$UnmodifiableList.get(Collections.java:1356)
at com.airbnb.epoxy.EpoxyControllerAdapter.getModelAtPosition(EpoxyControllerAdapter.java:3)
at de.spiritcroc.recyclerview.StickyHeaderItemDecoration.getChildInContact(StickyHeaderItemDecoration.kt:3)
at de.spiritcroc.recyclerview.StickyHeaderItemDecoration.onDrawOver(StickyHeaderItemDecoration.kt:19)
Change-Id: I66fcaf7f4f041707534c3da4f712effec2a2df46
If we already have some events in a previously linked chunk, that
doesn't mean we have all of them. So we still want to continue
processing later events in that case.
Change-Id: I95e864ad7e786ea71b9facdbbf52c2685b36ee26
- Also look into past chunks for previewable events
- Better timestamp guesses if not enough history loaded yet
- Update missing previews when more chunks loaded
Change-Id: I27a420b9564e091db0e322751c798e205e26fd47
With MSC2654 unread counts, it is possible such count is zero while the
notification count isn't. So also respect the notification count when
deciding if a chat has unread messages.
Change-Id: I1b9f6ae907eb468c27fc0bb75b711db04268560a
Just use a non-previewable event instead.
Improves sorting of the room list: don't drop rooms to the bottom
because of too much un-previewable activity.
Change-Id: Ib1ad8050caae85a3e7c8a686c2fa63a2924db890