|
@@ -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!!.id)
|
|
|
+ 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<GenericOverall> {
|