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