From c75dc89e15378c7a62f3c8fa25ffb180bb16aac6 Mon Sep 17 00:00:00 2001 From: Roman Zavarnitsyn Date: Mon, 4 May 2026 09:42:25 +0200 Subject: [PATCH 1/4] fix(feedback): Show soft input keyboard on the Feedback form --- .../java/io/sentry/android/core/SentryUserFeedbackForm.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/SentryUserFeedbackForm.java b/sentry-android-core/src/main/java/io/sentry/android/core/SentryUserFeedbackForm.java index 0babe47549..722fc9110d 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/SentryUserFeedbackForm.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/SentryUserFeedbackForm.java @@ -4,6 +4,8 @@ import android.content.Context; import android.os.Bundle; import android.view.View; +import android.view.Window; +import android.view.WindowManager; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; @@ -55,6 +57,10 @@ public void setCancelable(boolean cancelable) { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sentry_dialog_user_feedback); + final @Nullable Window window = getWindow(); + if (window != null) { + window.clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); + } setCancelable(isCancelable); final @NotNull SentryFeedbackOptions feedbackOptions = From c3d0b777cbdbb34db06a1fc642dace319744b1ce Mon Sep 17 00:00:00 2001 From: Roman Zavarnitsyn Date: Mon, 4 May 2026 09:51:52 +0200 Subject: [PATCH 2/4] test(feedback): Add test verifying soft keyboard is not blocked by dialog window flags Co-Authored-By: Claude Opus 4.6 (1M context) --- .../android/core/SentryUserFeedbackFormTest.kt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/SentryUserFeedbackFormTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/SentryUserFeedbackFormTest.kt index 04f6a35716..6ec0afde6b 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/SentryUserFeedbackFormTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/SentryUserFeedbackFormTest.kt @@ -1,6 +1,7 @@ package io.sentry.android.core import android.content.Context +import android.view.WindowManager import android.widget.TextView import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 @@ -17,6 +18,7 @@ import kotlin.test.BeforeTest import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertNotEquals +import kotlin.test.assertNotNull import org.junit.runner.RunWith import org.mockito.Mockito.mockStatic import org.mockito.kotlin.eq @@ -130,4 +132,18 @@ class SentryUserFeedbackFormTest { // And the original options should not be modified assertNotEquals("custom title", fixture.options.feedbackOptions.formTitle) } + + @Test + fun `dialog window does not have FLAG_ALT_FOCUSABLE_IM so soft keyboard can appear`() { + fixture.options.isEnabled = true + val sut = fixture.getSut() + sut.show() + val window = sut.window + assertNotNull(window) + val flags = window.attributes.flags + assertEquals( + 0, + flags and WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM, + ) + } } From 686df39a468d37699dc443f3e7f3ea898de063e6 Mon Sep 17 00:00:00 2001 From: Roman Zavarnitsyn Date: Mon, 4 May 2026 09:52:35 +0200 Subject: [PATCH 3/4] changelog(feedback): Add entry for soft keyboard fix Co-Authored-By: Claude Opus 4.6 (1M context) --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index beabdfb7f1..71af3a9e15 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,10 @@ - Deprecate `SentryUserFeedbackButton` (View-based and Compose-based) ([#5350](https://github.com/getsentry/sentry-java/pull/5350)) - It will be removed in the next major version +### Fixes + +- Fix soft input keyboard not being shown on the Feedback form ([#5359](https://github.com/getsentry/sentry-java/pull/5359)) + ### Dependencies - Bump Native SDK from v0.13.7 to v0.13.8 ([#5334](https://github.com/getsentry/sentry-java/pull/5334)) From 1f08a8460fb8725623d1e8e9c64ae8ba4b9696b2 Mon Sep 17 00:00:00 2001 From: Roman Zavarnitsyn Date: Mon, 4 May 2026 10:46:36 +0200 Subject: [PATCH 4/4] formatting --- .../io/sentry/android/core/SentryUserFeedbackFormTest.kt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/SentryUserFeedbackFormTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/SentryUserFeedbackFormTest.kt index 6ec0afde6b..9df2a16d72 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/SentryUserFeedbackFormTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/SentryUserFeedbackFormTest.kt @@ -141,9 +141,6 @@ class SentryUserFeedbackFormTest { val window = sut.window assertNotNull(window) val flags = window.attributes.flags - assertEquals( - 0, - flags and WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM, - ) + assertEquals(0, flags and WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM) } }