Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ configurations.configureEach {
}

dependencies {

implementation 'androidx.lifecycle:lifecycle-runtime-compose:2.10.0'
kapt "org.jetbrains.kotlin:kotlin-metadata-jvm:${kotlinVersion}"
implementation "androidx.room:room-testing-android:${roomVersion}"
implementation 'androidx.compose.foundation:foundation-layout:1.10.2'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ import com.nextcloud.talk.utils.adjustUIForAPILevel35
import com.nextcloud.talk.utils.bundle.BundleKeys
import com.nextcloud.talk.utils.database.user.CurrentUserProvider
import com.nextcloud.talk.utils.database.user.CurrentUserProviderOld
import com.nextcloud.talk.utils.message.MessageUtils
import com.nextcloud.talk.utils.preferences.AppPreferences
import com.nextcloud.talk.utils.ssl.TrustManager
import org.greenrobot.eventbus.EventBus
Expand Down Expand Up @@ -72,6 +73,9 @@ open class BaseActivity : AppCompatActivity() {
@Inject
lateinit var viewThemeUtils: ViewThemeUtils

@Inject
lateinit var messageUtils: MessageUtils

@Inject
lateinit var context: Context

Expand Down
11 changes: 7 additions & 4 deletions app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,10 @@ class CallActivity : CallBaseActivity() {
private var isBreakoutRoom = false
private val localParticipantMessageListener = LocalParticipantMessageListener { token ->
switchToRoomToken = token
hangup(true, false)
hangup(
shutDownView = true,
endCallForAll = false
)
}
private val offerMessageListener = OfferMessageListener { sessionId, roomType, sdp, nick ->
getOrCreatePeerConnectionWrapperForSessionIdAndType(
Expand Down Expand Up @@ -1927,7 +1930,7 @@ class CallActivity : CallBaseActivity() {

when (messageType) {
"usersInRoom" ->
internalSignalingMessageReceiver.process(signaling.messageWrapper as List<Map<String?, Any?>?>?)
internalSignalingMessageReceiver.process(signaling.messageWrapper as List<Map<String?, Any?>>)

"message" -> {
val ncSignalingMessage = LoganSquare.parse(
Expand Down Expand Up @@ -2743,11 +2746,11 @@ class CallActivity : CallBaseActivity() {
* All listeners are called in the main thread.
*/
private class InternalSignalingMessageReceiver : SignalingMessageReceiver() {
fun process(users: List<Map<String?, Any?>?>?) {
fun process(users: List<Map<String?, Any?>>) {
processUsersInRoom(users)
}

fun process(message: NCSignalingMessage?) {
fun process(message: NCSignalingMessage) {
processSignalingMessage(message)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ class ParticipantHandler(
_uiState.update { it.copy(raisedHand = state) }
}

override fun onReaction(reaction: String?) {
override fun onReaction(reaction: String) {
Log.d(TAG, "onReaction")
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
package com.nextcloud.talk.adapters.messages

import android.content.Context
import android.text.SpannableStringBuilder
import android.util.Log
import android.util.TypedValue
import android.view.View
Expand Down Expand Up @@ -150,10 +151,10 @@ class IncomingTextMessageViewHolder(itemView: View, payload: Any) :
binding.messageAuthor.visibility = View.GONE
}
binding.messageText.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize)
binding.messageText.text = processedMessageText
// binding.messageText.text = processedMessageText
// just for debugging:
// binding.messageText.text =
// SpannableStringBuilder(processedMessageText).append(" (" + message.jsonMessageId + ")")
binding.messageText.text =
SpannableStringBuilder(processedMessageText).append(" (" + message.jsonMessageId + ")")
} else {
binding.checkboxContainer.visibility = View.VISIBLE
binding.messageText.visibility = View.GONE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
package com.nextcloud.talk.adapters.messages

import android.content.Context
import android.text.SpannableStringBuilder
import android.util.Log
import android.util.TypedValue
import android.view.View
Expand Down Expand Up @@ -163,10 +164,10 @@ class OutcomingTextMessageViewHolder(itemView: View) :

binding.messageTime.layoutParams = layoutParams
viewThemeUtils.platform.colorTextView(binding.messageText, ColorRole.ON_SURFACE_VARIANT)
binding.messageText.text = processedMessageText
// binding.messageText.text = processedMessageText
// just for debugging:
// binding.messageText.text =
// SpannableStringBuilder(processedMessageText).append(" (" + message.jsonMessageId + ")")
binding.messageText.text =
SpannableStringBuilder(processedMessageText).append(" (" + message.jsonMessageId + ")")
} else {
binding.messageText.visibility = View.GONE
binding.checkboxContainer.visibility = View.VISIBLE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,36 +112,37 @@ abstract class PreviewMessageViewHolder(itemView: View?, payload: Any?) :
clickView = image
messageText.visibility = View.VISIBLE
if (message.getCalculateMessageType() === ChatMessage.MessageType.SINGLE_NC_ATTACHMENT_MESSAGE) {
val chatActivity = commonMessageInterface as ChatActivity
fileViewerUtils = FileViewerUtils(chatActivity, message.activeUser!!)
val fileName = message.selectedIndividualHashMap!![KEY_NAME]

messageText.text = fileName

if (message.activeUser != null &&
message.activeUser!!.username != null &&
message.activeUser!!.baseUrl != null
) {
clickView!!.setOnClickListener { v: View? ->
fileViewerUtils!!.openFile(
message,
ProgressUi(progressBar, messageText, image)
)
}
clickView!!.setOnLongClickListener {
previewMessageInterface!!.onPreviewMessageLongClick(message)
true
message.activeUser?.let {
val chatActivity = commonMessageInterface as ChatActivity
fileViewerUtils = FileViewerUtils(chatActivity, it)
val fileName = message.selectedIndividualHashMap!![KEY_NAME]
messageText.text = fileName
if (
it.username != null &&
it.baseUrl != null
) {
clickView!!.setOnClickListener { v: View? ->
fileViewerUtils!!.openFile(
message,
ProgressUi(progressBar, messageText, image)
)
}
clickView!!.setOnLongClickListener {
previewMessageInterface!!.onPreviewMessageLongClick(message)
true
}
}
} else {

fileViewerUtils?.resumeToUpdateViewsByProgress(
message.selectedIndividualHashMap!![KEY_NAME]!!,
message.selectedIndividualHashMap!![KEY_ID]!!,
message.selectedIndividualHashMap!![KEY_MIMETYPE],
message.openWhenDownloaded,
ProgressUi(progressBar, messageText, image)
)
} ?: {
Log.e(TAG, "failed to set click listener because activeUser, username or baseUrl were null")
}
fileViewerUtils!!.resumeToUpdateViewsByProgress(
message.selectedIndividualHashMap!![KEY_NAME]!!,
message.selectedIndividualHashMap!![KEY_ID]!!,
message.selectedIndividualHashMap!![KEY_MIMETYPE],
message.openWhenDownloaded,
ProgressUi(progressBar, messageText, image)
)
} else if (message.getCalculateMessageType() === ChatMessage.MessageType.SINGLE_LINK_GIPHY_MESSAGE) {
messageText.text = "GIPHY"
DisplayUtils.setClickableString("GIPHY", "https://giphy.com", messageText)
Expand Down
12 changes: 0 additions & 12 deletions app/src/main/java/com/nextcloud/talk/api/NcApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -325,18 +325,6 @@ Observable<Response<GenericOverall>> setPassword2(@Header("Authorization") Strin
Observable<RoomCapabilitiesOverall> getRoomCapabilities(@Header("Authorization") String authorization,
@Url String url);

/*
QueryMap items are as follows:
- "lookIntoFuture": int (0 or 1),
- "limit" : int, range 100-200,
- "timeout": used with look into future, 30 default, 60 at most
- "lastKnownMessageId", int, use one from X-Chat-Last-Given
*/
@GET
Observable<Response<ChatOverall>> pullChatMessages(@Header("Authorization") String authorization,
@Url String url,
@QueryMap Map<String, Integer> fields);

/*
Fieldmap items are as follows:
- "message": ,
Expand Down
8 changes: 8 additions & 0 deletions app/src/main/java/com/nextcloud/talk/api/NcApiCoroutines.kt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import com.nextcloud.talk.models.json.threads.ThreadsOverall
import com.nextcloud.talk.models.json.userAbsence.UserAbsenceOverall
import okhttp3.MultipartBody
import okhttp3.RequestBody
import retrofit2.Response
import retrofit2.http.Body
import retrofit2.http.DELETE
import retrofit2.http.Field
Expand Down Expand Up @@ -367,4 +368,11 @@ interface NcApiCoroutines {

@GET
suspend fun getScheduledMessage(@Header("Authorization") authorization: String, @Url url: String): ChatOverall

@GET
suspend fun pullChatMessages(
@Header("Authorization") authorization: String,
@Url url: String,
@QueryMap fields: Map<String, Int>
): Response<ChatOverall>
}
Loading
Loading