[Android]: Native poll once crash #7392
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Task/Issue URL: https://app.asana.com/1/137249556945/project/1200581511062568/task/1212447038478340?focus=true
Description
Refactored OkHttp pixel interceptors to always proceed with the original request object when unchanged. Improved readability.
These changes maintain the same functionality while making the code more maintainable and potentially more efficient by reducing unnecessary object creation.
Steps to test this PR
Code review.
Tests are passing.
NO UI changes
Note
Standardizes multiple interceptors to early-return and reuse the original request unless modified, and adds a plugin to remove all params from the ATP TDS failure pixel.
originalRequest, only rebuild when URL changes):vpn-impl/.../AppTPBlockListInterceptorApiPlugin.kt: Simplifies TDS experiment URL rewriting flow with early exits; only proceeds with modified URL when applicable.vpn-impl/.../cohort/CohortPixelInterceptor.kt: Adds cohort param only when present; otherwise drops; otherwise proceeds unmodified.app/.../PixelParamRemovalInterceptor.kt: Computes flags for ATB/version removal; proceeds unmodified when not needed; rebuilds URL only if params removed.app/.../PixelReQueryInterceptor.kt: Rewritesrq_*_android_{formFactor}only if present; otherwise proceeds unchanged.app/.../CampaignPixelParamsAdditionInterceptor.kt: Adds campaign params only when eligible and feature-enabled; no-op otherwise.app/.../BlockListInterceptorApiPlugin.kt: Early-return when TDS not required or no active experiment; only rewrite to$TDS_BASE_URLwhen path resolved; fires failure pixel on non-2xx..../AttributedMetricPixelInterceptor.kt: Renamesandroid_{phone}suffix toandroidonly forattributed_metric*; otherwise unchanged..../MetricPixelInterceptor.kt: Validates metrics pixels and proceeds using original request; drops invalid/out-of-window as before..../NetpCohortPixelInterceptor.kt: Drops cohort pixels when no cohort; otherwise proceeds unchanged..../VpnLatencyPixelInterceptor.kt: Appendslocationandos15Aboveonly for latency pixels; otherwise proceeds unchanged..../PirPixelInterceptor.kt: Appends base64-encodedmetadataonly for relevant pixels; otherwise proceeds unchanged.MetricPixelRemovalInterceptorto remove all params forATP_TDS_EXPERIMENT_DOWNLOAD_FAILED.Written by Cursor Bugbot for commit 47f39ce. This will update automatically on new commits. Configure here.