Commit graph

6227 commits

Author SHA1 Message Date
Marcel Hibbe
dcec7bd786
fix crash when getting previousChatMessage
when adapter has no items adapter!!.items[1].item will crash with IndexOutOfBoundsException

This could happen e.g. when chat history is cleared.

error was:

Exception java.lang.IndexOutOfBoundsException: Index 1 out of bounds for length 0
  at jdk.internal.util.Preconditions.outOfBounds (Preconditions.java:64)
  at jdk.internal.util.Preconditions.outOfBoundsCheckIndex (Preconditions.java:70)
  at jdk.internal.util.Preconditions.checkIndex (Preconditions.java:266)
  at java.util.Objects.checkIndex (Objects.java:359)
  at java.util.ArrayList.get (ArrayList.java:434)
  at com.nextcloud.talk.chat.ChatActivity.processMessagesFromTheFuture (ChatActivity.kt:2666)
  at com.nextcloud.talk.chat.ChatActivity.access$processMessagesFromTheFuture (ChatActivity.kt:209)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$12$1.invokeSuspend (ChatActivity.kt:875)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$12$1.invoke (Unknown Source:8)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$12$1.invoke (Unknown Source:4)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:219)
  at kotlinx.coroutines.flow.FlowKt__ErrorsKt$catchImpl$2.emit (Errors.kt:154)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:220)
  at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl (SharedFlow.kt:392)
  at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend (Unknown Source:15)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:104)
  at android.os.Handler.handleCallback (Handler.java:942)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:201)
  at android.os.Looper.loop (Looper.java:288)
  at android.app.ActivityThread.main (ActivityThread.java:7932)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:942)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-13 15:20:39 +01:00
Marcel Hibbe
b766abea5e
fix crash for unreadMarker
When messages were sorted out in handleSystemMessages it can happen that the chatMessageList is empty. Because setUnreadMessageMarker accessed chatMessageList[0] this crashed.

This can happen e.g. when only a reaction to a chat message was made before opening the chat.

Exception java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0.
  at kotlin.collections.EmptyList.get (Collections.kt:37)
  at kotlin.collections.EmptyList.get (Collections.kt:25)
  at com.nextcloud.talk.chat.ChatActivity.setUnreadMessageMarker (ChatActivity.kt:2691)
  at com.nextcloud.talk.chat.ChatActivity.processMessagesFromTheFuture (ChatActivity.kt:2651)
  at com.nextcloud.talk.chat.ChatActivity.access$processMessagesFromTheFuture (ChatActivity.kt:209)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$12$1.invokeSuspend (ChatActivity.kt:875)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$12$1.invoke (Unknown Source:8)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$12$1.invoke (Unknown Source:4)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:219)
  at kotlinx.coroutines.flow.FlowKt__ErrorsKt$catchImpl$2.emit (Errors.kt:154)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:220)
  at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl (SharedFlow.kt:392)
  at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend (Unknown Source:15)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:104)
  at android.os.Handler.handleCallback (Handler.java:942)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at android.app.ActivityThread.main (ActivityThread.java:8762)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:604)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-13 14:42:31 +01:00
Nextcloud bot
e268b7798e
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-13 03:03:33 +00:00
Marcel Hibbe
49c9b3c3e0
remove to set KEY_ROOM_ONE_TO_ONE twice
it's set in proceedToCall()

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-12 12:11:10 +01:00
Marcel Hibbe
79a8c16758
rename variables and methods
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-12 12:11:10 +01:00
sowjanyakch
37c3f35f7a
suppress warning string format invalid
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:09 +01:00
sowjanyakch
4705d1f7b0
use proper names for popup menu
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:09 +01:00
sowjanyakch
121e77b753
use white background for popup button and formatting
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:09 +01:00
sowjanyakch
eda9b94182
use touch listeners for hiding popup button
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:09 +01:00
sowjanyakch
0920029183
show popup for leaving call in 1:1
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:08 +01:00
sowjanyakch
90628c34ce
set "all" parameter to false and set to null only before API call
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:08 +01:00
sowjanyakch
d09b7b5a07
remove isGroupConversation variable
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:08 +01:00
sowjanyakch
cfe83dd027
remove isGroupConversation variable
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:08 +01:00
sowjanyakch
de637871a6
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:07 +01:00
sowjanyakch
e5789c0cf6
set bundle keys in CallNotificationActivity
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:07 +01:00
sowjanyakch
dff22845eb
implement material button
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:07 +01:00
sowjanyakch
a25f83cb4d
modify string
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:07 +01:00
sowjanyakch
d523f12462
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:07 +01:00
sowjanyakch
be9bda7f04
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:06 +01:00
sowjanyakch
bf3ed0ed42
handle end call button
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:06 +01:00
sowjanyakch
3d536c2af4
add short press and long press options to 1:1 conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:06 +01:00
sowjanyakch
3a6a1edad4
add short press and long press options to group conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:06 +01:00
sowjanyakch
6e2fdcb255
git bundle keys for group conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:05 +01:00
sowjanyakch
9537a8d9d3
add bundle keys for one-one conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:05 +01:00
sowjanyakch
ca0533a686
add button for end call for everyone
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:05 +01:00
sowjanyakch
ed9fc185bf
implement long click and short click on hangup button
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:05 +01:00
sowjanyakch
52fd3f9002
Add support for all parameter in leave call endpoint
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-12 12:11:05 +01:00
Nextcloud bot
edd6a01564
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-12 03:00:50 +00:00
Marcel Hibbe
1968d43691
require archived-conversations-v2
For archived conversations, require "-v2".
This is done because on server api, "archived-conversations" was already released for 20.0.2 by mistake which should have only be done for 20.1

As it's planned to release android talk 20.0.3 with a fresh master state, the archived conversations feature must be hidden manually, This is done by required "-v2".
Either it's served as this in the future or it can be removed for the 20.1.0 release.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-11 15:44:07 +01:00
Marcel Hibbe
2a2f8a8148
hide archivedFilterChip when capability is not available
Otherwise it would be shown for older NC versions without to be useful

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-11 15:44:06 +01:00
Marcel Hibbe
6092523146
delete isArchiveConversationsAvailable
only more complex checks should be made in CapabilitiesUtil, just checking a capability should be done directly via hasSpreedFeatureCapability

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-11 15:44:06 +01:00
Marcel Hibbe
07cf834cc5
hide archiveConversationTextHint when archive not available
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-11 15:44:06 +01:00
Nextcloud bot
60853df4c0
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-11 02:58:20 +00:00
Nextcloud bot
8a4c45e8ca
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-09 02:58:55 +00:00
Andy Scherzinger
3ac1b18d3d
fix(spotbugs): Improve spotbugs scoring
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-11-07 15:42:58 +01:00
Christian Reiner
238532feb2 adjust outcoming message view holders to use full available width in NoteToSelf chat
Signed-off-by: Christian Reiner <foss@christian-reiner.info>
2024-11-06 19:54:52 +01:00
Christian Reiner
315e263d31 fix spelling of property name in ChatViewModel
Signed-off-by: Christian Reiner <foss@christian-reiner.info>
2024-11-06 19:34:14 +01:00
Nextcloud bot
d9bcf14696
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-06 02:54:03 +00:00
Marcel Hibbe
44ab12b63b
Merge pull request #4417 from nextcloud/bugfix/noid/fixDbMigration11to12
Fix DB migration 11 to 12
2024-11-05 16:08:53 +01:00
Marcel Hibbe
bd7f6d72c5
Merge pull request #4384 from nextcloud/issue-4361-message-queue-bug
Message Queue bug fixes
2024-11-05 15:30:43 +01:00
rapterjet2004
d96682889c
fix to display message queue when revisiting chat in offline mode
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-05 15:11:10 +01:00
Marcel Hibbe
2ad8c2eabc
set nc_last_moderator_leaving_room_warning to one line in strings.xml
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-05 15:00:51 +01:00
sowjanyakch
a39ca256de
add const val for error code
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-05 14:53:36 +01:00
sowjanyakch
6c4685dce5
handle errors properly
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-05 14:53:36 +01:00
sowjanyakch
f6489eb10d
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-05 14:53:36 +01:00
sowjanyakch
9df91b6e74
refresh main activity after leaving a conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-05 14:53:36 +01:00
sowjanyakch
a07a5446be
make worker listenable
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-05 14:53:36 +01:00
sowjanyakch
aa5fd42c59
handle workResult
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-05 14:53:35 +01:00
sowjanyakch
088e6fd79f
Start unique work
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-05 14:53:35 +01:00
sowjanyakch
e04f2362e3
remove unused imports
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-05 14:53:35 +01:00