From 1c5cf6b29eba9a03fb54c640cdefbf8f7f707936 Mon Sep 17 00:00:00 2001 From: Onuray Sahin Date: Mon, 11 Apr 2022 13:14:42 +0300 Subject: [PATCH] Code review fixes. --- .../DefaultLiveLocationAggregationProcessor.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/aggregation/livelocation/DefaultLiveLocationAggregationProcessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/aggregation/livelocation/DefaultLiveLocationAggregationProcessor.kt index 7d37ddc22b..2af536a4a6 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/aggregation/livelocation/DefaultLiveLocationAggregationProcessor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/aggregation/livelocation/DefaultLiveLocationAggregationProcessor.kt @@ -41,8 +41,12 @@ internal class DefaultLiveLocationAggregationProcessor @Inject constructor() : L } // A beacon info state event has to be sent before sending location - val beaconInfoEntity = CurrentStateEventEntity.getOrNull(realm, roomId, locationSenderId, EventType.STATE_ROOM_BEACON_INFO.first()) - ?: CurrentStateEventEntity.getOrNull(realm, roomId, locationSenderId, EventType.STATE_ROOM_BEACON_INFO.last()) + var beaconInfoEntity: CurrentStateEventEntity? = null + val eventTypesIterator = EventType.STATE_ROOM_BEACON_INFO.iterator() + while (beaconInfoEntity == null && eventTypesIterator.hasNext()) { + beaconInfoEntity = CurrentStateEventEntity.getOrNull(realm, roomId, locationSenderId, eventTypesIterator.next()) + } + if (beaconInfoEntity == null) { Timber.v("## LIVE LOCATION. There is not any beacon info which should be emitted before sending location updates") return