Commit Graph

11242 Commits

Author SHA1 Message Date
Marcel Hibbe
5612cfa19d
Merge pull request #5074 from nextcloud/bugfix/5073/fixInfinityMaximumHeight
fix crash in call view
2025-06-25 07:59:39 +00:00
Nextcloud bot
b4d5af8a4c
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-25 03:09:28 +00:00
github-actions[bot]
156d142ba0
Merge pull request #5075 from nextcloud/renovate/com.mebigfatguy.fb-contrib-fb-contrib-7.x
fix(deps): update dependency com.mebigfatguy.fb-contrib:fb-contrib to v7.6.11
2025-06-24 11:28:21 +00:00
renovate[bot]
207408a606
fix(deps): update dependency com.mebigfatguy.fb-contrib:fb-contrib to v7.6.11
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 11:15:30 +00:00
Marcel Hibbe
5a7f4924ab
fix IllegalStateException for LazyVerticalGrid
LazyVerticalGrid was measured with infinite height, which Compose does not allow.
By applying the availableHeight explicitly, this should fix the Exception:

Exception java.lang.IllegalStateException: Vertically scrollable component was measured with an infinity maximum height constraints, which is disallowed. One of the common reasons is nesting layouts like LazyColumn and Column(Modifier.verticalScroll()). If you want to add a header before the list of items please add a header as a separate item() before the main items() inside the LazyColumn scope. There are could be other reasons for this to happen: your ComposeView was added into a LinearLayout with some weight, you applied Modifier.wrapContentSize(unbounded = true) or wrote a custom layout. Please try to remove the source of infinite constraints in the hierarchy above the scrolling container.
  at androidx.compose.foundation.CheckScrollableContainerConstraintsKt.checkScrollableContainerConstraints-K40F9xA (CheckScrollableContainerConstraints.kt:35)
  at androidx.compose.foundation.lazy.grid.LazyGridKt$rememberLazyGridMeasurePolicy$1$1.invoke-0kLqBqw (LazyGrid.kt:174)
  at androidx.compose.foundation.lazy.grid.LazyGridKt$rememberLazyGridMeasurePolicy$1$1.invoke (LazyGrid.kt:172)
  at androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$3$2$1.invoke-0kLqBqw (LazyLayout.kt:119)
  at androidx.compose.foundation.lazy.layout.LazyLayoutKt$LazyLayout$3$2$1.invoke (LazyLayout.kt:112)
  at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s (SubcomposeLayout.kt:725)
  at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0 (InnerNodeCoordinator.kt:135)
  at androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s (GraphicsLayerModifier.kt:646)
  at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0 (LayoutModifierNodeCoordinator.kt:188)
  at androidx.compose.foundation.layout.FillNode.measure-3p2s80s (Size.kt:699)
  at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0 (LayoutModifierNodeCoordinator.kt:188)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasureBlock$1.invoke (LayoutNodeLayoutDelegate.kt:316)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasureBlock$1.invoke (LayoutNodeLayoutDelegate.kt:315)
  at androidx.compose.runtime.snapshots.Snapshot$Companion.observe (Snapshot.kt:503)
  at androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe (SnapshotStateObserver.kt:502)
  at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads (SnapshotStateObserver.kt:258)
  at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release (OwnerSnapshotObserver.kt:133)
  at androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release (OwnerSnapshotObserver.kt:113)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:1782)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate.access$performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:40)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:696)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.measure-BRTryo0 (LayoutNodeLayoutDelegate.kt:672)
  at androidx.compose.foundation.layout.BoxMeasurePolicy.measure-3p2s80s (Box.kt:151)
  at androidx.compose.foundation.layout.BoxWithConstraintsKt$BoxWithConstraints$1$1.invoke-0kLqBqw (BoxWithConstraints.kt:70)
  at androidx.compose.foundation.layout.BoxWithConstraintsKt$BoxWithConstraints$1$1.invoke (BoxWithConstraints.kt:67)
  at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s (SubcomposeLayout.kt:725)
  at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0 (InnerNodeCoordinator.kt:135)
  at androidx.compose.foundation.layout.FillNode.measure-3p2s80s (Size.kt:699)
  at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0 (LayoutModifierNodeCoordinator.kt:188)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasureBlock$1.invoke (LayoutNodeLayoutDelegate.kt:316)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasureBlock$1.invoke (LayoutNodeLayoutDelegate.kt:315)
  at androidx.compose.runtime.snapshots.Snapshot$Companion.observe (Snapshot.kt:503)
  at androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe (SnapshotStateObserver.kt:502)
  at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads (SnapshotStateObserver.kt:258)
  at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release (OwnerSnapshotObserver.kt:133)
  at androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release (OwnerSnapshotObserver.kt:113)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:1782)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate.access$performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:40)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:696)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.measure-BRTryo0 (LayoutNodeLayoutDelegate.kt:672)
  at androidx.compose.ui.layout.RootMeasurePolicy.measure-3p2s80s (RootMeasurePolicy.kt:38)
  at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0 (InnerNodeCoordinator.kt:135)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasureBlock$1.invoke (LayoutNodeLayoutDelegate.kt:316)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate$performMeasureBlock$1.invoke (LayoutNodeLayoutDelegate.kt:315)
  at androidx.compose.runtime.snapshots.Snapshot$Companion.observe (Snapshot.kt:2441)
  at androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe (SnapshotStateObserver.kt:502)
  at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads (SnapshotStateObserver.kt:258)
  at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release (OwnerSnapshotObserver.kt:133)
  at androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release (OwnerSnapshotObserver.kt:113)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:1782)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate.access$performMeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:40)
  at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0 (LayoutNodeLayoutDelegate.kt:696)
  at androidx.compose.ui.node.LayoutNode.remeasure-_Sx5XlM$ui_release (LayoutNode.kt:1222)
  at androidx.compose.ui.node.MeasureAndLayoutDelegate.doRemeasure-sdFAvZA (MeasureAndLayoutDelegate.kt:367)
  at androidx.compose.ui.node.MeasureAndLayoutDelegate.remeasureOnly (MeasureAndLayoutDelegate.kt:622)
  at androidx.compose.ui.node.MeasureAndLayoutDelegate.measureOnly (MeasureAndLayoutDelegate.kt:420)
  at androidx.compose.ui.platform.AndroidComposeView.onMeasure (AndroidComposeView.android.kt:1370)
  at android.view.View.measure (View.java:27557)
  at androidx.compose.ui.platform.AbstractComposeView.internalOnMeasure$ui_release (ComposeView.android.kt:309)
  at androidx.compose.ui.platform.AbstractComposeView.onMeasure (ComposeView.android.kt:296)
  at android.view.View.measure (View.java:27557)
  at android.widget.RelativeLayout.measureChild (RelativeLayout.java:696)
  at android.widget.RelativeLayout.onMeasure (RelativeLayout.java:499)
  at android.view.View.measure (View.java:27557)
  at android.widget.LinearLayout.measureVertical (LinearLayout.java:1031)
  at android.widget.LinearLayout.onMeasure (LinearLayout.java:721)
  at android.view.View.measure (View.java:27557)
  at android.widget.RelativeLayout.measureChildHorizontal (RelativeLayout.java:735)
  at android.widget.RelativeLayout.onMeasure (RelativeLayout.java:481)
  at android.view.View.measure (View.java:27557)
  at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7123)
  at android.widget.FrameLayout.onMeasure (FrameLayout.java:194)
  at androidx.appcompat.widget.ContentFrameLayout.onMeasure (ContentFrameLayout.java:141)
  at android.view.View.measure (View.java:27557)
  at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7123)
  at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1608)
  at android.widget.LinearLayout.measureVertical (LinearLayout.java:878)
  at android.widget.LinearLayout.onMeasure (LinearLayout.java:721)
  at android.view.View.measure (View.java:27557)
  at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7123)
  at android.widget.FrameLayout.onMeasure (FrameLayout.java:194)
  at android.view.View.measure (View.java:27557)
  at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7123)
  at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1608)
  at android.widget.LinearLayout.measureVertical (LinearLayout.java:878)
  at android.widget.LinearLayout.onMeasure (LinearLayout.java:721)
  at android.view.View.measure (View.java:27557)
  at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:7123)
  at android.widget.FrameLayout.onMeasure (FrameLayout.java:194)
  at com.android.internal.policy.DecorView.onMeasure (DecorView.java:824)
  at android.view.View.measure (View.java:27557)
  at android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:4682)
  at android.view.ViewRootImpl.measureHierarchy (ViewRootImpl.java:3098)
  at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:3461)
  at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:2765)
  at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:10219)
  at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1544)
  at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1553)
  at android.view.Choreographer.doCallbacks (Choreographer.java:1109)
  at android.view.Choreographer.doFrame (Choreographer.java:994)
  at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1527)
  at android.os.Handler.handleCallback (Handler.java:958)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:257)
  at android.os.Looper.loop (Looper.java:368)
  at android.app.ActivityThread.main (ActivityThread.java:8839)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:572)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1049)

Also:
Suppress UnusedBoxWithConstraintsScope as it seems that the maxHeight and maxWidth variables are not recognized as being used when they are "only" used in calculations.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-24 13:04:12 +02:00
github-actions[bot]
f53b90cdf6
Merge pull request #4401 from nextcloud/renovate/androidx.core-core-ktx-1.x
fix(deps): update dependency androidx.core:core-ktx to v1.16.0
2025-06-24 10:59:45 +00:00
renovate[bot]
8980bd0f64
fix(deps): update dependency androidx.core:core-ktx to v1.16.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 10:44:43 +00:00
github-actions[bot]
6b0142c6c3
Merge pull request #4618 from nextcloud/renovate/androidx.activity-activity-ktx-1.x
fix(deps): update dependency androidx.activity:activity-ktx to v1.10.1
2025-06-24 12:36:53 +02:00
renovate[bot]
011ea9dc82
fix(deps): update dependency androidx.activity:activity-ktx to v1.10.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 10:21:17 +00:00
github-actions[bot]
c95bed4be5
Merge pull request #4914 from nextcloud/renovate/androidx.compose-compose-bom-2025.x
fix(deps): update dependency androidx.compose:compose-bom to v2025.06.01
2025-06-24 12:14:42 +02:00
renovate[bot]
1a6e18b003
fix(deps): update dependency androidx.compose:compose-bom to v2025.06.01
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 09:58:00 +00:00
Nextcloud bot
87d75102d4
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-24 03:07:36 +00:00
Marcel Hibbe
c110ecdc2b
Merge pull request #4876 from nextcloud/targetAndroid15
Android 15 support
2025-06-23 11:00:09 +00:00
Nextcloud Android Bot
fa8a72bc74 Weekly 22.0.0 Alpha 07 2025-06-23 03:10:03 +00:00
Nextcloud bot
a8dd25a285
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-21 03:10:13 +00:00
Marcel Hibbe
486d8d1035
use full space for search text field
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 12:07:47 +02:00
Marcel Hibbe
84d09d0e58
Add clear search button
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 12:02:34 +02:00
Marcel Hibbe
cc270848b5
add extra space at bottom of conversations list
by adding a SpacerItem (legacy code...-> migrate to Compose!)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:16 +02:00
Marcel Hibbe
8ac9427ba6
simplify initSystemBars
.. by not executing duplicated checks and not using the common lib for now (needs to be aligned if possible)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:16 +02:00
Marcel Hibbe
6905c78796
add paddings to static layouts
... to improve edge to edge design.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:16 +02:00
Marcel Hibbe
4a4f4fc8e1
Make navigationBar fully transparent for Android 15
= Change navigationBarStyle to SystemBarStyle.light

This is done to align with the XML screens, see comment.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:16 +02:00
Marcel Hibbe
02eab6766a
Replace method initStatusBar (use from common lib)
add comment on adjustUIForAPILevel35

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:16 +02:00
Marcel Hibbe
6effeef2ee
solve detekt warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:15 +02:00
Marcel Hibbe
d3d3776a8f
solve detekt warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:15 +02:00
Marcel Hibbe
d97de1bdd2
rename method
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:15 +02:00
Marcel Hibbe
e94e2b63ae
fix lint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:15 +02:00
Marcel Hibbe
5c3cc89084
add paddings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:14 +02:00
Marcel Hibbe
c2d3340ddb
add transparent navigationBar for all composables
color statusbar for composable screens by adding a colored Box where the statusBar is (or fallback to coloring via window.statusBarColor)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:14 +02:00
Marcel Hibbe
cc9ca58a69
add edge to edge support (while handling special cases for xml vs compose and keyboard handling)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:14 +02:00
Marcel Hibbe
21932df918
fix top padding for chat + use android-common 0.26
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:13 +02:00
Marcel Hibbe
f29d174a61
rename setupSystemColors to initSystemBars
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:13 +02:00
Marcel Hibbe
8e3909efbc
handle edge to edge support for android 15
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:13 +02:00
Marcel Hibbe
9d3ad47e20
WIP targetSdkVersion 35
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-20 10:57:13 +02:00
Nextcloud bot
f7fcc74c68
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-20 03:07:18 +00:00
Nextcloud bot
0eebf8b2d0
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-19 03:07:37 +00:00
Sowjanya Kota
95f8b08a19
Merge pull request #5022 from nextcloud/bugfix/4921/avoidDupMessagesByBetterSentStatus
avoid duplicate messages
2025-06-18 18:36:17 +02:00
Nextcloud bot
2a7359c1e9
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-18 03:08:20 +00:00
Marcel Hibbe
86bfaa8657
improve send status handling
replace sendingFailed with SendStatus

add auto migration (incl deleting of column sendingFailed)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-17 17:21:36 +02:00
Marcel Hibbe
8c066eb521
avoid duplicate messages by introducing a sendStatus
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-17 17:16:53 +02:00
Andy Scherzinger
9e08af3306
Merge pull request #4468 from nextcloud/renovate/ghcr.io-nextcloud-continuous-integration-android8-4.x
chore(deps): update ghcr.io/nextcloud/continuous-integration-android8 docker tag to v4
2025-06-17 15:27:52 +02:00
Nextcloud bot
95f7a1e312
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-06-17 11:01:35 +00:00
Marcel Hibbe
73271018f5
Merge pull request #5065 from nextcloud/testFixAnalysisForMergeCommits
Try to run analysis also for merge commits
2025-06-17 10:08:18 +00:00
Marcel Hibbe
7111109ac0
Try to run analysis also for merge commits
Trying to fix
https://github.com/nextcloud/android-config/pull/248/files

which caused that analysis is not only blocked for forks, bit also for merge commits.

Solution: If it's not a PR the step should be omitted..

This commit will be checked when workflow runs on github. It will be merged just to test it's working..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-17 11:24:01 +02:00
Andy Scherzinger
e3c83823e6
Merge pull request #5064 from nextcloud/renovate/gradle-actions-4.x
chore(deps): update gradle/actions action to v4.4.1
2025-06-17 10:50:08 +02:00
renovate[bot]
3b11a90aac
chore(deps): update gradle/actions action to v4.4.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 08:40:59 +00:00
Marcel Hibbe
bc29c67269
Merge pull request #5061 from nextcloud/fixWrongPluralsTranslation
fix wrong plurals implementation
2025-06-17 07:33:03 +00:00
Marcel Hibbe
4a93551ef9
fix wrong plurals implementation
- key was duplicated
- kotlin handling of plurals was missing

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-06-16 10:10:02 +02:00
Nextcloud Android Bot
d0ff4320a8 Weekly 22.0.0 Alpha 06 2025-06-16 03:11:01 +00:00
Marcel Hibbe
20b70c2728
Merge pull request #5032 from nextcloud/issue-5016-app-shortcuts
Adding a short cut to note-to-self
2025-06-13 17:24:48 +00:00
Marcel Hibbe
6aab2e27cd
Merge pull request #5053 from nextcloud/issue-5051-seekbar-illegal-state-exception
Better null and error handling when playing voice messages
2025-06-13 12:44:44 +00:00