From 07c57bcfd17b0add3e275f91294a4887f8cbd953 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Wed, 6 Jul 2022 22:59:00 +0200 Subject: [PATCH] read matching user context Resolves #2180 Signed-off-by: Andy Scherzinger --- .../nextcloud/talk/receivers/DirectReplyReceiver.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/receivers/DirectReplyReceiver.kt b/app/src/main/java/com/nextcloud/talk/receivers/DirectReplyReceiver.kt index aa19adec1..1be2d79c9 100644 --- a/app/src/main/java/com/nextcloud/talk/receivers/DirectReplyReceiver.kt +++ b/app/src/main/java/com/nextcloud/talk/receivers/DirectReplyReceiver.kt @@ -42,6 +42,7 @@ import com.nextcloud.talk.models.database.UserEntity import com.nextcloud.talk.models.json.generic.GenericOverall import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.NotificationUtils +import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_SYSTEM_NOTIFICATION_ID import com.nextcloud.talk.utils.database.user.UserUtils @@ -55,12 +56,10 @@ import javax.inject.Inject class DirectReplyReceiver : BroadcastReceiver() { @Inject - @JvmField - var userUtils: UserUtils? = null + lateinit var userUtils: UserUtils @Inject - @JvmField - var ncApi: NcApi? = null + lateinit var ncApi: NcApi lateinit var context: Context lateinit var currentUser: UserEntity @@ -74,13 +73,15 @@ class DirectReplyReceiver : BroadcastReceiver() { override fun onReceive(receiveContext: Context, intent: Intent?) { context = receiveContext - currentUser = userUtils!!.currentUser!! // NOTE - systemNotificationId is an internal ID used on the device only. // It is NOT the same as the notification ID used in communication with the server. systemNotificationId = intent!!.getIntExtra(KEY_SYSTEM_NOTIFICATION_ID, 0) roomToken = intent.getStringExtra(KEY_ROOM_TOKEN) + val id = intent.getLongExtra(KEY_INTERNAL_USER_ID, userUtils.currentUser!!.getId()) + currentUser = userUtils.getUserWithId(id) + replyMessage = getMessageText(intent) sendDirectReply() } @@ -94,7 +95,7 @@ class DirectReplyReceiver : BroadcastReceiver() { val apiVersion = ApiUtils.getChatApiVersion(currentUser, intArrayOf(1)) val url = ApiUtils.getUrlForChat(apiVersion, currentUser.baseUrl, roomToken) - ncApi!!.sendChatMessage(credentials, url, replyMessage, currentUser.displayName, null, false) + ncApi.sendChatMessage(credentials, url, replyMessage, currentUser.displayName, null, false) ?.subscribeOn(Schedulers.io()) ?.observeOn(AndroidSchedulers.mainThread()) ?.subscribe(object : Observer {