From 414699d0a24a8c2fbdb8b634aee590f16cb6127f Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Mon, 12 Jan 2026 09:02:06 +0100 Subject: [PATCH 1/7] ref(android): Update targetSdk to API 36 (Android 16) Updates targetSdk and compileSdk to API Level 36 for Android 16 support. Breaking changes addressed: - Created ThreadUtil helper for version-aware thread ID retrieval - Migrated from deprecated Thread.getId() to Thread.threadId() with backward compatibility - Updated sample app to use OnBackPressedCallback instead of deprecated onBackPressed() The scheduleAtFixedRate behavior change is acceptable for our performance collection use case. --- gradle/libs.versions.toml | 4 +- .../api/sentry-android-core.api | 4 ++ .../AppComponentsBreadcrumbsIntegration.java | 1 + .../internal/util/AndroidThreadChecker.java | 5 ++- .../ActivityLifecycleSpanHelper.java | 4 +- .../sentry/android/core/util/ThreadUtil.java | 38 +++++++++++++++++++ .../samples/android/ProfilingActivity.kt | 24 ++++++++---- 7 files changed, 67 insertions(+), 13 deletions(-) create mode 100644 sentry-android-core/src/main/java/io/sentry/android/core/util/ThreadUtil.java diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 270c0d45dec..9a771ee5798 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -34,8 +34,8 @@ springboot2 = "2.7.18" springboot3 = "3.5.0" springboot4 = "4.0.0" # Android -targetSdk = "34" -compileSdk = "34" +targetSdk = "36" +compileSdk = "36" minSdk = "21" spotless = "7.0.4" gummyBears = "0.12.0" diff --git a/sentry-android-core/api/sentry-android-core.api b/sentry-android-core/api/sentry-android-core.api index 0ff8f048a40..c84990b6548 100644 --- a/sentry-android-core/api/sentry-android-core.api +++ b/sentry-android-core/api/sentry-android-core.api @@ -659,3 +659,7 @@ public abstract interface class io/sentry/android/core/util/AndroidLazyEvaluator public abstract fun evaluate (Landroid/content/Context;)Ljava/lang/Object; } +public final class io/sentry/android/core/util/ThreadUtil { + public static fun getThreadId (Ljava/lang/Thread;)J +} + diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/AppComponentsBreadcrumbsIntegration.java b/sentry-android-core/src/main/java/io/sentry/android/core/AppComponentsBreadcrumbsIntegration.java index 196c9f32205..43ed3422cd9 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/AppComponentsBreadcrumbsIntegration.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/AppComponentsBreadcrumbsIntegration.java @@ -98,6 +98,7 @@ public void onConfigurationChanged(@NotNull Configuration newConfig) { executeInBackground(() -> captureConfigurationChangedBreadcrumb(now, newConfig)); } + @SuppressWarnings("deprecation") @Override public void onLowMemory() { // we do this in onTrimMemory below already, this is legacy API (14 or below) diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java b/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java index ccd4a92b276..91af70e3721 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java @@ -3,6 +3,7 @@ import android.os.Handler; import android.os.Looper; import android.os.Process; +import io.sentry.android.core.util.ThreadUtil; import io.sentry.protocol.SentryThread; import io.sentry.util.thread.IThreadChecker; import org.jetbrains.annotations.ApiStatus; @@ -26,12 +27,12 @@ private AndroidThreadChecker() { @Override public boolean isMainThread(final long threadId) { - return Looper.getMainLooper().getThread().getId() == threadId; + return ThreadUtil.getThreadId(Looper.getMainLooper().getThread()) == threadId; } @Override public boolean isMainThread(final @NotNull Thread thread) { - return isMainThread(thread.getId()); + return isMainThread(ThreadUtil.getThreadId(thread)); } @Override diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/performance/ActivityLifecycleSpanHelper.java b/sentry-android-core/src/main/java/io/sentry/android/core/performance/ActivityLifecycleSpanHelper.java index fead459ba88..72fa8781750 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/performance/ActivityLifecycleSpanHelper.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/performance/ActivityLifecycleSpanHelper.java @@ -8,6 +8,7 @@ import io.sentry.SpanDataConvention; import io.sentry.SpanStatus; import io.sentry.android.core.AndroidDateUtils; +import io.sentry.android.core.util.ThreadUtil; import java.util.concurrent.TimeUnit; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @@ -129,7 +130,8 @@ public void clear() { } private void setDefaultStartSpanData(final @NotNull ISpan span) { - span.setData(SpanDataConvention.THREAD_ID, Looper.getMainLooper().getThread().getId()); + span.setData( + SpanDataConvention.THREAD_ID, ThreadUtil.getThreadId(Looper.getMainLooper().getThread())); span.setData(SpanDataConvention.THREAD_NAME, "main"); span.setData(SpanDataConvention.CONTRIBUTES_TTID, true); span.setData(SpanDataConvention.CONTRIBUTES_TTFD, true); diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/util/ThreadUtil.java b/sentry-android-core/src/main/java/io/sentry/android/core/util/ThreadUtil.java new file mode 100644 index 00000000000..8e7e0c14333 --- /dev/null +++ b/sentry-android-core/src/main/java/io/sentry/android/core/util/ThreadUtil.java @@ -0,0 +1,38 @@ +package io.sentry.android.core.util; + +import android.os.Build; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.NotNull; + +/** + * Utility class for thread-related operations that handles Android version compatibility. + * + *

In Android 16+, {@link Thread#getId()} is deprecated in favor of {@link Thread#threadId()}. + * This class provides a version-aware method to retrieve thread IDs that works across all Android + * versions. + */ +@ApiStatus.Internal +public final class ThreadUtil { + + private ThreadUtil() { + // Utility class, no instances + } + + /** + * Gets the thread ID in a way that's compatible across Android versions. + * + *

Uses {@link Thread#threadId()} on Android 14 (API 34) and above, and falls back to {@link + * Thread#getId()} on older versions. + * + * @param thread the thread to get the ID for + * @return the thread ID + */ + @SuppressWarnings("deprecation") + public static long getThreadId(final @NotNull Thread thread) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + return thread.threadId(); + } else { + return thread.getId(); + } + } +} diff --git a/sentry-samples/sentry-samples-android/src/main/java/io/sentry/samples/android/ProfilingActivity.kt b/sentry-samples/sentry-samples-android/src/main/java/io/sentry/samples/android/ProfilingActivity.kt index ab63ea04b58..8626c12c6c8 100644 --- a/sentry-samples/sentry-samples-android/src/main/java/io/sentry/samples/android/ProfilingActivity.kt +++ b/sentry-samples/sentry-samples-android/src/main/java/io/sentry/samples/android/ProfilingActivity.kt @@ -4,6 +4,7 @@ import android.os.Bundle import android.view.View import android.widget.SeekBar import android.widget.Toast +import androidx.activity.OnBackPressedCallback import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.LinearLayoutManager import io.sentry.ITransaction @@ -24,6 +25,21 @@ class ProfilingActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + + onBackPressedDispatcher.addCallback( + this, + object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + if (profileFinished) { + isEnabled = false + onBackPressedDispatcher.onBackPressed() + } else { + Toast.makeText(this@ProfilingActivity, R.string.profiling_running, Toast.LENGTH_SHORT) + .show() + } + } + }, + ) binding = ActivityProfilingBinding.inflate(layoutInflater) binding.profilingDurationSeekbar.setOnSeekBarChangeListener( @@ -156,14 +172,6 @@ class ProfilingActivity : AppCompatActivity() { else -> fibonacci(n - 1) + fibonacci(n - 2) } - override fun onBackPressed() { - if (profileFinished) { - super.onBackPressed() - } else { - Toast.makeText(this, R.string.profiling_running, Toast.LENGTH_SHORT).show() - } - } - private fun getProfileDuration(): Float { // Minimum duration of the profile is 100 milliseconds return binding.profilingDurationSeekbar.progress / 10.0F + 0.1F From b156d721bedee8c67fef79af7627e7fb4aa256ec Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Mon, 12 Jan 2026 09:03:06 +0100 Subject: [PATCH 2/7] meta: Update CHANGELOG.md for Android 16 targetSdk update --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d6b0e37e69..f30a3091a4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ ### Improvements +- Update Android targetSdk to API 36 (Android 16) ([#5016](https://github.com/getsentry/sentry-java/pull/5016)) + - Migrated from deprecated `Thread.getId()` to `Thread.threadId()` with backward compatibility + - Created `ThreadUtil` helper for version-aware thread ID retrieval + - Updated sample app to use `OnBackPressedCallback` instead of deprecated `onBackPressed()` - Expose `MAX_EVENT_SIZE_BYTES` constant in SentryOptions ([#4962](https://github.com/getsentry/sentry-java/pull/4962)) - Discard envelopes on `4xx` and `5xx` response ([#4950](https://github.com/getsentry/sentry-java/pull/4950)) - This aims to not overwhelm Sentry after an outage or load shedding (including HTTP 429) where too many events are sent at once From 4a5491928c81460f6b3db2010d324f9c0fb463cb Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Mon, 12 Jan 2026 09:46:03 +0100 Subject: [PATCH 3/7] ref(android): Move getThreadId into AndroidThreadChecker Move getThreadId helper method from ThreadUtil into AndroidThreadChecker to consolidate thread-related utilities. Simplify CHANGELOG entry. Co-Authored-By: Claude Sonnet 4.5 --- CHANGELOG.md | 3 -- .../api/sentry-android-core.api | 4 -- .../internal/util/AndroidThreadChecker.java | 24 ++++++++++-- .../ActivityLifecycleSpanHelper.java | 5 ++- .../sentry/android/core/util/ThreadUtil.java | 38 ------------------- 5 files changed, 24 insertions(+), 50 deletions(-) delete mode 100644 sentry-android-core/src/main/java/io/sentry/android/core/util/ThreadUtil.java diff --git a/CHANGELOG.md b/CHANGELOG.md index f30a3091a4c..360bbb30a31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,9 +12,6 @@ ### Improvements - Update Android targetSdk to API 36 (Android 16) ([#5016](https://github.com/getsentry/sentry-java/pull/5016)) - - Migrated from deprecated `Thread.getId()` to `Thread.threadId()` with backward compatibility - - Created `ThreadUtil` helper for version-aware thread ID retrieval - - Updated sample app to use `OnBackPressedCallback` instead of deprecated `onBackPressed()` - Expose `MAX_EVENT_SIZE_BYTES` constant in SentryOptions ([#4962](https://github.com/getsentry/sentry-java/pull/4962)) - Discard envelopes on `4xx` and `5xx` response ([#4950](https://github.com/getsentry/sentry-java/pull/4950)) - This aims to not overwhelm Sentry after an outage or load shedding (including HTTP 429) where too many events are sent at once diff --git a/sentry-android-core/api/sentry-android-core.api b/sentry-android-core/api/sentry-android-core.api index c84990b6548..0ff8f048a40 100644 --- a/sentry-android-core/api/sentry-android-core.api +++ b/sentry-android-core/api/sentry-android-core.api @@ -659,7 +659,3 @@ public abstract interface class io/sentry/android/core/util/AndroidLazyEvaluator public abstract fun evaluate (Landroid/content/Context;)Ljava/lang/Object; } -public final class io/sentry/android/core/util/ThreadUtil { - public static fun getThreadId (Ljava/lang/Thread;)J -} - diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java b/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java index 91af70e3721..af6932e584a 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java @@ -1,9 +1,9 @@ package io.sentry.android.core.internal.util; +import android.os.Build; import android.os.Handler; import android.os.Looper; import android.os.Process; -import io.sentry.android.core.util.ThreadUtil; import io.sentry.protocol.SentryThread; import io.sentry.util.thread.IThreadChecker; import org.jetbrains.annotations.ApiStatus; @@ -25,14 +25,32 @@ private AndroidThreadChecker() { new Handler(Looper.getMainLooper()).post(() -> mainThreadSystemId = Process.myTid()); } + /** + * Gets the thread ID in a way that's compatible across Android versions. + * + *

Uses {@link Thread#threadId()} on Android 14 (API 34) and above, and falls back to {@link + * Thread#getId()} on older versions. + * + * @param thread the thread to get the ID for + * @return the thread ID + */ + @SuppressWarnings("deprecation") + public static long getThreadId(final @NotNull Thread thread) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + return thread.threadId(); + } else { + return thread.getId(); + } + } + @Override public boolean isMainThread(final long threadId) { - return ThreadUtil.getThreadId(Looper.getMainLooper().getThread()) == threadId; + return getThreadId(Looper.getMainLooper().getThread()) == threadId; } @Override public boolean isMainThread(final @NotNull Thread thread) { - return isMainThread(ThreadUtil.getThreadId(thread)); + return isMainThread(getThreadId(thread)); } @Override diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/performance/ActivityLifecycleSpanHelper.java b/sentry-android-core/src/main/java/io/sentry/android/core/performance/ActivityLifecycleSpanHelper.java index 72fa8781750..accb56db0dc 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/performance/ActivityLifecycleSpanHelper.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/performance/ActivityLifecycleSpanHelper.java @@ -8,7 +8,7 @@ import io.sentry.SpanDataConvention; import io.sentry.SpanStatus; import io.sentry.android.core.AndroidDateUtils; -import io.sentry.android.core.util.ThreadUtil; +import io.sentry.android.core.internal.util.AndroidThreadChecker; import java.util.concurrent.TimeUnit; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; @@ -131,7 +131,8 @@ public void clear() { private void setDefaultStartSpanData(final @NotNull ISpan span) { span.setData( - SpanDataConvention.THREAD_ID, ThreadUtil.getThreadId(Looper.getMainLooper().getThread())); + SpanDataConvention.THREAD_ID, + AndroidThreadChecker.getThreadId(Looper.getMainLooper().getThread())); span.setData(SpanDataConvention.THREAD_NAME, "main"); span.setData(SpanDataConvention.CONTRIBUTES_TTID, true); span.setData(SpanDataConvention.CONTRIBUTES_TTFD, true); diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/util/ThreadUtil.java b/sentry-android-core/src/main/java/io/sentry/android/core/util/ThreadUtil.java deleted file mode 100644 index 8e7e0c14333..00000000000 --- a/sentry-android-core/src/main/java/io/sentry/android/core/util/ThreadUtil.java +++ /dev/null @@ -1,38 +0,0 @@ -package io.sentry.android.core.util; - -import android.os.Build; -import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.NotNull; - -/** - * Utility class for thread-related operations that handles Android version compatibility. - * - *

In Android 16+, {@link Thread#getId()} is deprecated in favor of {@link Thread#threadId()}. - * This class provides a version-aware method to retrieve thread IDs that works across all Android - * versions. - */ -@ApiStatus.Internal -public final class ThreadUtil { - - private ThreadUtil() { - // Utility class, no instances - } - - /** - * Gets the thread ID in a way that's compatible across Android versions. - * - *

Uses {@link Thread#threadId()} on Android 14 (API 34) and above, and falls back to {@link - * Thread#getId()} on older versions. - * - * @param thread the thread to get the ID for - * @return the thread ID - */ - @SuppressWarnings("deprecation") - public static long getThreadId(final @NotNull Thread thread) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { - return thread.threadId(); - } else { - return thread.getId(); - } - } -} From 8684e2bb1ad799904aba44e4c4e50b6b24755405 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Mon, 19 Jan 2026 14:14:30 +0100 Subject: [PATCH 4/7] Fix version check --- .../sentry/android/core/internal/util/AndroidThreadChecker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java b/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java index af6932e584a..d43536af19b 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java @@ -36,7 +36,7 @@ private AndroidThreadChecker() { */ @SuppressWarnings("deprecation") public static long getThreadId(final @NotNull Thread thread) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) { return thread.threadId(); } else { return thread.getId(); From 78c9422e448fd200de4c69adc5f4d597549134de Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Thu, 22 Jan 2026 20:25:57 +0100 Subject: [PATCH 5/7] Bump testing libraries, fix tests --- gradle/libs.versions.toml | 8 ++++---- .../sentry/uitest/android/UserFeedbackUiTest.kt | 17 +++++++++-------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 208bb9b73ed..44a9d9bdbaa 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -204,15 +204,15 @@ tomcat-catalina-jakarta = { module = "org.apache.tomcat:tomcat-catalina", versio tomcat-embed-jasper-jakarta = { module = "org.apache.tomcat.embed:tomcat-embed-jasper", version = "11.0.10" } # test libraries -androidx-compose-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version = "1.6.8" } +androidx-compose-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version = "1.10.1" } androidx-test-core = { module = "androidx.test:core", version.ref = "androidxTestCore" } androidx-test-core-ktx = { module = "androidx.test:core-ktx", version.ref = "androidxTestCore" } androidx-test-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espresso" } androidx-test-espresso-idling-resource = { module = "androidx.test.espresso:espresso-idling-resource", version.ref = "espresso" } -androidx-test-ext-junit = { module = "androidx.test.ext:junit", version = "1.1.5" } -androidx-test-orchestrator = { module = "androidx.test:orchestrator", version = "1.5.0" } +androidx-test-ext-junit = { module = "androidx.test.ext:junit", version = "1.3.0" } +androidx-test-orchestrator = { module = "androidx.test:orchestrator", version = "1.6.1" } androidx-test-rules = { module = "androidx.test:rules", version.ref = "androidxTestCore" } -androidx-test-runner = { module = "androidx.test:runner", version = "1.6.2" } +androidx-test-runner = { module = "androidx.test:runner", version = "1.7.0" } awaitility-kotlin = { module = "org.awaitility:awaitility-kotlin", version = "4.1.1" } awaitility-kotlin-spring7 = { module = "org.awaitility:awaitility-kotlin", version = "4.3.0" } awaitility3-kotlin = { module = "org.awaitility:awaitility-kotlin", version = "3.1.6" } diff --git a/sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/UserFeedbackUiTest.kt b/sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/UserFeedbackUiTest.kt index 0f84101738b..39dfae40203 100644 --- a/sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/UserFeedbackUiTest.kt +++ b/sentry-android-integration-tests/sentry-uitest-android/src/androidTest/java/io/sentry/uitest/android/UserFeedbackUiTest.kt @@ -1,9 +1,9 @@ package io.sentry.uitest.android import android.graphics.Color -import android.util.TypedValue import android.view.View import android.widget.EditText +import android.widget.FrameLayout import android.widget.LinearLayout import androidx.test.core.app.launchActivity import androidx.test.espresso.Espresso.onView @@ -550,10 +550,6 @@ class UserFeedbackUiTest : BaseUiTest() { assertEquals((densityScale * 12).toInt(), widget.paddingTop) assertEquals((densityScale * 12).toInt(), widget.paddingBottom) - val typedValue = TypedValue() - widget.context.theme.resolveAttribute(android.R.attr.colorForeground, typedValue, true) - assertEquals(typedValue.data, widget.currentTextColor) - assertEquals("Report a Bug", widget.text) } @@ -666,14 +662,19 @@ class UserFeedbackUiTest : BaseUiTest() { val buttonId = Int.MAX_VALUE - 1 val feedbackScenario = launchActivity() feedbackScenario.onActivity { + val layoutParams = + FrameLayout.LayoutParams( + LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.MATCH_PARENT, + ) val view = - LinearLayout(it).apply { - orientation = LinearLayout.VERTICAL + FrameLayout(it).apply { addView( SentryUserFeedbackButton(it).apply { id = buttonId widgetConfig?.invoke(this) - } + }, + layoutParams, ) } it.setContentView(view) From c5a0a3eaaa5a7c86a5cb1dd9a994326df3c89196 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Fri, 23 Jan 2026 08:31:56 +0100 Subject: [PATCH 6/7] Downgrade androidx.compose.ui:ui-test-junit4 back to 1.9.4 As 1.10.1 requires minSdk 23 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 44a9d9bdbaa..dd68ff26bc5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -204,7 +204,7 @@ tomcat-catalina-jakarta = { module = "org.apache.tomcat:tomcat-catalina", versio tomcat-embed-jasper-jakarta = { module = "org.apache.tomcat.embed:tomcat-embed-jasper", version = "11.0.10" } # test libraries -androidx-compose-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version = "1.10.1" } +androidx-compose-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version = "1.9.5" } androidx-test-core = { module = "androidx.test:core", version.ref = "androidxTestCore" } androidx-test-core-ktx = { module = "androidx.test:core-ktx", version.ref = "androidxTestCore" } androidx-test-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espresso" } From 8a85ab50745bed476160c7d3e0188c631ea465c6 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Fri, 23 Jan 2026 08:43:43 +0100 Subject: [PATCH 7/7] Fix javadoc --- .../sentry/android/core/internal/util/AndroidThreadChecker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java b/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java index d43536af19b..7228c849cf7 100644 --- a/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java +++ b/sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidThreadChecker.java @@ -28,7 +28,7 @@ private AndroidThreadChecker() { /** * Gets the thread ID in a way that's compatible across Android versions. * - *

Uses {@link Thread#threadId()} on Android 14 (API 34) and above, and falls back to {@link + *

Uses {@link Thread#threadId()} on Android 16 (API 36) and above, and falls back to {@link * Thread#getId()} on older versions. * * @param thread the thread to get the ID for