Customization guidelines

The Dialer implementation included in AOSP provides a base theme and structure you can adopt as is or modify.

In the table below, the descriptions of “SHOULD” and “MAY” are per the IETF standard defined in Key words for use in RFCs to Indicate Requirement Levels (RFC 2119), the same standard used in the Android 10 Compatibility Definition.

Customization guidelines

You can adapt or modify the base theme and structure as per the restrictions mentioned below. The following table describes the OEM responsibilities regarding customization.

Customization Description
SHOULD

Behaviors or interfaces that may be customized:

  • Adjust overall theming and styling through a resource overlay
  • Color pallette
  • Sizing
  • Text appearance
  • Widget appearance
  • Dialog appearance
  • Drawables
  • Enable or disable a feature gated by a config or change parameters configured by resources
MAY

Behaviors or interfaces Google recommends for an optimal user experience, but does not enforce.

  • Modify adaptive-responsive rules.
  • Modify the high-level UI structure of Dialer. The Layout UI component must follow the User Experience Restrictions.

Dialer belongs to a suite of system apps (including Media, Notification Center, and App Launcher), all of which share common styles and assets that are defined at different levels in the AOSP structure:

  • framework/base/core
    All Android base styles are defined here. Specifically, all system app themes are based on Theme.DeviceDefault, the theme designed for use by OEMs to customize device default appearance.

  • packages/services/Car/car_product/overlay
    This folder contains overrides to Theme.DeviceDefault which are used to produce the AOSP look and feel of Android Automotive. OEMs might opt for excluding this overlay and use their own instead.

  • packages/apps/Car/libs/car-apps-common
    Common colors and styles shared among AOSP provided system apps. These elements can be customized by OEMs using overlays under path/to/overlay/packages/apps/Car/libs/car-apps-common.

  • packages/apps/Car/Dialer
    Dialer uses its own theme, which extends from Theme.DeviceDefault (defined in framework/base). The layouts, colors, styles, and other resources of Dialer can also be customized through the use of an Overlay. Similar to libs mentioned above, the resource override can be located in path/to/overlay/packages/apps/Car/Dialer.

More documentation

For more information about AOSP theming and overlays, see Customize the build with resource overlays.