|
@@ -26,6 +26,7 @@ import android.graphics.drawable.Drawable
|
|
|
import android.graphics.drawable.LayerDrawable
|
|
|
import android.os.Build
|
|
|
import android.text.TextUtils
|
|
|
+import android.util.Log
|
|
|
import android.view.View
|
|
|
import androidx.core.content.ContextCompat
|
|
|
import androidx.core.content.res.ResourcesCompat
|
|
@@ -40,11 +41,16 @@ import com.nextcloud.talk.application.NextcloudTalkApplication
|
|
|
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication
|
|
|
import com.nextcloud.talk.databinding.ItemCustomIncomingPollMessageBinding
|
|
|
import com.nextcloud.talk.models.json.chat.ChatMessage
|
|
|
+import com.nextcloud.talk.polls.repositories.model.PollOverall
|
|
|
import com.nextcloud.talk.polls.ui.PollMainDialogFragment
|
|
|
import com.nextcloud.talk.utils.ApiUtils
|
|
|
import com.nextcloud.talk.utils.DisplayUtils
|
|
|
import com.nextcloud.talk.utils.preferences.AppPreferences
|
|
|
import com.stfalcon.chatkit.messages.MessageHolders
|
|
|
+import io.reactivex.Observer
|
|
|
+import io.reactivex.android.schedulers.AndroidSchedulers
|
|
|
+import io.reactivex.disposables.Disposable
|
|
|
+import io.reactivex.schedulers.Schedulers
|
|
|
import javax.inject.Inject
|
|
|
|
|
|
@AutoInjector(NextcloudTalkApplication::class)
|
|
@@ -129,17 +135,39 @@ class IncomingPollMessageViewHolder(incomingView: View, payload: Any) : MessageH
|
|
|
)
|
|
|
}
|
|
|
|
|
|
- // TODO get poll from api
|
|
|
- // wait for https://github.com/nextcloud/spreed/pull/7306#issuecomment-1145819317
|
|
|
-
|
|
|
- // val credentials = ApiUtils.getCredentials(message.activeUser?.username, message.activeUser?.token)
|
|
|
- // ncApi!!.getPoll(
|
|
|
- // credentials,
|
|
|
- // ApiUtils.getUrlForPoll(
|
|
|
- // message.activeUser?.baseUrl,
|
|
|
- // ???????
|
|
|
- // )
|
|
|
- // )
|
|
|
+ val credentials = ApiUtils.getCredentials(message.activeUser?.username, message.activeUser?.token)
|
|
|
+ ncApi!!.getPoll(
|
|
|
+ credentials,
|
|
|
+ ApiUtils.getUrlForPoll(
|
|
|
+ message.activeUser?.baseUrl,
|
|
|
+ roomToken,
|
|
|
+ pollId
|
|
|
+ )
|
|
|
+ ).subscribeOn(Schedulers.io())
|
|
|
+ .observeOn(AndroidSchedulers.mainThread())
|
|
|
+ .subscribe(object : Observer<PollOverall> {
|
|
|
+ override fun onSubscribe(d: Disposable) {
|
|
|
+ // unused atm
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onNext(pollOverall: PollOverall) {
|
|
|
+ if (pollOverall.ocs!!.data!!.status == 0) {
|
|
|
+ binding.messagePollSubtitle.text =
|
|
|
+ context?.resources?.getString(R.string.message_poll_tap_to_vote)
|
|
|
+ } else {
|
|
|
+ binding.messagePollSubtitle.text =
|
|
|
+ context?.resources?.getString(R.string.message_poll_tap_see_results)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onError(e: Throwable) {
|
|
|
+ Log.e(TAG, "Error while fetching poll", e)
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onComplete() {
|
|
|
+ // unused atm
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
|