Skip to content

Commit 39229d5

Browse files
committed
Address PR feedback
1 parent 61bb712 commit 39229d5

File tree

6 files changed

+22
-11
lines changed

6 files changed

+22
-11
lines changed

sentry-android-core/api/sentry-android-core.api

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ public class io/sentry/android/core/anr/AnrProfile {
567567
public fun <init> (Ljava/util/List;)V
568568
}
569569

570-
public class io/sentry/android/core/anr/AnrProfileManager : java/io/Closeable {
570+
public class io/sentry/android/core/anr/AnrProfileManager : java/lang/AutoCloseable {
571571
public fun <init> (Lio/sentry/SentryOptions;)V
572572
public fun <init> (Lio/sentry/SentryOptions;Ljava/io/File;)V
573573
public fun add (Lio/sentry/android/core/anr/AnrStackTrace;)V

sentry-android-core/src/main/java/io/sentry/android/core/anr/AnrProfile.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.Collections;
55
import java.util.List;
66
import org.jetbrains.annotations.ApiStatus;
7+
import org.jetbrains.annotations.NotNull;
78

89
@ApiStatus.Internal
910
public class AnrProfile {
@@ -12,7 +13,7 @@ public class AnrProfile {
1213
public final long startTimeMs;
1314
public final long endTimeMs;
1415

15-
public AnrProfile(List<AnrStackTrace> stacks) {
16+
public AnrProfile(final @NotNull List<AnrStackTrace> stacks) {
1617
this.stacks = new ArrayList<>(stacks.size());
1718
for (AnrStackTrace stack : stacks) {
1819
if (stack != null) {

sentry-android-core/src/main/java/io/sentry/android/core/anr/AnrProfileManager.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import io.sentry.cache.tape.QueueFile;
1111
import io.sentry.util.Objects;
1212
import java.io.ByteArrayInputStream;
13-
import java.io.Closeable;
1413
import java.io.DataInputStream;
1514
import java.io.DataOutputStream;
1615
import java.io.File;
@@ -21,7 +20,7 @@
2120
import org.jetbrains.annotations.Nullable;
2221

2322
@ApiStatus.Internal
24-
public class AnrProfileManager implements Closeable {
23+
public class AnrProfileManager implements AutoCloseable {
2524

2625
private static final int MAX_NUM_STACKTRACES =
2726
(int) ((THRESHOLD_ANR_MS / POLLING_INTERVAL_MS) * 2);
@@ -63,6 +62,8 @@ public AnrProfileManager(final @NotNull SentryOptions options, final @NotNull Fi
6362
new ObjectQueue.Converter<AnrStackTrace>() {
6463
@Override
6564
public AnrStackTrace from(final byte[] source) throws IOException {
65+
// no need to close the streams since they are backed by byte arrays and don't
66+
// hold any resources
6667
final @NotNull ByteArrayInputStream bis = new ByteArrayInputStream(source);
6768
final @NotNull DataInputStream dis = new DataInputStream(bis);
6869
return AnrStackTrace.deserialize(dis);
@@ -72,9 +73,10 @@ public AnrStackTrace from(final byte[] source) throws IOException {
7273
public void toStream(
7374
final @NotNull AnrStackTrace value, final @NotNull OutputStream sink)
7475
throws IOException {
75-
final @NotNull DataOutputStream dos = new DataOutputStream(sink);
76-
value.serialize(dos);
77-
dos.flush();
76+
try (final @NotNull DataOutputStream dos = new DataOutputStream(sink)) {
77+
value.serialize(dos);
78+
dos.flush();
79+
}
7880
sink.flush();
7981
}
8082
});

sentry-android-core/src/main/java/io/sentry/android/core/anr/AnrProfileRotationHelper.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,16 @@ private static void performRotationIfNeeded(final @NotNull File cacheDir) {
3535
final File currentFile = new File(cacheDir, RECORDING_FILE_NAME);
3636
final File oldFile = new File(cacheDir, OLD_FILE_NAME);
3737

38-
if (oldFile.exists()) {
38+
try {
3939
oldFile.delete();
40+
} catch (Throwable e) {
41+
// ignored
4042
}
4143

42-
if (currentFile.exists()) {
44+
try {
4345
currentFile.renameTo(oldFile);
46+
} catch (Throwable e) {
47+
// ignored
4448
}
4549

4650
shouldRotate.set(false);

sentry-android-core/src/main/java/io/sentry/android/core/anr/AnrProfilingIntegration.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,9 @@ private void clearStacks() throws IOException {
232232
}
233233

234234
private void addStackTrace(@NotNull final AnrStackTrace trace) throws IOException {
235+
if (!enabled.get()) {
236+
return;
237+
}
235238
numCollectedStacks.incrementAndGet();
236239
getProfileManager().add(trace);
237240
}

sentry-android-core/src/main/java/io/sentry/android/core/anr/StackTraceConverter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import io.sentry.protocol.profiling.SentrySample;
66
import io.sentry.protocol.profiling.SentryThreadMetadata;
77
import java.util.ArrayList;
8+
import java.util.Collections;
89
import java.util.HashMap;
910
import java.util.List;
1011
import java.util.Map;
@@ -86,8 +87,8 @@ public static SentryProfile convert(final @NotNull AnrProfile anrProfile) {
8687
threadMetadata.setName(MAIN_THREAD_NAME);
8788
threadMetadata.setPriority(Thread.NORM_PRIORITY);
8889

89-
final @NotNull Map<String, SentryThreadMetadata> threadMetadataMap = new HashMap<>();
90-
threadMetadataMap.put(MAIN_THREAD_ID, threadMetadata);
90+
final @NotNull Map<String, SentryThreadMetadata> threadMetadataMap =
91+
Collections.singletonMap(MAIN_THREAD_ID, threadMetadata);
9192
profile.setThreadMetadata(threadMetadataMap);
9293

9394
return profile;

0 commit comments

Comments
 (0)