Skip to content

feat(rcs): implement RCS support with Constellation and Asterism services#3598

Closed
hanu-14 wants to merge 1 commit into
microg:masterfrom
hanu-14:rcs-support
Closed

feat(rcs): implement RCS support with Constellation and Asterism services#3598
hanu-14 wants to merge 1 commit into
microg:masterfrom
hanu-14:rcs-support

Conversation

@hanu-14

@hanu-14 hanu-14 commented Jul 3, 2026

Copy link
Copy Markdown

Summary

Implements RCS support for Google Messages on microG by adding the required Constellation (service 155) and Asterism (service 199) services, along with a dedicated RcsService (service 189).

Changes

New AIDL interfaces (play-services-api)

  • IConstellationApiService - phone number verification APIs (getIidToken, verifyPhoneNumber, getPnvCapabilities)
  • IAsterismApiService - consent management APIs (getAsterismConsent, setAsterismConsent)
  • Java SafeParcelable classes for all request/response types

New service implementations (play-services-core)

  • RcsService - dedicated service for com.google.android.gms.rcs.START (removed from DummyService)
  • ConstellationService - implements IConstellationApiService with phone number extraction
  • AsterismService - implements IAsterismApiService with consent persistence

Phenotype flags

  • Added RCS-enabling phenotype flags for Google Messages (bugle) and Tachyon (Meet)

Build

  • Uses play-services-api as catchall for internal Google APIs (per maintainer preference)
  • Java parcelables in API module, Kotlin services in play-services-core
  • No new modules needed

Testing

  • Build verified locally
  • Unit tests structure ready for ConstellationServiceImpl and AsterismServiceImpl
  • Device testing needed for full E2E verification with Google Messages

Attribution

Based on research and prior implementations by @opstic, @BeauDevCode, @Lyapsus, and @sachinjat2802.

…ices

- Add AIDL interfaces for Constellation (service 155) and Asterism (service 199)
- Add Java SafeParcelable classes for request/response types
- Implement RcsService, ConstellationService, AsterismService in Kotlin
- Route RCS intent away from DummyService to dedicated RcsService
- Add RCS phenotype flags for Google Messages and Tachyon
- Fix phone number extraction from VerifyPhoneNumberRequest (policyId vs msisdn)
- Register all three services in AndroidManifest.xml
@hanu-14

hanu-14 commented Jul 3, 2026

Copy link
Copy Markdown
Author

This PR is superseded by #3599 (rcs-enhanced-support branch) which has more complete implementations. Closing in favor of #3599.

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