mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-08 23:19:55 +00:00
temp message is added (values are still wrong)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
parent
80d2e75b60
commit
048551e9fb
@ -85,14 +85,14 @@ interface ChatMessageRepository : LifecycleAwareManager {
|
|||||||
replyTo: Int,
|
replyTo: Int,
|
||||||
sendWithoutNotification: Boolean,
|
sendWithoutNotification: Boolean,
|
||||||
referenceId: String
|
referenceId: String
|
||||||
): Flow<Result<ChatOverallSingleMessage>>
|
): Flow<Result<ChatMessage?>>
|
||||||
|
|
||||||
suspend fun addTemporaryMessage(
|
suspend fun addTemporaryMessage(
|
||||||
message: CharSequence,
|
message: CharSequence,
|
||||||
displayName: String,
|
displayName: String,
|
||||||
replyTo: Int,
|
replyTo: Int,
|
||||||
referenceId: String
|
referenceId: String
|
||||||
): Flow<Result<ChatOverallSingleMessage>>
|
): Flow<Result<ChatMessage?>>
|
||||||
|
|
||||||
suspend fun editChatMessage(credentials: String, url: String, text: String): Flow<Result<ChatOverallSingleMessage>>
|
suspend fun editChatMessage(credentials: String, url: String, text: String): Flow<Result<ChatOverallSingleMessage>>
|
||||||
}
|
}
|
||||||
|
@ -762,7 +762,7 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
replyTo: Int,
|
replyTo: Int,
|
||||||
sendWithoutNotification: Boolean,
|
sendWithoutNotification: Boolean,
|
||||||
referenceId: String
|
referenceId: String
|
||||||
): Flow<Result<ChatOverallSingleMessage>> =
|
): Flow<Result<ChatMessage?>> =
|
||||||
flow {
|
flow {
|
||||||
try {
|
try {
|
||||||
val response = network.sendChatMessage(
|
val response = network.sendChatMessage(
|
||||||
@ -774,8 +774,12 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
sendWithoutNotification,
|
sendWithoutNotification,
|
||||||
referenceId
|
referenceId
|
||||||
)
|
)
|
||||||
emit(Result.success(response))
|
|
||||||
|
val chatMessageModel = response.ocs?.data?.asModel()
|
||||||
|
|
||||||
|
emit(Result.success(chatMessageModel))
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
Log.e(TAG, "Error when sending message", e)
|
||||||
emit(Result.failure(e))
|
emit(Result.failure(e))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -803,7 +807,7 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
displayName: String,
|
displayName: String,
|
||||||
replyTo: Int,
|
replyTo: Int,
|
||||||
referenceId: String
|
referenceId: String
|
||||||
): Flow<Result<ChatOverallSingleMessage>> =
|
): Flow<Result<ChatMessage?>> =
|
||||||
flow {
|
flow {
|
||||||
try {
|
try {
|
||||||
val tempChatMessageEntity = createChatMessageEntity(internalConversationId, message.toString())
|
val tempChatMessageEntity = createChatMessageEntity(internalConversationId, message.toString())
|
||||||
@ -815,11 +819,13 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
|
|
||||||
val tempChatMessageModel = tempChatMessageEntity.asModel()
|
val tempChatMessageModel = tempChatMessageEntity.asModel()
|
||||||
|
|
||||||
// emit(Result.success(response))
|
emit(Result.success(tempChatMessageModel))
|
||||||
|
|
||||||
val triple = Triple(false, false, listOf(tempChatMessageModel))
|
val triple = Triple(true, false, listOf(tempChatMessageModel))
|
||||||
_messageFlow.emit(triple)
|
_messageFlow.emit(triple)
|
||||||
|
|
||||||
|
// emit()
|
||||||
|
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Log.e(TAG, "Something went wrong when adding temporary message", e)
|
Log.e(TAG, "Something went wrong when adding temporary message", e)
|
||||||
emit(Result.failure(e))
|
emit(Result.failure(e))
|
||||||
@ -855,11 +861,11 @@ class OfflineFirstChatRepository @Inject constructor(
|
|||||||
parentMessageId = null,
|
parentMessageId = null,
|
||||||
systemMessageType = ChatMessage.SystemMessageType.DUMMY,
|
systemMessageType = ChatMessage.SystemMessageType.DUMMY,
|
||||||
replyable = false,
|
replyable = false,
|
||||||
timestamp = 0,
|
timestamp = System.currentTimeMillis(),
|
||||||
expirationTimestamp = 0,
|
expirationTimestamp = 0,
|
||||||
actorDisplayName = "",
|
actorDisplayName = "test",
|
||||||
lastEditActorType = null,
|
lastEditActorType = null,
|
||||||
lastEditTimestamp = null,
|
lastEditTimestamp = 0L,
|
||||||
renderMarkdown = true,
|
renderMarkdown = true,
|
||||||
lastEditActorId = "",
|
lastEditActorId = "",
|
||||||
lastEditActorDisplayName = ""
|
lastEditActorDisplayName = ""
|
||||||
|
@ -158,9 +158,11 @@ class MessageInputViewModel @Inject constructor(
|
|||||||
referenceId
|
referenceId
|
||||||
).collect { result ->
|
).collect { result ->
|
||||||
if (result.isSuccess) {
|
if (result.isSuccess) {
|
||||||
Log.d(TAG, "bbbb")
|
Log.d(TAG, "temp message ref id: " + (result.getOrNull()?.referenceId ?: "none"))
|
||||||
|
|
||||||
|
_sendChatMessageViewState.value = SendChatMessageSuccessState(message)
|
||||||
} else {
|
} else {
|
||||||
Log.d(TAG, "xxxx")
|
_sendChatMessageViewState.value = SendChatMessageErrorState(message)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -188,7 +190,7 @@ class MessageInputViewModel @Inject constructor(
|
|||||||
referenceId
|
referenceId
|
||||||
).collect { result ->
|
).collect { result ->
|
||||||
if (result.isSuccess) {
|
if (result.isSuccess) {
|
||||||
Log.d(TAG, "received ref id: " + (result.getOrNull()?.ocs?.data?.referenceId ?: "none"))
|
Log.d(TAG, "received ref id: " + (result.getOrNull()?.referenceId ?: "none"))
|
||||||
|
|
||||||
_sendChatMessageViewState.value = SendChatMessageSuccessState(message)
|
_sendChatMessageViewState.value = SendChatMessageSuccessState(message)
|
||||||
} else {
|
} else {
|
||||||
|
@ -65,6 +65,7 @@ import com.nextcloud.talk.utils.preferences.AppPreferences
|
|||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.Provides
|
import dagger.Provides
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
|
import javax.inject.Singleton
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
class RepositoryModule {
|
class RepositoryModule {
|
||||||
@ -151,6 +152,7 @@ class RepositoryModule {
|
|||||||
@Provides
|
@Provides
|
||||||
fun provideInvitationsRepository(ncApi: NcApi): InvitationsRepository = InvitationsRepositoryImpl(ncApi)
|
fun provideInvitationsRepository(ncApi: NcApi): InvitationsRepository = InvitationsRepositoryImpl(ncApi)
|
||||||
|
|
||||||
|
@Singleton
|
||||||
@Provides
|
@Provides
|
||||||
fun provideOfflineFirstChatRepository(
|
fun provideOfflineFirstChatRepository(
|
||||||
chatMessagesDao: ChatMessagesDao,
|
chatMessagesDao: ChatMessagesDao,
|
||||||
|
Loading…
Reference in New Issue
Block a user