Mostrador do relógio Wear
Atualização mais recente | Versão estável | Candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
20 de abril de 2022 | 1.0.1 | - | 1.1.0-beta01 | - |
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 no arquivo build.gradle
para
seu app ou módulo:
Groovy
dependencies { // Use to implement wear watchfaces implementation "androidx.wear.watchface:watchface:1.1.0-beta01" // Use to implement wear watchface complications implementation "androidx.wear.watchface:watchface-complications-data-source:1.1.0-beta01" // (Kotlin-specific extensions) implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.1.0-beta01" // Use to implement a watchface style and complication editor implementation "androidx.wear.watchface:watchface-editor:1.1.0-beta01" }
Kotlin
dependencies { // Use to implement wear watchfaces implementation("androidx.wear.watchface:watchface:1.1.0-beta01") // Use to implement wear watchface complications implementation "androidx.wear.watchface:watchface-complications-data-source:1.1.0-beta01" // (Kotlin-specific extensions) implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.1.0-beta01" // Use to implement a watchface style and complication editor implementation("androidx.wear.watchface:watchface-editor:1.1.0-beta01") }
Para ver mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.1
Versão 1.1.0-beta01
20 de abril de 2022
Lançamento de androidx.wear.watchface:watchface-*:1.1.0-beta01
. A versão 1.1.0-beta01 contém estas confirmações.
Mudanças na API
- Agora, os métodos
WatchFaceMetadataClient
(getUserStyleSchema
,getComplicationSlotMetadataMap
,getUserStyleFlavors
) eHeadlessWatchFaceClient.getUserStyleFlavors
geram uma RuntimeException desmarcada em vez deWatchFaceException
(I0718a). WatchFaceMetadataClient.WatchFaceException
foi removido da classe para permitir a reutilização (I4e869).
Correções de bugs
- O
WatchFaceMetadataClient
não vai falhar mais quandoComplicationSlotBounds
parciais forem enviados (Iaafd).
Versão 1.1.0-alpha05
6 de abril de 2022
Lançamento de androidx.wear.watchface:watchface-*:1.1.0-alpha05
. A versão 1.1.0-alpha05 contém estas confirmações.
Novos recursos
- Agora você pode saber qual fonte de dados enviou uma
ComplicationData
ao inspecionarComplicationData.dataSource
. Alguns mostradores de relógio podem usar isso para personalizar a exibição da complicação (I44a73).
Mudanças na API
- O uso de
Renderer.CanvasRenderer
eRenderer.GlesRenderer
foi descontinuado em favor deRenderer.CanvasRenderer2
eRenderer.GlesRenderer2
. Eles oferecem suporte paraSharedAssets
, que são transmitidos aos métodos de renderização. Para a interoperabilidade com Java, introduzimosListenableCanvasRenderer2
eListenableGlesRenderer2
(I31ffa). - Agora
@WatchFaceFlavorsExperimental
pode definir variações: lista pré-configurada de mostradores do relógio estilizados (I04dd0). Renderer.sharedAssets
agora é um StateFlow e removemos oRenderer.SharedAssetsFactory
não usado (I12ac5).UserStyleSchema.userStyleSettings
não está mais descontinuado (Iba7e3).- Adicionamos
HeadlessWatchFaceClient.getUserStyleSchemaDigestHash
, que permite que umHeadlessWatchFaceClient
evite a sobrecarga relativamente baixa de transferência do esquema na AIDL antes de calcular o hash de resumo (I33597). - Adicionamos
isUserStyleSchemaStatic
aoWatchFaceMetadataClient
, que é válido apenas se for possível confiar que oUserStyleSchema
só vai mudar se o APK do mostrador do relógio for atualizado (I45a3f). - Adicionamos
getDigestHash
aUserStyleSchema
, que calcula um hash de resumo do esquema. Isso pode ser usado para determinar com eficiência se oUserStyleSchema
mudou (I2063d). METADATA_KEY_DATA_SOURCE_DEFAULT_CONFIGURATION_SUPPORTED
foi renomeado comoMETADATA_KEY_DATA_SOURCE_DEFAULT_CONFIG_SUPPORTED
(I9ba5d).UserStyleSetting.OnWatchEditorData
foi renomeado comoUserStyleSetting.WatchFaceEditorData
. Ele contém dados usados exclusivamente pelo editor do mostrador do relógio (If3afb).
Versão 1.1.0-alpha04
9 de março de 2022
Lançamento de androidx.wear.watchface:watchface-*:1.1.0-alpha04
. A versão 1.1.0-alpha04 contém essas confirmações (link em inglês).
Mudanças na API
- Nem sempre o
ComplicationData
atualizado está disponível, por exemplo, se o armazenamento em cache do ComplicationData expirar. Por isso, estendemos oNoDataComplication
com um marcador de posição ComplicationData opcional e adicionamosComplicationText.PLACEHOLDER
,MonochromaticImage.PLACEHOLDER
,SmallImage.PLACEHOLDER
ePhotoImage.PLACEHOLDER
que só podem ser usados dentro do contexto de um marcadorNoDataComplicationData
. Se esta opção for selecionada, vai ser sugerido que esses marcadores sejam renderizados com caixas ou arcos cinza (I6285d). - Adicionamos
ComplicationData.getNextChangeInstant
, que informa o próximo Instant após o de referência, em que qualquer campo da complicação pode mudar Isso é usado internamente a fim de programar frames para atualizar complicações. Por exemplo, se um mostrador de relógio normalmente é atualizado uma vez por minuto, configurar a complicação de cronômetro do relógio faz com que ele seja atualizado uma vez por segundo (I7ceb2). EditorSession.watchFaceId
agora pode ser usado em todos os níveis da API. Além disso, o valor agora vai ser sempre consistente comWatchState.watchFaceInstanceId
(I323b9).- A API
getPendingIntentForTouchEvent
não é mais necessária, porque o problema implícito foi corrigido no framework, então todas as APIs relacionadas foram removidas. Os mostradores de relógio não precisam fazer nada especial para disparar aPendingIntents
, mesmo se o botão home tiver sido pressionado recentemente (I1f2e8). - Adicionamos
RendererParameters.isForScreenShot
, que vai ser verdadeiro se a renderização for para uma captura de tela. Alguns mostradores de relógio com animações precisam saber disso para fazer ajustes e garantir os melhores resultados (I96d99). - Adicionamos a
WatchFaceExceptionReason
àWatchFaceException
para dar mais contexto ao que deu errado (I01d15). ComplicationDataSourceService.onImmediateComplicationRequest
foi removido eComplicationRequest.immediateResponseRequired
foi adicionado para sinalizar que o provedor precisa responder rapidamente (o ideal é responder em menos de 100 ms). Essa funcionalidade é protegida pela permissão privilegiadacom.google.android.wearable.permission.USE_IMMEDIATE_COMPLICATION_UPDATE
(Ie6b23).- Atualização da nulidade no núcleo e na appcompat para corresponder ao Tiramisu DP2 (I0cbb7).
Correções de bugs
- O app do mostrador do relógio falha com uma exceção se a validação do esquema falhar (Ia400f).
Versão 1.1.0-alpha03
9 de fevereiro de 2022
Lançamento de androidx.wear.watchface:watchface-*:1.1.0-alpha03
. A versão 1.1.0-alpha03 contém estas confirmações.
Mudanças na API
- Adicionamos suporte experimental a esquemas de estilo hierárquicos. Adicionamos a nova propriedade childSettings a
androidx.wear.watchface.style.UserStyleSetting.Option
, que será usada inicialmente apenas porListOption
. Isso permite que uma hierarquia de estilos seja descrita para uso pelas IUs do editor. A classe UserStyle não muda e ainda é uma propriedadeMap<String, ByteArray>
(Iaf6f4). - Adicionamos
WatchFace.OverlayStyle
, que permite que o mostrador do relógio configure a renderização da sobreposição de status do sistema (I8520d). - Introduzimos
clearWithBackgroundTintBeforeRenderingHighlightLayer
, um novo parâmetro de construtor opcional paraCanvasRenderer
, sendo que "falso" é o padrão. Se definido como verdadeiro, a tela será apagada com a cor do plano de fundo (Ie01e5). - Adição da chave de metadados
androidx.watchface.complications.datasource.DEFAULT_CONFIGURATION_SUPPORTED
, que permite que as fontes de dados de complicação indiquem que é possível fornecer um valor padrão sem nenhuma configuração (Icc0d4). - É comum ao editar o mostrador do relógio que haja uma instância interativa e headless. Para ajudar a economizar memória, introduzimos
Renderer.SharedAssets
, que permite que um renderizador de mostrador do relógio compartilhe dados imutáveis (por exemplo, texturas e sombreadores) entre instâncias. O uso deGlesRenderer.setEglConfig
eGlesRenderer.setEglDisplay
foi suspenso. Nunca houve a intenção de que eles fossem configuráveis, já que isso causaria um comportamento indefinido (I0d9e7). - Adicionamos
setNameResourceId
esetScreenReaderNameResourceId
, que são recursos de string de referência, aComplicationSlot.Builder
e getters correspondentes emandroidx.wear.watchface.client.ComplicationSlotState
. Isso permite que o sistema busque os nomes de ComplicationSlots para uso em editores e leitores de tela (If6c6a). WatchfaceMetadataClient.getUserStyleSchema
egetComplicationSlotMetadataMap
agora geram aWatchFaceException
em vez daRemoteException
(I86f11).onSynchronousComplicationRequest
e as funções relacionadas naComplicationDataSourceService
foram renomeadas comoonImmediateComplicationRequest
etc. (I87ba0).- Os editores de mostradores de relógio têm muito menos espaço em tela do que os editores complementares. Portanto, faz sentido oferecer suporte a ícones diferentes para editores de mostradores de relógio. Este patch adiciona
OnWatchEditorData
(com apenas um ícone) a todas as UserStyleSettings e, quando adequado, às classes Option (If1886). - Adicionamos
@JvmOverloads
ao construtor da classe ListenableGlesRenderer para aprimorar a interoperabilidade com Java (I2974a).
Correções de bugs
- O construtor de
ListenableGlesRenderer
agora está corretamente marcado como@Throws(GlesException::class)
, e agora é possível ampliar essa classe para Java (Iac6d0). - Corrige o bug com a tapAction de
PhotoImageComplicationData
não sendo corretamente processada (I1cc30).
Versão 1.1.0-alpha02
12 de janeiro de 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha02
é lançado. A versão 1.1.0-alpha02 contém estas confirmações.
Novos recursos
- Para ajudar na depuração e nos testes, a
ComplicationData
e as subclasses relacionadas agora substituíram os métodos hashcode, equals e toString, facilitando o trabalho.
Mudanças na API
- Os métodos
WatchfaceMetadataClient
geram novamenteRemoteExceptions
quando apropriado, facilitando a detecção de erros no mostrador do relógio pelo código do cliente (I78785). - A
ComplicationData
e as suas subclasses agora têm hashcode, equals e toString (I24bc6).
Versão 1.1.0-alpha01
15 de dezembro de 2021
Lançamento de androidx.wear.watchface:watchface-*:1.1.0-alpha01
. A versão 1.1.0-alpha01 contém estas confirmações.
Novos recursos
Agora, as classes
UserStyleSchema
eComplicationSlots
podem ser definidas em XML. Isso simplifica a construção do mostrador do relógio. Além disso, as consultas da interfaceWatchFaceMetadataClient
são mais rápidas, porque ela não precisa ser vinculada ao serviço para receber os metadados. AWatchFaceMetadataClient
e aListenableWatchFaceMetadataClient
não são mais experimentais e vão se tornar parte da API estável. O sistema poderá aceitar várias instâncias de um mostrador, cada uma com opções de estilo definidas pelo usuário. Elas vão ser mostradas no seletor de mostrador do relógio. Para ativar esse recurso, o mostrador precisa incluir a seguinte tag de metadados no manifesto.<meta-data android:name="androidx.wear.watchface.MULTIPLE_INSTANCES_ALLOWED" android:value="true" />
Alguns mostradores de relógio têm um estado que não é registrado na classe
UserStyle
. Para que haja suporte a essa e várias instâncias, o ID da instância do mostrador agora está disponível viaWatchState.watchFaceInstanceId
.Agora, o elemento
ComplicationData
está sendo armazenado em cache para permitir que as complicações sejam mostradas imediatamente após o carregamento. Às vezes, oComplicationData
é armazenado em cache na memória pelo sistema e, em outros casos, ele é serializado pelas bibliotecas de mostradores de relógio. Quando serializado, qualquer tapAction associada será perdida. Se isso acontecer,ComplicationData.tapActionLostDueToSerialization
vai retornar o valortrue
e o mostrador do relógio vai renderizar a complicação de forma diferente (por exemplo, esmaecida ou semitransparente) para sinalizar que não é possível tocar nela. O sistema vai enviar oComplicationData
atualizado com umatapAction
o mais rápido possível.Alguns elementos
ComplicationData
não podem ser armazenados em cache por muito tempo. Para isso, adicionamos umaComplicationDataTimeline
de recurso mais geral. Isso pode ser usado para fornecer uma sequência de elementosComplicationData
com limite de tempo para serem entregues ao mostrador do relógio e que podem ser armazenados em cache e atualizados automaticamente. Por exemplo, a previsão do tempo para hoje em vários horários ou diversos eventos futuros da agenda. OComplicationRequestListener
foi ampliado com um novo métodoonComplicationDataTimeline
, que pode ser usado para retornar esses dados.A
DefaultComplicationDataSourcePolicy
foi ampliada para que você possa especificar o elementoComplicationType
para as fontes de dados primárias e secundárias.Adicionamos suporte para provedores de complicações síncronas, em que a complicação é atualizada em uma frequência maior do que o normal (até uma vez por segundo) quando o mostrador do relógio está visível e não ambiente. Observação: os provedores de complicação síncrona podem ter uso limitado devido às preocupações com a pressão da memória.
As mudanças no
PendingIntentTapListener
provavelmente serão revertidas, porque resolvemos o problema no framework em que o mostrador do relógio não iniciava as atividades por cinco segundos após o botão home ser pressionado.
Mudanças na API
- A classe
ComplicationData.isCached
foi mudada paratapActionLostDueToSerialization
, que é mais útil ao determinar se o slot de complicação será renderizado de maneira diferente para sinalizar que não pode ser tocado (I6de2f). - A
ComplicationDataTimeline
foi adicionada awear-complication-data-source
. Isso pode ser usado para fornecer uma sequência de elementosComplicationData
com limite de tempo para serem entregues ao mostrador do relógio e que podem ser armazenados em cache e atualizados automaticamente. Por exemplo, a previsão do tempo para hoje em vários horários ou diversos eventos futuros da agenda. OComplicationRequestListener
foi ampliado com um novo métodoonComplicationDataTimeline
, que pode ser usado para retornar esses dados. Há um novo wrapperSuspendingTimelineComplicationDataSourceService
do Kotlin para suspender os serviços de fonte de dados (Idecdc). PendingIntentTapListener
eWatchFaceControlClient.getPendingIntentForTouchEvent
foram adicionados. Isso pode ajudar os mostradores de relógio que precisam iniciar intents em resposta a toques para contornar um problema em que o framework bloqueia a inicialização de novas atividades por cinco segundos após pressionar o botão home (I98074).- Introdução dos elementos
ComplicationData
armazenados em cache por mostrador de relógio. O objetivo é permitir que o mostrador exiba os últimos valores conhecidos dos dados de complicação após o carregamento até que o sistema consiga atualizá-los. Há um novo métodoWatchFaceControlClient.hasComplicationCache
da API destinado a OEMs. Isso pode influenciar a estratégia do sistema de enviar complicações a um mostrador de relógio. Além disso, os elementosComplicationData
têm uma propriedadeisCached
, e é recomendado que as complicações em cache sejam renderizadas de forma diferente, porque atapAction
não pode ser armazenada em cache e terá um valornull
em uma complicação desse tipo (I404b0). - O ID da instância do mostrador do relógio agora está disponível via
WatchState.watchFaceInstanceId
. A maioria dos mostradores não precisa usar isso, mas se houver um estado por mostrador de relógio que não esteja armazenado no esquema, essa será a chave para identificar a instância do mostrador. Para ajudar com isso, agora você pode fornecer um ID chamandoWatchFaceControlClient.createHeadlessWatchFaceClient
(I1ff98). - A
DefaultComplicationDataSourcePolicy
foi ampliada com a capacidade de definir osComplicationTypes
padrão para o provedor primário e secundário, assim como para o provedor do sistema substituto. O uso deComplicationSlot.defaultDataSourceType
foi descontinuado (If0ce3). ComplicationSlot.configExtras
agora é mutável e pode ser atualizado antes de chamarEditorSession.openComplicationDataSourceChooser()
(I6f852).- A
WatchFace.setComplicationDeniedDialogIntent
e asetComplicationRationaleDialogIntent
foram adicionadas. Essas intents são iniciadas para mostrar uma caixa de diálogo de justificativa antes de solicitar permissões de complicação, assim como outra caixa de diálogo explicando que a permissão é necessária ao tentar editar uma complicação quando permissões tiverem sido negadas. O seletor do provedor não será aberto, então a caixa de diálogo é necessária (I3a29c). - Agora, as classes
UserStyleSchema
eComplicationSlots
podem ser definidas em XML. Isso simplifica a construção do mostrador do relógio e deixa as consultas à interfaceWatchFaceMetadataClient
mais rápidas, já que não é necessário se vincular ao serviço para receber os metadados (I85bfa). - Adição de
InteractiveWatchFaceClient.supportsPendingIntentForTouchEvent
para que o cliente possa determinar se um mostrador do relógio tem suporte aogetPendingIntentForTouchEvent
(I0b917). - A
WatchFaceMetadataClient
e aListenableWatchFaceMetadataClient
não são mais experimentais. Elas podem ser usadas para acessar metadados de mostradores de relógio de forma eficiente, sempre que isso for possível sem abrir um vinculador para o mostrador (Ibb827). - Adição de suporte para provedores de complicações síncronas, em que a complicação é atualizada em uma frequência maior do que o normal (até uma vez por segundo) quando o mostrador do relógio está visível e não ambiente. Para usar esse provedor, é necessário incluir uma nova tag de metadados
androidx.wear.watchface.complications.data.source.SYNCHRONOUS_UPDATE_PERIOD_SECONDS
no manifesto e substituir aonSynchronousComplicationRequest
. Dependendo da natureza da fonte de dados, também pode ser necessário substituir as funçõesonStartSynchronousComplicationRequests
eonStopInteractiveComplicationRequests
para receber notificações de quando a complicação entra e sai do modo interativo (I8fe9d).
Versão 1.0
Versão 1.0.1
9 de fevereiro de 2022
Lançamento de androidx.wear.watchface:watchface-*:1.0.1
. A versão 1.0.1 contém estas confirmações.
Correções de bugs
- Corrige o bug com a tapAction de
PhotoImageComplicationData
não sendo corretamente processada (I1cc30).
Versão 1.0.0
1.º de dezembro de 2021
Lançamento de androidx.wear.watchface:watchface-*:1.0.0
. A versão 1.0.0 contém estas confirmações.
Principais recursos da versão 1.0.0
O pacote androidx.wear.watchface
é a nova biblioteca recomendada para desenvolver mostradores de relógio do WearOS. Ele tem uma série de novos recursos em relação à Biblioteca de Suporte de Wearables antiga.
- O estilo do usuário (por exemplo, para mudar a paleta de cores, o estilo dos ponteiros do relógio, a aparência das marcas de hora etc.) tem suporte direto da biblioteca (consulte
androidx.wear.watchface.style
). Agora ficou muito mais fácil desenvolver um editor de mostrador do relógio usando o androidx.wear.watchface.editor. Além disso, o mostrador do relógio pode ser editado no aplicativo Companion do sistema sem que você precise escrever mais código. - Práticas recomendadas integradas. A biblioteca gera automaticamente marcadores de conteúdo do leitor de tela para complicações (também é possível adicionar marcadores próprios). O framerate cai automaticamente quando a bateria está baixa, e não está carregando, para melhorar a duração da bateria.
- Menos código é necessário para desenvolver um mostrador de relógio, especialmente para complicações em que grande parte do código boilerplate foi movido para a biblioteca.
Correções de bugs
- Correção para
EditorSession.userStyle.compareAndSet
(I6f676). - Correção de atrasos muito curtos do mostrador do relógio (Iffb97).
InteractiveWatchFaceImpl.onDestroy
enviado na linha de execução de IU (I83340).- Correção de vários problemas com broadcast receivers (I7d25f).
Versão 1.0.0-rc01
3 de novembro de 2021
Lançamento de androidx.wear.watchface:watchface-*:1.0.0-rc01
. A versão 1.1.0-rc01 contém estas confirmações.
Correções de bugs
O método dump() (chamado pelo dumpsys do adb shell) que era interrompido por migrações de fluxo foi corrigido (087cf9e).
A ordem correta de writeDirectBootPrefs agora é garantida. Queremos que o método writeDirectBootPrefs seja sempre executado após initStyleAndComplications ou existe o risco de atrasar a inicialização da linha de execução da IU (37650ac).
Garantia de que Renderer.onDestroy seja chamado. No cenário em que o renderizador foi criado, mas a inicialização WF não foi concluída e o método Engine.onDestroy foi chamado, é necessário chamar Renderer.onDestroy (f9952dc).
O método isBatteryLowAndNotLoading foi otimizado/corrigido. Esse patch faz a configuração inicial do método isBatteryLowAndNotLoading mais cedo, o que significa que ele pode ser usado em paralelo com createWatchFace. Além disso, agora ACTION_POWER_DISCONNECTED pode ser detectado (ddffd80).
InteractiveWatchFaceClientImpl.isConnectionAlive será falso após o fechamento (ab9774e).
Versão 1.0.0-beta01
27 de outubro de 2021
Lançamento de androidx.wear.watchface:watchface-*:1.0.0-beta01
. A versão 1.0.0-beta01 contém estas confirmações.
Versão 1.0.0-alpha24
13 de outubro de 2021
Lançamento de androidx.wear.watchface:watchface-*:1.0.0-alpha24
. A versão 1.0.0-alpha24 contém estas confirmações.
Mudanças na API
- As classes no pacote
androidx.wear.watchface.complications
foram movidas para um novo projetowear:watchface:watchface-complications
. Ou seja, não é possível incluir esta biblioteca nem qualquer versão Alfa anterior dewear:watchface:watchface-complications-data
, já que isso resultará em erros sobre classes duplicadas (I97195). - Renderer.dump foi renomeado como Renderer.onDump e anotado com @UiThread (I44845).
InteractiveWatchFaceClient.addWatchFaceReadyListener
foi renomeado comoaddOnWatchFaceReadyListener
, eremoveWatchFaceReadyListener
foi renomeado comoremoveOnWatchFaceReadyListener
(I48fea).getComplicationsPreviewData
egetComplicationsDataSourceInfo
da EditorSession não são mais funções de suspensão, mas sim propriedadesStateFlow<>
com um valor inicialmente nulo. Em ListenableEditorSession,getListenableComplicationPreviewData
egetListenableComplicationsProviderInfo
foram removidas em favor dos novos objetosStateFlow<>
da classe base. Se você precisar detectar mudanças no código Java, useandroidx.lifecycle.FlowLiveDataConversions.asLiveData
para converter paraLiveData<>
(Ic5483).
Versão 1.0.0-alpha23
29 de setembro de 2021
Lançamento de androidx.wear.watchface:watchface-*:1.0.0-alpha23
. A versão 1.0.0-alpha23 contém estas confirmações.
Novos recursos
A biblioteca do mostrador do relógio agora é um único grupo de bibliotecas. Como resultado, as bibliotecas foram movidas e você precisará atualizar as importações do Gradle desta maneira:
Antiga | Nova |
---|---|
androidx.wear:wear-complications-data |
androidx.wear.watchface:watchface-complications-data |
androidx.wear:wear-complications-data-source |
androidx.wear.watchface:watchface-complications-data-source |
androidx.wear:wear-watchface |
androidx.wear.watchface:watchface |
androidx.wear:wear-watchface-complications-rendering |
androidx.wear.watchface:watchface-complications-rendering |
androidx.wear:wear-watchface-client |
androidx.wear.watchface:watchface-client |
androidx.wear:wear-watchface-client-guava |
androidx.wear.watchface:watchface-client-guava |
androidx.wear:wear-watchface-data |
androidx.wear.watchface:watchface-data |
androidx.wear:wear-watchface-editor |
androidx.wear.watchface:watchface-editor |
androidx.wear:wear-watchface-editor-guava |
androidx.wear.watchface:watchface-editor-guava |
androidx.wear:wear-watchface-guava |
androidx.wear.watchface:watchface-guava |
androidx.wear:wear-watchface-style |
androidx.wear.watchface:watchface-style |
Mudanças na API
- As bibliotecas do mostrador do relógio e de complicações do
androidx.wear
separadas foram migradas para o grupo de bibliotecasandroidx.wear.watchface
(b25f3c0). - O elemento EditorRequest.canWatchFaceSupportHeadlessEditing foi adicionado para permitir que um cliente saiba se um editor de mostrador do relógio é compatível com a edição headless. Haverá alguns falsos negativos em relação a esse comportamento porque o suporte foi adicionado em asop/1756809, mas o valor correto será retornado para todos os mostradores de relógio futuros (ca55590).
- O renderizador agora tem um método dump(), que pode ser substituído para adicionar dados personalizados às informações geradas pelo serviço de atividade de dumpsys do shell ABD WatchFaceService (95235f9).
- O elemento InteractiveWatchFaceClient.addWatchFaceReadyListener agora especifica o executor primeiro (563ac2f).
- O StateFlowCompatHelper foi removido. Use asLiveData (androidx.lifecycle.asLiveData) (bd35d3).
- CurrentUserStyleRepository.userStyle não é mais mutável (I44889).
- O WatchFaceReadyListener foi renomeado como OnWatchFaceReadyListener (Ic12a9).
Correções de bugs
- Use o InteractiveInstanceManager.deleteInstance para chamar o método onDestroy. Isso é necessário para garantir que o elemento InteractiveWatchFaceImpl receba o lixo coletado (fce4af8, b/199485839).