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-alpha04
indossa interazioni-remote 1.0.0 1.1.0-rc01 - -
Questa libreria è stata aggiornata l'ultima volta il 16 ottobre 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

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

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

  • Centra l'icona ConfirmationOverlay verticalmente quando non ci sono messaggi. (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 alle API

  • Esegui la migrazione di AmbientModeSupport per utilizzare LifecycleObserver. Ritiriamo AmbientModeSupport in favore dei nuovi classi attenti al 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 le ponderazioni di espansione, che funzionano in modo simile ai normali pesi del layout. Ciò significa che puoi specificare le dimensioni relative degli elementi secondari senza dover calcolare direttamente i relativi angoli. Abbiamo anche aggiunto un criterio MaxAngleDegrees che viene rispettato quando si espandono gli elementi secondari con ponderazioni. Ad esempio, puoi bloccare l'arco con diversi elementi secondari con pesi a 90 gradi, in questo modo viene rispettato anche lo spazio occupato da tutti gli 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 dispone di setSweepAngleDegrees, che consente a ArcLayout di informare un widget con una ponderazione diversa da zero delle 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

Viene rilasciato androidx.wear:wear:1.3.0-alpha01. 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 Onlaunch &Interactions versione 1.1.0

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

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

Versione 1.1.0-alpha02

10 gennaio 2024

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

Modifiche alle API

  • Abbiamo aggiunto RemoteActivityHelper.isRemoteActivityHelperAvailable, che aiuta a verificare se è disponibile la funzionalità per avviare un'attività remota. (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

Viene rilasciato androidx.wear:wear-phone-interactions:1.1.0-alpha03. 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

  • Proprietà redirectUrl aggiunta a OAuthRequest. (I98840, Ie684d)

Wear Onending &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 attuale, da utilizzare solo su dispositivi indossabili.
  • API BridgingManager, BridgingManagerService e BridgingConfig per attivare/disattivare le notifiche in fase di runtime e, facoltativamente, impostare i tag per le notifiche esenti dalla modalità ponte.
  • 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, che fornisce funzioni helper 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

Vengono rilasciate le versioni androidx.wear:wear-phone-interactions:1.0.0-rc01 e androidx.wear:wear-remote-interactions:1.0.0-rc01. 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 completato il suo Future se non ci fossero nodi connessi o se il nodeId richiesto non era stato trovato (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. 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 - Versione in corso 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 alle 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

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

Wear-Phone-Interactions versione 1.0.0-alpha06

21 luglio 2021

Viene rilasciato androidx.wear:wear-phone-interactions:1.0.0-alpha06. 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 nel costruttore per BridgingConfig.Builder.

Wear-On Playing 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 di setCategory migliorata (Iff01f)

Wear-Ongoing versione 1.0.0-alpha05

18 maggio 2021

Viene rilasciato androidx.wear:wear-ongoing:1.0.0-alpha05. 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 presi dalla notifica associata). (Id8ac8)

    • Il nuovo corso Status viene ora utilizzato 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 da Wearable Support Library ad AndroidX. Questa classe migrata è stata rinominata RemoteAuthClient e offre supporto per l'autenticazione remota sugli indossabili e per l'aggiunta dell'estensione OAuth PKCE. Vengono forniti gestori e classi helper 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 assistenza Wear ad AndroidX e aggiungi il supporto per l'estensione OAuth PKCE (I3eaaa)

Wear-Remote-Interactions versione 1.0.0-alpha02

10 marzo 2021

Viene rilasciato androidx.wear:wear-remote-interactions:1.0.0-alpha02. 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

Vengono rilasciate le versioni androidx.wear:wear-ongoing:1.0.0-alpha02 e androidx.wear:wear-phone-interactions:1.0.0-alpha02. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche all'API

  • È stato aggiunto il supporto per uno stato più complesso. 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 di un generatore per creare stati più complessi. (I1fe81)
  • Sposta le classi BridgingManager e BridgingConfig dalla libreria di assistenza Wear ad AndroidX, che fornisce le API per attivare/disattivare le notifiche in fase di runtime e, se vuoi, impostare i tag per le notifiche esenti dalla modalità ponte. (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 che contenga corsi che supportano le interazioni tra indossabili e telefoni. Inizialmente, include i corsi di cui è stata eseguita la migrazione dalla libreria di supporto per gli 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)

Complicazioni e quadrante di Wear 1.0.0

Versione 1.0.0-alpha22

15 settembre 2021

Viene rilasciato androidx.wear:wear-*:1.0.0-alpha22. 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 alle 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 la trasmissione dell'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

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

Modifiche alle 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)
  • I ComplicationSlots sono ora inizializzati con NoDataComplicationData, ComplicationSlot.complicationData ora ha sempre un valore e CanvasComplicationDrawable.complicationData non è più annullabile. (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

Viene rilasciato androidx.wear:wear-*:1.0.0-alpha20. 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 costruire un ComplicationDataSourceUpdateRequester concreto 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 dei limiti alla dimensione massima dei cavi 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 i costruttori che richiedono ID StringResource. (I8537b)
  • CurrentUserStyleRepository.UserStyleChangeListener ora supporta la conversione da 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 RemoteEccezioni sono stati 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)
  • Ora EditorSession è un'interfaccia e ListenableEditorSession.commitChangesOnClose è ora correttamente delegato. (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 alle 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 passo per rendere CanvasComplication stateless. 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 a supporto di EditorSession anziché agire sull'istanza interattiva. In questo modo è possibile richiamare l'editor per un quadrante diverso da quello attuale. (I0a820)
  • Abbiamo aggiunto un WatchFaceMetadataClient sperimentale che consente il recupero efficiente dei metadati statici del quadrante, come UserStyleSchema e dettagli corretti su 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 è esposta 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 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 maggiore 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 Runnable. Queste funzioni sono necessarie solo se devi effettuare chiamate GL al di fuori di render, runBackgroundThreadGlCommands e onUiThreadGlSurfaceCreated. Questa operazione è necessaria perché nello stesso processo possono esserci più GlesRenderer, ognuno con i propri contesti, potenzialmente da quadranti diversi. Inoltre, ora è sincronizzato l'accesso al contesto GL attuale condiviso. (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 organizzazione in thread e alla risoluzione di altri problemi relativi all'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)
  • Correggi la corsa durante l'accesso a complicationsManager.watchState (b/189457893)
  • Correzione del bug relativo alla durata del thread in background (b/189445428)
  • Risolvere i problemi relativi all'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 costruzione 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 facilitare questa operazione, l'API WatchFaceService ha dovuto cambiare con due nuovi metodi: createUserStyleSchema e createComplicationsManager, i cui risultati vengono passati in createWatchFace. Inoltre, le complicazioni ora vengono create con CanvasComplication Fabbrica, che consente la creazione lazy dei renderer CanvasComplication. (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. Tra la costruzione e il rendering c'è una barriera di memoria, quindi non sono necessarie primitive di thread 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 impostato EditorSession.createOnWatchEditingSession generando un TimeoutAnnullationException 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 altri extra restituiti dal selettore del provider.
  • 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

Viene rilasciato androidx.wear:wear-*:1.0.0-alpha13. 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 trasmesso 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 dall'API pubblica che si trovano in android.support.wearable.complications e creato wrapper corrispondenti in AndroidX dove 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 del rendering e onGlContextCreated e, poiché potrebbe esserci sia un contesto interattivo che un contesto headless, è 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

Viene rilasciato androidx.wear:wear-*:1.0.0-alpha12. 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. È disponibile un nuovo elemento in evidenza, facoltativo, pensato per essere opaco sulla parte superiore del quadrante con una trasparenza alfa (le API per gli screenshot possono eseguire questa operazione al posto tuo oppure fornire autonomamente l'evidenziazione 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 obbligatori i campi contentDescription di PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder e SmallImageComplicationData.Builder nel 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 delle evidenziazioni per gli stili nonché di tutte le complicazioni o di una singola complicazione. Inoltre, CanvasRenderer e GlesRenderer presentano un nuovo metodo renderHighlightlayer astratto per eseguire il rendering di qualsiasi evidenziazione richiesta 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. Gli hit test non sono supportati all'interno degli 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 dimensione 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

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

Nuove funzionalità

  • È stato applicato un nuovo look alle API dei quadranti. 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 all'API pubblica una classe UserStyleData 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 enum dei livelli sono stati rinominati per maggiore chiarezza. Layer#TOP_LAYER è diventato Layer#COMPLICATIONS_OVERLAY e Layer#BASE_LAYER è diventato Layer#BASE (Ia144e)
  • UserStyleListener è stato rinominato in UserStyleChangeListener (I18524)
  • UserStyleRepository è stato rinominato in CurrentUserStyleRepository (I6ea53)
  • InteractiveWatchFaceWcsClient.updateInstance è stato rinominato 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 nella mappa (di solito) più di una complicazione. (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 gli smartwatch e gli smartwatch, 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ù annullabile. (ID52bb)
  • EditorSession.launchComplicationProviderChooser è stato rinominato 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 alle API

  • IdAndComplicationData è stato un po' imbarazzante 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)
  • Al momento Complication.complicationConfigExtras non è possibile impostare valori null 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 modificare la posizione di una complicazione, puoi farlo tramite ComplicationsUserStyleSetting. (Ibd9e5)
  • ComplicationsManager.TapCallback.onComplicationSingleTapped è stato rinominato in onComplicationTapped. (I3a55c)
  • ComplicationOutlineRenderer.drawComplicationSelectOutline è stato rinominato 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 updateInstance più potente che: modifica l'ID istanza, imposta lo stile e cancella le complicazioni contemporaneamente.

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 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 eseguito il refactoring di EditorResult in favore di un nuovo EditorService e EditorSession.broadcastState() per trasmettere gli aggiornamenti in streaming a un osservatore (di solito SysUI). (Ic4370)
  • Alcuni quadranti sono basati su una complicazione specifica che è parte integrante del quadrante e il cui fornitore non è configurabile dall'utente. A supporto di ciò, abbiamo aggiunto Complication.Builder#setFixedComplicationProvider. (I4509e)
  • EditorRequest ora specifica il nome del pacchetto anziché ComponentName perché era scomodo per SysUI cercare il nome della classe dell'editor e in realtà abbiamo bisogno solo del 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 dell'UI in attesa di IO. Analogamente, wear-watchface-editor e wear-complications-data

Modifiche all'API

  • Rimuovi la classe PhotoImage e utilizza direttamente Icon. (I8a70b)
  • Esponi il valore validTimeRange 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. Seguire i wrapper compatibili con Rx java e Future. (If3c5f).
  • ProviderInfoRetriever ora genera PreviewNotAvailableException se requestPreviewComplicationData non può restituire dati di anteprima a causa di problemi di connessione o della mancanza del supporto 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 avresti dovuto bloccare il thread principale. (If076a)
  • UserStyle ora dispone di un operatore array e abbiamo aggiunto helper di trasmissione a UserStyle.Option. (I35036)
  • Abbiamo corretto un bug di marshalling con i formati wireless UserStyle, modificando 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 ignorano 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. A supporto di ciò, ora Permettiamo che InstancID sia nullo. (Id8b78)
  • EditorRequest ora include il nome del componente dell'editor, impostato come componente in WatchFaceEditorContract.createIntent (I3cd06)
  • L'EditorResult per il quadrante ora include l'anteprima ComplicationData per consentire al chiamante 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. A supporto di ciò, abbiamo aggiunto ProviderInfoRetriever.requestPreviewComplicationData che consente agli editor dei quadranti di richiedere l'anteprima dei ComplicationData. 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

  • Ora ComplicationProviderInfo ha un campo per ComponentName del provider; il supporto per questo campo verrà aggiunto a WearOS in un secondo momento; nel frattempo, il campo sarà null. (Id8fc4)
  • Abbiamo aggiunto ProviderInfoRetriever.requestPreviewComplicationData che consente agli editor dei quadranti di richiedere i dati di anteprima delle complicazioni. Ciò è utile perché le complicazioni in tempo reale potrebbero richiedere autorizzazioni e ora puoi visualizzare i dati di anteprima per le complicazioni non attive. (I2e1df)
  • Ora ComplicationManager è 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 lancerà 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 abilitato 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 richiamando setEnabled(false) sul builder. Queste impostazioni possono essere attivate in un secondo momento tramite ComplicationsUserStyleSetting.

Modifiche all'API

  • Ora ComplicationHelperActivity accetta Collection<ComplicationType> anziché un array Int, 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 è true 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 aggrega un Map<ComplicationType, RectF> per supportare le dimensioni dei tipi di complicazione. (I1ebe7)
  • RenderParameters ora ti 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 del metodo "bingAttentionToComplication" 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 TimeDependentText nascosta non è più esposta tramite ContentDescriptionLabel, ma aggiungiamo una funzione di accesso per ottenere 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 stabilire se il rendering di un elemento deve essere eseguito alla data e ora specificata. (Ic0e2a).
  • Il campo SharedMemoryImage vuoto non è più nell'API pubblica. (I7ee17)
  • WatchFace.overridePreviewReferenceTimeMillis ora ha un'annotazione IntRange e i metodi getter e 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. Questo può aiutare a preservare la durata della batteria dormendo quando non si anima. (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 separata. 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 è aggregato correttamente ed è stata eseguita la migrazione degli utilizzi del supporto indossabile @ComplicationData.ComplicationType ad Androidx ComplicationType. (I4dd36)
  • Aggiungi un parametro highlightedComplicationId facoltativo a RenderParameters per richiedere l'evidenziazione di una singola complicazione negli screenshot. (I66ce9)
  • ComplicationProviderService per utilizzare la nuova API di complicazione dello stile per garantire coerenza (Id5aea)
  • Ora getPreviewReferenceTimeMillis ottiene 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, rinominandolo per maggiore chiarezza. (Ibe880)

Correzioni di bug

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

Versione 1.0.0-alpha01

28 ottobre 2020

Vengono rilasciate le versioni androidx.wear:wear-complications-*:1.0.0-alpha01 e androidx.wear:wear-watchface-*:1.0.0-alpha01. 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 la 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 è evitare di utilizzare Protected, in modo che questa classe sia stata sottoposta a refactoring in modo da acquisire i parametri tramite il costruttore. (I61644)
  • Rinomina setBackgroundComplication per maggiore chiarezza. (I96fe3)
  • Utilizza le proprietà Kotlin per isHighlighted e data di ComplicationDrawable (I4dcc8)
  • Al posto di ComplicationRenderer.InvalidateCallback aggiungiamo Complication#invalidate() (I4f4c6)
  • Queste API sono in fase di ritiro in WearableSupport e sono state rimosse qui. (Ib425c)
  • Sono stati rinominati alcuni metodi del builder di WatchFace per enfatizzare la loro natura legacy 2.0. (Idb775)
  • Prima API beta candidata per l'uso di dispositivi Wear/wear-watch (Id3981)
  • Prima versione monitorata dell'API. (Ie9fe6)
  • Nascondi correttamente ComplicationDrawable.BorderStyle IntDef e passa 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 complicazioni di usura-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. 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 intende sostituire l'esistente passare il nostro layout.

  • 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 di 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 il bug che causava l'arresto anomalo di ConfirmationActivity se non è stato fornito alcun messaggio. (Ie6055)

  • È stato corretto il bug per cui la funzione RecyclerView con scorrimento orizzontale causava la visualizzazione di WearableDrawerLayout in 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 alle 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

Viene rilasciato androidx.wear:wear:1.2.0-alpha11. 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 quella di TextView), per impostare il carattere tipografico del testo e lo stile 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 hanno il nome che inizia con VERTICAL_ALIGN_ (anziché le VALIGN_ precedenti)
  • Il giorno CurvedTextView, i metodi setMinSweepDegrees e setMaxSweepDegrees sono stati sostituiti da setSweepRangeDegrees (I7a9d9)

Versione 1.2.0-alpha08

5 maggio 2021

Viene rilasciato androidx.wear:wear:1.2.0-alpha08. 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

Viene rilasciato androidx.wear:wear:1.2.0-alpha07. 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 da Wearable Support Library 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

Viene rilasciato androidx.wear:wear:1.2.0-alpha05. 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

  • È stato aggiunto il supporto per indicare che un'attività può essere "ripresa automaticamente" quando il dispositivo lascia la modalità Ambient nella classe AmbientModeSupport. Questa funzionalità era precedentemente disponibile nella classe WearableActivity deprecata di WearableSupportLibrary. (I336ab)
  • Attività in corso
    • Ora è possibile impostare la categoria durante la creazione di un'attività On Zing, ad esempio OngoingActivitiy.Builder.getCategory(String)
    • Ora OnVaiActivityData è presente un timestamp che indica la data di creazione dell'Attività di OnVai: 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)
  • Imposta il tipo di ancoraggio predefinito di WearCurvedTextView su WearArcLayout.ANCHOR_CENTER (era WearArcLayout.ANCHOR_START). Questo semplifica il contratto tra il layout dell'arco e il testo curvo, in quanto per impostazione predefinita il testo curvo viene tracciato con il centro x in alto e il layout dell'arco principale può ruotarlo dove necessario. (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, destinato all'utilizzo 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 intende sostituire l'esistente passare il nostro layout.

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

Le classi di attività in corso sono ora disponibili con più versioni invece di utilizzare serializzazione/deserializzazione personalizzate. L'icona statica e lo scopo tocco sono ora obbligatori.

Modifiche alle 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.

In questa release è stata aggiunta 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 sullo stato, ad esempio "distanza e tempo di corsa" o "traccia attuale in riproduzione", da mostrare sul quadrante o in Avvio app. 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 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 "curvi" che implementano l'interfaccia ArcLayoutWidget. 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

Vengono rilasciate le versioni androidx.wear:wear-input:1.2.0-alpha02 e androidx.wear:wear-input-testing:1.2.0-alpha02. 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

Vengono rilasciate le versioni androidx.wear:wear-input:1.1.0-alpha03 e androidx.wear:wear-input-testing:1.1.0-alpha03. 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 elementi aggiuntivi 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

Vengono rilasciate le versioni androidx.wear:wear-input:1.1.0-alpha01 e androidx.wear:wear-input-testing:1.1.0-alpha01. La versione 1.1.0-alpha01 contiene questi commit.

Modifiche all'API

  • Esegui la migrazione della classe RemoteInputIntent da 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

Vengono rilasciate le versioni androidx.wear:wear-input:1.0.0-rc01 e androidx.wear:wear-input-testing:1.0.0-rc01. 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 rilasciate 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

Viene rilasciato androidx.wear:wear-input:1.0.0-alpha01. 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 al fine di rispettare la convenzione di denominazione 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 WearableActionDrawViewper 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 al fine di rispettare la convenzione di denominazione 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 alle 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)