Release 1.0.3999-1740 - 01 Aug 2022, 14:33
MediaSourceAttributionPolicygiving the possibility to override source accent color.
Adding accent color theme attribute for each
MediaPolicyFrontendExtensionto override the source accent color if needed:
Note that the source accent color is only visible in the play button of the Spotify playlist view in the stock media frontend implementation.
- Fixes Android 8 PAN and PBAN related crashes.
- Contacts API: Add the
sourceproperty to the
Contactclass. This property identifies the device or service from which the contact originates. For example, if the contact originates from a paired phone,
sourcewill identify the phone from which the contact was synchronized.
Release 1.0.3982-1720 - 27 Jul 2022, 08:52
IviActivityTestCase.extendUiDeviceForEmbeddedActivities()to help access embedded 3rd-party activities in integration tests.
- Added support for the Alexa
TrafficDetailsTemplate, which is a display card with helpful travel information such as distance and time to some POI (Point Of Interest). The display card can be triggered by asking Alexa something like: "Alexa, how long will it take me to get to Paris?".
- Added the ability to specify the priority in which a frontend is created, by splitting
Frontend.isReady, a way for a frontend to define whether it is ready to be presented to the user. It's one of the building blocks of the upcoming splash screen.
- Added support for
ProcessPanelto change their
ProcessPanel.Priorityat runtime when the priority of a process changes.
ProcessPanel.priorityfield was changed to a
This type contains a
ProcessPanel.Priorityand an unique progressive ID to determine priority unambiguously, even with panels with the same priority.
Process panels can now call
ProcessPanel.setPriority()to change their process priority.
- Update of the
secondaryTextand convert them to a
- Add a logo property (
- Add Media API
UserFlowActionPolicyfor a media source's
PolicyProvidera to customize what happens when the user selects a source which needs to be logged in to, and what happens when the a source's settings must be shown.
- Added a new type of panel
Release 1.0.3934-1671 - 15 Jul 2022, 15:55
- Fix for not being able to connect and disconnect Bluetooth devices when running on an Android 8.1 platform.
Release 1.0.3930-1663 - 15 Jul 2022, 08:41
- A new query called
FindContactsByDisplayNamesis added to find contacts based on display names.
Release 1.0.3897-1637 - 11 Jul 2022, 14:45
- Added support for sending NavApp navigation favorites to Alexa. This allows the user to say: "Alexa, navigate to Work / Home / <Favorite name>".
Favorites are only sent to Alexa if the user has provided his consent ("Sync Vehicle Navigation Favorites" toggle in Alexa debug tab).
Known issues: this currently only works when offline due to issues with the Alexa SDK.
Release 1.0.3894-1635 - 11 Jul 2022, 11:00
- Fix for crash in libmapdisplay-clientlib during rotation.
- Fixed a crash which happens when (dis)connecting the HID Bluetooth device profile.
- Reworked the media domain testing API. All
ViewMatchers and waiters are now grouped inside multiple kotlin objects, to group them by the type of panel in the stock media frontend they belong with.
The objects are:
Multiple API calls were removed due to being not relevant for customer testing, and some new useful ones were added.
Release 1.0.3880-1630 - 06 Jul 2022, 13:24
- Extended Alexa example app to show addition and usage of Car Control custom assets.
More information on Alexa Car Control and custom assets: https://alexa.github.io/alexa-auto-sdk/docs/explore/features/car-control
- Add a new contacts query that allows frontend to find a contact based on a
- Media API changes:
MediaItemDataExtractionPolicyis renamed to
PolicyProvider::extractItemDataPolicyis renamed to
MediaEntryGroupItem::itemDatais renamed to
- Secondary constructor added to
IviMediaItemBuilderto copy and modify an existing
- Added to media domain testing API the
MediaControltesting helper classes:
Add to media domain testing API the frontend panel testing helper classes
Release 1.0.3863-1614 - 01 Jul 2022, 05:37
- Adds functionality to install/uninstall Android apps from the App Store debug menu.
Release 1.0.3860-1612 - 30 Jun 2022, 08:24
MediaSettingsServicefrom public API.
- Improved Media API documentation.
Release 1.0.3855-1607 - 29 Jun 2022, 05:35
- Alexa Notification Indicator showed as a badge on top of the Alexa Hands-free indicator when there are available Alexa notifications.
VpaMediatorServiceAPI extended with hasPendingNotifications property.
Release 1.0.3849-1603 - 28 Jun 2022, 05:36
- Incoming calls are using new Contacts
DataSourceAPI: resolving a phone number is based on a query applied to the contacts data source.
Release 1.0.3845-1596 - 24 Jun 2022, 15:17
MediaPlaybackViewModel.iconArtUri: LiveData<Uri?>has been replaced with
- Refactored global tokens and introduced generic attributes for size, spacing, radius and icon size categories.
The mentioned categories use a baseline attribute which is identified as tt_category_1.
The postfix value indicates the multiplication factor, e.g. when
tt_size_1is 8dp then
Spacing conversion table
Previous API New API tt_spacing_xxxs tt_spacing_1 tt_spacing_xxs tt_spacing_2 tt_spacing_xs tt_spacing_4 tt_spacing_s tt_spacing_5 tt_spacing_m tt_spacing_6 tt_spacing_l tt_spacing_8 tt_spacing_xl tt_spacing_10 tt_spacing_xxl tt_spacing_12 tt_spacing_xxxl tt_spacing_16
Radius conversion table
Previous API New API tt_radius_xs tt_radius_0 tt_radius_s tt_radius_2 tt_radius_m tt_radius_4 tt_radius_l tt_radius_25
Icon size conversion table
Previous API New API tt_icon_size_xxs tt_icon_size_3 tt_icon_size_xs tt_icon_size_4 tt_icon_size_s tt_icon_size_6 tt_icon_size_m tt_icon_size_7 tt_icon_size_l tt_icon_size_8 tt_icon_size_xl tt_icon_size_11 tt_icon_size_xxl tt_icon_size_15 tt_icon_size_xxxl tt_icon_size_20
Release 1.0.3841-1590 - 23 Jun 2022, 12:48
- The active media source will stay active, even on error, to prevent the UI changing between sources unpredictably.
Release 1.0.3836-1585 - 23 Jun 2022, 05:34
- All Media domain API were changed to use
java.time.Durationwhenever a time duration is involved. This helps the media domain API be more uniform and in line with the rest of the platform, makes unit conversions much easier, and simplifies using the API.
Original API New API IviMediaItem.durationMs(): Long IviMediaItem.duration(): Duration IviMediaItemBuilder.withDurationMs(Long) IviMediaItemBuilder.withDuration(Duration) MediaPlaybackTimeInfo.durationMs: Long? MediaPlaybackTimeInfo.duration: Duration? MediaPlaybackTimeInfo.positionMs: Long? MediaPlaybackTimeInfo.position: Duration? MediaPlaybackTimeInfo.positionOrZero(): Long MediaPlaybackTimeInfo.positionOrZero(): Duration
(returns Duration.ZERO for the zero case)
MediaPlaybackTimeInfo.durationOrZero(): Long MediaPlaybackTimeInfo.durationOrZero(): Duration
(returns Duration.ZERO for the zero case)
StandardActionId.SeekAction(Long) StandardActionId.SeekAction(Duration) MediaEntryGroupItem.durationMs: Long MediaEntryGroupItem.duration: Duration MediaItemData.durationMs: Long MediaItemData.duration: Duration MediaPlaybackViewModel.durationMs: LiveData< Long > MediaPlaybackViewModel.duration: LiveData< Duration > MediaPlaybackViewModel.elapsedTimeMs: LiveData< Long? > MediaPlaybackViewModel.elapsedTime: LiveData< Duration? > MediaPlaybackViewModel.remainingTimeMs: LiveData< Long? > MediaPlaybackViewModel.remainingTime: LiveData< Duration? > TouchTrackViewModel(LiveData< Long >, ...) TouchTrackViewModel(LiveData< Duration >, ...) MediaBundleExtras.EXTRA_IVI_MEDIA_POSITION
(Bundle extra of type Long)
(Bundle extra of type Duration)
Development options: Options.initialConnectionTimeMs: Long Options.initialConnectionTime: Duration
(Actual timeout length is unchanged)
Options.browsingRequestTimeoutMs: Long Options.browsingRequestTimeout: Duration
(Actual timeout length is unchanged)
Testing tools: createMediaItem(..., durationMs: Long?, ...)
(top level function in com.tomtom.ivi.appsuite.media.api.testing.tools)
createMediaItem(..., duration: Duration?, ...)
Additionally, two new convenience Kotlin coroutine API wrappers taking a
java.time.Durationtype instead of
Release 1.0.3832-1584 - 22 Jun 2022, 05:37
- Media process panel use process panel adaptive layout.
Remove open now playing button from media process panel.
Release 1.0.3830-1580 - 21 Jun 2022, 05:34
- Privacy Mode feature for Alexa:
Introduce a new API,
enablePrivacyMode, as part of the
When enabled, a user cannot invoke Alexa and Alexa will not proactively start a conversation or send any notifications to the user.
This can be used in restricted modes such as valet or for guest drivers.
When enabled, all Alexa functionalities are completely disabled as well as all functionalities that include Alexa voice (e.g. audio instructions during navigation, reading of messages).
Release 1.0.3828-1579 - 20 Jun 2022, 13:54
- Since the adaptive behavior of the process panel was introduced, the process bar panel was not always a bar any more, so that part of the name was removed.
The following has been renamed:
- The dial pad can be opened from the process panel.
The dial pad will be the default tab when opening the communication frontend if there is an ongoing call.
- Add a Dial Pad tab to the communication frontend. With the dial pad a phone number can be manually entered to be called. And it can be used to send DTMF tones during a call to navigate menus.
Release 1.0.3810-1559 - 16 Jun 2022, 05:33
- Adds a switch to the App Store tab of the debug menu allowing display of Android apps to be toggled on and off.
- Add the list of countries supported by a VPA to the
VpaProperties, exposed by the
- Added Android 8.1 compatibility for
- Recent calls is using
IviDataSource: Finding call log contacts based on phone number query.
- Process bar is using
IviDataSource: Showing contacts details on the process bar based on phone number query.
Release 1.0.3806-1554 - 15 Jun 2022, 05:41
- Add progress bar to process panel template
- Alexa's search and navigation capabilities have been extended to the offline use case.
It is now possible to ask similar questions as in the online case:
- "Alexa, show me nearby Asian restaurants"
- "Alexa, take me to Starbucks"
- "Alexa, what's the address of Chase Bank in San Francisco?"
- "Alexa, what's the best way to 2795 Augustine Drive?"
- "Alexa, give me directions to Seattle"
This feature is only available if the application is configured to use onboard map visualization.
Release 1.0.3791-1534 - 09 Jun 2022, 05:40
- Process panel template could be now reused in task process panel:
ProcessBarFragmentis renamed to
ProcessFragmentBaseand offers two abstract classes to implement:
ProcessBarViewModelis renamed to
ProcessViewModelBaseand offers two abstract classed to implement:
Choose suitable variant depending on the panel.
- Add a safety lock static configuration in module
- Improve performance of trace events.
- New media domain API
SetRatingAction. This type of standard action allows giving a rating to the currently played media.
Release 1.0.3770-1513 - 01 Jun 2022, 12:44
- Reduce vertical padding within the main menu overflow panel.
- Fix issue during media playback where the seeking controls could be incorrectly enabled.
The media API
TouchTrackViewModelwas changed to clarify its usage:
* Constructor parameter
TouchTrackViewModel.isSeekActionSupported: LiveData<Boolean>is not a public value anymore but just a parameter.
* Public value
TouchTrackViewModel.isSeekingAvailable: LiveData<Boolean>has been introduced.
- Dismiss login and settings panels if the safety lock is activated.
MediaFrontendContext.Panels.openActivityPanel: onFinishedCallbackis always called if the activity panel is dismissed by any reason.
- When there are several quick replies available to the user, only the selected one is shown as sent.
AppTileViewUI control has been promoted from being
Release 1.0.3712-1453 - 13 May 2022, 12:40
- Changes in media API:
MediaPolicyFrontendExtensionconstructor takes a package name and an optional class name instead of a
SourceId. This allows policies to be applied to the entire media source package.
- The constructor and fields of
MediaConfigurationare no longer public. The
asMediaConfigurationfunction is now public and is intended to create
MediaConfigurationobjects. Use the existing
getPolicyProvidermethod to access policy providers.
- TomTom IndiGO now uses type-safe properties for quantities in its APIs to expose physical units such as time duration, distance, energy, power, etc. Property names no longer have an unit suffix, for example,
- Introduce a new contacts API that supports paging. The
MirrorableMapcontacts API will be marked as deprecated and then removed.
The new contacts API uses
IviDataSource, that expose a page of contacts without requiring the full data set to be loaded in memory. It also allows querying and sorting contacts.
Release 1.0.3699-1437 - 09 May 2022, 15:51
- Modifications to
MenuServiceAPI so it no longer exposes a map combining menu items and state (ordering and selected state) but instead exposes an ordered list of menu items and a separate property indicating the selected menu item (or `null` if no item is selected).
Also, the menu item registration APIs have been removed from the
MenuServiceAPI as menu item registration is now the responsibility of
- Add a
PanelTransitionDestinationparameter in the
TaskPanelSubContainerManager. This allows to specify the destination the
TaskPanelshould transition to when going out of view.
- Fixed Companion App communication via Bluetooth Low Energy. Some Android phones could not be reconnected when connection is lost.
Release 1.0.3671-1412 - 04 May 2022, 05:39
- Introduce new media domain APIs in
MediaSourceAttributionPolicyto allow changing the tab icons shown in the Now Playing View panel.
Release 1.0.3637-1373 - 22 Apr 2022, 19:28
rootMetadatafield from media API is now a
Release 1.0.3629-1363 - 21 Apr 2022, 12:50
- Allow configuration generator Gradle plugin to be used in combination with build product flavors. Fixes build error: `Task with path 'preDebugBuild' not found in project`.
- Fixed an Android Bluetooth phone disconnect problem. Disconnecting a Bluetooth phone triggered from the IndiGO platform, sometimes resulted in the Bluetooth phone not being disconnected.
Release 1.0.3593-1327 - 14 Apr 2022, 13:00
- Let the Alexa Auto Client Service (AACS) handle timezone synchronization from platform to Alexa, and from Alexa to platform.