Commit Graph

555 Commits

Author SHA1 Message Date
Andy Scherzinger
f85aea157c
Merge pull request #3349 from nextcloud/LIveData
use MVVM for Geocoding
2023-10-03 16:24:57 +02:00
Julius Linus
6db2f34a25 Show Accept Call Button in Chat
- added call_started_message.xml
- added CallStartedViewHolder.kt
- added CallStartedMessageInterface.kt
- Both join audio and join video buttons
- Gets destroyed if call ends, persists despite state changes

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-10-02 09:11:28 -05:00
Marcel Hibbe
8f15c3c1e7
avoid usage of instanceState (use viewmodel instead)
use viewModel to keep track of query

change handling for textChanged listener

minor changes

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-10-02 15:07:32 +02:00
Smarshal21
b652e45edb
Fixed deletion of voice, video, image, contact and location messages
Signed-off-by: Smarshal21 <lcb2021048@iiitl.ac.in>
2023-10-02 11:00:51 +02:00
Smarshal21
25e2cabbdf Fixed Codacy Static and ktlint errors 2023-09-28 11:21:33 +05:30
Smarshal21
4d4eb2149c Implemented LiveData 2023-09-28 04:01:28 +05:30
Smarshal21
a60082b96c
Replaced ListView with RecyclerView 2023-09-26 09:58:35 +02:00
tobiasKaminsky
838b14b9dc
extracted and created tests
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-09-20 18:11:56 +02:00
Marcel Hibbe
abb3389308
fixups and refactoring for sharing by context menu
When sharing a file by context menu that is not downloaded yet, do not open it after download but just share it. This is done by 'openWhenDownloaded' variable in chatMessage.

Pass a method to downloadFileToCache, so it's more flexible what to do when download finished.

Add some minor changes
2023-09-04 11:08:20 +02:00
Marcel Hibbe
e5794eb456
group and collapse/expand system messages
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-08-31 20:31:20 +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
rapterjet2004
c278183382 detekt
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-08-10 14:47:17 +02:00
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
Julius Linus
2430f725d6 AudioUtils and Waveform Seekbar
- Created AudioUtils for processing audio messages
- Created Waveform Seekbar, for visualizing a FloatArray
- Time limit of about 5 seconds, else shows regular seekbar
- Also made mediaPlayer smoother
- Fixed time discontinuity bug when playing voice messages, but only on API 28 or higher
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-08-01 12:35:15 -05:00
Andy Scherzinger
c4290f11ca
Implement respecting the markdown rendering flag
...and fixing the reply ellipsizing for any reply messages

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-07-28 10:31:46 +02:00
rapterjet2004
6654f6aa74 WIP
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-07-19 20:18:27 -05:00
Julius Linus
bb45ebd3b8 Issue 3142
- Added duration of the voice message playing
- Fixed the seekbar bug, and made it more smoother

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-07-14 11:32:15 -05:00
Andy Scherzinger
fa8fd7b229
unify markdown rendering of chat messages
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-07-10 09:38:04 +02:00
Andy Scherzinger
d124301809
Implement text formatting via markdown rendering for text messages
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-07-10 09:38:00 +02:00
rapterjet2004
8158eebb4f Bug fix of issue 2780
Signed-off-by: Julius Linus julius.linus@nextcloud.com
2023-06-23 14:31:08 -05:00
Andy Scherzinger
d4379f3c89
codacy: Unused import
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-06-01 22:27:42 +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
rapterjet2004
79f317d1e6 issue-3019
Signed-off-by: Julius Linus julius.linus@nextcloud.com
2023-05-26 13:20:22 -05:00
rapterjet2004
93da3a9c65
Making reply length a const
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-05-24 10:40:28 +02:00
rapterjet2004
a926c27ae7
working on issue 3026
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-05-24 10:40:28 +02:00
Andy Scherzinger
984c8bff5c
further improve formatting
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-05-24 10:19:36 +02:00
Andy Scherzinger
f7e5881d87
Fix any detekt formatting issues
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-05-24 09:38:56 +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
998f6c11d9
fix conversation avatars for NC26
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-05 15:08:31 +02:00
Andy Scherzinger
2ce57f4956
Merge pull request #2997 from nextcloud/feature/noid/emojiAvatars
hide delete button if no custom avatar is set
2023-05-04 16:39:11 +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
Marcel Hibbe
579b3b5ab4
handle emoji avatars
hide delete option from conversation info edit view if no custom avatar is set

remove themed avatars (This is the price of being able to have emoji avatars)

fix dark mode url

remove avatarVersion from url if it's null

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-04 14:43:29 +02:00
Marcel Hibbe
28046c2492
WIP. add themed placeholders for conversationAvatars
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-01 12:25:28 +02:00
Marcel Hibbe
050f0f4422
fix to show placeholder avatar when none is set by user
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-01 12:25:27 +02:00
Marcel Hibbe
898728cef9
use cache for user avatars again (ignore flickering)
in the future, avatarVersion might be available for user avatars as well..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-01 12:25:27 +02:00
Marcel Hibbe
d560a4a2a9
use avatar version of conversations to avoid unnecessary reloading/flickering
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-01 12:25:27 +02:00
Marcel Hibbe
9ced54986d
only reload 1:1 conversation avatars in conversation list on initial loading, else use from cache
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-01 12:25:26 +02:00
Marcel Hibbe
b4256e57c9
only reload avatars in conversation list on initial loading, else use from cache
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-01 12:25:24 +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
Marcel Hibbe
87c53979c4
Use avatars from server (depending on light/dark mode)
Placeholder avatars now also come from the server. This means themed avatars from the android app itself are no longer used here. The static placeholder icons defined in loadConversationAvatar are only used when the http request fails completely.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-01 12:25:20 +02:00
Marcel Hibbe
ed4fa3690d
Use avatars from server (depending on light/dark mode)
Placeholder avatars now also come from the server. This means themed avatars from the android app itself are no longer used here. The static placeholder icons defined in loadConversationAvatar are only used when the http request fails completely.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-01 12:25:20 +02:00
Marcel Hibbe
ad15bca8ec
WIP: use placeholders when avatar is not available
Problem:
i want to load avatars and if no avatar is received, i want to show the placeholder.
However with coil it's not possible to make the placeholders rounded. See https://github.com/coil-kt/coil/issues/37

I could just set the old rounded drawables that we have, but then theming wouldn't work!

So i ask myself what the best solution could be:

- Somehow check beforehand if an avatar is set at all? and then choose between loading the avatar or loading the the static drawables in their own loading request.

- Somehow check if the avatar response is empty. And if yes, make another request to load the static drawables.

- Use jetpack compose instead of coil to clip the image? See https://stackoverflow.com/questions/66014834/how-to-draw-a-circular-image-in-android-jetpack-compose

- create new svg's? Somehow it should be possible to invert a circle and just overlay it over an image..?

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-01 12:25:19 +02:00
Marcel Hibbe
c3b468118a
WIP: show conversation avatar
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-01 12:25:19 +02:00
Andy Scherzinger
12a9f9b159
add support for group mentions
Resolves #2860

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-04-19 12:05:54 +02:00
Andy Scherzinger
cd38c8dbb6
lint: move from resource IDs to fixed, unique Int values for view types
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-04-14 22:07:00 +02:00
Marcel Hibbe
0b0387115e
fix to open poll dialog
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-04-05 12:52:40 +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
5688c10978
Fix to display chips with emojis
Chips with emojis were not shown correctly.

The message with the emoji was not correctly replaced, that's why now the key itself is passed and replaced with the chip instead to replace a text with emoji with a chip.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-03-16 14:30:46 +01:00