Opt out of location data in CellServiceConstraintObserver#14768
Open
groschupp wants to merge 1 commit into
Open
Opt out of location data in CellServiceConstraintObserver#14768groschupp wants to merge 1 commit into
groschupp wants to merge 1 commit into
Conversation
Register the TelephonyCallback with INCLUDE_LOCATION_DATA_NONE on API 33+ to prevent TelephonyRegistry from writing spurious FINE_LOCATION AppOps entries on every service-state update. The observer only reads serviceState.getState() and has no use for location-sensitive fields.
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Register the TelephonyCallback with INCLUDE_LOCATION_DATA_NONE on API 33+
to prevent TelephonyRegistry from resulting in spurious FINE_LOCATION AppOps
entries on every service-state update.
First time contributor checklist
Contributor checklist
Fixes #1234syntaxDescription
If Signal has permission to access location, the system (privacy dashboard/appops log) reports that it accesses location whenever the app is running. Our tests found evidence that these accesses are not triggered directly within the app itself, but rather through callbacks registered by CellServiceConstraintObserver. Currently, this registration uses registerTelephonyCallback without opting out of location data. On API 33+, this causes TelephonyRegistry to include location-sensitive fields in the callback based on whatever location permission Signal has been granted and to write location AppOps entries linked to the Signal UID on every service-state update. CellServiceConstraintObserver does not seem to need the location-sensitive fields that trigger this check.
The proposed fix uses the option to request callbacks without location data introduced in API 33. With our patched build, we no longer observe Signal location requests.
This PR might be related to issues #13105 and #14761.