Commit Graph

1826 Commits

Author SHA1 Message Date
Marcel Hibbe
45cfbc7257
add ability to set status type
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:39 +01:00
Marcel Hibbe
19060bddbd
delete comments
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:39 +01:00
Marcel Hibbe
622eaa1d7f
check capabilities to set status support
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:39 +01:00
Marcel Hibbe
dad53a77e6
fix wrong calculation for "in 4h" (=remove linebreak)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:38 +01:00
Marcel Hibbe
967b63b017
draw status in ChooseAccountDialogFragment
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:38 +01:00
Marcel Hibbe
7cc8751a1f
disable set status button until status is received
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:38 +01:00
Marcel Hibbe
df5ac64712
fix to clear the status
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:37 +01:00
Marcel Hibbe
454c6cd8e6
add ability to send predefined and custom status
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:37 +01:00
Marcel Hibbe
8117c775a7
notifyDataSetChanged after predefines statuses were loaded
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:37 +01:00
Marcel Hibbe
57a408ac97
add predefined statuses
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:37 +01:00
Tim Krüger
a94f0f1bf1
Adopt more parts from files app [WIP]
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-25 12:11:36 +01:00
Marcel Hibbe
05586ccf47
add user status option to account dialog (WIP)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:36 +01:00
Tim Krüger
3d76ba3571
Close localStream after peerConnection
The peerConnection get passed the tracks of the localStream. So to make
sure that the tracks are not released before the connection is closed it
will now done after closing the peerConnection.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 12:34:04 +01:00
Tim Krüger
f08a9ef463
Rename MagicPeerConnectionWrapper to PeerConnectionWrapper
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 12:21:41 +01:00
Tim Krüger
0ea29ee0cd
Remove unused fields remoteVideoOn and remoteAudioOn
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 12:21:41 +01:00
Tim Krüger
844cf09a2b
Rename remoteMediaStream to remoteStream
Align naming to the names used in WebRTC example code and documentation.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:42 +01:00
Tim Krüger
5580c15ea6
Rename magicDataChannel to dataChannel
There is no 🧙 in a data channel.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:42 +01:00
Tim Krüger
272ea7e846
Rename sdpConstraints to mediaConstraints
SDP is a native detail of the native WebRTC library.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:42 +01:00
Tim Krüger
890dda0c68
Remove unused method 'restartIce'
The method 'restartIce' is dead code since years. So this and related
fields are removed.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:42 +01:00
Tim Krüger
557602d1bf
Make fields final
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:42 +01:00
Tim Krüger
5e778c94fb
Make use of Objects#requireNonNull to check for null references
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:41 +01:00
Tim Krüger
5b95b5675d
Rename localMediaStream to localStream
Align naming to the names used in WebRTC example code and documentation.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:41 +01:00
Tim Krüger
86f20dcfd3
Migrate WebRTC from plan b to unified plan
The in 'MagicPeerConnectionWrapper#removePeerConnection' used method
'PeerConnection#removeStream' was not longer available in the unified
plan. So to make sure that the local stream is disposed, it will now be
done in 'CallActivity#hangup'.

Resolves: #1773
See: [1]

[1] https://webrtc.org/getting-started/unified-plan-transition-guide
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:41 +01:00
Tim Krüger
bad5b5f9bc
Update WebRTC library
The  updated libwebrtc will be load from the talk-clients-webrtc repository [1]
and not from a dependency repository. The 'lint' task must now depend on the
'perBuild' task to make sure that the WebRTC library is downloaded from the
configured URL.

To get the new version to work a change is needed because of this announcement:

> Google is planning to transition Chrome’s WebRTC implementation from the
> current SDP format (called “Plan B”) to a standards conformant format
> (“Unified Plan”, draft-ietf-rtcweb-jsep) over the next couple of quarters.
>
> - [2]

Currently we are in phase 4 of the transition [3]. So actually 'Plan B'
must be used to avoid bigger changes to our code base at this time. But
'Plan B' is depracted and will be removed in phase 5 of the transition
[4].

Resolves: #1773
See:
  - [1] https://github.com/nextcloud-releases/talk-clients-webrtc
  - [2] https://webrtc.org/getting-started/unified-plan-transition-guide
  - [3] https://webrtc.org/getting-started/unified-plan-transition-guide#phase_4_make_%E2%80%9Cplan_b%E2%80%9D_throw
  - [4] https://webrtc.org/getting-started/unified-plan-transition-guide#phase_5_remove_%E2%80%9Cplan_b%E2%80%9D

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:34:30 +01:00
Tim Krüger
964367189f
Fix klint errors
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-21 17:17:47 +01:00
Tim Krüger
e49d014ec9
Remove Parceler from model capabilities
Resolves: #1548

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-17 22:36:27 +01:00
Tim Krüger
dcc0a0fdd0
Remove Parceler from model autocomplete
Resolves: #1548

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-17 22:36:26 +01:00
Andy Scherzinger
b745e0677b
reformat kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-17 17:29:12 +01:00
Andy Scherzinger
7b64fbd7e0
spotbugs: checks the size of a collection against zero rather than using isEmpty()
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-17 17:23:46 +01:00
Andy Scherzinger
a18987dc0a
also show server address and placeholder avatar for account import
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-17 17:21:48 +01:00
Andy Scherzinger
43f57931fd
add empty lines for formatting
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-17 15:25:24 +01:00
Andy Scherzinger
ef4b08d752
convert switch account controller to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-17 15:25:24 +01:00
Andy Scherzinger
377a983ac8
convert server selection controller to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-17 15:25:21 +01:00
Marcel Hibbe
e1f8c41b60
fix to mark conversation as read
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:45:58 +01:00
Marcel Hibbe
0f6efabf38
avoid wildcard imports
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:11 +01:00
Marcel Hibbe
30b34adaf6
make ConversationOperationEnum imports static
rename enums

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:11 +01:00
Marcel Hibbe
a22b93f363
fix to hide dialog automatically after 2,5 seconds
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:11 +01:00
Marcel Hibbe
73894bd4c0
fix to don't partly hide input dialogs behind keyboard
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:11 +01:00
Marcel Hibbe
2348919d97
modify copyright headers authors
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:10 +01:00
Marcel Hibbe
eceb545589
remove (hopefully unused) code regarding GUEST and USER_FOLLOWING_LINK
I can't reproduce or think of scenarios when this code was used. because bottom dialog is replaced it wouldn't work anymore anyway.
If there appear scenarios when the code would have executed, it should be fixed similar like ConversationsListBottomDialog was implemented.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:10 +01:00
Andy Scherzinger
142c362474
solve detekt issues
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-16 11:34:09 +01:00
Marcel Hibbe
809e277855
rename enum, add todo
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:09 +01:00
Marcel Hibbe
8ea9663d5e
fix to fetch conversations list after executing bottom sheet operations
BottomSheetLockEvent was only used for old bottom dialog with "kennyc" lib

instead ConversationsListFetchDataEvent.kt is now used to fetch the data in ConversationsListController whenever needed

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:09 +01:00
Marcel Hibbe
4728600021
fix to show searchbar after bottom dialog textinput
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:08 +01:00
Marcel Hibbe
6bc5d324b5
fix to show searchbar after bottom dialog operations
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:08 +01:00
Marcel Hibbe
4335e44701
replace operationCode's (int) by Enums
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:08 +01:00
Andy Scherzinger
66795bb48b
correct code formatting and license header added
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-16 11:34:07 +01:00
Andy Scherzinger
4fb61ed046
improve detekt score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-16 11:34:07 +01:00
Marcel Hibbe
ea7575b266
remove dependency com.github.Kennyc1012:BottomSheet
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:06 +01:00
Marcel Hibbe
ac0c961557
open Conversation after being created via ContactsController
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:06 +01:00
Marcel Hibbe
dbf6b91260
rename ConversationOperationDialog to ConversationsListBottomDialog
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:06 +01:00
Marcel Hibbe
9423376ca7
tidy up
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:06 +01:00
Marcel Hibbe
bec19428e0
share conversation link
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:05 +01:00
Marcel Hibbe
76451c1649
fix actions that are clicked in Conversation Bottom Dialog
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:05 +01:00
Marcel Hibbe
d76203a093
remove api v1 variants for conversations canLeave and canDelete methods
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:05 +01:00
Marcel Hibbe
aedede9ffd
proof of concept: use conductor with BottomSheetDialog
two approaches are added with this commit (just for testing):

1.for conversationOperationAddFavorite
- replace UI in ConversationOperationDialog
- push another controller via method in ConversationsListController (makes no sense here, but will be useful for other cases)

2. for conversationOperationRemoveFavorite
- hide UI
- introduce another conductor router for dialog
- push new Controller with new router
- fetchData in old controller

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:05 +01:00
Marcel Hibbe
cb9189da19
replace CallMenuController with ConversationOperationDialog.kt
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:04 +01:00
Marcel Hibbe
90a99d4994
fix design when keyboard is shown
- set windowSoftInputMode to adjustResize
- comment out everything related to KeyboardUtils

this fixes the design when keyboard is shown. At least this breaks the BottomSheet which will be hidden by the keyboard.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:04 +01:00
Andy Scherzinger
741b6fefc9
Adjust conversation list bottom sheet item to material 3
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-07 21:18:52 +01:00
Marcel Hibbe
7f0980e6d2
format code + fix klint/findbugs warnings
remove hardcodings

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>

remove hardcodings

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 14:27:38 +01:00
Marcel Hibbe
51df0e67f4
add UI logic for wired headset
if wired headset is plugged in hide earpiece and speaker icons

if wired headset is plugged out show earpiece and speaker icons

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:41 +01:00
Marcel Hibbe
a34eb89570
modify behaviour of proximity sensor
use proximity sensor only if it is a voiceOnly call and userSelectedAudioDevice was SPEAKER_PHONE

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:41 +01:00
Marcel Hibbe
338f06dda1
update UI if audio output device changed
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:40 +01:00
Marcel Hibbe
3587fe6e12
use speaker if no bluetooth is available
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:40 +01:00
Marcel Hibbe
510ec1598c
hide unavailable audio output channels
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:40 +01:00
Marcel Hibbe
ffb223a66f
highlight active audio output
use layout weight

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:40 +01:00
Marcel Hibbe
78b29082bf
show audio button also for videocalls
use layout weight

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:39 +01:00
Marcel Hibbe
9c0fa9acc2
select audio device (WIP)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:39 +01:00
Marcel Hibbe
9b889d232f
add UI to switch audio output in call
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:39 +01:00
Marcel Hibbe
70b4eed654
delete deprecated CallItem + refactor related code
CallItem was only used before NC 14.
rv_item_conversation.xml was used by CallItem. After CallItem is now deleted, rv_item_conversation.xml was deleted from other xml classes as "tool"-view (this didn't make sense & was only a placeholder)
Furthermore, it was renamed to account_item.xml as now it is only used for account selection.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 17:25:22 +01:00
Marcel Hibbe
edc4091611
hide keyboard when scrolling in conversation search
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 17:22:21 +01:00
Marcel Hibbe
1de2261426
add open conversations to search
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 17:22:21 +01:00
Marcel Hibbe
9b55467af3
moved execution of setUpPushTokenRegistration
so token is registered everytime the conversation list is opened.

In NextcloudTalkApplication it was not  executed when app was still in background when opening

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:32 +01:00
Marcel Hibbe
f582525fef
remove logging
so the actions are not triggered when PeriodicWorkRequests are created.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:32 +01:00
Marcel Hibbe
c8274fe740
add string for origin to PushRegistrationWorker for debugging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:31 +01:00
Marcel Hibbe
4629d02dc4
add copyright + minor refactoring
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:31 +01:00
Marcel Hibbe
06afd7bec6
set up periodic fetch of firebase token in ClosedInterface for gplay
move OneTimeWorkRequest for PushRegistrationWorker from NextcloudTalkApplication to ClosedInterface for gplay

add check in PushRegistrationWorker if google services are available

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:31 +01:00
Marcel Hibbe
aacd6d5377
also register push token again on server&proxy no matter if it didn't change on device
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:30 +01:00
Marcel Hibbe
b339aa9d33
refactor check if token should be registered
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:30 +01:00
Marcel Hibbe
1bd28f5ef4
add logging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:30 +01:00
Marcel Hibbe
31f2f40bcf
refactor PushUtils
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:30 +01:00
Marcel Hibbe
412af46ed5
refactoring PushUtils
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:29 +01:00
Marcel Hibbe
a7c298b224
add log if push token is empty when registering at nc server
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:29 +01:00
Marcel Hibbe
bd4208f709
minor refactoring
- extract method to register device at proxy
- rename method
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:29 +01:00
Marcel Hibbe
54552cdd87 restrict to start a call when permission is missing
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
65e002fe98 render system message "call_ended_everyone"
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
5272d35f01 fix to stop audio manager in ui thread
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
d17a8e9dbd ad some logging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
175f479d0f replace check for boolean variant of inCallFlag
(boolean variant is deprecated since nc14)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
76aaafb024 replace deprecated ParticipantFlags with InCallFlags
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
f70f94e6be hangup when currentSession has inCall flag = 0
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
b3b8c867f7 fix typo
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Andy Scherzinger
16246e9fe2
only show mark as unread in debug mode
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-01-11 14:53:48 +01:00
Dariusz Olszewski
c99da0282d
Null ringtone Uri must be allowed
App would crash on pre-Oreo devices with "No sound" setting

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-01-05 11:03:59 +01:00
Dariusz Olszewski
d99295118b
SpotBugs
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-01-05 11:03:59 +01:00
Dariusz Olszewski
648b9cbb82
Remove unused notification channels during upgrade
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-01-05 11:03:58 +01:00
Andy Scherzinger
12e1d9b7de
use existing constant
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-01-05 10:28:07 +01:00
Andy Scherzinger
10f2c3be3a
make unread work for chat messages based on adapter data
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-01-05 10:28:07 +01:00
Andy Scherzinger
58c0106ec7
calculate previous message id when possible
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-01-05 10:28:07 +01:00
Andy Scherzinger
de085df3bc
add proper API version detection
don't let switch fall through
make api versions constants

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-01-05 10:28:07 +01:00