Car UI library release notes

This page describes updates made to the Car UI library in each of the releases listed below.

car-ui-lib 2.6.0

New features

  • Added a tap listener for the CarUiToolbar logo.

Issues addressed

  • Fixed an issue where CarUiToolbar's overflow dialog content would remain stale when making the updates through the plugin.
  • Fixed an issue where CarUiRecyclerView's scrollbar was not visible because incorrect insets were applied.
  • Fixed an issue when the plugin returned a null InsetsChangedListener.
  • Added a check to enforce content rendered in AppStyledView must not use Theme.CarUi.
  • Fixed default AppStyledView positioning in large landscape screens.
  • Added customization of AppStyledView background and dim amount.
  • Added support for calls to AppStyledDialog#setContentView() after AppStyledView is shown.

Deprecated these methods:

  • CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean), use CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean) instead.
  • CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean, boolean), use CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean, boolean) instead.

car-ui-lib-plugin-apis 1.5.0

New features

  • Added customization of CarUiToolbar logo tap listener.

Deprecated these items:

  • PluginFactoryOEMV6, use PluginFactoryOEMV7 instead.
  • ToolbarControllerOEMV2, use ToolbarControllerOEMV3 instead.

car-ui-lib 2.5.1

Issues addressed

  • Fixed a ProGuard issue that was preventing loading the car-ui-lib plugin.
  • Fixed forward compatibility for plugins that would cause NPE at runtime.
  • Enforce that car-ui-lib plugin has to be a system app.
  • Fixed CarUiRecyclerView not showing scrollbar in some scenarios.
  • Fixed selected tabs not updating when the plugin is used.
  • Fixed issues with instantiating SearchView when the plugin is used.
  • Initialize Car service UX restriction state callback using Activity context for correct display configuration.
  • Updated nullness annotations.

car-ui-lib 2.5.0

Issues addressed

  • Optimized plugin startup time.
  • Fixed an issue where apps were always returning 1 as max supported plugin version.
  • Removed the overwriting of theme to force Theme.CarUi from AppStyledView.
  • Added overridable method to set title on ListPreferenceFragment.

car-ui-lib-plugin-apis 1.4.0

New features

  • Allow OEM customization of CarUiPreference.

Deprecated these items:

  • PluginFactoryOEMV5, use PluginFactoryOEMV6 instead.

car-ui-lib 2.4.0

New features

  • Added support for the transition to AppStyledView.

Issues addressed

  • Updated AppStyledRecyclerViewAdapter to no longer be public.
  • Provided a convenience method for context with optimization for AppStyledDialogController.
  • Moved the AppStyledViewNavIcon definition to AppStyledDialogController.
  • Removed forced overwriting of theme to Theme.CarUi in AppStyledView.
  • Added transitions to support the rendering of AppStyledView screens.
  • Added car_ui_recycler_view_no_scrollbar to the list of items that can be overlaid.
  • Created a Gradle library for CarUiRecyclerView espresso ViewActions and ViewMatchers.
  • Refactored the app-styled view to use ScrollView.

car-ui-lib-plugin-apis 1.3.0

New features

Deprecated these items:

  • PluginFactoryOEMV4, use PluginFactoryOEMV5 instead.
  • RecyclerViewOEMV1, use RecyclerViewOEMV2 instead.
  • OnScrollListenerOEMV1, use RecyclerViewOEMV2.OnScrollListenerOEMV2 instead.

car-ui-lib 2.3.0

New features

Added new component:

  • CarUiShortcutsPopup

Added support for the following scrollbar attributes:

  • android:fadeScrollbars
  • android:scrollbars
  • android:scrollbarThumbVertical
  • android:scrollbarTrackVertical
  • android:scrollbarStyle
  • android:scrollbarFadeDuration
  • android:verticalScrollbarPosition
  • android:requiresFadingEdge

Addressed issues

  • Fixed CarUiRecyclerView, which did not maintain position upon Activity recreation.

  • Resolved bitmap serialization incompatibility between the client code and the IME service.

  • Enabled usage of NavHostFragment with PreferenceFragment.

car-ui-lib-plugin-apis 1.2.0

New features

Replaced usage of java.util.function interfaces with the following library interfaces:

  • com.android.car.ui.plugin.oemapis.BiConsumer
  • com.android.car.ui.plugin.oemapis.Consumer
  • com.android.car.ui.plugin.oemapis.Function

Deprecated these items:

  • PluginFactoryOEMV3, use PluginFactoryOEMV4 instead.
  • ToolbarControllerOEMV1, use ToolbarControllerOEMV2 instead.
  • ContentListItemOEMV1, use ContentListItemOEMV2 instead.
  • ImeSearchInterfaceOEMV1, use ImeSearchInterfaceOEMV2 instead.

Replaced the library implementation of nullness interfaces with implementations of androidx.annotations.

car-ui-lib-plugin-apis 1.1.1

This release updates the minSdkVersion to 28.

car-ui-lib 2.2.1

This release:

  • Introduces CarUiFooterPreference
  • Updates the minSdkVersion to 28.

car-ui-lib-plugin-apis 1.1.0

This release:

  • Deprecates AppStyledViewControllerOEMV1
  • Introduces AppStyledViewControllerOEMV2

  • Incorporates changes from AppStyledViewControllerOEMV1:

    public abstract int getContentAreaHeight();
    public abstract int getContentAreaWidth();
    
  • Deprecates PluginFactoryOEMV1 and PluginFactoryOEMV2

  • Introduces the PluginFactoryOEMV3 interface.

car-ui-lib 2.1.0

This release:

  • Adds AppStyledView client APIs:

    public int getContentAreaHeight();
    public int getContentAreaWidth();
    
  • Introduces CarUiPrimarySwitchPreference

  • Updates the AppStyledDialogController constructor to require Activity instead of Context:

    • Adds:

      public AppStyledDialogController(android.app.Activity);
      
    • Deprecates:

      public AppStyledDialogController(android.content.Context);
      

car-ui-lib-plugin-apis 1.0.1

This release adds nullness annotations.

car-ui-lib-plugin-apis 1.0.0

This release introduces support for the following car-ui-lib plugin APIs:

  • AppStyledViewDialog
  • CarUiRecyclerView
  • CarUiToolbar
  • CarUiListItems

car-ui-lib 2.0.0

This version, available on Google Maven, introduces car-ui-lib plugin support for these components:

  • AppStyledViewDialog
  • CarUiRecyclerView
  • CarUiToolbar
  • CarUiListItems

car-ui-lib 1.0.0

This release is available on AOSP for Android 12 and lower and provides support for: