Wear

Creare applicazioni per smartwatch Wear OS by Google.

Questa tabella elenca tutti gli elementi nel gruppo androidx.wear.

Elemento Release stabile Candidato per la release Versione beta Versione alpha
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 - - -
Questa libreria è stata aggiornata l'ultima volta il 11 dicembre 2024

Dichiarazione delle dipendenze

Per aggiungere una dipendenza da Wear, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli elementi necessari nel file build.gradle per la tua app o il tuo modulo:

Alla moda

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")
}

Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.

Wear Core versione 1.0

Versione 1.0.0-alpha01

29 maggio 2024

androidx.wear:wear-core:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.

Modifiche all'API

  • È stata aggiunta una nuova classe WearApiVersionhelper per facilitare il controllo della compatibilità delle API di runtime su Wear. I client possono utilizzare questa classe di helper statica e il metodo fornito (#isApiVersionAtLeast(VERSION)) per verificare la compatibilità.

Wear Tooling Preview Version 1.0

Versione 1.0.0

29 novembre 2023

androidx.wear:wear-tooling-preview:1.0.0 viene rilasciato. La versione 1.0.0 contiene questi commit.

Funzionalità nella versione 1.0.0

  • Aggiungi WearDevices per elencare i dispositivi Wear validi che possono essere utilizzati per le anteprime dell'interfaccia utente.

Versione 1.0.0-rc01

15 novembre 2023

androidx.wear:wear-tooling-preview:1.0.0-rc01 viene rilasciato senza modifiche. La versione 1.0.0-rc01 contiene questi commit.

Versione 1.0.0-beta01

18 ottobre 2023

androidx.wear:wear-tooling-preview:1.0.0-beta01 viene rilasciato senza modifiche. La versione 1.0.0-beta01 contiene questi commit.

Versione 1.0.0-alpha01

23 agosto 2023

androidx.wear:wear-tooling-preview:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.

Modifiche all'API

  • Aggiungi WearDevices per elencare i dispositivi Wear validi che possono essere utilizzati per le anteprime dell'interfaccia utente (Ib036e)

Wear versione 1.4

Versione 1.4.0-alpha01

15 novembre 2023

androidx.wear:wear:1.4.0-alpha01 viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.

Correzioni di bug

  • Al centro verticalmente l'icona ConfirmationOverlay quando non è presente alcun messaggio. (I496d8)

Wear versione 1.3

Versione 1.3.0

9 agosto 2023

androidx.wear:wear:1.3.0 viene rilasciato senza modifiche dal giorno 1.3.0-rc01. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

  • Esegui la migrazione di AmbientModeSupport per utilizzare LifecycleObserver. Ritiriamo AmbientModeSupport in favore dei nuovi tipi di classe che supportano il ciclo di vita.
  • Aggiornamento di ConfirmationOverlay con nuove icone/layout, caratteri e metriche dei caratteri
  • SwipeDismissTransitionHelper è stato aggiornato per utilizzare un drawable di sfondo anziché un secondo View per correggere gli errori durante l'utilizzo di FragmentContainerView
  • Animazione di SwipeDismissFrameLayout aggiornata per essere coerente con la piattaforma Wear e le implementazioni di Wear Compose.
  • Correzione di bug SwipeDismissFrameLayout per evitare la chiusura accidentale dei frammenti con un movimento verticale
  • ArcLayout ora supporta i pesi di espansione che funzionano in modo simile ai pesi di layout standard.
  • Supporta layoutDirection su ArcLayout

Versione 1.3.0-rc01

21 giu 2023

androidx.wear:wear:1.3.0-rc01 viene rilasciato senza modifiche dal giorno 1.3.0-beta01. La versione 1.3.0-rc01 contiene questi commit.

Versione 1.3.0-beta01

7 giugno 2023

androidx.wear:wear:1.3.0-beta01 viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.

Modifiche all'API

  • AmbientLifecycleObserver aggiornato in base al feedback. AmbientLifecycleObserverInterface è stato rinominato AmbientLifecycleObserver e un'istanza può essere ottenuta chiamando AmbientLifecycleObserver(...). isAmbient è stato spostato come campo anziché come metodo. (I84b4f)

Correzioni di bug

  • Sono stati aggiunti controlli null per gestire i casi in cui la vista principale è null mentre reimpostano l'alfa e la traduzione in SwipeToDismiss. (Ib0ec7)

Versione 1.3.0-alpha05

19 aprile 2023

androidx.wear:wear:1.3.0-alpha05 viene rilasciato. La versione 1.3.0-alpha05 contiene questi commit.

Modifiche all'API

  • Esegui la migrazione di AmbientModeSupport per utilizzare LifecycleObserver. Ritiriamo AmbientModeSupport in favore dei nuovi tipi di classe che tengono conto del ciclo di vita. (I1593b)

Correzioni di bug

  • Aggiorna l'approccio scrim di sfondo SwipeDismissTransitionHelper per utilizzare drawable anziché aggiungere una visualizzazione per correggere gli errori durante l'utilizzo di FragmentContainerView. (I851cd)

Versione 1.3.0-alpha04

25 gennaio 2023

androidx.wear:wear:1.3.0-alpha04 viene rilasciato. La versione 1.3.0-alpha04 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiornato l'animazione in SwipeDismissFrameLayout in modo che sia coerente con la piattaforma Wear e le implementazioni di Wear Compose. (I7261b)

Versione 1.3.0-alpha03

24 agosto 2022

androidx.wear:wear:1.3.0-alpha03 viene rilasciato. La versione 1.3.0-alpha03 contiene questi commit.

Nuove funzionalità

  • ArcLayout ora supporta i pesi di espansione che funzionano in modo simile ai pesi di layout standard. Ciò significa che puoi specificare le dimensioni relative degli elementi secondari senza dover calcolare direttamente i relativi angoli. Abbiamo anche aggiunto un'opzione di tipo "best effort" MaxAngleDegrees che viene rispettata quando vengono espansi gli elementi secondari con pesi. Ad esempio, puoi bloccare l'arco con diversi elementi secondari con pesi a 90 gradi, rispettando anche lo spazio occupato dagli elementi non espansi.

Modifiche all'API

  • Abbiamo aggiunto un peso a ArcLayout.LayoutParams che consente a un widget di espandersi fino a riempire lo spazio disponibile. Se sono presenti più widget, la loro quota dello spazio disponibile è proporzionale al loro peso. Inoltre, abbiamo aggiunto ArcLayout.setMaxAngleDegrees in modo da poter, ad esempio, limitare l'espansione a 90 gradi (tieni presente che questo non influisce sul layout dei widget secondari di dimensioni fisse). Infine, ArcLayout.Widget ora ha setSweepAngleDegrees che consente a ArcLayout di indicare a un widget un peso diverso da zero per le sue dimensioni. (I75f24)
  • Aggiornamento della nullabilità di setColorFilter(I99ddf, b/236498063)

Versione 1.3.0-alpha02

23 febbraio 2022

androidx.wear:wear:1.3.0-alpha02 viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Supporto di layoutDirection su ArcLayout (I14d49)
  • Messaggio di descrizione dei contenuti migliorato per ConfirmationOverlay (I0fdf8)
  • Aggiorna ConfirmationOverlay con nuove icone/layout. (If5b54)

Correzioni di bug

  • Sono state aggiunte regole di ProGuard per garantire che il codice relativo all'ambiente venga mantenuto (Idaa10)
  • Evitare la chiusura accidentale dei frammenti in SwipeDismissFrameLayout con un movimento verticale (Idb6d8)
  • Correggere ConfirmationOverlay quando non ha un messaggio (I63e6f)

Contributo esterno

  • Dae Gyu LEE (Samsung) - Evitare la chiusura accidentale dei frammenti in SwipeDismissFrameLayout con un movimento verticale (Idb6d8)

Versione 1.3.0-alpha01

29 settembre 2021

androidx.wear:wear:1.3.0-alpha01 viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.

Correzioni di bug

  • ConfirmationOverlay ora spinge l'icona verso l'alto per adattarsi ai messaggi più lunghi, senza che il messaggio entri nella cornice del dispositivo (o fuori dallo schermo). (I54bff)

Wear Ongoing & Interactions versione 1.1.0

Versione 1.1.0-alpha05

11 dicembre 2024

androidx.wear:wear-phone-interactions:1.1.0-alpha05 viene rilasciato. La versione 1.1.0-alpha05 contiene questi commit.

Correzioni di bug

  • Correzione di un bug di arresto anomalo durante l'esecuzione su Wear OS 5.1 (versione API 34) e con target le versioni successive dell'SDK. Le app devono eseguire l'aggiornamento a questa versione della libreria prima di aggiornare targetSdkVersion alla versione 35 o successiva.

Versione 1.1.0

11 dicembre 2024

androidx.wear:wear-remote-interactions:1.1.0 viene rilasciato. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • Abbiamo aggiunto RemoteActivityHelper.isRemoteActivityHelperAvailable, che consente di verificare se la funzionalità di lancio di un'attività remota è disponibile. (I107a9)

Versione 1.1.0-rc01

16 ottobre 2024

androidx.wear:wear-remote-interactions:1.1.0-rc01 viene rilasciato senza modifiche dal giorno 1.1.0-beta01. La versione 1.1.0-rc01 contiene questi commit.

Versione 1.1.0-beta01

24 luglio 2024

androidx.wear:wear-remote-interactions:1.1.0-beta01 viene rilasciato. La versione 1.1.0-beta01 contiene questi commit. La release 1.3.0-beta01 di Wear Remote Interactions indica che questa release della libreria è completa di funzionalità e che l'API è bloccata (tranne dove contrassegnata come sperimentale).

Versione 1.1.0-alpha04

10 gennaio 2024

androidx.wear:wear-phone-interactions:1.1.0-alpha04 viene rilasciato. La versione 1.1.0-alpha04 contiene questi commit.

Modifiche all'API

  • Abbiamo aggiunto RemoteAuthClient.isRemoteAuthAvailable che verifica se l'autenticazione remota è disponibile. (Ibc10c)

Versione 1.1.0-alpha02

10 gennaio 2024

androidx.wear:wear-remote-interactions:1.1.0-alpha02 viene rilasciato. La versione 1.1.0-alpha02 contiene questi commit.

Modifiche all'API

  • Abbiamo aggiunto RemoteActivityHelper.isRemoteActivityHelperAvailable, che consente di verificare se la funzionalità di lancio di un'attività remota è disponibile. (I107a9)
  • Abbiamo aggiornato il costruttore di RemoteActivityHelper in modo che il parametro facoltativo sia compatibile in Java. (I75554)

Versione 1.1.0-alpha01

21 giu 2023

androidx.wear:wear-remote-interactions:1.1.0-alpha01 viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.

Correzioni di bug

  • È stato migliorato il modo in cui vengono eseguiti il completamento e la gestione degli errori in RemoteActivityHelper. (I60d60)

Contributo esterno

  • Rimuovi la dipendenza da Guava da wear-remote-interactions e utilizza alternative più piccole.

Wear-Phone-Interactions versione 1.1.0-alpha03

9 marzo 2022

androidx.wear:wear-phone-interactions:1.1.0-alpha03 viene rilasciato. La versione 1.1.0-alpha03 contiene questi commit.

Correzioni di bug

  • redirectUrl di OAuthRequest ora restituisce una stringa vuota se l'URL di reindirizzamento non è impostato nell'URL richiesta specificato. (I44242)

Wear-Phone-Interactions versione 1.1.0-alpha02

15 dicembre 2021

androidx.wear:wear-phone-interactions:1.1.0-alpha02 viene rilasciato. La versione 1.1.0-alpha02 contiene questi commit.

Correzioni di bug

  • Correggi gli errori nella documentazione di RemoteAuthClient, incluso l'errore nello snippet di codice di esempio e il link non valido a ErrorCode (I260e8)

Wear-Phone-Interactions versione 1.1.0-alpha01

15 settembre 2021

androidx.wear:wear-phone-interactions:1.1.0-alpha01 viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.

Modifiche all'API

  • È stata aggiunta la proprietà redirectUrl a OAuthRequest. (I98840, Ie684d)

Wear Ongoing & Interactions versione 1.0.0

Wear-Phone-Interactions versione 1.0.1

15 dicembre 2021

androidx.wear:wear-phone-interactions:1.0.1 viene rilasciato. La versione 1.0.1 contiene questi commit.

Correzioni di bug

  • È stata corretta un'eccezione lanciata da BridgingManager durante il tentativo di disattivare le notifiche di bridging senza excludedTags.

Wear-Phone-Interactions Wear-Remote-Interactions versione 1.0.0

15 settembre 2021

androidx.wear:wear-phone-interactions:1.0.0 e androidx.wear:wear-remote-interactions:1.0.0 vengono rilasciati. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

La Phone Interaction Library contiene API per le interazioni dai dispositivi indossabili agli smartphone. Contiene quanto segue:

  • PhoneDeviceType, che fornisce metodi di assistenza per determinare il tipo di smartphone a cui è accoppiato lo smartwatch corrente, da utilizzare solo su dispositivi indossabili.
  • API BridgingManager, BridgingManagerService e BridgingConfig per attivare/disattivare le notifiche in fase di esecuzione e, facoltativamente, impostare i tag per le notifiche esenti dalla modalità di bridging.
  • RemoteAuthClient, che supporta l'autenticazione remota sui dispositivi indossabili, oltre all'aggiunta dell'estensione OAuth PKCE. Sono forniti gestori e classi di supporto aggiuntivi per la comunicazione.

La libreria di interazione remota contiene API per le interazioni tra dispositivi indossabili e smartphone. Contiene quanto segue:

  • WatchFaceConfigIntentHelper, fornendo funzioni di supporto per specificare l'ID e il nome del componente nelle attività di configurazione del quadrante per l'app complementare sullo smartphone.
  • RemoteActivityHelper che può essere utilizzata per aprire intent su altri dispositivi (ad es. dallo smartwatch allo smartphone).

Wear-Phone-Interactions Wear-Remote-Interactions versione 1.0.0-rc01

1° settembre 2021

androidx.wear:wear-phone-interactions:1.0.0-rc01 e androidx.wear:wear-remote-interactions:1.0.0-rc01 vengono rilasciati. La versione 1.0.0-rc01 contiene questi commit.

Correzioni di bug

  • Correzione del bug che impediva la propagazione degli errori rilevati in Google Play Services all'autore della chiamata quando si utilizza RemoteActivityHelper (I60d60)
  • Correzione del bug per cui RemoteActivityHelper non avrebbe mai soddisfatto il proprio Future se non erano presenti nodi connessi o se non veniva trovato l'ID nodo richiesto (I60d60)

Wear - Versione in corso 1.1

Versione 1.1.0-alpha01

23 agosto 2023

androidx.wear:wear-ongoing:1.1.0-alpha01 viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.

Modifiche all'API

  • Aggiungi un campo di descrizione dei contenuti all'attività in corso. Questo valore verrà utilizzato dai servizi di accessibilità per descrivere l'attività in corso. (I79fc6)

Correzioni di bug

  • È stato aggiunto @RequiresPermission alle API che richiedono l'autorizzazione POST_NOTIFICATIONS nell'SDK 33 e versioni successive. (Ie542e, b/238790278)

Wear - Versione in corso 1.0.0

1° settembre 2021

androidx.wear:wear-ongoing:1.0.0 viene rilasciato. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

  • L'API Wear Ongoing Activities è un'API per gli sviluppatori, inclusi gli sviluppatori di terze parti, utilizzata per contrassegnare la propria attività come "Attività in corso" e fornire le informazioni necessarie.
  • Per Attività in corso si intendono le attività che potrebbero essere in esecuzione in background sullo smartwatch (ad es. allenamenti, chiamate e contenuti multimediali). Su Wear 3, un'attività dichiarata come in corso verrà messa in evidenza tramite un'icona in overlay dedicata sul quadrante e un rendering diverso nel programma di avvio app.
  • Per ulteriori informazioni, consulta la guida Attività in corso di Wear.

Wear-Phone-Interactions Wear-Remote-Interactions versione 1.0.0-beta01

18 agosto 2021

androidx.wear:wear-phone-interactions:1.0.0-beta01 e androidx.wear:wear-remote-interactions:1.0.0-beta01 vengono rilasciati. La versione 1.0.0-beta01 contiene questi commit.

Modifiche all'API

  • Il corso RemoteIntentHelper è stato rinominato in RemoteActivityHelper. Le funzioni RemoteIntentHelper#getRemoteIntentExtraIntent e RemoteIntentHelper#getRemoteIntentNodeId sono state rinominate rispettivamente in RemoteActivityHelper#getTargetIntent e RemoteActivityHelper#getTargetNodeId. (Id2042)

Wear - Versione in corso 1.0.0-rc01

18 agosto 2021

androidx.wear:wear-ongoing:1.0.0-rc01 viene rilasciato senza modifiche dal giorno 1.0.0-beta01. La versione 1.0.0-rc01 contiene questi commit.

Wear-Ongoing Version 1.0.0-beta01

4 agosto 2021

androidx.wear:wear-ongoing:1.0.0-beta01 viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.

Modifiche all'API

  • Alcuni setter di OngoingActivity.Builder ora accettano un argomento nullo per garantire simmetria e coerenza ai setter e ai getter (I17ee5)

Wear-Phone-Interactions versione 1.0.0-alpha07

4 agosto 2021

androidx.wear:wear-phone-interactions:1.0.0-alpha07 viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.

Modifiche all'API

  • WearTypeHelper.isChinaDevice è stato rinominato in WearTypeHelper.isChinaBuild. (I47302)
  • Abbiamo aggiornato la libreria RemoteAuthClient in modo che selezioni automaticamente redirect_uri in base al tipo di dispositivo (al di fuori della Cina/Cina). (I38866)
  • È stato corretto un bug che causava il mancato completamento della conversione di BridgingConfig in/da Bundle con ClassCastException. Sono stati aggiunti i test delle unità per la classe BridgingManagerService. (I68ecb)

Wear-Remote-Interactions versione 1.0.0-alpha06

4 agosto 2021

androidx.wear:wear-remote-interactions:1.0.0-alpha06 viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.

Wear-Phone-Interactions versione 1.0.0-alpha06

21 luglio 2021

androidx.wear:wear-phone-interactions:1.0.0-alpha06 viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.

Modifiche all'API

  • La classe BridgingManagerSeviceBinder è ora una sottoclasse di Service e viene rinominata in BridgingManagerSevice. (I9fca2)
  • Il metodo RemoteAuthClient.Callback.onAuthorizationError viene modificato in modo da includere il parametro OAuthRequest. I metodi che richiedono un callback ora richiedono anche un'esecuzione per il callback. (I35e11)

Correzioni di bug

  • Abbiamo reso più chiara l'API di autenticazione con parametri più documentati e utilizzando le proprietà, ove possibile. (I12287)

Wear-Phone-Interactions versione 1.0.0-alpha05

30 giugno 2021

androidx.wear:wear-phone-interactions:1.0.0-alpha05 viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.

Correzioni di bug

  • Parametri documentati che devono essere passati al costruttore per BridgingConfig.Builder.

Wear-Ongoing versione 1.0.0-alpha06

2 giugno 2021

androidx.wear:wear-ongoing:1.0.0-alpha06 viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.

Modifiche all'API

  • Aggiungi il campo Titolo all'attività in corso. (I7a405)

Correzioni di bug

  • SerializationHelper.copy() ora esegue una copia difensiva delle informazioni (I8b276)
  • Documentazione migliorata di setCategory (Iff01f)

Wear-Ongoing versione 1.0.0-alpha05

18 maggio 2021

androidx.wear:wear-ongoing:1.0.0-alpha05 viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche all'API

  • OngoingActivity ora dispone di getter per recuperare tutti i valori impostati direttamente tramite il Builder (o i valori predefiniti ricavati dalla notifica associata). (Id8ac8)

    • La nuova classe Status viene ora utilizzata per creare lo stato del OngoingActivity
    • OngoingActivityData e OngoingActivityStatus non fanno più parte dell'API pubblica.
  • Le classi TextStatusPart e TimerStatusPart non fanno più parte dell'API pubblica. (I57fb6)

    • Per creare un Part con un testo statico, utilizza Status.TextPart.
    • Per creare un Part con un cronometro (conteggio crescente), utilizza Status.Stopwatch
    • Per creare un Part con un timer (conto alla rovescia), utilizza Status.Timer

Wear-Ongoing versione 1.0.0-alpha04

5 maggio 2021

androidx.wear:wear-ongoing:1.0.0-alpha04 viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.

Modifiche all'API

  • In OngoingActivity, i metodi fromExistingOngoingActivity ora si chiamano recoverOngoingActivity.
  • OngoingActivity ora dispone di un insieme completo di getter, gli stessi precedentemente disponibili solo in OngoingActivityData. (I0ee4d)

Wear-Remote-Interactions versione 1.0.0-alpha05

21 luglio 2021

androidx.wear:wear-remote-interactions:1.0.0-alpha05 viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche all'API

  • Abbiamo aggiunto la classe RemoteIntentHelper (in precedenza RemoteIntent nella libreria di assistenza per i dispositivi indossabili) che può essere utilizzata per aprire intent su altri dispositivi (ad esempio dallo smartwatch allo smartphone). (I1d7e0)

  • La classe PlayStoreAvailability è stata rimossa dalla libreria AndroidX. Per rilevare se il Play Store è disponibile su uno smartphone connesso, utilizza il metodo androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType per determinare se lo smartphone connesso è un dispositivo Android. Quindi, utilizza il metodo androidx.wear.utils.WearTypeHelper.isChinaDevice per determinare se lo smartphone connesso è un dispositivo cinese. Se lo smartphone è Android e non è un dispositivo cinese, il Play Store sarà disponibile. (Ie7dec)

Wear-Phone-Interactions versione 1.0.0-alpha04

7 aprile 2021

androidx.wear:wear-phone-interactions:1.0.0-alpha04 viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.

Modifiche all'API

  • Sono state aggiornate le costanti ErrorCode per rendere la nuova libreria compatibile con le versioni precedenti dell'implementazione nella libreria di supporto per i dispositivi indossabili.

Correzioni di bug

  • È stata corretta un'eccezione causata dalla nuova API OAuth all'avvio di una sessione OAuth.

Wear-Remote-Interactions versione 1.0.0-alpha03

7 aprile 2021

androidx.wear:wear-remote-interactions:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche all'API

  • PlayStoreAvailability è stato modificato in modo da essere una classe che contiene un oggetto companion con metodi statici. L'utilizzo rimane invariato.

Correzioni di bug

  • Documento di riepilogo corretto per WatchFaceConfigIntentHelper per mostrare correttamente il codice di esempio con i caratteri HTML effettivi.

Wear-Ongoing Wear-Phone-Interactions versione 1.0.0-alpha03

10 marzo 2021

androidx.wear:wear-ongoing:1.0.0-alpha03 e androidx.wear:wear-phone-interactions:1.0.0-alpha03 vengono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Esegui la migrazione di OAuthClient dalla libreria di supporto Wearable ad AndroidX. Questa classe di cui è stata eseguita la migrazione viene rinominata in RemoteAuthClient e supporta l'autenticazione remota sui dispositivi indossabili, oltre all'aggiunta dell'estensione OAuth PKCE. Sono forniti gestori e classi di supporto aggiuntivi per la comunicazione.
  • Ora le attività in corso possono essere associate a una notifica con un tag utilizzando il nuovo costruttore OngoingActivity.Builder.

Modifiche all'API

  • È stato aggiunto il supporto per i tag di notifica nella libreria Attività in corso (I653b4)
  • Esegui la migrazione di OAuthClient dalla libreria di supporto Wear ad AndroidX e aggiungi il supporto per l'estensione OAuth PKCE (I3eaaa)

Wear-Remote-Interactions versione 1.0.0-alpha02

10 marzo 2021

androidx.wear:wear-remote-interactions:1.0.0-alpha02 viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Migrazione della classe PlayStoreAvailability dalla libreria di assistenza per dispositivi indossabili ad AndroidX, che fornisce un'API per verificare se il Play Store è disponibile sullo smartphone.

Correzioni di bug

  • Migrazione della classe PlayStoreAvailability dalla libreria di supporto Wearable ad AndroidX. (I69bfe)

Versione 1.0.0-alpha02

10 febbraio 2021

androidx.wear:wear-ongoing:1.0.0-alpha02 e androidx.wear:wear-phone-interactions:1.0.0-alpha02 vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche all'API

  • È stato aggiunto il supporto per stati più complessi. Sono composti da un o più modelli e da una serie di parti che verranno utilizzate per compilare i segnaposto del modello. OngoingActivityStatus ora dispone di un metodo statico per creare stati semplici con una sola parte (un testo o un timer) e un generatore per creare stati più complessi. (I1fe81)
  • Sposta le classi BridgingManager e BridgingConfig dalla libreria di supporto Wear ad AndroidX, che fornisce API per attivare/disattivare le notifiche in fase di esecuzione e, facoltativamente, impostare i tag per le notifiche esenti dalla modalità di bridging. (I3a17e)

Versione 1.0.0-alpha01

27 gennaio 2021

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 vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.

Modifiche all'API

  • Esegui la migrazione della raccolta Attività in corso a una nuova sottoraccolta: wear-ongoing. Le classi ora si trovano nel pacchetto androidx.wear.ongoing (in precedenza androidx.wear.ongoingactivities) (I7c029)

  • Crea una nuova libreria di supporto contenente classi che supportano le interazioni dai dispositivi indossabili agli smartphone. Viene inizialmente compilato con le classi migrate dalla libreria di assistenza Wearable. (Id5180)

  • Esegui la migrazione della classe PhoneDeviceType dalla libreria di supporto Wearable ad AndroidX. La classe di cui è stata eseguita la migrazione viene rinominata PhoneTypeHelper e fornisce metodi di assistenza per determinare il tipo di smartphone a cui è accoppiato lo smartwatch attuale, da utilizzare solo su dispositivi indossabili. (Ibd947)

  • Crea una nuova libreria di supporto contenente classi che supportano le interazioni tra i dispositivi indossabili e gli smartphone. Viene inizialmente compilato con i classi di cui è stata eseguita la migrazione dalla libreria di assistenza per i dispositivi indossabili. (I9deb4)

  • Esegui la migrazione della classe WatchFaceCompanion dalla Wearable Support Library ad AndroidX. La classe di cui è stata eseguita la migrazione viene rinominata in WatchFaceConfigIntentHelper e fornisce funzioni di assistenza per specificare l'ID e il nome del componente nelle attività di configurazione del quadrante nell'app complementare sullo smartphone. Può essere utilizzata anche localmente per configurare il quadrante sul dispositivo indossabile. (Ia455f)

Wear Complications and Watchface 1.0.0

Versione 1.0.0-alpha22

15 settembre 2021

androidx.wear:wear-*:1.0.0-alpha22 viene rilasciato. La versione 1.0.0-alpha22 contiene questi commit.

Nuove funzionalità

  • EditorSession ora si iscrive agli osservatori del ciclo di vita, quindi non devi più chiuderlo esplicitamente quando la tua attività non è più attiva.

Modifiche all'API

  • EditorSession e ListenableEditorSession ora utilizzano StateFlow di Kotlin per complicationSlotsState, ComplicationsPreviewData e ComplicationsDataSourceInfo. (I761d9)
  • EditorSession#userStyle ora è un MutableStateFlow<UserStyle> (I32ca9)
  • EditorSession.createOnWatchEditorSession ora utilizza un osservatore del ciclo di vita e si chiude automaticamente quando osserva onDestroy. Inoltre, createOnWatchEditorSession ora richiede solo che venga passata l'attività. Modifiche identiche sono state applicate anche a ListenableEditorSession. (Ic6b7f)
  • Il costruttore di CustomValueUserStyleSetting è stato reintegrato nell'API pubblica. (I2e69a)
  • Ora UserStyle eredita da Map<UserStyleSetting, UserStyleSetting.Option> e MutableUserStyleSetting#put lancia IllegalArgumentException se l'impostazione non è nello schema o se l'opzione non corrisponde all'impostazione. (Iba40f)

Versione 1.0.0-alpha21

1° settembre 2021

androidx.wear:wear-*:1.0.0-alpha21 viene rilasciato. La versione 1.0.0-alpha21 contiene questi commit.

Modifiche all'API

  • Tutte le API pubbliche di quadranti, client, editor e complicazioni ora utilizzano java.time.Instant per le ore anziché un Long, di conseguenza il livello API minimo è aumentato a 26. (I3cd48)
  • Le API di quadranti e complicazioni ora utilizzano l'oggetto immutabile ZonedDateTime anziché Calendar. (I25cf8)
  • Ora le complicazioni vengono inizializzate con NoDataComplicationData, ComplicationSlot.complicationData ha sempre un valore e CanvasComplicationDrawable.complicationData non è più nullable. (I4dfd6) In questo modo si riduce (ma non si elimina) il tremolio delle complicazioni quando si passa da un quadrante all'altro.

Versione 1.0.0-alpha20

18 agosto 2021

androidx.wear:wear-*:1.0.0-alpha20 viene rilasciato. La versione 1.0.0-alpha20 contiene questi commit.

Modifiche all'API

  • Abbiamo aggiunto createFallbackPreviewData a ComplicationDataSourceInfo, che può essere utilizzato quando ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData restituisce null. (I38c4d)
  • ComplicationDataSourceUpdateRequester è stato trasformato in un'interfaccia per consentire il mocking nei test di unità. Puoi creare un ComplicationDataSourceUpdateRequester specifico con ComplicationDataSourceUpdateRequester.create(). (I7da22)
  • RenderParameters.pressedComplicationSlotIds è stato sostituito da RenderParameters.lastComplicationTapDownEvents che espone la nuova classe TapEvent contenente una tripletta di coordinate x, y del tocco in pixel e un timestamp. WatchFace.TapListener.onTap è stato sostituito da onTapEvent(@TapType tapType: Int, tapEvent: TapEvent). Inoltre, InteractiveWatchFaceClient.displayPressedAnimation è stato rimosso. (Id87d2)
  • È stata aggiunta un'annotazione di threading esplicita per setImportantForAccessibility (I990fa)
  • ComplicationSlotBoundsType è stato spostato in androidx-wear-watchface.ComplicationSlotBoundsType in wear/wear-watchface. (I09420)
  • Abbiamo aggiunto il supporto per il passaggio degli ID risorsa stringa a UserStyleSetting e Options. Questo è ora il modo consigliato per creare questi oggetti. (I03d5f)
  • Sono stati imposti limiti alle dimensioni massime del cavo di uno schema UserStyle. Inoltre, le icone nello schema non devono essere più grandi di 400 x 400 pixel. (I3b65b)
  • Abbiamo aggiunto una classe MutableUserStyle per supportare le modifiche alle istanze UserStyle (I95a40)
  • Abbiamo rinominato ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient in ListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient. (I64ce2)
  • Abbiamo modificato EditorState.previewComplicationsData in modo che contenga solo i dati relativi alle complicazioni abilitate e abbiamo aggiunto EditorSession.DEFAULT_PREVIEW_TIME_MILLIS che, se passato a renderWatchFaceToBitmap o PreviewScreenshotParams, richiede il rendering con l'ora di anteprima predefinita del quadrante. (If7b3c)
  • Abbiamo rimosso dall'API pubblica i costruttori UserStyleSetting che accettano CharSequence. Ti consigliamo di utilizzare invece i costruttori che richiedono ID StringResource. (I8537b)
  • CurrentUserStyleRepository.UserStyleChangeListener ora supporta la conversione SAM. (I85989)

Versione 1.0.0-alpha19

4 agosto 2021

androidx.wear:wear-*:1.0.0-alpha19 viene rilasciato. La versione 1.0.0-alpha19 contiene questi commit.

Modifiche all'API

  • Abbiamo aggiunto ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient, che fornisce un wrapper ListenableFuture per WatchFaceMetadataClient.createWatchFaceMetadataClient. (I5fa37)
  • UserStyleOption.getOptionForId ora accetta UserStyleOption.Id anziché un array di byte. (I469be)
  • Fornisci le costanti BooleanOption.TRUE e BooleanOption.FALSE e non consentire la creazione di istanze (I46e09)
  • I metodi in wear-watchface-client che possono generare RemoteException sono stati ora annotati di conseguenza. (Ib8438)
  • Per coerenza, abbiamo rinominato EditorSession.createOnWatchEditingSession in createOnWatchEditorSession e createHeadlessEditingSession in createHeadlessEditorSession. Anche i relativi wrapper di Guava sono stati rinominati. (I1526b)
  • EditorSession ora è un'interfaccia e ListenableEditorSession.commitChangesOnClose è stato delegato correttamente. (I7dc3e)
  • Ora rifiutiamo qualsiasi schema di stile utente con impostazioni o opzioni con ID in conflitto (Ic2715)
  • Abbiamo aggiunto un UserStyle.get sovraccarico che accetta UserStyleSetting.Id. (I2aa0f)

Versione 1.0.0-alpha18

21 luglio 2021

androidx.wear:wear-*:1.0.0-alpha18 viene rilasciato. La versione 1.0.0-alpha18 contiene questi commit.

Modifiche all'API

  • Abbiamo spostato ComplicationHelperActivity nella raccolta androidx.wear:wear-watchface. (I39e76)
  • Per coerenza e chiarezza, ComplicationProvider è stato rinominato in ComplicationDataSource e tutti i corsi con il nome Provider sono stati rinominati allo stesso modo. (Iaef0b)
  • CanvasComplication.isHighlighted è stato spostato in RenderParameters.pressedComplicationSlotIds. Questo è un passaggio verso la creazione di CanvasComplication senza stato. Per supportare questa modifica, CanvasComplication.render ora accetta anche slotId come parametro e ora passiamo ComplicationSlot a GlesTextureComplication. (I50e6e)
  • Abbiamo aggiunto headlessDeviceConfig a EditorRequest. Se non è nullo, questo parametro viene utilizzato per creare un'istanza headless per supportare EditorSession anziché agire sull'istanza interattiva. In questo modo, l'editor può essere richiamato per un quadrante diverso da quello corrente. (I0a820)
  • Abbiamo aggiunto un WatchFaceMetadataClient sperimentale che consente il recupero efficiente dei metadati degli quadranti statici, come il UserStyleSchema e i dettagli corretti relativi a ComplicationSlots. (I6bfdf)
  • Abbiamo rinominato CanvasRenderer.uiThreadInit in init. (I6fff9)
  • Abbiamo aggiunto PreviewScreenshotParams, un nuovo parametro facoltativo per EditorRequest che indica a EditorSession di acquisire uno screenshot di anteprima al commit con questo parametro. L'immagine di anteprima è visibile su EditorState.previewImage. (Ic2c16)

Correzioni di bug

  • Gli sviluppatori non devono più aggiungere ComplicationHelperActivity al proprio manifest. (I6f0c2)

Versione 1.0.0-alpha17

30 giugno 2021

androidx.wear:wear-*:1.0.0-alpha17 viene rilasciato. La versione 1.0.0-alpha17 contiene questi commit.

Nuove funzionalità

  • In GlesRenderer, makeUiThreadContextCurrent e makeBackgroundThreadContextCurrent sono stati sostituiti da runUiThreadGlCommands e runBackgroundThreadGlCommands, che accettano entrambi un Runnable. La libreria garantisce che in un determinato momento sia in esecuzione un solo comando GL eseguibile.

  • Per semplificare l'inizializzazione di UiThread, abbiamo aggiunto CanvasRenderer.uiThreadInit, che viene chiamato una volta in UiThread prima di qualsiasi chiamata al rendering. Abbiamo anche aggiunto onRendererCreated a CanvasComplication, il che semplifica la condivisione dello stato tra Renderer e CanvasComplication.

  • Per chiarezza, abbiamo rinominato Complication in ComplicationSlot e complicationId in complicationSlotId o complicationInstanceId a seconda dell'utilizzo

Modifiche all'API

  • Per chiarezza, abbiamo rinominato Complication in ComplicationSlot e complicationId in complicationSlotId o complicationInstanceId, a seconda dell'utilizzo. Analogamente, le classi che utilizzano Complication sono state rinominate, ad esempio ComplicationsManager ora si chiama ComplicationSlotsManager. (I4da44)
  • In GlesRenderer, makeUiThreadContextCurrent e makeBackgroundThreadContextCurrent sono stati sostituiti da runUiThreadGlCommands e runBackgroundThreadGlCommands, che accettano entrambi un Runnable. Queste funzioni sono necessarie solo se devi effettuare chiamate GL al di fuori di render, runBackgroundThreadGlCommands e onUiThreadGlSurfaceCreated. Questo è necessario perché nello stesso processo possono essere presenti più GlesRenderer, ciascuno con i propri contesti, potenzialmente di quadranti diversi. Inoltre, l'accesso al contesto GL corrente condiviso è ora sincronizzato. (I04d59)
  • Abbiamo aggiunto CanvasRenderer.uiThreadInit, che viene chiamato una volta in UiThread prima di qualsiasi chiamata al rendering. Inoltre, per maggiore chiarezza, in GlesRenderer abbiamo rinominato onGlContextCreated in onBackgroundThreadGlContextCreated e onGlSurfaceCreated in onUiThreadGlSurfaceCreated. (If86d0)
  • HeadlessWatchFaceClient e InteractiveWatchFaceClient getComplicationsSlotState sono stati rinominati in getComplicationSlotsState. In ComplicationSlot: createRoundRectComplicationBuilder, createBackgroundComplicationBuilder e createEdgeComplicationBuilder sono stati rinominati rispettivamente in createRoundRectComplicationSlotBuilder, createBackgroundComplicationSlotBuilder e createEdgeComplicationSlotBuilder. (Ib9adc)
  • Abbiamo aggiunto onRendererCreated a CanvasComplication, il che semplifica la condivisione dello stato tra Renderer e CanvasComplication. (I5e1ac)

Versione 1.0.0-alpha16

16 giugno 2021

androidx.wear:wear-*:1.0.0-alpha16 viene rilasciato. La versione 1.0.0-alpha16 contiene questi commit.

Nuove funzionalità

  • Abbiamo corretto una serie di bug relativi alle recenti modifiche al modello di threading, nonché altri problemi con l'editor dei quadranti.

Correzioni di bug

  • Impedire gli errori non recuperabili in onComplicationProviderChooserResult (b/189594557)
  • Risolvere i problemi relativi alle superfici non aggiornate e a drawBlack (b/189452267)
  • Correzione di una situazione di concorrenza inaccessibile in complicationsManager.watchState (b/189457893)
  • Correzione del bug relativo alla durata del thread in background (b/189445428)
  • Correzione dei problemi di Editor dei quadranti pre-R (b/189126313)
  • Non aggiornare i parametri di avvio diretto per le modifiche allo stile dell'editor (b/187177307)

Versione 1.0.0-alpha15

2 giugno 2021

androidx.wear:wear-*:1.0.0-alpha15 viene rilasciato. La versione 1.0.0-alpha15 contiene questi commit.

Nuove funzionalità

La maggior parte dell'inizializzazione del quadrante viene ora eseguita in un thread in background, ma dopo il caricamento tutto il rendering del quadrante e così via viene eseguito in UiThread. Esiste una barriera di memoria tra il caricamento e il rendering, quindi la maggior parte dei quadranti degli utenti non deve fare nulla di speciale. I quadranti che utilizzano GLES potrebbero essere un'eccezione, poiché il contesto è specifico del thread e creiamo due contesti collegati, in modo da poter caricare le risorse GL (ad es. texture e shader) nel thread in background e utilizzarle in UiThread.

Abbiamo suddiviso la creazione dei quadranti in tre funzioni: createUserStyleSchema, createComplicationsManager e createWatchFace. Supponiamo che createUserStyleSchema e createComplicationsManager siano veloci e che createWatchFace possa richiedere del tempo per caricare gli asset. Sfruttando questa opportunità, abbiamo introdotto WatchFaceControlClient.getDefaultProviderPoliciesAndType, che restituisce una mappa di ID complicazione a DefaultComplicationProviderPolicies e al ComplicationType predefinito. Questa operazione è più veloce rispetto alla creazione di un'istanza senza interfaccia perché non è necessario inizializzare completamente il quadrante per eseguire la query.

Infine, le complicazioni vengono ora costruite con una CanvasComplicationFactory che consente la costruzione lazy dei visualizzatori CanvasComplication.

Modifiche all'API

  • @TargetApi sostituito con @RequiresApi. (I0184a, b/187447093, b/187447094)
  • Abbiamo introdotto WatchFaceControlClient.getDefaultProviderPoliciesAndType, che restituisce una mappa di ID complicazione a DefaultComplicationProviderPolicies e al tipo ComplicationType predefinito. Ove possibile, viene utilizzato un percorso rapido che evita di costruire completamente un quadrante. Per semplificare questa operazione, l'API WatchFaceService è stata modificata con l'introduzione di due nuovi metodi: createUserStyleSchema e createComplicationsManager, i cui risultati vengono passati a createWatchFace. Inoltre, le complicazioni ora vengono costruite con una CanvasComplicationFactory che consente la costruzione lazy dei relativi visualizzatori. (Iad6c1)
  • Abbiamo rimosso MOST_RECENT_APP da SystemProviders. (I3df00)
  • ObservableWatchData è ora una classe sigillata. (Ic940d)
  • CanvasComplicationFactory.create (in genere associato a I/O) ora viene chiamato in un thread in background per ogni complicazione prima dell'inizio del rendering del thread ui. Esiste una barriera di memoria tra la costruzione e il rendering, pertanto non sono necessarie primitive di threading speciali. (Ia18f2)
  • La creazione del quadrante ora viene eseguita in un thread in background, anche se tutto il rendering viene eseguito nel thread dell'interfaccia utente. GlesRenderer supporta due contesti collegati per supportare questa operazione. WatchFaceControlClient.createHeadlessWatchFaceClient e WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient potrebbero essere risolti prima del completamento di WatchFaceService.createWatchFace. Le chiamate API successive verranno bloccate fino al completamento dell'inizializzazione del quadrante. (Id9f41)
  • EXPANSION_DP e STROKE_WIDTH_DP non sono più visibili in api.txt. (I54801)
  • Abbiamo fatto in modo che EditorSession.createOnWatchEditingSession lanci TimeoutCancellationException in caso di errore anziché inviare una sessione nulla. Inoltre, il valore restituito di EditorRequest.createFromIntent e EditorSession.createOnWatchEditingSession ora è NonNull. (I41eb4)

Versione 1.0.0-alpha14

18 maggio 2021

androidx.wear:wear-*:1.0.0-alpha14 viene rilasciato. La versione 1.0.0-alpha14 contiene questi commit.

Nuove funzionalità

  • EditorSession.openComplicationProviderChooser ora restituisce ChosenComplicationProvider che contiene l'ID complicazione, ComplicationProviderInfo e un Bundle contenente eventuali extra restituiti dal selettore del fornitore.
  • Inoltre, stiamo eseguendo la migrazione del codice a Kotlin e la maggior parte dell'API del quadrante è ora definita in Kotlin.

Modifiche all'API

  • Le proprietà GlesRenderer eglContext e eglDisplay ora non sono null. Tutti gli errori GL ora vengono segnalati tramite GlesRenderer.GlesException anziché tramite RuntimeExceptions. (Ib1005)
  • Abbiamo eseguito la migrazione di androidx.wear.watchface.complications.rendering.ComplicationDrawable da Java a Kotlin (Ibc3eb)
  • Abbiamo eseguito la migrazione di androidx.wear.watchface.complications.rendering.ComplicationStyle da Java a Kotlin (I3375e)
  • Abbiamo aggiunto informazioni sul fornitore di complicazioni per ogni complicazione in EditorSession. (I37f14)
  • Abbiamo esteso il risultato di EditorSession.openComplicationProviderChooser per includere le informazioni restituite da quello scelto. (Iead6d)

Wear Complications & Watchface versione 1.0.0-alpha13

5 maggio 2021

androidx.wear:wear-*:1.0.0-alpha13 viene rilasciato. La versione 1.0.0-alpha13 contiene questi commit.

Nuove funzionalità

  • I quadranti possono avere elementi visivi importanti oltre a mostrare l'ora e le complicazioni. Per fornire il supporto dello screen reader, ora il quadrante può specificare le etichette ContentDescription per l'accessibilità tramite la proprietà additionalContentDescriptionLabels del Renderer. Inoltre, per controllare l'ordine di ContentDescriptionLabels, è stato aggiunto accessibilityTraversalIndex alle complicazioni. Questo valore può essere modificato da ComplicationsUserStyleSetting.

  • Per incoraggiare gli sviluppatori a prendere in considerazione attentamente gli screen reader, abbiamo reso obbligatorio il passaggio del campo contentDescription di ShortTextComplicationData.Builder, LongTextComplicationData.Builder e RangedValueComplicationData.Builder ai relativi costruttori. Se viene passato ComplicationText.EMPTY per contentDescription, verrà generato automaticamente un contentDescription dal testo e dal titolo.

  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient ora genera ServiceStartFailureException se il quadrante genera un'eccezione durante l'inizializzazione. In questo modo, è molto più facile diagnosticare i problemi durante l'avvio del quadrante.

Modifiche all'API

  • Abbiamo aggiunto il supporto per un nome componente null in ComplicationProviderInfo, necessario per supportare le versioni precedenti di Wear OS. (I744d2)
  • Abbiamo eseguito la migrazione di androidx.wear.complications.SystemProviders da Java a Kotlin. (Ia1f8b)
  • Abbiamo nascosto tutte le classi dell'API pubblica presenti in android.support.wearable.complications e creato wrapper corrispondenti in AndroidX, ove necessario. (I7bd50)
  • Abbiamo rinominato il metodo in TimeDifferenceComplicationText.Builder da setMinimumUnit a setMinimalTimeUnit. (I20c64)
  • Abbiamo reso obbligatorio il passaggio del campo contentDescription per ShortTextComplicationData.Builder, LongTextComplicationData.Builder e RangedValueComplicationData.Builder nel costruttore. (I8cb69)
  • Abbiamo rinominato ComplicationProviderService.onComplicationUpdate in onComplicationRequest e abbiamo encapsulato il parametro id e type di questo metodo nei dati ComplicationRequest. L'ascoltatore corrispondente è stato rinominato in ComplicationRequestListener e il relativo metodo in ComplicationRequestListener.onComplicationData. (Iaf146)
  • Abbiamo rimosso il metodo isActiveAt da ComplicationData e abbiamo exposto il campo validTimeRange al suo posto. Questa chiamata al metodo può essere sostituita con validTimeRange.contains. (I65936)
  • Abbiamo modificato la descrizione del metodo ComplicationProviderService.onComplicationActivated in modo che riceva un ComplicationType anziché un int. (Idb5ff)
  • È stata eseguita la migrazione di ProviderUpdateRequester da Java a Koltin. (Ibce13)
  • GlesRender.makeContextCurrent è ora pubblico. Il codice del quadrante potrebbe dover effettuare chiamate GL al di fuori di render e onGlContextCreated e, poiché potrebbero essere presenti sia un contesto interattivo che uno senza interfaccia, è necessario chiamarlo. (I8a43c)
  • Ora WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient genera ServiceStartFailureException se lo smartwatch ne genera uno durante l'inizializzazione. Inoltre, WatchFaceService ora genera un'eccezione se createWatchFace richiede più di 6 secondi. (I59b2f)
  • Abbiamo rimosso la proprietà id inutilizzata di GlesTextureComplication. (I28958)
  • Ora il quadrante può specificare le etichette ContentDescription per l'accessibilità tramite la proprietà additionalContentDescriptionLabels di Renderer. Oltre a controllare l'ordinamento di ContentDescriptionLabels, è stato aggiunto accessibilityTraversalIndex alle complicazioni. Questo valore può essere modificato da ComplicationsUserStyleSetting. (Ib7362)
  • Espandi la documentazione sulla gestione degli eventi touch nel quadrante. (Iaf31e)

Correzioni di bug

  • EditorSession.getComplicationsPreviewData() ora restituisce una mappa per ogni complicazione anziché solo per quelle non vuote. Un'istanza di EmptyComplicationData viene utilizzata per le complicazioni vuote. (I1ef7e)

Versione 1.0.0-alpha12 di Wear Complications & Watchface

21 aprile 2021

androidx.wear:wear-*:1.0.0-alpha12 viene rilasciato. La versione 1.0.0-alpha12 contiene questi commit.

Nuove funzionalità

Gli editor dei quadranti devono evidenziare parti del quadrante per aiutare a capire quale aspetto di uno smartwatch è in fase di configurazione. Abbiamo esteso RenderParameters per consentire di evidenziare gli stili e le complicazioni. Esiste un nuovo livello facoltativo HighlightLayer che deve essere applicato sopra il quadrante con trasparenza alfa (le API di screenshot possono eseguire questa operazione per te o fornire il livello HighlightLayer da solo per la massima flessibilità). Ad esempio, supponiamo che tu abbia uno stile che ti consenta di configurare l'aspetto delle lancette dell'orologio. Il tuo renderer nel suo renderHighlightLayer può disegnare un contorno intorno a queste.

Per incoraggiare il supporto dei fornitori di complicazioni per l'accessibilità, abbiamo impostato il campo contentDescription di PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder e SmallImageComplicationData.Builder come argomento obbligatorio del costruttore. Sono stati aggiunti ComplicationTapFilter e Complication.createEdgeComplicationBuilder per supportare le complicazioni laterali (disegnate lungo il bordo dello schermo). Il rendering e il test di corrispondenza delle complicazioni laterali sono a carico del quadrante. I test degli hit di Edge non sono supportati dall'editor associato.

Modifiche all'API

  • È stato aggiunto il prefisso PROVIDER_ alle costanti in SystemProviders. (I1e773)
  • Abbiamo reso obbligatorio il campo contentDescription di PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder e SmallImageComplicationData.Builder per essere passato al costruttore. (I9643a)
  • ProviderInfoRetriever.requestPreviewComplicationData è stato rinominato in retrievePreviewComplicationData. (I911ee)
  • Migrazione di ComplicationProviderService da Java a Koltin. (I849f2)
  • Il metodo ComplicationProviderService.onBind è ora definitivo (I39af5)
  • Abbiamo reintegrato l'interfaccia CanvasComplication e spostato CanvasComplicaitonDrawable, GlesTextureComplication e ComplicationHighlightRenderer in wear-watchface-complications-rendering. (I84670)
  • RenderParameters è stato sottoposto a refactoring per supportare il rendering degli elementi in evidenza estesi. Ora è possibile richiedere il rendering degli elementi in evidenza per gli stili, nonché per tutte o una singola complicazione. Inoltre, CanvasRenderer e GlesRenderer hanno un nuovo metodo astratto renderHighlightLayer per il rendering di eventuali evidenziazioni richieste dall'editor. Il livello è stato rinominato in WatchFaceLayer. (Ic2444)
  • ComplicationTapFilter e Complication.createEdgeComplicationBuilder sono stati aggiunti per supportare le complicazioni con i bordi. Il rendering e il test di corrispondenza delle complicazioni laterali sono a carico del quadrante. I test degli hit non sono supportati dagli editor. (Ia6604)
  • Per DoubleRangeUserStyleSetting e LongRangeUserStyleSetting: defaultValue, maximumValue e minimumValue ora sono proprietà Kotlin. Inoltre, le funzioni UserStyleSetting.Option come toBooleanOption, toCoplicationOptions, toListOption e simili sono state rimosse. (I52899)
  • Aggiungi la taglia del mento alle proprietà del dispositivo disponibili per il quadrante. (I76e1e)
  • Il costruttore di ComplicationHighlightRenderer ora accetta i parametri outlineExpansion e outlineStrokeWidth. (I87009)
  • ComplicationDrawable.getNoDataText ora fa parte dell'API pubblica. (I00598)

Versione 1.0.0-alpha11

7 aprile 2021

androidx.wear:wear-*:1.0.0-alpha11 viene rilasciato. La versione 1.0.0-alpha11 contiene questi commit.

Nuove funzionalità

  • Le API dei quadranti sono state ulteriormente perfezionate. La maggior parte delle modifiche sono semplici cambi di nome, ma InteractiveWatchFaceWcsClient e InteractiveWatchFaceSysUiClient sono stati uniti in InteractiveWatchFaceClient.

Modifiche all'API

  • ContentDescriptionLabel.text ora è un ComplicationText anziché la vecchia libreria di supporto per i dispositivi indossabili TimeDependentText. (I80c03)
  • Non è garantito che SystemProviders.GOOGLE_PAY sia presente su tutti i dispositivi Android R, pertanto è stato rimosso dall'elenco. È comunque possibile utilizzare questo provider tramite DefaultComplicationProviderPolicy (If01b5)
  • Per coerenza, abbiamo rinominato ComplicationUpdateCallback in ComplicationUpdateListener. (I61ec7)
  • La mappa del formato del cavo UserStyle è stata modificata in Map<String, byte[]> e, per comodità, è stata aggiunta una classe UserStyleData all'API pubblica, che ora viene utilizzata da wear-watchface-client e wear-watchface-editor. Inoltre, CustomValueUserStyleSetting.CustomValueOption.value ora è byte[] anziché String. (Iaa103)
  • UserStyleSetting e UserStyleSetting.Option ora utilizzano rispettivamente UserStyleSetting.Id e UserStyleSetting.Option.Id per memorizzare i propri ID anziché una stringa. (I63f72)
  • InteractiveWatchFaceClient.SystemState è stato rinominato in WatchUiState. (I6a4e0)
  • InteractiveWatchFaceWcsClient e InteractiveWatchFaceSysUiClient sono stati uniti perché era difficile spiegare la suddivisione delle responsabilità (Iff3fa)
  • I valori dell'enum del livello sono stati rinominati per maggiore chiarezza. Layer#TOP_LAYER è diventato Layer#COMPLICATIONS_OVERLAY e Layer#BASE_LAYER è diventato Layer#BASE (Ia144e)
  • UserStyleListener è stato rinominato UserStyleChangeListener (I18524)
  • UserStyleRepository è stato rinominato in CurrentUserStyleRepository (I6ea53)
  • InteractiveWatchFaceWcsClient.updateInstance è stato rinominato in updateWatchfaceInstance. (I321dc)
  • Gli eventi WatchFace TapType sono stati rinominati in modo da allinearsi a MotionEvents / Compose. (I0dfd0)
  • takeWatchfaceScreenshot è stato rinominato in renderWatchFaceToBitmap e takeComplicationScreenshot è stato rinominato in renderComplicationToBitmap (Ie0697)
  • L'interfaccia CanvasComplication è stata rimossa a favore della classe aperta CanvasComplicationDrawable. (I1f81f)
  • WatcfaceControlServiceFactory è stato rimosso dall'API pubblica. (I1f8d3)
  • Abbiamo rinominato CanvasComplication.setData in CanvasComplication.loadData. (If1239)
  • ComplicationsManager.bringAttentionToComplication è stato rinominato in displayPressedAnimation. (Ic4297)
  • WatchFaceService.createWatchFace ora ha un'annotazione @UiThread. (Ib54c2)
  • È stato modificato il nome di un parametro CanvasComplicationDrawable per correggere un bug. (I50dac)
  • Abbiamo aggiunto HeadlessWatchFaceClient.toBundle() e HeadlessWatchFaceClient.createFromBundle per supportare l'invio di HeadlessWatchFaceClient tramite AIDL. (I07c35)
  • HeadlessWatchFaceClient e InteractiveWatchFaceClient ora dispongono di ClientDisconnectListener e isConnectionAlive() per consentirti di osservare se la connessione è interrotta per qualche motivo (ad esempio se il quadrante viene interrotto). (Ie446d)
  • WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync ora è una funzione di sospensione ed è stata rinominata in getOrCreateInteractiveWatchFaceClient. (Ib745d)
  • EditorState.commitChanges e hasCommitChanges() sono stati rinominati in shouldCommitChanges(). (I06e04)
  • previewComplicationData è stato rinominato in previewComplicationsData per indicare che (di solito) nella mappa sono presenti più complicazioni. (I56c06)
  • InteractiveWatchFaceWcsClient.bringAttentionToComplication è stato rinominato in displayPressedAnimation per coerenza con ComplicationsManager.displayPressedAnimation. (Ic9999)
  • Tutte le istanze dell'ID istanza del quadrante sono state incapsulate in una nuova classe WatchFaceId (I45fdf)
  • La proprietà complicationState è stata rinominata in complicationsState per indicare la pluralità. (Ided07)
  • Abbiamo rimosso le varie conversioni di Binder per wear-watchface-client, che dovrebbero essere necessarie. (Icc4c0)
  • Per coerenza, EditorServiceClient è stato sottoposto a refactoring in modo da utilizzare gli ascoltatori anziché gli osservatori. (Iec3a4)
  • Abbiamo aggiunto un paio di annotazioni @Px mancanti a InteractiveWatchFaceSysUiClient e WatchFaceControlClient. (I3277a)
  • Per motivi di coerenza, è stato rinominato EditorObserverCallback in EditorObserverListener. (Ie572d)
  • EditorState.watchFaceInstanceId è limitato al livello API Android R e versioni successive e non è più nullable. (Id52bb)
  • EditorSession.launchComplicationProviderChooser è stato rinominato in openComplicationProviderChooser. (I9d441)
  • EditorSession.createOnWatchEditingSessionAsync è stata rinominata in createOnWatchEditingSession e ora è una funzione di sospensione. (Id257b)
  • Sono state aggiunte diverse annotazioni @UiThread mancanti il giorno EditorSession. (I6935c)
  • UserStyleSetting.affectsLayers è stato rinominato in affectedLayers. (I6e22b)

Versione 1.0.0-alpha10

24 marzo 2021

androidx.wear:wear-*:1.0.0-alpha10 viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.

Nuove funzionalità

  • Ora è possibile creare oggetti open GL (ad es. texture) durante WatchFaceService.createWatchFace perché GlesRenderer ora richiede una chiamata esplicita a initOpenGLContext che può essere eseguita all'interno di createWatchFace.

Modifiche all'API

  • IdAndComplicationData era un po' complicato ed è stato rimosso dall'API pubblica. Le classi e le interfacce che lo utilizzavano sono state sottoposte a refactoring. (I4c928)
  • Abbiamo sostituito ReferenceTime con CountUpTimeReference e CountDownTimeReference, che sono più autoesplicativi. (Ib66c6)
  • Sono state aggiunte alcune annotazioni @Px e @ColorInt mancanti. (I9bbc3)
  • Complication.complicationConfigExtras ora non è nullo e il valore predefinito è Bundle.EMPTY. (Iad04f)
  • GlesRenderer ora richiede di chiamare initOpenGLContext dopo la costruzione. Questa funzione era un dettaglio interno, ma ora è nell'API pubblica per consentire le chiamate GL in precedenza all'interno di createWatchFace. (I726c2)
  • Abbiamo rimosso Complication.setRenderer perché non dovrebbe essere necessario. (Ie992f)
  • Complicaiton.setComplicationBounds non fa più parte dell'API pubblica. Se devi regolare la posizione di una complicazione, puoi farlo tramite ComplicationsUserStyleSetting. (Ibd9e5)
  • ComplicationsManager.TapCallback.onComplicationSingleTapped è stato rinominato in onComplicationTapped. (I3a55c)
  • ComplicationOutlineRenderer.drawComplicationSelectOutline è stato rinominato in drawComplicationOutline. (I14b88)

Versione 1.0.0-alpha09

10 marzo 2021

androidx.wear:wear-complications-*:1.0.0-alpha09 e androidx.wear:wear-watchface-*:1.0.0-alpha09 vengono rilasciati. La versione 1.0.0-alpha09 contiene questi commit.

Nuove funzionalità

  • L'interfaccia tra l'host WCS/SysUI e il quadrante è stata migliorata. Ora è possibile per un editor determinare se una modifica dello stile attiva o disattiva una complicazione (enabled = initiallyEnabled più eventuali sostituzioni da ComplicationsUserStyleSetting). Inoltre, EditorService.closeEditorconsente a SysUI di chiudere da remoto un editor sul quadrante, se necessario.
  • Inoltre, InteractiveWatchFaceWcsClient.setUserStyle con un comando più potente updateInstance che: modifica l'ID istanza, imposta lo stile e cancella le complicazioni tutto in una volta.

Modifiche all'API

  • Le proprietà TraceEvents sono state aggiunte alle librerie dei quadranti. (I1a141)
  • ComplicationState ora dispone di una nuova proprietà initiallyEnabled utile per prevedere le conseguenze del passaggio da uno stile all'altro. (I8c905)
  • Abbiamo sostituito InteractiveWatchFaceWcsClient.setUserStyle con un comando più potente updateInstance che: modifica l'ID istanza, imposta lo stile e cancella le complicazioni. (Ife6f6)
  • Le API di screenshot di WatchFaceClient non comprimono più gli screenshot perché erano lente, ma lasciamo la post-elaborazione all'autore della chiamata. (Id35af)
  • Ora è possibile chiudere da remoto un editor sul quadrante tramite EditorService.closeEditor. (Ic5aa4)
  • Sono state aggiunte annotazioni sulla nullità (Ic16ed)

Versione 1.0.0-alpha08

24 febbraio 2021

androidx.wear:wear-*:1.0.0-alpha08 viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.

Nuove funzionalità

  • Alcuni quadranti sono progettati attorno a una o più complicazioni specifiche. Per supportare questa funzionalità, abbiamo aggiunto Complication.Builder#setFixedComplicationProvider che, se impostato su true, impedisce all'utente di modificare la complicazione in quella posizione.
  • Le librerie dei quadranti sono in Kotlin e utilizzano le coroutine (ad es. le funzioni di sospensione). Per gli utenti Java abbiamo fornito wrapper ListenableFuture per migliorare l'interoperabilità nelle seguenti librerie: wear/wear-watchface-guava, wear/wear-watchface-client-guava e wear/wear-watchface-editor-guava.

Modifiche all'API

  • Abbiamo rimosso il supporto per i doppi tocchi sulle complicazioni che aprono il selettore del fornitore. Questa funzionalità non era comune nei quadranti e complicava l'implementazione di SysUI. (I3ef24)
  • I metodi ProviderInfoRetriever potrebbero generare un'eccezione ServiceDisconnectedException se il binder si chiude inaspettatamente. (Ib2cc4)
  • A partire da Android 11, ci sono limitazioni su quando è possibile eseguire ProviderChooser. Inoltre, vogliamo che gli editor vengano creati con il nuovo wear-watchface-editor, quindi ComplicationHelperActivity verrà rimosso dall'API pubblica. (Ib19c1)
  • Rimuovi i metodi statici ComplicationText a favore dei costruttori. (Ibe399)
  • Abbiamo introdotto wrapper guava ListenableFuture per i vari metodi sospesi della libreria dei quadranti. (I16b2c)
  • Per una maggiore chiarezza dell'API, abbiamo aggiunto a RenderParameters un costruttore secondario che non richiede una tinta, da utilizzare con LayerModes diversi da LayerMode.DRAW_OUTLINED. (I497ea)
  • In precedenza, ListUserStyleSetting era diverso dall'altro perché aveva un argomento predefinito. Ora tutti i costruttori delle sottoclassi StyleSetting prendono per ultimi il valore predefinito. (I9dbfd)
  • CanvasComplication è stato sottoposto a refactoring per utilizzare un metodo nascosto, che semplifica l'implementazione di una sottoclasse (I5b321)
  • Abbiamo riorganizzato EditorResult in favore di un nuovo EditorService e EditorSession.broadcastState() per trasmettere gli aggiornamenti a un osservatore (in genere SysUI). (Ic4370)
  • Alcuni quadranti sono basati su una complicazione specifica che è parte integrante del quadrante e il cui fornitore non è configurabile dall'utente. Per supportare questa funzionalità, abbiamo aggiunto Complication.Builder#setFixedComplicationProvider. (I4509e)
  • EditorRequest ora specifica il nome del pacchetto anziché ComponentName perché non era pratico per SysUI cercare il nome della classe dell'editor e ci serve solo il nome del pacchetto. (Ib6814)

Versione 1.0.0-alpha07

10 febbraio 2021

androidx.wear:wear-*:1.0.0-alpha07 viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.

Nuove funzionalità

  • WatchFaceService.createWatchFace ora è una funzione di sospensione, il che significa che il quadrante non deve più bloccare il thread ui in attesa di I/O. Analogamente, wear-watchface-editor e wear-complications-data

Modifiche all'API

  • Rimuovi la classe PhotoImage e utilizza direttamente Icon. (I8a70b)
  • Esponi l'intervallo di tempo valido di ComplicationData. (I91366)
  • Rendi più espliciti gli attributi simili a immagini. (I81700)
  • wear-watchface-editor e wear-complications-data sono stati sottoposti a refactoring per utilizzare funzioni di sospensione anziché coroutine. A seguire, Rx Java e Future Compat Wrapper. (If3c5f)
  • Ora ProviderInfoRetriever lancia PreviewNotAvailableException se requestPreviewComplicationData non riesce a restituire i dati di anteprima a causa di problemi di connessione o della mancanza del supporto dell'API. (I4964d)
  • WatchFaceControlService::createWatchFaceControlClient ora è una funzione sospesa e getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient ora si chiama getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync che restituisce Deferred<InteractiveWatchFaceWcsClient>. RX Java e Future compat wrapper da seguire. (I5d461)
  • Rinomina CATEGORY_PROVIDER_CONFIG_ACTION in CATEGORY_PROVIDER_CONFIG. (I7c068)
  • Tieni presente che createOnWatchEditingSession è ora una funzione sospesa perché a volte il quadrante non è disponibile fino a poco dopo l'inizio dell'attività di modifica. (Ida9aa)
  • WatchFaceService.createWatchFace è ora una funzione di sospensione che consente l'inizializzazione asincrona. In precedenza, dovevi bloccare il thread principale. (If076a)
  • UserStyle ora ha un operatore array e abbiamo aggiunto funzioni di assistenza per il trasferimento a UserStyle.Option. (I35036)
  • Abbiamo corretto un bug di marshalling con i wireformat di UserStyle che modificava alcune API nascoste instabili. (I8be09)
  • Abbiamo aggiunto CustomValueUserStyleSetting che ti consente di memorizzare una singola stringa specifica per l'applicazione in un UserStyle. Gli editor dei quadranti predefiniti ignoreranno questo valore. (Ic04d2)
  • InstanceID non viene passato negli extra intent per R e le versioni precedenti di Android WearOS di cui non possiamo eseguire l'upgrade. Per supportare questa funzionalità, ora consentiamo che InstancID sia nullo. (Id8b78)
  • EditorRequest ora include il nome del componente dell'editor, impostato come componente in WatchFaceEditorContract.createIntent (I3cd06)
  • Il risultato dell'editor del quadrante ora include i dati di complicazione di anteprima per consentire all'utente che chiama di acquisire uno screenshot del quadrante dopo la modifica. (I2c561)

Correzioni di bug

  • Sono state aggiunte sostituzioni di toString() a UserStyle, UserStyleSetting e UserStyleSchema, il che rende più piacevole il lavoro con queste classi. (I9f5ec)

Versione 1.0.0-alpha06

27 gennaio 2021

androidx.wear:wear-*:1.0.0-alpha06 viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Abbiamo introdotto una nuova libreria wear/wear-watchface-editor che consente agli sviluppatori di quadranti e potenzialmente agli OEM di creare un editor di stili e complicazioni. SysUI invierà un Intent al quadrante che utilizzerà la nuova classe EditorSession per accedere ai dettagli del quadrante e registrare il risultato tramite Activity.setWatchRequestResult. Per supportare questa funzionalità, abbiamo aggiunto ProviderInfoRetriever.requestPreviewComplicationData, che consente agli editor dei quadranti di richiedere i dati di ComplicationData di anteprima. Il vantaggio dell'anteprima di ComplicationData è che, a differenza dei dati in tempo reale, non devi preoccuparti di mostrare le finestre di dialogo di autorizzazione durante il rendering dell'editor (tieni presente che se un utente seleziona un fornitore con un'autorizzazione, gli verrà comunque chiesto di concederla).

Modifiche all'API

  • ComplicationProviderInfo ora ha un campo per il ComponentName del provider. Il supporto di questo campo verrà aggiunto a WearOS in un secondo momento e nel frattempo sarà nullo. (Id8fc4)
  • Abbiamo aggiunto ProviderInfoRetriever.requestPreviewComplicationData che consente agli editor dei quadranti di richiedere i dati di anteprima delle complicazioni. Questo è utile perché le complicazioni in tempo reale potrebbero richiedere autorizzazioni e ora puoi visualizzare i dati di anteprima per le complicazioni non attive. (I2e1df)
  • ComplicationManager è ora un parametro facoltativo del costruttore WatchFace e gli argomenti sono stati riordinati per consentire questa operazione. (I66c76)
  • Abbiamo aggiunto un pacchetto facoltativo a Complications che, se impostato, viene unito all'intent inviato per avviare l'attività di scelta del fornitore. (Ifd4ad)
  • Abbiamo aggiunto una nuova libreria wear-watchface-editor per il supporto degli editor ospitati su quadranti e SysUi. SysUI avvierà questi editor inviando un'intent. Il servizio Attività del quadrante può utilizzare la nuova classe EditorSession per accedere ai dettagli del quadrante e registrare il risultato tramite Activity.setWatchRequestResult. (I2110d)
  • LayerMode.DRAW_HIGHLIGHTED ora si chiama LayerMode.DRAW_OUTLINED e RenderParameters.highlightComplicationId ora si chiama RenderParameters.selectedComplicationId, il che disegna un'evidenziazione sulla complicazione specificata oltre a un contorno. (I90a40)
  • Ora il futuro di WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient può essere risolto con una ServiceStartFailureException se il servizio si arresta in attesa della creazione del quadrante. (I0f509)
  • EditorSession.complicationPreviewData ora è un ListenableFuture perché il recupero di questi dati è un processo asincrono. (Iead9d)

Correzioni di bug

  • Stiamo rimuovendo i campi inutilizzati da ComplicationOverlay lasciando abilitati e complicationBounds. (I17b71)

Versione 1.0.0-alpha05

13 gennaio 2021

androidx.wear:wear-*:1.0.0-alpha05 viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.

Nuove funzionalità

I quadranti spesso supportano una serie di configurazioni di complicazioni con un numero variabile di complicazioni mostrate. Per semplificare la configurazione, ora supportiamo le complicazioni disattivate inizialmente chiamando setEnabled(false) sul builder. Queste possono essere attivate in un secondo momento tramite ComplicationsUserStyleSetting.

Modifiche all'API

  • ComplicationHelperActivity ora accetta Collection<ComplicationType> anziché un array di int, il che ne semplifica l'utilizzo. (I1f13d)
  • Ora ProviderInfoRetriever.retrieveProviderInfo restituisce correttamente ListenableFuture<ProviderInfo[]>. (If2710)
  • Ora puoi creare una complicazione inizialmente disattivata chiamando setEnabled(false) sul builder. (Idaa53)
  • WatchFaceState ora ha una proprietà isHeadless che è vera solo per le istanze headless. (Ifa900)
  • Ora ComplicationDrawable supporta facoltativamente il caricamento sincrono dei drawable. Viene utilizzato dalle API di screenshot. (I34d4a)

Versione 1.0.0-alpha04

16 dicembre 2020

androidx.wear:wear-*:1.0.0-alpha04 viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.

Nuove funzionalità

  • La raccolta di quadranti Wear OS ora supporta l'impostazione di limiti per tipo. Ad esempio, puoi passare a un riquadro delimitante ampio per ComplicationType.LONG_TEXT e utilizzare un riquadro delimitante più piccolo per altri tipi.

Modifiche all'API

  • Le complicazioni ora utilizzano ComplicationBounds che racchiude un Map<ComplicationType, RectF> per supportare le dimensioni per tipo di complicazione. (I1ebe7)
  • Ora RenderParameters consente di specificare la tinta dell'evidenziazione da utilizzare negli screenshot. (Iff42b)
  • Ad eccezione dei limiti, ora devi utilizzare ComplicationsUserStyleSetting per modificare le complicazioni, in modo da mantenere sincronizzato il sistema operativo. (I8dc5d)
  • Renderer ora è una classe sigillata. Ciò significa che CanvasRenderer e GlesRenderer ora sono classi interne di Renderer. (Iab5d4, b/173803230)
  • CanvasComplicationDrawable.drawHighlight è stato rinominato in drawOutline. ObservableWatchData ora ha alcune annotazioni UiThread mancanti. ScreenState è stato completamente rimosso da WatchState. (If1393)
  • Il livello API minimo per wear-watchface è ora 25. Tieni presente che il supporto della funzionalità Canvas hardware richiede il livello API 26 o versioni successive. (Ic9bbd)
  • InteractiveWatchFaceWcsClient ora dispone di un helper getComplicationIdAt. (I05811)
  • Il livello API per wear-watchface-client è stato ridotto a 25, ma le API di screenshot richiedono il livello API 27. (Id31c2)

Correzioni di bug

  • Ora esponiamo il ComplicationType corrente di ComplicationData della complicazione in ComplicationState. (I9b390)
  • InteractiveWatchFaceWcs ora dispone di un metodo "bringAttentionToComplication" per evidenziare brevemente la complicazione specificata. (I6d31c)
  • InteractiveWatchFaceWcsClient#setUserStyle ora ha un sovraccarico che accetta Map<string, string="">, il che può potenzialmente evitare un viaggio di andata e ritorno IPC aggiuntivo necessario per costruire UserStyle. (I24eec)</string,>

Versione 1.0.0-alpha03

2 dicembre 2020

androidx.wear:wear-*:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

Nuove funzionalità

La classe Complication ora ha una proprietà compicationData che consente ai quadranti di osservare le modifiche di ComplicationData. In questo modo è possibile modificare le dimensioni della complicazione in base al tipo.

Le frequenze fotogrammi variabili sono ora supportate assegnando un valore a Renderer.interactiveDrawModeUpdateDelayMillis. Per i quadranti che eseguono animazioni brevi ogni secondo, questa impostazione può comportare un buon risparmio energetico passando alla modalità Sospensione quando non sono in animazione.

Modifiche all'API

  • BACKGROUND_IMAGE è stato rinominato PHOTO_IMAGE, così come i corsi correlati. Questo tipo di complicazione non viene utilizzato esclusivamente per gli sfondi, da qui la modifica del nome. (I995c6)
  • DefaultComplicationProviderPolicy annotato correttamente con IntDefs. (I3b431)
  • La classe nascosta TimeDependentText non è più esposta tramite ContentDescriptionLabel, ma viene aggiunto un accessor per recuperare il testo in un momento specificato. (Ica692)
  • Il costruttore di ObservableWatchData è ora interno. (I30121, b/173802666)
  • La complicazione ora ha compicationData che consente ai quadranti di osservare le modifiche di ComplicationData. Complication ha anche una nuova chiamata isActiveAt che può essere utilizzata per indicare se è necessario eseguire il rendering di un elemento alla data e ora specificate. (Ic0e2a)
  • SharedMemoryImage vuoto non è più presente nell'API pubblica. (I7ee17)
  • WatchFace.overridePreviewReferenceTimeMillis ora ha un'annotazione IntRange e i getter e i setter hanno nomi coerenti. (Ia5f78)
  • Per maggiore chiarezza, Complication.Builder viene ora creato tramite Complication.createRoundRectComplicationBuilder o Complication.createBackgroundComplicationBuilder (I54063)
  • È stato aggiunto WatchFace.TapListener che consente al quadrante di osservare i tocchi non utilizzati dalle complicazioni. (Ic2fe1, b/172721168)
  • Il quadrante ora supporta le frequenze fotogrammi variabili assegnando il valore Renderer.interactiveDrawModeUpdateDelayMillis. In questo modo puoi preservare la durata della batteria mettendola in sospensione quando non è in animazione. (I707c9)
  • WatchFace.Builder non è più necessario e invalidate() e interactiveUpdateRateMillis sono stati spostati in Renderer. (I329ea)
  • Per una migliore interoperabilità con Java, sono stati rinominati i getter per le proprietà booleane in WatchState (I6d2f1)
  • Per coerenza, sono stati rinominati TapListener in TapCallback e InvalidateCallback in InvalidateListener. (I9414e)
  • Per maggiore chiarezza, le opzioni di stile dei quadranti Wear 2.0 sono state spostate in una classe a parte. I setters di WatchFace.Builder ora hanno getter della classe WatchFace simmetrici. (Iefdfc)
  • Sono stati aggiunti InteractiveWatchFaceWcsClient e WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient che recuperano un'istanza esistente o la creano dopo che il servizio di sfondo è stato collegato e ha creato il motore. (Id666e)
  • WatchFaceControlClient ora è un'interfaccia che consente ai test di simularlo. (I875d9)
  • HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl e InteractiveWatchFaceWcsClient sono ora interfacce per facilitare i test. (I7cdc3)
  • Sono state aggiunte annotazioni ai metodi in wear-watchface-complications-rendering (I0d65c)

Correzioni di bug

  • Rimuovi la forma dello schermo da DeviceConfig, che duplicava android.content.res.Configuration#isScreenRound() (Ifadf4)
  • È stato modificato WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient in modo da accettare un Map<String, String> anziché un UserStyle perché è difficile creare un UserStyle senza conoscere lo schema, che puoi ottenere solo dopo aver creato il client. (Iea02a)
  • Correggi InteractiveWatchFaceWcsClient in modo da utilizzare ComplicationState anziché il formato del cavo. (Icb8a4)
  • UserStyleSettings ora è una classe sigillata perché gli editor dei quadranti riconoscono solo le classi integrate. (I2d797)

Versione 1.0.0-alpha02

11 novembre 2020

androidx.wear:wear-*:1.0.0-alpha02 viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche all'API

  • ComplicationDetails ora si chiama ComplicationState ed è correttamente racchiuso e gli utilizzi del supporto per i dispositivi indossabili @ComplicationData.ComplicationType sono stati migrati ad androidx ComplicationType. (I4dd36)
  • Aggiungi un parametro highlightedComplicationId facoltativo a RenderParameters che ti consente di richiedere l'evidenziazione di una singola complicazione negli screenshot. (I66ce9)
  • ComplicationProviderService per utilizzare l'API delle complicazioni di nuovo stile per coerenza (Id5aea)
  • getPreviewReferenceTimeMillis ora riceve i tempi di riferimento da DeviceConfig. (I779fe)
  • Semplifica l'API Renderer, puoi utilizzare SurfaceHolder.Callback per osservare le modifiche. (I210db)
  • CanvasComplicationRenderer non si estende da Renderer, rinominalo per chiarezza. (Ibe880)

Correzioni di bug

  • Prima versione di androidx.wear:wear-watchface-client (I1e35e)
  • Modificato il nome di GlesTextureComplication#renderer per maggiore chiarezza (Ib78f7)
  • Rinomina StyleCategory in StyleSetting per chiarezza (I488c7)
  • Aggiunta di UserStyleSchema per un'API più chiara (If36f8)

Versione 1.0.0-alpha01

28 ottobre 2020

androidx.wear:wear-complications-*:1.0.0-alpha01 e androidx.wear:wear-watchface-*:1.0.0-alpha01 vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.

Modifiche all'API

  • Sono state rimosse alcune funzionalità che non intendevamo esporre nell'API pubblica. (I41669)
  • Crea una raccolta androidx.wear:wear-complications-provider. (I77f1f)
  • ComplicationsUserStyleCategory, la nuova categoria consigliata per la configurazione delle complicazioni (I96909)
  • Aggiungi l'API wear-complication-data. (I7c268)
  • Funzioni con valori restituiti booleani a cui deve essere anteposto "è" anziché "ottieni" (If36ff)
  • Il consiglio dell'API è di evitare di utilizzare protetto, pertanto questa classe è stata sottoposta a refactoring per accettare i parametri tramite il costruttore. (I61644)
  • Rinomina setBackgroundComplication per maggiore chiarezza. (I96fe3)
  • Utilizza le proprietà Kotlin per isHighlighted e data di ComplicationDrawable (I4dcc8)
  • Anziché ComplicationRenderer.InvalidateCallback, aggiungiamo Complication#invalidate() (I4f4c6)
  • Queste API sono state ritirate in WearableSupport e sono state rimosse qui. (Ib425c)
  • Sono stati rinominati alcuni metodi del costruttore di quadranti per sottolineare la loro natura precedente a Wear 2.0. (Idb775)
  • Prima API beta candidata per wear/wear-watchface (Id3981)
  • Prima versione monitorata dell'API. (Ie9fe6)
  • Nascondere correttamente la definizione di tipo di IntComplicationDrawable.BorderStyle e passare a ComplicationStyle per coerenza. (I27f7a)
  • Aggiunta di annotazioni mancanti per i metodi ComplicationStyle (I838fd)
  • Questa libreria non ha un'API pubblica (I88e2b)
  • Tutti i tipi di opzioni di categoria di stile sono ora correttamente finali. (Ib8323)
  • Prima versione monitorata dell'API. (I27c85)

Correzioni di bug

  • È stato modificato ComplicationProviderService in modo che abbia un metodo getComplicationPreviewData esplicito. (I4905f)
  • Il controllo lint dell'API per MissingGetterMatchingBuilder è abilitato per androidx (I4bbea, b/138602561)
  • Rinomina wear-complications-rendering. (Ifea02)
  • I nomi visualizzati delle categorie di stile ora sono CharSequence (I28990)
  • Sostituzione di Sostituzione con Sovrapposizione per rispettare le convenzioni di denominazione di temi e stili attuali. (I4fde9)
  • È stato rinominato UserStyle#getOptions per maggiore chiarezza. (I695b6)

Versione 1.2.0

Versione 1.2.0

15 settembre 2021

androidx.wear:wear:1.2.0 viene rilasciato. La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

  • È stato aggiunto il componente CurvedText per scrivere facilmente testo curvo seguendo la curvatura del cerchio più grande che può essere inscritto nella visualizzazione. Un esempio di utilizzo:

    <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"
    />
    

    Un esempio di testo curvo in Android Wear

  • È stato aggiunto il contenitore ArcLayout per disporre gli elementi secondari uno per uno su un arco in senso orario o antiorario. I relativi elementi secondari possono essere widget Android standard o widget "curvati" che implementano l'interfaccia ArcLayout.Widget. (I536da) Un esempio di utilizzo:

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

    Un esempio di testo ad arco in Android Wear

  • È stato aggiunto un nuovo contenitore del layout, DismissibleFrameLayout, che gestisce la chiusura con il pulsante Indietro e/o con uno scorrimento, da utilizzare all'interno di un'attività. È necessario aggiungere almeno un ascoltatore per eseguire un'azione di dismissione. In genere, un ascoltatore rimuove una vista contenitore o un frammento dall'attività corrente. setSwipeDismissible(boolean) e setBackButtonDismissible(boolean) sono forniti per il controllo diretto delle funzionalità. Questo nuovo layout è destinato a sostituire SwipeDismissFrameLayout esistente.

  • Nella classe AmbientModeSupport è stato aggiunto il supporto per indicare che un'attività può essere "ripristinata automaticamente" quando il dispositivo esce dalla modalità Ambient. Questa funzionalità era precedentemente disponibile nella classe WearableActivity deprecata della libreria WearableSupportLibrary. (I336ab)

  • È stata eseguita la migrazione della classe WearableCalendarContract dalla libreria di supporto per i dispositivi indossabili. Questa API fornisce un sottoinsieme dei dati disponibili tramite CalendarContract, ma viene sincronizzata automaticamente con i dispositivi indossabili. (I6f2d7)

  • È stata aggiunta una nuova API WearTypeHelper in androidx.wear.utils per determinare se il dispositivo Wear è destinato alla Cina. (Ib01a9)

  • A androidx.wear.widget.ConfirmationOverlay sono state aggiunte funzionalità di accessibilità che leggono i messaggi se impostate seguite dalla descrizione dell'animazione. (I524dd)

  • È stato corretto un bug che causava l'arresto anomalo di ConfirmationActivity se non veniva fornito alcun messaggio. (Ie6055)

  • È stato corretto un bug per cui gli elementi RecyclerView con scorrimento orizzontale causavano la visualizzazione di WearableDrawerLayout su tutte le interazioni. (I24c7f)

Versione 1.2.0-rc01

1° settembre 2021

androidx.wear:wear:1.2.0-rc01 viene rilasciato senza modifiche dall'ultima versione beta. La versione 1.2.0-rc01 contiene questi commit.

Versione 1.2.0-beta01

18 agosto 2021

androidx.wear:wear:1.2.0-beta01 viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug che causava l'arresto anomalo di ConfirmationActivity se non veniva fornito alcun messaggio. (Ie6055)

Versione 1.2.0-alpha13

4 agosto 2021

androidx.wear:wear:1.2.0-alpha13 viene rilasciato. La versione 1.2.0-alpha13 contiene questi commit.

Modifiche all'API

  • WearTypeHelper.isChinaDevice è stato rinominato in WearTypeHelper.isChinaBuild. (I47302)

Correzioni di bug

  • Abbiamo aggiunto a androidx.wear.widget.ConfirmationOverlay funzionalità di accessibilità che leggono i messaggi se impostati seguiti dalla descrizione dell'animazione. (I524dd)

Versione 1.2.0-alpha12

21 luglio 2021

androidx.wear:wear:1.2.0-alpha12 viene rilasciato. La versione 1.2.0-alpha12 contiene questi commit.

Modifiche all'API

  • Abbiamo aggiunto una nuova API WearTypeHelper in androidx.wear.utils per determinare se il dispositivo indossabile specificato è destinato alla Cina. (Ib01a9)

Versione 1.2.0-alpha11

30 giugno 2021

androidx.wear:wear:1.2.0-alpha11 viene rilasciato. La versione 1.2.0-alpha11 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug per cui gli elementi RecyclerView con scorrimento orizzontale causavano la visualizzazione di WearableDrawerLayout su tutte le interazioni. (I24c7f)

Versione 1.2.0-alpha10

2 giugno 2021

androidx.wear:wear:1.2.0-alpha10 viene rilasciato. La versione 1.2.0-alpha10 contiene questi commit.

Nuove funzionalità

  • La versione Alpha10 migliora il supporto dell'accessibilità in Testo curvo e Layout ad arco. Inoltre, sono state apportate alcune modifiche minori al nome di DismissibleFrameLayout per chiarire l'API.

Modifiche all'API

  • Abbiamo rinominato i seguenti metodi in DismissibleFrameLayout (Ib195e):
    • Callback#onDismissed -> Callback#onDismissedFinished
    • isSwipeDismissible -> isDismissableBySwipe
    • isBackButtonDismissible -> isDismissableByBackButton
  • Abbiamo reso definitivi i seguenti metodi (Ib195e):
    • setBackButtonDismissible
    • setSwipeDismissible
    • registerCallback
    • unregisterCallback

Correzioni di bug

  • Utilizza i contenuti di CurvedTextView su TalkBack. (I05798)
  • Accessibilità migliorata per le visualizzazioni normali in un layout ad arco. (I4418d)

Versione 1.2.0-alpha09

18 maggio 2021

androidx.wear:wear:1.2.0-alpha09 viene rilasciato. La versione 1.2.0-alpha09 contiene questi commit.

Modifiche all'API

  • È stata aggiunta una nuova funzione CurvedTextView.setTypeface() (simile a TextView) per impostare il carattere del testo e lo stile in grassetto/corsivo. (I4653c)
  • WearArcLayout rinominato in ArcLayout, WearCurvedText in CurvedText e WearArcLayout.ArcLayoutWidget in ArcLayout.Widget. (I6e5ce)
    • Il giorno ArcLayout.Widget, getThicknessPx è stato rinominato in getThickness.
    • Le costanti di allineamento verticale su ArcLayout.LayoutParams ora sono chiamate iniziando con VERTICAL_ALIGN_ (anziché con VALIGN_)
  • In data CurvedTextView, i metodi setMinSweepDegrees e setMaxSweepDegrees sono stati sostituiti da setSweepRangeDegrees (I7a9d9)

Versione 1.2.0-alpha08

5 maggio 2021

androidx.wear:wear:1.2.0-alpha08 viene rilasciato. La versione 1.2.0-alpha08 contiene questi commit.

Modifiche all'API

  • Per migliorare la chiarezza del codice, abbiamo aggiunto annotazioni @FloatRange ad alcuni parametri angolari e tipi di ritorno. (I430dd)
  • Nell'interfaccia WearArcLayout.ArcLayoutWidget, il metodo insideClickArea ora si chiama isPointInsideClickArea. (Ia7307)

Versione 1.2.0-alpha07

24 marzo 2021

androidx.wear:wear:1.2.0-alpha07 viene rilasciato. La versione 1.2.0-alpha07 contiene questi commit.

Correzioni di bug

  • Correzione degli errori relativi agli elementi secondari non curvi all'interno di WearArcLayout causati dall'utilizzo di dimensioni dello schermo con altezza maggiore della larghezza. Questi elementi secondari non curvi ora sono posizionati correttamente all'interno di un arco su tutti i tipi di schermo.

Versione 1.2.0-alpha06

27 gennaio 2021

androidx.wear:wear:1.2.0-alpha06 viene rilasciato. La versione 1.2.0-alpha06 contiene questi commit.

Modifiche all'API

  • Esegui la migrazione della raccolta Attività in corso a una nuova sottoraccolta: wear-ongoing. Le classi ora si trovano nel pacchetto androidx.wear.ongoing (in precedenza androidx.wear.ongoingactivities) (I7c029)
  • Esegui la migrazione della classe WearableCalendarContract dalla libreria di assistenza Wearable ad AndroidX. Questa API fornisce un sottoinsieme dei dati disponibili tramite CalendarContract, ma viene sincronizzata automaticamente con i dispositivi indossabili. (I6f2d7)

Correzioni di bug

  • Disattivare la funzionalità di chiusura del pulsante Indietro per impostazione predefinita in Dismissible FrameLayout, poiché lo scorrimento per chiudere rimane il modo principale per tornare indietro a uno schermo intero sui dispositivi indossabili (Ic24e3)
  • Sono stati corretti alcuni problemi relativi alla gestione della visibilità dei componenti secondari in WearArcLayout (Icf912)

Versione 1.2.0-alpha05

13 gennaio 2021

androidx.wear:wear:1.2.0-alpha05 viene rilasciato. La versione 1.2.0-alpha05 contiene questi commit.

Correzioni di bug

  • Aggiorna la documentazione Javadoc della classe AmbientModeSupport per fornire snippet di esempio che dimostrino meglio l'utilizzo generale di questa classe.

Versione 1.2.0-alpha04

16 dicembre 2020

androidx.wear:wear:1.2.0-alpha04 viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.

Modifiche all'API

  • Nella classe AmbientModeSupport è stato aggiunto il supporto per indicare che un'attività può essere "ripristinata automaticamente" quando il dispositivo esce dalla modalità Ambient. Questa funzionalità era precedentemente disponibile nella classe WearableActivity deprecata della libreria WearableSupportLibrary. (I336ab)
  • Attività in corso
    • Ora la categoria può essere impostata durante la creazione di un'attività continua, ad esempio OngoingActivitiy.Builder.getCategory(String)
    • Ora OngoingActivityData contiene il timestamp della creazione di OngoingActivity: OngoingActivityData.getTimestamp()
    • (I91cb4)
  • È stato aggiunto il supporto per l'impostazione dei margini sugli elementi secondari di WearArcLayout modificando i parametri di layout in modo che estendano MarginLayoutParams, ovvero WearArcLayout.LayoutParams estende android.view.ViewGroup.MarginLayoutParams. (I2cd88)
  • Modifica il tipo di ancoraggio predefinito di WearCurvedTextView in WearArcLayout.ANCHOR_CENTER (in precedenza WearArcLayout.ANCHOR_START). In questo modo, il contratto tra il layout ad arco e il testo curvo è semplificato, poiché per impostazione predefinita il testo curvo viene visualizzato al centro in alto rispetto all'asse x e il layout ad arco principale può ruotarlo dove deve essere. (I105ff)

Versione 1.2.0-alpha03

2 dicembre 2020

androidx.wear:wear:1.2.0-alpha03 viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.

Nuove funzionalità

Un nuovo contenitore di layout DismissibleFrameLayout, che gestisce la chiusura con il pulsante Indietro e/o con uno scorrimento, da utilizzare all'interno di un'attività. È necessario aggiungere almeno un ascoltatore per eseguire un'azione di dismissione. In genere, un ascoltatore rimuove una vista contenitore o un frammento dall'attività corrente. setSwipeDismissible(boolean) e setBackButtonDismissible(boolean) sono forniti per il controllo diretto delle funzionalità. Questo nuovo layout è destinato a sostituire SwipeDismissFrameLayout esistente.

I widget curvi ora gestiscono gli eventi touch. I widget normali all'interno di un layout WearArc riceveranno tutti gli eventi tocco, mappati allo spazio delle coordinate. WearCurvedTextView (all'interno di un WearArcLayout o meno) può impostare i gestori onClick e onLongClick.

Le classi di attività in corso ora sono VersionedParcelables anziché utilizzare la serializzazione/deserializzazione personalizzata. L'icona statica e lo scopo tocco sono ora obbligatori.

Modifiche all'API

  • L'attributo "sweepDegrees" per WearCurvedTextView è separato in minSweepDegrees e maxSweepDegrees per offrire un layout più flessibile di questo widget.

Versione 1.2.0-alpha02

11 novembre 2020

androidx.wear:wear:1.2.0-alpha02 viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.

Questa release aggiunge per la prima volta una nuova "API Attività in corso". Questa API può essere utilizzata dagli sviluppatori per segnalare che è in corso un'attività di lunga durata, ad esempio un esercizio fisico o una sessione di riproduzione di contenuti multimediali. Consente agli sviluppatori di fornire aggiornamenti periodici dello stato, ad esempio "distanza e tempo di corsa" o "brano in riproduzione corrente", da visualizzare sul quadrante o nell'app launcher. Questa funzionalità è destinata ai dispositivi futuri con la funzionalità Attività in corso attivata.

Modifiche all'API

  • Nuova API per le attività in corso, non viene eseguita su "dispositivi non supportati". (I69a31)

Versione 1.2.0-alpha01

28 ottobre 2020

androidx.wear:wear:1.2.0-alpha01 viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto il componente WearCurvedTextView per scrivere facilmente testo curvo seguendo la curvatura del cerchio più grande che può essere inscritto nella visualizzazione. Un esempio di utilizzo:
<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"
/>

Un esempio di testo curvo in Android Wear

  • È stato aggiunto il contenitore WearArcLayout per disporre i relativi elementi secondari uno per uno su un arco in senso orario o antiorario. I relativi elementi secondari possono essere widget Android standard o widget "curvi" che implementano l'interfaccia ArcLayoutWidget. Un esempio di utilizzo:
<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>

Un esempio di testo ad arco in Android Wear

(I536da)

Wear-Input 1.2

Versione 1.2.0-alpha02

29 settembre 2021

androidx.wear:wear-input:1.2.0-alpha02 e androidx.wear:wear-input-testing:1.2.0-alpha02 vengono rilasciati. La versione 1.2.0-alpha02 contiene questi commit.

Modifiche all'API

  • Il valore disallowEmoji è stato rinominato in setEmojisAllowed in WearableRemoteInputExtender per impostare se mostrare o meno l'opzione per disegnare emoji. (I28393)

Versione 1.2.0-alpha01

15 settembre 2021

androidx.wear:wear-input:1.2.0-alpha01 e androidx.wear:wear-input-testing:1.2.0-alpha01 vengono rilasciati. La versione 1.2.0-alpha01 contiene questi commit.

Modifiche all'API

  • Sono state esposte tutte le costanti di posizione dei pulsanti da WearableButtons. (Ibb12c)
  • È stata aggiunta la classe WearableRemoteInputExtender che può essere utilizzata per aggiungere extra specifici per Wear ad android.app.RemoteInput. (I01903)

Wear-Input 1.1.0

Versione 1.1.0

18 agosto 2021

androidx.wear:wear-input:1.1.0 e androidx.wear:wear-input-testing:1.1.0 vengono rilasciati. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • RemoteInputIntentHelper aggiunto.
    • Questa classe può essere utilizzata per creare un'intenzione RemoteInput. che può essere utilizzato per richiedere un input agli utenti in un'attività personalizzabile.

Versione 1.1.0-rc01

4 agosto 2021

androidx.wear:wear-input:1.1.0-rc01 e androidx.wear:wear-input-testing:1.1.0-rc01 vengono rilasciati. La versione 1.1.0-rc01 contiene questi commit.

Nessuna modifica all'API da androidx.wear:wear-input:1.1.0-beta01 e androidx.wear:wear-input-testing:1.1.0-beta01

Versione 1.1.0-beta01

21 luglio 2021

androidx.wear:wear-input:1.1.0-beta01 e androidx.wear:wear-input-testing:1.1.0-beta01 vengono rilasciati senza modifiche dal giorno 1.1.0-alpha03. La versione 1.1.0-beta01 contiene questi commit.

Versione 1.1.0-alpha03

30 giugno 2021

androidx.wear:wear-input:1.1.0-alpha03 e androidx.wear:wear-input-testing:1.1.0-alpha03 vengono rilasciati. La versione 1.1.0-alpha03 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug che causava il rifiuto degli intent RemoteInput a cui erano stati aggiunti RemoteInput tramite RemoteInputHelper.putRemoteInputsExtra.

Versione 1.1.0-alpha02

18 maggio 2021

androidx.wear:wear-input:1.1.0-alpha02 e androidx.wear:wear-input-testing:1.1.0-alpha02 vengono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.

Modifiche all'API

  • I metodi di RemoteInputIntentHelper utilizzati per ottenere o inserire extra che rappresentano le etichette di titolo, annullamento, conferma e in corso ora utilizzano CharSequence anziché String per queste etichette. (I0e71f)

Versione 1.1.0-alpha01

27 gennaio 2021

androidx.wear:wear-input:1.1.0-alpha01 e androidx.wear:wear-input-testing:1.1.0-alpha01 vengono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.

Modifiche all'API

  • Esegui la migrazione della classe RemoteInputIntent dalla libreria Wearable Support Library ad AndroidX. La classe di cui è stata eseguita la migrazione viene rinominata in RemoteInputIntentHelper e fornisce funzioni di supporto per gli input remoti tramite l'avvio di uno scopo. (I47cee)

Wear-Input 1.0.0

Versione 1.0.0

2 dicembre 2020

androidx.wear:wear-input:1.0.0 e androidx.wear:wear-input-testing:1.0.0 vengono rilasciati. La versione 1.0.0 contiene questi commit.

Questa release è identica a 1.0.0-rc01.

Funzionalità principali della versione 1.0.0

  • Migrazione della funzionalità WearableButtons dalla libreria di supporto per dispositivi indossabili a Jetpack.

  • È stato aggiunto androidx.wear.input.test.TestWearableButtonsProvider che implementa androidx.wear.input.WearableButtonsProvider per facilitare il test delle applicazioni sviluppate con la libreria androidx.wear:wear-input.

Versione 1.0.0-rc01

11 novembre 2020

androidx.wear:wear-input:1.0.0-rc01 e androidx.wear:wear-input-testing:1.0.0-rc01 vengono rilasciati. La versione 1.0.0-rc01 contiene questi commit.

Questa release è identica a 1.0.0-beta01.

Versione 1.0.0-beta01

28 ottobre 2020

androidx.wear:wear-input:1.0.0-beta01 e androidx.wear:wear-input-testing:1.0.0-beta01 vengono rilasciati senza modifiche dal giorno 1.1.0-alpha01. La versione 1.0.0-beta01 contiene questi commit.

Wear-Input-Testing versione 1.0.0-alpha01

14 ottobre 2020

androidx.wear:wear-input-testing:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.

Modifiche all'API

  • È stato aggiunto androidx.wear.input.test.TestWearableButtonsProvider che implementa androidx.wear.input.WearableButtonsProvider per facilitare il test delle applicazioni sviluppate con la libreria androidx.wear:wear-input. (I0ed0c)

Wear-Input versione 1.0.0-alpha01

2 settembre 2020

androidx.wear:wear-input:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

Migrazione della funzionalità WearableButtons dalla libreria di supporto per dispositivi indossabili a Jetpack. Ulteriore supporto per i test verrà fornito nella libreria androidx.wear:wear-input-testing nella prossima release di Jetpack.

Versione 1.1.0

Versione 1.1.0

14 ottobre 2020

androidx.wear:wear:1.1.0 viene rilasciato. La versione 1.1.0 contiene questi commit.

Modifiche principali dalla versione 1.0.0

  • È stato aggiunto un prefisso layout_ all'attributo boxedEdges (ora layout_BoxedEdges) per BoxInsetLayout in modo da rispettare la convenzione di denominazione di Android. In questo modo, l'errore del lint in Android Studio per questi attributi verrà rimosso. (I4272f)
  • È stato aggiunto EXTRA_ANIMATION_DURATION_MILLIS facoltativo a ConfirmationActivity per consentire la durata di visualizzazione della finestra di dialogo di conferma. (adb83ce, b/143356547)
  • È stato aggiornato WearableActionDrawView per ritardare l'inflazione del riquadro a scomparsa delle azioni fino alla prima apertura del riquadro. (I01026, b/163870541)

Versione 1.1.0-rc03

2 settembre 2020

androidx.wear:wear:1.1.0-rc03 viene rilasciato. La versione 1.1.0-rc03 contiene questi commit.

Correzioni di bug

  • È stato risolto il problema relativo alla mancata visualizzazione dei contenuti del riquadro laterale delle azioni quando viene aperto. (I01026, b/163870541)

Versione 1.1.0-rc02

24 giugno 2020

androidx.wear:wear:1.1.0-rc02 viene rilasciato. La versione 1.1.0-rc02 contiene questi commit.

Correzioni di bug

  • È stato aggiunto un prefisso layout_ all'attributo boxedEdges (ora layout_boxedEdges) per BoxInsetLayout in modo da rispettare la convenzione di denominazione di Android. In questo modo, l'errore del lint in Android Studio per questi attributi verrà rimosso.

Versione 1.1.0-rc01

14 maggio 2020

androidx.wear:wear:1.1.0-rc01 viene rilasciato senza modifiche dal giorno .1.0-beta01. La versione 1.1.0-rc01 contiene questi commit.

Versione 1.1.0-beta01

29 aprile 2020

androidx.wear:wear:1.1.0-beta01 viene rilasciato senza modifiche dal giorno androidx.wear:wear:1.1.0-alpha01. La versione 1.3.0-beta01 contiene questi commit.

Versione 1.1.0-alpha01

15 aprile 2020

androidx.wear:wear:1.1.0-alpha01 viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.

Modifiche all'API

  • È stato aggiunto EXTRA_ANIMATION_DURATION_MILLIS facoltativo a ConfirmationActivity per consentire la durata di visualizzazione della finestra di dialogo di conferma. (adb83ce, 134523c, b/143356547)

Correzioni di bug

  • È stato aggiornato WearableActionDrawView per ritardare l'inflazione del riquadro a scomparsa delle azioni fino alla prima apertura del riquadro. (5cd32f7)