App para carro
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
13 de novembro de 2024 | 1.4.0 | - | 1.7.0-beta03 | - |
Declarar dependências
Para adicionar uma dependência à Biblioteca Car App, é preciso adicionar o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle
do
seu app ou módulo:
Groovy
dependencies { implementation "androidx.car.app:app:1.4.0" // For Android Auto specific functionality implementation "androidx.car.app:app-projected:1.4.0" // For Android Automotive specific functionality implementation "androidx.car.app:app-automotive:1.4.0" // For testing testImplementation "androidx.car.app:app-testing:1.4.0" }
Kotlin
dependencies { implementation("androidx.car.app:app:1.4.0") // For Android Auto specific functionality implementation("androidx.car.app:app-projected:1.4.0") // For Android Automotive specific functionality implementation("androidx.car.app:app-automotive:1.4.0") // For testing testImplementation("androidx.car.app:app-testing:1.4.0") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.7
Versão 1.7.0-beta03
13 de novembro de 2024
Correção de uma vulnerabilidade de segurança e outras correções gerais de bugs. Se você estiver usando uma versão anterior, atualize para usar esta versão.
Lançamento de androidx.car.app:app-*:1.7.0-beta03
. A versão 1.7.0-beta03 contém estas confirmações.
Mudanças na API
- Atualização do código de serialização / desserialização do CAL para processar apenas objetos com a anotação
@CarProtocol
declarada. (Ic730e). - Agora,
CarAppExtender
pode ser usado para estender o frameworkNotification.Builder
em vez de apenasNotificationCompat.Builder
. (Id3ad7). - Adicione
KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST
extra. (I201f9). - O construtor vazio do Builder foi descontinuado em
ConversationItem
e substituído por um construtor que usa os parâmetros necessários. Também adiciona uma verificação para evitar mensagens nulas. (Ic8221).
Correções de bugs
- Verifique se o mapa
PlaceList
usa o título do cabeçalho de string (somente texto). (Ic992f). - Essa biblioteca agora usa anotações de nulidade JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar os seguintes argumentos do compilador para aplicar o uso correto:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
. (Ib5367, b/326456246).
Versão 1.7.0-beta02
18 de setembro de 2024
Lançamento de androidx.car.app:app-*:1.7.0-beta02
. A versão 1.7.0-beta02 contém estas confirmações.
Mudanças na API
KEY_ROOT_HINT_MEDIA_HOST_VERSION
extra foi adicionado (I8796b).- Substituir a classe
TabContents.Api8Builder
pelo construtor@ExperimentalCarApi
na classeTabContents.Builder
(I26fbe). - Ação de intent e extras foram adicionados para
CarMediaApp
(I50782). - As APIs de mensagens foram marcadas como não experimentais (I0b070).
- O carregamento de itens remotos foi adicionado a
SectionedItemTemplate
. Isso permite que listas longas sejam carregadas sem falhas (I0d122). - Adição de
SectionedItemTemplate
à lista de modelos com suporte emTabTemplate
na API 8. (Idc5d6).
Correções de bugs
- O contorno manual de acesso a novas APIs da plataforma foi removido, já que isso acontece automaticamente pelo modelagem de API ao usar o R8 com o AGP 7.3 ou mais recente (por exemplo, o R8 versão 3.3) e para todos os builds ao usar o AGP 8.1 ou mais recente (por exemplo, o D8 versão 8.1). Os clientes que não estão usando o AGP precisam fazer upgrade para a versão 8.1 ou mais recente do D8. Veja mais detalhes neste artigo. (I9496c, b/345472586).
Versão 1.7.0-beta01
26 de junho de 2024
Lançamento de androidx.car.app:app-*:1.7.0-beta01
. A versão 1.7.0-beta01 contém estas confirmações. Os recursos são os mesmos publicados na versão alpha01, que são repetidos abaixo:
Novos recursos
- Mapa com conteúdo:novo modelo de mapa e modelo de conteúdo, que por enquanto pode ser lista / grade / painel / mensagem.
RoutePreview
,PlaceListNavigation
eMapTemplate
foram descontinuados. Os modelos vão continuar funcionando como estão.- Os apps de exemplo foram atualizados para mostrar o uso de
MapWithContent
em vez de modelos descontinuados
- Item de conversa:novas APIs para mostrar conversas (IM, SMS) e leitura do Google Assistente no carro.
- Dimensões do veículo:nova API para extrair medidas do veículo (dados no AAOS no momento).
Mudanças na API
- A tag
@ExperimentalCarApi
foi adicionada aMediaPlaybackTemplate.Builder
. (Ic1957). - Adiciona uma nova
SectionedItemTemplate
na versão experimental. (I5958a). - Introdução de
CarAppApiLevel 8
(I3fa22). - Adiciona
MediaPlaybackTemplate
para mostrar conteúdo durante a reprodução de mídia na biblioteca de apps para carros. (I3c10d). - Adição de uma nova API para que os apps detectem se o sistema oferece suporte a áudio em segundo plano enquanto o usuário dirige (I0f868).
Correções de bugs
- Correção de algumas instâncias de vazamentos de memória e falhas no código do cliente do CAL e no app de exemplo de navegação do CAL. (I55e04)
- Substitua
requireNotNull instances
no métodoonDestroy
doBaseCarAppActivity
por verificações if-null para evitar falhas. (Iec676).
Versão 1.7.0-alpha02
17 de abril de 2024
Lançamento de androidx.car.app:app-*:1.7.0-alpha02
. A versão 1.7.0-alpha02 contém estas confirmações.
Novos recursos
- Foram adicionadas flags descontinuadas para modelos baseados em mapa que o modelo
MapWithContent
vai ativar.
Mudanças na API
- Descontinuação de
MapTemplate
,RoutePreviewNavigationTemplate
ePlaceListNavigationTemplate
antigos e incentivo ao uso do novoMapWithContentTemplate
(Ib0a08).
Versão 1.7.0-alpha01
3 de abril de 2024
Lançamento de androidx.car.app:app-*:1.7.0-alpha01
. Movemos nosso esquema de versionamento de biblioteca para corresponder à versão ativa da CarApi. Isso é para reduzir a confusão no esquema de nomenclatura com base no feedback dos desenvolvedores. Como resultado, vamos pular as versões 1.5 / 1.6 e passar diretamente para a 1.7. A versão 1.7.0-alpha01 contém estas confirmações.
Novos recursos
- Mapa com conteúdo: novo modelo chamado
MapWithContent
, compatível com lista / grade / painel / mensagem como conteúdo dentro de um mapa.RoutePreview
,PlaceListNavigation
e modelos de mapa foram descontinuados.- Os apps de exemplo foram atualizados para mostrar a funcionalidade de modelos descontinuados usando
MapWithContent
.
- Item de conversa: novas APIs para mostrar conversas (IM, SMS) e leitura do Google Assistente no carro.
- Dimensões do veículo: nova API para extrair medidas do veículo (dados no AAOS no momento).
Mudanças na API
- O tipo de imagem de linha extra pequena foi marcado como experimental (I5184b).
- Adição da API
CarInfo#fetchExteriorDimensions
, que permite o acesso a informações de dimensões externas do veículo, como altura, largura etc. (Ia40c5). - A tag
ExperimentalAPI
foi removida deMapWithContentTemplate
(I66db8). - O parâmetro
GridItem#setTitle
foi atualizado para ser nullable. (I3d610). - A API
GetHeader
não requer a API 7 porque é compatível com versões anteriores (I8c812). - Inclusão da compatibilidade de
Header
comListTemplate
, descontinuação deheaderAction
,headerTitle
eactionStrip
(I7ae01). - Descontinuação de
title
,headerAction
eactionStrip
emGridTemplate
e adição de suporte aHeader
(I41a9c). - Remoção do requisito de nível 7 para APIs experimentais: ícone, getters/setters de forma de imagem e tamanho do item
GridTemplate
, métodosGridItem
para receber/definir o ícone. (Id71eb). - Descontinuação de
title
,headerAction
eactionStrip
noPaneTemplate
e adição de suporte aHeader
(I23154). - A telemetria do Media Center foi alterada de
BroadcastReceiver
para Ação personalizada de navegação. (I4185f). - Adição de suporte ao atributo
Header
emMessageTemplate
. O suporte paraActionStrip
,headerAction
etitle
foi descontinuado. (Ie2de8). - A visibilidade constante do alerta foi modificada (Icf8a8).
- Remoção do atributo
isLoading
do modelo principal (I651e6). - Foram adicionados extras para informar aos apps de mídia os principais parâmetros da interface (I85ca2).
- Adição do recurso de análise do media center a
MediaExtensions
(I7ce28). - Adicionamos a opção de imagem extra pequena nas linhas. (I72c03).
Correções de bugs
- Atualização do javadoc em
ConversationItem
para indicar que as mensagens precisam ser classificadas da mais antiga para a mais recente. (I77a2a). - A lógica de truncamento de
ListTemplate
foi atualizada para remover as mensagens mais antigas deConversationItem
(Ie0a61).
Versão 1.4
Versão 1.4.0
29 de maio de 2024
Lançamento de androidx.car.app:app-*:1.4.0
. A versão 1.4.0 é uma promoção da 1.4.0-rc02.
Mudanças importantes desde a versão 1.3.0
- Renderização de mapa do cluster de instrumentos para apps de navegação
- Modelo de nova guia para melhorar o layout / usabilidade do app
- Suporte para limites de tarefas adaptativas
- Ações secundárias em elementos de lista
Versão 1.4.0-rc02
13 de dezembro de 2023
Lançamento de androidx.car.app:app-*:1.4.0-rc02
. A versão 1.4.0-rc02 contém estas confirmações. Apenas correções menores
Correções de bugs
- O javadoc em
ConversationItem
foi atualizado para informar que as mensagens precisam ser classificadas da mais antiga para a mais recente (I77a2a). - A lógica de truncamento de
ListTemplate
foi atualizada para remover as mensagens mais antigas deConversationItem
(Ie0a61).
Versão 1.4.0-rc01
1º de novembro de 2023
Lançamento de androidx.car.app:app-*:1.4.0-rc01
sem mudanças importantes. A versão 1.4.0-rc01 contém estas confirmações.
Versão 1.4.0-beta02
20 de setembro de 2023
Lançamento de androidx.car.app:app-*:1.4.0-beta02
. A versão 1.4.0-beta02 contém estas confirmações. Isso é quase idêntico ao beta01, mas reduz o requisito de compileSdk
para 33.
Correções de bugs
- Correção de um bug em que as telas de carregamento nas guias não eram mostradas corretamente (cae860).
Versão 1.4.0-beta01
9 de agosto de 2023
Lançamento de androidx.car.app:app-*:1.4.0-beta01
. A versão 1.4.0-beta01 contém estas confirmações.
Observação:a versão 1.4-beta01 requer o compileSdk34, que ainda está no status de desenvolvimento. A versão 1.4-beta02 vai corrigir esse problema. Como alternativa, adicione
android.suppressUnsupportedCompileSdk=34
ao arquivosettings.gradle
do projeto para suprimir temporariamente o alerta.
Novos recursos
- Renderização de mapa de cluster de instrumento para apps de navegação
- Novo modelo de guia para melhorar o layout / usabilidade do app
- Suporte a limites de tarefas adaptáveis
- Ações secundárias em elementos de lista
Mudanças na API
- Consulte alpha02
Versão 1.4.0-alpha02
26 de julho de 2023
Lançamento de androidx.car.app:app-*:1.4.0-alpha02
. A versão 1.4.0-alpha02 contém estas confirmações.
- O lançamento da Alpha02 tem como objetivo preparar para uma versão futura da beta01.
Novos recursos
- Renderização de mapas no cluster de instrumentos com suporte a apps de navegação
- Adição de guias para apps para melhorar a experiência de layout
- Foram adicionadas opções de renderização de modelos de lista / grade
- Adicionamos novas categorias para "Tempo" e "Comunicação"
- Mover várias APIs para a próxima versão da CarApi 7
Mudanças na API
- Campos multimídia foram adicionados a
CarMessage
(I5aaf6). - Foram adicionadas ações personalizadas a
ConversationItem
na biblioteca Car App (Ie5ed6). - Foram adicionados extras para indicar que um item de mídia é reproduzido com um formato de áudio imersivo e mostrar o logotipo do formato de conteúdo (Icb5bb).
- Foi adicionado um novo tipo de ação, a API
ActionsConstraints
, para oferecer suporte ao botão de composição. (I31661). set/getTemplate
foi criado comoset/get ContentTemplate
(Ica036).- O parâmetro do modelo agora é
@NonNull
. Atualizamos a documentação da APIMapWithContentTemplate
(I0f8ed). - A tag
@ExperimentalCarApi
foi removida das ações emListTemplate
para lançamento na CAL 1.4 (I2cfcb). - A tag
@ExperimentalCarApi
foi removida paraTabTemplate
(Ifcb82). - As anotações
@ExperimentalCarApi
foram removidas das ações secundárias e decorações de linhas (I8487e). - O ID do conteúdo da guia ativa foi adicionado a
TabTemplate
e o estado ativo foi descontinuado nas guias (I96932). - A propriedade
ItemImageShape
foi adicionada aGridTemplate
(Ibf431). - A propriedade
ItemSize
foi adicionada aGridTemplate
, que controla o tamanho do item da grade de acordo com os buckets pequenos, médios e grandes. (Icdb3b). - Permitir que os desenvolvedores tenham acesso à API para receber uma cópia da pilha de tela atual. (I48107).
- Foi adicionada uma categoria para apps de previsão do tempo à biblioteca Car App (I2be44).
- A categoria de apps de chamada foi adicionada à biblioteca Car App (Icab33).
GridItem.Builder#setBadge()
foi substituído por métodossetImage()
sobrecarregados (Id2000).- A propriedade do ícone foi adicionada ao selo (I629b2).
- Adição de um método para definir a cor de plano de fundo do selo de ponto (I6411c).
- A propriedade "Selo" foi adicionada a
GridItem
, permitindo que um selo seja mostrado sobre uma imagemGridItem
. (I95de7). - Um objeto de selo experimental foi adicionado para representar um selo que será mostrado sobre uma imagem. (I9878d).
Versão 1.4.0-alpha01
22 de fevereiro de 2023
Lançamento de androidx.car.app:app-*:1.4.0-alpha01
. A versão 1.4.0-alpha01 contém estas confirmações.
Mudanças na API
- Foram adicionadas ações de nível superior a
GridTemplate
na biblioteca Car App (Id0191). - Foram adicionadas ações de nível superior a
ListTemplate
na biblioteca Car App (I9efab). - Foram adicionados extras para vincular o subtítulo ou a descrição de um item de mídia a outros (Ic84bf).
- O nível da API foi atualizado para o nível 6 em ações da linha (Ie0a69).
- Foram adicionados callbacks de mensagens à A4C (Ie3986).
Correções de bugs
- Foram adicionadas referências de documentos Java para
CarMessage
(I5db1c). equals()
ehashCode()
foram substituídos porConversationItem
eCarMessage
(I6fd10).- A validação de
ConversationItem.mMessages
foi melhorada e agora requer um valor não nulo e não vazio (Iafc51). - Anotações
@Keep
foram adicionadas aos camposConversationItem
(I5d250). - Os documentos Java foram atualizados para a decoração de linhas e as ações secundárias (I000b6).
Versão 1.3
Versão 1.3.0-rc01
7 de dezembro de 2022
Lançamento de androidx.car.app:app-*:1.3.0-rc01
. A versão 1.3.0-rc01 contém estas confirmações.
- Pequenas correções de bug da versão beta01. Nenhuma mudança importante.
Versão 1.3.0-beta01
7 de setembro de 2022
Lançamento de androidx.car.app:app:1.3.0-beta01
, androidx.car.app:app-projected:1.3.0-beta01
, androidx.car.app:app-automotive:1.3.0-beta01
e androidx.car.app:app-testing:1.3.0-beta01
. A versão 1.3.0-beta01 contém estas confirmações.
- Os apps para carros criados com essa biblioteca agora podem acessar a Play Store usando a API de nível 5. Consulte nosso guia de desenvolvimento. Os recursos anotados com a API de nível 5 ou anteriores são compatíveis com as versões do Android Auto 8.1 e do Google Automotive App Host 1.4 ou mais recentes.
Novos recursos
Além dos recursos adicionados à biblioteca Car App versão 1.3.0-alpha01, as funções abaixo foram adicionadas como parte da versão beta01. Todos os recursos aqui envolvem apenas mudanças do lado do host, não da API:
- A barra de navegação flutuante vai continuar a aparecer mesmo quando um usuário estiver em uma tela de seleção baseada em mapa em
PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
eMapTemplate
. Isso pode ser feito atualizando as informações de navegação com oNavigationManager.updateTrip()
. - Ative o botão de ação com
FLAG_DEFAULT
para mostrar uma animação de tempo limite. Esse botão vai receber um clique por padrão após o tempo limite ([API 5 - All Templates]
). - Um subtexto de
Row
s não é truncado quando o carro está estacionado, mas é truncado para duas linhas enquanto você dirige ([API 5 - All Templates]
). - Suporte ao estado desativado para
Action
,Toggle
,Row
([API 5 - All Templates]
).
Mudanças na API
- Restrições foram relaxadas na lista de
MapTemplate
s para oferecer suporte a listas selecionáveis (I961ed). - A restrição de ações de cabeçalho foi removida para permitir ícones personalizados (Iad28f).
- Uma restrição
setOnClickListenerAllowed()
foi adicionada aActionsConstraints
. Isso permitiu que a classeAction
definisseOnClickDelegate()
como ações, exceto no caso dos tipos de ícone padrão (TYPE_APP_ICON
,TYPE_BACK
eTYPE_PAN
) (I3c745).
Correções de bugs
- Foi adicionada compatibilidade do Android Automotive Template Host 1.4, e versões mais recentes, com telas curvas (
[Host change]
).
Versão 1.3.0-alpha01
27 de julho de 2022
Lançamento de androidx.car.app:app:1.3.0-alpha01
, androidx.car.app:app-projected:1.3.0-alpha01
, androidx.car.app:app-automotive:1.3.0-alpha01
e androidx.car.app:app-testing:1.3.0-alpha01
. A versão 1.3.0-alpha01 contém estas confirmações.
Os recursos anotados com a API de nível 5 são compatíveis com o Android Auto 7.9 e versões mais recentes.
Novos recursos
- API de nível 5: novo
MapTemplate
que pode ser usado por apps de navegação para mostrar o painel ou listar conteúdos ao lado de um mapa (If5826, If44b8). - API de nível 5: nova API
CarAudioRecord
que permite gravar a entrada de áudio pelo microfone do veículo host (I5e71a). - API de nível 5: nova API
SuggestionManager
que permite que os apps forneçam sugestões para o host (I5c103). - API de nível 5: nova API
Alert
para mostrar notificações no contexto noNavigationTemplate
(I163a7, I5ad70). - API de nível 5: novos componentes
Header
eMapController
para facilitar a reutilização de modelos (If5826). - Adicionamos
androidx.car.app.category.POI
como uma categoria para ativar apps de PDI. As categoriasandroidx.car.app.category.PARKING
eandroidx.car.app.category.CHARGING
foram descontinuadas (I59da1).
Mudanças na API
- API de nível 5: novo método
onClick
na interfaceSurfaceCallback
para permitir a interatividade "toque no mapa" (Ia9777). - API de nível 5: novas flags
Action.FLAG_IS_PERSISTENT
eAction.FLAG_DEFAULT
para descreverAction
s (I96318, I5ad70). - API de nível 5: novo estado ativado/desativado para os componentes
Action
,Row
eToggle
. O suporte ao host vai ser disponibilizado na versão 1.3.0-beta01 da biblioteca (Id8a09). - API de nível 5: favorecimento do novo componente
Header
viasetHeader
noPlaceListNavigationTemplate.Builder
e noRoutePreviewNavigationTemplate.Builder
, com a descontinuação dos métodossetTitle
esetHeaderAction
(I30e6a). - API de nível 5: novo método
setOnContentRefreshListner
noPlaceListMapTemplate.Builder
e noPlaceListNavigationTemplate.Builder
para uso com implementações da nova interfaceOnContentRefreshListner
. - API de nível 5: novos
setTripText
esetTripIcon
noTravelEstimate.Builder
para personalizar o card de estimativa de viagem (Idcc6d, Ic620d). - Adição de suporte às
CarIconSpan
s no título doPaneTemplate
(Ia1ee0). - Foi adicionado suporte a
CarIconSpan
s no título e no texto de umaRow
(Ic1e3c). - As
ActionStrip
s do mapa agora podem ter até quatro ações (If3522). - Atualização da API Car App para o nível 5 (I26b8e).
- Os cabeçalhos/títulos agora são opcionais para
PlaceListMapTemplate
,PlaceListNavigationTemplate
,RoutePreviewNavigationTemplate
,GridTemplate
,ListTemplate
,LongMessageTemplate
,MessageTemplate
,PaneTemplate
eSignInTemplate
(I2078d, Icadde).
Correções de bugs
- As regras de tamanho da imagem do
PaneTemplate
foram atualizadas para que ele seja uma caixa delimitadora quadrada (Idd72e). - Foi corrigida uma exceção que acontece quando a pilha de telas é modificada após o
State.DESTROYED
(I3c8eb). - Adição de uma verificação de valores nulos para recuperar o ícone do app (I3f710).
- Atualização da API Car Hardware para usar
STATUS_UNKNOWN
em vez deSTATUS_UNAVAILABLE
por padrão (Ic9444). - É verificado se a tela existe antes de criar a superfície (Ice027a).
- Correção do bug de
CarValue.equals()
envolvendoSTATUS_UNIMPLEMENTED
(I24451).
Versão 1.2
Versão 1.2.0
9 de novembro de 2022
Lançamento de androidx.car.app:app-*:1.2.0
. A versão 1.2.0 contém estas confirmações.
- Esta é uma versão de estabilização. Não há mudanças em comparação com a v1.2.0-rc01.
Versão 1.2.0-rc01
23 de março de 2022
Lançamento de androidx.car.app:app-*:1.2.0-rc01
. A versão 1.2.0-rc01 contém estas confirmações.
- Esta é uma versão de estabilização. Não há mudanças de API em comparação com a
v1.2.0-beta02
. Foram adicionados novos recursos experimentais (API de nível 5) destinados a versões futuras do Android Auto e do Android Automotive.
Correções de bugs
- Foi corrigida uma exceção que acontece quando a pilha de telas é modificada após o
State.DESTROYED
(I3c8eb). - A API
CarSensors
foi atualizada para indicar que não foi implementada para o AAOS (Idd57b). PlaceListMapTempalte.Builder#setCurrentLocationEnabled
foi atualizado para indicar que ACCESS_COARSE_LOCATION é suficiente para o recurso (I510c2).- O número de saídas é opcional para os tipos de manobra na rotatória (Ife7d1).
Versão 1.2.0-beta02
26 de janeiro de 2022
Lançamento de androidx.car.app:app-*:1.2.0-beta02
. A versão 1.2.0-beta02 contém estas confirmações.
Os apps para carros criados com essa versão da biblioteca destinada à plataforma Android Automotive OS
agora podem ser publicados no canal de teste aberto da Play Store. Consulte o guia de desenvolvimento para ver mais detalhes.
Recursos anotados com API de nível 4 ou anterior são compatíveis com o Android Auto
7.2 e mais recentes e a nova plataforma do Android Automotive OS
. Consulte a seção Known Issues
abaixo para ver os detalhes.
Mudanças na API
- A API experimental
setOnContentRefreshListener
foi adicionada aos modelos de PDIs (I6bf22).
Correções de bugs
- Um vazamento de memória em
CarAppService
quando o host do carro é desvinculado foi corrigido (I5c9ca, b/203594731). CarAppActivity
foi atualizada a fim de incluir requisitos para o modo de inicialização singleTask (Id2f95).- A falha visual na retomada foi reduzida (Iff7e0).
Problemas conhecidos
- As
ActionStrip
s do mapa noPlaceListNavigationTemplate
e noRoutePreviewNavigateTemplate
vão começar a ser disponibilizadas nas próximas versões doAndroid Auto
e doAndroid Automotive OS
.
Versão 1.2.0-alpha02
15 de dezembro de 2021
Lançamento de androidx.car.app:app-*:1.2.0-alpha02
. A versão 1.2.0-alpha02 contém estas confirmações.
Os recursos anotados com a API de nível 4 foram atualizados de "experimental" para "estável", incluindo as ActionStrip
s do mapa no PlaceListNavigationTemplate
e RoutePreviewNavigateTemplate
, a imagem CarIcon
nos Pane
s, o QRCodeSignInMethod
e a capacidade de definir dicas de renderização (como flags) nas Action
s.
Novos recursos
- No Android Auto 7.1 e em versões mais recentes, o limite de itens no
Pane
foi aumentado de 2 para 4.
Mudanças na API
- Um método
toString()
experimental foi adicionado àCarUnit
(I36a3b).
Correções de bugs
- Foi corrigida uma falha que ocorria na
CarAppPermissionActivity
quando o callback era desativado (If9823). - Mudança do limite de listas padrão do
Pane
para 4 (I0068b).
Versão 1.2.0-alpha01
3 novembro de 2021
Lançamento de androidx.car.app:app-*:1.2.0-alpha01
. A versão 1.2.0-alpha01 contém estas confirmações.
No momento, todos os novos recursos da v1.2.0
(API de nível 4 ou mais recente) são experimentalmente voltados para versões futuras do Android Auto e Android Automotive OS. Consulte o guia de desenvolvimento para ver mais detalhes.
Mudanças na API
- A API
AutomotiveCarInfo
foi transformada em experimental (Ia13e5). - A API Car App Library de nível 4 foi adicionada (I2a2e7).
- API de nível 4: foi adicionado suporte à definição de um
CarIcon
emPane
(Ifcc12). - API de nível 4: foi adicionado um método de login por QR code (Ib623e).
- API de nível 4: set/getFlags foi adicionado a
Action
(Ic03ab). - API de nível 4: foi adicionado suporte às funções de movimentar e aumentar zoom no
PlaceListNavigationTemplate
eRoutePreviewNavigationTemplate
(I9d8a3).
Correções de bugs
- API de nível 4: foi adicionado um mecanismo para permitir que apps enviem atualizações de local ao host do carro (I3bad3).
- Foi corrigido um problema em que a lógica de validação do host não encontrava a permissão TEMPLATE_RENDERER corretamente (I62618).
Versão 1.1.0
Versão 1.1.0
15 de dezembro de 2021
Lançamento de androidx.car.app:app-*:1.1.0
. A versão 1.1.0 contém estas confirmações.
Esta é uma versão de estabilização. Não há mudanças em comparação com a v1.1.0-rc01
. Consulte também as notas da versão da v1.2.0-alpha02
para ver mais detalhes sobre os novos recursos da biblioteca de apps para carros.
Mudanças importantes desde a versão 1.0.0
- API de nível 2: foram adicionados
SignInTemplate
eLongMessageTemplate
, que podem ser usados para fluxos de login quando o veículo está estacionado. - API de nível 2: suporte à interação com mapas no
NavigationTemplate
. - API de nível 2: o suporte a mensagens de texto de vários tamanhos foi adicionado para permitir que os apps forneçam várias versões da string para exibição, dependendo do tamanho da tela do carro.
- API de nível 3: foi adicionada uma classe
CarHardwareManager
, que pode ser usada para consultar dados de hardware do veículo, como modelo e marca, níveis de combustível e outros sensores.
Versão 1.1.0-rc01
3 novembro de 2021
Lançamento de androidx.car.app:app-*:1.1.0-rc01
. A versão 1.1.0-rc01 contém estas confirmações.
Esta é uma versão de estabilização. Não há mudanças de API em comparação com a v1.1.0-beta01
. Foram adicionados novos recursos experimentais (API de nível 4) destinados a versões futuras do Android Auto. Consulte as notas da versão da v1.2.0-alpha01
para ver mais detalhes sobre as APIs experimentais.
Versão 1.1.0-beta01
1º de setembro de 2021
Lançamento de androidx.car.app:app-*:1.1.0-beta01
. A versão 1.1.0-beta01 contém estas confirmações.
Todos os recursos da v1.1.0
(API 2 e mais recentes) são totalmente compatíveis com o Android Auto 6.7 e versões mais recentes. Consulte o guia de desenvolvimento para ver mais detalhes.
Mudanças na API
- Remoção do
Manager
como interface pública (Ie381b). - Nova capacidade de definir um plano de fundo personalizado da marca para uma solicitação de permissão (I74b76).
ScreenManager.getStackSize
foi adicionado (I0b16a).- Foi removido o construtor
ScreenController
, que usa oTestCarContext
de forma explícita (Iefebc).
Correções de bugs
- Foi acrescentada a verificação de nível de API ao criar o
CarHardwareManager
(I48f9b). - Novas verificações de uso inválido do
CarSpan
em toda a API (I65ae6). - Foi corrigido um problema em que, quando uma
Screen
era marcada como concluída durante a criação, a pilha ficava em um estado corrompido (I81b13). - Foi corrigido um problema em que o
CarNotificationManager.notify
registrava um erro para o AutomotiveOS quando havia ações com ícones noCarAppExtender
(I3633d). - Novo método de handshake para o app e o host estabelecerem uma versão da API (I7d6f8).
Versão 1.1.0-alpha02
21 de julho de 2021
Lançamento de androidx.car.app:app-*:1.1.0-alpha02
. A versão 1.1.0-alpha02 contém estas confirmações.
Novos recursos
- API de nível 3: foi adicionado um
CarHardwareManager
que pode ser usado para consultar dados de hardware do veículo, como modelo e marca, níveis de combustível e outros sensores. Atualmente, esse recurso está disponível apenas para o Android Auto 6.7 e versões mais recentes no canal de teste aberto. Para fazer esse teste em um ambiente de computador, é necessário lançar uma nova versão doDesktop Head Unit
separadamente. Fique de olho na página Testar apps Android para carros para ver detalhes de quando a nova versão estará disponível. - Siga o guia de desenvolvimento e a referência da biblioteca para mais informações e diretrizes sobre como usar esses recursos em hosts de carro compatíveis com a API de nível 3.
Mudanças na API
- Os métodos de ciclo de vida
SessionController
eScreenController
foram consolidados em um único métodomoveToState
(I1ed00). - Novo recurso:
CarContext#getHostInfo()
(I8977e). - Campos descontinuados foram removidos (I67168).
SessionController
eScreenController
foram atualizados para expor construtores diretamente (Iabf22).PinSignInMethod.Builder
eProviderSignInMethod.Builder
foram removidos (I9f0cb).- "setCarAppResult()" foi adicionado para permitir o uso de apps de modelo "para resultado" no AAOS (I37741).
- As interfaces
CarHardware
receberam anotação@MainThread
(Ib2f85). OnCarDataListener
foi renomeado comoOnCarDataAvailableListener
(I518ca).- Os nomes de método
CarInfo
,Speed
eMileage
e o javadoc foram atualizados (I86672). Toll
foi renomeado comoTollCard
(I3e7c8).- O
PinSignInMethod.getPin
descontinuado foi removido e substituído peloPinSignInMethod.getPinCode
(I996ce). - O
OnInputCompletedListener
foi removido e substituído peloInputCallback
(Ib5be1). - O
PinSignInMethod
foi mudado para usarCharSequence
em vez deString
(I275d5).
Correções de bugs
- O Javadoc foi corrigido no hardware do carro (I2abbc).
Contribuição externa
Problemas conhecidos
- No
SignInTemplate
, o uso doInputSignInMethod
pode resultar em umaNullPointerException
no host do carro. Isso será abordado na próxima versão da biblioteca. Para resolver o problema, inclua esta linha na configuração do Proguard do seu app:-keep class androidx.car.app.model.signin.InputSignInMethod { *; }
Versão 1.1.0-alpha01
16 de junho de 2021
Lançamento de androidx.car.app:app:1.1.0-alpha01
, androidx.car.app:app-automotive:1.1.0-alpha01
e androidx.car.app:app-testing:1.1.0-alpha01
. A versão 1.1.0-alpha01 contém estas confirmações.
Novos recursos
- API de nível 2: novos
SignInTemplate
eLongMessageTemplate
que podem ser usados para fluxos de login quando o veículo está estacionado. - API de nível 2: novo suporte à interação com o mapa no
NavigationTemplate
. - API de nível 2: novo suporte a mensagens de texto de vários tamanhos para permitir que os apps forneçam várias versões da string para exibição, dependendo do tamanho da tela do carro.
- Siga o guia de desenvolvimento e a biblioteca Javadoc para mais informações e diretrizes sobre como usar esses recursos em hosts de carro compatíveis com a API de nível 2.
Mudanças na API
- Todos os métodos de interface
*Callback
foram padronizados e renomeados comoOnRequestPermissionsCallback
->OnRequestPermissionsListener
(Ibb3ec9). - As classes
androidx.car.app.hardware
foram atualizadas para remover builders e classes de parâmetros desnecessários (I67beb) - As classes
androidx.car.app.hardware
foram adicionadas para fornecer acesso a dados específicos do carro, como combustível, bateria e velocidade (Iff3c9). - Adição de suporte à
ActionStrip
emMessageTemplate
(Ida657). setLoading
foi adicionado aMessageTemplate
. (I2a4b5).ConnectionToCar
foi renomeado comoCarConnection
(Ife9bd).- Mudança em
NavigationTemplate
para retornar umPanModeDelegate
explícito (I13877). - A ordem dos parâmetros foi atualizada em
CarContext.requestPermissions
(Ib890a). - A chave de metadados foi atualizada para definir o nível mínimo da API do carro para
androidx.car.api.minCarApiLevel
(Ib0d41). - Foi criada uma API que permite observar o estado da conexão do carro (Ifc935).
- Foi adicionado suporte à definição de um botão para uma
Action
, além do tipo de movimentaçãoAction
(Ica6af). CarNotificationManager
foi criado para oferecer suporte ao envio de notificações no carro (I10d7a).- Inclusão de
ConstraintManager
para definir limites de lista do host (I8690e). - O modo de movimentação e a API Map Action Strip foram adicionados no
NavigationTemplate
(I77aa6). - Inclusão da API pan e zoom em
SurfaceCallback
para apps de navegação (Id5e9d). - Atualização de
CarAppApiLevel
para 2 (Ic1540). - Foi adicionada a capacidade de solicitar permissões em um
CarAppService
(I5421e). - A anotação
RequiresCarApi(2)
foi adicionada à API de vários textos (Iacb62). - Diversas variantes de texto foram permitidas no título do modelo de meia lista (Ib8df7).
- Foi adicionado um novo
LongMessageTemplate
. Requer o nível 2 da API Car (Ic5cee).
Correções de bugs
- Os requisitos de tamanho da imagem foram atualizados para incluir telas de carros maiores (I116dc).
- Não é mais permitido adicionar mais de duas ações em corpos de modelo (I32157).
- Foi garantida a criação de
PendingIntent
s nas flags do conjunto da biblioteca de apps do carro (If84fe, b/186394900). - Javadoc atualizado para permitir mudanças no texto de
Row
, como atualizações (If3f9c). androidx.activity:activity:1.2.0
agora é uma dependência de API (Id1cb9).SignInTemplate
eLongMessageTemplate
foram criados para exigir que ações no corpo deles sejam feitas apenas quando o carro estiver estacionado e atualizar a documentação para indicar que eles só vão ser mostrados quando o carro estiver estacionado (Iddaa9).- Foi corrigida uma exceção que ocorre ao exibir uma
Screen
durante a inicialização (Ifcf40, b/184664896). - Cor de texto personalizada permitida em
ForegroundCarColorSpan
(I69e59) - Correção de um problema em que
ON_DESTROY
em umSession
é observado após umScreen
deON_DESTROY
(I52e01, b/183696617) - O javadoc atualizado foi ativado ao definir o tempo restante de um
TravelEstimate
para um horário desconhecido (I99610, b/183632456). Action
foi atualizado para oferecer suporte aForegroundColorSpan
no título e em qualquer cor de fundo personalizada (I578e4).NavigationManagerCallback#onStopNavigation
não é executado quando o callback é apagado antes da execução do executor (I7fc5e, b/181143772).- Foi corrigido um problema que exigia que o app assumisse explicitamente uma dependência em lifecycle-common-java8 (I8b8c8).
Problemas conhecidos
- No
SignInTemplate
, o teclado na tela mostra um ícone de pesquisa em vez de um ícone de enviar quando o usuário quer confirmar a entrada. Como alternativa, os usuários podem acessar o teclado do smartphone, que é ativado quando o campo de entrada está em foco. - No Android Auto versão 6.5, os callbacks de movimentação e zoom em
SurfaceCallback
podem ser invocados incorretamente com alguns gestos de toque.
Car App Testing versão 1.0.0
Versão 1.0.0-alpha01
24 de março de 2021
Lançamento de androidx.car.app:app-testing:1.0.0-alpha01
. A versão 1.0.0-alpha01 contém estas confirmações.
Essa é a primeira versão do Jetpack da biblioteca de teste código fechado anterior. Consulte nossos exemplos (em inglês) para usar essa biblioteca nos seus testes.
Novos recursos
- Os controladores das classes de modelo foram removidos. Getters de modelo agora fazem parte da superfície da API pública, que permite validar valores que foram definidos nos builders.
- O
CarAppServiceController
anterior foi substituído pelo novoSessionController
para testar a lógica relacionada à vida útil da conexão com o host.
Versão 1.0.0
Versão 1.0.0
21 de abril de 2021
Lançamento de androidx.car.app:app:1.0.0
. A versão 1.0.0 contém estas confirmações.
Principais recursos da versão 1.0.0
- No início de abril, anunciamos que os apps podem começar a publicar no canal de produção usando
androidx.car.app:app:1.0.0-rc01
. A biblioteca Car App v1.0.0 agora é estável e totalmente compatível com o Android Auto 6.1 e versões mais recentes. - Siga o guia de desenvolvimento para detalhes sobre como criar apps de navegação, estacionamento e carregamento para o Android Auto usando a biblioteca.
Correções de bugs
- Correção de uma exceção que ocorre ao exibir um
Screen
durante o início (70aae1, b/184664896) - Correção de um problema em que
ON_DESTROY
em umSession
é observado após umScreen
deON_DESTROY
(0cebor, b/183696617)
Versão 1.0.0-rc01
24 de março de 2021
Lançamento de androidx.car.app:app:1.0.0-rc01
. A versão 1.0.0-rc01 contém estas confirmações.
Correções de bugs
- Foi corrigido um bug de disputa em que o
NavigationManagerCallback#onStopNavigation
estava sendo chamado depois que o callback era apagado. Isso acontecia quando o callback era apagado antes do executor do callback ser realmente executado (I7fc5e, b/181143772). - Um problema que exigia a inicialização explícita de uma dependência do
lifecycle-common-java8
foi corrigido (I8b8c8). - Foi corrigida uma
NullPointerException
que era gerada no momento em que o app recebia uma chamadastopNavigation
quando já tinha removido um callback (Ib8b89, b/181143772). - Melhorias para não enviar chamadas ao app quando o ciclo de vida não está em um estado
CREATED
(I86965, b/179800224, b/177921120). - Foi corrigido um problema em que uma API mínima inválida especificada no manifesto do app gerava uma falha e causava um ANR no host (Iffedd, b/174231592).
Versão 1.0.0-beta01
24 de fevereiro de 2021
Lançamento do androidx.car.app:app:1.0.0-beta01
. A versão 1.0.0-beta01 contém estas confirmações.
Essa é a primeira versão do Jetpack da biblioteca de código fechado anterior e é compatível com o Android Auto 6.1 e versões mais recentes. Siga o guia de desenvolvimento e veja mais detalhes sobre como criar apps para carros usando a biblioteca.
Novos recursos
- Foi apresentado um
GridTemplate
, que seu app pode usar para exibir uma lista de elementos da interface em um layout de grade. - Adição de um método
CarAppService.createHostValidator
para confirmar que uma conexão de host é de fonte confiável (por exemplo, Android Auto). - Adicionamos uma API
CarAppExtender.Builder.setColor
(b/174231592).
Correções de bugs
- Correção de um problema em que a
Screen
errada era retomada ao mostrar as telas em sequência (b/177590791).