You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+9-7
Original file line number
Diff line number
Diff line change
@@ -6,18 +6,20 @@
6
6
7
7
- Add support for `feedback` envelope header item type ([#3687](https://github.com/getsentry/sentry-java/pull/3687))
8
8
- Add breadcrumb.origin field ([#3727](https://github.com/getsentry/sentry-java/pull/3727))
9
+
- Session Replay: Add options to selectively redact/ignore views from being captured. The following options are available: ([#3689](https://github.com/getsentry/sentry-java/pull/3689))
10
+
-`android:tag="sentry-redact|sentry-ignore"` in XML or `view.setTag("sentry-redact|sentry-ignore")` in code tags
11
+
- if you already have a tag set for a view, you can set a tag by id: `<tag android:id="@id/sentry_privacy" android:value="redact|ignore"/>` in XML or `view.setTag(io.sentry.android.replay.R.id.sentry_privacy, "redact|ignore")` in code
12
+
-`view.sentryReplayRedact()` or `view.sentryReplayIgnore()` extension functions
13
+
- redact/ignore `View`s of a certain type by adding fully-qualified classname to one of the lists `options.experimental.sessionReplay.addRedactViewClass()` or `options.experimental.sessionReplay.addIgnoreViewClass()`. Note, that all of the view subclasses/subtypes will be redacted/ignored as well
14
+
- For example, (this is already a default behavior) to redact all `TextView`s and their subclasses (`RadioButton`, `EditText`, etc.): `options.experimental.sessionReplay.addRedactViewClass("android.widget.TextView")`
15
+
- If you're using code obfuscation, adjust your proguard-rules accordingly, so your custom view class name is not minified
16
+
- Session Replay: Support Jetpack Compose masking ([#3739](https://github.com/getsentry/sentry-java/pull/3739))
17
+
- To selectively mask/unmask @Composables, use `Modifier.sentryReplayRedact()` and `Modifier.sentryReplayIgnore()` modifiers
9
18
10
19
### Fixes
11
20
12
21
- Avoid stopping appStartProfiler after application creation ([#3630](https://github.com/getsentry/sentry-java/pull/3630))
13
22
- Session Replay: Correctly detect dominant color for `TextView`s with Spans ([#3682](https://github.com/getsentry/sentry-java/pull/3682))
14
-
- Session Replay: Add options to selectively redact/ignore views from being captured. The following options are available: ([#3689](https://github.com/getsentry/sentry-java/pull/3689))
15
-
-`android:tag="sentry-redact|sentry-ignore"` in XML or `view.setTag("sentry-redact|sentry-ignore")` in code tags
16
-
- if you already have a tag set for a view, you can set a tag by id: `<tag android:id="@id/sentry_privacy" android:value="redact|ignore"/>` in XML or `view.setTag(io.sentry.android.replay.R.id.sentry_privacy, "redact|ignore")` in code
17
-
-`view.sentryReplayRedact()` or `view.sentryReplayIgnore()` extension functions
18
-
- redact/ignore `View`s of a certain type by adding fully-qualified classname to one of the lists `options.experimental.sessionReplay.addRedactViewClass()` or `options.experimental.sessionReplay.addIgnoreViewClass()`. Note, that all of the view subclasses/subtypes will be redacted/ignored as well
19
-
- For example, (this is already a default behavior) to redact all `TextView`s and their subclasses (`RadioButton`, `EditText`, etc.): `options.experimental.sessionReplay.addRedactViewClass("android.widget.TextView")`
20
-
- If you're using code obfuscation, adjust your proguard-rules accordingly, so your custom view class name is not minified
21
23
- Fix ensure Application Context is used even when SDK is initialized via Activity Context ([#3669](https://github.com/getsentry/sentry-java/pull/3669))
Copy file name to clipboardExpand all lines: sentry-android-replay/api/sentry-android-replay.api
+51-3
Original file line number
Diff line number
Diff line change
@@ -7,11 +7,13 @@ public final class io/sentry/android/replay/BuildConfig {
7
7
}
8
8
9
9
public class io/sentry/android/replay/DefaultReplayBreadcrumbConverter : io/sentry/ReplayBreadcrumbConverter {
10
+
public static final field $stable I
10
11
public fun <init> ()V
11
12
public fun convert (Lio/sentry/Breadcrumb;)Lio/sentry/rrweb/RRWebEvent;
12
13
}
13
14
14
15
public final class io/sentry/android/replay/GeneratedVideo {
16
+
public static final field $stable I
15
17
public fun <init> (Ljava/io/File;IJ)V
16
18
public final fun component1 ()Ljava/io/File;
17
19
public final fun component2 ()I
@@ -26,6 +28,11 @@ public final class io/sentry/android/replay/GeneratedVideo {
26
28
public fun toString ()Ljava/lang/String;
27
29
}
28
30
31
+
public final class io/sentry/android/replay/ModifierExtensionsKt {
32
+
public static final fun sentryReplayIgnore (Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
33
+
public static final fun sentryReplayRedact (Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
34
+
}
35
+
29
36
public abstract interface class io/sentry/android/replay/Recorder : java/io/Closeable {
30
37
public abstract fun pause ()V
31
38
public abstract fun resume ()V
@@ -34,6 +41,7 @@ public abstract interface class io/sentry/android/replay/Recorder : java/io/Clos
34
41
}
35
42
36
43
public final class io/sentry/android/replay/ReplayCache : java/io/Closeable {
44
+
public static final field $stable I
37
45
public static final field Companion Lio/sentry/android/replay/ReplayCache$Companion;
38
46
public fun <init> (Lio/sentry/SentryOptions;Lio/sentry/protocol/SentryId;Lio/sentry/android/replay/ScreenshotRecorderConfig;)V
39
47
public final fun addFrame (Ljava/io/File;JLjava/lang/String;)V
@@ -50,6 +58,7 @@ public final class io/sentry/android/replay/ReplayCache$Companion {
50
58
}
51
59
52
60
public final class io/sentry/android/replay/ReplayIntegration : android/content/ComponentCallbacks, io/sentry/Integration, io/sentry/ReplayController, io/sentry/android/replay/ScreenshotRecorderCallback, io/sentry/android/replay/gestures/TouchRecorderCallback, java/io/Closeable {
61
+
public static final field $stable I
53
62
public fun <init> (Landroid/content/Context;Lio/sentry/transport/ICurrentDateProvider;)V
54
63
public fun <init> (Landroid/content/Context;Lio/sentry/transport/ICurrentDateProvider;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)V
55
64
public synthetic fun <init> (Landroid/content/Context;Lio/sentry/transport/ICurrentDateProvider;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
@@ -78,6 +87,7 @@ public abstract interface class io/sentry/android/replay/ScreenshotRecorderCallb
78
87
}
79
88
80
89
public final class io/sentry/android/replay/ScreenshotRecorderConfig {
90
+
public static final field $stable I
81
91
public static final field Companion Lio/sentry/android/replay/ScreenshotRecorderConfig$Companion;
82
92
public fun <init> (IIFFII)V
83
93
public final fun component1 ()I
@@ -103,6 +113,12 @@ public final class io/sentry/android/replay/ScreenshotRecorderConfig$Companion {
103
113
public final fun from (Landroid/content/Context;Lio/sentry/SentryReplayOptions;)Lio/sentry/android/replay/ScreenshotRecorderConfig;
104
114
}
105
115
116
+
public final class io/sentry/android/replay/SentryReplayModifiers {
117
+
public static final field $stable I
118
+
public static final field INSTANCE Lio/sentry/android/replay/SentryReplayModifiers;
119
+
public final fun getSentryPrivacy ()Landroidx/compose/ui/semantics/SemanticsPropertyKey;
120
+
}
121
+
106
122
public final class io/sentry/android/replay/SessionReplayOptionsKt {
107
123
public static final fun getRedactAllImages (Lio/sentry/SentryReplayOptions;)Z
108
124
public static final fun getRedactAllText (Lio/sentry/SentryReplayOptions;)Z
@@ -116,12 +132,14 @@ public final class io/sentry/android/replay/ViewExtensionsKt {
116
132
}
117
133
118
134
public final class io/sentry/android/replay/gestures/GestureRecorder : io/sentry/android/replay/OnRootViewsChangedListener {
135
+
public static final field $stable I
119
136
public fun <init> (Lio/sentry/SentryOptions;Lio/sentry/android/replay/gestures/TouchRecorderCallback;)V
120
137
public fun onRootViewsChanged (Landroid/view/View;Z)V
121
138
public final fun stop ()V
122
139
}
123
140
124
141
public final class io/sentry/android/replay/gestures/ReplayGestureConverter {
142
+
public static final field $stable I
125
143
public fun <init> (Lio/sentry/transport/ICurrentDateProvider;)V
126
144
public final fun convert (Landroid/view/MotionEvent;Lio/sentry/android/replay/ScreenshotRecorderConfig;)Ljava/util/List;
127
145
}
@@ -130,6 +148,19 @@ public abstract interface class io/sentry/android/replay/gestures/TouchRecorderC
130
148
public abstract fun onTouchEvent (Landroid/view/MotionEvent;)V
131
149
}
132
150
151
+
public final class io/sentry/android/replay/util/AndroidTextLayout : io/sentry/android/replay/util/TextLayout {
152
+
public static final field $stable I
153
+
public fun <init> (Landroid/text/Layout;)V
154
+
public fun getDominantTextColor ()Ljava/lang/Integer;
155
+
public fun getEllipsisCount (I)I
156
+
public fun getLineBottom (I)I
157
+
public fun getLineCount ()I
158
+
public fun getLineStart (I)I
159
+
public fun getLineTop (I)I
160
+
public fun getLineVisibleEnd (I)I
161
+
public fun getPrimaryHorizontal (II)F
162
+
}
163
+
133
164
public class io/sentry/android/replay/util/FixedWindowCallback : android/view/Window$Callback {
134
165
public final field delegate Landroid/view/Window$Callback;
135
166
public fun <init> (Landroid/view/Window$Callback;)V
@@ -160,6 +191,17 @@ public class io/sentry/android/replay/util/FixedWindowCallback : android/view/Wi
160
191
public fun onWindowStartingActionMode (Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
161
192
}
162
193
194
+
public abstract interface class io/sentry/android/replay/util/TextLayout {
195
+
public abstract fun getDominantTextColor ()Ljava/lang/Integer;
196
+
public abstract fun getEllipsisCount (I)I
197
+
public abstract fun getLineBottom (I)I
198
+
public abstract fun getLineCount ()I
199
+
public abstract fun getLineStart (I)I
200
+
public abstract fun getLineTop (I)I
201
+
public abstract fun getLineVisibleEnd (I)I
202
+
public abstract fun getPrimaryHorizontal (II)F
203
+
}
204
+
163
205
public abstract interface class io/sentry/android/replay/video/SimpleFrameMuxer {
164
206
public abstract fun getVideoTime ()J
165
207
public abstract fun isStarted ()Z
@@ -169,6 +211,7 @@ public abstract interface class io/sentry/android/replay/video/SimpleFrameMuxer
169
211
}
170
212
171
213
public final class io/sentry/android/replay/video/SimpleMp4FrameMuxer : io/sentry/android/replay/video/SimpleFrameMuxer {
214
+
public static final field $stable I
172
215
public fun <init> (Ljava/lang/String;F)V
173
216
public fun getVideoTime ()J
174
217
public fun isStarted ()Z
@@ -178,6 +221,7 @@ public final class io/sentry/android/replay/video/SimpleMp4FrameMuxer : io/sentr
178
221
}
179
222
180
223
public abstract class io/sentry/android/replay/viewhierarchy/ViewHierarchyNode {
224
+
public static final field $stable I
181
225
public static final field Companion Lio/sentry/android/replay/viewhierarchy/ViewHierarchyNode$Companion;
182
226
public synthetic fun <init> (FFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
183
227
public synthetic fun <init> (FFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
@@ -195,6 +239,7 @@ public abstract class io/sentry/android/replay/viewhierarchy/ViewHierarchyNode {
195
239
public final fun isObscured (Lio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;)Z
196
240
public final fun isVisible ()Z
197
241
public final fun setChildren (Ljava/util/List;)V
242
+
public final fun setImportantForCaptureToAncestors (Z)V
198
243
public final fun setImportantForContentCapture (Z)V
199
244
public final fun traverse (Lkotlin/jvm/functions/Function1;)V
200
245
}
@@ -204,20 +249,23 @@ public final class io/sentry/android/replay/viewhierarchy/ViewHierarchyNode$Comp
204
249
}
205
250
206
251
public final class io/sentry/android/replay/viewhierarchy/ViewHierarchyNode$GenericViewHierarchyNode : io/sentry/android/replay/viewhierarchy/ViewHierarchyNode {
252
+
public static final field $stable I
207
253
public fun <init> (FFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;)V
208
254
public synthetic fun <init> (FFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
209
255
}
210
256
211
257
public final class io/sentry/android/replay/viewhierarchy/ViewHierarchyNode$ImageViewHierarchyNode : io/sentry/android/replay/viewhierarchy/ViewHierarchyNode {
258
+
public static final field $stable I
212
259
public fun <init> (FFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;)V
213
260
public synthetic fun <init> (FFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
214
261
}
215
262
216
263
public final class io/sentry/android/replay/viewhierarchy/ViewHierarchyNode$TextViewHierarchyNode : io/sentry/android/replay/viewhierarchy/ViewHierarchyNode {
217
-
public fun <init> (Landroid/text/Layout;Ljava/lang/Integer;IIFFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;)V
218
-
public synthetic fun <init> (Landroid/text/Layout;Ljava/lang/Integer;IIFFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
264
+
public static final field $stable I
265
+
public fun <init> (Lio/sentry/android/replay/util/TextLayout;Ljava/lang/Integer;IIFFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;)V
266
+
public synthetic fun <init> (Lio/sentry/android/replay/util/TextLayout;Ljava/lang/Integer;IIFFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
219
267
public final fun getDominantColor ()Ljava/lang/Integer;
220
-
public final fun getLayout ()Landroid/text/Layout;
268
+
public final fun getLayout ()Lio/sentry/android/replay/util/TextLayout;
0 commit comments