Skip to content

Commit 7a980e8

Browse files
committed
AndroidConnectionStatusProvider.updateCache() now doesn't reset cache status synchronously
1 parent 5e5a8d5 commit 7a980e8

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

sentry-android-core/src/main/java/io/sentry/android/core/internal/util/AndroidConnectionStatusProvider.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -360,19 +360,23 @@ private boolean hasSignificantTransportChanges(
360360

361361
@SuppressLint({"NewApi", "MissingPermission"})
362362
private void updateCache() {
363-
try (final @NotNull ISentryLifecycleToken ignored = lock.acquire()) {
364-
cachedNetworkCapabilities = null;
365-
lastCacheUpdateTime = timeProvider.getCurrentTimeMillis();
366-
}
367363
try {
368364
if (!Permissions.hasPermission(context, Manifest.permission.ACCESS_NETWORK_STATE)) {
369365
options
370366
.getLogger()
371367
.log(SentryLevel.INFO, "No permission (ACCESS_NETWORK_STATE) to check network status.");
368+
try (final @NotNull ISentryLifecycleToken ignored = lock.acquire()) {
369+
cachedNetworkCapabilities = null;
370+
lastCacheUpdateTime = timeProvider.getCurrentTimeMillis();
371+
}
372372
return;
373373
}
374374

375375
if (buildInfoProvider.getSdkInfoVersion() < Build.VERSION_CODES.M) {
376+
try (final @NotNull ISentryLifecycleToken ignored = lock.acquire()) {
377+
cachedNetworkCapabilities = null;
378+
lastCacheUpdateTime = timeProvider.getCurrentTimeMillis();
379+
}
376380
return;
377381
}
378382

@@ -387,7 +391,7 @@ private void updateCache() {
387391
final @Nullable NetworkCapabilities capabilities =
388392
getNetworkCapabilities(connectivityManager);
389393

390-
try (final @NotNull ISentryLifecycleToken ignored2 = lock.acquire()) {
394+
try (final @NotNull ISentryLifecycleToken ignored = lock.acquire()) {
391395
cachedNetworkCapabilities = capabilities;
392396
lastCacheUpdateTime = timeProvider.getCurrentTimeMillis();
393397

0 commit comments

Comments
 (0)