App para carro

Crie apps com modelos para o Android Auto e o Android Automotive OS.
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.

Criar novo problema

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 framework Notification.Builder em vez de apenas NotificationCompat.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 classe TabContents.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 em TabTemplate 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 e MapTemplate 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 a MediaPlaybackTemplate.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étodo onDestroy do BaseCarAppActivity 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 e PlaceListNavigationTemplate antigos e incentivo ao uso do novo MapWithContentTemplate (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 de MapWithContentTemplate (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 com ListTemplate, descontinuação de headerAction, headerTitle e actionStrip (I7ae01).
  • Descontinuação de title, headerAction e actionStrip em GridTemplate e adição de suporte a Header (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étodos GridItem para receber/definir o ícone. (Id71eb).
  • Descontinuação de title, headerAction e actionStrip no PaneTemplate e adição de suporte a Header (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 em MessageTemplate. O suporte para ActionStrip, headerAction e title 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 de ConversationItem (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 de ConversationItem (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 arquivo settings.gradle do projeto para suprimir temporariamente o alerta.

Novos recursos

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 como set/get ContentTemplate (Ica036).
  • O parâmetro do modelo agora é @NonNull. Atualizamos a documentação da API MapWithContentTemplate (I0f8ed).
  • A tag @ExperimentalCarApi foi removida das ações em ListTemplate para lançamento na CAL 1.4 (I2cfcb).
  • A tag @ExperimentalCarApi foi removida para TabTemplate (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 a GridTemplate (Ibf431).
  • A propriedade ItemSize foi adicionada a GridTemplate, 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étodos setImage() 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 imagem GridItem. (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() e hashCode() foram substituídos por ConversationItem e CarMessage (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 campos ConversationItem (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.

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 e MapTemplate. Isso pode ser feito atualizando as informações de navegação com o NavigationManager.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 Rows 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 MapTemplates 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 a ActionsConstraints. Isso permitiu que a classe Action definisse OnClickDelegate() como ações, exceto no caso dos tipos de ícone padrão (TYPE_APP_ICON, TYPE_BACK e TYPE_PAN) (I3c745).

Correções de bugs

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 no NavigationTemplate (I163a7, I5ad70).
  • API de nível 5: novos componentes Header e MapController para facilitar a reutilização de modelos (If5826).
  • Adicionamos androidx.car.app.category.POI como uma categoria para ativar apps de PDI. As categorias androidx.car.app.category.PARKING e androidx.car.app.category.CHARGING foram descontinuadas (I59da1).

Mudanças na API

  • API de nível 5: novo método onClick na interface SurfaceCallback para permitir a interatividade "toque no mapa" (Ia9777).
  • API de nível 5: novas flags Action.FLAG_IS_PERSISTENT e Action.FLAG_DEFAULT para descrever Actions (I96318, I5ad70).
  • API de nível 5: novo estado ativado/desativado para os componentes Action, Row e Toggle. 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 via setHeader no PlaceListNavigationTemplate.Builder e no RoutePreviewNavigationTemplate.Builder, com a descontinuação dos métodos setTitle e setHeaderAction (I30e6a).
  • API de nível 5: novo método setOnContentRefreshListner no PlaceListMapTemplate.Builder e no PlaceListNavigationTemplate.Builder para uso com implementações da nova interface OnContentRefreshListner.
  • API de nível 5: novos setTripText e setTripIcon no TravelEstimate.Builder para personalizar o card de estimativa de viagem (Idcc6d, Ic620d).
  • Adição de suporte às CarIconSpans no título do PaneTemplate (Ia1ee0).
  • Foi adicionado suporte a CarIconSpans no título e no texto de uma Row (Ic1e3c).
  • As ActionStrips 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 e SignInTemplate (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 de STATUS_UNAVAILABLE por padrão (Ic9444).
  • É verificado se a tela existe antes de criar a superfície (Ice027a).
  • Correção do bug de CarValue.equals() envolvendo STATUS_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 ActionStrips do mapa no PlaceListNavigationTemplate e no RoutePreviewNavigateTemplate vão começar a ser disponibilizadas nas próximas versões do Android Auto e do Android 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 ActionStrips do mapa no PlaceListNavigationTemplate e RoutePreviewNavigateTemplate, a imagem CarIcon nos Panes, o QRCodeSignInMethod e a capacidade de definir dicas de renderização (como flags) nas Actions.

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 em Pane (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 e RoutePreviewNavigationTemplate (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 e LongMessageTemplate, 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 o TestCarContext 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 no CarAppExtender (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 do Desktop 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 e ScreenController foram consolidados em um único método moveToState (I1ed00).
  • Novo recurso: CarContext#getHostInfo() (I8977e).
  • Campos descontinuados foram removidos (I67168).
  • SessionController e ScreenController foram atualizados para expor construtores diretamente (Iabf22).
  • PinSignInMethod.Builder e ProviderSignInMethod.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 como OnCarDataAvailableListener (I518ca).
  • Os nomes de método CarInfo, Speed e Mileage e o javadoc foram atualizados (I86672).
  • Toll foi renomeado como TollCard (I3e7c8).
  • O PinSignInMethod.getPin descontinuado foi removido e substituído pelo PinSignInMethod.getPinCode (I996ce).
  • O OnInputCompletedListener foi removido e substituído pelo InputCallback (Ib5be1).
  • O PinSignInMethod foi mudado para usar CharSequence em vez de String (I275d5).

Correções de bugs

  • O Javadoc foi corrigido no hardware do carro (I2abbc).

Contribuição externa

Problemas conhecidos

  • No SignInTemplate, o uso do InputSignInMethod pode resultar em uma NullPointerException 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 e LongMessageTemplate 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 como OnRequestPermissionsCallback -> 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 em MessageTemplate (Ida657).
  • setLoading foi adicionado a MessageTemplate. (I2a4b5).
  • ConnectionToCar foi renomeado como CarConnection (Ife9bd).
  • Mudança em NavigationTemplate para retornar um PanModeDelegate 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ção Action (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 PendingIntents 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 e LongMessageTemplate 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 um Session é observado após um Screen de ON_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 a ForegroundColorSpan 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 novo SessionController 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 um Session é observado após um Screen de ON_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 chamada stopNavigation 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

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).