Commit Graph

627 Commits

Author SHA1 Message Date
parneet-guraya
bb81da23a1
remove deprecated way of going in/out immersive
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2023-10-11 16:13:27 +05:30
Marcel Hibbe
fd248f098d
solve ktlint + detekt warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-09-06 12:58:33 +02:00
Marcel Hibbe
a58a5df3ec
detect when user is talking and send data channel message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-09-06 12:58:33 +02:00
parneet-guraya
5f8ef074cd
remove player listener
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2023-08-30 11:49:44 +02:00
parneet-guraya
3b557be58f
save media playback state
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2023-08-25 13:16:53 +05:30
parneet-guraya
7e07cbd12a
make player reference null after releasing
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2023-08-25 13:16:52 +05:30
Marcel Hibbe
bc425bc0d3
apply changes by ktlintFormat
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-08-24 09:45:57 +02:00
parneet-guraya
7ea075ea13 migrate to media3
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2023-08-23 16:22:51 +02:00
Smarshall
62a79fa144 Fixed Unresolved reference: ColorRole and Exceeded max line length issue 2023-08-23 17:04:28 +05:30
Smarshall
4121f538c0
Merge branch 'master' into Snackbar
Signed-off-by: Smarshall <99678760+Smarshal21@users.noreply.github.com>
2023-08-19 17:57:28 +05:30
Smarshall
a447196257 Replaced all the Toasts with Snackbar 2023-08-19 17:38:52 +05:30
Julius Linus
31cedf0da5 Migration away from getScheme() calls
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-08-10 14:47:17 +02:00
Marcel Hibbe
8dd8f745cb show 1h call duration info when screen is reopenend
+ make call duration bold for >= 1hour

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-28 18:02:37 +02:00
Marcel Hibbe
8e93a1936b show call time and hint for one-hour call
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-28 18:02:37 +02:00
Marcel Hibbe
75c154acf3
Avoid to fetchSignalingSettings in onMicrophoneClick
this led to duplicated call of fetchSignalingSettings.
because it's already called from checkDevicePermissions().
From my pov it shouldn't be triggered in onMicrophoneClick() again, at least i can not think of any scenario and while testing everything worked as expected.

The duplicated call was there since ever(?), but after implementing #3216 this also caused the call duration timer to be run twice.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-28 13:46:28 +02:00
Andy Scherzinger
efc8a1a2dd Fix some magic numbers, bump score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-07-27 12:40:12 +02:00
Marcel Hibbe
a941945400 convert CallActivity to kotlin
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-27 12:40:12 +02:00
Marcel Hibbe
b5529f869a convert CallActivity to kotlin
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-27 12:40:12 +02:00
Marcel Hibbe
80af04be9a remove effortlessPermissions lib
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-25 14:35:37 +02:00
Marcel Hibbe
8f3a3570e9
Add logging for websockets
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-13 13:32:43 +02:00
Marcel Hibbe
c3cb644558 Fix establishing of call connection when try to connect a second time on HPB
Everytime a second attempt was made to enter a call, the connection failed.
How to reproduce:

- Enter the ChatActivity
-> joins the room (so the new session is in the ApplicationWideCurrentRoomHolder)

- Start call
-> in the CallActivity we don't join again and instead execute callOrJoinRoomViaWebSocket()

- Call connection is successful

- Hangup on android
-> the ApplicationWideCurrentRoomHolder gets cleared (so also it's session)

- Staying in the chat and start the call another time
-> When we open CallActivity another time, ApplicationWideCurrentRoomHolder.sessionId is empty.Because of this, in joinRoomAndCall, joinRoom is executed again.
But as we are still in the room and have a session, joinRoom is problematic because on serverside in SignalingController - if there is still a session - it's considered as old.
So Nextcloud now sends a backend message (disinvite) to the external signaling controller that the session (of the first join) was removed.
So the External signaling server removes the session and closes the websocket. (The message for this might be improved, see https://github.com/strukturag/nextcloud-spreed-signaling/issues/512)

As the websocket is now closed, it won't be possible for the android app to send any signaling message anymore. There will just be the connecting screen and the call connection fails.

Solution for now:
ApplicationWideCurrentRoomHolder.getInstance().clear() should not be executed when hanging up, so the session won't be cleared and in the next attempt to start the call the room is not joined again mistakenly.
Instead to clear the `ApplicationWideCurrentRoomHolder`, only
setInCall(false);
setDialing(false);
are set so that the method isNotInCall() in ChatActivity remains working correctly.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-12 19:04:39 +02:00
Marcel Hibbe
b39daf4565 fix to handleActionFromContact
handleActionFromContact was not executed in onCreate of the MainActivity which is now fixed by this commit.

+ refactoring some intent handling

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-06 21:39:28 +02:00
Marcel Hibbe
817ea1ab64 Avoid to send conversation and user via intent
sending too much data via intent always is a bad pattern which can lead to TransactionTooLargeException.

When OpenAI translation is enabled, the capabilities contain a ton of translation combinations. These capabilities are contained in 'currentUser' as well in 'selectedConversation'. So, TransactionTooLargeException was thrown.

this PR:
- avoids passing too much data as parcelables in intents (esp. conversation and user)
- introduces MVVM patterns to load required data (esp conversation) from backend (for now via requests, in the future from database first)
- introduces ConversationModel which is created out of the Conversation json model
- loads user data via injection when possible
- creates some quickfixes in ConversationBottomDialog, EntryMenuController and OperationsMenuController.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-06-30 07:30:18 +02:00
Andy Scherzinger
c084d63944
codacy: Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-06-01 19:10:35 +02:00
Marcel Hibbe
d127c5401a
fix new onBackPressed handling
this commit fixes bugs from d3056ff2825e53040ca49b86b84f91f73a3eb11c and 1185dcf17a99ca62efd32f8a53c298ec4fd6c4d0

fix onBackPressed handling to use OnBackPressedCallback

remove unnecessary onBackPressedCallback's when they only finished the activity

replaced some finishAffinity methods with finish

...

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-05-24 15:42:09 +02:00
Ezhil Shanmugham
dff9ea5651
Fixed intendation Signed-off-by: Ezhil Shanmugham ezhil56x.contact@gmail.com
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-05-24 15:42:09 +02:00
Ezhil Shanmugham
64fa8e830b
Made suggested changes in FullScreenImageActivity.kt, ConversationsListActivity.kt and in some files Signed-off-by: Ezhil Shanmugham ezhil56x.contact@gmail.com
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-05-24 15:42:09 +02:00
Ezhil Shanmugham
7b5caf5007
fixed deprecated onBackPressed Issue-#2961
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-05-24 15:42:04 +02:00
Andy Scherzinger
c6e082c6b1
Replace any magic numbers detekt-ed
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-05-24 09:47:27 +02:00
Andy Scherzinger
5ec013143f
Migrate theme API calls - away from deprecated ones
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-05-24 09:08:18 +02:00
Marcel Hibbe
cafb8b649a
send call reactions
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-04 16:49:47 +02:00
Marcel Hibbe
6d735dd537
show call reactions from other participants
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-04 16:49:46 +02:00
Marcel Hibbe
c379630610
add animated emoji reactions to calls (no signaling yet)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-04 16:49:46 +02:00
Daniel Calviño Sánchez
efab4cb664
Handle raised hands from the call participants rather than the signaling
Although listening from the signaling was working fine and this
unfortunately adds a lot of extra code it is conceptually "more
correct", as the UI should not directly deal with the signaling if there
is a higher abstraction available. Nevertheless, this should ease adding
other similar changes, like reactions.

Note that although there were already listeners for
CallParticipantModel.Observer in the CallActivity they were not reused,
as they handle totally unrelated things.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-05-04 15:15:36 +02:00
Daniel Calviño Sánchez
92d655080d
Add "reaction" event to CallParticipantModel observer
The CallParticipantModel observer now also emits one-time events that
are not reflected in the model state.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-05-04 15:15:36 +02:00
Daniel Calviño Sánchez
0a54fd6127
Add listener for "reaction" signaling message
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-05-04 15:15:35 +02:00
Marcel Hibbe
7518fdbcd9
fix screen locking feature
Since most controllers were replaced by activities, the screen locking was temporarily broken. This commit fixes the screen locking to also work with the activities.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-04 10:33:11 +02:00
Marcel Hibbe
6c2c15cd89
fix shareTo feature
it was broken since ConversationsList was migrated to Activity

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-01 19:17:32 +02:00
Marcel Hibbe
076b9b2aef
pass "replace" as parameter to load*Avatar methods
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-01 12:25:23 +02:00
Andy Scherzinger
584947c8e3
Improve theming for toolbars
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-04-09 21:38:05 +02:00
Marcel Hibbe
1246223859
Fix to add account (temp solution until conductor is removed)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-04-09 12:16:49 +02:00
Marcel Hibbe
aa1e93db05
WIP. Replace Controller with Activity for ConversationList
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-04-09 12:16:49 +02:00
Marcel Hibbe
48a4fbc3cc
Reimplement breakout rooms for usage of Activity instead of Controller
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-04-05 12:52:42 +02:00
Marcel Hibbe
63b2455745
remove KEY_OPEN_CHAT
this was temporarily used until now Chat is an Activity

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-04-05 12:52:40 +02:00
Marcel Hibbe
d42783273d
leave room before joining another room
refactor retrieving of extras

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-04-05 12:52:39 +02:00
Marcel Hibbe
cd2ef40dc8
Replace Controller with Activity for chat
chat opens, but quite some todos open. expect crashes.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-04-05 12:52:39 +02:00
Marcel Hibbe
e740797b42
Fix to open chat from ContactsActivity.kt
(temporarily via MainActivity and ConductorRemapping until conductor is removed)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-03-31 12:38:32 +02:00
Marcel Hibbe
b5febb7e3d
Replace Controller with Activity for settings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-03-30 10:33:35 +02:00
Marcel Hibbe
f9fdb387a5
Hide call recording participant
<dev@mhibbe.de>

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-03-17 15:17:55 +01:00
Marcel Hibbe
cf44b602a1
Send raise hand signaling message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-03-17 12:00:48 +01:00