Skip to content

Fix Google Messages RCS setup support#3497

Open
BeauDevCode wants to merge 1 commit into
microg:masterfrom
BeauDevCode:fix/rcs-support-2994
Open

Fix Google Messages RCS setup support#3497
BeauDevCode wants to merge 1 commit into
microg:masterfrom
BeauDevCode:fix/rcs-support-2994

Conversation

@BeauDevCode
Copy link
Copy Markdown

Fixes #2994.

This PR improves microG compatibility with Google Messages RCS setup by implementing the missing service/permission/config behavior needed for RCS initialization without requiring root, Magisk, or bootloader unlock.

Summary:

  • Adds the Constellation service surface used by Google Messages for phone-number verification, including IID token registration, Jibe/Google Constellation RPC flows, TS.43/EAP-AKA handling, SMS/silent verification challenge processing, and capability reporting.
  • Adds the Asterism consent service surface used during RCS provisioning and returns the consent/IID data Messages expects.
  • Adds the RCS service routing, stock-parity caller allowlist checks, and per-call binder caller validation for the internal RCS provisioning APIs.
  • Exposes RCS Phenotype/config flags for Google Messages and the IMS library so the UPI/Jibe provisioning path is enabled and attestation gates are not incorrectly required.
  • Adds the required telephony/SMS permissions and updates supporting DroidGuard/AppCert/ProviderInstaller behavior used by the registration path.
  • Adds focused unit coverage for Constellation behavior, TS.43 parsing/crypto, and RCS caller policy checks.

Attribution:

This branch is based on the active Constellation/Asterism RCS implementation line in #3388, plus the caller/capability hardening from #3495, with the unrelated CI artifact workflow tweak intentionally omitted.

Testing:

  • ./gradlew.bat --no-daemon :play-services-core:testVtmDefaultDebugUnitTest --tests org.microg.gms.constellation.ConstellationServiceImplTest --tests org.microg.gms.rcs.RcsCallerPolicyTest --tests org.microg.gms.constellation.Ts43ClientTest
  • ./gradlew.bat --no-daemon :play-services-core:assembleVtmDefaultDebug

Both commands passed locally using Java 17 and Android SDK platform 35/build-tools 34.0.0.

Device/emulator testing was not performed in this environment. No Google Messages version was tested locally. Maintainer/device validation is still needed across locked-bootloader devices, carriers, and recent Google Messages builds.

@BeauDevCode BeauDevCode marked this pull request as ready for review May 23, 2026 13:31
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.

[BOUNTY] RCS Support [14999$]

1 participant