Skip to content

#2133 Add mic spoofing package-state, PM APIs, and framework hooks#326

Open
RankoR wants to merge 2 commits intoGrapheneOS:16-qpr2from
RankoR-GOS:mic-spoofing
Open

#2133 Add mic spoofing package-state, PM APIs, and framework hooks#326
RankoR wants to merge 2 commits intoGrapheneOS:16-qpr2from
RankoR-GOS:mic-spoofing

Conversation

@RankoR
Copy link

@RankoR RankoR commented Mar 5, 2026

Implements GrapheneOS/os-issue-tracker#2133

Adds the framework/server control plane for mic spoofing:

  • new package-state flag MIC_SPOOFING_ENABLED and persisted micSpoofingConfig
  • app-side spoofing hooks for self permission/AppOps checks and permission request UX
  • runtime state propagation (ActivityThreadHooks + package-state updates)
  • PackageManager binder APIs to store/release custom spoof WAVs
  • native bridge support in PackageManagerNative and storage backend MicSpoofingStorage
  • FGS microphone-type bypass for spoofed apps
  • tests for PM native bridge and PM settings persistence

Also contains fix for TrustManagerServiceTest broken by API drift in 5e41574

Tests:

atest -c FrameworksMockingServicesTests:com.android.server.pm.PackageManagerNativeMicSpoofingTest
atest -c PackageManagerServiceServerTests:com.android.server.pm.PackageManagerSettingsTests

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