diff --git a/xposed/src/main/java/moe/fuqiuluo/qqinterface/servlet/MsgSvc.kt b/xposed/src/main/java/moe/fuqiuluo/qqinterface/servlet/MsgSvc.kt index 6672f14..072b8a4 100644 --- a/xposed/src/main/java/moe/fuqiuluo/qqinterface/servlet/MsgSvc.kt +++ b/xposed/src/main/java/moe/fuqiuluo/qqinterface/servlet/MsgSvc.kt @@ -56,9 +56,10 @@ internal object MsgSvc: BaseSvc() { qqMsgId: Long ): Result { val contact = MessageHelper.generateContact(chatType, peerId) + val service = QRoute.api(IMsgService::class.java) ?: + return Result.failure(Exception("获取消息服务")) val msg = withTimeoutOrNull(5000) { - val service = QRoute.api(IMsgService::class.java) suspendCancellableCoroutine { continuation -> service.getMsgsByMsgId(contact, arrayListOf(qqMsgId)) { code, _, msgRecords -> if (code == 0 && msgRecords.isNotEmpty()) { diff --git a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/listener/AioListener.kt b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/listener/AioListener.kt index f37697d..86094f5 100644 --- a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/listener/AioListener.kt +++ b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/service/listener/AioListener.kt @@ -117,6 +117,8 @@ internal object AioListener: IKernelMsgListener { } else if (record.sendStatus == MsgConstant.KSENDSTATUSFAILED) { it.resume(null) } + }.onFailure { _ -> + it.resume(null) } delay(50) }