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 useTheme.CarUi
. - Fixed default
AppStyledView
positioning in large landscape screens. - Added customization of
AppStyledView
background and dim amount. - Added support for calls to
AppStyledDialog#setContentView()
afterAppStyledView
is shown.
Deprecated these methods:
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean)
, useCarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean)
instead.CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean, boolean)
, useCarUi#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
, usePluginFactoryOEMV7
instead.ToolbarControllerOEMV2
, useToolbarControllerOEMV3
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
fromAppStyledView
. - 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
, usePluginFactoryOEMV6
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 toAppStyledDialogController
. - Removed forced overwriting of theme to
Theme.CarUi
inAppStyledView
. - 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
espressoViewActions
andViewMatchers
. - Refactored the app-styled view to use
ScrollView
.
car-ui-lib-plugin-apis 1.3.0
New features
Deprecated these items:
PluginFactoryOEMV4
, usePluginFactoryOEMV5
instead.RecyclerViewOEMV1
, useRecyclerViewOEMV2
instead.OnScrollListenerOEMV1
, useRecyclerViewOEMV2.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 uponActivity
recreation.Resolved bitmap serialization incompatibility between the client code and the IME service.
Enabled usage of
NavHostFragment
withPreferenceFragment
.
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
, usePluginFactoryOEMV4
instead.ToolbarControllerOEMV1
, useToolbarControllerOEMV2
instead.ContentListItemOEMV1
, useContentListItemOEMV2
instead.ImeSearchInterfaceOEMV1
, useImeSearchInterfaceOEMV2
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
andPluginFactoryOEMV2
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 requireActivity
instead ofContext
: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:
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
- Dialog
- Resource customization through runtime resource overlays (RROs)
PreferencesFragment
- Rotary support
WideScreenImeKeyboard