Commit Graph

483 Commits

Author SHA1 Message Date
Marcel Hibbe
8646dd3450
remove permission checks for new photo picker
The new photo picker does not need files permission. For other features, the permissions are already checked elsewhere

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-28 14:07:12 +01:00
Marcel Hibbe
8009cc1013
Add new photo picker
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-27 23:59:08 +01:00
Andy Scherzinger
db944ec1bd
style(lint): Migrate to KTX extension function
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-03-19 18:07:35 +01:00
sowjanyakch
2604c56263
edit bot messages
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-03-06 13:30:18 +01:00
rapterjet2004
d26697b932
Abstracting away media player functionality to MediaPlayerManager
- Most code removed from ChatActivity
- Most work in MediaPlayerManager
- Added BackgroundVoiceMessageCard

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2025-03-04 16:02:12 -06:00
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