Commit Graph

3621 Commits

Author SHA1 Message Date
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
sowjanyakch
287ba3bbc9
Not sharing the conversation link of Note to self
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-04-17 13:39:31 +02:00