Commit Graph

2669 Commits

Author SHA1 Message Date
Tim Krüger
b6e9c9d56f Use already fetched capabilities for user
This should avoid that the capabilities not available for the server EOL
check in 'ConversationListController#onAttach'.

Missing capabilites can also have an impact on multiple actions, but the
server EOL check is the first one.

Resolves: #2418

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-10-13 06:21:35 +00:00
Andy Scherzinger
08fb0030ec codacy: unnecessary use of fully qualified name
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-10-12 19:29:03 +00:00
Andy Scherzinger
8117ffb56a
Merge pull request #2474 from nextcloud/chore/noid/analysisAction
Add new analysis action
2022-10-11 18:04:07 +02:00
Andy Scherzinger
8fb11bf713
remove any use of org.jetbrains.annotations.NotNull
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-10-11 12:47:45 +02:00
Daniel Calviño Sánchez
7f86593bca
Fix avatar when setting participant layout before receiving the data
When a new participant is found and the layout for that participant is
set up the participant data might have not been fetched yet. If that
happens the user ID can not be got from the data and therefore a guest
avatar would be shown for that participant, even if that participant is
a normal user.

However, the signaling message that is used to find new participants
already includes the user ID, so it is now explicitly given and, if not,
then it is got from the participant data (which is needed when handling
the establishment of a connection, as in that case the event does not
contain the user ID).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-10-10 18:55:24 +02:00
Daniel Calviño Sánchez
4f01cb855a
Fix crash when setting participant layout before receiving the data
When setting the participant layout, if the HPB is not used, the user ID
is got from the participant list data fetched when a new participant is
found. However, as the participant layout is setup as soon as a new
participant is found the data may have not been received yet, which
ended in a crash (NullPointerException). Now the access to the
participant object is guarded to prevent that.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-10-10 18:29:40 +02:00
Andy Scherzinger
89ec37d24d
simplify condition complexity
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-10-06 18:00:52 +02:00
Andy Scherzinger
9bd51ce21b
PMD: An empty statement (semicolon) not part of a loop
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-10-06 16:55:38 +02:00
Andy Scherzinger
0a70567452
PMD: Use opposite operator instead of the logic complement operator.
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-10-06 16:54:27 +02:00
Marcel Hibbe
2d8799feed
fix copyright headers
headers contained a wrong sentence that was duplicated via c&p

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-10-06 13:48:28 +02:00
Marcel Hibbe
b7d4ba7f9c
Merge pull request #2467 from nextcloud/chore/noid/kotlin17020
bump kotlin to 17.0.20 and mark declaration usage as opt-in
2022-10-06 13:26:02 +02:00
Marcel Hibbe
66eea709b4
open MessageActionsDialog on long click on link previews.
rename ReactionsInterface.kt to CommonMessageInterface.kt

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-10-06 12:45:53 +02:00
Andy Scherzinger
3632b58eb1
bump kotlin to 17.0.20 and mark declaration usage as opt-in
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-10-05 22:10:48 +02:00
Marcel Hibbe
9bc42334d4
add openGraph link previews
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-10-05 14:17:07 +02:00
Marcel Hibbe
387cb63ce7 add toast if video file creation failed
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-10-04 12:56:01 +00:00
jld3103
d8d4fde391
Show error when loading chats fails
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2022-09-30 17:48:52 +02:00
Tim Krüger
2d8492ae1e
Revert "Set minSdkVersion to 23 (Android 6)"
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-30 11:21:32 +02:00
drone
3a90d17649 Merge commit '863052b53e3051bb7e0fd4904d348fa294835821' 2022-09-29 13:16:56 +00:00
Tim Krüger
863052b53e
[WIP] Replace Fresco with Coil
Fresco is replaced with Coil verywhere. But Coil is not used directly to
avoid splintering the dependency everywhere in the code. Coil is wrapped
by extension functions for 'ImageView'.

Some shared functionality is moved from 'DisplayUtils' into the
'ImageViewExtensions'.

Resolves: #2227, #2376

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-29 14:07:05 +02:00
Marcel Hibbe
47a93d2c85
align poll buttons to right
make end poll button outlined

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-09-29 11:20:10 +02:00
Tim Krüger
b2d6211b3c
Convert 'ConverstationItem' from Java to Kotlin
This is mandetory to replace Fresco with Coil.

See: #2376, #2227

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-29 10:28:30 +02:00
Marcel Hibbe
84bcd0c273 hide end poll button for edit poll mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-09-29 07:34:50 +00:00
Tim Krüger
309ba90197
Merge pull request #2438 from nextcloud/bugfix/noid/fixPermissionsForCallNotificationActivity
set participantPermissions in CallNotificationActivity
2022-09-29 09:31:40 +02:00
Marcel Hibbe
d09c5d4865
set participantPermissions in CallNotificationActivity
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-09-28 15:45:05 +02:00
Marcel Hibbe
4f16e5be0a
fix to show reactionsEmojiWrapper
with commit 0f35e360 it was implemented to hide the reactionsEmojiWrapper when no emojis are set for a message.
whenever a emoji was added, it was actually not shown because the wrapper was still hidden.

with the fix, the wrapper is made visible again

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-09-28 12:22:02 +02:00
Tim Krüger
8a0e60f68a
Set minSdkVersion to 23 (Android 6)
Because of updating the minSdkVersion to 23 it comes to some obscure UI
freezes when using frescos 'RoundPostprocessor#process' to round avatar
bitmaps.
So the function 'DisplayUtils#roundBitmap' is adopted from Nextcloud
Files for Android.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-28 09:24:41 +02:00
Tim Krüger
05cfb97459
Fix wrong guests access option status
Before this change after enabling and disabling the guest access option,
the option stays enabled.

Resolves: #2378

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-27 13:07:47 +02:00
Tim Krüger
f880b4f778
Call toggle media before fetchSignalingSettings
This change fix a lateinit excepttion for 'participantPermissions'.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 12:39:15 +02:00
Tim Krüger
4c0aa6a235
Clearify PTT (=push to talk)
So that my future self and other valued developrs don't must also
research that the variable 'isPTTActive' is renamed to
'isPushToTalkActive'.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 12:39:15 +02:00
Tim Krüger
c554535bae
Respect can publish audio & video permission
With this implementation the can publish audio & video permission are
set during the creation of the 'CallActivity'. This permissions are
fixed for the complete call. If the permissions are changed by a
moderator the call must be left and joined again.

Resolves: #1783

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 12:39:15 +02:00
Tim Krüger
dda5a9e3da
Define 'BundleKeys' as 'const'
During the migration from Java to Kotlin this was not done and resulted
in

    BundleKeys.INSTANCE.getKEY_CALL_VOICE_ONLY()

instead of

    BundleKeys.KEY_CALL_VOICE_ONLY

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 11:41:10 +02:00
Tim Krüger
d0c86ec619
Respect 'can ignore lobby' permission
Now the 'can ignore lobby' permission is respected.

The 'ChatController' has now a property of the type
'ParticipantPermissions' because it's needed multiple times. The
property will be updated in 'ChatController#getRoomInfo' if the
conversation is protected by a lobby.

The function 'Conversation#shouldShowLobby' is removed in this commit.
'Conversation' is a pure model class to hold the plain JSON response.
The logic is moved into the already existing function 'ChatController#shouldShowLobby'.

Resolves: #1783

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 11:41:10 +02:00
Tim Krüger
7c09a86c4d
Correct if condition
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 11:07:31 +02:00
Tim Krüger
1bbc7caeee
Rename AttendeePermissionsUtil to ParticipantPermissions
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 11:07:31 +02:00
Tim Krüger
c031e7063e
Use 'val' instead of 'var'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 11:07:31 +02:00
Tim Krüger
dc6083334b
Merge pull request #2413 from nextcloud/feature/1353/shareToChooseAccount
add account switcher for "share to"
2022-09-23 12:53:18 +02:00
Marcel Hibbe
54f5c6f2f6
hide poll creation for 1:1 conversations
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-09-21 12:16:54 +02:00
Marcel Hibbe
62777e936d
add account switcher for "share to"
fix to avoid share to screen when coming back from conversation to conversation list

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-09-21 11:51:59 +02:00
Andy Scherzinger
f7035f5306
Theme toolbar for m3
Resolves #2384

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-09-19 16:52:55 +02:00
Tim Krüger
b3a3277aa2
Merge pull request #2395 from nextcloud/show-message-in-call-state-when-the-publisher-failed
Show message in call state when the publisher failed
2022-09-19 15:43:06 +02:00
Tim Krüger
5bbd26028f
Merge pull request #2392 from nextcloud/fix-disposing-local-stream-when-the-call-activity-is-not-being-left
Fix disposing local stream when the call activity is not being left
2022-09-19 15:17:59 +02:00
Tim Krüger
109124fb3b
Merge pull request #2391 from nextcloud/fix-checking-lobby-state-from-chat-controller-while-in-a-call
Fix checking lobby state from chat controller while in a call
2022-09-19 15:08:54 +02:00
Tim Krüger
e47de0afc9
Merge pull request #2390 from nextcloud/provide-visual-feeback-when-a-participant-is-not-connected
Provide visual feeback when a participant is not connected
2022-09-19 13:56:07 +02:00
Tim Krüger
eb18231e25
Merge pull request #2389 from nextcloud/fix-self-video-size-after-coming-back-from-pip-mode
Fix self video size after coming back from pip mode
2022-09-19 11:05:51 +02:00
Tim Krüger
9712d05843
Merge pull request #2394 from nextcloud/fix-call-not-joined-again-if-reconnecting-while-in-pip-mode
Fix call not joined again if reconnecting while in PiP mode
2022-09-19 10:48:57 +02:00
Tim Krüger
615e67296d
Merge pull request #2388 from nextcloud/fix-issues-when-leaving-calls
Fix issues when leaving calls
2022-09-19 10:25:38 +02:00
Andy Scherzinger
679b601844
Merge pull request #2387 from nextcloud/fix-crash-after-hangup-due-to-modifying-a-list-while-iterating-over-it
Fix crash after hangup due to modifying a list while iterating over it
2022-09-19 09:33:44 +02:00
Daniel Calviño Sánchez
8364877f38
Fix crash after hangup due to modifying a list while iterating over it
"endPeerConnection()" removes the item from the list, so neither a
for-each loop nor an iterator can be used to traverse the list (as a
"ConcurrentModificationException" would be thrown). To solve that now
the list of connections is first traversed to get all the sessions, and
then the list of sessions is traversed to end the connections.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-09-19 09:17:12 +02:00
Daniel Calviño Sánchez
13a04808d9 Ignore signaling messages when the call activity is closing
The call activity unregisters from the event bus events when stopped.
However, when the call activity is being closed the new activity can
start before the call activity is stopped; if the new activity causes
new signaling messages to be sent those messages were handled by the
call activity too.

The chat controller joins the conversation again when it is attached,
and the call activity automatically joins the call when it receives a
"roomJoined" event. Due to all that, when the call activity was closed
and the chat controller was opened the call was joined again (and then
left once the call activity was finally destroyed).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-09-19 05:52:34 +02:00
Daniel Calviño Sánchez
fdbcc3b16d Close the call activity when leaving the call only if remotely triggered
If the local participant leaves the call the participant list will be
updated with the new call flags. However, that does not necessarily mean
that a moderator ended the call; the call could have been left too by
the Android app due to a forced reconnection or a time out when starting
the call. In those cases the call activity should be kept open, and only
when the local participant left the call due to a remote action the call
activity should be closed.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-09-19 04:29:04 +02:00