Commit Graph

478 Commits

Author SHA1 Message Date
Marcel Hibbe
5219eeb11f
replace userManager.currentUser usage by currentUserProvider usage
userManager.currentUser was called too often. I was not able to prove that a bug is related to it but i think it may fix some hidden bugs.

CurrentUserProviderImpl is now used throughout the code to access the current user.
userManager.currentUser is only used from CurrentUserProviderImpl whenever the _currentUser was null (should only happen on app startup)

To avoid multiple initialization of CurrentUserProviderImpl it was changed to be a @Singleton

The handling should soon be replaced with coroutine flows. However for the v21.0.0 release it's still done with RxJava to avoid bugs.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-02-07 13:13:38 +01:00
rapterjet2004
25df5197e5
switched the btns in DateTimeCompose
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2025-01-28 11:29:23 +01:00
Marcel Hibbe
7ac8c2483e
Show snackbar on archive/unarchive from bottomDialog
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-23 12:21:31 +01:00
rapterjet2004
a6055e52e8
Archived conversation improvements
- First commit - Made options yellow
- Now possible to archive/unarchive conversations from dialog
- Now possible to archive and unarchive conversations in settings without leaving the screen
- Better UX
- Unread message bubble fix - no longer shows up when archive filter is set

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2025-01-23 12:11:49 +01:00
Andy Scherzinger
a2dac5e0fa
style(reactions): ensure correct color coding of own reaction backgrounds
Resolves #4557

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-01-16 15:40:54 +01:00
Marcel Hibbe
6e1114d4d8
fix TooManyRequestsException
By using
networkMonitor.isOnline.first()
the function
unregisterNetworkCallback
was triggered, which sometimes causes the ConnectivityManager$TooManyRequestsException.

So each time isOnline.first() was called, the callbackFlow would:
- Register a new NetworkCallback.
- Emit a value and cancel the flow.
- Unregister the NetworkCallback.

The exception was:
Exception android.net.ConnectivityManager$TooManyRequestsException:
  at android.net.ConnectivityManager.convertServiceException (ConnectivityManager.java:3771)
  at android.net.ConnectivityManager.sendRequestForNetwork (ConnectivityManager.java:3960)
  at android.net.ConnectivityManager.sendRequestForNetwork (ConnectivityManager.java:3967)
  at android.net.ConnectivityManager.registerNetworkCallback (ConnectivityManager.java:4349)
  at android.net.ConnectivityManager.registerNetworkCallback (ConnectivityManager.java:4319)
  at com.nextcloud.talk.data.network.NetworkMonitorImpl$isOnline$1.invokeSuspend (NetworkMonitorImpl.kt:61)

To fix this, the cold flow from callbackFlow is converted to a StateFlow.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-16 13:50:51 +01:00
Marcel Hibbe
3094054b73
change visibility of temp message actions
during sending: edit and delete should not be shown..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-10 12:32:32 +01:00
Marcel Hibbe
3dca00bac0
resolve warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-10 12:32:31 +01:00
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
06c8509587
add retry logic for sending messages, hide resend button when offline
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-10 12:32:28 +01:00
Marcel Hibbe
2c397ad517
add manual resend button
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-10 12:32:28 +01:00
Marcel Hibbe
e9f3863375
delete temp messages
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-10 12:32:28 +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
5053c0ea90
fix SPDX header, remove comments
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-01-10 11:37:08 +01:00
rapterjet2004
490cd32c25
Impl changes, unable to replicate 1.)
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2025-01-10 11:37:07 +01:00
rapterjet2004
a8f1d37236
oops
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2025-01-10 11:37:07 +01:00
rapterjet2004
73ed4cbf8f
linter
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2025-01-10 11:37:07 +01:00
rapterjet2004
63cb98ece7
Deleted old fragment + xml
Added string res
Fixed bug with embedded date picker boundaries, animated size change

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2025-01-10 11:14:35 +01:00
rapterjet2004
eae4e43ab2
Small fixes - new theming
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2025-01-10 11:14:35 +01:00
rapterjet2004
d114142d09
Migrating away from java.util.Date to java.time
- Also converted dialog fragment to compose

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2025-01-10 11:14:34 +01:00
Giacomo Pacini
fce785c734
spacing
Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-12-19 14:18:21 +01:00
Giacomo Pacini
20a94f0ef3
spacing
Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-12-19 14:18:20 +01:00
Giacomo Pacini
169dac4045
spacing
Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-12-19 14:18:20 +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
sowjanyakch
49c717c020
show set remainder in federated conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-12-13 13:44:02 +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
sowjanyakch
fdbff4a8e6
use safe call operator
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-26 12:12:17 +01:00
sowjanyakch
2da78f69f2
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-26 12:12:17 +01:00
sowjanyakch
8bf7fd8553
show backup status when only when status message is previously set
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-26 12:12:17 +01:00
sowjanyakch
9b3a11569a
bump minSdkVersion to 26 and remove old checks
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 11:34:23 +01:00
sowjanyakch
626994e68c
lint warnings
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:10 +01:00
sowjanyakch
9ba07f575f
convert rxjava to coroutine - unfavourite conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:08 +01:00
sowjanyakch
68366b3d09
convert rxjava to coroutine - favourite conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-21 10:52:07 +01:00
rapterjet2004
814592da7f
Refactoring NetworkMonitor to be more Java friendly
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-21 10:17:14 +01:00
rapterjet2004
01006c29d7
linter
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-21 10:17:14 +01:00
rapterjet2004
8e7515238a
Disabling features when not connected to internet
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-11-21 10:17:13 +01:00
sowjanyakch
b558a71ede
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
92caa215b0
error handling
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
2c6daedb2b
handle disposable properly
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
dba30346dc
use const val HTTP_STATUS_CODE_OK
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
05ca7f52a5
remove Snackbar
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
fbecfaf95d
reset status and hide the dialog
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:50 +01:00
sowjanyakch
3f74a440d5
add hint - your status was set automatically
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:49 +01:00
sowjanyakch
13208e85f9
remove redundant null check
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:49 +01:00
sowjanyakch
c4f4c857d3
check for capability before reverting status
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:49 +01:00
sowjanyakch
7a63a645fe
format
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:49 +01:00
sowjanyakch
9fbb3886ab
handle reset status button
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:05:46 +01:00
sowjanyakch
ec01a049c8
add elements to predefinedStatusesList correctly
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-11-14 17:04:43 +01:00