Commit graph

6350 commits

Author SHA1 Message Date
Nextcloud bot
026bb92be5
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-15 02:58:46 +00:00
sowjanyakch
b558a71ede
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
92caa215b0
error handling
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
2c6daedb2b
handle disposable properly
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
dba30346dc
use const val HTTP_STATUS_CODE_OK
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
05ca7f52a5
remove Snackbar
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
fbecfaf95d
reset status and hide the dialog
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
3f74a440d5
add hint - your status was set automatically
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:49 +01:00
sowjanyakch
13208e85f9
remove redundant null check
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:49 +01:00
sowjanyakch
c4f4c857d3
check for capability before reverting status
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:49 +01:00
sowjanyakch
7a63a645fe
format
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:49 +01:00
sowjanyakch
9fbb3886ab
handle reset status button
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:46 +01:00
sowjanyakch
ec01a049c8
add elements to predefinedStatusesList correctly
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:04:43 +01:00
sowjanyakch
974da71e52
get backup status only if restore capability is available
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:29 +01:00
sowjanyakch
d08b4f51b8
add backup message in the predefined status list
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:29 +01:00
sowjanyakch
27aafda59f
test backupStatus endpoint
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:29 +01:00
sowjanyakch
5fe5931bc4
add capability for restore
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:29 +01:00
sowjanyakch
6a9211e292
show reset button on first item of recycler view
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:29 +01:00
sowjanyakch
9f7c899368
add reset button
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:28 +01:00
sowjanyakch
2aac51d8bb
modify predefined_status.xml
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:28 +01:00
sowjanyakch
8cd8c5ca01
create url for backup status
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:28 +01:00
sowjanyakch
658988901c
add backupStatus endpoint
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:02:28 +01:00
Sowjanya Kota
5ff1003154
Merge pull request #4428 from nextcloud/lock_room
Lock room
2024-11-14 16:53:54 +01:00
Marcel Hibbe
f94a0cf95c
Merge pull request #4436 from nextcloud/bugfix/noid/fixCallEmojiListByScrolling
fix to provide all call emojis
2024-11-14 16:02:18 +01:00
Marcel Hibbe
89964c0725
Merge pull request #4448 from nextcloud/bugfix/noid/fixWebsocketConnectionForChat
Bugfix/noid/fix websocket connection for chat
2024-11-14 15:54:53 +01:00
Marcel Hibbe
cd5ee2f619
fix to support different screen densities
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-14 15:36:59 +01:00
Marcel Hibbe
59ee0b0cb1
fix to provide all call emojis
As the number of provided emojis grew, there was a bug that only one emoji was shown.

Putting all 12 emojis would have been too close, so it's implemented to scroll them horizontally

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-14 15:36:59 +01:00
Julius Linus
3908d0ce14
Merge pull request #4441 from nextcloud/issue-4405-fix-filter
Align filter behavior with web
2024-11-14 06:55:23 -06:00
Marcel Hibbe
acd964869d
add disposable
however i was not able to see onDestroy being executed.

anyway, disposables won't be necessary when coroutine is used.

also: remove a useless outdated log line

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-14 13:41:06 +01:00
Marcel Hibbe
8dd1b885f3
fix check if federated is still the same
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-14 13:41:06 +01:00
Marcel Hibbe
3bd1a533e3
fix ANR error (blockingSubscribe in setupWebsocket)
The request seems to cause problems so blockingSubscribe doesn't seem to be a good choice here. This commit will replace blockingSubscribe by subscribe and modify the related code in order to be executed when the request succeeds.
The root cause why the request seems to cause problems may have to be analyzed further.

I was not able to reproduce the ANR without this PR, however the following error was reported on gplay console very often!:

      at jdk.internal.misc.Unsafe.park (Native method)
      at java.util.concurrent.locks.LockSupport.park (LockSupport.java:341)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block (AbstractQueuedSynchronizer.java:506)
      at java.util.concurrent.ForkJoinPool.unmanagedBlock (ForkJoinPool.java:3466)
      at java.util.concurrent.ForkJoinPool.managedBlock (ForkJoinPool.java:3437)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await (AbstractQueuedSynchronizer.java:1623)
      at java.util.concurrent.LinkedBlockingQueue.take (LinkedBlockingQueue.java:435)
      at io.reactivex.internal.operators.observable.ObservableBlockingSubscribe.subscribe (ObservableBlockingSubscribe.java:56)
      at io.reactivex.Observable.blockingSubscribe (Observable.java:5552)
      at com.nextcloud.talk.chat.ChatActivity.setupWebsocket (ChatActivity.kt:2445)
      at com.nextcloud.talk.chat.ChatActivity.joinRoomWithPassword (ChatActivity.kt:2402)
      at com.nextcloud.talk.chat.ChatActivity.initObservers$lambda$13 (ChatActivity.kt:594)
      at com.nextcloud.talk.chat.ChatActivity.$r8$lambda$QKH5JCFLmCzRMlSJ-EV-m4IW5ig (unavailable)
      at com.nextcloud.talk.chat.ChatActivity$$ExternalSyntheticLambda38.invoke (D8$$SyntheticClass)
      at com.nextcloud.talk.chat.ChatActivity$sam$androidx_lifecycle_Observer$0.onChanged (unavailable:2)
      at androidx.lifecycle.LiveData.considerNotify (LiveData.java:133)
      at androidx.lifecycle.LiveData.dispatchingValue (LiveData.java:151)
      at androidx.lifecycle.LiveData.setValue (LiveData.java:309)
      at androidx.lifecycle.MutableLiveData.setValue (MutableLiveData.java:50)
      at com.nextcloud.talk.chat.viewmodels.ChatViewModel.getCapabilities (ChatViewModel.kt:240)
      at com.nextcloud.talk.chat.ChatActivity$initObservers$1$1.invokeSuspend (ChatActivity.kt:553)
      at com.nextcloud.talk.chat.ChatActivity$initObservers$1$1.invoke (unavailable:8)
      at com.nextcloud.talk.chat.ChatActivity$initObservers$1$1.invoke (unavailable: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 (unavailable: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:938)
      at android.os.Handler.dispatchMessage (Handler.java:99)
      at android.os.Looper.loopOnce (Looper.java:210)
      at android.os.Looper.loop (Looper.java:299)
      at android.app.ActivityThread.main (ActivityThread.java:8168)
      at java.lang.reflect.Method.invoke (Native method)
      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:556)
      at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1037)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-14 13:41:06 +01:00
Marcel Hibbe
e51ab67c37
fix check for remote server
As remote server is empty instead null when not available, the check was also true when no remote server was in use.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-14 13:41:03 +01:00
Sowjanya Kota
9257d41197
Merge pull request #4439 from nextcloud/bugfix/noid/fixNpeInRestoreMessageQueue
fix NPE in restoreMessageQueue
2024-11-14 09:56:12 +01:00
Nextcloud bot
3f2a67f67b
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-14 03:01:05 +00:00
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
rapterjet2004
ab4b3d633c
Fix behavior
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-13 07:54:01 -06: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
Marcel Hibbe
f144b64365
fix NPE in restoreMessageQueue
currentConversation was not yet initialized in ChatActivity.
In the future this may be better handled via StateFlows. For now it's solved via arguments.

Without the fix, this NPE appeared:

Exception java.lang.RuntimeException:
  at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4768)
  at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:4801)
  at android.app.servertransaction.ResumeActivityItem.execute (ResumeActivityItem.java:54)
  at android.app.servertransaction.ActivityTransactionItem.execute (ActivityTransactionItem.java:45)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2215)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:346)
  at android.os.Looper.loop (Looper.java:475)
  at android.app.ActivityThread.main (ActivityThread.java:7889)
  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:1009)
Caused by java.lang.NullPointerException:
  at com.nextcloud.talk.chat.MessageInputFragment.onResume (MessageInputFragment.kt:146)
  at androidx.fragment.app.Fragment.performResume (Fragment.java:3180)
  at androidx.fragment.app.FragmentStateManager.resume (FragmentStateManager.java:606)
  at androidx.fragment.app.FragmentStateManager.moveToExpectedState (FragmentStateManager.java:285)
  at androidx.fragment.app.FragmentStore.moveToExpectedState (FragmentStore.java:113)
  at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1433)
  at androidx.fragment.app.FragmentManager.dispatchStateChange (FragmentManager.java:2977)
  at androidx.fragment.app.FragmentManager.dispatchResume (FragmentManager.java:2909)
  at androidx.fragment.app.FragmentController.dispatchResume (FragmentController.java:285)
  at androidx.fragment.app.FragmentActivity.onResumeFragments (FragmentActivity.java:334)
  at androidx.fragment.app.FragmentActivity.onPostResume (FragmentActivity.java:323)
  at androidx.appcompat.app.AppCompatActivity.onPostResume (AppCompatActivity.java:245)
  at android.app.Activity.performResume (Activity.java:8215)
  at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4758)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-13 14:07:45 +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