Commit Graph

344 Commits

Author SHA1 Message Date
Marcel Hibbe
ab007fc444
resolve codacy/ktlint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-10 12:32:30 +01:00
Marcel Hibbe
1bfb3ba027
WIP add options to temp messages
TODO:
check id type --> see TODO "currentTimeMillies fails as id because later on in the model it's not Long but Int!!!!" in OfflineFirstChatRepository.kt

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-10 12:32:27 +01:00
Marcel Hibbe
ec466e58f0
replace CharSequence with String for sendChatMessage
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-10 12:32:27 +01:00
Marcel Hibbe
0f53244652
prepare to replace no-internet-connection message handling (sorry Julius!!)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-10 12:32:27 +01:00
Marcel Hibbe
3f5f2f024a
works okay (no resend logic yet, offline message mode not reworked)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-10 12:32:27 +01:00
Marcel Hibbe
e1c1574d6c
show x when sending failed
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-10 12:32:27 +01:00
Marcel Hibbe
74da67210d
resolve detekt warnings 2024-12-20 15:44:24 +01:00
Giacomo Pacini
c3aef0286a
run ./gradlew ktlintFormat
Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-12-19 15:26:11 +01:00
Giacomo Pacini
fce785c734
spacing
Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-12-19 14:18:21 +01:00
Giacomo Pacini
169dac4045
spacing
Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-12-19 14:18:20 +01:00
Giacomo Pacini
6a598357fc
when a voice message is played, starts the download of the next ones if any, computes their durations and starts playing the next one at the end of the current. Plays a doodle between them
Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-12-19 14:18:19 +01:00
Giacomo Pacini
410b27b72c
when the voice message duration is known, always shows it when not playing
Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-12-19 14:18:18 +01:00
Giacomo Pacini
c0948ba478
voice messages that are played for at least a threshold are coloured differently
Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-12-19 14:18:04 +01:00
Andy Scherzinger
d2778b2ce1
style: Fix formatting
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-12-13 18:31:38 +01:00
Andy Scherzinger
f549870d3b
style(detekt): Shorten methods
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-12-13 16:21:42 +01:00
sowjanyakch
3216318ccd
suppress lint warning for invalid string format
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-12-10 09:22:25 +01:00
Andy Scherzinger
12620a5c3e
style(detekt): shorten long methods
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-12-10 09:00:47 +01:00
Andy Scherzinger
f820277779
style(detekt): Accept current use of TooGenericExceptionCaught cases
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-12-06 11:11:24 +01:00
Christian Reiner
20d36c1eb9
playback speed control button for voice messages
Signed-off-by: Christian Reiner <foss@christian-reiner.info>

Themed the PlaybackSpeedControl + Work around onBind bug

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-12-02 18:12:30 +01:00
Andy Scherzinger
6de05d8fa4
style(lint): make use of ResourceCompat
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-12-02 10:40:00 +01:00
Andy Scherzinger
26876c21d7
style(ktlint): Fix formatting
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-12-02 10:39:59 +01:00
Marcel Hibbe
b5a84b4a3f
fix empty guest names for chat viewholders
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-28 14:31:40 +01:00
Marcel Hibbe
8e08d9279d
remove unused method
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-26 21:48:51 +01:00
Marcel Hibbe
16d03a69ff
show guest "first letter" avatars in chat
also:
create ChatMessageUtils as helper for the ViewHolders in this case.
Could help to avoid duplicated code until there is a clear inheritance solution.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-26 21:48:51 +01:00
rapterjet2004
990f6ec3fa
Better Call Started Indicator
- Pinned to MessageInputFragment
- Collapsable
- Looks cool

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-11 08:33:45 -06:00
Christian Reiner
238532feb2 adjust outcoming message view holders to use full available width in NoteToSelf chat
Signed-off-by: Christian Reiner <foss@christian-reiner.info>
2024-11-06 19:54:52 +01:00
Marcel Hibbe
29f7265b19
implement "Unread messages" popup with normal button
replace com.nextcloud.ui.popupbubble.PopupBubble with MaterialButton.

com.nextcloud.ui.popupbubble.PopupBubble was forked from
https://github.com/webianks/PopupBubble
which is quite outdated.

com.nextcloud.ui.popupbubble.PopupBubble is still used in ConversationsListActivity but there it should also be removed.

Removing this recycler view stuff will also help a bit to switch to JetpackCompose

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-05 13:31:54 +01:00
Marcel Hibbe
675bc9bec0
fix messages not shown + improve unread marker behavior
this commit will avoid to fail to show messages in adapter. This was caused by the usage of
messagesListAdapter.deleteById("-1");
in UnreadNoticeMessageViewHolder.
The bug seems to exist in the past already but was never reported (Sometimes, when receiving a lot of messages it could happen that some message in between is not shown in UI). However with recent changes after release 20.0.2 the bug appeared more often.

The root cause was not analyzed, but the handling was modified in general as the unread marker behavior was never really good.
By not using deleteById but replace it with new unread marker logic, the bug of disappearing messages is solved and the unread messages marker behavior is improved.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-11-05 13:31:54 +01:00
sowjanyakch
1e826979c6
add replyable message tag
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:36:05 +02:00
sowjanyakch
eb5cdca295
Rename outcomingDeckCardViewHolder
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:36:04 +02:00
sowjanyakch
305a66ef5a
Add theming to deck card image
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:36:04 +02:00
sowjanyakch
c80050d8f5
Display card deck with parameters
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:36:03 +02:00
sowjanyakch
56b0b80316
Work on Incoming and Outgoing deck card viewholder
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:36:03 +02:00
sowjanyakch
66d2db20aa
create deck card xml layout
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-10-23 11:35:59 +02:00
rapterjet2004
b192e0ec60
linter
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:51:08 +02:00
rapterjet2004
df2c6cfc06
impl marcel suggestions + adding deleting cache option
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:50:58 +02:00
rapterjet2004
0d9c5bfcb9
fixed some bugs
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:49:57 +02:00
rapterjet2004
399fa7eb70
got replying working
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:49:57 +02:00
rapterjet2004
8cd0983088
WIP Editing
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:49:56 +02:00
rapterjet2004
0041fb3b71
deleting works
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:49:56 +02:00
rapterjet2004
498a1274d9
git
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-10-22 10:46:03 +02:00
Andy Scherzinger
69ed8207d0
fix: ktlintCheck by reformatting kt code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 20:20:42 +02:00
Marcel Hibbe
2408d639e4
Offline support for conversations and chats
Authors: Julius Linus and Marcel Hibbe

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:03 +02:00
Marcel Hibbe
f19e1b8a19
remove lib com.amulyakhare:com.amulyakhare.textdrawable
replace with own TextDrawable class

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-07-24 14:14:06 +02:00
Marcel Hibbe
c7a7206fd0
fix to open share urls from preview with files app
The wrong context was passed, so the overwritten startActivity in ChatActivity was not called.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-21 12:14:22 +02:00
Marcel Hibbe
52dc82703e
avoid error when clicking on federated user avatar
without this, there would be http 404 error (nothing was shown to user):

2024-04-11 15:34:30.612 18641-18641 ProfileBottomSheet      com.nextcloud.talk2                  E  Failed to get hover card for user user@yourfereatedserver.dev
                                                                                                    retrofit2.adapter.rxjava2.HttpException: HTTP 404
                                                                                                    	at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:57)
                                                                                                    	at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:38)
                                                                                                    	at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:48)
                                                                                                    	at io.reactivex.Observable.subscribe(Observable.java:12284)
                                                                                                    	at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:35)
                                                                                                    	at io.reactivex.Observable.subscribe(Observable.java:12284)
                                                                                                    	at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
                                                                                                    	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:608)
                                                                                                    	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
                                                                                                    	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
                                                                                                    	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
                                                                                                    	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
                                                                                                    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                                                                                                    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
                                                                                                    	at java.lang.Thread.run(Thread.java:1012)

With this fix, nothing happens when clicking on a federated user avatar, just like in web and iOS.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-15 14:31:53 +02:00
Andy Scherzinger
f5a4274e54
Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-29 15:42:11 +01:00
Andy Scherzinger
3eabf9bb83
Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-29 12:55:12 +01:00
Andy Scherzinger
d1a8669f11
Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-24 14:24:57 +01:00
Marcel Hibbe
cc19157867 convert DisplayUtils to kt
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-21 16:39:16 +01:00