Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
849f6b8
feat(feedback): Support runtime enable/disable of shake-to-report
markushi Jul 23, 2026
876b66d
changelog
markushi Jul 23, 2026
340f35b
Merge branch 'main' into feat/runtime-enable-disable-shake-to-report
markushi Jul 23, 2026
6176c1d
Unify shake detection in FeedbackShakeIntegration via IShakeControlleโ€ฆ
markushi Jul 23, 2026
ac4292c
Merge remote-tracking branch 'origin/feat/runtime-enable-disable-shakโ€ฆ
markushi Jul 23, 2026
b7096cb
Hold tracked shake dialog strongly and re-register opt-in on every show
markushi Jul 24, 2026
2d4e9fb
Keep lifecycle callbacks registered while a dialog is tracked so the โ€ฆ
markushi Jul 24, 2026
6220586
Replace dialog tracking with IShakeController.pauseDetection to preveโ€ฆ
markushi Jul 24, 2026
252b24c
Guard user-facing feedback form callbacks with try-catch so a crashinโ€ฆ
markushi Jul 24, 2026
e5d6f39
fix(feedback): Address PR feedback on shake-to-report runtime API
markushi Aug 11, 2026
2045e15
Merge branch 'main' into feat/runtime-enable-disable-shake-to-report
markushi Aug 12, 2026
77d3ba1
meta: Restore performance changelog entries dropped in merge
markushi Aug 12, 2026
99dd1c5
fix(feedback): Track visible feedback forms per form and host activity
markushi Aug 13, 2026
2a0cd43
ref(feedback): Use Dialog instead of Form in shake integration internals
markushi Aug 13, 2026
92fc15f
fix(feedback): Re-arm shake detection when showing a dialog fails
markushi Aug 13, 2026
239881d
test(feedback): Cover shake detection re-arming after a failed dialogโ€ฆ
markushi Aug 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
### Features

- Make `ISpan.startChild` overloads with `SpanOptions` public ([#5927](https://github.com/getsentry/sentry-java/pull/5927))
- Add `Sentry.feedback().enableOnShake()`, `Sentry.feedback().disableOnShake()`, and `Sentry.feedback().isOnShakeEnabled()` to toggle and query shake-to-report at runtime ([#5827](https://github.com/getsentry/sentry-java/pull/5827))

### Fixes

Expand All @@ -16,7 +17,9 @@

### Performance

- Read the clock once per performance collection round instead of once per in-flight transaction ([#5934](https://github.com/getsentry/sentry-java/pull/5934))
- Reduce allocations while collecting cpu usage during transactions by reading the process cpu time via `Process.getElapsedCpuTime()` instead of parsing `/proc/self/stat` (33.6kB to 16 bytes per sample on a Pixel 3) ([#5926](https://github.com/getsentry/sentry-java/pull/5926))
- Store performance measurements as primitives, removing a boxed allocation per measurement per performance sample ([#5935](https://github.com/getsentry/sentry-java/pull/5935))

### Dependencies

Expand Down
7 changes: 6 additions & 1 deletion sentry-android-core/api/sentry-android-core.api
Original file line number Diff line number Diff line change
Expand Up @@ -293,9 +293,12 @@ public abstract class io/sentry/android/core/EnvelopeFileObserverIntegration : i
public final fun register (Lio/sentry/IScopes;Lio/sentry/SentryOptions;)V
}

public final class io/sentry/android/core/FeedbackShakeIntegration : android/app/Application$ActivityLifecycleCallbacks, io/sentry/Integration, java/io/Closeable {
public final class io/sentry/android/core/FeedbackShakeIntegration : android/app/Application$ActivityLifecycleCallbacks, io/sentry/Integration, io/sentry/SentryFeedbackOptions$IShakeController, java/io/Closeable {
public fun <init> (Landroid/app/Application;)V
public fun close ()V
public fun disableOnShake ()V
public fun enableOnShake ()V
public fun isOnShakeEnabled ()Z
public fun onActivityCreated (Landroid/app/Activity;Landroid/os/Bundle;)V
public fun onActivityDestroyed (Landroid/app/Activity;)V
public fun onActivityPaused (Landroid/app/Activity;)V
Expand Down Expand Up @@ -573,7 +576,9 @@ public abstract interface class io/sentry/android/core/SentryUserFeedbackDialog$

public class io/sentry/android/core/SentryUserFeedbackForm : android/app/AlertDialog {
protected fun onCreate (Landroid/os/Bundle;)V
public fun onDetachedFromWindow ()V
protected fun onStart ()V
protected fun onStop ()V
public fun setCancelable (Z)V
public fun setOnDismissListener (Landroid/content/DialogInterface$OnDismissListener;)V
public fun show ()V
Expand Down
1 change: 1 addition & 0 deletions sentry-android-core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ dependencies {
testImplementation(libs.androidx.test.ext.junit)
testImplementation(libs.androidx.test.runner)
testImplementation(libs.awaitility.kotlin)
testImplementation(libs.google.truth)
testImplementation(libs.mockito.kotlin)
testImplementation(libs.mockito.inline)
testImplementation(projects.sentryTestSupport)
Expand Down
Loading
Loading