Skip to content

Commit 26df8c6

Browse files
committed
revert some thigns
1 parent d8fda33 commit 26df8c6

File tree

4 files changed

+41
-55
lines changed

4 files changed

+41
-55
lines changed

sentry-android-replay/api/sentry-android-replay.api

Lines changed: 31 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -141,34 +141,48 @@ public final class io/sentry/android/replay/video/SimpleMp4FrameMuxer : io/sentr
141141
public fun start (Landroid/media/MediaFormat;)V
142142
}
143143

144-
public final class io/sentry/android/replay/viewhierarchy/ViewHierarchyNode {
144+
public abstract class io/sentry/android/replay/viewhierarchy/ViewHierarchyNode {
145145
public static final field Companion Lio/sentry/android/replay/viewhierarchy/ViewHierarchyNode$Companion;
146-
public fun <init> (FFIIZLjava/lang/Integer;Landroid/graphics/Rect;)V
147-
public synthetic fun <init> (FFIIZLjava/lang/Integer;Landroid/graphics/Rect;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
148-
public final fun component1 ()F
149-
public final fun component2 ()F
150-
public final fun component3 ()I
151-
public final fun component4 ()I
152-
public final fun component5 ()Z
153-
public final fun component6 ()Ljava/lang/Integer;
154-
public final fun component7 ()Landroid/graphics/Rect;
155-
public final fun copy (FFIIZLjava/lang/Integer;Landroid/graphics/Rect;)Lio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;
156-
public static synthetic fun copy$default (Lio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;FFIIZLjava/lang/Integer;Landroid/graphics/Rect;ILjava/lang/Object;)Lio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;
157-
public fun equals (Ljava/lang/Object;)Z
146+
public synthetic fun <init> (FFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
147+
public synthetic fun <init> (FFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
158148
public final fun getChildren ()Ljava/util/List;
159-
public final fun getDominantColor ()Ljava/lang/Integer;
149+
public final fun getDistance ()I
150+
public final fun getElevation ()F
160151
public final fun getHeight ()I
152+
public final fun getParent ()Lio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;
161153
public final fun getShouldRedact ()Z
162154
public final fun getVisibleRect ()Landroid/graphics/Rect;
163155
public final fun getWidth ()I
164156
public final fun getX ()F
165157
public final fun getY ()F
166-
public fun hashCode ()I
158+
public final fun isImportantForContentCapture ()Z
159+
public final fun isObscured (Lio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;)Z
160+
public final fun isVisible ()Z
167161
public final fun setChildren (Ljava/util/List;)V
168-
public fun toString ()Ljava/lang/String;
162+
public final fun setImportantForContentCapture (Z)V
163+
public final fun traverse (Lkotlin/jvm/functions/Function1;)V
169164
}
170165

171166
public final class io/sentry/android/replay/viewhierarchy/ViewHierarchyNode$Companion {
172-
public final fun fromView (Landroid/view/View;Lio/sentry/SentryOptions;)Lio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;
167+
public final fun fromView (Landroid/view/View;Lio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ILio/sentry/SentryOptions;)Lio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;
168+
}
169+
170+
public final class io/sentry/android/replay/viewhierarchy/ViewHierarchyNode$GenericViewHierarchyNode : io/sentry/android/replay/viewhierarchy/ViewHierarchyNode {
171+
public fun <init> (FFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;)V
172+
public synthetic fun <init> (FFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
173+
}
174+
175+
public final class io/sentry/android/replay/viewhierarchy/ViewHierarchyNode$ImageViewHierarchyNode : io/sentry/android/replay/viewhierarchy/ViewHierarchyNode {
176+
public fun <init> (FFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;)V
177+
public synthetic fun <init> (FFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
178+
}
179+
180+
public final class io/sentry/android/replay/viewhierarchy/ViewHierarchyNode$TextViewHierarchyNode : io/sentry/android/replay/viewhierarchy/ViewHierarchyNode {
181+
public fun <init> (Landroid/text/Layout;Ljava/lang/Integer;IIFFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;)V
182+
public synthetic fun <init> (Landroid/text/Layout;Ljava/lang/Integer;IIFFIIFILio/sentry/android/replay/viewhierarchy/ViewHierarchyNode;ZZZLandroid/graphics/Rect;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
183+
public final fun getDominantColor ()Ljava/lang/Integer;
184+
public final fun getLayout ()Landroid/text/Layout;
185+
public final fun getPaddingLeft ()I
186+
public final fun getPaddingTop ()I
173187
}
174188

sentry-android-replay/src/main/java/io/sentry/android/replay/capture/BaseCaptureStrategy.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,6 @@ internal abstract class BaseCaptureStrategy(
128128
width: Int,
129129
replayType: ReplayType = SESSION
130130
): ReplaySegment {
131-
return ReplaySegment.Failed
132-
133131
val generatedVideo = cache?.createVideoOf(
134132
duration,
135133
currentSegmentTimestamp.time,
@@ -138,7 +136,6 @@ internal abstract class BaseCaptureStrategy(
138136
width
139137
) ?: return ReplaySegment.Failed
140138

141-
142139
val (video, frameCount, videoDuration) = generatedVideo
143140
return buildReplay(
144141
video,

sentry-android-replay/src/main/java/io/sentry/android/replay/viewhierarchy/ViewHierarchyNode.kt

Lines changed: 8 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.sentry.android.replay.viewhierarchy
22

33
import android.annotation.TargetApi
4-
import android.content.res.Resources.NotFoundException
54
import android.graphics.Rect
65
import android.text.Layout
76
import android.view.View
@@ -13,23 +12,24 @@ import io.sentry.android.replay.util.isVisibleToUser
1312

1413
@TargetApi(26)
1514
sealed class ViewHierarchyNode(
16-
val id: String,
1715
val x: Float,
1816
val y: Float,
1917
val width: Int,
2018
val height: Int,
19+
/* Elevation (in px) */
2120
val elevation: Float,
21+
/* Distance to the parent (index) */
2222
val distance: Int,
2323
val parent: ViewHierarchyNode? = null,
2424
val shouldRedact: Boolean = false,
25+
/* Whether the node is important for content capture (=non-empty container) */
2526
var isImportantForContentCapture: Boolean = false,
2627
val isVisible: Boolean = false,
2728
val visibleRect: Rect? = null
2829
) {
2930
var children: List<ViewHierarchyNode>? = null
3031

3132
class GenericViewHierarchyNode(
32-
id: String,
3333
x: Float,
3434
y: Float,
3535
width: Int,
@@ -41,14 +41,13 @@ sealed class ViewHierarchyNode(
4141
isImportantForContentCapture: Boolean = false,
4242
isVisible: Boolean = false,
4343
visibleRect: Rect? = null
44-
): ViewHierarchyNode(id, x, y, width, height, elevation, distance, parent, shouldRedact, isImportantForContentCapture, isVisible, visibleRect)
44+
) : ViewHierarchyNode(x, y, width, height, elevation, distance, parent, shouldRedact, isImportantForContentCapture, isVisible, visibleRect)
4545

4646
class TextViewHierarchyNode(
4747
val layout: Layout? = null,
4848
val dominantColor: Int? = null,
4949
val paddingLeft: Int = 0,
5050
val paddingTop: Int = 0,
51-
id: String,
5251
x: Float,
5352
y: Float,
5453
width: Int,
@@ -60,10 +59,9 @@ sealed class ViewHierarchyNode(
6059
isImportantForContentCapture: Boolean = false,
6160
isVisible: Boolean = false,
6261
visibleRect: Rect? = null
63-
) : ViewHierarchyNode(id, x, y, width, height, elevation, distance, parent, shouldRedact, isImportantForContentCapture, isVisible, visibleRect)
62+
) : ViewHierarchyNode(x, y, width, height, elevation, distance, parent, shouldRedact, isImportantForContentCapture, isVisible, visibleRect)
6463

6564
class ImageViewHierarchyNode(
66-
id: String,
6765
x: Float,
6866
y: Float,
6967
width: Int,
@@ -75,7 +73,7 @@ sealed class ViewHierarchyNode(
7573
isImportantForContentCapture: Boolean = false,
7674
isVisible: Boolean = false,
7775
visibleRect: Rect? = null
78-
) : ViewHierarchyNode(id, x, y, width, height, elevation, distance, parent, shouldRedact, isImportantForContentCapture, isVisible, visibleRect)
76+
) : ViewHierarchyNode(x, y, width, height, elevation, distance, parent, shouldRedact, isImportantForContentCapture, isVisible, visibleRect)
7977

8078
/**
8179
* Traverses the view hierarchy starting from this node. The traversal is done in a depth-first
@@ -123,7 +121,8 @@ sealed class ViewHierarchyNode(
123121
// or doesn't contain the node's visible rect, we can skip it
124122
if (!otherNode.isVisible ||
125123
!otherNode.isImportantForContentCapture ||
126-
!otherNode.visibleRect.contains(node.visibleRect)) {
124+
!otherNode.visibleRect.contains(node.visibleRect)
125+
) {
127126
return@traverse false
128127
}
129128

@@ -219,27 +218,6 @@ sealed class ViewHierarchyNode(
219218

220219
private fun Int.toOpaque() = this or 0xFF000000.toInt()
221220

222-
private fun Int.isViewIdGenerated(): Boolean {
223-
return (this and -0x1000000) == 0 && (this and 0x00FFFFFF) != 0
224-
}
225-
226-
@Throws(NotFoundException::class)
227-
fun getResourceId(view: View): String? {
228-
val viewId = view.id
229-
if (viewId == View.NO_ID || viewId.isViewIdGenerated()) {
230-
return null
231-
}
232-
val resources = view.context.resources
233-
if (resources != null) {
234-
return try {
235-
resources.getResourceEntryName(viewId)
236-
} catch (e: NotFoundException) {
237-
null
238-
}
239-
}
240-
return null
241-
}
242-
243221
/**
244222
* Basically replicating this: https://developer.android.com/reference/android/view/View#isImportantForContentCapture()
245223
* but for lower APIs and with less overhead. If we take a look at how it's set in Android:
@@ -264,7 +242,6 @@ sealed class ViewHierarchyNode(
264242
dominantColor = view.currentTextColor.toOpaque(),
265243
paddingLeft = view.totalPaddingLeft,
266244
paddingTop = view.totalPaddingTop,
267-
getResourceId(view) ?: view.toString(),
268245
x = view.x,
269246
y = view.y,
270247
width = view.width,
@@ -282,7 +259,6 @@ sealed class ViewHierarchyNode(
282259
view is ImageView && options.experimental.sessionReplay.redactAllImages -> {
283260
parent.setImportantForCaptureToAncestors(true)
284261
return ImageViewHierarchyNode(
285-
getResourceId(view) ?: view.toString(),
286262
x = view.x,
287263
y = view.y,
288264
width = view.width,
@@ -299,7 +275,6 @@ sealed class ViewHierarchyNode(
299275
}
300276

301277
return GenericViewHierarchyNode(
302-
getResourceId(view) ?: view.toString(),
303278
view.x,
304279
view.y,
305280
view.width,

sentry/src/main/java/io/sentry/SentryReplayOptions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,15 +110,15 @@ public boolean getRedactAllText() {
110110
}
111111

112112
public void setRedactAllText(final boolean redactAllText) {
113-
//this.redactAllText = redactAllText;
113+
this.redactAllText = redactAllText;
114114
}
115115

116116
public boolean getRedactAllImages() {
117117
return redactAllImages;
118118
}
119119

120120
public void setRedactAllImages(final boolean redactAllImages) {
121-
//this.redactAllImages = redactAllImages;
121+
this.redactAllImages = redactAllImages;
122122
}
123123

124124
@ApiStatus.Internal

0 commit comments

Comments
 (0)