2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
Car UI ライブラリ リリースノート
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
このページでは、下記の各リリースの Car UI ライブラリの更新内容について説明します。
car-ui-lib 2.6.0
新機能
CarUiToolbar
ロゴ タップ リスナーを追加しました。
対処された問題
CarUiToolbar
のオーバーフロー ダイアログ コンテンツが、プラグインを通じて更新を行った際に、最新状態に更新されない問題を修正しました。
- 間違ったインセットが適用されたことが原因で
CarUiRecyclerView
のスクロールバーが表示されなくなった問題を修正しました。
- プラグインが null
InsetsChangedListener
を返す際の問題を修正しました。
AppStyledView
でレンダリングされたコンテンツが Theme.CarUi
を使用してはならないことを強制適用するチェックを追加しました。
- 横表示での大画面の
AppStyledView
のデフォルト位置を修正しました。
AppStyledView
バックグラウンドと暗さの度合いのカスタマイズを追加しました。
AppStyledView
が表示された後に AppStyledDialog#setContentView()
を呼び出すサポートを追加しました。
以下のメソッドを非推奨にしました。
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean)
、代わりに CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean)
を使用してください。
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean,
boolean)
、代わりに CarUi#InsetsChangedListener(Context, View,
InsetsChangedListener, boolean, boolean)
を使用してください。
car-ui-lib-plugin-apis 1.5.0
新機能
CarUiToolbar
ロゴ タップ リスナーのカスタマイズを追加しました。
以下のアイテムを非推奨にしました。
PluginFactoryOEMV6
、代わりに PluginFactoryOEMV7
を使用してください。
ToolbarControllerOEMV2
、代わりに ToolbarControllerOEMV3
を使用してください。
car-ui-lib 2.5.1
対処された問題
- car-ui-lib プラグインの読み込みを妨げていた ProGuard の問題を修正しました。
- 実行時に NPE の原因となるプラグインの上位互換性を修正しました。
- car-ui-lib プラグインはシステムアプリでなければならないよう強制適用します。
- 一部のシナリオでスクロールバーが表示されない
CarUiRecyclerView
を修正しました。
- プラグインの使用時に選択したタブが更新されない問題を修正しました。
- プラグインの使用時に
SearchView
をインスタンス化する問題を修正しました。
- 正しいディスプレイ構成のアクティビティ コンテキストを使用して自動車サービス UX 制限状態のコールバックを初期化します。
- null 可能性アノテーションを更新しました。
car-ui-lib 2.5.0
対処された問題
- プラグインの起動時間を最適化しました。
- サポートされるプラグインの最大バージョンとしてアプリが常に 1 を返していた問題を修正しました。
AppStyledView
の Theme.CarUi
を強制的に適用するためのテーマの上書きを削除しました。
ListPreferenceFragment
でタイトルを設定するためのオーバーライド可能なメソッドを追加しました。
car-ui-lib-plugin-apis 1.4.0
新機能
CarUiPreference
の OEM のカスタマイズが可能になります。
以下のアイテムを非推奨にしました。
PluginFactoryOEMV5
、代わりに PluginFactoryOEMV6
を使用してください。
car-ui-lib 2.4.0
新機能
AppStyledView
への移行のサポートを追加しました。
対処された問題
AppStyledRecyclerViewAdapter
を非公開にしました。
AppStyledDialogController
の最適化のために、コンビニエンス メソッドを提供しました。
AppStyledViewNavIcon
の定義を AppStyledDialogController
に移動しました。
AppStyledView
の Theme.CarUi
に対するテーマの強制的な上書きを削除しました。
AppStyledView
画面のレンダリングをサポートする遷移を追加しました。
- オーバーレイ可能なアイテムのリストに
car_ui_recycler_view_no_scrollbar
を追加しました。
CarUiRecyclerView
espresso の ViewActions
と ViewMatchers
の Gradle ライブラリを作成しました。
ScrollView
を使用するようにアプリスタイルのビューをリファクタリングしました。
car-ui-lib-plugin-apis 1.3.0
新機能
以下のアイテムを非推奨にしました。
PluginFactoryOEMV4
、代わりに PluginFactoryOEMV5
を使用してください。
RecyclerViewOEMV1
、代わりに RecyclerViewOEMV2
を使用してください。
OnScrollListenerOEMV1
、代わりに RecyclerViewOEMV2.OnScrollListenerOEMV2
を使用してください。
car-ui-lib 2.3.0
新機能
以下の新しいコンポーネントを追加しました。
以下のスクロールバー属性のサポートを追加しました。
android:fadeScrollbars
android:scrollbars
android:scrollbarThumbVertical
android:scrollbarTrackVertical
android:scrollbarStyle
android:scrollbarFadeDuration
android:verticalScrollbarPosition
android:requiresFadingEdge
対処された問題
Activity
の再作成時に位置を維持していなかった CarUiRecyclerView
を修正しました。
クライアント コードと IME サービス間のビットマップのシリアル化の非互換性を解消しました。
NavHostFragment
の PreferenceFragment
との併用を可能にしました。
car-ui-lib-plugin-apis 1.2.0
新機能
java.util.function
インターフェースの使用を以下のライブラリ インターフェースに置き換えました。
com.android.car.ui.plugin.oemapis.BiConsumer
com.android.car.ui.plugin.oemapis.Consumer
com.android.car.ui.plugin.oemapis.Function
以下のアイテムを非推奨にしました。
PluginFactoryOEMV3
、代わりに PluginFactoryOEMV4
を使用してください。
ToolbarControllerOEMV1
、代わりに ToolbarControllerOEMV2
を使用してください。
ContentListItemOEMV1
、代わりに ContentListItemOEMV2
を使用してください。
ImeSearchInterfaceOEMV1
、代わりに ImeSearchInterfaceOEMV2
を使用してください。
null 可能性インターフェースのライブラリ実装を androidx.annotations
の実装に置き換えました。
car-ui-lib-plugin-apis 1.1.1
このリリースでは、minSdkVersion
を 28 に更新します。
car-ui-lib 2.2.1
このリリースでは:
CarUiFooterPreference
を導入します。
minSdkVersion
を 28 に更新します。
car-ui-lib-plugin-apis 1.1.0
このリリースでは:
AppStyledViewControllerOEMV1
を非推奨にします。
AppStyledViewControllerOEMV2
を導入します。
AppStyledViewControllerOEMV1
からの変更点:
public abstract int getContentAreaHeight();
public abstract int getContentAreaWidth();
PluginFactoryOEMV1
と PluginFactoryOEMV2
を非推奨にします。
PluginFactoryOEMV3
インターフェースを導入します。
car-ui-lib 2.1.0
このリリースでは:
AppStyledView
クライアント API を追加します。
public int getContentAreaHeight();
public int getContentAreaWidth();
CarUiPrimarySwitchPreference
を導入します。
Context
の代わりに Activity
を要求するように AppStyledDialogController
コンストラクタを更新します。
追加:
public AppStyledDialogController(android.app.Activity);
非推奨:
public AppStyledDialogController(android.content.Context);
car-ui-lib-plugin-apis 1.0.1
このリリースでは、null 可能性アノテーションを追加します。
car-ui-lib-plugin-apis 1.0.0
このリリースでは、以下の car-ui-lib
プラグイン API のサポートを導入します。
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
car-ui-lib 2.0.0
このバージョン(Google Maven で利用可能)では、次のコンポーネントに対する car-ui-lib
プラグインのサポートが導入されています。
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
car-ui-lib 1.0.0
このリリースは Android 12 以下の AOSP で利用可能で、以下のサポートを提供します。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-26 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-26 UTC。"],[],[],null,["# Car UI library release notes\n\nThis page describes updates made to the Car UI library in each of the releases\nlisted below.\n\ncar-ui-lib 2.6.0\n----------------\n\n### New features\n\n- Added a tap listener for the `CarUiToolbar` logo.\n\n### Issues addressed\n\n- Fixed an issue where `CarUiToolbar`'s overflow dialog content would remain stale when making the updates through the plugin.\n- Fixed an issue where `CarUiRecyclerView`'s scrollbar was not visible because incorrect insets were applied.\n- Fixed an issue when the plugin returned a null `InsetsChangedListener`.\n- Added a check to enforce content rendered in `AppStyledView` must not use `Theme.CarUi`.\n- Fixed default `AppStyledView` positioning in large landscape screens.\n- Added customization of `AppStyledView` background and dim amount.\n- Added support for calls to `AppStyledDialog#setContentView()` after `AppStyledView` is shown.\n\nDeprecated these methods:\n\n- `CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean)`, use `CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean)` instead.\n- `CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean,\n boolean)`, use `CarUi#InsetsChangedListener(Context, View,\n InsetsChangedListener, boolean, boolean)` instead.\n\ncar-ui-lib-plugin-apis 1.5.0\n----------------------------\n\n### New features\n\n- Added customization of `CarUiToolbar` logo tap listener.\n\nDeprecated these items:\n\n- `PluginFactoryOEMV6`, use `PluginFactoryOEMV7` instead.\n- `ToolbarControllerOEMV2`, use `ToolbarControllerOEMV3` instead.\n\ncar-ui-lib 2.5.1\n----------------\n\n### Issues addressed\n\n- Fixed a ProGuard issue that was preventing loading the car-ui-lib plugin.\n- Fixed forward compatibility for plugins that would cause NPE at runtime.\n- Enforce that car-ui-lib plugin has to be a system app.\n- Fixed `CarUiRecyclerView` not showing scrollbar in some scenarios.\n- Fixed selected tabs not updating when the plugin is used.\n- Fixed issues with instantiating `SearchView` when the plugin is used.\n- Initialize Car service UX restriction state callback using Activity context for correct display configuration.\n- Updated nullness annotations.\n\ncar-ui-lib 2.5.0\n----------------\n\n### Issues addressed\n\n- Optimized plugin startup time.\n- Fixed an issue where apps were always returning 1 as max supported plugin version.\n- Removed the overwriting of theme to force `Theme.CarUi` from `AppStyledView`.\n- Added overridable method to set title on `ListPreferenceFragment`.\n\ncar-ui-lib-plugin-apis 1.4.0\n----------------------------\n\n### New features\n\n- Allow OEM customization of `CarUiPreference`.\n\nDeprecated these items:\n\n- `PluginFactoryOEMV5`, use `PluginFactoryOEMV6` instead.\n\ncar-ui-lib 2.4.0\n----------------\n\n### New features\n\n- Added support for the transition to `AppStyledView`.\n\n### Issues addressed\n\n- Updated `AppStyledRecyclerViewAdapter` to no longer be public.\n- Provided a convenience method for context with optimization for `AppStyledDialogController`.\n- Moved the `AppStyledViewNavIcon` definition to `AppStyledDialogController`.\n- Removed forced overwriting of theme to `Theme.CarUi` in `AppStyledView`.\n- Added transitions to support the rendering of `AppStyledView` screens.\n- Added `car_ui_recycler_view_no_scrollbar` to the list of items that can be overlaid.\n- Created a Gradle library for `CarUiRecyclerView` espresso `ViewActions` and `ViewMatchers`.\n- Refactored the app-styled view to use `ScrollView`.\n\ncar-ui-lib-plugin-apis 1.3.0\n----------------------------\n\n### New features\n\nDeprecated these items:\n\n- `PluginFactoryOEMV4`, use `PluginFactoryOEMV5` instead.\n- `RecyclerViewOEMV1`, use `RecyclerViewOEMV2` instead.\n- `OnScrollListenerOEMV1`, use `RecyclerViewOEMV2.OnScrollListenerOEMV2` instead.\n\ncar-ui-lib 2.3.0\n----------------\n\n### New features\n\nAdded new component:\n\n- `CarUiShortcutsPopup`\n\nAdded support for the following scrollbar attributes:\n\n- `android:fadeScrollbars`\n- `android:scrollbars`\n- `android:scrollbarThumbVertical`\n- `android:scrollbarTrackVertical`\n- `android:scrollbarStyle`\n- `android:scrollbarFadeDuration`\n- `android:verticalScrollbarPosition`\n- `android:requiresFadingEdge`\n\n### Addressed issues\n\n- Fixed `CarUiRecyclerView`, which did not maintain position upon `Activity`\n recreation.\n\n- Resolved bitmap serialization incompatibility between the client code and\n the IME service.\n\n- Enabled usage of `NavHostFragment` with `PreferenceFragment`.\n\ncar-ui-lib-plugin-apis 1.2.0\n----------------------------\n\n### New features\n\nReplaced usage of `java.util.function` interfaces with the following library\ninterfaces:\n\n- `com.android.car.ui.plugin.oemapis.BiConsumer`\n- `com.android.car.ui.plugin.oemapis.Consumer`\n- `com.android.car.ui.plugin.oemapis.Function`\n\nDeprecated these items:\n\n- `PluginFactoryOEMV3`, use `PluginFactoryOEMV4` instead.\n- `ToolbarControllerOEMV1`, use `ToolbarControllerOEMV2` instead.\n- `ContentListItemOEMV1`, use `ContentListItemOEMV2` instead.\n- `ImeSearchInterfaceOEMV1`, use `ImeSearchInterfaceOEMV2` instead.\n\nReplaced the library implementation of nullness interfaces with implementations\nof `androidx.annotations`.\n\ncar-ui-lib-plugin-apis 1.1.1\n----------------------------\n\nThis release updates the `minSdkVersion` to 28.\n\ncar-ui-lib 2.2.1\n----------------\n\nThis release:\n\n- Introduces `CarUiFooterPreference`\n- Updates the `minSdkVersion` to 28.\n\ncar-ui-lib-plugin-apis 1.1.0\n----------------------------\n\nThis release:\n\n- Deprecates `AppStyledViewControllerOEMV1`\n- Introduces `AppStyledViewControllerOEMV2`\n\n- Incorporates changes from `AppStyledViewControllerOEMV1`:\n\n public abstract int getContentAreaHeight();\n public abstract int getContentAreaWidth();\n\n- Deprecates `PluginFactoryOEMV1` and `PluginFactoryOEMV2`\n\n- Introduces the `PluginFactoryOEMV3` interface.\n\ncar-ui-lib 2.1.0\n----------------\n\nThis release:\n\n- Adds `AppStyledView` client APIs:\n\n public int getContentAreaHeight();\n public int getContentAreaWidth();\n\n- Introduces `CarUiPrimarySwitchPreference`\n\n- Updates the `AppStyledDialogController` constructor to require `Activity`\n instead of `Context`:\n\n - Adds:\n\n public AppStyledDialogController(android.app.Activity);\n\n - Deprecates:\n\n public AppStyledDialogController(android.content.Context);\n\ncar-ui-lib-plugin-apis 1.0.1\n----------------------------\n\nThis release adds nullness annotations.\n\ncar-ui-lib-plugin-apis 1.0.0\n----------------------------\n\nThis release introduces support for the following `car-ui-lib` plugin APIs:\n\n- `AppStyledViewDialog`\n- `CarUiRecyclerView`\n- `CarUiToolbar`\n- `CarUiListItems`\n\ncar-ui-lib 2.0.0\n----------------\n\nThis version, available on [Google\nMaven](https://maven.google.com/web/index.html?#com.android.car.ui),\nintroduces `car-ui-lib` plugin support for these components:\n\n- `AppStyledViewDialog`\n- `CarUiRecyclerView`\n- `CarUiToolbar`\n- `CarUiListItems`\n\ncar-ui-lib 1.0.0\n----------------\n\nThis release is available on AOSP for Android 12 and lower and provides\nsupport for:\n\n- `AppStyledViewDialog`\n- [`CarUiRecyclerView`](/docs/devices/automotive/hmi/car_ui/caruirecyclerview)\n- [`CarUiToolbar`](/docs/devices/automotive/hmi/car_ui/toolbar_rro)\n- [`CarUiListItems`](/docs/devices/automotive/hmi/car_ui/caruilistitem)\n- Dialog\n- Resource customization through [runtime resource overlays (RROs)](/docs/core/architecture/rros)\n- [`PreferencesFragment`](/docs/devices/automotive/hmi/car_ui/caruipreference)\n- [Rotary support](/docs/devices/automotive/hmi/rotary_controller/oem_integration)\n- `WideScreenImeKeyboard`"]]