Commit graph

4378 commits

Author SHA1 Message Date
Daniel Calviño Sánchez
e1eca7764f
Replace wrapper with actual message in external signaling server
NCMessageWrapper is used only for messages sent and received by the
internal signaling server. However, it is unused by the external
signaling server, except for getting the NCSignalingMessage, which is
the common message for both signaling servers.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-27 14:28:55 +01:00
Nextcloud bot
5fe33f47a1
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-27 07:13:47 +00:00
Nextcloud bot
df0baba6e2
Fix(l10n): 🛠️ Update Transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-27 07:12:37 +00:00
Nextcloud bot
4e86f450f2
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-26 06:52:45 +00:00
Nextcloud bot
cd787ae8aa
Fix(l10n): 🛠️ Update Transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-26 06:51:52 +00:00
Nextcloud bot
5e276fef80
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-25 07:52:26 +00:00
Nextcloud bot
7bbac1e823
Fix(l10n): 🛠️ Update Transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-25 07:50:59 +00:00
Nextcloud bot
98d6132416
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-24 09:56:54 +00:00
Nextcloud bot
588a64b778
Fix(l10n): 🛠️ Update Transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-24 09:55:01 +00:00
Daniel Calviño Sánchez
c4c64df5a6 Remove no longer needed code after removing EventBus message
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:44:41 +01:00
Daniel Calviño Sánchez
5e224c5a24 Use listener for participant list messages
Note that the thread used to handle the participant list messages from
the external signaling server does not change; the EventBus subscriber
mode was "BACKGROUND", but as the message was posted from a WebSocket
handler, which runs in a worker thread rather than in the main thread,
the subscriber was executed in the same thread as the poster.

Also note that the removed "userId" remark was not fully accurate;
although some external signaling messages do actually use "userid" those
currently handled to process the users do not, they always use "userId"
(as documented in the SignalingMessageReceiver).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:44:41 +01:00
Daniel Calviño Sánchez
e0c676bb35 Add listener for participant list messages
For now only the same participant list messages that were already
handled are taken into account, but at a later point further messages,
like participants joining or leaving the conversation, could be added
too.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:44:41 +01:00
Daniel Calviño Sánchez
c8e77c3d3b Split message receiver for internal and external signaling servers
Note that the thread used to handle and notify messages from the
external signaling server does not change; the EventBus subscriber mode
was "BACKGROUND", but as the message was posted from a WebSocket
handler, which runs in a worker thread rather than in the main thread,
the subscriber was executed in the same thread as the poster.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:44:41 +01:00
Daniel Calviño Sánchez
9df56dccda Process signaling message directly in the SignalingMessageReceiver
This will no longer log an error if the room type of the received
message is neither "video" nor "screen". However, that should never
happen, and it would be useful only while debugging, so it is fine to
lose that.

Note that the check is not added to SignalingMessageReceiver itself to
keep it as generic as possible (and due to the low value of adding it as
explained above). Nevertheless, if needed in the future it would be
possible to add a special listener that receives raw messages in order
to validate them and log the errors, if any.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:44:20 +01:00
Daniel Calviño Sánchez
bda7d2719b Add listener for call participant messages
Although "unshareScreen" is technically bound to a specific peer
connection it is instead treated as a general message on the call
participant.

Nevertheless, call participant messages will make possible (at a later
point) to listen to events like "raise hand" or "mute" (which, again,
could be technically bound to a specific peer connection, but at least
for now are treated as a general message on the call participant).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:41:34 +01:00
Daniel Calviño Sánchez
d42fe61e89 Add listener for offer messages
Unlike the WebRtcMessageListener, which is bound to a specific peer
connection, an OfferMessageListener listens to all offer messages, no
matter which peer connection they are bound to. This can be used, for
example, to create a new peer connection when a remote offer for which
there is no previous connection is received.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:40:01 +01:00
Daniel Calviño Sánchez
476fb59a08 Use temporary SignalingMessageReceiver implementation in CallActivity
Eventually all signaling related code should be moved to a Signaling
class that abstracts the differences between the internal and external
signaling servers, including how messages are sent and listened to. In
the meantime a temporary SignalingMessageReceiver implementation is
added to CallActivity to be able to start using it.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:40:01 +01:00
Daniel Calviño Sánchez
45787caf0a Add SignalingMessageReceiver class to listen to signaling messages
For now only WebRTC messages can be listened to, although it will be
extended with other kinds later.

This commit only introduces the base class, although it is not used yet
anywhere; a concrete implementation will be added in a following commit.

The test class is named "SignalingMessageReceiverWebRtcTest" rather than
just "SignalingMessageReceiverTest" to have smaller, more manageable
test classes for each listener kind rather than one large test class for
all of them.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:40:01 +01:00
Daniel Calviño Sánchez
0e36002036 Hide and delete no longer needed public methods
Although the rest of the methods are no longer needed since the handling
of WebRTC messages was moved to PeerConnectionWrapper "setSessionId()"
was not needed even before that.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:40:01 +01:00
Daniel Calviño Sánchez
4dffd29ceb Move handling of WebRTC messages to PeerConnectionWrapper
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:40:01 +01:00
Daniel Calviño Sánchez
f3e04b8e18 Simplify condition
"peerConnectionWrapper" needs to be defined to enter the if and execute
the switch, so just return before the switch if "peerConnectionWrapper"
is null.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:40:01 +01:00
Daniel Calviño Sánchez
075ba20cf9 Split handling of "unshareScreen" and WebRTC messages
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:40:01 +01:00
Daniel Calviño Sánchez
7b1bfb2c17 Simplify getting the message type
The message type is set for all signaling messages. On the other hand,
the payload type is only set for offers and answers (and, if the message
was sent by the Android app, also for candidates). However, in all those
cases the payload type just duplicates the message type, so the message
type can be assigned directly rather than falling back to it if there is
no payload type.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 20:39:49 +01:00
Daniel Calviño Sánchez
331bf49f73 Fix processing of participant list on reconnections
When the HPB is used the signaling messages can be received even when
the local participant is not currently in the call (for example, when
starting the call timed out without other participant joining, or when
reconnecting due to the publisher connection failing). Therefore if the
local participant is not in the call it should not try to establish a
connection with the other participants and disconnect them instead.

Moreover, if the connection is tried to be established when not
in the call the HPB will prevent that, and the PeerConnectionWrapper
will stay in a limbo state waiting for an offer to be sent. If the local
participant then joins the call the PeerConnectionWrapper will already
exist for the other participants, so no new connections will be created,
but those previous connections will never be finally established.

Additionally, as the signaling messages can be received before the join
call response the participant list could be received while the call
state is "RECONNECTING" or "PUBLISHER_FAILED". In those cases, as long
as the local participant is already in the call, the participant list
should be processed as if the call state was already "JOINED" (otherwise
the connections were not established either).

For simplicity the participant list is now ignored only when the call
state is "LEAVING"; this means that the participant list would be also
processed in the "CONNECTION_TIMEOUT" state, but the signaling message
should not be received anyway in that case.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 11:00:05 +00:00
Daniel Calviño Sánchez
8cdcc63687 Return without further processing if the call is remotely ended
If the call is hung up with a view shutdown (which finishes the
activity) there is no need to do any further processing on the
participant list.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 11:00:05 +00:00
Daniel Calviño Sánchez
379ec8eae8 Fix call state when join call response is received after signaling
When a call is joined the call flags of the local participant change, so
this causes a signaling message to be sent by the server. When the HPB
is used the signaling message is sent through a WebSocket, which is
already connected before joining the call. Therefore, in some cases the
signaling message can be received through the WebSocket even before the
response to the HTTP "joinCall" request.

If there are other participants in the call the call state is changed to
"IN_CONVERSATION" when the signaling message is processed. However, in
the case described above the call state was then set to "JOINED", which
automatically traverses to "CONNECTION_TIMEOUT" if no other call state
was set in 45 seconds. Due to all this the call was joined and the
connections with the other participants were established, but they were
not visible in the UI (although they could be heard) and after 45
seconds the call was left.

To prevent that now the call state is changed to "JOINED" if it was not
already changed to "IN_CONVERSATION" in the meantime.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-23 11:00:05 +00:00
Andy Scherzinger
528deb1fb4
Merge pull request #2648 from nextcloud/bugfix/2647/fixNpeProcessAutocompleteUserList
avoid NPE in processAutocompleteUserList
2022-12-23 11:50:43 +01:00
Nextcloud bot
23c64b10f9
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-23 10:19:11 +00:00
Nextcloud bot
9fec1851b8
Fix(l10n): 🛠️ Update Transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-23 10:17:29 +00:00
Marcel Hibbe
d9280d3d98
avoid NPE in processAutocompleteUserList
did not test why this can happen.   autocompleteUser.id must have been null..

Exception java.lang.NullPointerException:
  at com.nextcloud.talk.controllers.ContactsController.processAutocompleteUserList (ContactsController.kt:498)
  at com.nextcloud.talk.controllers.ContactsController.processAutocompleteUserList (ContactsController.kt:482)
  at com.nextcloud.talk.controllers.ContactsController.access$processAutocompleteUserList (ContactsController.kt:90)
  at com.nextcloud.talk.controllers.ContactsController$fetchData$1.onNext (ContactsController.kt:438)
  at com.nextcloud.talk.controllers.ContactsController$fetchData$1.onNext (ContactsController.kt:432)
  at io.reactivex.internal.operators.observable.ObservableRetryPredicate$RepeatObserver.onNext (ObservableRetryPredicate.java:69)
  at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal (ObservableObserveOn.java:201)
  at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run (ObservableObserveOn.java:255)
  at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run (HandlerScheduler.java:124)
  at android.os.Handler.handleCallback (Handler.java:883)
  at android.os.Handler.dispatchMessage (Handler.java:100)
  at android.os.Looper.loop (Looper.java:237)
  at android.app.ActivityThread.main (ActivityThread.java:7948)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1075)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-23 11:16:53 +01:00
Nextcloud bot
abb88972fd
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-22 07:12:15 +00:00
Nextcloud bot
67f2815211
Fix(l10n): 🛠️ Update Transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-22 07:11:18 +00:00
Nextcloud bot
e8711dfdc4
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-21 03:54:32 +00:00
Nextcloud bot
400858dee5
Fix(l10n): 🛠️ Update Transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-21 03:54:09 +00:00
Nextcloud bot
bd4484a486
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-20 11:13:10 +00:00
Nextcloud bot
7f2d8bcbd9
Fix(l10n): 🛠️ Update Transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-20 11:12:50 +00:00
Nextcloud bot
62079df94e
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-20 03:38:36 +00:00
Nextcloud bot
02c51c5032
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-20 03:38:25 +00:00
Álvaro Brey
8bc5735751
RepositoryModule: fix wrong injection for dateUtils
The module class is not supposed to have things injected into it. @Provides-annotated methods
will have their parameters injected, instead.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-19 17:35:19 +01:00
Andy Scherzinger
54b1427471
Implement closing for file input/output streams
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-12-19 09:37:06 +01:00
Andy Scherzinger
ae6b7156c0
Implement hasCode based on equals() elements to fullfil hasCode/equals contract
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-12-19 09:37:01 +01:00
Nextcloud bot
a4dabd1fed
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-19 03:41:01 +00:00
Nextcloud bot
7670a88d51
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-19 03:40:49 +00:00
Nextcloud bot
3b964670c4
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-18 03:33:25 +00:00
Nextcloud bot
9974ed59d5
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-18 03:33:13 +00:00
Nextcloud bot
27fa92b7ff
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-17 03:34:28 +00:00
Nextcloud bot
62d6a1793f
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-17 03:34:16 +00:00
Nextcloud bot
d8d3847d89
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-16 15:05:34 +00:00
Nextcloud bot
6aede24349
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-16 15:05:20 +00:00
Andy Scherzinger
20ad889206
remove unneeded class cast
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-12-15 13:23:06 +01:00
Andy Scherzinger
d858169668
prevent NPE
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-12-15 13:22:47 +01:00
Marcel Hibbe
eff4b912bd
fix Spot Bugs warning
Possible null pointer dereference in com.nextcloud.talk.utils.PushUtils.updatePushStateForUser(Map, User) due to return value of called method

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 13:11:42 +01:00
Marcel Hibbe
da8148a134
fix spotbug warning "PRMC: Possibly Redundant Method Calls"
PRMC: In class com.nextcloud.talk.utils.ssl.MagicKeyManager
In class com.nextcloud.talk.utils.ssl.MagicKeyManager
In method com.nextcloud.talk.utils.ssl.MagicKeyManager.chooseClientAlias(String[], Principal[], Socket)
At MagicKeyManager.java:[line 68]
Value getCurrentUser()Lio/reactivex/Maybe;
Method com.nextcloud.talk.utils.ssl.MagicKeyManager.chooseClientAlias(String[], Principal[], Socket) appears to call the same method on the same object redundantly

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 13:11:41 +01:00
Marcel Hibbe
e238c4c9e5
ensure that there is always a current user
this should also fix the app to start after it always crashed on startup because of https://github.com/nextcloud/talk-android/issues/2531

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 13:11:41 +01:00
Marcel Hibbe
dd155db6ab
rename method to update PushState for a user
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 13:11:41 +01:00
Álvaro Brey
a37f947eb9
PushUtils: update only pushState when updating users
This is to work around a race condition where this class would asynchronously overwrite other user attributes
with old values after a user switch.

Co-authored-by: Marcel Hibbe <dev@mhibbe.de>
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-15 13:11:40 +01:00
Álvaro Brey
2e2d4a9ca3
CurrentUserProviderImpl: ensure only one observer is set up for all threads
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-15 13:11:40 +01:00
Álvaro Brey
25dd46f95a
UsersDao: fix wrong attribute used in setUserAsActive
Co-authored-by: Marcel Hibbe <dev@mhibbe.de>
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-15 13:11:40 +01:00
Marcel Hibbe
962b1d4e3a
WIP. replace loop to set current state of users by single UPDATE query
i was able to see that the loop was somehow interrupted during debugging which caused two users to have current =true

this should avoid the problem with the loop.

anyway, this doesn't seem to solve the issue completely as i was able to reproduce it again with the new solution. so maybe there are still more methods/scenarios which can cause this.

additionally, i managed to have all users to have current =false with this new query (while switching accounts very fast and often in ChooseAccountDialogFragment..)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 13:11:39 +01:00
Marcel Hibbe
f73d1c14fc
add logging and toasts if current user was null
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 13:11:39 +01:00
Marcel Hibbe
e9dbcc554a
set user.current by value from userAttributes
this should have no effect but it should ensure "current" is not falsely set to true if the method storeProfile will be used for more scenarios in the future.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 13:11:39 +01:00
Marcel Hibbe
d4e545e67d
use setUserAsActive instead of userManager.disableAllUsersWithoutId
just refactoring for now. this doesn't solve the bug!

Problem that needs to be solved:
When adding a new Account (User), it is marked as "current", while for the other logged in users "current" must be unset (-> disabled).

The problem is, that for the old active user, "current" is not unset so there were multiple accounts marked as "current".

In the ChooseAccountDialogFragment, only one of the current accounts is shown at the top. Below the set status field, all accounts are listed that are not marked with "current". So as a result, there can be accounts hidden that were marked as "current".

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 13:11:35 +01:00
Marcel Hibbe
227b7bc080
remove some logging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 10:36:23 +01:00
Marcel Hibbe
7745e75f5f
fix to leave room before loading new one
-> add callback methods to ConductorRemapping to execute after chat room was left. Whenever there is a ChatController on top, it's room is now left, before replacing the controller or pushing another one on top.

this avoids problems where entering a chat before the old one was left led to sessionId="0" for the new chat.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 10:36:23 +01:00
Marcel Hibbe
c708104cbe
leave room before remap controller
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 10:36:23 +01:00
Marcel Hibbe
5bc8436cd3
add more logging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 10:36:23 +01:00
Marcel Hibbe
85721b5b4f
fix conductor backstack when chat notification is opened
when opening a chat notification, the old chat should not be kept in the backstack. so when clicking the back button when coming from a chat that was opened by a notification, now the ConversationList opens.

by the way, this also avoids to run into bug #2181 (but it's root cause is not solved yet)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 10:36:22 +01:00
Marcel Hibbe
943dfa2a83
add logging to examine issue #2181
# reproduce:
1. click in chat where someone is mentioned.
2. click on the mention
3. go back to first chat

# result:
validSessionId() can be false in onDetach for the second chat when going back to first chat
-> leaveRoom is not executed
-> disposable is not disposed
-> getRoomInfo() continues to execute for old controller
-> e.g. appbar infos can be wrong (wrong avatar/title)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-15 10:36:22 +01:00
Andy Scherzinger
2fca50cc9b
Add locale time formatting to system messages
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-12-15 08:55:24 +01:00
Andy Scherzinger
b3836c007f
Localize time formatting for chat messages
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-12-15 08:33:10 +01:00
Andy Scherzinger
96176c4f1c
pass DateUtils instance to viewHolder
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-12-15 08:33:10 +01:00
jld3103
6aece2940e
Localize time formatting
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2022-12-15 08:33:05 +01:00
Nextcloud bot
1cf881bc9a
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-15 03:33:21 +00:00
Nextcloud bot
e574fe4718
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-15 03:33:11 +00:00
Nextcloud bot
d4653c2526
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-14 03:36:41 +00:00
Nextcloud bot
3c28f87e97
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-14 03:36:31 +00:00
Nextcloud bot
eaee363fb9
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-13 03:46:39 +00:00
Nextcloud bot
3e4587af1f
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-13 03:46:28 +00:00
Nextcloud bot
03bcf26e78
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-12 03:33:14 +00:00
Nextcloud bot
09135a9582
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-12 03:33:04 +00:00
Nextcloud bot
44d4e03593
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-11 03:44:44 +00:00
Nextcloud bot
13088dd793
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-11 03:44:33 +00:00
Nextcloud bot
67f4e5aec1
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-10 03:41:03 +00:00
Nextcloud bot
53f3603f87
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-10 03:40:53 +00:00
Nextcloud bot
fd42492f1e
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-09 03:49:29 +00:00
Nextcloud bot
950f402aa4
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-09 03:49:18 +00:00
Nextcloud bot
a18ebe1988
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-08 03:34:22 +00:00
Nextcloud bot
b86cd51e0a
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-08 03:34:09 +00:00
Marcel Hibbe
7f37a0fe63
fix drawable for link previews
set drawable of referenceThumbImage to null. this hopefully avoids that wrong images are loaded from recycler view to wrong messages

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-07 16:44:29 +01:00
Marcel Hibbe
e869108ac7
avoid to set link preview content from wrong message
there was a report that a message contained the link preview of a previous message. This was most likely because of a recycler view error. Hopefully setting empty values should avoid this now.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-07 16:27:45 +01:00
Marcel Hibbe
f74ad91fd8
make link preview messages able to be swiped left
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-07 16:27:44 +01:00
Andy Scherzinger
4c614c06ac
Migrate to emoji2
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-12-07 15:59:01 +01:00
Tim Krüger
b0a68e8193
Merge pull request #2613 from nextcloud/bugfix/2612/fixNpeWhenRingtoneSilent
fix crash when joining call while silent ringtone is set
2022-12-07 14:58:34 +01:00
Marcel Hibbe
269844fbc3
simplify logic to close/keep CallNotificationActivity
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-07 14:40:52 +01:00
Marcel Hibbe
d33857e603
remove unused code
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-07 14:40:52 +01:00
Marcel Hibbe
e121d32984
add check that missed call notification is not shown accidentally
for example when call is hangup on mobile and immediately after on web, the loop in "checkIfCallIsActive" is still active and might trigger to send the "missed call" notification. Because of this, there is now another check if the "ongoing call" notification is still visible. It makes only sense to show the missed call notification, when the ongoing call notification is still visible.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-07 14:40:52 +01:00
Marcel Hibbe
9c4b0a00c6
remove ringtone logic (only make it depend on notification!)
this commit removes the logic to play the ringtone in CallNotificationActivity. Playing ringtone should only be controlled by the notification channel from OS!

furthermore the checks if a call is stopped or is still ongoing etc was removed from CallNotificationActivity. Instead the CallNotificationActivity now is completely dependent on the notification. If the notification is canceled, the Activity stops. If the Notification is ongoing and hangup of accept call is clicked, then the notification is canceled (including the ringtone).

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-07 14:40:47 +01:00
Andy Scherzinger
ca63bc52c6
improve lint score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-12-07 13:46:07 +01:00
Álvaro Brey
2b646845bf
DirectReplyReceiver: fetch avatar in background
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-12-07 13:46:02 +01:00
Tim Krüger
4b46270362
Set minSdkVersion to 23 (Android 6)
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-12-07 13:45:57 +01:00
Tim Krüger
49da463971
Replace Fresco with Coil
Fresco is replaced with Coil everywhere to make it possible to set 'minSdkVersion'
to 23. 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'.

The exisiting initialization of Coil has also be changed. The usage of the self
initialized OKHttp client is removed. If this one is added the
caching of the http client is used by Coil additionally to memory and
disk cache.

Resolves: #2227, #2376

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-12-07 13:45:42 +01:00
Tim Krüger
537f375f86
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-12-07 13:44:41 +01:00
Nextcloud bot
d90e52b3cd
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-07 03:34:40 +00:00
Nextcloud bot
75e29a4da2
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-07 03:34:29 +00:00
Nextcloud bot
efe1296279
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-06 03:42:08 +00:00
Nextcloud bot
8acfb1df4c
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-06 03:41:57 +00:00
Marcel Hibbe
3e6c846d62
fix crash when joining call while silent ringtone is set
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.nextcloud.talk2, PID: 10874
    java.lang.NullPointerException: uri param can not be null.
        at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1058)
        at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1021)
        at com.nextcloud.talk.activities.CallActivity.playCallingSound(CallActivity.java:2643)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-05 12:51:21 +01:00
Nextcloud bot
4991fcceab
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-05 03:30:17 +00:00
Nextcloud bot
d209653202
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-05 03:30:07 +00:00
Nextcloud bot
da4521223a
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-04 03:29:36 +00:00
Nextcloud bot
7c3ace1a34
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-04 03:29:26 +00:00
Nextcloud bot
1110d7cecc
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-03 03:29:52 +00:00
Nextcloud bot
6a5c0d840f
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-03 03:29:41 +00:00
Marcel Hibbe
8ded97ee03
resolve codacy warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-02 14:53:46 +01:00
Marcel Hibbe
3d50075bf2
delete some "magic"
= rename some "Magic*" classes

+ implement reactions for it

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-02 14:53:45 +01:00
Marcel Hibbe
6b97197c80
react to given reactions inside message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-02 14:53:45 +01:00
Daniel Calviño Sánchez
6466aaea20 Fix reconnection when the web socket was abruptly closed
When the web socket is abruptly closed it is connected again and the
call is rejoined. However, the call was rejoined in a background thread,
so an exception was thrown when trying to modify the views, which
prevented the call from being joined again.

Besides that the call state needs to be explicitly changed, as if the
web socket was connected again while in a call the state would be
already "JOINED" or "IN_CONVERSATION", which prevents the signaling
settings from being fetched again after the permissions check, and
therefore also prevented the call from being joined again.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-12-02 06:51:44 +00:00
Nextcloud bot
d908fcfeab
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-02 03:31:11 +00:00
Nextcloud bot
0f23bbb064
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-02 03:31:00 +00:00
Nextcloud bot
3458226d4b
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-01 03:35:21 +00:00
Nextcloud bot
6c2d2a1a4a
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-01 03:35:10 +00:00
Marcel Hibbe
12cb7e423b fix to move controllers to top
add logging

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-11-30 12:08:23 +00:00
Marcel Hibbe
a37b0cb4aa delete unnecessary "!!" operators
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-11-30 12:08:23 +00:00
Marcel Hibbe
9af3ffa784 fix order of lock screen timeout in settings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-11-30 12:08:23 +00:00
Nextcloud bot
f2b4c7a64c
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-30 03:35:12 +00:00
Nextcloud bot
a35d1f541f
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-30 03:35:00 +00:00
Nextcloud bot
dfab0109e0
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-29 03:35:07 +00:00
Nextcloud bot
657b03d6a4
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-29 03:34:56 +00:00
Nextcloud bot
c3125b669a
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-28 03:35:17 +00:00
Nextcloud bot
c715cfeef6
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-28 03:35:06 +00:00
Nextcloud bot
bc95264344
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-27 03:33:00 +00:00
Nextcloud bot
e50ea178bc
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-27 03:32:48 +00:00
Nextcloud bot
393a6f674f
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-26 03:32:49 +00:00
Nextcloud bot
3a7549a7f4
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-26 03:32:39 +00:00
Nextcloud bot
a3eab50195
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-25 08:29:08 +00:00
Nextcloud bot
361d3f06b5
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-25 08:28:56 +00:00
Nextcloud bot
c269717c8d
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-25 03:38:16 +00:00
Nextcloud bot
5c61efa856
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-25 03:38:05 +00:00
Andy Scherzinger
14c3bd19b6 Show conversation search results first
Fixes #2504

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-11-23 11:49:40 +00:00
Nextcloud bot
086a0673b7
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-23 03:37:14 +00:00
Nextcloud bot
1a9a746a54
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-23 03:37:03 +00:00
Nextcloud bot
7848413691
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-22 03:39:09 +00:00
Nextcloud bot
4a0ef454ec
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-22 03:38:56 +00:00
Nextcloud bot
e32b87cc27
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-21 03:29:49 +00:00
Nextcloud bot
c8948f6ae0
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-21 03:29:37 +00:00
Nextcloud bot
183eb0c2c5
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-20 03:31:21 +00:00
Nextcloud bot
d7297384fa
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-20 03:31:09 +00:00
Tim Krüger
3283eb9502
Merge pull request #2575 from nextcloud/fix-is-in-call-with-video-check
Fix "isInCallWithVideo()" check
2022-11-19 18:28:38 +01:00
Tim Krüger
76c7e34102
Merge pull request #2514 from nextcloud/dependabot/gradle/com.google.android.material-material-1.7.0
Bump material from 1.6.1 to 1.7.0
2022-11-19 18:21:20 +01:00
Daniel Calviño Sánchez
b409f89616 Fix "isInCallWithVideo()" check
The call flags should be checked using bitwise operators; otherwise a
call with phone ("in call | with phone" / "in call + with phone", that
is, "0001 + 1000 = 1001" or "1 + 8 = 9") would be seen as a call with
video ("in call | with video" / "in call + with video",
"0001 + 0100 = 0101" or "1 + 4 = 5"), as "9 >= 5". On the other hand,
using bitwise operators (and only checking against "with video")
succeeds only when the call flags contain "with video" (in the previous
example, "1001 and 0100 = 0000", so it does not succeed).

The "IN_CALL" flag is no longer checked, as "WITH_VIDEO" will be set
only during calls, and therefore checking for "IN_CALL" is not needed.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-19 17:06:40 +00:00
Nextcloud bot
2f5638be68
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-19 03:36:50 +00:00
Nextcloud bot
fcd71fc8b2
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-19 03:36:39 +00:00
Tim Krüger
ff8b664470 Update dependency ImagePicker
In further versions of the ImagePicker library the class 'File' is used
to reference an image. Using 'File' caused the permission problems mentioned
in #2511.

Resolves: #2511
See: d7e643b560

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-11-18 08:05:11 +00:00
Nextcloud bot
4a4b4859e5
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-18 03:29:47 +00:00
Nextcloud bot
93b9d556bb
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-17 03:30:41 +00:00
Daniel Calviño Sánchez
45224741fd
Fix ParticipantDisplayItems not updated on events
The ParticipantDisplayItems were associated to both the session ID and
the video stream type ("video" or "screen"), but the code that gets them
was not updated to include the video stream type in the key.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-16 15:45:38 +01:00
Daniel Calviño Sánchez
ed54b9f03a
Fix video stream type not included in PeerConnectionEvent
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-16 15:45:34 +01:00
Daniel Calviño Sánchez
990d551dd0 Fix String comparison using operator rather than "equals()"
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-16 11:57:53 +00:00
Andy Scherzinger
2e3a2be75d
bump compileSdkVersion to 32
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-11-16 11:15:21 +01:00
Marcel Hibbe
531f7151ef
add more precise text when spreed is not available
spreed usage can be restricted by admins to groups. For this case users should get a error message which also takes this into account. Else it could be frustrating for users to find out why talk  is not working.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-11-16 09:20:20 +01:00
Nextcloud bot
dfec781486
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-16 03:29:07 +00:00
Nextcloud bot
54aa434b87
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-16 03:28:56 +00:00
Nextcloud bot
a0bdf27b34
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-15 03:29:26 +00:00
Nextcloud bot
6691fe22b8
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-15 03:29:15 +00:00
Andy Scherzinger
796a2683db
Merge pull request #2563 from nextcloud/use-comparison-operator-rather-than-equals-for-enums
Use comparison operator rather than equals for enums
2022-11-14 13:39:53 +01:00
Nextcloud bot
a81194cb92
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-14 10:51:22 +00:00
Nextcloud bot
66963e6028
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-14 10:51:12 +00:00
Tim Krüger
e9aa9f2764
Merge pull request #2503 from nextcloud/fix-remote-participants-display-with-both-video-and-screen-share
Fix remote participants display with both video and screen share
2022-11-14 11:34:28 +01:00
Daniel Calviño Sánchez
9e967bdd4d
Use comparison operator rather than equals for enums in Dagger modules
Fixes SPP_EQUALS_ON_ENUM issue from SpotBugs.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-14 11:30:06 +01:00
Daniel Calviño Sánchez
fb0fe8587a
Use comparison operator rather than equals for enums in adapters
Fixes SPP_EQUALS_ON_ENUM issue from SpotBugs.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-14 11:30:00 +01:00
Daniel Calviño Sánchez
969c08ea79
Use comparison operator rather than equals for enums in WebRTC code
Fixes SPP_EQUALS_ON_ENUM issue from SpotBugs.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-14 11:29:52 +01:00
Daniel Calviño Sánchez
74cf2c7a41
Use comparison operator rather than equals for enums in CallActivity
Fixes SPP_EQUALS_ON_ENUM issue from SpotBugs.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-14 11:29:29 +01:00
Nextcloud bot
6258e3a330
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-14 03:26:45 +00:00
Nextcloud bot
47bdb1fc7e
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-14 03:26:34 +00:00
Nextcloud bot
dd31a8d79e
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-13 03:25:11 +00:00
Nextcloud bot
edefe588f2
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-13 03:25:01 +00:00
Nextcloud bot
7481e0ea4e
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-12 03:28:18 +00:00
Nextcloud bot
cb4a0caaf3
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-12 03:28:06 +00:00
Daniel Calviño Sánchez
d7706b6082 Fix remote participants display with both video and screen share
ParticipantDisplayItems are not associated to a full participant but to
each of the single connections that the participant may have (video and
screen). However, when they are added to the map only the session ID is
used as key. Due to this when a participant starts a screen share the
ParticipantDisplayItem for the screen share overwrites the item for the
video, and once the screen share is stopped the old item is not
restored. Moreover, if a participant is already sharing a screen when
the local participant joins whether the video or the screen share is
shown is undefined and depends on which connection is established first.

To solve that the ParticipantDisplayItems are now associated with both
the session ID and the video stream type ("video" or "screen"). Due to
this both the video and the screen share of the remote participant are
shown in the grid view; in the future it might be better to only show
the screen share, or allow switching between screen share and video, or
show the screen share in full screen and hide the grid... but for now,
as a quick fix, this is good enough :-)

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-11 14:52:49 +00:00
Marcel Hibbe
3729f1130a
suppress some detekt warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-11-10 15:40:04 +01:00
Marcel Hibbe
ca145d170c
revert calculation of delayed delivery time
this didn't make sense because time between firebase and devices is not synchronized, so the results were useless.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-11-10 13:38:49 +01:00
Marcel Hibbe
3a517f5760
add missed call notification, show delivery delay in debug mode
- add missed call notifications in NotificationWorker and CallNotificationActivity

- introduce refactoring of Notification handling (isolate firebase stuff from other logic). All "UI-notification" logic from ChatAndCallMessagingService was moved to NotificationWorker. ChatAndCallMessagingService was renamed to NCFirebaseMessagingService because it is now only responsible for firebase stuff. This separation should make it easier for alternative push services to dock with the app (if they are incorporated in the future).

- for DEBUG mode: show delivery delay time in notifications (time between sending from firebase to receive on device).

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-11-10 12:17:23 +01:00
Nextcloud bot
b4ca4fbd50
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-10 03:33:25 +00:00
Nextcloud bot
d575659872
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-10 03:33:11 +00:00
Nextcloud bot
7a83b354bc
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-09 03:23:09 +00:00
Nextcloud bot
c441812632
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-09 03:22:58 +00:00
Nextcloud bot
93e8587060
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-08 03:24:12 +00:00
Nextcloud bot
d321bbe850
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-08 03:24:02 +00:00
Tim Krüger
5a392be92e
Merge pull request #2541 from nextcloud/keep-retrying-with-exponential-backoff-if-pulling-signaling-messages-fails
Keep retrying with exponential backoff if pulling signaling messages fails
2022-11-07 12:20:32 +01:00
Tim Krüger
3d89d6b22f
Merge pull request #2540 from nextcloud/fix-update-of-guest-avatars-in-call-participants
Fix update of guest avatars in call participants
2022-11-07 12:15:37 +01:00
Nextcloud bot
8c3b61742e
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-07 03:22:54 +00:00
Nextcloud bot
33f0b468ac
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-07 03:22:43 +00:00
Daniel Calviño Sánchez
4b4b9da2b1 Add exponential backoff when trying to pull signaling messages again
When pulling signaling messages failed the source observable was
immediately subscribed again, which immediately triggered another pull.
Rather than hammering the server or a flaky network with new requests
again and again now further requests are performed with an incremental
delay (up to 16 seconds).

The delay is increased only when several requests fail in a row, and it
is reset as soon as a request succeeds.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-06 14:46:56 +01:00
Daniel Calviño Sánchez
52dda57aef Rewrite "retry(Predicate)" as "retryWhen()"
This is just a preparatory step to add exponential backoff.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-06 14:42:45 +01:00
Daniel Calviño Sánchez
54deafa514 Keep retrying if pulling signaling messages fails
When the internal signaling server is used the observable to pull
signaling messages is subscribed again after each completion, but in
case of an error it was retried only 3 times. Those 3 times are not in a
row, though, but in total for the whole observable, no matter how many
times it was subscribed again.

Due to the limitation on retries in a long call with a flaky connection
pulling the signaling messages could fail more than 3 times, which
caused the observable to finish with an error and therefore stop further
pullings. In this situation the Android app would not notice if other
participants joined or left the call, and thus it would not establish a
connection with them or stop it. To prevent that now the number of
retries is unlimited (although the retry is still stopped if the local
participant is no longer in the call).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-06 13:30:02 +01:00
Nextcloud bot
52e604cf11
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-06 03:24:47 +00:00
Nextcloud bot
d8d113cc6e
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-06 03:24:37 +00:00
Nextcloud bot
48eb838f8f
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-05 03:27:50 +00:00
Nextcloud bot
04edec2c6c
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-05 03:27:40 +00:00
Daniel Calviño Sánchez
e001d685dd Fix update of guest avatars in call participants
The URL for the avatar depends on whether the call participant is a user
or a guest and, if it is a guest, on its nick. Although the user id of a
participant does not change if the participant is a guest the nick may
be changed during a call, so the avatar URL needs to be updated as well.

As the avatar URL is fully derived from other properties it is now
calculated internally in the ParticipantDisplayItem and calculated when
any of the properties it depends on changes (also for the user id for
completeness, as technically the item could be reused for a different
participant with a different user id, even if it is not currently done).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-11-04 20:40:57 +01:00
Nextcloud bot
3d0e0984af
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-04 03:26:57 +00:00
Nextcloud bot
78dbff0fd0
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-04 03:26:46 +00:00
Nextcloud bot
ac6b2d4acd
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-03 03:22:14 +00:00
Nextcloud bot
337203ba6d
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-03 03:22:03 +00:00
Nextcloud bot
3871a80d85
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-02 03:24:22 +00:00
Nextcloud bot
2d9ca94d05
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-02 03:24:10 +00:00
Nextcloud bot
5da4d53ecf
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-01 03:23:20 +00:00
Nextcloud bot
f6127625aa
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-01 03:23:09 +00:00
Nextcloud bot
c6b447724c
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-31 03:22:06 +00:00
Nextcloud bot
82fb2ea9a0
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-31 03:21:56 +00:00
Nextcloud bot
eadb44c193
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-30 03:26:13 +00:00
Nextcloud bot
666be5636d
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-30 03:26:02 +00:00
Nextcloud bot
ea1e25fc24
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-29 03:35:07 +00:00
Nextcloud bot
1d9d0fe414
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-29 03:34:55 +00:00
Marcel Hibbe
8dd6fe1d3d
use listOf instead Arrays.asList
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-10-28 16:03:53 +02:00
Dariusz Olszewski
c18bafe13a
Force HTTP/1.1 in chunked upload
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-10-28 16:03:53 +02:00
Dariusz Olszewski
bfc9f57b2a
Make it possible to dismiss failure notification
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-10-28 16:03:53 +02:00
Nextcloud bot
b641121266
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-28 03:23:08 +00:00
Nextcloud bot
fd07da6581
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-28 03:22:57 +00:00
Nextcloud bot
3252a841d8
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-27 03:22:25 +00:00
Nextcloud bot
ef1b472197
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-27 03:22:14 +00:00
Nextcloud bot
0f9fc7c306
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-26 03:24:03 +00:00
Nextcloud bot
dcd6561e57
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-26 03:23:53 +00:00
Nextcloud bot
83871ae434
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-25 03:27:32 +00:00
Nextcloud bot
7448d71da2
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-25 03:27:21 +00:00
Marcel Hibbe
436770d844
simplify logic for server selection screen
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-10-24 13:03:53 +02:00
Nextcloud bot
3e0620db0a
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-24 10:45:26 +00:00
Nextcloud bot
4c159390b9
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-24 10:45:13 +00:00
Tim Krüger
4658292602
Merge pull request #2490 from nextcloud/bugfix/2478/fixUserStatusesForConversationList
improve fetching of user statuses in conversation list
2022-10-24 11:46:42 +02:00
Nextcloud bot
b0e73fde8e
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-24 03:22:56 +00:00
Nextcloud bot
433ec3aa4c
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-24 03:22:46 +00:00
Nextcloud bot
f00c091cec
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-23 03:22:58 +00:00
Nextcloud bot
a9af57a8d1
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-23 03:22:47 +00:00
Nextcloud bot
fab2ac36e1
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-22 03:23:54 +00:00
Nextcloud bot
9fee17a0ee
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-22 03:23:44 +00:00
Nextcloud bot
ce8bc432a0
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-21 03:31:31 +00:00
Nextcloud bot
990842cd06
[tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-20 17:08:21 +00:00
Nextcloud bot
120c0d2150
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-19 09:09:27 +00:00
Nextcloud bot
ee838a93c9
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-19 09:03:58 +00:00
Marcel Hibbe
84ba72f130
improve link preview design, add link description
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-10-13 23:52:49 +02:00
Tim Krüger
a17acc779c
Merge pull request #2484 from nextcloud/fix-computing-new-sessions-in-call
Fix computing new sessions in call
2022-10-13 18:08:57 +02:00
Daniel Calviño Sánchez
3278829dba
Fix computing new sessions in a call
The new sessions are computed by substracting the old sessions (those
for which a PeerConnectionWrapper exists) from the sessions currently in
the call. However, when "oldSessions" was used for that it no longer
contained the old sessions, it only contained the sessions which were no
longer in the call. As those sessions are mutually exclusive with the
sessions currently in the call nothing was substracted from
"newSessions", and it ended being the sessions currently in the call
instead.

When the HPB is not used the list of participants in the conversation is
periodically updated every 30 seconds if no other signaling message was
received in the meantime. As the layout for a participant overrides any
previous layout for that participant this periodically reset the layout
of all participants in the call, as they were all treated as new
sessions.

When the HPB is used the list of participants in the conversation is
updated only when something changed. However, similarly to the previous
case, when that happens the layout of all participants in the call is
also reset for the same reason.

To solve that now "oldSessions" is not modified, so it contains the
sessions for which a PeerConnectionWrapper exists, and substracting it
from "newSessions" now gives only the new sessions.

The other usages of "newSessions" besides creating the connection and
setting up the layout, that is, getting the peers in the call and
changing the call status to "In conversation", should be safe if
executed only when there are new sessions rather than when there are
participants in the call but they did not change.

Resolves: #2486

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-10-13 15:23:59 +02:00
Daniel Calviño Sánchez
f84a621780
Do not store sessions not in call as old sessions
The old sessions are used to know which connections need to be ended
because they are no longer in the call. However, if a participant is no
longer in the call but there was no connection yet then there is no
connection that needs to be ended; any existing connection will be added
when looping through the connection list, and if it needs to be stopped
it will be found when substracting the sessions that are currently in
the call.

The old sessions are also used to find the new sessions in the call. Due
to an issue in how that is computed "newSessions" currently store the
sessions in the call rather than only the new sessions (this will be
addressed in a following commit). Nevertheless, in both cases any
session not in the call for which there is no connection either will not
make any difference in the computed "newSessions" (as they are mutually
exclusive, so they will never be removed from "newSessions" when
substracting the old sessions).

Due to all that it is not needed to store sessions not in call as old
sessions / sessions to end.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-10-13 15:23:54 +02:00
Daniel Calviño Sánchez
1ba6e293b2
Rename to a more accurate name
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-10-13 15:23:48 +02:00
Daniel Calviño Sánchez
f53cb610d3
Fuse declaration and initial assignment
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-10-13 15:23:39 +02:00
Marcel Hibbe
42e6d9b52f
extract methods from fetchRooms method
reduce complexity for codacy score..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-10-13 13:26:31 +02:00
Marcel Hibbe
871f798720
improve fetching of user statuses in conversation list
replace
/ocs/v2.php/apps/user_status/api/v1/statuses

with
"includeStatus=true"
when fetching conversations, see https://nextcloud-talk.readthedocs.io/en/latest/conversation/

fix #2478

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-10-13 12:12:47 +02:00
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
tobiasKaminsky
ff0421575a Like Android Files we should rely on generic camera feature, but not required.
This then should allow us to install Talk on Chromebooks

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-10-03 08:36:45 +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
Nextcloud bot
127ed0944a
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-30 05:50:11 +00: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
Nextcloud bot
4a049d9d03
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-29 04:40:47 +00: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
Nextcloud bot
e26a7a7beb
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-28 04:38:17 +00: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
Marcel Hibbe
51d4b54aa4
Merge pull request #2430 from nextcloud/bugfix/2426/verticalButtonsForPolls
change poll buttons to vertical orientation
2022-09-27 11:26:18 +02:00
Marcel Hibbe
211e8cbb4d
change poll buttons to vertical orientation
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-09-27 10:34:11 +02:00
Valdnet
6a8fbe66b3
i18n: Delete shortcut
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-09-27 09:26:34 +02:00
Nextcloud bot
9d57260867
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-27 03:34:26 +00: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
Nextcloud bot
e3e65c3540
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-25 04:36:11 +00:00
Nextcloud bot
2e15590215
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-24 04:37:22 +00:00
Tim Krüger
8b15f142ac
Merge pull request #2411 from nextcloud/feature/2407/themedLauncherIcon
Added monochrome icon for Android 13 "Themed icons" support.
2022-09-23 13:33:38 +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
Tim Krüger
009dbaf292
Merge pull request #2414 from nextcloud/bugfix/noid/hidePollCreationForOneToOne
hide poll creation for 1:1 conversations
2022-09-23 12:26:56 +02:00
Nextcloud bot
dad99a30ba
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-23 04:33:40 +00:00
Nextcloud bot
ef2292d313
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-22 04:36:54 +00: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
e30df81a18
Added monochrome icon for Android 13 "Themed icons" support.
Resolves #2407

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-09-20 16:51:28 +02:00