Skip to content

ref(android): Fix Error Prone warnings in sentry-android-core - #6499

Draft
runningcode wants to merge 1 commit into
9.x.xfrom
no/android-core-errorprone-warnings
Draft

runningcode wants to merge 1 commit into
9.x.xfrom
no/android-core-errorprone-warnings

Conversation

@runningcode

Copy link
Copy Markdown
Contributor

📜 Description

Fixes the other 59 warnings Error Prone reports in sentry-android-core:

  • Suppresses FutureReturnValueIgnored (18), JavaUtilDate (4) and ReferenceEquality (12) at method level, as the sentry module does. Every reference comparison is meant to be by identity: activities, dialogs, windows and transactions.
  • Keeps the AnrProfilingIntegration updater a field and suppresses UnnecessaryLambda, because removeCallbacks only removes the instance that was posted.
  • Reads the ANR thread dump, thread dump files and the app start profiling config as UTF-8. That is Android's default charset, so behavior doesn't change.
  • Removes unused fields and parameters, adds missing @Override, makes long-to-double conversions explicit, and narrows members that are effectively private or protected in a final class.
  • Explains in a comment why the two empty catch blocks ignore their exception.

💡 Motivation and Context

Error Prone never ran on sentry-android-core (#6493). Under -Werror these warnings fail the build once it does. This is one of four independent PRs that fix what it reports.

💚 How did you test it?

Compiled with Error Prone enabled: none of these warnings remain and none are added. The unit tests of the touched classes pass.

📝 Checklist

  • I added GH Issue ID & Linear ID
  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • Review from the native team if needed.
  • No breaking change or entry added to the changelog.
  • No breaking change for hybrid SDKs or communicated to hybrid SDKs.
  • Public API changes reviewed by another Mobile SDK team member or implemented according to the develop docs spec.

🔮 Next steps

🤖 Generated with Claude Code

#skip-changelog

Error Prone never ran on sentry-android-core. Enabling it reports 59 warnings outside Javadoc,
which fail the build under -Werror.

- Suppress FutureReturnValueIgnored, JavaUtilDate, and ReferenceEquality where identity is
  intended, as the sentry module does.
- Keep the AnrProfilingIntegration updater a field, since removeCallbacks needs the instance that
  was posted, and suppress UnnecessaryLambda there.
- Read the ANR thread dump and the app start profiling config as UTF-8, Android's default charset.
- Remove unused fields and parameters, add missing @OverRide, make long-to-double conversions
  explicit, and narrow members that are effectively private or protected in a final class.
- Explain the two catch blocks that ignore their exception.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

🚨 Detected changes in high risk code 🚨

High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:

  • sentry-android-core/src/main/java/io/sentry/android/core/InternalSentrySdk.java

@sentry

sentry Bot commented Nov 6, 2026

Copy link
Copy Markdown

📲 Install Builds

Android

🔗 App Name App ID Version Configuration
SDK Size io.sentry.tests.size 8.63.0 (1) release

⚙️ sentry-android Build Distribution Settings

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant