@@ -19,7 +19,6 @@ public final class SentryReplayOptions extends SentryMaskingOptions {
1919
2020 private static final String CUSTOM_MASKING_INTEGRATION_NAME = "ReplayCustomMasking" ;
2121 private volatile boolean customMaskingTracked = false ;
22- private boolean defaultsInitialized = false ;
2322
2423 /**
2524 * Maximum size in bytes for network request/response bodies to be captured in replays. Bodies
@@ -175,15 +174,15 @@ public enum SentryReplayQuality {
175174
176175 public SentryReplayOptions (final boolean empty , final @ Nullable SdkVersion sdkVersion ) {
177176 if (!empty ) {
178- setMaskAllText ( true );
179- setMaskAllImages ( true );
180- addMaskViewClass ( WEB_VIEW_CLASS_NAME );
181- addMaskViewClass ( VIDEO_VIEW_CLASS_NAME );
182- addMaskViewClass ( CAMERAX_PREVIEW_VIEW_CLASS_NAME );
183- addMaskViewClass ( ANDROIDX_MEDIA_VIEW_CLASS_NAME );
184- addMaskViewClass ( EXOPLAYER_CLASS_NAME );
185- addMaskViewClass ( EXOPLAYER_STYLED_CLASS_NAME );
186- defaultsInitialized = true ;
177+ // Add default mask classes directly without setting usingCustomMasking flag
178+ maskViewClasses . add ( TEXT_VIEW_CLASS_NAME );
179+ maskViewClasses . add ( IMAGE_VIEW_CLASS_NAME );
180+ maskViewClasses . add ( WEB_VIEW_CLASS_NAME );
181+ maskViewClasses . add ( VIDEO_VIEW_CLASS_NAME );
182+ maskViewClasses . add ( CAMERAX_PREVIEW_VIEW_CLASS_NAME );
183+ maskViewClasses . add ( ANDROIDX_MEDIA_VIEW_CLASS_NAME );
184+ maskViewClasses . add ( EXOPLAYER_CLASS_NAME );
185+ maskViewClasses . add ( EXOPLAYER_STYLED_CLASS_NAME ) ;
187186 this .sdkVersion = sdkVersion ;
188187 }
189188 }
@@ -238,34 +237,38 @@ public void setSessionSampleRate(final @Nullable Double sessionSampleRate) {
238237
239238 @ Override
240239 public void setMaskAllText (final boolean maskAllText ) {
241- if (!maskAllText && defaultsInitialized ) {
240+ if (maskAllText ) {
241+ maskViewClasses .add (TEXT_VIEW_CLASS_NAME );
242+ unmaskViewClasses .remove (TEXT_VIEW_CLASS_NAME );
243+ } else {
242244 trackCustomMasking ();
245+ unmaskViewClasses .add (TEXT_VIEW_CLASS_NAME );
246+ maskViewClasses .remove (TEXT_VIEW_CLASS_NAME );
243247 }
244- super .setMaskAllText (maskAllText );
245248 }
246249
247250 @ Override
248251 public void setMaskAllImages (final boolean maskAllImages ) {
249- if (!maskAllImages && defaultsInitialized ) {
252+ if (maskAllImages ) {
253+ maskViewClasses .add (IMAGE_VIEW_CLASS_NAME );
254+ unmaskViewClasses .remove (IMAGE_VIEW_CLASS_NAME );
255+ } else {
250256 trackCustomMasking ();
257+ unmaskViewClasses .add (IMAGE_VIEW_CLASS_NAME );
258+ maskViewClasses .remove (IMAGE_VIEW_CLASS_NAME );
251259 }
252- super .setMaskAllImages (maskAllImages );
253260 }
254261
255262 @ Override
256263 public void addMaskViewClass (final @ NotNull String className ) {
257- if (defaultsInitialized ) {
258- trackCustomMasking ();
259- }
260- super .addMaskViewClass (className );
264+ trackCustomMasking ();
265+ this .maskViewClasses .add (className );
261266 }
262267
263268 @ Override
264269 public void addUnmaskViewClass (final @ NotNull String className ) {
265- if (defaultsInitialized ) {
266- trackCustomMasking ();
267- }
268- super .addUnmaskViewClass (className );
270+ trackCustomMasking ();
271+ this .unmaskViewClasses .add (className );
269272 }
270273
271274 @ ApiStatus .Internal
0 commit comments