From 8a9459eadd10893e635782e08ad74c099a248fcb Mon Sep 17 00:00:00 2001
From: "Jan C. Borchardt" <925062+jancborchardt@users.noreply.github.com>
Date: Tue, 13 Oct 2026 13:52:01 +0200
Subject: [PATCH] fix(widget): avoid clipped text in single note widget
AI-assistant: Claude Code 2.1.296 (Claude Opus 5.5)
Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: Jan C. Borchardt <925062+jancborchardt@users.noreply.github.com>
---
.../main/res/layout/widget_single_note.xml | 5 ++-
.../singlenote/SingleNoteWidgetLayoutTest.kt | 33 +++++++++++++++++++
2 files changed, 37 insertions(+), 1 deletion(-)
create mode 100644 app/src/test/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetLayoutTest.kt
diff --git a/app/src/main/res/layout/widget_single_note.xml b/app/src/main/res/layout/widget_single_note.xml
index a0e0285ac..d8cb04253 100644
--- a/app/src/main/res/layout/widget_single_note.xml
+++ b/app/src/main/res/layout/widget_single_note.xml
@@ -9,12 +9,15 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="@drawable/widget_background">
+ android:background="@drawable/widget_background"
+ android:clipToOutline="true"
+ tools:targetApi="s">
diff --git a/app/src/test/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetLayoutTest.kt b/app/src/test/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetLayoutTest.kt
new file mode 100644
index 000000000..4dd9615e2
--- /dev/null
+++ b/app/src/test/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetLayoutTest.kt
@@ -0,0 +1,33 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+package it.niedermann.owncloud.notes.widget.singlenote
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.widget.ListView
+import androidx.test.core.app.ApplicationProvider
+import it.niedermann.owncloud.notes.R
+import org.junit.Assert.assertFalse
+import org.junit.Assert.assertTrue
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+import org.robolectric.annotation.Config
+
+@RunWith(RobolectricTestRunner::class)
+@Config(sdk = [36])
+class SingleNoteWidgetLayoutTest {
+
+ @Test
+ fun noteTextScrollsToWidgetEdge() {
+ val context = ApplicationProvider.getApplicationContext()
+ val widget = LayoutInflater.from(context).inflate(R.layout.widget_single_note, null)
+
+ assertFalse(widget.findViewById(R.id.single_note_widget_lv).clipToPadding)
+ assertTrue(widget.clipToOutline)
+ }
+}