Commit Graph

283 Commits

Author SHA1 Message Date
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
jld3103
6aece2940e
Localize time formatting
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2022-12-15 08:33:05 +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
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
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
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
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
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
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
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
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
Tim Krüger
109124fb3b
Merge pull request #2391 from nextcloud/fix-checking-lobby-state-from-chat-controller-while-in-a-call
Fix checking lobby state from chat controller while in a call
2022-09-19 15:08:54 +02:00
Daniel Calviño Sánchez
5513f9c88f Fix checking lobby state from chat controller while in a call
The chat controller gets the room information again and again to check
whether the lobby is enabled and update the UI as needed. This loop is
stopped when the chat controller is detached, but only if no call is
active; if a call is active the room information will still be got again
and again, even if the chat controller is detached.

To solve that now getting the room information is simply stopped when
the chat controller is detached, no matter if there is an active call or
not, and started again when joining the room, which is done when the
chat controller is attached.

However, this is just a quick fix that does not solve the issue in all
cases; the loop can still continue during calls, for example if the
request to get the information is sent before detaching the controller
and the response is received once the controller was detached, as that
would start the timer again.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-09-18 14:24:26 +02:00
Andy Scherzinger
5a2b04740b
move streams to utilize "use"
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-09-16 14:48:23 +02:00
Andy Scherzinger
8acb646383
close streams after use
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-09-16 13:35:10 +02:00
Marcel Hibbe
d230d0faf2
add chunked upload for files
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-09-15 16:22:59 +02:00
Marcel Hibbe
b064190d35
add direct video upload
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-09-15 16:22:57 +02:00
Tim Krüger
0c06c8b2eb
Rename and reduce complexity of function 'processMessages'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-07 12:31:03 +02:00
Tim Krüger
ae0a9d6aae
Reduce complexity for 'ChatController#processMessagesFromTheFuture'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-07 12:19:06 +02:00
Tim Krüger
d0df4039c6
Fix to deeply nested function processHeaderChatLastGiven
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-07 11:34:59 +02:00
Tim Krüger
5bb63fd58d
Reduce nested block depth for updateReadStatusOfAllMessages
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-07 10:51:09 +02:00
Tim Krüger
57ddf9af60
Extract duplicated code to function
The newly created function 'ChatController#determinePreviousMessageIds'
contains now the duplicated code from functions
'ChatCtonroller#processMessagesFromTheFuture' and
'ChatController#processMessagesNotFromTheFuture'.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-07 10:34:45 +02:00
Tim Krüger
4cab75f6ed
Reduce complexity for function 'ChatController#processMessages'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-07 08:56:35 +02:00
Tim Krüger
f762d0c9e5
Remove unused parameter 'timeout' from 'ChatController#processMessages'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-06 18:04:03 +02:00
Tim Krüger
2d5969964d
Make properties private if possible
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-06 17:58:11 +02:00
Tim Krüger
69eea8f568
Use indexing insteat of 'Map#get'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-06 17:52:51 +02:00
Tim Krüger
7b1eda1b85
Replace 'Integer#toString' with Kotlin functions
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-06 17:52:07 +02:00
Tim Krüger
7dec6dd4dd
Fix some spelling issues
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-06 17:50:18 +02:00
Tim Krüger
bb4bccbd08
Simplify boolean expressions
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-06 17:44:37 +02:00
Tim Krüger
7c8722bfe4
Convert string concatination to template
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-06 17:39:23 +02:00
Tim Krüger
a543bdc7a7
Remove assingments from 'if' clauses
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-06 17:35:13 +02:00
Tim Krüger
f347fe1255
Remove unnecessary elvis operator (?:)
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-06 17:31:27 +02:00
Tim Krüger
8f6e759d48
Remove unnecessary safe calls and non-null assertions
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-06 17:26:09 +02:00
Álvaro Brey
704df25a6d
Refactor and extract ViewThemeUtils to common library
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-31 19:54:05 +02:00
Marcel Hibbe
4bdb78372e
add expiring messages option in conversation info screen
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-08-24 12:01:20 +02:00
Marcel Hibbe
b40fab9826
delete expired messages
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-08-24 12:01:19 +02:00
Andy Scherzinger
6f7756a34e prevent NPE if UI has already been teared down
Resolves #2321

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-23 14:18:17 +00:00
Álvaro Brey
4c5bacc4eb
Rename NewBaseController to just BaseController
Old BaseController is no more!

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-18 17:20:40 +02:00
Álvaro Brey
d86622588a
Fix a bunch of easy detekt issues
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-12 14:46:15 +02:00
Tim Krüger
b85ec904c1
Merge pull request #2289 from nextcloud/bugfix/2287/fixSwipeToReply
Make sure to set swipe-to-reply after the room info has been loaded
2022-08-12 09:54:12 +02:00
Andy Scherzinger
5d545d6913
make sure to set swipe-to-reply after the room info has been loaded
Resolves #2287

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-11 18:17:02 +02:00
Andy Scherzinger
a8422e665a
Add MaterialSchemes and remove any in-line color theming to be replaced with a themeUtils call
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-11 18:14:03 +02:00
Andy Scherzinger
5dc248e425
organize imports and remove blank lines
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-11 09:50:59 +02:00
Andy Scherzinger
fc577dccdf
cleanup themeUtils
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-11 09:50:58 +02:00
Andy Scherzinger
e57eb4442f
Make upload confirmation dialog a material one
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-11 09:50:57 +02:00