Skip to content

Customer Center Android uses system dark mode instead of host app appearance override #3675

Description

@jjjeeerrr222

Describe the bug
On Android, Customer Center appears to choose its light/dark Customer Center appearance from the device system theme rather than from the host app's effective appearance.

In our app, users can override the app appearance independently of the Android system appearance. When the Android system theme is Light but the app is forced to Dark, Customer Center still appears to use the light-mode Customer Center colors. This causes low-contrast / unreadable buttons in Customer Center.

The same configuration works correctly on iOS: Customer Center follows the app's effective appearance even when the app overrides the system appearance.

  1. Environment

    1. Platform: Android
    2. SDK version: 10.9.1
    3. OS version: Android device, exact OS version TBD
    4. Android Studio version: Panda 4 | 2025.3.4
    5. How widespread is the issue. Percentage of devices affected: 100% of tested Android devices/configurations where system theme is Light and app appearance is forced Dark.
  2. Debug logs that reproduce the issue

  3. Steps to reproduce, with a description of expected vs. actual behavior

    1. Configure an Android app with its own in-app appearance setting, independent of system appearance.
    2. Set Android system appearance to Light.
    3. Set the app's appearance override to Dark.
    4. Present RevenueCat Customer Center using the Compose CustomerCenter composable inside the app's dark MaterialTheme.
    5. Observe that Customer Center buttons use colors appropriate for the light Customer Center appearance, making them hard to read against the dark app UI.
    6. Change the app appearance setting to follow System, then set Android system appearance to Dark.
    7. Present Customer Center again.

    Expected behavior:
    Customer Center should use the host app's effective appearance / current Compose theme, so if the app is currently dark, Customer Center should use dark appearance colors even if the Android system theme is light.

    Actual behavior:
    Customer Center appears to key off Android system dark mode. If Android system theme is Light but the app is forced Dark, Customer Center uses light appearance colors and buttons become low contrast.

  4. Other information (e.g. stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, etc.)
    Related issues:

    I checked the latest public release, 10.11.0, and the Customer Center implementation still appears to call isSystemInDarkTheme() internally in InternalCustomerCenter.kt, including when creating/loading Customer Center state and deriving the color scheme. That makes it difficult for apps with an app-level appearance override to keep Customer Center aligned with the app's effective theme.

Additional context
Our RevenueCat dashboard Customer Center appearance has separate Light and Dark colors configured. The issue only happens on Android when the app appearance override differs from Android system appearance. iOS behaves as expected and follows the app's effective appearance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions