Commit Graph

4222 Commits

Author SHA1 Message Date
Marcel Hibbe
e8cf3eed56
add setConversationReadOnly
must have been lost during resolving merge conflicts

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-21 11:18:36 +01:00
sowjanyakch
ebfb38b5b5
write logs for exceptions in viewModel
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:07:09 +01:00
sowjanyakch
fa3e8002bc
remove unused endpoint
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:07:08 +01:00
sowjanyakch
a95433c6bc
convert rxjava to coroutines - unban actor
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:07:06 +01:00
sowjanyakch
bdda04c21e
remove unused code
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:05:57 +01:00
sowjanyakch
121d7e6907
convert rxjava to coroutines - list bans
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:05:55 +01:00
sowjanyakch
3bc3a8e3ee
remove unused endpoint
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:05:31 +01:00
sowjanyakch
7ae39bfcd2
convert rxjava to coroutines - ban actor
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:05:29 +01:00
sowjanyakch
626994e68c
lint warnings
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:10 +01:00
sowjanyakch
33314cf0ca
use constants
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:10 +01:00
sowjanyakch
af7a395508
remove unused endpoints
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:10 +01:00
sowjanyakch
5094cf5719
convert rxjava to coroutines - set expiration and set notification levels for messages
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:10 +01:00
sowjanyakch
1d9f475768
remove unused endpoints
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:09 +01:00
sowjanyakch
f4f943ff5a
convert rxjava to coroutines - notification calls
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:09 +01:00
sowjanyakch
77b55dcd9b
convert java code to kotlin - DatabaseStorageModule
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:09 +01:00
sowjanyakch
9e8a5476f9
Rename .java to .kt
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:09 +01:00
sowjanyakch
75d1c548ab
remove unused endpoints
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:09 +01:00
sowjanyakch
9ba07f575f
convert rxjava to coroutine - unfavourite conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:08 +01:00
sowjanyakch
e9d2a866a7
remove unused endpoint
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:08 +01:00
sowjanyakch
68366b3d09
convert rxjava to coroutine - favourite conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:07 +01:00
Marcel Hibbe
6637e8c9d9
Merge pull request #4415 from nextcloud/issue-4376-hide-features-in-offline-mode
Disabling/Hiding features when offline
2024-11-21 10:32:42 +01:00
Marcel Hibbe
90c6eb0b24
Merge pull request #4423 from nextcloud/issue-4404-better-indicator-for-calls
Better call started indicator
2024-11-21 10:19:25 +01:00
rapterjet2004
68ce6fabf3
linter -_-
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-21 10:17:15 +01:00
rapterjet2004
814592da7f
Refactoring NetworkMonitor to be more Java friendly
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-21 10:17:14 +01:00
rapterjet2004
01006c29d7
linter
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-21 10:17:14 +01:00
rapterjet2004
8e7515238a
Disabling features when not connected to internet
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-21 10:17:13 +01:00
rapterjet2004
6067f04b12
Should be working
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-20 10:54:46 -06:00
sowjanyakch
0db401de4a
remove unused code
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-19 11:07:35 +01:00
sowjanyakch
a133c2a3b9
refactor
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-19 10:56:35 +01:00
sowjanyakch
574791c1bc
remove unused imports
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-19 10:56:35 +01:00
sowjanyakch
452a4c72f4
convert rxjava to coroutines - set conversation read only
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-19 10:56:32 +01:00
sowjanyakch
ab313adfd5
remove unused endpoint
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-19 10:52:33 +01:00
sowjanyakch
66686d7602
get correct api version for chat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-19 10:52:33 +01:00
sowjanyakch
7a8eb3ca22
convert rxjava to coroutines - clearChatHistory
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-19 10:52:30 +01:00
sowjanyakch
6955995654
remove unused endpoints
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-19 10:45:17 +01:00
sowjanyakch
6cce2783b9
convert rxjava to coroutines - setConversationDescription
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-19 10:41:08 +01:00
sowjanyakch
1beffd9e22
remove unused endpoint
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-19 10:41:08 +01:00
sowjanyakch
9525986dde
convert rxjava to coroutines - renameRoom
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-19 10:41:07 +01:00
sowjanyakch
cedf1f09e9
Implement renameRoom in ConversationInfoEditRepository
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-19 10:41:07 +01:00
sowjanyakch
e5802d70f3
remove unused code
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 21:08:15 +01:00
sowjanyakch
013195465c
refactoring
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 21:08:15 +01:00
sowjanyakch
3de36ebec3
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 21:08:15 +01:00
sowjanyakch
e0b2174fc7
use one endpoint instead of two
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 21:08:12 +01:00
sowjanyakch
51330cbc76
remove unused imports
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 21:07:58 +01:00
sowjanyakch
228c73ce60
test coroutines
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 21:07:43 +01:00
sowjanyakch
79dfac6ac0
remove endpoints from NcApi
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 21:06:50 +01:00
sowjanyakch
c03c5a5d50
remove unused imports
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 21:06:50 +01:00
sowjanyakch
af9b2b29c7
convert rxjava to coroutines
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 21:06:50 +01:00
sowjanyakch
2d5facc905
remove setPassword from NcApi
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 21:06:49 +01:00
sowjanyakch
4439da9bd1
use lifecycleScope
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 20:51:07 +01:00
sowjanyakch
240bdd6771
handle errors
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 20:51:07 +01:00
sowjanyakch
dce609b831
remove unused used from NcApi
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 20:51:07 +01:00
sowjanyakch
9f3bbf6ebf
refactor code
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 20:51:07 +01:00
sowjanyakch
99d73e15e0
migration to coroutines
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 20:51:06 +01:00
sowjanyakch
91a18e27f9
implement API in NcApiCoroutines
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-18 20:51:06 +01:00
Marcel Hibbe
b96cd32108
fix NPE currentConversation!!.internalId
followup to PR #4439

Exception java.lang.NullPointerException:
  at com.nextcloud.talk.chat.MessageInputFragment.handleMessageQueue (MessageInputFragment.kt:251)
  at com.nextcloud.talk.chat.MessageInputFragment.access$handleMessageQueue (MessageInputFragment.kt:82)
  at com.nextcloud.talk.chat.MessageInputFragment$initObservers$4$1.invokeSuspend (MessageInputFragment.kt:192)
  at com.nextcloud.talk.chat.MessageInputFragment$initObservers$4$1.invoke (Unknown Source:12)
  at com.nextcloud.talk.chat.MessageInputFragment$initObservers$4$1.invoke (Unknown Source:8)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:219)
  at kotlinx.coroutines.flow.FlowKt__ChannelsKt.emitAllImpl$FlowKt__ChannelsKt (Channels.kt:33)
  at kotlinx.coroutines.flow.FlowKt__ChannelsKt.access$emitAllImpl$FlowKt__ChannelsKt (Channels.kt:1)
  at kotlinx.coroutines.flow.FlowKt__ChannelsKt$emitAllImpl$1.invokeSuspend (Unknown Source:14)
  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:241)
  at android.os.Looper.loop (Looper.java:342)
  at android.app.ActivityThread.main (ActivityThread.java:8128)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:583)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1045)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-18 09:53:08 +01: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
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
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
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
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
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
rapterjet2004
990f6ec3fa
Better Call Started Indicator
- Pinned to MessageInputFragment
- Collapsable
- Looks cool

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-11 08:33:45 -06:00
sowjanyakch
00632e5d70
suppress string format invalid
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-08 20:33:31 +01:00
sowjanyakch
17e105b09c
store lock setting in arbitrary storage
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-08 20:33:31 +01:00
sowjanyakch
50569a09af
set conversation read only
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-08 20:33:31 +01:00
sowjanyakch
956f2c435b
modify activity_conversation_info.xml
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-08 20:33:31 +01: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
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
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
sowjanyakch
f6824f94f1
Convert LeaveConversationWorker from java to Kotlin
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-05 14:53:35 +01:00
sowjanyakch
be55a908d5
Rename .java to .kt
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-05 14:53:35 +01:00
Marcel Hibbe
11a4738a4c
fix addArchiveConversations migration method
this will set NOT NULL and DEFAULT 0 to hasArchived column

Otherwise there would be an error when updating from the previous DB version:

IllegalStateException: Migration didn't properly handle: Conversations(com.nextcloud.talk.data.database.model.ConversationEntity)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-05 14:43:19 +01:00
Marcel Hibbe
ff90552527
rename pair to triple
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-05 13:31:54 +01:00
Marcel Hibbe
662ddd275e
remove unused constants from ChatActivity
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-05 13:31:54 +01:00
Marcel Hibbe
29f7265b19
implement "Unread messages" popup with normal button
replace com.nextcloud.ui.popupbubble.PopupBubble with MaterialButton.

com.nextcloud.ui.popupbubble.PopupBubble was forked from
https://github.com/webianks/PopupBubble
which is quite outdated.

com.nextcloud.ui.popupbubble.PopupBubble is still used in ConversationsListActivity but there it should also be removed.

Removing this recycler view stuff will also help a bit to switch to JetpackCompose

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-05 13:31:54 +01:00
Marcel Hibbe
675bc9bec0
fix messages not shown + improve unread marker behavior
this commit will avoid to fail to show messages in adapter. This was caused by the usage of
messagesListAdapter.deleteById("-1");
in UnreadNoticeMessageViewHolder.
The bug seems to exist in the past already but was never reported (Sometimes, when receiving a lot of messages it could happen that some message in between is not shown in UI). However with recent changes after release 20.0.2 the bug appeared more often.

The root cause was not analyzed, but the handling was modified in general as the unread marker behavior was never really good.
By not using deleteById but replace it with new unread marker logic, the bug of disappearing messages is solved and the unread messages marker behavior is improved.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-05 13:31:54 +01:00
Julius Linus
085711d077
Merge pull request #4333 from nextcloud/issue-4257-archive-conversation
Archived Conversations 🗃️
2024-10-28 08:30:03 -05:00
sowjanyakch
b2b64674c0
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-24 13:51:06 +02:00
sowjanyakch
3cd25f4248
use const val for time
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-24 13:49:16 +02:00
sowjanyakch
808da8970a
KtlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-24 13:43:00 +02:00
sowjanyakch
112a2c28f0
Only group Chat messages
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-24 13:43:00 +02:00
sowjanyakch
aaa27ba0ef
modify previousChatMessageIndex
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-24 13:43:00 +02:00
sowjanyakch
9f8374e61c
remove unused constants
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-24 13:43:00 +02:00
sowjanyakch
036485e28d
group chat messages
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-24 13:43:00 +02:00
rapterjet2004
7285c0ae44
codacy and analysis
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-23 08:54:18 -05:00
sowjanyakch
074297ca42
remove comments
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 15:52:40 +02:00
sowjanyakch
fda055ee52
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 15:52:40 +02:00
sowjanyakch
ee445f5722
don't set timer in past
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 15:52:40 +02:00
sowjanyakch
71eb97c443
set timer for lobby
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 15:52:39 +02:00
rapterjet2004
3d9f8366c8
linter
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-23 08:26:44 -05:00
rapterjet2004
d464d714ff
uses NcApiCoroutines now
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-23 08:14:45 -05:00
Marcel Hibbe
b42824a5a1
Merge pull request #4371 from nextcloud/fix-handling-of-end-call-for-all-with-external-signaling
Fix handling of end call for everyone with external signaling
2024-10-23 15:02:26 +02:00
rapterjet2004
46efdf4b0c
changes
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-23 07:26:20 -05:00
Daniel Calviño Sánchez
ded3867c24 Add explicit documentation about the different casing
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-10-23 13:02:27 +02:00
Daniel Calviño Sánchez
0705451921 Fix handling of end call for all with external signaling
When the message applies to all participants the property is all in
lower case. The comparison is case sensitive, so the message was ignored
and the call was not left by the Talk Android app.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-10-23 13:01:16 +02:00
sowjanyakch
99b410f94c
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:39:18 +02:00
sowjanyakch
81040e3eb9
modify strings
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:36:05 +02:00
sowjanyakch
1e826979c6
add replyable message tag
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:36:05 +02:00
sowjanyakch
eb5cdca295
Rename outcomingDeckCardViewHolder
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:36:04 +02:00
sowjanyakch
305a66ef5a
Add theming to deck card image
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:36:04 +02:00
sowjanyakch
de420a3a30
include deck card name as the lastMessageDisplayText
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:36:04 +02:00
sowjanyakch
c80050d8f5
Display card deck with parameters
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:36:03 +02:00
sowjanyakch
56b0b80316
Work on Incoming and Outgoing deck card viewholder
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:36:03 +02:00
sowjanyakch
66d2db20aa
create deck card xml layout
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:35:59 +02:00
Daniel Calviño Sánchez
fdb8692b59
Remove dead code to set the call state
"IN_CONVERSATION" was set when the activity was created and "state" in
the intent extras had the value "resume". However, there is no "state"
extra set by default in Android intents, it should be explicitly set,
but as it is not set anywhere in Talk Android code that would make it
dead code and safe to remove.

Moreover, the connection to the call should be initialized again in any
case rather than resumed when "onCreate" is called, as it is likely that
any previous connection would have been ended if the previous activity
instance was destroyed.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-10-22 16:51:10 +02:00
Marcel Hibbe
ea00481031
Merge pull request #4346 from nextcloud/fix-ignored-blank-lines-in-javadocs
Fix ignored blank lines in Javadocs
2024-10-22 14:52:24 +02:00
Marcel Hibbe
4ff3702f8b
Merge pull request #4356 from nextcloud/fix-partial-path-travel-1
Adjust cacheDir based on Android version
2024-10-22 11:41:17 +02:00
Marcel Hibbe
7a7ceb8714
format code + remove unused import
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-22 11:29:51 +02:00
rapterjet2004
b192e0ec60
linter
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:51:08 +02:00
rapterjet2004
cc717b25f6
got deleting working and added attempts logic again
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:51:06 +02:00
rapterjet2004
df2c6cfc06
impl marcel suggestions + adding deleting cache option
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:50:58 +02:00
rapterjet2004
9bdaf68232
fixed deletion bug, implemented Marcel's suggestions
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:50:30 +02:00
rapterjet2004
0d9c5bfcb9
fixed some bugs
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:49:57 +02:00
rapterjet2004
399fa7eb70
got replying working
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:49:57 +02:00
rapterjet2004
411a4f1dce
got editing down
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:49:56 +02:00
rapterjet2004
8cd0983088
WIP Editing
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:49:56 +02:00
rapterjet2004
0041fb3b71
deleting works
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:49:56 +02:00
rapterjet2004
98e0b7a270
should have fixed the UI now with lifecycle and error handling
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:49:51 +02:00
rapterjet2004
fb9a7b8e04
added ui
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:46:04 +02:00
rapterjet2004
498a1274d9
git
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:46:03 +02:00
Marcel Hibbe
f817c20b4e
fix to handle chats without offline messages when connection is lost
avoid NPE:

java.lang.NullPointerException
	at com.nextcloud.talk.chat.data.network.OfflineFirstChatRepository.getCappedMessagesAmountOfChatBlock(OfflineFirstChatRepository.kt:186)
	at com.nextcloud.talk.chat.data.network.OfflineFirstChatRepository.access$getCappedMessagesAmountOfChatBlock(OfflineFirstChatRepository.kt:43)
	at com.nextcloud.talk.chat.data.network.OfflineFirstChatRepository$loadInitialMessages$1.invokeSuspend(OfflineFirstChatRepository.kt:162)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 15:33:25 +02:00
Marcel Hibbe
7e3a4e4a83
refactoring and logging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:55 +02:00
Marcel Hibbe
c81b1fa62f
pass newestMessageIdFromDb to initMessagePolling
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:55 +02:00
Marcel Hibbe
7eb8b9fa70
extract getCappedMessagesAmountOfChatBlock
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:55 +02:00
Marcel Hibbe
adf18020c1
Fix unintended deletion of conversations (+related messages&chatBlocks)
Mistake was, that the conversations from DB and sync could differ due to values.
E.g. when a user changed the status, the conversations from DB and sync would differ. So there were conversations (+related messages&chatBlocks) deleted sometimes.
This caused bugs that when entering a chat, all data was loaded again.

In the previous implementation (before this PR), this error was only visible in the UI when you were offline (in this case, nothing was displayed!).

To fix the bug, only the internalId's are compared.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:55 +02:00
Marcel Hibbe
3d37cc0831
only do initial request if newestMessageIdFromDb is lower than lastReadMessage from conversation
If conversation has a newer message id than DB then an online request is necessary

If conversation has an older message id than DB then an online request is not necessary (this could happen when updating of DB is implemented for push notification, not yet done).

If conversation has the same message id like DB than request can be skipped

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:54 +02:00
Marcel Hibbe
dc38904d01
delay progress bar
delay progress bar for one second before showing up for slow connection

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:54 +02:00
Marcel Hibbe
b1d6086684
load conversation from DB first, then update by request if connection is available
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:54 +02:00
Marcel Hibbe
818a843143
check if sync succeeded
Decrease message limit for retries of message loading

make it possible to add any amount (up to 100) of messages to UI for initial loading.

add logging

only make initial request for chat messages when newest message from DB is not equal the lastReadMessage that is offered by the conversation

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-21 13:49:54 +02:00
Daniel Calviño Sánchez
1c0e473e1a Fix ignored blank lines in Javadocs
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-10-18 14:28:55 +02:00
rapterjet2004
ea7d48fb67
detekt
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-16 08:57:40 -05:00
rapterjet2004
39305d7e96
Ironed out the bugs
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-15 08:15:13 -05:00
rapterjet2004
94f33c13bc
WIP got archived working - still have some todos
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-14 09:00:24 -05:00
rapterjet2004
8eeca17d86
WIP
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-11 10:51:37 -05:00
Andy Scherzinger
47e9c71ea9
style(ktlint): Fix formatting in kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-10-07 16:34:59 +02:00
Marcel Hibbe
ce8143a807
center search results in chat
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-02 14:03:11 +02:00
Marcel Hibbe
305f1732ba
fix availability of search feature.
Hide search feature if room is federated.
Also, for conversation list the check for federation inside isUnifiedSearchAvailable makes no sense.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-10-02 14:02:04 +02:00
Sowjanya Kota
acd31ec2b5
Merge pull request #4289 from nextcloud/bugfix/4288/fixTypingIndicatorPosition
fix position and animation of typing indicator
2024-10-01 13:37:35 +02:00
sowjanyakch
d76a1d0bd9
make predefined status use custom time
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-01 12:45:31 +02:00
Marcel Hibbe
94d62a943f
fix position and animation of typing indicator
Without this fix, typing indicator moves up and wont go down

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-27 16:51:45 +02:00
Julius Linus
246d496024
Merge pull request #4273 from nextcloud/fix-reminder-refactor
[Bug Fix] Fix wrong value when choosing custom reminder date
2024-09-27 09:45:30 -05:00
sowjanyakch
de582f8b0b
use variable "VOICE_MESSAGE_PREFIX_MAX_LENGTH" to restrict length of voice recording file name
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-27 12:41:36 +02:00
sowjanyakch
2478aa884b
put file length value in utils
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-27 12:41:36 +02:00
sowjanyakch
ce8c4b2b84
fix file name of voice recording
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-27 12:41:36 +02:00
sowjanyakch
25846fe23f
set default emoji only when status icon is null
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-27 12:24:38 +02:00
sowjanyakch
1347ec29c4
Set empty status message and default emoji
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-27 12:13:32 +02:00
Marcel Hibbe
16c49bc430
bump versions for SERVER_VERSION_MIN_SUPPORTED + SERVER_VERSION_SUPPORT_WARNING
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-26 13:27:45 +02:00
Marcel Hibbe
ebc2fd2702
Add test for conversation conversion
This test respects different API versions and checks if default values are set as expected.

- remove deprecated+unused methods
- remove comments
- remove unnecessary double-bang operator

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-26 13:27:44 +02:00
sowjanyakch
ebace8713a
Rounded corners for change password dialog
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-26 13:13:57 +02:00
sowjanyakch
8c967c4f56
use open lock icon for set password
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-26 13:13:56 +02:00
sowjanyakch
c165e9fe0c
UI improvements
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-26 13:13:56 +02:00
sowjanyakch
31c0d74356
Add change password dialog
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-26 13:13:56 +02:00
sowjanyakch
381804c892
Add Change Password dialogue
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-26 13:13:56 +02:00
parneet-guraya
856c0761c9
Fix logic for date time retrieval
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-09-25 22:04:11 +05:30
Sowjanya Kota
2592f72039
Merge pull request #4265 from nextcloud/bugfix/noid/fixCrashWhenExtSignalingEmpty
Fix crash when externalSignalingServer is empty
2024-09-25 09:48:56 +02:00
Marcel Hibbe
7dc7051481
Fix crash when externalSignalingServer is empty
Otherwise, following crash happened, as it was tried to deal with the empty url:

2024-09-24 15:10:30.719 17765-17765 WebSocketInstance       com.nextcloud.talk2                  D  restartWebSocket: /spreed
2024-09-24 15:10:30.722 17765-17765 System.err              com.nextcloud.talk2                  W  java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but no scheme was found for /spree...
2024-09-24 15:10:30.723 17765-17765 System.err              com.nextcloud.talk2                  W  	at okhttp3.HttpUrl$Builder.parse$okhttp(HttpUrl.kt:1261)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-24 16:25:33 +02:00
Marcel Hibbe
b78267d96f
try to avoid NPE for currentConversation
On gplay console the following NPE was reported for the line

participantPermissions = ParticipantPermissions(spreedCapabilities, currentConversation!!)

 E  FATAL EXCEPTION: main
          Process: com.nextcloud.talk2, PID: 6626
          java.lang.NullPointerException
          at com.nextcloud.talk.chat.ChatActivity.initObservers$lambda$13(ChatActivity.kt:583)
          at com.nextcloud.talk.chat.ChatActivity.$r8$lambda$QKH5JCFLmCzRMlSJ-EV-m4IW5ig(Unknown Source:0)

which seems that currentConversation was null. If it would have been spreedCapabilities, then the error would have been thrown in the line before..

A reason MAY BE that the observer is triggered before setData on the ViewModel is executed.
While this fix is just not executing code when currentConversation is null, it's unsure if it will follow up problems (like an empty chat) or if the observer is triggered another time when currentConversation is available.

So it's just a hotfix.
To improve the situation in the long term, we should move more logic to viewModel and only use Flow instead to mix it with LiveData.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-24 15:52:49 +02:00
Marcel Hibbe
aeacfa09b6
avoid UninitializedPropertyAccessException for spreedCapabilities
reported issue on gplay console was:

Exception kotlin.UninitializedPropertyAccessException: lateinit property spreedCapabilities has not been initialized
  at com.nextcloud.talk.chat.ChatActivity.getSpreedCapabilities (ChatActivity.kt:284)
  at com.nextcloud.talk.chat.ChatActivity.processExpiredMessages (ChatActivity.kt:2536)
  at com.nextcloud.talk.chat.ChatActivity.access$processExpiredMessages (ChatActivity.kt:204)
  at com.nextcloud.talk.chat.ChatActivity$initObservers$10$1.invokeSuspend (ChatActivity.kt:820)

This is just a hotfix while hoping processExpiredMessages is executed again while spreedCapabilities are available.

To improve the situation in the long term, we should move more logic to viewModel and have better control over sequence of actions.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-24 15:25:42 +02:00
sowjanyakch
8bf9e3552e
rename variable selectedImageUri
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-23 16:40:06 +02:00
sowjanyakch
384ba6945f
ktlint format
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-23 16:40:06 +02:00
sowjanyakch
4dd22d6223
Get selectedImageUri from ViewModel
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-23 16:40:06 +02:00
sowjanyakch
bc02236801
Make Conversation name text limit to single line
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-23 16:40:06 +02:00
sowjanyakch
317f745806
Only display delete icon when user avatar is selected
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-23 16:40:05 +02:00
Marcel Hibbe
b080e891bb
fix to not remove call buttons for federated conversations after 30 seconds
After 30 seconds (when the capabilities were updated) the call buttons of federated conversations were removed (this was done back then when fed calls were not implemented).

However this happened not always because of the check
"if (this::spreedCapabilities.isInitialized) {...."
It seems this check sometimes is false when it's supposed to be true. This has be to further investigated and has to be be simplified/improved by a cleaner architecture.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-20 13:46:21 +02:00
Marcel Hibbe
9e91bdeb1d
fix to hide messageInputFragment when user has no restriction to write
The messageInputFragment was hidden by checkShowMessageInputView(), but it was immediately shown again by checkLobbyState()

This fix will execute checkShowMessageInputView() inside checkLobbyState() in the correct order.

Additionally, the check
checkLobbyState()
has to be already executed in
GetCapabilitiesInitialLoadState
as well as
checkShowCallButtons()

Otherwise the expected behavior would only be set after 30 seconds.

An improvemnt for the future must be to improve the capabilities handling.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-18 17:34:10 +02:00
Marcel Hibbe
28906dd999
dont show error when fetching pending invitations failed
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-17 12:05:02 +02:00
Marcel Hibbe
5991b91460
fix to show accounts from older servers in switch account dialog
if invitations were not supported, the account did not show up

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-17 11:30:36 +02:00
Marcel Hibbe
722914fb6c
fix to show user status in conversation list
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-17 11:04:18 +02:00
Marcel Hibbe
3f06801e59
fix to load chat for old server version
With server version 23.0.12 it happened that the chat did not load because values were null. Now default values in json model are set (because that's easier than changing the entity).
Additionally a check was added in CallActivity that a callStartTime of 0 would not be used (but it should not be used anyway if it would be 0 because then capability should also not be available).

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-16 17:29:08 +02:00
Marcel Hibbe
0480ceef7f
fix to show connection lost hint when internet is gone
otherwise it showed "connection gained" with red background when loosing connection for the first time

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-13 18:41:46 +02:00
Marcel Hibbe
033e3e86c1
reformat code
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-13 16:56:46 +02:00
Daniel Calviño Sánchez
4cea7b2390
Provide federation values to external signaling server in chat
Otherwise the WebSocket configuration and session clashes with the one
from the CallActivity, which already uses the federated settings.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-09-13 15:51:21 +02:00
Daniel Calviño Sánchez
148dedbc6c
fixup! Provide federation values when joining a room in the external signaling
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-09-13 15:51:21 +02:00
Daniel Calviño Sánchez
c7af117f4e
fixup! Store federation properties in signaling settings
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-09-13 15:51:21 +02:00
Daniel Calviño Sánchez
18a0394d3b
fixup! Provide federation values when joining a room in the external signaling
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-09-13 15:51:20 +02:00
Daniel Calviño Sánchez
166107d7d2
fixup! Provide federation values when joining a room in the external signaling
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-09-13 15:51:20 +02:00
Daniel Calviño Sánchez
0ff783ef0b
Show proper avatar for federated users in calls
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-09-13 15:51:20 +02:00
Daniel Calviño Sánchez
3b7c5e1d27
Store actor data from signaling messages with participant updates
Starting with Talk 20 the signaling messages that provide updates to the
participants ("participants->update" in the external signaling server,
"usersInRoom" in the internal signaling server) now include "actorType"
and "actorId" properties for each participant.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-09-13 15:51:20 +02:00
Daniel Calviño Sánchez
86b06488c3
Provide federation values when joining a room in the external signaling
The "federation" values are used by the external signaling server to
establish a connection with the remote signaling server in a federated
room.

For now this is applied only in calls; when the room is joined in the
chat view again after a call it will still join it in the old way,
without federation properties, which will cause the connection with the
remote signaling server to be closed.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-09-13 15:51:20 +02:00
Daniel Calviño Sánchez
f3c7913f16
Get signaling settings by room when starting a call
This is necessary to get the specific federation properties for the
room.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-09-13 15:51:20 +02:00
Daniel Calviño Sánchez
6706bc2790
Store federation properties in signaling settings
Starting with Talk 20 the signaling settings include a "federation"
property that provide the values needed to join a federated room in the
external signaling settings. The "federation" property is specific to
each conversation, and it will be returned although empty for
non-federated conversations.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-09-13 15:51:19 +02:00
Marcel Hibbe
dc32a4a2f1
fix order of queued messages
add delay between sending of queued messages to increase the chance they are received on server in the correct order. This is not the best solution though as it blocks the UI a bit so may have to be improved!

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-13 15:27:44 +02:00
rapterjet2004
569be55395
Implement queued messages for offline support
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-09-13 15:27:44 +02:00
sowjanyakch
6bc3b1a6e9
Make avatar circular
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-12 17:26:26 +02:00
sowjanyakch
3946240e4f
Add verification metadata
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-12 17:26:26 +02:00
sowjanyakch
f8bc4f2e96
upload conversation avatar
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-12 17:26:25 +02:00
sowjanyakch
fa014aab3a
Make pickImage work
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-12 17:26:25 +02:00
sowjanyakch
df6d54d51c
Add endpoints upload and delete Conversation Avatar
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-12 17:26:25 +02:00
Marcel Hibbe
9976767591
Merge pull request #4193 from nextcloud/bugfix/4168/doNotPullMessagesWhenOfflineOrPaused
do not try to pull chat messages when offline or paused
2024-09-12 17:24:21 +02:00
Marcel Hibbe
24c27d0029
sleep one second before websocket reconnect
otherwise it's an endless loop without delay which may stress the devices...

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-11 17:21:41 +02:00
Marcel Hibbe
9a14764321
do not try to pull chat messages when offline or paused
Otherwise, it resulted in a lot of flickering because _lastCommonReadFlow was emitted every 500ms. And anyway if we know we are offline or paused then it doesn't make sense to execute the sync method.

chain which caused the flickering was:
updateUiForLastCommonRead (_lastCommonReadFlow) -> updateReadStatusOfAllMessages - notifyDataSetChanged -> onBindViewHolder -> IncomingLinkPreviewMessageViewHolder

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-11 17:05:07 +02:00
Marcel Hibbe
796053e271
remove theming of call buttons to remove disabled look for dark mode
In dark mode, the call buttons looked like disabled otherwise.

There is still the 3-dots menu next to the call icons like disabled for dark and light mode. But this is a different bug that needs to be fixed in another branch(could not find the reason for now).

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-11 13:49:20 +02:00
Marcel Hibbe
6ddf06e9fd
improve to align unread conversation after tapping on unread mentions button
...instead to just show it on top

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-11 11:11:56 +02:00
Marcel Hibbe
4209bfa2b4
fix to set searchBehaviorSubject regardless of searchHelper being not null
same for swipeRefreshLayoutView?.isRefreshing

If searchHelper would be null (= when UnifiedSearch is not available) then going back to conversations list view would not trigger to check to show for unread mentions bubble. This fix will make it independent from searchHelper.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-11 11:11:56 +02:00
Marcel Hibbe
bef414fc10
fix logic to show UnifiedSearch results when federation capability exists
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-11 11:11:56 +02:00
Marcel Hibbe
270d76554f
fix flickering of unread mention bubble
bug was introduced with https://github.com/nextcloud/talk-android/pull/3417

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-11 11:11:56 +02:00
Marcel Hibbe
5921faa8a8
set background color for password dialog
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-11 10:16:26 +02:00
Marcel Hibbe
2549e884fd
change background color for searchbar in contacts screen
not the best solution. Needs to be improved with theming of Compose.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-11 09:56:54 +02:00
sowjanyakch
082669a3bf
ktlint Format
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-11 09:30:41 +02:00
sowjanyakch
06e48c6aad
Set background color for search
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-11 09:30:41 +02:00
sowjanyakch
922c329fab
Fix bug - select contacts onclick
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-11 09:30:41 +02:00
sowjanyakch
9fcb1427db
Make contacts select and deselect via search
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-11 09:30:41 +02:00
sowjanyakch
f374e6fe50
ConversationCreationActivity UI
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-11 09:30:37 +02:00
Marcel Hibbe
6858b32f2b
fix NPE when baseUrl is missing
no idea how this happens, however this was
reported via gplay pre launch report for 20.0.0RC1
("Detected on 10 devices during testing"):

Exception java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.nextcloud.talk.data.user.model.User.getBaseUrl()' on a null object reference
  at com.nextcloud.talk.activities.BaseActivity.startActivity (BaseActivity.kt:240)
  at com.nextcloud.talk.account.ServerSelectionActivity.showVisitProvidersInfo$lambda$5 (ServerSelectionActivity.kt:206)
  at com.nextcloud.talk.account.ServerSelectionActivity.$r8$lambda$pjpPT-LQbGLSCJPXeRE8IJvpLIE
  at com.nextcloud.talk.account.ServerSelectionActivity$$ExternalSyntheticLambda0.onClick (D8$$SyntheticClass)
  at android.view.View.performClick (View.java:7506)
  at android.view.View.performClickInternal (View.java:7483)
  at android.view.View.-$$Nest$mperformClickInternal
  at android.view.View$PerformClick.run (View.java:29335)
  at android.os.Handler.handleCallback (Handler.java:942)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at androidx.test.espresso.base.Interrogator.loopAndInterrogate (Interrogator.java:10)
  at androidx.test.espresso.base.UiControllerImpl.loopUntil (UiControllerImpl.java:7)
  at androidx.test.espresso.base.UiControllerImpl.loopUntil (UiControllerImpl.java:1)
  at androidx.test.espresso.base.UiControllerImpl.injectMotionEvent (UiControllerImpl.java:5)
  at androidx.test.espresso.action.MotionEvents.sendUp (MotionEvents.java:6)
  at androidx.test.espresso.action.MotionEvents.sendUp (MotionEvents.java:1)
  at androidx.test.espresso.action.Tap.sendSingleTap (Tap.java:5)
  at androidx.test.espresso.action.Tap.-$$Nest$smsendSingleTap
  at androidx.test.espresso.action.Tap$1.sendTap (Tap.java:1)
  at androidx.test.espresso.action.GeneralClickAction.perform (GeneralClickAction.java:4)
  at androidx.test.espresso.ViewInteraction$SingleExecutionViewAction.perform (ViewInteraction.java:2)
  at androidx.test.espresso.ViewInteraction.doPerform (ViewInteraction.java:23)
  at androidx.test.espresso.ViewInteraction.-$$Nest$mdoPerform
  at androidx.test.espresso.ViewInteraction$1.call (ViewInteraction.java:6)
  at androidx.test.espresso.ViewInteraction$1.call (ViewInteraction.java:1)
  at java.util.concurrent.FutureTask.run (FutureTask.java:264)
  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:7898)
  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:936)

If baseUrl is really missing this may lead to followup issues, however this maybe only 'happens' in gplay pre launch report without any real world scenario. A best solution may be to make baseUrl not nullable, but don't want to do this on short term before release..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-06 15:38:13 +02:00
Marcel Hibbe
06f5c0b7c8
Merge pull request #4162 from nextcloud/bugfix/4078/fixSelfReactionWhenReEnteringChat
Bugfix/4078/fix self reaction when re entering chat
2024-09-06 15:26:01 +02:00
Marcel Hibbe
129ba94af5
Merge pull request #4139 from nextcloud/bugfix/4010/fixSendTextToTalkApp
fix to display text that was sent to app via "share to"
2024-09-06 15:25:49 +02:00
Marcel Hibbe
a0a388cc07
fix to switch background color between incoming&outgoing reaction
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-06 14:32:00 +02:00
Marcel Hibbe
f53f9381b8
fix to always render selfReactions with background color
= fix type of list in stringToArrayList

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-06 14:32:00 +02:00
Marcel Hibbe
2fbe3dbb14
change wording for visibility of new conversation
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-05 15:41:12 +02:00
Marcel Hibbe
5001fd0b95
colorize status bar
...for ConversationCreationActivity and ContactsActivityCompose

just a quick fix, this may not be the best solution!

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-05 15:41:12 +02:00
Marcel Hibbe
8a59dd900d
fix to align Participants header
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-05 15:41:12 +02:00
Marcel Hibbe
8d1d44692e
only set password if not empty
otherwise response will be 400

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-05 15:41:12 +02:00
sowjanyakch
ecb3d5380c
Ktlint Format
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:12 +02:00
sowjanyakch
52378327f9
Work on warnings
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:11 +02:00
sowjanyakch
ff63bcd855
Properly select and deselect contact items
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:11 +02:00
sowjanyakch
5f3d73efce
make conversation available for registered users and guest app users
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:11 +02:00
sowjanyakch
1187b41e51
Set password
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:11 +02:00
sowjanyakch
cb6fdf6fe1
Refactor createRoom()
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:11 +02:00
sowjanyakch
dba56ddac0
Solved error unable to create call adapter for GenericOverall
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:11 +02:00
sowjanyakch
3db1f72981
Created a public conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:10 +02:00
sowjanyakch
2959d8e13a
Create public conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:10 +02:00
sowjanyakch
6b82d7209f
Start ContactsActivity to edit participants
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:10 +02:00
sowjanyakch
6d0144db1a
add participants list
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:10 +02:00
sowjanyakch
6a01309f2f
add participants
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:10 +02:00
sowjanyakch
9ae0d524c0
update ContactsViewModelTest - shareTypes
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:09 +02:00
sowjanyakch
0913b162b3
add participants endpoint
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:09 +02:00
sowjanyakch
e57c13efed
MultiSelect contacts
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:09 +02:00
sowjanyakch
b5f7556b3d
don't create room on clicking contacts when creating a new conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:09 +02:00
sowjanyakch
9f61793c86
add isAddParticipant flag
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:09 +02:00
sowjanyakch
d32bc74559
ConversationCreationActivity - Refactoring
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:08 +02:00
sowjanyakch
cd01c80d71
ConversationCreationActivity UI
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:08 +02:00
Julius Linus
7b63d0b432
Merge pull request #4135 from nextcloud/issue-4099-time-picker-bug
Fixing remind-me-later options
2024-09-04 08:03:24 -05:00
rapterjet2004
ece1f2ed65
fixed weekendTimeStamp, added a comment for clarity
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-09-04 07:15:34 -05:00
Marcel Hibbe
07cd9e1ced
fix to display text that was sent to app via "share to"
the bug was, that the sent text was overwritten with "" in restoreState.

With this fix the saved state is only applied when the input field is empty (which means there was nothing shared)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-04 13:41:15 +02:00
rapterjet2004
ea453dba3e
Follow up bug fixes for offline support
Got join conversation to work
Unread message popup should work when entering a conversation now
"Delete All Messages" now works without breaking the initMessagePolling
linter

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-04 10:14:51 +02:00
Marcel Hibbe
20724c5efb
fix to scroll to last read message
This will fix to scroll to the last read message when a chat is opened.

Some refactorings were made that are not necessary for the fix (I tried to also show the "Unread messages" hint in the adapter but came to the conclusion this is not a good idea until chatkit is removed. Chatkit doesn't support to add some item in between but only at the end or start which will make it too complicated..)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-04 09:48:42 +02:00
rapterjet2004
08d5d41229
Should be fixed for good , need to test though
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-09-03 07:59:16 -05:00
sowjanyakch
2636979136
No Edit Time limit on Note to Self
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-29 09:06:29 +02:00
rapterjet2004
64ac46e605
Got it fixed
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-26 10:20:32 +02:00
rapterjet2004
a4fd2e6a4b
Got the highlighting fixed - need to fix the submit button (or disable it) as tapping it destroys the searchViewDisposable for some reason
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-26 10:20:32 +02:00
rapterjet2004
45cb74d4ce
partial fix - now need to reset highlighting after exit
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-26 10:20:32 +02:00
rapterjet2004
9d75550482
fixed bug where the state of message input fragment wasn't saved because of capabilities
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-21 17:11:38 +02:00
Julius Linus
cb306d905c
Merge branch 'master' into issue-4075-filter-conversation-constrast 2024-08-21 09:26:37 -05:00
Julius Linus
1c52acc95d
Merge branch 'master' into issue-4072-federated-accept-message-should-be-system 2024-08-21 08:24:27 -05:00
Andy Scherzinger
b0351f016e
style: move error color to M3 theme code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 23:31:57 +02:00
Andy Scherzinger
31d3c83abb
style: M3 divider specs implemented
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 23:31:57 +02:00
Andy Scherzinger
42207a8c10
fix: use theme primary color for stick headers
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 23:31:57 +02:00
Andy Scherzinger
31aacadf6f
fix: status bar color is themed now
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 23:31:57 +02:00
Andy Scherzinger
9d62a6f745
fix: improve detekt score and threshold
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 20:42:26 +02:00
Andy Scherzinger
69ed8207d0
fix: ktlintCheck by reformatting kt code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 20:20:42 +02:00
Andy Scherzinger
2c7c720a4d
fix: use layoutInflater directly
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 19:56:45 +02:00
rapterjet2004
1930bf0b6d
fix
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-16 09:28:21 -05:00
rapterjet2004
7ca68b334a
fix
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-15 11:29:38 -05:00
rapterjet2004
903dd07a1b
fix
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-15 08:38:26 -05:00
sowjanyakch
2e96817bcc
Modify string connection_gained
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-14 11:11:57 +02:00
Marcel Hibbe
8885b999ca
bump database version to 11 + add migration
comment in openHelperFactory

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:07 +02:00
Marcel Hibbe
6e2ee1f001
add index to ChatBlockEntity
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:07 +02:00
Marcel Hibbe
edc0554fd2
sort entity attributes of ChatMessageEntity and ConversationEntity alphabetically
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:07 +02:00
Marcel Hibbe
76e6bb0f82
set values to not nullable in ChatMessage wherever this makes sense
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:07 +02:00
Marcel Hibbe
a632765cce
set values to not nullable in ConversationEntity.kt wherever this makes sense
remove roomId from Conversation (deprecated. only token should be used)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:06 +02:00
Marcel Hibbe
9892613984
rearrange ConversationEntity columns to match documentation
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:06 +02:00
Marcel Hibbe
da04f536f7
remove dao methods to delete data when user is removed
...will be done by foreign keys cascading. Therefore, also added foreign key to ChatBlockEntity

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:06 +02:00
Marcel Hibbe
e951b3d53a
fix to load newest conversations (online first)
Before, old conversations that were left still occurred in the list (only adding+updating was done, but never deleting)

also, the list is up to date when coming back from chat. Otherwise there may be unread messages shown for a short moment which were already read.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:06 +02:00
Marcel Hibbe
beb7b150be
minor cleanup
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:06 +02:00
rapterjet2004
6a3ece6703
disabled message queuing - still kept code for now until i can fix it or remove it otherwise
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
fe4bf942ab
remove SyncableModel and SyncUtils
not needed for our requirements + it simplifies code

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
a84e69b6bb
fix to processExpiredMessages
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
d18bd20bf1
extract a method to getItemFromAdapter
method was extracted for other purposes but was not used in the end. Anyway it made sense to use it for resumeAudioPlaybackIfNeeded.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
217ff6af74
remove comments and unused code
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
b757164c6d
only delay readStatus handling for initial loading
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
0390c93ed2
implement lastCommonRead handling
contains one workaround for now, see TODO in updateUiForLastCommonRead method

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
Marcel Hibbe
5bccdada7c
minor cleanup in OfflineFirstChatRepository
fix to show unreadMessagesPopup at bottom (typingIndicatorWrapper must not be gone but invisible)

align unreadMessagesPopup to not overlap typingIndicator

fix to hide scrollDown button when unreadMessagesPopup is shown

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
Marcel Hibbe
a13a53f7fd
fix to hide popupBubbleView for system messages like reactions
rename popupBubbleView to unreadMessagesPopup

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
Marcel Hibbe
299e8508c4
handle CLEARED_CHAT for scrolling into past
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
Marcel Hibbe
85f4d8cd92
handle special system messages in ChatRepo instead in UI
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
rapterjet2004
db8d7b91d4
WIP UI fixes for offline conversations - next up get queued messges to work and show up as temp messages ( I have some creative ideas for the UI )
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-12 16:47:03 +02:00
Marcel Hibbe
aa76636f72
handle reaction message for lookIntoFuture
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:03 +02:00
Marcel Hibbe
2408d639e4
Offline support for conversations and chats
Authors: Julius Linus and Marcel Hibbe

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:03 +02:00
sowjanyakch
4508cbb0aa
work on codacy warnings
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:36 +02:00
sowjanyakch
8d52a6fcc9
add error test case for contacts fetch
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:35 +02:00
sowjanyakch
62b2ecd338
Add tests for fetching contacts
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:35 +02:00
sowjanyakch
9526825da7
Refactor - use Icons
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:34 +02:00
sowjanyakch
acbda6f887
Create fake data for unit tests
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:34 +02:00
sowjanyakch
5d73b65a31
test dependencies
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:34 +02:00
sowjanyakch
d3ff2e9ee9
ViewModelModule.kt changes
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:34 +02:00
sowjanyakch
2582476a54
Contacts Screen
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:34 +02:00
Marcel Hibbe
94fbdb25ac
rename layouts for banning
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-09 12:58:53 +02:00
Marcel Hibbe
5f0563aae3
fix strings for banning (use 'participant' instead 'actor')
replace key ban_actor with ban_participant

fix upper/lower case

fix to use translation in ConversationInfoActivity instead hardcoded string

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-09 12:38:19 +02:00
rapterjet2004
46d3fd1569
Allows Banning
- New option to ban participant if your a moderator and not in one-2-one
- New fragment to see previous bans, unban if wanted

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-06 10:58:22 -05:00
rapterjet2004
46cafd5626
lint
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-07-31 09:40:42 -05:00
rapterjet2004
515ecedd04
Seems to work - fixed adapter issue
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-07-31 08:58:24 -05:00
rapterjet2004
b41f41f704
Got it working - Just need to test it out
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-07-30 11:59:45 -05:00
rapterjet2004
5caf93357f
Fixed
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-07-25 08:54:01 -05:00
Marcel Hibbe
f19e1b8a19
remove lib com.amulyakhare:com.amulyakhare.textdrawable
replace with own TextDrawable class

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-07-24 14:14:06 +02:00
sowjanyakch
1255a0b585
Add copyright to the drawable
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-07-23 12:27:30 +02:00
sowjanyakch
dc11254149
Refactoring
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-07-23 11:41:24 +02:00
sowjanyakch
bb46b6adad
Contacts Activity Compose
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-07-23 11:41:24 +02:00
Andy Scherzinger
0a24f043b8
fix: remove use of LayoutInflater.from(Context)
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-06-19 17:15:21 +02:00
Marcel Hibbe
6ceafee3ed
Avoid StackOverflowError when opening chat (kotlin2.0 fix)
When opening the chat the app crashed with

2024-06-18 10:59:45.039 30757-30757 AndroidRuntime          com.nextcloud.talk2                  E  FATAL EXCEPTION: main
  Process: com.nextcloud.talk2, PID: 30757
  java.lang.StackOverflowError: stack size 8192KB
  at com.nextcloud.talk.ui.MessageInput.getMessageSendButton(MessageInput.kt:75)

Hint in AS was:
Now field from base class com.stfalcon.chatkit.messages.MessageInput shadows the property with custom getter from derived class com.nextcloud.talk.ui.MessageInput. This behavior will be changed soon in favor of the property. Please use explicit cast to com.stfalcon.chatkit.messages.MessageInput if you wish to preserve current behavior. See https://youtrack.jetbrains.com/issue/KT-55017 for details

The issue is caused by the update to kotlin2.0.
Calling the super fields fixes the issue.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-06-18 11:54:33 +02:00
Marcel Hibbe
00101abda7
update to kotlin 2.0 / use ksp where possible
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-06-17 17:41:03 +02:00
rapterjet2004
560e454d5e
Fixes
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-06-06 09:20:01 -05:00
Julius Linus
6a01ebf630
Message Input Refactoring
- Added io folder for Abstracting away background work
- AudioFocusRequestManager
- MediaPlayerManager
- MediaRecorderManager
- AudioRecorderManager

Included new View Models + Fragments to separate concerns

- MessageInputFragment
- MessageInputVoiceRecordingFragment

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-06-05 17:45:01 +02:00
Sowjanya Kota
38abfafc38
Merge pull request #3947 from nextcloud/bugfix/3896/avoidErrorByEthernetConnection
avoid "Please check your internet connection"
2024-06-04 11:57:26 +02:00
rapterjet2004
2db6ce7066
Avoid NPE for databaseStorageModule
Exception java.lang.NullPointerException:
  at com.nextcloud.talk.conversationinfo.ConversationInfoActivity.handleConversation (ConversationInfoActivity.kt:686)
  at com.nextcloud.talk.conversationinfo.ConversationInfoActivity.access$handleConversation (ConversationInfoActivity.kt:94)
  at com.nextcloud.talk.conversationinfo.ConversationInfoActivity$initObservers$2.invoke (ConversationInfoActivity.kt:232)
  at com.nextcloud.talk.conversationinfo.ConversationInfoActivity$initObservers$2.invoke (ConversationInfoActivity.kt:227)
  at com.nextcloud.talk.conversationinfo.ConversationInfoActivity$sam$androidx_lifecycle_Observer$0.onChanged

Handle conversation is called when capabilities are retrieved, which can occur before databaseStorageModule is created. The fix was to call initObservers after the module was created.

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-06-03 13:24:34 +02:00
Marcel Hibbe
6ca2ba7994
avoid "Please check your internet connection"
avoid "Please check your internet connection" error when connected via ethernet or vpn

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-31 12:43:44 +02:00
Julius Linus
14f793f0e8
Made mediaPlayerHandler null safe
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-05-29 10:37:41 -05:00
Marcel Hibbe
932352b785
open talk links of same baseurl inside the app
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-24 15:38:53 +02:00
Marcel Hibbe
8876718677
open links for files app from any screen.
With this change, all links that target files in the same nextcloud instance will be opened in the files app, no matter on which screen the link was.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-24 15:38:53 +02:00
Marcel Hibbe
6f90623cab
hide logos for conversation list and lockscreen if app is not nextcloud
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-24 13:23:03 +02:00
Julius Linus
f3187187a8
Merge pull request #3922 from nextcloud/bugfix/3669/fixToOpenPreviewLinksInFilesApp
Bugfix/3669/fix to open preview links in files app
2024-05-22 08:24:59 -05:00
Marcel Hibbe
dfe07979a9
use notification logo from separate xml file
ic_notification.xml was not existing/not used in android talk app, but on brander there is code to replace ic_notification.xml with a custom icon.

ic_notification.xml is now created with the same icon as for ic_logo.xml and used for notifications. So from now on branded versions have the ability to overwrite the icon.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-22 14:42:23 +02:00
Andy Scherzinger
3e48f61632
fix(lint): Add mandatory super call
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-21 19:31:43 +02:00
Marcel Hibbe
c7a7206fd0
fix to open share urls from preview with files app
The wrong context was passed, so the overwritten startActivity in ChatActivity was not called.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-21 12:14:22 +02:00
Marcel Hibbe
9c1f68abb4
fix regex and brackets for isInstanceInternalFileShareUrl
only links without index.php returned true without this fix.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-21 12:14:21 +02:00
Marcel Hibbe
cc823dcc0c
fix to not set clipboard text repeatedly
initMessageInputView() is called repeatedly when capabilities are received. This is not a good solution but was done because capabilities are needed inside initMessageInputView().

As sharedText is set inside initMessageInputView(), this caused the bug that text was repeatedly inserted in to the message input field.

All in all, there is only the need to initialize initMessageInputView() once. With this fix, it is for now done when there is no filter set yet. As a long term solution, the architecture must be changed so that initMessageInputView() is not called repeatedly, but all UI elements that need capabilities etc are updated by livedata.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-17 14:09:40 +02:00
Sowjanya Kota
7bd2e6c81a
Merge pull request #3909 from nextcloud/bugfix/3903/fixUnreadScrollingAndUnreadBubble
fix unread message behavior
2024-05-17 10:41:18 +02:00
sowjanyakch
5996699812
Align display name of conversation to center when description is empty.
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-05-16 11:46:43 +02:00
sowjanyakch
ed5a12b7da
Refactor code
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-05-16 11:46:42 +02:00
sowjanyakch
f0670f9f15
update description for open and group conversations in the chatActivity
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-05-16 11:46:42 +02:00
sowjanyakch
91726261d1
show description in open conversation list
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-05-16 11:46:42 +02:00
Marcel Hibbe
ac39e73782
only show new message notice when there are messages from other participants
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-15 15:50:40 +02:00
Marcel Hibbe
5810d070fa
fix unread message behavior
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-13 19:28:54 +02:00
Sowjanya Kota
500f2ca1a9
Merge pull request #3900 from nextcloud/improveBarColorsForLogin
set light or dark bar colors for login screens instead primary color
2024-05-08 15:01:45 +02:00
sowjanyakch
acd0b92b6c
Pretty URL for conversation link
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-05-08 13:53:44 +02:00
Marcel Hibbe
831ee0cdc4
set light or dark bar colors for login screens instead primary color
especially for branded clients the primary color might not look good.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-07 12:37:05 +02:00
Marcel Hibbe
6e59a94789
fix visibility of conversation options
fix visibility of leave conversation and delete conversation in ConversationInfoActivity

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-26 13:19:23 +02:00
Marcel Hibbe
b870b0f208
rename classes called 'Magic*'
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-23 15:26:00 +02:00
Sowjanya Kota
d876ec4ef0
Merge pull request #3849 from nextcloud/bugfix/noid/fixToOpenCallsAsVoiceOnly
fix to open calls as voice only when user clicked on voice button
2024-04-18 14:57:10 +02:00
Julius Linus
57017f95f4
Set pages to be every 50 messages
Large enough to prevent onLoadMore from calling refresh on a few messages, but small enough to refresh when needed.

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-04-18 14:16:59 +02:00
Marcel Hibbe
8a8b128ac6
fix to keep text of message-editing after 30sec
without this fix, the text when editing a message was lost after pulling chat messages (30sec), because inputEditText was initialized again with the initial text

As a fix, message editing is only initialized once when the edit button was clicked.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-18 12:45:50 +02:00
Marcel Hibbe
ca65995f84
fix to open calls as voice only when user clicked on voice button
Before this fix, KEY_CALL_VOICE_ONLY was not included in the intent extras so call always started as videocall

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-17 17:00:37 +02:00
Marcel Hibbe
3ea3f94cff
fix to show "Note to self" icon in conversation info
share conversation link to other apps

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-17 14:40:01 +02:00
Marcel Hibbe
f628d357ea
use conversationType to check if share button should be shown for conversation
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-17 13:55:55 +02:00
sowjanyakch
080937305a
Make conversation settings visible
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-04-17 13:39:31 +02:00