Wear

Crie aplicativos para smartwatches Wear OS by Google.

Esta tabela lista todos os artefatos no grupo androidx.wear.

Artefato Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
wear 1.3.0 - - 1.4.0-alpha01
wear-input 1.1.0 - - 1.2.0-alpha02
wear-input-testing 1.1.0 - - 1.2.0-alpha02
wear-ongoing 1.0.0 - - 1.1.0-alpha01
wear-phone-interactions 1.0.1 - - 1.1.0-alpha05
wear-remote-interactions 1.1.0 - - -
Esta biblioteca foi atualizada pela última vez em 11 de dezembro de 2024

Declarar dependências

Para adicionar uma dependência ao Wear, adicione 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.wear:wear:1.3.0"

    // Add support for wearable specific inputs
    implementation "androidx.wear:wear-input:1.1.0"
    implementation "androidx.wear:wear-input-testing:1.1.0"

    // Use to implement wear ongoing activities
    implementation "androidx.wear:wear-ongoing:1.0.0"

    // Use to implement support for interactions from the Wearables to Phones
    implementation "androidx.wear:wear-phone-interactions:1.0.1"
    // Use to implement support for interactions between the Wearables and Phones
    implementation "androidx.wear:wear-remote-interactions:1.0.0"
}

Kotlin

dependencies {
    implementation("androidx.wear:wear:1.3.0")

    // Add support for wearable specific inputs
    implementation("androidx.wear:wear-input:1.1.0")
    implementation("androidx.wear:wear-input-testing:1.1.0")

    // Use to implement wear ongoing activities
    implementation("androidx.wear:wear-ongoing:1.0.0")

    // Use to implement support for interactions from the Wearables to Phones
    implementation("androidx.wear:wear-phone-interactions:1.0.1")
    // Use to implement support for interactions between the Wearables and Phones
    implementation("androidx.wear:wear-remote-interactions:1.0.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.

Wear Core versão 1.0

Versão 1.0.0-alpha01

29 de maio de 2024

Lançamento de androidx.wear:wear-core:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição de uma nova classe WearApiVersionhelper para ajudar na verificação de compatibilidade de API no ambiente de execução no Wear. Os clientes podem usar essa classe auxiliar estática e o método fornecido (#isApiVersionAtLeast(VERSION)) para verificar a compatibilidade.

Versão 1.0 da prévia da Wear Tooling

Versão 1.0.0

29 de novembro de 2023

Lançamento de androidx.wear:wear-tooling-preview:1.0.0. A versão 1.0.0 contém estas confirmações.

Recursos na versão 1.0.0

  • Adição de WearDevices para listar dispositivos Wear válidos que podem ser usados para visualizações de interface.

Versão 1.0.0-rc01

15 de novembro de 2023

Lançamento de androidx.wear:wear-tooling-preview:1.0.0-rc01 sem mudanças. A versão 1.1.0-rc01 contém estas confirmações.

Versão 1.0.0-beta01

18 de outubro de 2023

Lançamento de androidx.wear:wear-tooling-preview:1.0.0-beta01 sem mudanças. A versão 1.0.0-beta01 contém estas confirmações.

Versão 1.0.0-alpha01

23 de agosto de 2023

Lançamento de androidx.wear:wear-tooling-preview:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição de WearDevices à lista de dispositivos Wear válidos que podem ser usados para visualizações de interface (Ib036e).

Wear: versão 1.4

Versão 1.4.0-alpha01

15 de novembro de 2023

Lançamento de androidx.wear:wear:1.4.0-alpha01. A versão 1.4.0-alpha01 contém estas confirmações.

Correções de bugs

  • Centralize verticalmente o ícone ConfirmationOverlay quando não houver uma mensagem. (I496d8).

Wear: versão 1.3

Versão 1.3.0

9 de agosto de 2023

androidx.wear:wear:1.3.0 é lançado sem mudanças desde 1.3.0-rc01. A versão 1.3.0 contém estas confirmações.

Mudanças importantes desde a versão 1.2.0

  • Migrar AmbientModeSupport para usar LifecycleObserver. AmbientModeSupport foi descontinuado em favor das novas classes com reconhecimento do ciclo de vida
  • Atualização do ConfirmationOverlay com novos ícones/layout, fontes e métricas de fonte
  • O SwipeDismissTransitionHelper foi atualizado para usar um drawable de plano de fundo em vez de um segundo View para corrigir erros ao usar o FragmentContainerView
  • A animação SwipeDismissFrameLayout foi atualizada para ser consistente com a plataforma Wear e as implementações do Wear Compose.
  • Correção de bugs SwipeDismissFrameLayout para evitar a dispensa acidental de fragmentos com uma rolagem vertical
  • ArcLayout agora oferece suporte a pesos de expansão que funcionam de forma parecidas com os pesos de layout normais.
  • Suporte a layoutDirection no ArcLayout

Versão 1.3.0-rc01

21 de junho de 2023

androidx.wear:wear:1.3.0-rc01 é lançado sem mudanças desde 1.3.0-beta01. A versão 1.3.0-rc01 contém estas confirmações.

Versão 1.3.0-beta01

7 de junho de 2023

Lançamento de androidx.wear:wear:1.3.0-beta01. A versão 1.3.0-beta01 contém estas confirmações.

Mudanças na API

  • AmbientLifecycleObserver foi atualizado após o feedback. AmbientLifecycleObserverInterface foi renomeado como AmbientLifecycleObserver, e uma instância pode ser obtida chamando AmbientLifecycleObserver(...). isAmbient foi movido para ser um campo em vez de um método. (I84b4f).

Correções de bugs

  • Adição de verificações nulos para processar casos em que a visualização mãe é nula ao redefinir alfa e tradução em SwipeToDismiss. (Ib0ec7).

Versão 1.3.0-alpha05

19 de abril de 2023

Lançamento de androidx.wear:wear:1.3.0-alpha05. A versão 1.3.0-alpha05 contém essas confirmações.

Mudanças na API

  • Migre AmbientModeSupport para usar LifecycleObserver. A AmbientModeSupport foi descontinuada em favor das novas classes com reconhecimento do ciclo de vida. (I1593b).

Correções de bugs

  • A abordagem de scrim de plano de fundo SwipeDismissTransitionHelper foi atualizada para usar drawables em vez de adicionar visualizações para corrigir erros ao usar FragmentContainerView. (I851cd).

Versão 1.3.0-alpha04

25 de janeiro de 2023

Lançamento de androidx.wear:wear:1.3.0-alpha04. A versão 1.3.0-alpha04 contém estas confirmações.

Correções de bugs

  • Atualizamos a animação no SwipeDismissFrameLayout para que ela seja consistente com a plataforma Wear e as implementações do Wear Compose (I7261b).

Versão 1.3.0-alpha03

24 de agosto de 2022

Lançamento de androidx.wear:wear:1.3.0-alpha03. A versão 1.3.0-alpha03 contém essas confirmações.

Novos recursos

  • ArcLayout agora oferece suporte a pesos de expansão que funcionam de forma parecidas com os pesos de layout normais. Isso significa que você pode especificar o tamanho relativo de elementos filhos sem precisar calcular os ângulos diretamente. Também adicionamos um MaxAngleDegrees, que é respeitado ao abrir elementos filhos com pesos. Por exemplo, você pode fixar o arco com vários filhos com pesos em 90 graus e ainda respeitar o espaço ocupado por todos os elementos não abertos.

Mudanças na API

  • Adicionamos pesos ao ArcLayout.LayoutParams, que permitem que um widget se expanda para preencher o espaço disponível. Se houver mais de um widget, a parcela do espaço disponível vai ser proporcional ao peso. Além disso, adicionamos ArcLayout.setMaxAngleDegrees para que você possa limitar a abertura a 90 graus, por exemplo. Isso não afeta o layout de widgets filhos de tamanho fixo. Por fim, ArcLayout.Widget agora tem setSweepAngleDegrees, que permite que ArcLayout informe um widget com um peso diferente de zero para o próprio tamanho (I75f24).
  • Atualização da nulidade de setColorFilter (I99ddf, b/236498063).

Versão 1.3.0-alpha02

23 de fevereiro de 2022

Lançamento de androidx.wear:wear:1.3.0-alpha02. A versão 1.3.0-alpha02 contém estas confirmações.

Novos recursos

  • Suporte para layoutDirection em ArcLayout (I14d49).
  • Mensagem de descrição de conteúdo aprimorada para VerificationOverlay (I0fdf8).
  • Atualização do ConfirmationOverlay com novos ícones/layout (If5b54).

Correções de bugs

  • Inclusão de regras do Proguard para garantir que o código relacionado ao ambiente seja mantido (Idaa10).
  • Evite a dispensa acidental de fragmentos em SwipeDismissFrameLayout com uma rolagem vertical (Idb6d8).
  • Correção de ConfirmOverlay quando não há mensagem (I63e6f).

Contribuição externa

  • Dae Gyu LEE (Samsung): evite a dispense acidental de fragmentos em SwipeDismissFrameLayout com uma rolagem vertical (Idb6d8).

Versão 1.3.0-alpha01

29 de setembro de 2021

Lançamento de androidx.wear:wear:1.3.0-alpha01. A versão 1.3.0-alpha01 contém estas confirmações.

Correções de bugs

  • Agora, a ConfirmationOverlay coloca o ícone mais acima para acomodar mensagens mais longas, sem que fiquem na borda do dispositivo ou fora da tela (I54bff).

Wear Ongoing & Interactions: versão 1.1.0

Versão 1.1.0-alpha05

11 de dezembro de 2024

Lançamento de androidx.wear:wear-phone-interactions:1.1.0-alpha05. A versão 1.1.0-alpha05 contém estas confirmações.

Correções de bugs

  • Correção de um bug de falha ao executar no Wear OS 5.1 (versão 34 da API) e direcionar versões mais recentes do SDK. Os apps precisam atualizar para essa versão da biblioteca antes de atualizar o targetSdkVersion para 35 ou mais recente.

Versão 1.1.0

11 de dezembro de 2024

Lançamento de androidx.wear:wear-remote-interactions:1.1.0. A versão 1.1.0 contém estas confirmações.

Mudanças importantes desde a versão 1.0.0

  • Adicionamos RemoteActivityHelper.isRemoteActivityHelperAvailable, que ajuda a verificar se a funcionalidade de iniciar uma atividade remota está disponível. (I107a9).

Versão 1.1.0-rc01

16 de outubro de 2024

androidx.wear:wear-remote-interactions:1.1.0-rc01 é lançado sem mudanças desde 1.1.0-beta01. A versão 1.1.0-rc01 contém estas confirmações.

Versão 1.1.0-beta01

24 de julho de 2024

Lançamento de androidx.wear:wear-remote-interactions:1.1.0-beta01. A versão 1.1.0-beta01 contém estas confirmações. A versão 1.3.0-beta01 das interações remotas do Wear indica que esta versão da biblioteca está com todos os recursos e a API está bloqueada (exceto quando marcada como experimental).

Versão 1.1.0-alpha04

10 de janeiro de 2024

Lançamento de androidx.wear:wear-phone-interactions:1.1.0-alpha04. A versão 1.1.0-alpha04 contém estas confirmações.

Mudanças na API

  • Adicionamos RemoteAuthClient.isRemoteAuthAvailable, que verifica se a autenticação remota está disponível. (Ibc10c).

Versão 1.1.0-alpha02

10 de janeiro de 2024

Lançamento de androidx.wear:wear-remote-interactions:1.1.0-alpha02. A versão 1.1.0-alpha02 contém estas confirmações.

Mudanças na API

  • Adicionamos RemoteActivityHelper.isRemoteActivityHelperAvailable, que ajuda a verificar se a funcionalidade de iniciar uma atividade remota está disponível. (I107a9).
  • Atualizamos o construtor da RemoteActivityHelper para ter um parâmetro opcional compatível com Java. (I75554).

Versão 1.1.0-alpha01

21 de junho de 2023

Lançamento de androidx.wear:wear-remote-interactions:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Correções de bugs

  • Melhoramos a forma como a conclusão e o tratamento de erros são feitos em RemoteActivityHelper. (I60d60).

Contribuição externa

  • Remova a dependência do Guava de wear-remote-interactions e use alternativas menores.

Wear-Phone-Interactions: versão 1.1.0-alpha03

9 de março de 2022

Lançamento de androidx.wear:wear-phone-interactions:1.1.0-alpha03. A versão 1.1.0-alpha03 contém estas confirmações.

Correções de bugs

  • O redirectUrl da OAuthRequest agora retorna uma string vazia se o URL de redirecionamento não estiver definido no URL de solicitação em questão (I44242).

Wear-Phone-Interactions: versão 1.1.0-alpha02

15 de dezembro de 2021

Lançamento de androidx.wear:wear-phone-interactions:1.1.0-alpha02. A versão 1.1.0-alpha02 contém estas confirmações.

Correções de bugs

  • Correção dos erros na documentação da RemoteAuthClient, incluindo o erro no snippet do exemplo de código e no link inativo para o ErrorCode (I260e8).

Wear-Phone-Interactions: versão 1.1.0-alpha01

15 de setembro de 2021

Lançamento de androidx.wear:wear-phone-interactions:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição da propriedade redirectUrl ao OAuthRequest (I98840, Ie684d).

Wear Ongoing & Interactions: versão 1.0.0

Wear-Phone-Interactions: versão 1.0.1

15 de dezembro de 2021

Lançamento de androidx.wear:wear-phone-interactions:1.0.1. A versão 1.0.1 contém estas confirmações.

Correções de bugs

  • Correção da exceção gerada na classe BridgingManager ao tentar desativar as notificações de transmissão sem as excludedTags.

Wear-Phone-Interactions Wear-Remote-Interactions: versão 1.0.0

15 de setembro de 2021

Lançamento de androidx.wear:wear-phone-interactions:1.0.0 e androidx.wear:wear-remote-interactions:1.0.0. A versão 1.0.0 contém estas confirmações.

Principais recursos da versão 1.0.0

A biblioteca Phone Interaction contém APIs para interações de wearables com smartphones. O conteúdo é o seguinte:

  • A classe PhoneDeviceType, que fornece métodos auxiliares para determinar o tipo de smartphone ao qual o relógio atual está pareado, para uso somente em dispositivos wearable.
  • As APIs BridgingManager, BridgingManagerService e BridgingConfig para ativar/desativar notificações no momento da execução e, opcionalmente, definir tags para notificações isentas do modo bridge.
  • A biblioteca RemoteAuthClient, que oferece suporte à autenticação remota em wearables e à adição da extensão OAuth PKCE. Também são fornecidos outros gerenciadores e classes auxiliares para comunicação.

A biblioteca Remote Interaction contém APIs para interações entre wearables e smartphones. O conteúdo é o seguinte:

  • A classe WatchFaceConfigIntentHelper, que fornece funções auxiliares para especificar o nome do componente e o ID nas atividades de configuração do mostrador do relógio para o companion no smartphone.
  • A classe RemoteActivityHelper, que pode ser usada para abrir intents em outros dispositivos (por exemplo, do relógio para o smartphone).

Wear-Phone-Interactions Wear-Remote-Interactions: versão 1.0.0-rc01

1º de setembro de 2021

Lançamento de androidx.wear:wear-phone-interactions:1.0.0-rc01 e androidx.wear:wear-remote-interactions:1.0.0-rc01. A versão 1.0.0-rc01 contém estas confirmações.

Correções de bugs

  • Correção do bug que impedia que os erros gerados no Google Play Services fossem propagados para o autor da chamada ao usar o RemoteActivityHelper (I60d60).
  • Correção do bug em que o RemoteActivityHelper nunca atendia o próprio Future se não houvesse nós conectados ou se o nodeId solicitado não fosse encontrado (I60d60).

Wear-Ongoing: versão 1.1

Versão 1.1.0-alpha01

23 de agosto de 2023

Lançamento de androidx.wear:wear-ongoing:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adicione um campo de descrição do conteúdo à atividade em andamento. Ele será usado pelos serviços de acessibilidade para descrever a atividade em andamento. (I79fc6).

Correções de bugs

  • @RequiresPermission foram adicionadas a APIs que exigem a concessão da permissão POST_NOTIFICATIONS no SDK 33 e versões mais recentes (Ie542e, b/238790278).

Wear-Ongoing: versão 1.0.0

1º de setembro de 2021

Lançamento de androidx.wear:wear-ongoing:1.0.0. A versão 1.0.0 contém estas confirmações.

Principais recursos da versão 1.0.0

  • A API Wear Ongoing Activities é voltada para desenvolvedores, incluindo desenvolvedores terceiros, e é usada para marcar a atividade como "em andamento" e fornecer as informações necessárias.
  • Atividades em andamento são aquelas que podem estar em execução em segundo plano no relógio, por exemplo, treinos, chamadas e mídia. No Wear 3, uma atividade declarada como em andamento terá mais destaque com um ícone dedicado no mostrador do relógio e uma renderização diferente no Acesso rápido aos apps.
  • Para ver mais informações, consulte o Guia de atividades em andamento do Wear

Wear-Phone-Interactions Wear-Remote-Interactions: versão 1.0.0-beta01

18 de agosto de 2021

Lançamento de androidx.wear:wear-phone-interactions:1.0.0-beta01 e androidx.wear:wear-remote-interactions:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.

Mudanças na API

  • A classe RemoteIntentHelper foi renomeada como RemoteActivityHelper. As funções RemoteIntentHelper#getRemoteIntentExtraIntent e RemoteIntentHelper#getRemoteIntentNodeId foram renomeadas como RemoteActivityHelper#getTargetIntent e RemoteActivityHelper#getTargetNodeId, respectivamente (Id2042).

Wear Ongoing: versão 1.0.0-rc01

18 de agosto de 2021

androidx.wear:wear-ongoing:1.0.0-rc01 é lançado sem mudanças desde 1.0.0-beta01. A versão 1.0.0-rc01 contém estas confirmações.

Wear Ongoing: versão 1.0.0-beta01

4 de agosto de 2021

Lançamento de androidx.wear:wear-ongoing:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.

Mudanças na API

  • Agora, alguns setters na classe OngoingActivity.Builder aceitam um argumento nulo para dar simetria e consistência aos setters e getters (I17ee5).

Wear-Phone-Interactions: versão 1.0.0-alpha07

4 de agosto de 2021

Lançamento de androidx.wear:wear-phone-interactions:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estas confirmações.

Mudanças na API

  • Renomeação de WearTypeHelper.isChinaDevice como WearTypeHelper.isChinaBuild (I47302).
  • Atualização da biblioteca RemoteAuthClient para selecionar redirect_uri automaticamente com base no tipo de dispositivo (todos os outros países/China) (I38866).
  • Correção do bug que fazia com que a conversão de BridgingConfig para/do Bundle falhasse com a ClassCastException. Adição de testes de unidade para a classe BridgingManagerService (I68ecb).

Wear-Remote-Interactions: versão 1.0.0-alpha06

4 de agosto de 2021

Lançamento de androidx.wear:wear-remote-interactions:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Wear-Phone-Interactions: versão 1.0.0-alpha06

21 de julho de 2021

Lançamento de androidx.wear:wear-phone-interactions:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Mudanças na API

  • A classe BridgingManagerSeviceBinder agora é uma subclasse da Service e foi renomeada como BridgingManagerSevice (I9fca2).
  • O método RemoteAuthClient.Callback.onAuthorizationError foi mudado para incluir o parâmetro OAuthRequest. Os métodos que exigem callback agora também precisam de um executor para executar o callback (I35e11).

Correções de bugs

  • Tornamos a API de autenticação mais clara com parâmetros mais documentados e com o uso de propriedades quando possível (I12287).

Wear-Phone-Interactions: versão 1.0.0-alpha05

30 de junho de 2021

Lançamento de androidx.wear:wear-phone-interactions:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Correções de bugs

  • Parâmetros documentados que precisam ser transmitidos no construtor para BridgingConfig.Builder.

Wear-Ongoing versão 1.0.0-alpha06

2 de junho de 2021

Lançamento de androidx.wear:wear-ongoing:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Mudanças na API

  • Adição do campo "Título" à atividade em andamento (I7a405).

Correções de bugs

  • SerializationHelper.copy() agora faz uma cópia defensiva das informações (I8b276).
  • Melhoria na documentação de setCategory (Iff01f)

Wear Ongoing: versão 1.0.0-alpha05

18 de maio de 2021

Lançamento de androidx.wear:wear-ongoing:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Mudanças na API

  • A OngoingActivity agora tem getters para extrair todos os valores definidos diretamente pelo builder (ou os padrões da notificação associada) (Id8ac8).

    • A nova classe Status agora é usada para criar o status da OngoingActivity.
    • O OngoingActivityData e o OngoingActivityStatus não fazem mais parte da API pública.
  • As classes TextStatusPart e TimerStatusPart não fazem mais parte da API pública (I57fb6).

    • Para criar uma Part com texto estático, use Status.TextPart.
    • Para criar uma Part com cronômetro (contagem progressiva), use Status.Stopwatch.
    • Para criar uma Part com timer (contagem regressiva), use Status.Timer.

Wear-Ongoing: versão 1.0.0-alpha04

5 de maio de 2021

Lançamento de androidx.wear:wear-ongoing:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Mudanças na API

  • Na OngoingActivity, os métodos fromExistingOngoingActivity agora são chamados de recoverOngoingActivity.
  • A OngoingActivity agora tem um conjunto completo de getters, o mesmo anteriormente disponível apenas no OngoingActivityData (I0ee4d).

Wear-Remote-Interactions: versão 1.0.0-alpha05

21 de julho de 2021

Lançamento de androidx.wear:wear-remote-interactions:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Mudanças na API

  • Adicionamos a classe RemoteIntentHelper (anteriormente chamada de RemoteIntent na Biblioteca de Suporte para Wearables), que pode ser usada para abrir intents em outros dispositivos, desde um smartwatch até um smartphone (I1d7e0).

  • A classe PlayStoreAvailability foi removida da biblioteca do AndroidX. Para detectar se a Play Store está disponível em um smartphone conectado, use o método androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType para descobrir se o dispositivo usa o Android. Em seguida, use o método androidx.wear.utils.WearTypeHelper.isChinaDevice para determinar se o smartphone conectado é chinês. Caso o smartphone seja Android e não seja um dispositivo chinês, isso significa que a Play Store está disponível (Ie7dec).

Wear-Phone-Interactions: versão 1.0.0-alpha04

7 de abril de 2021

Lançamento de androidx.wear:wear-phone-interactions:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Mudanças na API

  • Atualização das constantes de ErrorCode para tornar a nova biblioteca compatível com versões anteriores da implementação na Biblioteca de Suporte de Wearables.

Correções de bugs

  • Correção da exceção causada pela nova API OAuth ao iniciar uma sessão OAuth.

Wear-Remote-Interactions: versão 1.0.0-alpha03

7 de abril de 2021

Lançamento de androidx.wear:wear-remote-interactions:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Mudanças na API

  • Mudança da classe PlayStoreAvailability para que ela passe a conter um objeto complementar com métodos estáticos. O uso continua o mesmo.

Correções de bugs

  • O documento de resumo da classe WatchFaceConfigIntentHelper foi corrigido para mostrar corretamente o exemplo de código com caracteres HTML reais.

Wear-Ongoing Wear-Phone-Interactions: versão 1.0.0-alpha03

10 de março de 2021

Lançamento de androidx.wear:wear-ongoing:1.0.0-alpha03 e androidx.wear:wear-phone-interactions:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Novos recursos

  • Migrar o OAuthClient da Biblioteca de Suporte de Wearables para o AndroidX. Esta classe migrada foi renomeada como RemoteAuthClient e oferece suporte à autenticação remota em wearables, além de suporte à adição da extensão PKCE OAuth. Também são fornecidos outros gerenciadores e classes auxiliares para comunicação.
  • As atividades contínuas agora podem ser associadas, usando o novo construtor de OngoingActivity.Builder, a uma notificação que tenha uma tag.

Mudanças na API

  • Foi adicionado suporte a tags de notificação à biblioteca Ongoing Activities (I653b4).
  • O OAuthClient foi migrado da Biblioteca de Suporte do Wear para o AndroidX e foi adicionado suporte à extensão PKCE OAuth (I3eaaa).

Wear-Remote-Interactions versão 1.0.0-alpha02

10 de março de 2021

Lançamento de androidx.wear:wear-remote-interactions:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Novos recursos

  • A classe PlayStoreAvailability foi migrada da Biblioteca de Suporte de Wearables para o AndroidX, que oferece uma API para verificar se a Play Store está disponível no smartphone.

Correções de bugs

  • A classe PlayStoreAvailability foi migrada da Biblioteca de Suporte de Wearables para o AndroidX (I69bfe).

Versão 1.0.0-alpha02

10 de fevereiro de 2021

Lançamento de androidx.wear:wear-ongoing:1.0.0-alpha02 e androidx.wear:wear-phone-interactions:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Mudanças na API

  • Adição de suporte a um status mais complexo. Eles são compostos de um modelo (ou vários) e uma série de partes que serão usadas para preencher os marcadores do modelo. O OngoingActivityStatus agora tem um método estático para criar status simples com apenas uma parte (um texto ou timer), e um builder para criar status mais complexos (I1fe81).
  • As classes BridgingManager e BridgingConfig da Biblioteca de Suporte do Wear para o AndroidX oferecem APIs para ativar/desativar notificações durante o tempo de execução e, opcionalmente, definir tags para notificações isentas do modo bridge (I3a17e).

Versão 1.0.0-alpha01

27 de janeiro de 2021

Lançamento de androidx.wear:wear-ongoing:1.0.0-alpha01, androidx.wear:wear-phone-interactions:1.0.0-alpha01 e androidx.wear:wear-remote-interactions:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Mudanças na API

  • Migração da biblioteca Ongoing Activities para uma nova sub-biblioteca: wear-ongoing. As classes agora ficam no pacote androidx.wear.ongoing (antes chamado de androidx.wear.ongoingactivities) (I7c029).

  • Criação de uma nova biblioteca de suporte para conter classes compatíveis com interações de wearables com smartphones. Ela é inicialmente preenchida com classes migradas da Biblioteca de Suporte de Wearables (Id5180).

  • Migração da classe PhoneDeviceType da Biblioteca de Suporte de Wearables para AndroidX. A classe migrada é renomeada como PhoneTypeHelper, que fornece métodos auxiliares para determinar o tipo de smartphone ao qual o relógio atual está pareado, para uso apenas em dispositivos wearables (Ibd947).

  • Criação de uma nova biblioteca de suporte para conter classes compatíveis com interações entre wearables e smartphones. Ela é inicialmente preenchida com classes migradas da Biblioteca de Suporte de Wearables (I9deb4).

  • Migração da classe WatchFaceCompanion da Biblioteca de Suporte de Wearables para AndroidX. A classe migrada é renomeada como WatchFaceConfigIntentHelper, que oferece funções auxiliares para especificar o nome do componente e o ID nas atividades de configuração do mostrador do relógio em apps complementares no smartphone. Ela também pode ser usada localmente para configurar o mostrador do relógio no dispositivo wearable (Ia455f).

Wear Complications e Watchface 1.0.0

Versão 1.0.0-alpha22

15 de setembro de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha22. A versão 1.0.0-alpha22 contém estas confirmações.

Novos recursos

  • A EditorSession agora se inscreve em observadores do ciclo de vida. Não é mais necessário fechá-la explicitamente quando a atividade desaparece.

Mudanças na API

  • EditorSession e ListenableEditorSession agora usam StateFlows do Kotlin para complicationSlotsState, ComplicationsPreviewData e ComplicationsDataSourceInfo (I761d9).
  • EditorSession#userStyle agora é um MutableStateFlow<UserStyle> (I32ca9).
  • EditorSession.createOnWatchEditorSession agora usa um observador do ciclo de vida e fecha automaticamente quando observa o onDestroy. Além disso, o método createOnWatchEditorSession agora só requer que a atividade seja transmitida. Mudanças idênticas também foram aplicadas à ListenableEditorSession (Ic6b7f).
  • O construtor de CustomValueUserStyleSetting foi restabelecido como parte da API pública (I2e69a).
  • A classe UserStyle agora herda de Map<UserStyleSetting, UserStyleSetting.Option> e MutableUserStyleSetting#put gera uma IllegalArgumentException se a configuração não estiver no esquema ou se a opção não corresponder à configuração (Iba40f).

Versão 1.0.0-alpha21

1º de setembro de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha21. A versão 1.0.0-alpha21 contém estas confirmações.

Mudanças na API

  • Todas as APIs públicas de mostrador do relógio, cliente, editor e complicação agora usam java.time.Instant em vez de um Long. Como consequência, o nível mínimo de API aumentou para 26 (I3cd48).
  • As APIs de mostrador do relógio e complicação agora usam o ZonedDateTime imutável em vez do Calendar (I25cf8).
  • ComplicationSlots agora são inicializados com NoDataComplicationData, ComplicationSlot.complicationData agora tem um valor e CanvasComplicationDrawable.complicationData não é mais anulável (I4dfd6). Isso reduz (mas não elimina) oscilações ao alternar entre os mostradores do relógio.

Versão 1.0.0-alpha20

18 de agosto de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha20. A versão 1.0.0-alpha20 contém estas confirmações.

Mudanças na API

  • createFallbackPreviewData foi acrescentado a ComplicationDataSourceInfo e pode ser usado quando ComplicationDataSourceInfoRetriever.recoverPreviewComplicationData retorna nulo (I38c4d).
  • ComplicationDataSourceUpdateRequester foi transformado em uma interface para autorizar a simulação em testes de unidade. Você pode construir um ComplicationDataSourceUpdateRequester concreto com ComplicationDataSourceUpdateRequester.create() (I7da22).
  • RenderParameters.PressComplicationSlotIds foi substituído por RenderParameters.lastComplicationTapDownEvents, expondo a nova classe TapEvent, que contém o triplo de coordenadas x, y do toque em pixels e um carimbo de data/hora. WatchFace.TapListener.onTap foi substituído por onTapEvent(@TapType tapType: Int, tapEvent: TapEvent). Além disso, InteractiveWatchFaceClient.displayPressedAnimation foi removido (Id87d2).
  • Uma anotação de linha de execução explícita foi acrescentada a setImportanteForAccessibility (I990fa).
  • ComplicationSlotBoundsType foi movido para androidx-wear-watchface.ComplicationSlotBoundsType em wear/wear-watchface (I09420).
  • Adicionamos suporte à transmissão dos IDs de recursos de string a UserStyleSetting e Options. Agora, essa é a maneira recomendada de construir esses objetos (I03d5f).
  • Foram impostos limites ao tamanho máximo do fio de um esquema UserStyle. Além disso, os ícones no esquema não podem ser maiores que 400 x 400 pixels (I3b65b).
  • A classe MutableUserStyle foi adicionada para oferecer suporte às mudanças em instâncias do UserStyle (I95a40).
  • Renomeamos ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient como ListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient (I64ce2).
  • Modificamos EditorState.previewComplicationsData para que contenha apenas dados de complicações ativadas e adicionamos EditorSession.DEFAULT_PREVIEW_TIME_MILLIS que, se transmitido para renderWatchFaceToBitmap ou PreviewScreenshotParams, solicita a renderização com o tempo de visualização padrão do mostrador do relógio (If7b3c).
  • Removemos os construtores UserStyleSetting que usam o CharSequence da API pública. É recomendável usar os construtores que exigem IDs StringResource (I8537b).
  • Agora, CurrentUserStyleRepository.UserStyleChangeListener oferece suporte para a conversão de SAM (I85989).

Versão 1.0.0-alpha19

4 de agosto de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha19. A versão 1.0.0-alpha19 contém estas confirmações.

Mudanças na API

  • Adição de ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient, que fornece um wrapper ListenableFuture para WatchFaceMetadataClient.createWatchFaceMetadataClient (I5fa37).
  • UserStyleOption.getOptionForId agora aceita UserStyleOption.Id em vez de uma matriz de bytes (I469be).
  • Fornecimento das constantes BooleanOption.TRUE e BooleanOption.FALSE e impedimento da criação de instâncias (I46e09).
  • Os métodos em wear-watchface-client que podem gerar uma RemoteException agora estão anotados adequadamente (Ib8438).
  • Para manter a consistência, renomeamos EditorSession.createOnWatchEditingSession como createOnWatchEditorSession. Da mesma forma, createHeadlessEditingSession agora é createHeadlessEditorSession. Os wrappers guava também foram renomeados (I1526b).
  • A EditorSession agora é uma interface, e a delegação de ListenableEditorSession.commitChangesOnClose agora é feita corretamente (I7dc3e).
  • Agora, rejeitamos qualquer esquema de estilo de usuário que tenha configurações ou opções com códigos conflitantes (Ic2715).
  • Adicionamos um parâmetro UserStyle.get sobrecarregado que aceita UserStyleSetting.Id (I2aa0f).

Versão 1.0.0-alpha18

21 de julho de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha18. A versão 1.0.0-alpha18 contém estas confirmações.

Mudanças na API

  • Movemos a ComplicationHelperActivity para a biblioteca androidx.wear:wear-watchface (I39e76).
  • Para fins de consistência e clareza, o ComplicationProvider foi renomeado como ComplicationDataSource e todas as classes com Provider no nome também foram renomeadas (Iaef0b).
  • CanvasComplication.isHighlighted foi movido para RenderParameters.pressedComplicationSlotIds. Essa é uma etapa para tornar o CanvasComplication sem estado. Para oferecer suporte a essa mudança, o CanvasComplication.render agora também aceita o slotId como um parâmetro, e transmitimos ComplicationSlot para GlesTextureComplication (I50e6e).
  • Adicionamos a headlessDeviceConfig à EditorRequest. Se não for nulo, esse parâmetro será usado para construir uma instância headless para a EditorSession, em vez de agir na instância interativa. Isso possibilita que o editor seja invocado para um mostrador do relógio que não seja o atual (I0a820).
  • Adicionamos um WatchFaceMetadataClient experimental que possibilita a extração eficiente de metadados de mostradores de relógio estáticos, como o UserStyleSchema, e corrigimos detalhes nos ComplicationSlots (I6bfdf).
  • Renomeamos CanvasRenderer.uiThreadInit como init (I6fff9).
  • Adicionamos um novo parâmetro opcional, PreviewScreenshotParams, à EditorRequest, que instrui a EditorSession a fazer uma captura de tela da visualização para confirmar esse parâmetro. A imagem de visualização está exposta na EditorState.previewImage (Ic2c16).

Correções de bugs

  • Os desenvolvedores não precisam mais adicionar a ComplicationHelperActivity ao manifesto (I6f0c2).

Versão 1.0.0-alpha17

30 de junho de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha17. A versão 1.0.0-alpha17 contém estas confirmações.

Novos recursos

  • Em GlesRenderer, makeUiThreadContextCurrent e makeBackgroundThreadContextCurrent foram substituídos por runUiThreadGlCommands e runBackgroundThreadGlCommands, que aceitam um Runnable. A biblioteca garante que somente um comando GL executável possa ser executado por vez.

  • Para facilitar a inicialização da UiThread, adicionamos CanvasRenderer.uiThreadInit, que é chamado uma vez na UiThread antes de qualquer chamada ser renderizada. Também adicionamos o atributo onRendererCreated à CanvasComplication, que facilita o compartilhamento do estado para Renderer e CanvasComplication.

  • Para maior clareza, renomeamos Complication como ComplicationSlot e complicationId para complicationSlotId ou complicationInstanceId, dependendo do uso

Mudanças na API

  • Para maior clareza, renomeamos Complication como ComplicationSlot e complicationId como complicationSlotId ou complicationInstanceId, dependendo do uso. As classes que usam "Complication" também foram renomeadas. Por exemplo, "ComplicationsManager" agora é chamada "ComplicationSlotsManager" (I4da44).
  • Em GlesRenderer, makeUiThreadContextCurrent e makeBackgroundThreadContextCurrent foram substituídas por runUiThreadGlCommands e runBackgroundThreadGlCommands, que aceitam Runnable. Essas funções só são necessárias se você precisa fazer chamadas de GL fora da renderização, runBackgroundThreadGlCommands e onUiThreadGlSurfaceCreated. Isso é necessário porque pode haver vários GlesRenderers, cada um com os próprios contextos no mesmo processo, possivelmente de diferentes mostradores do relógio. Além disso, o acesso ao contexto GL compartilhado atual agora é sincronizado (I04d59).
  • Adicionamos CanvasRenderer.uiThreadInit, que é chamado uma vez no UiThread antes de qualquer chamada para renderizar. Além disso, para maior clareza na GlesRenderer, renomeamos onGlContextCreated como onBackgroundThreadGlContextCreated e onGlSurfaceCreated como onUiThreadGlSurfaceCreated (If86d0).
  • Os HeadlessWatchFaceClient e InteractiveWatchFaceClient getComplicationsSlotState foram renomeados como getComplicationSlotsState. Em ComplicationSlot: createRoundRectComplicationBuilder, createBackgroundComplicationBuilder e createEdgeComplicationBuilder foram renomeados como createRoundRectComplicationSlotBuilder, createBackgroundComplicationSlotBuilder e createEdgeComplicationSlotBuilder, respectivamente (Ib9adc).
  • Adição de onRendererCreated ao CanvasComplication, facilitando o compartilhamento de estado entre Renderer e CanvasComplication (I5e1ac).

Versão 1.0.0-alpha16

16 de junho de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha16. A versão 1.0.0-alpha16 contém estas confirmações.

Novos recursos

  • Corrigimos diversos bugs relacionados às mudanças recentes no modelo de encadeamento e cuidamos de outros problemas com o editor de mostrador do relógio.

Correções de bugs

  • Prevenção do NPE em onComplicationProviderChooserResult (b/189594557)
  • Correção de problemas com superfícies desatualizadas e drawBlack (b/189452267).
  • Correção de disputa ao acessar complicationsManager.watchState (b/189457893).
  • Correção de bug em ciclo de vida da linha de execução em segundo plano (b/189445428).
  • Correção de problemas no editor de mostrador do relógio de versões anteriores (b/189126313).
  • Parâmetros de inicialização direta não são atualizados para mudanças de estilo do editor (b/187177307).

Versão 1.0.0-alpha15

2 de junho de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha15. A versão 1.0.0-alpha15 contém estas confirmações.

Novos recursos

A maior parte da inicialização do mostrador do relógio é feita em uma linha de execução em segundo plano. No entanto, após o carregamento de toda a renderização do mostrador, o restante ocorre na UiThread. Há uma barreira de memória entre o carregamento e a renderização, então a maioria dos mostradores de relógio do usuário não precisa fazer nada de especial. Os mostradores que usam o GLES podem ser uma exceção, uma vez que o contexto é específico da linha de execução e que criamos dois contextos vinculados. Então, é possível fazer upload de recursos do GL (por exemplo, texturas e sombreadores) na linha de execução em segundo plano e usá-los na UiThread.

Dividimos a construção de mostradores de relógio em três funções: createUserStyleSchema, createComplicationsManager e createWatchFace. Presumimos que a createUserStyleSchema e a createComplicationsManager são rápidas e que a createWatchFace pode levar algum tempo para carregar os recursos. Aproveitando isso, introduzimos WatchFaceControlClient.getDefaultProviderPoliciesAndType, que retorna um mapa de IDs de complicação para DefaultComplicationProviderPolicies e o ComplicationType padrão. Isso é mais rápido do que criar uma instância headless, porque não é necessário inicializar o mostrador do relógio completamente para realizar a consulta.

Por fim, as complicações agora são construídas com uma CanvasComplicationFactory, que permite a construção lenta dos renderizadores de CanvasComplication.

Mudanças na API

  • A @TargetApi foi substituída pela @RequiresApi (I0184a, b/187447093, b/187447094).
  • Introduzimos WatchFaceControlClient.getDefaultProviderPoliciesAndType, que retorna um mapa de IDs de complicação para DefaultComplicationProviderPolicies e o ComplicationType padrão. Sempre que possível, um caminho rápido é usado para evitar que o mostrador do relógio seja totalmente construído. Para facilitar esse processo, a API WatchFaceService precisou mudar com dois novos métodos: createUserStyleSchema e createComplicationsManager, cujos resultados são transmitidos para createWatchFace. Além disso, as complicações agora são construídas com uma CanvasComplicationFactory, que permite a construção lenta dos renderizadores da CanvasComplication (Iad6c1).
  • Removemos Most_RECENT_APP de SystemProviders (I3df00).
  • ObservableWatchData agora é uma classe selada (Ic940d).
  • CanvasComplicationFactory.create, que normalmente é limitado por E/S, agora é chamado em uma linha de execução em segundo plano para cada complicação antes da renderização da linha de execução de IU ser iniciada. Há uma barreira de memória entre a construção e a renderização, então não são necessários primitivos de linhas de execução especiais (Ia18f2)
  • A construção do mostrador do relógio agora é feita em uma linha de execução em segundo plano, embora toda a renderização seja feita na linha de execução de IU. Para fazer isso, o GlesRenderer oferece suporte a dois contextos vinculados. WatchFaceControlClient.createHeadlessWatchFaceClient e WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient podem ser resolvidas antes de WatchFaceService.createWatchFace ser concluída. As chamadas de API subsequentes serão bloqueadas até que a inicialização do mostrador do relógio seja concluída (Id9f41).
  • EXPANSION_DP e STROKE_WIDTH_DP não estão mais visíveis no api.txt (I54801).
  • Fizemos EditorSession.createOnWatchEditSession gerar uma TimeoutCancelException caso haja um erro em vez de enviar uma sessão nula. Além disso, o valor de retorno de EditorRequest.createFromIntent e EditorSession.createOnWatchEditingSession agora é NonNull (I41eb4).

Versão 1.0.0-alpha14

18 de maio de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha14. A versão 1.0.0-alpha14 contém estas confirmações.

Novos recursos

  • EditorSession.openComplicationProviderChooser agora retorna ChosenComplicationProvider, que contém o ID de complicação ComplicationProviderInfo e um pacote com outros extras retornados pelo seletor de provedores.
  • Além disso, migramos constantemente códigos para o Kotlin, e a maior parte da API do mostrador do relógio agora está definida no Kotlin.

Mudanças na API

  • As propriedades eglContext e eglDisplay do GlesRenderer agora não são anuláveis. Os erros de GL agora são relatados pela GlesRenderer.GlesException em vez das RuntimeExceptions (Ib1005).
  • Migramos o androidx.wear.watchface.complications.rendering.ComplicationDrawable do Java para o Kotlin (Ibc3eb).
  • Migramos o androidx.wear.watchface.complications.rendering.ComplicationStyle do Java para o Kotlin (I3375e).
  • Adicionamos informações sobre o provedor de complementos para cada complemento na EditorSession (I37f14).
  • Estendemos o resultado do EditorSession.openComplicationProviderChooser para que inclua as informações retornadas pelo provedor escolhido (Iead6d).

Wear Complications e Watchface: versão 1.0.0-alpha13

5 de maio de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha13. A versão 1.0.0-alpha13 contém estas confirmações.

Novos recursos

  • Os mostradores do relógio podem ter elementos visuais importantes além de mostrar a hora e as complicações. Para oferecer suporte a leitores de tela para isso, o mostrador do relógio agora pode especificar ContentDescriptionLabels de acessibilidade usando a propriedade additionalContentDescriptionLabels do renderizador. Além disso, para controlar a ordem de ContentDescriptionLabels, o accessibilityTraversalIndex foi adicionado às complicações. Isso pode ser modificado por uma ComplicationsUserStyleSetting

  • Para incentivar os desenvolvedores a considerar cuidadosamente os leitores de tela, tornamos obrigatória a transmissão do campo contentDescription do ShortTextComplicationData.Builder, do LongTextComplicationData.Builder e do RangedValueComplicationData.Builder para os respectivos construtores. Se o ComplicationText.EMPTY for transmitido para o campo contentDescription, uma contentDescription será gerada automaticamente a partir do texto e do título.

  • O WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient agora gerará uma ServiceStartFailureException se o mostrador do relógio gerar uma exceção durante a inicialização. Isso facilita o diagnóstico de problemas durante a inicialização do mostrador do relógio.

Mudanças na API

  • Adicionamos suporte para ter um nome de componente nulo em ComplicationProviderInfo, o que é necessário para compatibilidade com versões mais antigas do Wear OS (I744d2).
  • Migramos androidx.wear.complications.SystemProviders do Java para o Kotlin (Ia1f8b).
  • Ocultamos todas as classes da API pública que estão em android.support.wearable.complications e criamos wrappers correspondentes no AndroidX, quando necessário (I7bd50).
  • Renomeamos o método em TimeDifferenceComplicationText.Builder de setMinimumUnit para setMinimalTimeUnit (I20c64).
  • É obrigatório que o campo contentDescription do ShortTextComplicationData.Builder, do LongTextComplicationData.Builder e do RangedValueComplicationData.Builder seja transmitido no construtor (I8cb69).
  • Renomeamos ComplicationProviderService.onComplicationUpdate como onComplicationRequest e encapsulamos o código e o parâmetro de tipo desse método na ComplicationRequest de dados. O listener correspondente foi renomeado como ComplicationRequestListener e o método dele como ComplicationRequestListener.onComplicationData (Iaf146).
  • Removemos o método isActiveAt do ComplicationData e expusemos o campo validTimeRange. É possível substituir essa chamada de método por validTimeRange.contains (I65936).
  • Mudamos a descrição do método ComplicationProviderService.onComplicationActivated para receber um ComplicationType em vez de um int (Idb5ff).
  • Migração do ProviderUpdateRequester do Java para o Kotlin (Ibce13).
  • O GlesRender.makeContextCurrent agora é público. O código do mostrador do relógio pode precisar fazer chamadas gl fora de render e onGlContextCreated e, como pode haver um contexto interativo e um headless, é necessário chamar isso (I8a43c).
  • O WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient agora gerará uma ServiceStartFailureException se o mostrador do relógio for gerado durante a inicialização. Além disso, o WatchFaceService agora gera uma exceção quando o createWatchFace demora mais de seis segundos (I59b2f).
  • Removemos a propriedade do código não utilizado da GlesTextureComplication (I28958).
  • O mostrador do relógio agora pode especificar ContentDescriptionLabels de acessibilidade usando a propriedade additionalContentDescriptionLabels do Renderer. Além disso, para controlar a ordem de ContentDescriptionLabels, o accessibilityTraversalIndex foi adicionado às complicações. Isso pode ser modificado por uma ComplicationsUserStyleSetting (Ib7362).
  • A documentação sobre o processamento de eventos de toque no mostrador do relógio foi expandida (Iaf31e).

Correções de bugs

  • O EditorSession.getComplicationsPreviewData() agora retorna um mapa para todas as complicações não vazias. Uma instância de EmptyComplicationData é usada para complicações vazias (I1ef7e).

Wear Complications e Watchface versão 1.0.0-alpha12

21 de abril de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha12. A versão 1.0.0-alpha12 contém estas confirmações.

Novos recursos

Os editores de mostradores de relógio precisam destacar partes do mostrador para ajudar a controlar que aspecto do relógio está sendo configurado. Estendemos o RenderParameters para permitir que os estilos e as complicações sejam destacados. Há uma nova HighlightLayer opcional que tem como objetivo ser opaca em cima do mostrador do relógio com transparência alfa (as APIs de captura de tela podem fazer isso, ou você pode fornecer a HighlightLayer por conta própria para obter a máxima flexibilidade). Por exemplo, se você tiver um estilo que permita configurar a aparência dos ponteiros do relógio, o renderizador na renderHighlightLayer poderá desenhar um contorno em volta deles.

Para estimular o suporte ao Complication Provider para acessibilidade, tornamos o campo contentDescription do PhotoImageComplicationData.Builder, do MonochromaticImageComplicationData.Builder e do SmallImageComplicationData.Builder para que sejam um argumento de construtor obrigatório. ComplicationTapFilter e Complication.createEdgeComplicationBuilder foram adicionados para oferecer suporte às complementos da borda (desenhadas ao redor da borda da tela). A renderização e o teste de hit das complicações da borda são deixados para o mostrador do relógio. O teste de hit da borda não tem suporte do editor complementar.

Mudanças na API

  • O prefixo PROVIDER_ foi adicionado às constantes em SystemProviders (I1e773).
  • É obrigatório que o campo contentDescription do PhotoImageComplicationData.Builder, do MonochromaticImageComplicationData.Builder e do SmallImageComplicationData.Builder seja transmitido no construtor (I9643a).
  • ProviderInfoRetriever.requestPreviewComplicationData foi renomeado como retrievePreviewComplicationData (I911ee).
  • ComplicationProviderService foi migrado de Java para Kotlin (I849f2).
  • O método ComplicationProviderService.onBind agora é final (I39af5).
  • Restabelecemos a interface CanvasComplication e movemos CanvasComplicaitonDrawable, GlesTextureComplication e ComplicationHighlightRenderer para wear-watchface-complications-rendering (I84670).
  • RenderParameters foi refatorado para dar suporte à renderização de destaque estendida. Agora é possível solicitar a renderização de destaques para estilos de uma única complicação ou de todas. Além disso, o CanvasRenderer e o GlesRenderer têm um novo método abstrato renderHighlightLayer para renderizar qualquer destaque solicitado pelo editor. A camada foi renomeada para WatchFaceLayer (Ic2444).
  • ComplicationTapFilter e Complication.createEdgeComplicationBuilder foram adicionados para dar suporte às complicações da borda. A renderização e o teste de hit das complicações da borda são deixados para o mostrador do relógio. Os editores internos não oferecem suporte a testes de hit (Ia6604).
  • Para DoubleRangeUserStyleSetting e LongRangeUserStyleSetting: defaultValue, maximumValue e minimumValue agora são propriedades do Kotlin. Além disso, funções UserStyleSetting.Option como toBooleanOption, toCoplicationOptions, toListOption e similares foram removidas (I52899).
  • Adicione o tamanho do queixo às propriedades do dispositivo disponível para o mostrador do relógio (I76e1e).
  • O construtor do ComplicationHighlightRenderer agora aceita parâmetros outlineExpansion e outlineStrokeWidth (I87009).
  • ComplicationDrawable.getNoDataText agora faz parte da API pública (I00598).

Versão 1.0.0-alpha11

7 de abril de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estas confirmações.

Novos recursos

  • Mais ajustes foram aplicados às APIs de mostrador do relógio. A maioria das mudanças é de renomeações simples, mas InteractiveWatchFaceWcsClient e InteractiveWatchFaceSysUiClient foram mescladas em InteractiveWatchFaceClient.

Mudanças na API

  • ContentDescriptionLabel.text agora é uma ComplicationText em vez da antiga TimeDependentText da Biblioteca de Suporte de Wearables (I80c03).
  • Não há garantias de que SystemProviders.GOOGLE_PAY esteja em todos os dispositivos Android R, então ele foi removido da lista. Ainda é possível usar esse provedor com a DefaultComplicationProviderPolicy (If01b5).
  • Renomeação de ComplicationUpdateCallback como ComplicationUpdateListener para manter a consistência (I61ec7).
  • O mapa no formato de conexão UserStyle mudou para Map<String, byte[]> e, por conveniência, uma classe UserStyleData foi adicionada à API pública e agora é usada por wear-watchface-client e wear-watchface-editor. Além disso, CustomValueUserStyleSetting.CustomValueOption.value agora é byte[] em vez de String (Iaa103).
  • UserStyleSetting e UserStyleSetting.Option agora usam UserStyleSetting.Id e UserStyleSetting.Option.Id, respectivamente, para armazenar os IDs em vez de uma string (I63f72).
  • InteractiveWatchFaceClient.SystemState foi renomeado como WatchUiState (I6a4e0).
  • InteractiveWatchFaceWcsClient e InteractiveWatchFaceSysUiClient foram mescladas porque era difícil explicar a divisão de responsabilidade (Iff3fa).
  • Os valores de enumeração da camada foram renomeados para maior clareza. Layer#TOP_LAYER agora é Layer#COMPLICATIONS_OVERLAY, e Layer#BASE_LAYER agora é Layer#BASE (Ia144e).
  • A interface UserStyleListener foi renomeada como UserStyleChangeListener (I18524).
  • A classe UserStyleRepository foi renomeada como CurrentUserStyleRepository (I6ea53).
  • InteractiveWatchFaceWcsClient.updateInstance foi renomeada como updateWatchfaceInstance (I321dc).
  • Os eventos TapFace WatchType foram renomeados para se alinhar com MotionEvents / Compose (I0dfd0).
  • takeWatchfaceScreenshot foi renomeado como renderWatchFaceToBitmap, e takeComplicationScreenshot foi renomeado como renderComplicationToBitmap (Ie0697).
  • A interface CanvasComplication foi substituída pela classe aberta CanvasComplicationDrawable (I1f81f).
  • WatcfaceControlServiceFactory foi removida da API pública (I1f8d3).
  • CanvasComplication.setData foi renomeada como CanvasComplication.loadData (If1239).
  • ComplicationsManager.bringAttentionToComplication foi renomeada como displayPressedAnimation (Ic4297).
  • WatchFaceService.createWatchFace agora tem uma anotação @UiThread (Ib54c2).
  • Mudança do nome de um parâmetro CanvasComplicationDrawable para corrigir um bug (I50dac).
  • Adição de HeadlessWatchFaceClient.toBundle() e HeadlessWatchFaceClient.createFromBundle para oferecer suporte ao envio da HeadlessWatchFaceClient por AIDL (I07c35).
  • Agora, HeadlessWatchFaceClient e InteractiveWatchFaceClient têm ClientDisconnectListener e isConnectionAlive() para você observar se a conexão foi interrompida por algum motivo. Por exemplo, o mostrador do relógio foi encerrado (Ie446d).
  • WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync agora é uma função de suspensão e foi renomeada como getOrCreateInteractiveWatchFaceClient (Ib745d).
  • EditorState.commitChanges e hasCommitChanges() foram renomeadas como shouldCommitChanges() (I06e04).
  • previewComplicationData foi renomeado como previewComplicationsData para indicar que (geralmente) há mais de uma complicação no mapa (I56c06).
  • InteractiveWatchFaceWcsClient.bringAttentionToComplication foi renomeada como displayPressedAnimation para consistência com ComplicationsManager.displayPressedAnimation (Ic9999).
  • Todas as instâncias do ID de instância do mostrador do relógio foram encapsuladas em uma nova classe WatchFaceId (I45fdf).
  • A propriedade complicationState foi renomeada como complicationsState para indicar a pluralidade (Ided07).
  • Remoção de várias conversões wear-watchface-client Binder. Elas são desnecessárias (Icc4c0).
  • Para consistência, EditorServiceClient foi refatorada para o uso de listeners em vez de observadores (Iec3a4).
  • Algumas anotações @Px ausentes foram adicionadas em InteractiveWatchFaceSysUiClient e WatchFaceControlClient (I3277a).
  • Renomeação de EditorObserverCallback como EditorObserverListener para consistência (Ie572d).
  • EditorState.watchFaceInstanceId foi restrito ao nível de API do Android R e mais recentes e não é mais anulável (Id52bb).
  • EditorSession.launchComplicationProviderChooser foi renomeada como openComplicationProviderChooser (I9d441).
  • EditorSession.createOnWatchEditingSessionAsync foi renomeada como createOnWatchEditingSession e agora é uma função de suspensão (Id257b).
  • Adição de várias anotações @UiThread ausentes na EditorSession (I6935c).
  • UserStyleSetting.affectsLayers foi renomeado como affectedLayers (I6e22b).

Versão 1.0.0-alpha10

24 de março de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estas confirmações.

Novos recursos

  • Agora é possível criar objetos gl abertos, por exemplo, texturas, durante WatchFaceService.createWatchFace, porque o GlesRenderer agora exige uma chamada explícita para initOpenGLContext, que pode ser feita dentro de createWatchFace.

Mudanças na API

  • IdAndComplicationData era um pouco estranho e foi removido da API pública. As classes e interfaces que o usavam foram refatoradas (I4c928).
  • Substituímos ReferenceTime por CountUpTimeReference e CountDownTimeReference, que são mais autoexplicativos (Ib66c6).
  • Adição de algumas anotações @Px e @ColorInt ausentes (I9bbc3).
  • Complication.complicationConfigExtras agora não é anulável e o padrão é Bundle.EMPTY (Iad04f).
  • Agora, GlesRenderer exige que você chame initOpenGLContext após a construção. Essa função era um detalhe interno, mas agora está na API pública para autorizar chamadas GL mais cedo dentro do createWatchFace (I726c2).
  • Removemos Complication.setRenderer porque não é mais necessário (Ie992f).
  • Complicaiton.setComplicationBounds não faz mais parte da API pública. Se você precisar ajustar a posição de uma complicação, use ComplicationsUserStyleSetting (Ibd9e5).
  • ComplicationsManager.TapCallback.onComplicationSingleTapped foi renomeado como onComplicationTapped (I3a55c).
  • ComplicationOutlineRenderer.drawComplicationSelectOutline foi renomeado como drawComplicationOutline (I14b88).

Versão 1.0.0-alpha09

10 de Março de 2021

Lançamento de androidx.wear:wear-complications-*:1.0.0-alpha09 e androidx.wear:wear-watchface-*:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estas confirmações.

Novos recursos

  • A interface entre o host WCS/SysUI e o mostrador do relógio evoluiu. Agora, um editor pode determinar se uma mudança de estilo ativará ou desativará uma complicação (enabled = initiallyEnabled, além de qualquer substituição de ComplicationsUserStyleSetting). O EditorService.closeEditor também permite que a SysUI feche remotamente o editor de mostrador do relógio, se necessário.
  • Além disso, InteractiveWatchFaceWcsClient.setUserStyle tem um comando mais eficiente updateInstance que altera o ID da instância, define o estilo e limpa as complicações de uma só vez.

Mudanças na API

  • TraceEvents foram adicionados às bibliotecas de mostradores de relógio (I1a141).
  • ComplicationState agora tem uma nova propriedade initiallyEnabled que é útil para prever as consequências da mudança de estilos (I8c905).
  • Substituímos InteractiveWatchFaceWcsClient.setUserStyle por um comando mais eficiente updateInstance que altera o ID da instância, define o estilo e limpa as complicações (Ife6f6).
  • As APIs de captura de tela WatchFaceClient não compactam mais as capturas de tela porque esse processo era lento. Em vez disso, deixamos o pós-processamento para o autor da chamada (Id35af).
  • Agora é possível fechar remotamente um editor de mostrador do relógio usando EditorService.closeEditor (Ic5aa4).
  • Anotações de nulidade foram adicionadas (Ic16ed).

Versão 1.0.0-alpha08

24 de fevereiro de 2021

Lançamento do androidx.wear:wear-*:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estas confirmações.

Novos recursos

  • Alguns mostradores de relógio são projetados de acordo com uma ou mais complementos específicas. Para isso, adicionamos Complication.Builder#setFixedComplicationProvider, que, se definido como verdadeiro, impede que o usuário mude a complemento nesse slot.
  • As bibliotecas do mostrador do relógio são o Kotlin e usam corrotinas (por exemplo, funções de suspensão). Para usuários de Java, fornecemos wrappers ListenableFuture para melhorar a interoperabilidade nas seguintes bibliotecas: wear/wear-watchface-guava, wear/wear-watchface-client-guava e wear/wear-watchface-editor-guava.

Mudanças na API

  • Removemos o suporte a toques duplos em complicações iniciando o seletor de provedores. Esse recurso não era comum em mostradores de relógio e complicava a implementação do SysUI (I3ef24).
  • Os métodos ProviderInfoRetriever podem gerar ServiceDisconnectedException se o vinculador fechar inesperadamente (Ib2cc4).
  • No Android 11 e versões mais recentes, existem restrições sobre quando o ProviderChooser pode ser executado, além de que gostaríamos que os editores fossem criados com o novo wear-watchface-editor para que a ComplicationHelperActivity seja removida da API pública (Ib19c1).
  • Métodos estáticos de ComplicationText foram removidos em favor dos builders (Ibe399).
  • Lançamos wrappers ListenableFuture para os métodos suspensos da biblioteca de mostradores de relógio (I16b2c).
  • Para clareza da API, adicionamos um construtor secundário a RenderParameters que não precisa de tonalidade, para uso com LayerModes diferentes de LayerMode.DRAW_OUTLINED (I497ea).
  • Anteriormente, ListUserStyleSetting era diferente do outro porque tinha um argumento padrão. Agora todos os construtores de subclasses StyleSetting assumem o valor padrão por último (I9dbfd).
  • A CanvasComplication foi refatorada para uso com um método oculto, o que facilita a implementação de uma subclasse (I5b321).
  • Refatoramos o EditorResult em favor de um novo EditorService e um EditorSession.broadcastState() para transmitir atualizações a um observador (normalmente SysUI) (Ic4370).
  • Alguns mostradores de relógio são construídos em torno de uma complicação específica como parte integral do mostrador do relógio em que o provedor não pode ser configurado pelo usuário. Para oferecer suporte, adicionamos Complication.Builder#setFixedComplicationProvider (I4509e).
  • EditorRequest agora especifica o nome do pacote em vez de ComponentName, porque era inconveniente para o SysUI procurar o nome da classe do editor, e só precisamos do nome do pacote (Ib6814).

Versão 1.0.0-alpha07

10 de fevereiro de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estas confirmações.

Novos recursos

  • WatchFaceService.createWatchFace agora é uma função de suspensão, o que significa que o mostrador do relógio não precisa mais bloquear a linha de execução de IU enquanto espera por I/O. Semelhante a wear-watchface-editor e wear-complications-data

Mudanças na API

  • Remoção da classe PhotoImage e uso direto de Icon (I8a70b).
  • Exposição do validTimeRange de ComplicationData (I91366).
  • Os atributos semelhantes a imagem agora são mais explícitos (I81700).
  • Refatoração de wear-watchface-editor e wear-complications-data para usar funções de suspensão em vez de corrotinas. Wrappers de compatibilidade futuros e rx java serão lançados posteriormente (If3c5f).
  • ProviderInfoRetriever agora gera uma PreviewNotAvailableException se requestPreviewComplicationData não puder retornar dados de visualização devido a problemas de conexão ou falta de suporte à API (I4964d).
  • WatchFaceControlService::createWatchFaceControlClient agora é uma função de suspensão e getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient agora getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync é chamado, retornando Deferred<InteractiveWatchFaceWcsClient>. Wrappers de compatibilidade futuros e rx java serão lançados posteriormente (I5d461).
  • CATEGORY_PROVIDER_CONFIG_ACTION foi renomeado como CATEGORY_PROVIDER_CONFIG (I7c068).
  • Observe que createOnWatchEditingSession agora é uma função suspensa, porque o mostrador do relógio às vezes não estará disponível até o início da atividade do editor (Ida9aa).
  • WatchFaceService.createWatchFace agora é uma função de suspensão que permite a inicialização assíncrona. Anteriormente, você teria que bloquear a linha de execução principal (If076a).
  • UserStyle agora tem um operador de matriz e adicionamos assistentes de transmissão a UserStyle.Option (I35036).
  • Corrigimos um bug de gerenciamento de wireformats UserStyle que alteravam parte da API oculta instável (I8be09).
  • Adicionamos CustomValueUserStyleSetting, que permite armazenar uma única string específica de aplicativo em um UserStyle. Os editores de mostrador do relógio padrão ignoram esse valor (Ic04d2).
  • InstanceID não é transmitido nos extras de intent para as versões R e mais antigas do Android WearOS que não podem fazer upgrade. Para oferecer suporte a elas, agora permitimos que o InstanceID seja nulo (Id8b78).
  • EditorRequest agora inclui o ComponentName do editor, que é definido como o componente em WatchFaceEditorContract.createIntent (I3cd06).
  • O EditorResult do mostrador do relógio agora inclui uma visualização de ComplicationData para permitir que o autor da chamada faça uma captura de tela do mostrador após a edição (I2c561).

Correções de bugs

  • Adição de substituições toString() para UserStyle, UserStyleSetting e UserStyleSchema, que faz com que trabalhar com essas classes seja mais agradável (I9f5ec).

Versão 1.0.0-alpha06

27 de janeiro de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Novos recursos

  • Lançamos uma nova biblioteca wear/wear-watchface-editor, que permite que os desenvolvedores de mostradores de relógio e, possivelmente, OEMs criem um editor de estilo e complicação. O SysUI enviará uma intent ao mostrador do relógio, que usará a nova classe EditorSession para acessar os detalhes do WatchFace e registrar o resultado por Activity.setWatchRequestResult. Para permitir isso, adicionamos ProviderInfoRetriever.requestPreviewComplicationData, que permite aos editores de mostradores de relógio solicitar a visualização ComplicationData. A vantagem da visualização ComplicationData é que, diferente dos dados em tempo real, você não precisa se preocupar em mostrar caixas de diálogo de permissão ao renderizar o editor. Observe que se um usuário selecionar um provedor com uma permissão, ele ainda vai receber uma solicitação para conceder a permissão.

Mudanças na API

  • ComplicationProviderInfo agora tem um campo para o ComponentName do provedor. O suporte a esse campo será adicionado ao WearOS em breve e, enquanto isso, o campo será nulo (Id8fc4).
  • Adicionamos ProviderInfoRetriever.requestPreviewComplicationData, que permite aos editores de mostradores do relógio solicitar a visualização ComplicationData. Isso é útil porque complicações em tempo real podem exigir permissões, e agora você pode exibir dados de visualização para complicações que não estão ativas (I2e1df).
  • ComplicationManager agora é um parâmetro opcional do construtor WatchFace, e os argumentos foram reordenados para permitir isso (I66c76).
  • Adicionamos um pacote opcional a Complications que, se definido, é mesclado com a intent enviada para iniciar a atividade do seletor de provedores (Ifd4ad).
  • Adicionamos uma nova biblioteca wear-watchface-editor para suporte a mostradores de relógio e editores hospedados com SysUI. A SysUI iniciará esses editores enviando uma intent. O serviço de atividade do mostrador do relógio pode usar a nova classe EditorSession para acessar os detalhes do WatchFace e registrar o resultado usando Activity.setWatchRequestResult (I2110d).
  • LayerMode.DRAW_HIGHLIGHTED agora é chamado de LayerMode.DRAW_OUTLINED e RenderParameters.highlightComplicationId agora é chamado de RenderParameters.selectedComplicationId, que desenha um destaque na complicação especificada, além de um contorno (I90a40).
  • O futuro do WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient agora poderá ser resolvido com uma ServiceStartFailureException se o serviço for desativado enquanto espera o mostrador do relógio ser criado (I0f509).
  • EditorSession.complicationPreviewData agora é um ListenableFuture porque a busca desses dados é um processo assíncrono (Iead9d).

Correções de bugs

  • Estamos removendo campos que não são usados de ComplicationOverlay, deixando ativos e complicationBounds (I17b71).

Versão 1.0.0-alpha05

13 de janeiro de 2021

Lançamento de androidx.wear:wear-*:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Novos recursos

Mostradores de relógio geralmente são compatíveis com diversas configurações de complemento com um número variável de complementos mostrado. Para facilitar a configuração, agora oferecemos suporte a complicações inicialmente desativadas ao chamar setEnabled(false) no builder. É possível ativá-las mais tarde com ComplicationsUserStyleSetting.

Mudanças na API

  • ComplicationHelperActivity agora aceita Collection<ComplicationType> em vez de uma matriz int, facilitando o uso (I1f13d).
  • ProviderInfoRetriever.retrieveProviderInfo agora retorna ListenableFuture<ProviderInfo[]> corretamente (If2710).
  • Agora é possível criar uma complicação inicialmente desativada chamando setEnabled(false) no builder (Idaa53).
  • WatchFaceState agora tem uma propriedade isHeadless que só é verdadeira para instâncias headless (Ifa900).
  • ComplicationDrawable agora é compatível com o carregamento síncrono de drawables. Isso é usado pelas APIs de captura de tela (I34d4a).

Versão 1.0.0-alpha04

16 de dezembro de 2020

Lançamento de androidx.wear:wear-*:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Novos recursos

  • A biblioteca de mostradores do relógio do Wear agora oferece suporte à configuração de limites por tipo. Por exemplo, você pode alternar para uma caixa delimitadora ampla para ComplicationType.LONG_TEXT enquanto usa uma caixa delimitadora menor para outros tipos.

Mudanças na API

  • As complementos agora usam ComplicationBounds, que agrupa um Map<ComplicationType, RectF> para oferecer suporte por tamanhos de tipos de complemento (I1ebe7).
  • RenderParameters agora permite especificar a tonalidade do destaque para uso em capturas de tela (Iff42b).
  • Com exceção dos limites, agora é preciso usar ComplicationsUserStyleSetting para modificar as complicações. Isso serve para garantir a sincronização do SO (I8dc5d).
  • O Renderer agora é uma classe selada. Isso significa que o CanvasRenderer e o GlesRenderer agora são classes internas do Renderer (Iab5d4, b/173803230).
  • Renomeação de CanvasComplicationDrawable.drawHighlight para drawOutline. ObservableWatchData agora tem algumas anotações UiThread ausentes. ScreenState foi totalmente removido do WatchState (If1393).
  • O nível mínimo de API para o mostrador do relógio agora é 25. O suporte à tela de hardware exige o nível de API 26 ou mais recente (Ic9bbd).
  • InteractiveWatchFaceWcsClient agora tem um auxiliar getComplicationIdAt (I05811).
  • O nível de API para wear-watchface-client foi reduzido para 25. No entanto, as APIs de captura de tela exigem o nível 27 (Id31c2).

Correções de bugs

  • Agora expomos o ComplicationType atual da ComplicationData da complicação em ComplicationState (I9b390).
  • InteractiveWatchFaceWcs agora tem um método `bringAttentionToComplication para destacar brevemente a complicação especificada (I6d31c).
  • InteractiveWatchFaceWcsClient#setUserStyle agora tem uma sobrecarga que aceita Map, o que pode evitar mais uma ida e volta na IPC necessária para construir UserStyle (I24eec).

Versão 1.0.0-alpha03

2 de dezembro de 2020

Lançamento de androidx.wear:wear-*:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Novos recursos

A classe Complication agora tem uma propriedade compicationData, permitindo que mostradores de relógio observem mudanças em ComplicationData. Isso permite mudar as dimensões da complicação com base no tipo dela.

Agora, os frame rates variáveis são compatíveis com a atribuição ao Renderer.interactiveDrawModeUpdateDelayMillis. Para mostradores de relógio que executam animações curtas a cada segundo, isso pode gerar uma boa economia de energia no modo suspenso, quando eles não estiverem com animações.

Mudanças na API

  • BACKGROUND_IMAGE foi renomeado como PHOTO_IMAGE de acordo com as classes relacionadas. Esse tipo de complicação não é usado exclusivamente em segundo plano. Por isso, o nome foi mudado (I995c6).
  • DefaultComplicationProviderPolicy anotado corretamente com IntDefs (I3b431).
  • A classe oculta TimeDependentText não é mais exposta por ContentDescriptionLabel. Em vez disso, adicionamos um acessador para receber o texto em um horário especificado (Ica692).
  • O construtor do ObservableWatchData agora é interno (I30121, b/173802666).
  • Complication agora tem ComplicationData, permitindo que mostradores de relógio observem mudanças em ComplicationData. Complication também tem uma nova chamada isActiveAt, que pode ser usada para saber se algo precisa ser renderizado na data e hora informadas (Ic0e2a).
  • O SharedMemoryImage vazio não está mais na API pública (I7ee17).
  • WatchFace.overridePreviewReferenceTimeMillis agora tem uma anotação IntRange, e o getter e o setter têm nomes consistentes (Ia5f78).
  • Complication.Builder agora é criado via Complication.createRoundRectComplicationBuilder ou Complication.createBackgroundComplicationBuilder para maior clareza (I54063).
  • Foi adicionado um WatchFace.TapListener, que permite que toques não consumidos por complicações sejam observados pelo WatchFace (Ic2fe1, b/172721168).
  • O WatchFace agora é compatível com frame rates variáveis atribuindo a Renderer.interactiveDrawModeUpdateDelayMillis. Isso pode ajudar a preservar a duração da bateria no modo suspenso, quando não houver animações (I707c9).
  • WatchFace.Builder não é mais necessário, e invalid() e interactiveUpdateRateMillis foram movidos para o Renderer (I329ea).
  • Para melhoria na interoperabilidade do Java, os getters foram renomeados para propriedades booleanas no WatchState (I6d2f1).
  • Renomeação de TapListener como TapCallback e InvalidateCallback como InvalidateListener para consistência (I9414e).
  • As opções de estilo do mostrador do relógio do Wear 2.0 foram movidas para a própria classe, para maior clareza. Os setters WatchFace.Builder agora têm getters simétricos da classe WatchFace (Iefdfc).
  • Adição de InteractiveWatchFaceWcsClient e WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient, que recebem uma instância existente ou a criam assim que o serviço de plano de fundo se conecta e produz o mecanismo (Id666e).
  • WatchFaceControlClient agora é uma interface para permitir a simulação de testes (I875d9).
  • HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl e InteractiveWatchFaceWcsClient agora são interfaces para facilitar os testes (I7cdc3).
  • Adição de anotações aos métodos em wear-watchface-complications-rendering (I0d65c).

Correções de bugs

  • Remoção do formato de tela do DeviceConfig, que estava duplicando android.content.res.Configuration#isScreenRound() (Ifadf4).
  • Mudança de WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient para aceitar um Map<String, String> em vez de UserStyle, porque é difícil criar um UserStyle sem conhecer o esquema, que só é possível receber depois que o cliente é criado (Iea02a).
  • Correção de InteractiveWatchFaceWcsClient para usar ComplicationState em vez do formato de condutor (Icb8a4).
  • UserStyleSettings agora é uma classe selada porque os editores de mostradores de relógio só entendem as classes integradas (I2d797).

Versão 1.0.0-alpha02

11 de novembro de 2020

androidx.wear:wear-*:1.0.0-alpha02 é lançado. A versão 1.0.0-alpha02 contém estas confirmações.

Mudanças na API

  • O ComplicationDetails agora é chamado de ComplicationState e está adequadamente encapsulado. Os usos do suporte de wearable com @ComplicationData.ComplicationType foram migrados para o ComplicationType do androidx (I4dd36).
  • Adição de um parâmetro highlightedComplicationId opcional a RenderParameters, que permite solicitar o destaque de uma única complicação nas capturas de tela (I66ce9).
  • O ComplicationProviderService usará a nova API de complicação de estilo para consistência (Id5aea).
  • getPreviewReferenceTimeMillis agora recebe tempos de referência de DeviceConfig (I779fe).
  • Simplificação da plataforma da API Renderer. Agora, o SurfaceHolder.Callback pode ser usado para observar as mudanças (I210db).
  • O CanvasComplicationRenderer não é uma extensão do Renderer. Renomeando para maior clareza (Ibe880).

Correções de bugs

  • Primeira versão de androidx.wear:wear-watchface-client (I1e35e).
  • Mudança do nome de GlesTextureComplication#renderer para maior clareza (Ibb78f7).
  • Renomeação de StyleCategory como StyleSetting para maior clareza (I488c7).
  • Adição de UserStyleSchema para uma API mais limpa (If36f8).

Versão 1.0.0-alpha01

28 de outubro de 2020

Lançamento de androidx.wear:wear-complications-*:1.0.0-alpha01 e androidx.wear:wear-watchface-*:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Mudanças na API

  • Remoção de alguns itens que não pretendíamos expor na API pública (I41669).
  • Criação da biblioteca androidx.wear:wear-complications-provider (I77f1f).
  • ComplicationsUserStyleCategory é a nova categoria recomendada para configurar complicações (I96909).
  • Adição da API wear-complication-data (I7c268).
  • As funções com valores de retorno booleanos serão prefixadas com "is" em vez de "get" (If36ff).
  • A recomendação da API é evitar o uso protegido, de modo que essa classe tenha sido refatorada para receber parâmetros pelo construtor (I61644).
  • Renomeação de setBackgroundComplication para maior clareza (I96fe3).
  • Uso de propriedades Kotlin para dados e isHighlighted do ComplicationDrawable (I4dcc8).
  • Em vez de ComplicationRenderer.InvalidateCallback, adicionamos Complication#invalidate() (I4f4c6).
  • Essas APIs estão sendo descontinuadas em WearableSupport e vão ser removidas aqui (Ib425c).
  • Alguns métodos do builder WatchFace foram renomeados para enfatizar a natureza de legado do Wear 2.0 (Idb775).
  • Primeira candidata de API Beta para wear/wear-watchface (Id3981).
  • Primeira versão rastreada da API (Ie9fe6).
  • ComplicationDrawable.BorderStyle IntDef foi adequadamente ocultado e movido para ComplicationStyle para consistência (I27f7a).
  • Adição de anotações ausentes para métodos ComplicationStyle (I838fd).
  • Esta biblioteca não tem plataforma de API pública (I88e2b).
  • Todas as classes Option de categoria de estilo agora são adequadamente finais (Ib8323).
  • Primeira versão rastreada da API (I27c85).

Correções de bugs

  • Mudança de ComplicationProviderService para ter um método getComplicationPreviewData explícito (I4905f).
  • A verificação de lint da API para MissingGetterMatchingBuilder está ativada para androidx (I4bbea, b/138602561).
  • Renomeação de wear-complications-rendering (Ifea02).
  • Os nomes de exibição da categoria de estilo agora são CharSequences (I28990).
  • Troca de "Substituir" por "Sobrepor" para corresponder às convenções de nomenclatura de temas e estilos atuais (I4fde9).
  • Renomeação de UserStyle#getOptions para maior clareza (I695b6).

Versão 1.2.0

Versão 1.2.0

15 de setembro de 2021

Lançamento de androidx.wear:wear:1.2.0. A versão 1.2.0 contém estas confirmações.

Mudanças importantes desde a 1.1.0

  • Adição do componente CurvedText para facilitar a escrita seguindo a curvatura do maior círculo que pode ser inscrito na visualização. Um exemplo de uso:

    <androidx.wear.widget.CurvedText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="example curved text"
            app:anchorAngleDegrees="180"
            app:anchorPosition="center"
            app:clockwise="false"
            style="@android:style/TextAppearance.Large"
    />
    

    Exemplo de texto curvo no Android Wear

  • Adição do contêiner ArcLayout para definir o layout dos elementos filhos, um por um, em um arco no sentido horário ou anti-horário. Os filhos podem ser widgets Android padrão ou widgets "curvos" que implementam a interface ArcLayout.Widget (I536da). Um exemplo de uso:

    <androidx.wear.widget.ArcLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:anchorPosition="center">
          <ImageView
                  android:layout_width="20dp"
                  android:layout_height="20dp"
                  android:src="@drawable/ic_launcher"
          />
          <androidx.wear.widget.CurvedText
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:text="Curved Text"
                  style="@android:style/TextAppearance.Small"
                  android:padding="2dp"
           />
      </androidx.wear.widget.WearArcLayout>
    

    Exemplo de texto em arco no Android Wear

  • Adição de um novo contêiner de layout DismissibleFrameLayout, que lida com o botão "Voltar" para dispensar e/ou deslizar para dispensar, destinado para uso em uma atividade. Pelo menos um listener precisa ser adicionado para atuar em uma ação de dispensa. Um listener geralmente remove uma visualização ou um fragmento da atividade atual. setSwipeDismissable(boolean) e setBackButtonDismissable(boolean) são fornecidos para controle direto sobre os recursos. Esse novo layout é destinado a substituir o SwipeDismissFrameLayout existente.

  • Foi adicionado suporte para indicar que uma Activity pode ser "retomada automaticamente" quando o dispositivo sair do modo ambiente na classe AmbientModeSupport. Essa funcionalidade estava disponível anteriormente na classe WearableActivity descontinuada da WearableSupportLibrary (I336ab).

  • Migração da classe WearableCalendarContract da Biblioteca de Suporte de Wearables. Essa API fornece um subconjunto dos dados disponibilizados pela classe CalendarContract, mas é automaticamente sincronizada com os dispositivos wearable (I6f2d7).

  • Adição de uma nova API WearTypeHelper em androidx.wear.utils para determinar se o dispositivo Wear fornecido é da China (Ib01a9).

  • Adição de recursos de acessibilidade a androidx.wear.widget.ConfirmationOverlay que lerão as mensagens em voz alta se definido pela descrição da animação (I524dd).

  • Correção do bug que causava a falha de ConfirmationActivity se nenhuma mensagem fosse fornecida (Ie6055).

  • O bug em que as RecyclerViews de rolagem horizontal faziam com que WearableDrawerLayout mostrasse todas as interações foi corrigido (I24c7f).

Versão 1.2.0-rc01

1º de setembro de 2021

androidx.wear:wear:1.2.0-rc01 é lançado sem mudanças desde a última versão Beta. A versão 1.2.0-rc01 contém estas confirmações.

Versão 1.2.0-beta01

18 de agosto de 2021

Lançamento de androidx.wear:wear:1.2.0-beta01. A versão 1.2.0-beta01 contém estas confirmações.

Correções de bugs

  • Correção do bug que causava a falha de VerificationActivity se nenhuma mensagem fosse fornecida (Ie6055).

Versão 1.2.0-alpha13

4 de agosto de 2021

Lançamento de androidx.wear:wear:1.2.0-alpha13. A versão 1.2.0-alpha13 contém estas confirmações.

Mudanças na API

  • Renomeação de WearTypeHelper.isChinaDevice como WearTypeHelper.isChinaBuild (I47302).

Correções de bugs

  • Adicionamos recursos de acessibilidade a androidx.wear.widget.ConfirmationOverlay que, se definidos, lerão as mensagens e a descrição da animação (I524dd).

Versão 1.2.0-alpha12

21 de julho de 2021

Lançamento de androidx.wear:wear:1.2.0-alpha12. A versão 1.2.0-alpha12 contém estas confirmações.

Mudanças na API

  • Adicionamos uma nova API WearTypeHelper em androidx.wear.utils para determinar se o dispositivo Wear fornecido é da China (Ib01a9).

Versão 1.2.0-alpha11

30 de junho de 2021

Lançamento de androidx.wear:wear:1.2.0-alpha11. A versão 1.2.0-alpha11 contém estas confirmações.

Correções de bugs

  • O bug em que as RecyclerViews de rolagem horizontal faziam com que WearableDrawerLayout mostrasse todas as interações foi corrigido (I24c7f).

Versão 1.2.0-alpha10

2 de junho de 2021

Lançamento de androidx.wear:wear:1.2.0-alpha10. A versão 1.2.0-alpha10 contém estas confirmações.

Novos recursos

  • A versão alpha10 aprimora o suporte à acessibilidade em texto curvo e em ArcLayouts. Ela também adiciona algumas pequenas renomeações no DismissibleFrameLayout para ajudar a esclarecer a API.

Mudanças na API

  • Renomeamos os seguintes métodos no DismissibleFrameLayout (Ib195e):
    • Callback#onDismissed -> Callback#onDismissedFinished
    • isSwipeDismissible -> isDismissableBySwipe
    • isBackButtonDismissible -> isDismissableByBackButton
  • Os seguintes métodos foram definidos como finais (Ib195e):
    • setBackButtonDismissible
    • setSwipeDismissible
    • registerCallback
    • unregisterCallback

Correções de bugs

  • Usa o conteúdo de CurvedTextView no Talkback (I05798).
  • Melhor acessibilidade para visualizações normais em um ArcLayout (I4418d).

Versão 1.2.0-alpha09

18 de maio de 2021

Lançamento de androidx.wear:wear:1.2.0-alpha09. A versão 1.2.0-alpha09 contém estas confirmações.

Mudanças na API

  • Foi acrescentada uma nova função CurvedTextView.setTypeface() (semelhante à TextView) para definir a fonte do texto e o estilo negrito/itálico (I4653c).
  • O WearArcLayout foi renomeado como ArcLayout, o WearCurvedText como CurvedText e o WearArcLayout.ArcLayoutWidget como ArcLayout.Widget (I6e5ce).
    • No ArcLayout.Widget, o getThicknessPx foi renomeado como getThickness.
    • As constantes de alinhamento vertical no ArcLayout.LayoutParams agora são nomeadas começando com VERTICAL_ALIGN_ (em vez de VALIGN_, como antes).
  • Na CurvedTextView, os métodos setMinSweepDegrees e setMaxSweepDegrees foram substituídos pelo setSweepRangeDegrees (I7a9d9).

Versão 1.2.0-alpha08

5 de maio de 2021

Lançamento de androidx.wear:wear:1.2.0-alpha08. A versão 1.2.0-alpha08 contém estas confirmações.

Mudanças na API

  • Para melhorar a clareza do código, adicionamos anotações @FloatRange a alguns parâmetros angulares e tipos de retorno. (I430dd)
  • Na interface WearArcLayout.ArcLayoutWidget, o método insideClickArea agora é chamado de isPointInsideClickArea. (Ia7307)

Versão 1.2.0-alpha07

24 de março de 2021

Lançamento de androidx.wear:wear:1.2.0-alpha07. A versão 1.2.0-alpha07 contém estas confirmações.

Correções de bugs

  • Correção de erros com filhos não curvados dentro do WearArcLayout causados pelo uso do tamanho da tela com altura maior que largura. Agora, esses filhos não curvados são posicionados corretamente dentro de um arco em todos os tipos de tela.

Versão 1.2.0-alpha06

27 de janeiro de 2021

Lançamento de androidx.wear:wear:1.2.0-alpha06. A versão 1.2.0-alpha06 contém estas confirmações.

Mudanças na API

  • Migração da biblioteca Ongoing Activities para uma nova sub-biblioteca: wear-ongoing. As classes agora ficam no pacote androidx.wear.ongoing (antes chamado de androidx.wear.ongoingactivities) (I7c029).
  • Migração da classe WearableCalendarContract da Biblioteca de Suporte de Wearables para AndroidX. Essa API fornece um subconjunto dos dados disponibilizados pela classe CalendarContract, mas é automaticamente sincronizada com os dispositivos wearable (I6f2d7).

Correções de bugs

  • Desativação, por padrão, do recurso de dispensar do botão "Voltar" no Dismissible FrameLayout, já que o recurso de deslizar para dispensar continua sendo a principal maneira de voltar para uma tela cheia em dispositivos wearable (Ic24e3).
  • Correção de alguns problemas no processamento da visibilidade de filhos no WearArcLayout (Icf912).

Versão 1.2.0-alpha05

13 de janeiro de 2021

Lançamento de androidx.wear:wear:1.2.0-alpha05. A versão 1.2.0-alpha05 contém estas confirmações.

Correções de bugs

  • Atualização do javadoc da classe AmbientModeSupport para fornecer snippets de exemplo que mostram melhor o uso geral dessa classe.

Versão 1.2.0-alpha04

16 de dezembro de 2020

Lançamento de androidx.wear:wear:1.2.0-alpha04. A versão 1.2.0-alpha04 contém estas confirmações.

Mudanças na API

  • Foi adicionado suporte para indicar que uma Activity pode ser "retomada automaticamente" quando o dispositivo sair do modo ambiente na classe AmbientModeSupport. Essa funcionalidade estava disponível anteriormente na classe WearableActivity descontinuada da WearableSupportLibrary (I336ab).
  • OngoingActivity
    • Agora, a categoria pode ser definida ao criar uma OngoingActivity, por exemplo, OngoingActivitiy.Builder.getCategory(String).
    • OngoingActivityData agora tem um carimbo de data/hora de quando a OngoingActivity foi criada: OngoingActivityData.getTimestamp()
    • (I91cb4).
  • Foi adicionado suporte à definição de margens em filhos do WearArcLayout mudando os parâmetros de layout para estender MarginLayoutParams, ou seja, WearArcLayout.LayoutParams estende android.view.ViewGroup.MarginLayoutParams (I2cd88).
  • Mudança no tipo de âncora do WearCurvedTextView padrão para WearArcLayout.ANCHOR_CENTER (era WearArcLayout.ANCHOR_START). Isso simplifica o contrato entre o layout do arco e o texto curvo, porque o texto curvo desenha-se por padrão centrado em X no topo e o layout do arco pai pode girar para onde ele precisar estar (I105ff).

Versão 1.2.0-alpha03

2 de dezembro de 2020

Lançamento de androidx.wear:wear:1.2.0-alpha03. A versão 1.2.0-alpha03 contém estas confirmações.

Novos recursos

Um novo contêiner de layout DismissableFrameLayout, que lida com o botão "Voltar" para dispensar e/ou deslizar para dispensar, para ser usado em uma atividade. Pelo menos um listener precisa ser adicionado para atuar em uma ação de dispensa. Um listener geralmente remove uma visualização ou um fragmento da atividade atual. setSwipeDismissable(boolean) e setBackButtonDismissable(boolean) são fornecidos para controle direto sobre os recursos. Esse novo layout é destinado a substituir o SwipeDismissFrameLayout existente.

Os widgets curvos agora processam eventos de toque. Os widgets normais de um WearArcLayout receberão todos os eventos de toque, mapeados para o próprio espaço de coordenadas. WearCurveTextView, dentro de um WearArcLayout ou não, pode definir gerenciadores onClick e onLongClick.

As classes de atividades contínuas agora são VersionedParcelables em vez de usar serialização/desserialização personalizada. O ícone estático e a intent de toque agora são necessários.

Mudanças na API

  • O atributo "sweepDegrees" para WearCurvedTextView é separado em minSweepDegrees e maxSweepDegrees para fornecer um layout mais flexível desse widget.

Versão 1.2.0-alpha02

11 de novembro de 2020

Lançamento de androidx.wear:wear:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.

Esta versão adiciona uma nova API Ongoing Activities pela primeira vez. Os desenvolvedores podem usar essa API para sinalizar que uma atividade de longa duração está em andamento, como um exercício físico ou uma sessão de reprodução de mídia. Ela permite que os desenvolvedores forneçam atualizações de status periódicas, como "distância e tempo decorrido" ou "faixa em reprodução", para exibição no mostrador do relógio ou na tela de início. Essa funcionalidade é voltada a dispositivos futuros com a funcionalidade de atividade contínua ativada.

Mudanças na API

  • Nova API para a Ongoing Activities, que é um ambiente autônomo em "dispositivos sem suporte" (I69a31).

Versão 1.2.0-alpha01

28 de outubro de 2020

Lançamento de androidx.wear:wear:1.2.0-alpha01. A versão 1.2.0-alpha01 contém estas confirmações.

Novos recursos

  • Adição do componente WearCurvedTextView para facilitar a escrita seguindo a curvatura do maior círculo que pode ser inscrito na visualização. Um exemplo de uso:
<androidx.wear.widget.WearCurvedTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="example curved text"
        app:anchorAngleDegrees="180"
        app:anchorPosition="center"
        app:clockwise="false"
        style="@android:style/TextAppearance.Large"
/>

Exemplo de texto curvo no Android Wear

  • Adição do contêiner WearArcLayout para definir o layout dos elementos filhos, um por um, em um arco no sentido horário ou anti-horário. Os filhos podem ser widgets Android padrão ou widgets "curvos" que implementam a interface ArcLayoutWidget. Um exemplo de uso:
<androidx.wear.widget.WearArcLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:anchorPosition="center">
      <ImageView
              android:layout_width="20dp"
              android:layout_height="20dp"
              android:src="@drawable/ic_launcher"
      />
      <androidx.wear.widget.WearCurvedTextView
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:text="Curved Text"
              style="@android:style/TextAppearance.Small"
              android:padding="2dp"
       />
  </androidx.wear.widget.WearArcLayout>

Exemplo de texto em arco no Android Wear

(I536da).

Wear-Input 1.2

Versão 1.2.0-alpha02

29 de setembro de 2021

Lançamento de androidx.wear:wear-input:1.2.0-alpha02 e androidx.wear:wear-input-testing:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.

Mudanças na API

  • disallowEmoji foi renomeado como setEmojisAllowed em WearableRemoteInputExtender para definir a opção de exibir emojis (I28393).

Versão 1.2.0-alpha01

15 de setembro de 2021

Lançamento de androidx.wear:wear-input:1.2.0-alpha01 e androidx.wear:wear-input-testing:1.2.0-alpha01. A versão 1.2.0-alpha01 contém estas confirmações.

Mudanças na API

  • Exposição de todas as constantes de localização de botão da funcionalidade WearableButtons (Ibb12c).
  • Adição da classe WearableRemoteInputExtender, que pode ser usada para adicionar extras específicos do Wear para android.app.RemoteInput (I01903).

Wear-Input 1.1.0

Versão 1.1.0

18 de agosto de 2021

Lançamento de androidx.wear:wear-input:1.1.0 e androidx.wear:wear-input-testing:1.1.0. A versão 1.1.0 contém estas confirmações.

Mudanças importantes desde a versão 1.0.0

  • A classe RemoteInputIntentHelper foi adicionada.
    • Ela pode ser usada para criar uma intent RemoteInput. Essa intent pode ser usada para solicitar entradas dos usuários em uma atividade personalizável.

Versão 1.1.0-rc01

4 de agosto de 2021

Lançamento de androidx.wear:wear-input:1.1.0-rc01 e androidx.wear:wear-input-testing:1.1.0-rc01. A versão 1.1.0-rc01 contém estas confirmações.

Nenhuma mudança de API desde androidx.wear:wear-input:1.1.0-beta01 e androidx.wear:wear-input-testing:1.1.0-beta01

Versão 1.1.0-beta01

21 de julho de 2021

Lançamento de androidx.wear:wear-input:1.1.0-beta01 e androidx.wear:wear-input-testing:1.1.0-beta01, sem mudanças desde a 1.1.0-alpha03. A versão 1.1.0-beta01 contém estas confirmações.

Versão 1.1.0-alpha03

30 de junho de 2021

Lançamento de androidx.wear:wear-input:1.1.0-alpha03 e androidx.wear:wear-input-testing:1.1.0-alpha03. A versão 1.1.0-alpha03 contém estas confirmações.

Correções de bugs

  • Correção do bug que fazia com que intents da RemoteInput, que tivessem RemoteInputs adicionados a elas via RemoteInputHelper.putRemoteInputsExtra, fossem rejeitadas.

Versão 1.1.0-alpha02

18 de maio de 2021

Lançamento de androidx.wear:wear-input:1.1.0-alpha02 e androidx.wear:wear-input-testing:1.1.0-alpha02. A versão 1.1.0-alpha02 contém estas confirmações.

Mudanças na API

  • Os métodos do RemoteInputIntentHelper usados para receber ou inserir extras que representam os rótulos de título, cancelamento, confirmação e em andamento agora usam a CharSequence em vez da String para esses rótulos (I0e71f).

Versão 1.1.0-alpha01

27 de janeiro de 2021

Lançamento de androidx.wear:wear-input:1.1.0-alpha01 e androidx.wear:wear-input-testing:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Mudanças na API

  • Migração da classe RemoteInputIntent da Biblioteca de Suporte de Wearables para AndroidX. A classe migrada é renomeada como RemoteInputIntentHelper, que oferece funções auxiliares para dar suporte a entradas remotas ao iniciar uma intent (I47cee).

Wear-Input 1.0.0

Versão 1.0.0

2 de dezembro de 2020

Lançamento de androidx.wear:wear-input:1.0.0 e androidx.wear:wear-input-testing:1.0.0. A versão 1.0.0 contém estas confirmações.

Essa versão é idêntica a 1.0.0-rc01.

Principais recursos da versão 1.0.0

  • Migração da funcionalidade WearableButtons da Biblioteca de Suporte de Wearables para o Jetpack.

  • Adição de androidx.wear.input.test.TestWearableButtonsProvider, que implementa androidx.wear.input.WearableButtonsProvider para ajudar aplicativos de teste desenvolvidos com a biblioteca androidx.wear:wear-input

Versão 1.0.0-rc01

11 de novembro de 2020

Lançamento de androidx.wear:wear-input:1.0.0-rc01 e androidx.wear:wear-input-testing:1.0.0-rc01. A versão 1.0.0-rc01 contém estas confirmações.

Essa versão é idêntica à 1.0.0-beta01.

Versão 1.0.0-beta01

28 de outubro de 2020

Lançamento de androidx.wear:wear-input:1.0.0-beta01 e androidx.wear:wear-input-testing:1.0.0-beta01, sem mudanças desde a 1.1.0-alpha01. A versão 1.0.0-beta01 contém estas confirmações.

Wear-Input-Testing versão 1.0.0-alpha01

14 de outubro de 2020

Lançamento de androidx.wear:wear-input-testing:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição de androidx.wear.input.test.TestWearableButtonsProvider, que implementa androidx.wear.input.WearableButtonsProvider para ajudar aplicativos de teste desenvolvidos com a biblioteca androidx.wear:wear-input (I0ed0c).

Wear-Input versão 1.0.0-alpha01

2 de setembro de 2020

Lançamento de androidx.wear:wear-input:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

Migração da funcionalidade WearableButtons da Biblioteca de Suporte de Wearables para o Jetpack. Mais suporte para testes na biblioteca androidx.wear:wear-input-testing será oferecido na próxima versão do Jetpack.

Versão 1.1.0

Versão 1.1.0

14 de outubro de 2020

Lançamento de androidx.wear:wear:1.1.0. A versão 1.1.0 contém estas confirmações.

Principais mudanças desde a versão 1.0.0

  • Adição de um prefixo layout_ ao atributo boxedEdges (agora layout_BoxedEdges) para BoxInsetLayout para obedecer à convenção de nomenclatura do Android. Isso removerá o erro de linter no Android Studio para esses atributos (I4272f).
  • Adição de EXTRA_ANIMATION_DURATION_MILLIS opcional a ConfirmationActivity para permitir a duração de exibição da caixa de diálogo de confirmação (adb83ce, b/143356547).
  • Atualização de WearableActionDrawView para atrasar a inflação da gaveta de ação até que ela seja aberta pela primeira vez (I01026, b/163870541).

Versão 1.1.0-rc03

2 de setembro de 2020

Lançamento de androidx.wear:wear:1.1.0-rc03. A versão 1.1.0-rc03 contém estas confirmações.

Correções de bugs

  • Foi corrigido o problema em que a gaveta de ação não mostrava o conteúdo quando aberta (I01026, b/163870541).

Versão 1.1.0-rc02

24 de junho de 2020

Lançamento de androidx.wear:wear:1.1.0-rc02. A versão 1.1.0-rc02 contém estas confirmações.

Correções de bugs

  • Adição de um prefixo layout_ ao atributo boxedEdges (agora layout_boxedEdges) para BoxInsetLayout para obedecer à convenção de nomenclatura do Android. Isso removerá o erro de linter no Android Studio para esses atributos.

Versão 1.1.0-rc01

14 de maio de 2020

androidx.wear:wear:1.1.0-rc01 é lançado sem mudanças desde .1.0-beta01. A versão 1.1.0-rc01 contém estas confirmações.

Versão 1.1.0-beta01

29 de abril de 2020

androidx.wear:wear:1.1.0-beta01 é lançado sem mudanças desde androidx.wear:wear:1.1.0-alpha01. A versão 1.3.0-beta01 contém estas confirmações.

Versão 1.1.0-alpha01

15 de abril de 2020

androidx.wear:wear:1.1.0-alpha01 é lançado. A versão 1.1.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição de EXTRA_ANIMATION_DURATION_MILLIS opcional a ConfirmationActivity para permitir a duração de exibição da caixa de diálogo de confirmação (adb83ce, 134523c, b/143356547).

Correções de bugs

  • Atualização de WearableActionDrawView para atrasar a inflação da gaveta de ação até que ela seja aberta pela primeira vez (5cd32f7).