Commit Graph

167 Commits

Author SHA1 Message Date
Marcel Hibbe
12d96634e5
fix to show call controls in voiceOnly call after coming back from pip mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
1ae5f51a81
hide pip button for android < 8
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
6839b9eb2c
fix animation of callControls
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
3ba599be98
rename old "pip*"-stuff to "selfVideo*"
improve design-logic for pip-mode and normal mode when switched back from pip

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
914b10bf20
make pip fullscreen (wip)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
d482d8603e
modify call screen design for pip mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
d4d23c1855
set calling/dialing state by ApplicationWideCurrentRoomHolder
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
78384e7b55
add initial approach for pip mode (wip)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Daniel Calviño Sánchez
6087167d6e
Simplify condition
Now that "newSessions" only contains remote participants it is no longer
needed to check if the participant is an MCU publisher or not, as it
will never be.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-07-02 14:59:05 +02:00
Daniel Calviño Sánchez
9687a9453d
Fix treating the local session as a remote session when the HPB is used
When processing the participants in a room the signaling sessions of the
participants were compared against the Nextcloud session of the local
participant to find out which were the remote sessions. However, when
the HPB is used the signaling session is not the same as the Nextcloud
session, so the signaling session of the local participant never matched
her Nextcloud session, so it was always seen as a remote participant.

This caused the call state to be changed to "in conversation" (which,
for example, stopped the calling sound), when only the local participant
was in the call.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-07-02 14:59:05 +02:00
Daniel Calviño Sánchez
004c7b296a
Move "hasMCU" update to the top of the method
"hasMCU" was used before being updated, so this caused an unneeded call
to "getPeersForCall" when processing the users in the room for the first
time even if the MCU is actually used.

A better fix might be moving "hasMCU" to a method instead of relying on
the cached value, but just moving the update to the top of the method
should have no side effects (as calling "getPeersForCall" just updates
"participantMap", which is unused when the MCU is used, and sets the
avatars, which has no effect until the peer layout is set, which also
sets the avatar), so this is good enough for now.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-07-02 14:59:05 +02:00
Marcel Hibbe
c07ef4acc8
define call controls height in dimens.xml
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-02 13:23:46 +02:00
Marcel Hibbe
99b247850b
set minHeight for call item by dp
reduce number of possible columns to avoid design issues

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-02 13:23:46 +02:00
Marcel Hibbe
8e8fd882f9
return false for ridView.setOnTouchListener
NOT TESTED

should allow both click and scrolling?

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-02 13:23:46 +02:00
Marcel Hibbe
98f8a29eae
set constants for min item height and call controls height
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-02 13:23:46 +02:00
Marcel Hibbe
64d98aefb4
- set bottom margin for grid for voicecall
- temporarily comment out setOnTouchListener for grid (disables toggle of controls for now)
- set android:scrollbars="vertical" for gridview
- add callControlsHeight for item height calculation
- add fake height to item that scrolling is testable

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-02 13:23:46 +02:00
Andy Scherzinger
394a640555
shorten app label Nextcloud Talk -> Talk while keeping "Nextcloud Talk" as a label within the app itself
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 18:07:54 +02:00
Andy Scherzinger
996770e470
check if view is (still) available
...since grid initialization is called in various places throughout the lifecycle

Fixes #1233

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 16:54:57 +02:00
Andy Scherzinger
a36ef3e4a9
remove duplicate null check
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-05-20 11:57:05 +02:00
Andy Scherzinger
6e56731f15
use short-syntax for loops and reformat code to 120 character line limt
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-05-20 11:26:41 +02:00
Joas Schilling
de6683815a
Add support for signaling v3
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-20 11:26:40 +02:00
Joas Schilling
97117eb90c
Use the correct signaling information and user+ticket for "Join via link" as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-12 16:21:55 +02:00
Joas Schilling
112a5662ad
Fix null reference when a participant leaves
java.lang.NullPointerException: Attempt to invoke virtual method
'void com.nextcloud.talk.adapters.ParticipantDisplayItem.setAudioEnabled(boolean)'
on a null object reference

Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-10 11:47:09 +02:00
Joas Schilling
dde79b5671
Fix joining a call
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-10 11:35:16 +02:00
Joas Schilling
335afb03dd
Test calling with apiv4
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-10 11:35:16 +02:00
Joas Schilling
8e80c9fb99
Split calls to another API function
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-09 17:32:17 +02:00
Joas Schilling
e9fa343fce
Add APIv4 to easy conversation API calls
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-07 21:56:23 +02:00
Joas Schilling
ca9a622030
Capability multi-room-users was introduced 2018
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-07 15:53:48 +02:00
Joas Schilling
61a2d389b4
Remove fallback code for "no-ping" not being available
The capability was introduces 2018 for Nextcloud 14

Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-07 15:53:47 +02:00
Joas Schilling
ee3dc43530
Throw the exception up
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-07 11:57:38 +02:00
Joas Schilling
529541d896
Change version to be specific to conversations api
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-07 11:56:11 +02:00
Joas Schilling
cf23a3d87d
Inject API version into signaling API calls
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-07 11:55:48 +02:00
Joas Schilling
f0eb3fec37
Inject api version in call api
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-07 11:54:26 +02:00
Joas Schilling
33de3ed330
Final batch of API version injection
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-05-07 11:51:02 +02:00
Marcel Hibbe
b8e4c4da56
add grid view for calls. make own video movable
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-05-07 09:45:51 +02:00
Marcel Hibbe
bd8edbc17f
avoid read redundant string
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-04-06 10:43:53 +02:00
Marcel Hibbe
24f1a1831c
set application name in call screens from String nc_app_name
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-03-26 14:24:59 +01:00
Marcel Hibbe
642146de02
improve call screens, add outgoing ringtone
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-02-18 14:51:18 +01:00
Marcel Hibbe
b50501a38f
bump google-webrtc to 1.0.32006
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-02-10 10:59:16 +01:00
tobiasKaminsky
f7d9290871
Chat during call
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2020-10-09 12:08:21 +02:00
Daniel Calviño Sánchez
ed8ac14d94 Show avatar for guests in call view
The avatar of guests is based on their display name/nick.

When the HPB is not used the nick is provided in the offer/answer
signaling messages, and later updated through data channel messages when
it changes. When the HPB is used the nick is periodically sent through
data channel messages. Therefore the avatar is based on the nick set in
the peer connection and reloaded when the nick changes (although it is
currently a bit hacky and brittle, as it is based on whether the nick
shown in the text view changed rather than whether the nick itself
changed, but it works nevertheless).

Note that currently it is required that the guest has a peer connection
to know its nick and, therefore, its avatar; some changes would be
needed in the clients to also send the nick when there is no peer
connection.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-10-02 09:11:16 +02:00
Daniel Calviño Sánchez
8f748caeaa Remove no longer needed parameter
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-10-01 19:18:20 +02:00
Daniel Calviño Sánchez
6b2720653a Always pass the session id in "NICK_CHANGE" PeerConnectionEvents
Before the NICK_CHANGE event include either the session id or the user
id, depending on whether the participant was a guest or a user. However,
as the session id is also known for users the event can be unified to
always include the session id only.

This also fixes an exception when handling the "NICK_CHANGE" event, as
the session id was got from the user id given in the event, but if the
event already included the session id the look up failed and the session
id was replaced with an empty value. This in turn caused an exception
when trying to use the view for the now invalid session id. Now the
session id provided in the event is always directly used.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-10-01 19:07:25 +02:00
tobiasKaminsky
6d7cf8305a
Fix join call directly after first start
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2020-09-29 09:40:46 +02:00
Mario Danic
c1f9dd2ac5 Bug fixes related to guest account
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-09-26 13:29:00 +02:00
Mario Danic
362042e27e Better scroll on new messages & Kotlin
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-09-09 21:59:40 +02:00
Mario Danic
69c4435b1e Fix #579
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-09-05 12:03:21 +02:00
Mario Danic
6a5aaac224 Lobby & Various bugfixes and improvements
Includes conversion to Kotlin of some files

Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-08-30 12:13:33 +02:00
Mario Danic
14efe5992a Clean up MerlinTheWizard
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-08-30 12:13:33 +02:00
Mario Danic
45e2bd505d Prevent some crashes
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-08-09 18:05:23 +02:00