Commit Graph

185 Commits

Author SHA1 Message Date
rapterjet2004
7ca68b334a
fix
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-15 11:29:38 -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
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
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
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
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
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
Julius Linus
14f793f0e8
Made mediaPlayerHandler null safe
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-05-29 10:37:41 -05: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
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
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
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
Marcel Hibbe
b870b0f208
rename classes called 'Magic*'
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-23 15:26:00 +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
Julius Linus
b660816bc9
fix ConcurrentModificationException
2024-03-19 15:49:38.476 15732-17089 okhttp.OkHttpClient     com.nextcloud.talk2                  I  {"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK"},"data":[]}}
2024-03-19 15:49:38.476 15732-17089 okhttp.OkHttpClient     com.nextcloud.talk2                  I  <-- END HTTP (74-byte body)
2024-03-19 15:49:38.571 15732-15732 ViewRootIm...tActivity] com.nextcloud.talk2                  I  handleAppVisibility mAppVisible = false visible = true
2024-03-19 15:49:38.571 15732-15732 ViewRootIm...tActivity] com.nextcloud.talk2                  I  stopped(false) old = true
2024-03-19 15:49:38.571 15732-15732 ViewRootIm...tActivity] com.nextcloud.talk2                  I  WindowStopped on com.nextcloud.talk2/com.nextcloud.talk.chat.ChatActivity set to false
2024-03-19 15:49:38.695 15732-16333 WebSocketInstance       com.nextcloud.talk2                  D  Receiving : okhttp3.internal.ws.RealWebSocket@b8eb9d5 {"type":"event","event":{"target":"room","type":"leave","leave":["01s9v73eeKC5P2QUmsEqfsi_ZmY-DaDPhs3wdFTmJkB8VzVJc1FSWUV5bVZVTEtBaVpZOUYxaDVMRlpsaG95enlFc2dXMXpQY3Y3dGNGNlNfemZiLXg5cXk1ZVNyTEkzNS0wcDZJZUdnelFYbmF6ZVMwcWRDbVBTNklLYkFHNUdwRDQ2c0VZR1RoX1JObmF2Q3hSb2YtbFNJOFRONkhFLWp2cWZBZnk2d2VSb1BsbG96VE90Vm45bFhOa2NwWWZfdTA1clJ4VFoxcHpJcHwyMjEzNTgwMTcx"]}}
2024-03-19 15:49:38.697 15732-15732 AndroidRuntime          com.nextcloud.talk2                  D  Shutting down VM
2024-03-19 15:49:38.702 15732-15732 AndroidRuntime          com.nextcloud.talk2                  E  FATAL EXCEPTION: main
                                                                                                    Process: com.nextcloud.talk2, PID: 15732
                                                                                                    java.util.ConcurrentModificationException
                                                                                                    	at java.util.HashMap$HashIterator.nextNode(HashMap.java:1441)
                                                                                                    	at java.util.HashMap$EntryIterator.next(HashMap.java:1475)
                                                                                                    	at java.util.HashMap$EntryIterator.next(HashMap.java:1473)
                                                                                                    	at com.nextcloud.talk.chat.ChatActivity.sendStopTypingMessage(ChatActivity.kt:2097)
                                                                                                    	at com.nextcloud.talk.chat.ChatActivity.updateOwnTypingStatus(ChatActivity.kt:2063)
                                                                                                    	at com.nextcloud.talk.chat.ChatActivity$initMessageInputView$1.onTextChanged(ChatActivity.kt:1162)
                                                                                                    	at android.widget.TextView.sendOnTextChanged(TextView.java:11881)
                                                                                                    	at android.widget.TextView.setText(TextView.java:6968)
                                                                                                    	at android.widget.TextView.setText(TextView.java:6751)
                                                                                                    	at android.widget.EditText.setText(EditText.java:133)
                                                                                                    	at android.widget.TextView.setText(TextView.java:6703)
                                                                                                    	at com.nextcloud.talk.chat.ChatActivity.onStart(ChatActivity.kt:575)
                                                                                                    	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1510)
                                                                                                    	at android.app.Activity.performStart(Activity.java:8616)
                                                                                                    	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4204)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
                                                                                                    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2574)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                                    	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(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
2024-03-19 15:49:38.735 15732-15732 Process                 com.nextcloud.talk2                  I  Sending signal. PID: 15732 SIG: 9
2024-03-19 15:49:39.328  1477-1521  WindowManager           system_server                        E  win=Window{9280569 u0 com.nextcloud.talk2/com.nextcloud.talk.activities.CallActivity EXITING} destroySurfaces: appStopped=false cleanupOnResume=false win.mWindowRemovalAllowed=true win.mRemoveOnExit=true win.mViewVisibility=0 caller=com.android.server.wm.ActivityRecord.destroySurfaces:6539 com.android.server.wm.ActivityRecord.destroySurfaces:6520 com.android.server.wm.WindowState.onExitAnimationDone:5995 com.android.server.wm.ActivityRecord$$ExternalSyntheticLambda10.accept:2 java.util.ArrayList.forEach:1262 com.android.server.wm.ActivityRecord.onAnimationFinished:8607 com.android.server.wm.ActivityRecord.postApplyAnimation:6252
2024-03-19 15:49:40.075 19752-19752 nativeloader            com.nextcloud.talk2                  D  Configuring classloader-namespace for other apk /data/app/~~7lbTYxiIqB-jrG8FI6_p4A==/com.nextcloud.talk2-0R1zH5b8yl__vfC9tvSYrg==/base.apk. target_sdk_version=34, uses_libraries=, library_path=/data/app/~~7lbTYxiIqB-jrG8FI6_p4A==/com.nextcloud.talk2-0R1zH5b8yl__vfC9tvSYrg==/lib/arm64:/data/app/~~7lbTYxiIqB-jrG8FI6_p4A==/com.nextcloud.talk2-0R1zH5b8yl__vfC9tvSYrg==/base.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user/0/com.nextcloud.talk2
2024-03-19 15:49:40.097 19752-19752 GraphicsEnvironment     com.nextcloud.talk2                  V  ANGLE Developer option for 'com.nextcloud.talk2' set to: 'default'
2024-03-19 15:49:40.098 19752-19752 GraphicsEnvironment     com.nextcloud.talk2                  V  ANGLE GameManagerService for com.nextcloud.talk2: false
2024-03-19 15:49:40.099 19752-19752 GraphicsEnvironment     com.nextcloud.talk2

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2024-04-03 17:15:49 +02:00
sowjanyakch
99d361f37d
Hides messageSendButton initially
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-04-03 16:57:16 +02:00
Julius Linus
07bf65460b
Fixed some bugs with formatting and message handling
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-03 16:41:14 +02:00
Parneet Singh
631a93f687
use new result api
Signed-off-by: Parneet Singh <gurayaparneet@gmail.com>
2024-04-01 04:40:05 +05:30
Andy Scherzinger
f5a4274e54
Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-29 15:42:11 +01:00
Andy Scherzinger
3eabf9bb83
Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-29 12:55:12 +01:00
Marcel Hibbe
4c5ffdbae7
replace roomToken with token
roomToken was added unnecessarily as it already exists as "token"

By using the duplicated roomToken, this also introduced a bug when that it could be empty.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-26 16:54:39 +01:00
Marcel Hibbe
cc19157867 convert DisplayUtils to kt
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-21 16:39:16 +01:00
Julius Linus
870ef03d61 Federated Mentions
- Federated mention chip
- Federated message avatars
- Helper functions

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2024-03-21 16:39:16 +01:00
sowjanyakch
d80200906d
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-03-19 13:19:55 +01:00
sowjanyakch
2b1a16415c
Implemented delete-messages-unlimited feature
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-03-19 13:19:55 +01:00
Marcel Hibbe
2e317b134c
use X-Chat-Last-Common-Read to fix read status
Without this commit, the read status was broken as X-Chat-Last-Common-Read was not used. It was removed by
https://github.com/nextcloud/talk-android/pull/3630

As a result all messages were marked as unread after waiting for 30 seconds.

With this commit the X-Chat-Last-Common-Read is used again.
Messages are marked as read again also after 30 seconds.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-19 13:18:09 +01:00