Commit Graph

228 Commits

Author SHA1 Message Date
Andy Scherzinger
234e97502b
theme reactions bottomsheet
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-10 19:21:57 +02:00
Álvaro Brey
e5bf5ec261
WIP: theme chat controller and message viewholders
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-10 19:21:54 +02:00
Álvaro Brey
cdc818b720
ChatController: fix crash when opening conversation from notification
This happens because there is no Conversation object available in the Controller when coming from a notification.

This patch means that when opening a notification for a poll, it will always look like the user is not the owner of the poll even if they are.
This is unfortunately difficult to fix as the initialization logic for ChatController is all kinds of messed up: ideally we'd always load the Conversation object before showing any kind of UI but that's too big of a change to do without tests.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-10 13:10:30 +02:00
drone
ed0e9c2374 Merge commit '81a3e8216dd947abfe1038a5ab040f9c67d3a62b' 2022-08-09 12:00:54 +00:00
Tim Krüger
00f06c6ef2
Shared items: Add tab for polls
Resolves: #2029

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-08-08 18:51:56 +02:00
Andy Scherzinger
9fc7182790
Migrate to updated popup bubble
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-05 16:40:59 +02:00
Marcel Hibbe
c7014fd063 hide system message "You voted on the poll ..."
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
40f20c56d6 update poll UI for moderators etc
- allow to end poll for moderators

- allow to see voters amount for voting screen for moderators and creators of the poll

- replace UserEntity with User

- show numVoters instead of votes

- minor refactoring

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
af427f8300 wip: create poll. show outgoing polls
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
ae80a4e2ad pass roomToken to MessageViewHolders
wrap roomToken and ProfileBottomSheet in data class MessagePayload

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
f2025332ab add data classes for polls (WIP)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Andy Scherzinger
dac99a5db8
Remove unused (legacy) UserUtils
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-22 13:52:34 +02:00
Marcel Hibbe
95f3d776db
fix switching conversation titles
This reverts a change from a24f49c7

Before a24f49c7 in onDestroy() the disposables were not disposed. Instead this was "only" done in onComplete() of leaveRoom().
See a24f49c#diff-6b47d0e9875a7f7d5c1e6b80feab998e92d29b0cda8ac9bbf427aab99e56d209R1827
Because with a24f49c7 was now executed in onDestroy() , the leaveRoom() method is not executed successfully because it's destroyed too early. This results in multiple calls of getRoomInfo() with different roomTokens.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-14 10:21:13 +02:00
Andy Scherzinger
7230f81cf5
Migrate conversations list and next hop controllers to use the room user entity
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-13 00:22:03 +02:00
Marcel Hibbe
1f5807b8de fix NPE for binding in onEmojiClickListener
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-11 17:24:56 +00:00
Álvaro Brey
a24f49c737
Introduce DisposableSet to handle multiple disposables at once
This should be used in places where multiple Disposables are handled simultaneously as a simple way of
ensuring that all disposables are cleared on exit. For example on ViewModels and Controllers should likely use one
of these and clear it on their respective lifecycle end.

I've included an example use in ChatController, where it replaces an existing `ArrayList<Disposable>`, but the benefit
should be more visible in places where Disposables are currently handled separately.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-07 16:47:17 +02:00
Álvaro Brey
cb2ee730fa
WIP: upload profile picture from camera
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-07 13:51:55 +02:00
Andy Scherzinger
3d0f154d7d
simplify worker call
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-09 12:03:03 +02:00
Andy Scherzinger
df61a4df87
replace share files remote item chooser with new implementation and remove any legacy implementation
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 23:40:09 +02:00
Álvaro Brey
1ee92e39dd
ChatController: fix scroll to unread messages
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-07 11:39:34 +02:00
Álvaro Brey
b097e3aac4
Message search: disable feature if unified search capability not present
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 17:42:59 +02:00
Álvaro Brey
eddb90d31b
Message search: avoid passing user entity to repository, inject userProvider instead
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:20 +02:00
Álvaro Brey
dd55ab5741
Add ability to scroll to message selected in search results
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:19 +02:00
Álvaro Brey
b5d8f6ee95
Implement search in specific chat
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:19 +02:00
Tim Krüger
964dc2a76d
Catch RuntimeException thrown by NotificationManager
In case anything goes wront during calling
'NotificationManger#activeNotification' an 'RuntimeException' will be
thrown. This results in a crash if not catched.

Resolves: #2078

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-27 12:15:09 +02:00
Marcel Hibbe
a23d4ef692 add silent call feature
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-25 09:58:57 +00:00
Tim Krüger
fd76f8231d
Move 'Shared items' related classes to own package
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-23 17:35:05 +02:00
Andy Scherzinger
b33a4d1265
Upgrade code to latest API changes for Emojis
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-20 16:01:49 +02:00
Andy Scherzinger
a5e9b8d91f
replace getColumnIndex with getColumnIndexOrThrow
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-19 12:54:55 +02:00
Andy Scherzinger
18d375b540
Migrate general models to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 00:36:37 +02:00
Andy Scherzinger
9312a62af9
Migrate conversation model to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-17 22:16:52 +02:00
Andy Scherzinger
d683cb109a
Migrate remaining chat models to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-17 18:26:44 +02:00
Andy Scherzinger
8ed5432045
Migrate ChatMesage, Conversation and directly linked data classes to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-17 14:42:10 +02:00
Marcel Hibbe
7ae5413308 avoid NPE when initializing chat permission
currentConversation could have been null when opening the ChatController from notification.

hasChatPermission is now only set in
getRoomInfo

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-17 10:19:14 +00:00
Marcel Hibbe
6475f28304 add silent send option
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-17 08:02:27 +00:00
Marcel Hibbe
729e30d25b
use "return when" in isShowMessageDeletionButton()
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-12 14:44:33 +02:00
Marcel Hibbe
a1b7a52b24
set log level of permission checks to "warning"
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-12 13:43:44 +02:00
Marcel Hibbe
8b3d32584c
restrict to share content without permissions
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 17:02:57 +02:00
Marcel Hibbe
7c4e7c22df
update permissions in getRoomInfo
so they are updated on the fly..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:07 +02:00
Marcel Hibbe
be29459955
fix klint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:07 +02:00
Marcel Hibbe
b603031011
hide "reply" and "forward" when chatPermission is missing
"forward" is also hidden because this would need bigger changes regarding the state of the hasChatPermission variable inside the ChatController.kt

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:07 +02:00
Marcel Hibbe
36383dfcc6
don't allow to post/delete reaction without permission
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:06 +02:00
Marcel Hibbe
bae65ebbe9
rename canPostChatShareItemsDoReaction to hasChatPermission
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:06 +02:00
Marcel Hibbe
7cf18923b5
add check if delete message is allowed to be executed
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:06 +02:00
Marcel Hibbe
cc6f582ee2
check capability and permission to delete message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:06 +02:00
Marcel Hibbe
436c860011 disable call buttons if calls are disabled by capability
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-10 14:03:00 +00:00
Andy Scherzinger
b84589a831
improve detekt score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-09 16:51:05 +02:00
Tim Krüger
b60de3858b
Catch NPE on Chat view binding
Resolves: #1960

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-03 12:47:03 +02:00
Marcel Hibbe
d539161768
fix NumberFormatException
fix NumberFormatException for files >2,14 GB (=limit that can be represented by Int)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-02 10:54:49 +02:00
Marcel Hibbe
b49a1bbbde
fix klint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-29 12:26:30 +02:00