From 668967546c8c236f1181dd9d0bcb045930d7a82e Mon Sep 17 00:00:00 2001 From: Valere Date: Thu, 4 Jun 2020 11:23:24 +0200 Subject: [PATCH] Fix / if listener is not removed messages could be duplicated --- .../java/im/vector/matrix/android/common/CommonTestHelper.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/common/CommonTestHelper.kt b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/common/CommonTestHelper.kt index ca653fc9e7..bee2815c0a 100644 --- a/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/common/CommonTestHelper.kt +++ b/matrix-sdk-android/src/androidTest/java/im/vector/matrix/android/common/CommonTestHelper.kt @@ -117,6 +117,7 @@ class CommonTestHelper(context: Context) { * @param nbOfMessages the number of time the message will be sent */ fun sendTextMessage(room: Room, message: String, nbOfMessages: Int): List { + val timeline = room.createTimeline(null, TimelineSettings(10)) val sentEvents = ArrayList(nbOfMessages) val latch = CountDownLatch(1) val timelineListener = object : Timeline.Listener { @@ -135,11 +136,12 @@ class CommonTestHelper(context: Context) { if (newMessages.size == nbOfMessages) { sentEvents.addAll(newMessages) + // Remove listener now, if not at the next update sendEvents could change + timeline.removeListener(this) latch.countDown() } } } - val timeline = room.createTimeline(null, TimelineSettings(10)) timeline.start() timeline.addListener(timelineListener) for (i in 0 until nbOfMessages) { @@ -147,7 +149,6 @@ class CommonTestHelper(context: Context) { } // Wait 3 second more per message await(latch, timeout = TestConstants.timeOutMillis + 3_000L * nbOfMessages) - timeline.removeListener(timelineListener) timeline.dispose() // Check that all events has been created