Browse Source

[core] Add default implementation for `RoamingMessages.getMessagesStream`

Him188 3 years ago
parent
commit
3c580eead4

+ 2 - 1
mirai-core-api/compatibility-validation/android/api/android.api

@@ -1074,9 +1074,10 @@ public abstract interface class net/mamoe/mirai/contact/roaming/RoamingMessages
 	public fun getMessagesStream (JJ)Ljava/util/stream/Stream;
 	public fun getMessagesStream (JJLkotlin/coroutines/Continuation;)Ljava/lang/Object;
 	public fun getMessagesStream (JJLnet/mamoe/mirai/contact/roaming/RoamingMessageFilter;)Ljava/util/stream/Stream;
-	public abstract fun getMessagesStream (JJLnet/mamoe/mirai/contact/roaming/RoamingMessageFilter;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+	public fun getMessagesStream (JJLnet/mamoe/mirai/contact/roaming/RoamingMessageFilter;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
 	public static synthetic fun getMessagesStream$default (Lnet/mamoe/mirai/contact/roaming/RoamingMessages;JJLnet/mamoe/mirai/contact/roaming/RoamingMessageFilter;ILjava/lang/Object;)Ljava/util/stream/Stream;
 	public static synthetic fun getMessagesStream$default (Lnet/mamoe/mirai/contact/roaming/RoamingMessages;JJLnet/mamoe/mirai/contact/roaming/RoamingMessageFilter;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+	public static synthetic fun getMessagesStream$suspendImpl (Lnet/mamoe/mirai/contact/roaming/RoamingMessages;JJLnet/mamoe/mirai/contact/roaming/RoamingMessageFilter;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
 }
 
 public abstract interface class net/mamoe/mirai/contact/roaming/RoamingSupported : net/mamoe/mirai/contact/Contact {

+ 2 - 1
mirai-core-api/compatibility-validation/jvm/api/jvm.api

@@ -1074,9 +1074,10 @@ public abstract interface class net/mamoe/mirai/contact/roaming/RoamingMessages
 	public fun getMessagesStream (JJ)Ljava/util/stream/Stream;
 	public fun getMessagesStream (JJLkotlin/coroutines/Continuation;)Ljava/lang/Object;
 	public fun getMessagesStream (JJLnet/mamoe/mirai/contact/roaming/RoamingMessageFilter;)Ljava/util/stream/Stream;
-	public abstract fun getMessagesStream (JJLnet/mamoe/mirai/contact/roaming/RoamingMessageFilter;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
+	public fun getMessagesStream (JJLnet/mamoe/mirai/contact/roaming/RoamingMessageFilter;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
 	public static synthetic fun getMessagesStream$default (Lnet/mamoe/mirai/contact/roaming/RoamingMessages;JJLnet/mamoe/mirai/contact/roaming/RoamingMessageFilter;ILjava/lang/Object;)Ljava/util/stream/Stream;
 	public static synthetic fun getMessagesStream$default (Lnet/mamoe/mirai/contact/roaming/RoamingMessages;JJLnet/mamoe/mirai/contact/roaming/RoamingMessageFilter;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
+	public static synthetic fun getMessagesStream$suspendImpl (Lnet/mamoe/mirai/contact/roaming/RoamingMessages;JJLnet/mamoe/mirai/contact/roaming/RoamingMessageFilter;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
 }
 
 public abstract interface class net/mamoe/mirai/contact/roaming/RoamingSupported : net/mamoe/mirai/contact/Contact {

+ 2 - 1
mirai-core-api/src/jvmBaseMain/kotlin/contact/roaming/RoamingMessages.kt

@@ -17,6 +17,7 @@ import net.mamoe.mirai.contact.Friend
 import net.mamoe.mirai.message.data.MessageChain
 import net.mamoe.mirai.message.data.MessageSource
 import net.mamoe.mirai.utils.JavaFriendlyAPI
+import net.mamoe.mirai.utils.JdkStreamSupport.toStream
 import java.util.stream.Stream
 
 
@@ -102,7 +103,7 @@ public actual interface RoamingMessages {
         timeStart: Long,
         timeEnd: Long,
         filter: RoamingMessageFilter? = null
-    ): Stream<MessageChain>
+    ): Stream<MessageChain> = getMessagesIn(timeStart, timeEnd, filter).toStream()
 
     /**
      * 查询所有漫游消息记录. Kotlin Flow 版本查看 [getAllMessages].