Wear

Crea applicazioni per gli smartwatch Wear OS by Google.

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

Elemento Release stabile Candidato per la release Versione beta Alpha Release
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.1.0 - - -
wear-remote-interactions 1.1.0 - - 1.2.0-alpha01
Ultimo aggiornamento di questa raccolta: 2 luglio 2025

Dichiarazione di dipendenze

Per aggiungere una dipendenza a Wear, devi aggiungere il Repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli artefatti che ti servono 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.1.0"
    // Use to implement support for interactions between the Wearables and Phones
    implementation "androidx.wear:wear-remote-interactions:1.1.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.1.0")
    // Use to implement support for interactions between the Wearables and Phones
    implementation("androidx.wear:wear-remote-interactions:1.1.0")
}

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa libreria. 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 di Issue Tracker.

Wear Core versione 1.0

Versione 1.0.0-alpha01

29 maggio 2024

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

Modifiche alle API

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

Wear Tooling Preview versione 1.0

Versione 1.0.0

29 novembre 2023

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

Funzionalità della versione 1.0.0

  • Aggiungi WearDevices all'elenco dei dispositivi indossabili validi che possono essere utilizzati per le anteprime dell'interfaccia utente.

Versione 1.0.0-rc01

15 novembre 2023

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

Versione 1.0.0-beta01

18 ottobre 2023

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

Versione 1.0.0-alpha01

23 agosto 2023

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

Modifiche alle API

  • Aggiungi WearDevices all'elenco dei dispositivi indossabili 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 ritirata. La versione 1.4.0-alpha01 contiene questi commit.

Correzioni di bug

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

Wear versione 1.3

Versione 1.3.0

9 agosto 2023

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

Modifiche importanti dalla versione 1.2.0

  • Esegui la migrazione di AmbientModeSupport per utilizzare LifecycleObserver. Ritira AmbientModeSupport a favore delle nuove classi sensibili al ciclo di vita.
  • Aggiorna ConfirmationOverlay con nuove icone/layout, caratteri e metriche dei caratteri
  • SwipeDismissTransitionHelper è stato aggiornato per utilizzare una risorsa disegnabile di sfondo anziché un secondo View per correggere gli errori durante l'utilizzo di FragmentContainerView
  • L'animazione SwipeDismissFrameLayout è stata aggiornata per essere coerente con la piattaforma Wear e le implementazioni di Wear Compose.
  • Correzione del bug SwipeDismissFrameLayout per evitare la chiusura accidentale di frammenti con uno scorrimento verticale
  • ArcLayout ora supporta i pesi di espansione, che funzionano in modo simile ai normali pesi del layout.
  • Supporto di 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 ritirata. La versione 1.3.0-beta01 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

  • Aggiunta di controlli null per gestire i casi in cui la visualizzazione principale è null durante il ripristino di alpha e della traduzione in SwipeToDismiss. (Ib0ec7)

Versione 1.3.0-alpha05

19 aprile 2023

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

Modifiche alle API

  • Esegui la migrazione di AmbientModeSupport per utilizzare LifecycleObserver. Ritira AmbientModeSupport a favore delle nuove classi sensibili al ciclo di vita. (I1593b)

Correzioni di bug

  • Aggiorna l'approccio allo scrim di sfondo di SwipeDismissTransitionHelper per utilizzare risorse disegnabili anziché aggiungere la 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 ritirata. La versione 1.3.0-alpha04 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiornato l'animazione in SwipeDismissFrameLayout per renderla 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 ritirata. La versione 1.3.0-alpha03 contiene questi commit.

Nuove funzionalità

  • ArcLayout ora supporta i pesi 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 loro angoli. Abbiamo anche aggiunto un MaxAngleDegreesbest effort che viene rispettato quando si espandono gli elementi secondari con pesi. Ad esempio, puoi bloccare l'arco con diversi elementi secondari con pesi a 90 gradi, in modo da rispettare anche lo spazio occupato da eventuali elementi non espansi.

Modifiche alle API

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

Versione 1.3.0-alpha02

23 febbraio 2022

androidx.wear:wear:1.3.0-alpha02 viene ritirata. 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 ProGuard per garantire che il codice relativo all'ambiente venga mantenuto (Idaa10)
  • Evita la chiusura involontaria dei fragment in SwipeDismissFrameLayout con uno scorrimento verticale (Idb6d8)
  • Correggere ConfirmationOverlay quando non ha messaggi (I63e6f)

Contributo esterno

  • Dae Gyu LEE (Samsung) - Avoid accidentally dismissing of fragments in SwipeDismissFrameLayout with a vertical fling (Idb6d8)

Versione 1.3.0-alpha01

29 settembre 2021

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

Correzioni di bug

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

Wear-Remote-Interactions versione 1.2.0

Versione 1.2.0-alpha01

2 luglio 2025

androidx.wear:wear-remote-interactions:1.2.0-alpha01 viene ritirata. La versione 1.2.0-alpha01 contiene questi commit.

Nuove funzionalità

  • RemoteActivityHelper.startRemoteActivity è stato aggiornato per utilizzare una nuova API Wear SDK pubblica (startRemoteActivity) se disponibile (da Wear 6 in poi). (Id1e77)

Wear Ongoing & Interactions versione 1.1.0

Versione 1.1.0

26 febbraio 2025

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

Modifiche importanti dalla versione 1.0.0

  • Questa versione contiene una correzione di bug fondamentale per le app in esecuzione su Wear OS 5 (livello API 34) o versioni successive e che hanno come target il livello API 35 o versioni successive.
  • Le app devono essere aggiornate a questa versione della libreria prima di aggiornare il proprio targetSdkVersion alla versione 35 o successive.
  • In caso contrario, verrà generata un'eccezione di runtime.
  • È stata aggiunta una nuova definizione per il tipo di dispositivo accoppiato: none, quando il dispositivo non è accoppiato allo smartphone.

Versione 1.1.0-rc01

12 febbraio 2025

androidx.wear:wear-phone-interactions:1.1.0-rc01 viene rilasciato senza modifiche significative rispetto all'ultima versione beta. La versione 1.1.0-rc01 contiene questi commit.

Versione 1.1.0-beta01

29 gennaio 2025

androidx.wear:wear-phone-interactions:1.1.0-beta01 viene ritirata. La versione 1.1.0-beta01 contiene questi commit.

Nuove funzionalità

La release 1.1.0-beta01 di Wear Phone Interactions indica che questa release della libreria è completa e l'API è bloccata (tranne dove contrassegnata come sperimentale). Wear Phone Interactions 1.1 include le seguenti nuove funzionalità e API:

  • Aggiunta della proprietà redirectUrl a OAuthRequest.
  • Correzioni alla documentazione
  • Tipo aggiuntivo in PhoneTypeHelper per specificare quando il dispositivo non è accoppiato allo smartphone, anziché utilizzare il tipo sconosciuto esistente.

Modifiche alle API

  • È stata aggiunta una nuova definizione per il tipo di dispositivo accoppiato: nessuno, quando il dispositivo non è accoppiato allo smartphone. (I06cb8)

Versione 1.1.0-alpha05

11 dicembre 2024

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

Correzioni di bug

  • È stato corretto un bug di arresto anomalo durante l'esecuzione su Wear OS 5 (livello API 34) o versioni successive con target al livello API 35 o versioni successive. Le app devono essere aggiornate a questa versione della libreria prima di aggiornare il proprio targetSdkVersion alla versione 35 o successive.

Versione 1.1.0

11 dicembre 2024

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

Modifiche importanti dalla versione 1.0.0

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

Versione 1.1.0-rc01

16 ottobre 2024

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

Versione 1.1.0-beta01

24 luglio 2024

androidx.wear:wear-remote-interactions:1.1.0-beta01 viene ritirata. 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 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 ritirata. La versione 1.1.0-alpha04 contiene questi commit.

Modifiche alle API

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

Versione 1.1.0-alpha02

10 gennaio 2024

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

Modifiche alle API

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

Versione 1.1.0-alpha01

21 giu 2023

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

Correzioni di bug

  • È stato migliorato il modo in cui vengono gestiti il completamento e gli errori in RemoteActivityHelper. (I60d60)

Contributo esterno

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

Wear-Phone-Interactions versione 1.1.0-alpha03

9 marzo 2022

androidx.wear:wear-phone-interactions:1.1.0-alpha03 viene ritirata. 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 della richiesta specificato. (I44242)

Wear-Phone-Interactions versione 1.1.0-alpha02

15 dicembre 2021

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

Correzioni di bug

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

Wear-Phone-Interactions versione 1.1.0-alpha01

15 settembre 2021

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

Modifiche alle API

  • Aggiunta della proprietà redirectUrl a OAuthRequest. (I98840, Ie684d)

Wear Ongoing & Interactions versione 1.0.0

Wear-Phone-Interactions versione 1.0.1

15 dicembre 2021

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

Correzioni di bug

  • È stata generata un'eccezione 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 sono stati rilasciati. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

La libreria di interazione con lo smartphone contiene API per le interazioni dagli indossabili agli smartphone. Contiene quanto segue:

  • PhoneDeviceType, fornendo metodi helper 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 tag per le notifiche esenti dalla modalità bridging.
  • RemoteAuthClient, che fornisce il supporto per l'autenticazione remota sui dispositivi indossabili insieme al supporto per l'aggiunta dell'estensione OAuth PKCE. Vengono forniti gestori e classi helper aggiuntivi per la comunicazione.

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

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

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

1° settembre 2021

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

Correzioni di bug

  • Correzione del bug che impediva la propagazione al chiamante degli errori generati all'interno di Google Play Services quando si utilizzava RemoteActivityHelper (I60d60)
  • Correzione del bug per cui RemoteActivityHelper non completava mai il suo futuro se non erano presenti nodi connessi o se il nodeId richiesto non veniva trovato (I60d60)

Wear-Ongoing versione 1.1

Versione 1.1.0-alpha01

23 agosto 2023

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

Modifiche alle API

  • Aggiungi un campo di descrizione dei contenuti all'attività in corso. Queste informazioni verranno utilizzate dai servizi di accessibilità per descrivere l'attività in corso. (I79fc6)

Correzioni di bug

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

Wear-Ongoing versione 1.0.0

1° settembre 2021

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

Funzionalità principali della versione 1.0.0

  • L'API Wear Ongoing Activities è un'API per sviluppatori, inclusi quelli di terze parti, utilizzata per contrassegnare la propria attività come "Attività in corso" e fornire le informazioni necessarie.
  • Le attività in corso si riferiscono ad attività che potrebbero essere in esecuzione in background sullo smartwatch (ad es. allenamenti, chiamate e contenuti multimediali). Su Wear 3, un'attività dichiarata in corso verrà messa in evidenza tramite un'icona di overlay dedicata sul quadrante e un rendering diverso nel launcher delle app.
  • Per ulteriori informazioni, consulta la Guida all'attività continua 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 sono stati rilasciati. La versione 1.0.0-beta01 contiene questi commit.

Modifiche alle 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-Ongoing versione 1.0.0-rc01

18 agosto 2021

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

Wear-Ongoing versione 1.0.0-beta01

4 agosto 2021

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

Modifiche alle API

  • Alcuni setter in OngoingActivity.Builder ora accettano un argomento null per dare 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 ritirata. La versione 1.0.0-alpha07 contiene questi commit.

Modifiche alle API

  • WearTypeHelper.isChinaDevice rinominato in WearTypeHelper.isChinaBuild. (I47302)
  • Abbiamo aggiornato la libreria RemoteAuthClient per selezionare automaticamente redirect_uri in base al tipo di dispositivo (Resto del mondo/Cina). (I38866)
  • È stato corretto un bug che causava l'errore di conversione di BridgingConfig da/a Bundle con ClassCastException. Sono stati aggiunti test delle unità per la classe BridgingManagerService. (I68ecb)

Wear-Remote-Interactions versione 1.0.0-alpha06

4 agosto 2021

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

Wear-Phone-Interactions versione 1.0.0-alpha06

21 luglio 2021

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

Modifiche alle API

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

Correzioni di bug

  • Abbiamo reso più chiara l'API Authentication 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 ritirata. La versione 1.0.0-alpha05 contiene questi commit.

Correzioni di bug

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

Wear-Ongoing versione 1.0.0-alpha06

2 giugno 2021

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

Modifiche alle API

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

Correzioni di bug

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

Wear-Ongoing versione 1.0.0-alpha05

18 maggio 2021

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

Modifiche alle API

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

    • La nuova classe Status viene ora utilizzata per creare lo stato di 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 in avanti), 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 ritirata. La versione 1.0.0-alpha04 contiene questi commit.

Modifiche alle API

  • In OngoingActivity, i metodi fromExistingOngoingActivity ora vengono chiamati recoverOngoingActivity.
  • OngoingActivity ora dispone di un set completo di getter, lo stesso precedentemente disponibile 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 ritirata. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto la classe RemoteIntentHelper (in precedenza RemoteIntent nella libreria di supporto per dispositivi indossabili), che può essere utilizzata per aprire intent su altri dispositivi (ad es. 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 è uno smartphone 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 ritirata. La versione 1.0.0-alpha04 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

  • È stata corretta l'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 ritirata. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche alle API

  • È stato modificato PlayStoreAvailability in modo che sia una classe che contiene un oggetto complementare con metodi statici. L'utilizzo rimane invariato.

Correzioni di bug

  • È stato corretto il documento di riepilogo per WatchFaceConfigIntentHelper in modo da 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 sono stati rilasciati. La versione 1.0.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Esegui la migrazione di OAuthClient dalla libreria di supporto Wearable ad AndroidX. Questa classe di cui è stata eseguita la migrazione è stata rinominata RemoteAuthClient e supporta l'autenticazione remota sui dispositivi indossabili, oltre all'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 alle API

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

Wear-Remote-Interactions versione 1.0.0-alpha02

10 marzo 2021

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

Nuove funzionalità

  • Migrazione della classe PlayStoreAvailability dalla libreria di supporto 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 per dispositivi indossabili ad AndroidX. (I69bfe)

Versione 1.0.0-alpha02

10 febbraio 2021

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

Modifiche alle API

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

Versione 1.0.0-alpha01

27 gennaio 2021

androidx.wear:wear-ongoing:1.0.0-alpha01, androidx.wear:wear-phone-interactions:1.0.0-alpha01 e androidx.wear:wear-remote-interactions:1.0.0-alpha01 sono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.

Modifiche alle API

  • Esegui la migrazione della libreria Ongoing Activities a una nuova libreria secondaria: wear-ongoing. Le classi ora sono disponibili nel pacchetto androidx.wear.ongoing (in precedenza androidx.wear.ongoingactivities) (I7c029)

  • Crea una nuova libreria di supporto che contenga le classi che supportano le interazioni dagli indossabili agli smartphone. Inizialmente viene compilata con le classi migrate dalla libreria di supporto Wearable. (Id5180)

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

  • Crea una nuova libreria di supporto che contenga classi che supportano le interazioni tra indossabili e smartphone. Inizialmente viene compilata con le classi migrate dalla libreria di supporto per indossabili. (I9deb4)

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

Wear Complications e Watchface 1.0.0

Versione 1.0.0-alpha22

15 settembre 2021

androidx.wear:wear-*:1.0.0-alpha22 viene ritirata. 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à scompare.

Modifiche alle API

  • EditorSession e ListenableEditorSession ora utilizzano StateFlows 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 rileva onDestroy. Inoltre, createOnWatchEditorSession ora richiede solo il passaggio dell'attività. Sono state applicate modifiche identiche anche a ListenableEditorSession. (Ic6b7f)
  • Il costruttore di CustomValueUserStyleSetting è stato reintegrato nell'ambito dell'API pubblica. (I2e69a)
  • UserStyle ora eredita da Map<UserStyleSetting, UserStyleSetting.Option> e MutableUserStyleSetting#put genera IllegalArgumentException se l'impostazione non è nello schema o se l'opzione non corrisponde all'impostazione. (Iba40f)

Versione 1.0.0-alpha21

1° settembre 2021

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

Modifiche alle API

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

Versione 1.0.0-alpha20

18 agosto 2021

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

Modifiche alle API

  • Abbiamo aggiunto createFallbackPreviewData a ComplicationDataSourceInfo, che può essere utilizzato quando ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData restituisce null. (I38c4d)
  • ComplicationDataSourceUpdateRequester è stato trasformato in un'interfaccia per consentire la simulazione nei test unità. Puoi creare un oggetto ComplicationDataSourceUpdateRequester concreto con ComplicationDataSourceUpdateRequester.create(). (I7da22)
  • RenderParameters.pressedComplicationSlotIds è stato sostituito da RenderParameters.lastComplicationTapDownEvents, che espone la nuova classe TapEvent contenente una tripla 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)
  • Aggiunta annotazione di threading esplicito 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 in UserStyleSetting e Options. Questo è ora il modo consigliato per creare questi oggetti. (I03d5f)
  • Sono stati imposti limiti alle dimensioni massime del filo di uno schema UserStyle. Inoltre, le icone nello schema non devono superare le dimensioni 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 per le complicazioni attive 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 i costruttori UserStyleSetting che accettano CharSequence dall'API pubblica. Ti consigliamo di utilizzare invece i costruttori che richiedono ID StringResource. (I8537b)
  • CurrentUserStyleRepository.UserStyleChangeListener ora supporta la conversione SAM. (I85989)

Versione 1.0.0-alpha19

4 agosto 2021

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

Modifiche alle API

  • Abbiamo aggiunto ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient, che fornisce un wrapper ListenableFuture per WatchFaceMetadataClient.createWatchFaceMetadataClient. (I5fa37)
  • UserStyleOption.getOptionForId ora accetta UserStyleOption.Id anziché un array di byte. (I469be)
  • Fornisci le costanti BooleanOption.TRUE e BooleanOption.FALSE e non consentire la creazione di istanze (I46e09)
  • I metodi in wear-watchface-client che possono generare RemoteException sono ora annotati di conseguenza. (Ib8438)
  • Per coerenza, abbiamo rinominato EditorSession.createOnWatchEditingSession in createOnWatchEditorSession e createHeadlessEditingSession in createHeadlessEditorSession. Anche i wrapper guava sono stati rinominati. (I1526b)
  • EditorSession ora è un'interfaccia e ListenableEditorSession.commitChangesOnClose è delegato correttamente. (I7dc3e)
  • Ora rifiutiamo qualsiasi schema di stile utente che abbia 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 ritirata. 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 Provider nel nome sono stati rinominati in modo simile. (Iaef0b)
  • CanvasComplication.isHighlighted è stato spostato in RenderParameters.pressedComplicationSlotIds. Questo è un passo avanti verso la creazione di CanvasComplication senza stato. Per supportare questa modifica, CanvasComplication.render ora accetta anche slotId come parametro e ora passiamo ComplicationSlot a GlesTextureComplication. (I50e6e)
  • Abbiamo aggiunto headlessDeviceConfig a EditorRequest. Se non è null, questo parametro viene utilizzato per creare un'istanza headless per supportare EditorSession anziché agire sull'istanza interattiva. In questo modo, l'editor può essere richiamato per un quadrante diverso da quello attuale. (I0a820)
  • Abbiamo aggiunto un WatchFaceMetadataClient sperimentale che consente il recupero efficiente dei metadati statici del quadrante, come UserStyleSchema e dettagli fissi 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 un'anteprima dello screenshot al momento del commit con questo parametro. L'immagine di anteprima viene visualizzata 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 ritirata. La versione 1.0.0-alpha17 contiene questi commit.

Nuove funzionalità

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

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

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

Modifiche alle API

  • Per chiarezza, abbiamo rinominato Complication in ComplicationSlot e complicationId in complicationSlotId o complicationInstanceId a seconda dell'utilizzo. Anche le classi che utilizzano Complication sono state rinominate. Ad esempio, ComplicationsManager ora si chiama ComplicationSlotsManager. (I4da44)
  • In GlesRenderer makeUiThreadContextCurrent e makeBackgroundThreadContextCurrent sono stati sostituiti da runUiThreadGlCommands e runBackgroundThreadGlCommands, che accettano entrambi un Runnable. Queste funzioni sono necessarie solo se devi effettuare chiamate GL al di fuori del rendering, runBackgroundThreadGlCommands e onUiThreadGlSurfaceCreated. Questo è necessario perché possono esistere più GlesRenderer, ognuno con i propri contesti nello stesso processo, potenzialmente da quadranti diversi. Inoltre, l'accesso al contesto attuale della contabilità generale condivisa è ora sincronizzato. (I04d59)
  • Abbiamo aggiunto CanvasRenderer.uiThreadInit, che viene chiamato una volta su UiThread prima di qualsiasi chiamata di rendering. Inoltre, per maggiore chiarezza in GlesRenderer, abbiamo rinominato onGlContextCreated in onBackgroundThreadGlContextCreated e onGlSurfaceCreated in onUiThreadGlSurfaceCreated. (If86d0)
  • HeadlessWatchFaceClient e InteractiveWatchFaceClient getComplicationsSlotState è stato rinominato 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 ritirata. La versione 1.0.0-alpha16 contiene questi commit.

Nuove funzionalità

  • Abbiamo corretto una serie di bug relativi alle recenti modifiche al modello di threading e risolto altri problemi relativi all'editor dei quadranti.

Correzioni di bug

  • Impedisci NPE in onComplicationProviderChooserResult (b/189594557)
  • Risolvi i problemi relativi alle superfici obsolete e a drawBlack (b/189452267)
  • Correggi la race condition nell'accesso a complicationsManager.watchState (b/189457893)
  • Correzione del bug relativo alla durata del thread in background (b/189445428)
  • Correggi i problemi dell'editor di 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 ritirata. La versione 1.0.0-alpha15 contiene questi commit.

Nuove funzionalità

La maggior parte dell'inizializzazione del quadrante viene ora eseguita su un thread in background, ma dopo il caricamento, tutto il rendering del quadrante e così via viene eseguito su UiThread. Esiste una barriera di memoria tra il caricamento e il rendering, quindi la maggior parte dei quadranti non richiede interventi particolari. I quadranti che utilizzano GLES potrebbero essere un'eccezione, poiché il contesto è specifico del thread e creiamo due contesti collegati, quindi è possibile caricare risorse GL (ad es. texture e shader) sul thread in background e utilizzarle sul thread UI.

Abbiamo suddiviso la creazione dei quadranti in tre funzioni: createUserStyleSchema, createComplicationsManager e createWatchFace. Supponiamo che createUserStyleSchema e createComplicationsManager siano veloci e che createWatchFace possa richiedere un po' di tempo per caricare gli asset. Sfruttando questa funzionalità, abbiamo introdotto WatchFaceControlClient.getDefaultProviderPoliciesAndType, che restituisce una mappa degli ID complicazione alle DefaultComplicationProviderPolicies e al ComplicationType predefinito. È più veloce della creazione di un'istanza headless, in quanto non è necessario inizializzare completamente il quadrante per eseguire la query.

Infine, le complicazioni vengono ora create con una CanvasComplicationFactory che consente la creazione differita dei renderer CanvasComplication.

Modifiche alle API

  • @TargetApi sostituito con @RequiresApi. (I0184a, b/187447093, b/187447094)
  • Abbiamo introdotto WatchFaceControlClient.getDefaultProviderPoliciesAndType, che restituisce una mappa degli ID complicazione a DefaultComplicationProviderPolicies e il tipo di complicazione predefinito. Ove possibile, viene utilizzato un percorso rapido che evita la creazione completa di un quadrante. Per facilitare questa operazione, l'API WatchFaceService è stata modificata con l'aggiunta di due nuovi metodi: createUserStyleSchema e createComplicationsManager, i cui risultati vengono passati a createWatchFace. Inoltre, le complicazioni ora vengono create con una CanvasComplicationFactory che consente la creazione differita 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) viene ora chiamato su un thread in background per ogni complicazione prima dell'inizio del rendering del thread UI. Esiste una barriera di memoria tra la costruzione e il rendering, quindi non sono necessarie primitive di threading speciali. (Ia18f2)
  • La costruzione del quadrante viene ora eseguita su un thread in background, anche se tutto il rendering viene eseguito sul 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 di watchFace. (Id9f41)
  • EXPANSION_DP e STROKE_WIDTH_DP non sono più visibili in api.txt. (I54801)
  • Abbiamo modificato EditorSession.createOnWatchEditingSession in modo che generi TimeoutCancellationException in caso di errore anziché inviare una sessione nulla. Inoltre, il valore restituito di EditorRequest.createFromIntent e EditorSession.createOnWatchEditingSession è ora NonNull. (I41eb4)

Versione 1.0.0-alpha14

18 maggio 2021

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

Nuove funzionalità

  • EditorSession.openComplicationProviderChooser ora restituisce ChosenComplicationProvider, che contiene l'ID complicazione, ComplicationProviderInfo e un Bundle contenente eventuali extra aggiuntivi restituiti dal selettore del provider.
  • Inoltre, abbiamo eseguito la migrazione costante del codice a Kotlin e la maggior parte dell'API per i quadranti è ora definita in Kotlin.

Modifiche alle API

  • Le proprietà GlesRenderer eglContext e eglDisplay ora non sono nullabili. Ora gli errori GL 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 all'interno di EditorSession. (I37f14)
  • Abbiamo esteso il risultato di EditorSession.openComplicationProviderChooser per includere le informazioni restituite dall'opzione scelta. (Iead6d)

Wear Complications & Watchface versione 1.0.0-alpha13

5 maggio 2021

androidx.wear:wear-*:1.0.0-alpha13 viene ritirata. 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 ContentDescriptionLabels di accessibilità tramite la proprietà additionalContentDescriptionLabels del renderer. Inoltre, per controllare l'ordine di ContentDescriptionLabels, è stato aggiunto accessibilityTraversalIndex alle complicazioni. Può essere modificato da un'impostazione ComplicationsUserStyleSetting.

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

  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient ora genera ServiceStartFailureException se il quadrante genera un'eccezione durante l'inizializzazione, il che semplifica notevolmente la diagnosi dei problemi durante l'avvio del quadrante.

Modifiche alle API

  • Abbiamo aggiunto il supporto per un nome di componente nullo in ComplicationProviderInfo, necessario per supportare le versioni precedenti di Wear OS. (I744d2)
  • Abbiamo eseguito la migrazione di androidx.wear.complications.SystemProviders da Java a Kotlin. (Ia1f8b)
  • Abbiamo nascosto tutte le classi dell'API pubblica che si trovano in android.support.wearable.complications e abbiamo creato i wrapper corrispondenti in AndroidX, se necessario. (I7bd50)
  • Abbiamo rinominato il metodo in TimeDifferenceComplicationText.Builder da setMinimumUnit a setMinimalTimeUnit. (I20c64)
  • Abbiamo reso obbligatorio il campo ShortTextComplicationData.Builder, LongTextComplicationData.Builder e RangedValueComplicationData.Builder contentDescription da passare nel costruttore. (I8cb69)
  • Abbiamo rinominato ComplicationProviderService.onComplicationUpdate in onComplicationRequest e incapsulato i parametri id e type di questo metodo in data ComplicationRequest. Il listener corrispondente è stato rinominato in ComplicationRequestListener e il relativo metodo in ComplicationRequestListener.onComplicationData. (Iaf146)
  • Abbiamo rimosso il metodo isActiveAt da ComplicationData e abbiamo esposto il campo validTimeRange al suo posto. Questa chiamata di metodo può essere sostituita con validTimeRange.contains. (I65936)
  • Abbiamo modificato la descrizione del metodo ComplicationProviderService.onComplicationActivated per ricevere un ComplicationType anziché un intero. (Idb5ff)
  • È stato eseguito il porting di ProviderUpdateRequester da Java a Kotlin. (Ibce13)
  • GlesRender.makeContextCurrent è ora pubblico. Il codice del quadrante potrebbe dover effettuare chiamate gl al di fuori del rendering e di onGlContextCreated e, poiché potrebbero esistere un contesto interattivo e uno headless, è necessario chiamare questo metodo. (I8a43c)
  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient ora genera ServiceStartFailureException se il quadrante genera un errore 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 ContentDescriptionLabels per l'accessibilità tramite la proprietà additionalContentDescriptionLabels di Renderer. Oltre a controllare l'ordine di ContentDescriptionLabels, è stato aggiunto accessibilityTraversalIndex alle complicazioni. Può essere modificato da un'impostazione 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)

Wear Complications & Watchface versione 1.0.0-alpha12

21 aprile 2021

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

Nuove funzionalità

Gli editor dei quadranti devono evidenziare le parti del quadrante per comunicare quale aspetto di uno smartwatch viene configurato. Abbiamo esteso RenderParameters per consentire l'evidenziazione di stili e complicazioni. È disponibile un nuovo HighlightLayer facoltativo che deve essere applicato sopra il quadrante con trasparenza alfa (le API per gli screenshot possono eseguire questa applicazione o fornire HighlightLayer da solo per la massima flessibilità). Ad esempio, supponiamo di avere uno stile che ti consente di configurare l'aspetto delle lancette dell'orologio. Il renderer in renderHighlightLayer può disegnare un contorno intorno a loro.

Per incoraggiare il supporto del fornitore di complicazioni per l'accessibilità, abbiamo reso il campo contentDescription di PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder e SmallImageComplicationData.Builder un argomento del costruttore obbligatorio. Sono stati aggiunti ComplicationTapFilter e Complication.createEdgeComplicationBuilder per supportare le complicazioni perimetrali (disegnate intorno al bordo dello schermo). Il rendering e il test di hit delle complicazioni sui bordi vengono lasciati al quadrante. Il test dei colpi sul bordo non è supportato dall'editor companion.

Modifiche alle API

  • Aggiunto il prefisso PROVIDER_ alle costanti in SystemProviders. (I1e773)
  • Abbiamo reso obbligatorio il campo PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder e SmallImageComplicationData.Builder di contentDescription da passare nel costruttore. (I9643a)
  • ProviderInfoRetriever.requestPreviewComplicationData è stato rinominato in retrievePreviewComplicationData. (I911ee)
  • È stato eseguito il porting di ComplicationProviderService da Java a Kotlin. (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 dell'evidenziazione estesa. Ora è possibile richiedere il rendering delle evidenziazioni per gli stili, nonché per tutte le complicazioni o per una sola. Inoltre, CanvasRenderer e GlesRenderer hanno un nuovo metodo astratto renderHighlightLayer per 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 perimetrali. Il rendering e il test di hit delle complicazioni sui bordi vengono lasciati al quadrante. Il test degli hit non è supportato dagli editor. (Ia6604)
  • Per DoubleRangeUserStyleSetting e LongRangeUserStyleSetting: defaultValue, maximumValue e minimumValue ora sono proprietà Kotlin. Inoltre, sono state rimosse le funzioni UserStyleSetting.Option come toBooleanOption, toCoplicationOptions, toListOption e simili. (I52899)
  • Aggiungi le dimensioni del mento alle proprietà del dispositivo disponibili per il quadrante. (I76e1e)
  • Il costruttore di ComplicationHighlightRenderer ora accetta i parametri outlineExpansion e outlineStrokeWidth. (I87009)
  • ComplicationDrawable.getNoDataText ora fa parte dell'API pubblica. (I00598)

Versione 1.0.0-alpha11

7 aprile 2021

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

Nuove funzionalità

  • È stato applicato un ulteriore perfezionamento alle API dei quadranti. La maggior parte delle modifiche riguarda semplici ridenominazioni, ma InteractiveWatchFaceWcsClient e InteractiveWatchFaceSysUiClient sono stati uniti in InteractiveWatchFaceClient.

Modifiche alle API

  • ContentDescriptionLabel.text ora è un ComplicationText anziché il vecchio TimeDependentText della libreria di supporto per wearable. (I80c03)
  • Non è garantito che SystemProviders.GOOGLE_PAY sia presente su tutti i dispositivi Android R, pertanto è stato rimosso dall'elenco. È ancora possibile utilizzare questo fornitore tramite DefaultComplicationProviderPolicy (If01b5)
  • Abbiamo rinominato ComplicationUpdateCallback in ComplicationUpdateListener per coerenza. (I61ec7)
  • La mappa del formato wire UserStyle è stata modificata in Map<String, byte[]> e per comodità è stata aggiunta una classe UserStyleData all'API pubblica, che ora viene utilizzata da wear-watchface-client e wear-watchface-editor. Inoltre, CustomValueUserStyleSetting.CustomValueOption.value ora è byte[] anziché String. (Iaa103)
  • UserStyleSetting e UserStyleSetting.Option ora utilizzano rispettivamente UserStyleSetting.Id e UserStyleSetting.Option.Id per archiviare 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 divisione delle responsabilità (Iff3fa)
  • I valori enum dei livelli sono stati rinominati per maggiore chiarezza. Layer#TOP_LAYER è ora Layer#COMPLICATIONS_OVERLAY e Layer#BASE_LAYER è ora Layer#BASE (Ia144e)
  • UserStyleListener è stato rinominato in UserStyleChangeListener (I18524)
  • UserStyleRepository è stato rinominato in CurrentUserStyleRepository (I6ea53)
  • InteractiveWatchFaceWcsClient.updateInstance è stato rinominato in updateWatchfaceInstance. (I321dc)
  • Gli eventi WatchFace TapType sono stati rinominati per essere in linea con 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 hanno ClientDisconnectListener e isConnectionAlive() per consentirti di osservare se la connessione è interrotta per qualche motivo (ad es. la chiusura del quadrante). (Ie446d)
  • WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync ora è una funzione di sospensione ed è stata rinominata in getOrCreateInteractiveWatchFaceClient. (Ib745d)
  • EditorState.commitChanges e hasCommitChanges() è stato rinominato in shouldCommitChanges(). (I06e04)
  • previewComplicationData è stato rinominato in previewComplicationsData per indicare che nella mappa è presente (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 il plurale. (Ided07)
  • Abbiamo rimosso le varie conversioni di Binder wear-watchface-client, che non dovrebbero essere necessarie. (Icc4c0)
  • Per coerenza, EditorServiceClient è stato refactorizzato per utilizzare i listener anziché gli osservatori. (Iec3a4)
  • Abbiamo aggiunto un paio di annotazioni @Px mancanti a InteractiveWatchFaceSysUiClient e WatchFaceControlClient. (I3277a)
  • È stato rinominato EditorObserverCallback in EditorObserverListener per coerenza. (Ie572d)
  • EditorState.watchFaceInstanceId è limitato al livello API Android R e versioni successive e non è più annullabile. (Id52bb)
  • EditorSession.launchComplicationProviderChooser è stato rinominato in openComplicationProviderChooser. (I9d441)
  • EditorSession.createOnWatchEditingSessionAsync è stata rinominata createOnWatchEditingSession ed è 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 ritirata. La versione 1.0.0-alpha10 contiene questi commit.

Nuove funzionalità

  • Ora è possibile creare oggetti OpenGL (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 era un po' scomodo 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ù esplicativi. (Ib66c6)
  • Sono state aggiunte alcune annotazioni @Px e @ColorInt mancanti. (I9bbc3)
  • Complication.complicationConfigExtras ora non è più annullabile e il valore predefinito è Bundle.EMPTY. (Iad04f)
  • Ora GlesRenderer richiede di chiamare initOpenGLContext dopo la costruzione. Questa funzione era un dettaglio interno, ma ora si trova nell'API pubblica per consentire chiamate GL precedenti all'interno di createWatchFace. (I726c2)
  • Abbiamo rimosso Complication.setRenderer perché non dovrebbe essere necessario. (Ie992f)
  • Complicaiton.setComplicationBounds non fa più parte dell'API pubblica. Se devi regolare la posizione di una complicazione, puoi farlo tramite ComplicationsUserStyleSetting. (Ibd9e5)
  • ComplicationsManager.TapCallback.onComplicationSingleTapped è stato rinominato in onComplicationTapped. (I3a55c)
  • ComplicationOutlineRenderer.drawComplicationSelectOutline è stato rinominato in drawComplicationOutline. (I14b88)

Versione 1.0.0-alpha09

10 marzo 2021

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

Nuove funzionalità

  • L'interfaccia tra l'host WCS/SysUI e il quadrante dell'orologio si è evoluta. Ora un editor può determinare se una modifica dello stile attiverà o disattiverà una complicazione (attivata = inizialmenteEnabled più qualsiasi override di ComplicationsUserStyleSetting). Inoltre, EditorService.closeEditorconsente a SysUI di chiudere da remoto un editor di quadranti se necessario.
  • Inoltre, InteractiveWatchFaceWcsClient.setUserStyle con un comando più potente updateInstance che: modifica l'ID istanza, imposta lo stile e cancella le complicazioni in una sola volta.

Modifiche alle API

  • Sono stati aggiunti TraceEvents alle librerie dei quadranti. (I1a141)
  • ComplicationState ora ha una nuova proprietà initiallyEnabled, utile per prevedere le conseguenze del cambio di stile. (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é la procedura era lenta. Lasciamo invece l'eventuale post-elaborazione al chiamante. (Id35af)
  • Ora è possibile chiudere da remoto un editor di quadranti tramite EditorService.closeEditor. (Ic5aa4)
  • Aggiunte annotazioni di nullabilità (Ic16ed)

Versione 1.0.0-alpha08

24 febbraio 2021

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

Nuove funzionalità

  • Alcuni quadranti sono progettati intorno 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 quello spazio.
  • Le librerie di quadranti sono scritte principalmente 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 alle API

  • Abbiamo rimosso il supporto per i doppi tocchi sulle complicazioni che avviano la selezione 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, sono previste limitazioni alla possibilità di eseguire ProviderChooser. Inoltre, vorremmo che gli editor fossero creati con il nuovo wear-watchface-editor, pertanto ComplicationHelperActivity viene rimosso dall'API pubblica. (Ib19c1)
  • Rimuovi i metodi statici ComplicationText a favore dei builder. (Ibe399)
  • Abbiamo introdotto wrapper ListenableFuture di Guava per i vari metodi sospesi della libreria di quadranti. (I16b2c)
  • Per maggiore chiarezza dell'API, abbiamo aggiunto un costruttore secondario a RenderParameters che non richiede una tinta, da utilizzare con LayerModes diversi da LayerMode.DRAW_OUTLINED. (I497ea)
  • In precedenza ListUserStyleSetting era diverso dagli altri perché aveva un argomento predefinito. Ora tutti i costruttori della sottoclasse StyleSetting accettano il valore predefinito per ultimo. (I9dbfd)
  • CanvasComplication è stato sottoposto a refactoring per utilizzare un metodo nascosto, il che semplifica l'implementazione di una sottoclasse (I5b321)
  • Abbiamo eseguito il refactoring di EditorResult a favore di un nuovo EditorService e di EditorSession.broadcastState() per trasmettere gli aggiornamenti a un osservatore (in genere SysUI). (Ic4370)
  • Alcuni quadranti sono basati su una determinata complicazione come parte integrante del quadrante in cui il fornitore non è configurabile dall'utente. Per supportare questa funzionalità, abbiamo aggiunto Complication.Builder#setFixedComplicationProvider. (I4509e)
  • EditorRequest ora specifica il nome del pacchetto anziché ComponentName perché era scomodo per SysUI cercare il nome della classe dell'editor e abbiamo bisogno solo del nome del pacchetto. (Ib6814)

Versione 1.0.0-alpha07

10 febbraio 2021

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

Nuove funzionalità

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

Modifiche alle API

  • Rimuovi la classe PhotoImage e utilizza direttamente Icon. (I8a70b)
  • Espone validTimeRange di ComplicationData. (I91366)
  • Rendi più espliciti gli attributi simili alle immagini. (I81700)
  • wear-watchface-editor e wear-complications-data sono stati sottoposti a refactoring per utilizzare le funzioni di sospensione anziché le coroutine. A seguire, wrapper di compatibilità Rx Java e Future. (If3c5f)
  • ProviderInfoRetriever ora genera PreviewNotAvailableException se requestPreviewComplicationData non può restituire i dati di anteprima a causa di problemi di connessione o mancanza di supporto API. (I4964d)
  • WatchFaceControlService::createWatchFaceControlClient è ora una funzione sospesa e getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient ora si chiama getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync e restituisce Deferred<InteractiveWatchFaceWcsClient>. A seguire, wrapper di compatibilità RX Java e Future. (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à dell'editor. (Ida9aa)
  • WatchFaceService.createWatchFace è ora una funzione di sospensione che consente l'inizializzazione asincrona. In precedenza, avresti dovuto bloccare il thread principale. (If076a)
  • UserStyle ora ha un operatore di array e abbiamo aggiunto helper di casting a UserStyle.Option. (I35036)
  • Abbiamo corretto un bug di marshalling con i formati di trasferimento UserStyle che modificano alcune API nascoste instabili. (I8be09)
  • Abbiamo aggiunto CustomValueUserStyleSetting, che consente di memorizzare una singola stringa specifica dell'applicazione all'interno di uno UserStyle. Gli editor di quadranti predefiniti ignoreranno questo valore. (Ic04d2)
  • InstanceID non viene passato negli extra dell'intent per Android WearOS R e versioni precedenti che non possiamo aggiornare. Per supportare questa funzionalità, ora consentiamo che InstanceID sia nullo. (Id8b78)
  • EditorRequest ora include ComponentName dell'editor, impostato come componente in WatchFaceEditorContract.createIntent (I3cd06)
  • EditorResult del quadrante ora include l'anteprima di ComplicationData per consentire al chiamante di acquisire uno screenshot del quadrante dopo la modifica. (I2c561)

Correzioni di bug

  • Sono stati aggiunti override di toString() a UserStyle, UserStyleSetting e UserStyleSchema, il che rende un po' più piacevole lavorare con queste classi. (I9f5ec)

Versione 1.0.0-alpha06

27 gennaio 2021

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

Nuove funzionalità

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

Modifiche alle API

  • ComplicationProviderInfo ora ha un campo per ComponentName del provider. Il supporto per questo campo verrà aggiunto a WearOS in un secondo momento e nel frattempo sarà nullo. (Id8fc4)
  • Abbiamo aggiunto ProviderInfoRetriever.requestPreviewComplicationData, che consente agli editor di quadranti di richiedere un'anteprima di ComplicationData. Questa funzionalità è utile perché le complicazioni live potrebbero richiedere autorizzazioni e ora puoi visualizzare i dati di anteprima per le complicazioni non attive. (I2e1df)
  • ComplicationManager è ora un parametro facoltativo del costruttore WatchFace e gli argomenti sono stati riordinati per consentirlo. (I66c76)
  • Abbiamo aggiunto un bundle facoltativo a Complicazioni che, se impostato, viene unito all'intent inviato per avviare l'attività di selezione del fornitore. (Ifd4ad)
  • Abbiamo aggiunto una nuova libreria wear-watchface-editor per supportare gli editor ospitati sul quadrante e su SysUi. SysUI avvierà questi editor inviando un intent. Il servizio di 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, che disegna un'evidenziazione sulla complicazione specificata oltre a un contorno. (I90a40)
  • Il futuro di WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient ora può essere risolto con un'eccezione ServiceStartFailureException se il servizio si interrompe durante l'attesa della creazione del quadrante. (I0f509)
  • EditorSession.complicationPreviewData è ora un ListenableFuture perché il recupero di questi dati è un processo asincrono. (Iead9d)

Correzioni di bug

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

Versione 1.0.0-alpha05

13 gennaio 2021

androidx.wear:wear-*:1.0.0-alpha05 viene ritirata. 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 visualizzate. Per semplificare la configurazione, ora supportiamo le complicazioni inizialmente disattivate chiamando setEnabled(false) nel builder. Queste possono essere abilitate in un secondo momento tramite ComplicationsUserStyleSetting.

Modifiche alle API

  • ComplicationHelperActivity ora accetta Collection<ComplicationType> anziché un array di numeri interi, il che lo rende più facile da usare. (I1f13d)
  • ProviderInfoRetriever.retrieveProviderInfo ora restituisce correttamente ListenableFuture<ProviderInfo[]>. (If2710)
  • Ora puoi creare una complicazione inizialmente disattivata chiamando setEnabled(false) sul builder. (Idaa53)
  • WatchFaceState ora ha una proprietà isHeadless che è vera solo per le istanze headless. (Ifa900)
  • ComplicationDrawable ora supporta facoltativamente il caricamento sincrono dei drawables. Questo valore viene utilizzato dalle API di screenshot. (I34d4a)

Versione 1.0.0-alpha04

16 dicembre 2020

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

Nuove funzionalità

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

Modifiche alle API

  • Le complicazioni ora utilizzano ComplicationBounds, che racchiude un Map<ComplicationType, RectF> per supportare le dimensioni per tipo di complicazione. (I1ebe7)
  • RenderParameters ora ti consente di specificare la tonalità di evidenziazione da utilizzare negli screenshot. (Iff42b)
  • Ad eccezione dei limiti, ora devi utilizzare ComplicationsUserStyleSetting per modificare le complicazioni, in modo da garantire la sincronizzazione del sistema operativo. (I8dc5d)
  • Renderer è ora una classe sigillata. Ciò significa che CanvasRenderer e GlesRenderer sono ora classi interne di Renderer. (Iab5d4, b/173803230)
  • CanvasComplicationDrawable.drawHighlight rinominato in drawOutline. ObservableWatchData ora presenta 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 del canvas hardware richiede il livello API 26 o versioni successive. (Ic9bbd)
  • InteractiveWatchFaceWcsClient ora ha un helper getComplicationIdAt. (I05811)
  • Il livello API per wear-watchface-client è stato ridotto a 25, ma le API di acquisizione schermata richiedono il livello API 27. (Id31c2)

Correzioni di bug

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

Versione 1.0.0-alpha03

2 dicembre 2020

androidx.wear:wear-*:1.0.0-alpha03 viene ritirata. 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 ora sono supportate dall'assegnazione a Renderer.interactiveDrawModeUpdateDelayMillis. Per i quadranti che eseguono brevi animazioni ogni secondo, questo può portare a un buon risparmio energetico andando in modalità sospensione quando non sono in animazione.

Modifiche alle API

  • BACKGROUND_IMAGE è stato rinominato PHOTO_IMAGE insieme ai corsi correlati. Questo tipo di complicazione non viene utilizzato esclusivamente per gli sfondi, da qui il cambio di nome. (I995c6)
  • DefaultComplicationProviderPolicy annotato correttamente con IntDefs. (I3b431)
  • La classe TimeDependentText nascosta non viene più esposta tramite ContentDescriptionLabel. Al suo posto, aggiungiamo un accessor per ottenere il testo in un momento specifico. (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. La complicazione ha anche una nuova chiamata isActiveAt che può essere utilizzata per verificare se è necessario eseguire il rendering di qualcosa alla data e all'ora fornite. (Ic0e2a)
  • SharedMemoryImage vuoto non è più presente nell'API pubblica. (I7ee17)
  • WatchFace.overridePreviewReferenceTimeMillis ora ha un'annotazione IntRange e i metodi getter e setter hanno nomi coerenti. (Ia5f78)
  • Complication.Builder ora viene creato tramite Complication.createRoundRectComplicationBuilder o Complication.createBackgroundComplicationBuilder per maggiore chiarezza (I54063)
  • È stato aggiunto WatchFace.TapListener, che consente di osservare i tocchi non utilizzati dalle complicazioni da parte di WatchFace. (Ic2fe1, b/172721168)
  • WatchFace ora supporta frequenze fotogrammi variabili assegnandole a Renderer.interactiveDrawModeUpdateDelayMillis. In questo modo è possibile preservare la durata della batteria mettendosi in modalità sospensione quando non è in animazione. (I707c9)
  • WatchFace.Builder non è più necessario e invalidate() e interactiveUpdateRateMillis sono stati spostati in Renderer. (I329ea)
  • Per una migliore interoperabilità Java, sono stati rinominati i getter per le proprietà booleane in WatchState (I6d2f1)
  • Rinominate TapListener in TapCallback e InvalidateCallback in InvalidateListener per coerenza. (I9414e)
  • Le opzioni di stile dei quadranti Wear 2.0 sono state spostate in una classe separata per maggiore chiarezza. I setter di WatchFace.Builder ora hanno getter simmetrici della classe WatchFace. (Iefdfc)
  • Sono stati aggiunti InteractiveWatchFaceWcsClient e WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient, che recuperano un'istanza esistente o la creano una volta che il servizio di sfondi si è connesso e ha creato il motore. (Id666e)
  • WatchFaceControlClient è ora un'interfaccia che consente ai test di simularla. (I875d9)
  • HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl e InteractiveWatchFaceWcsClient ora sono interfacce per facilitare i test. (I7cdc3)
  • 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 che accetti 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 per utilizzare ComplicationState anziché il formato wire. (Icb8a4)
  • UserStyleSettings è ora una classe sigillata perché gli editor di quadranti comprendono solo le classi integrate. (I2d797)

Versione 1.0.0-alpha02

11 novembre 2020

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

Modifiche alle API

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

Correzioni di bug

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

Versione 1.0.0-alpha01

28 ottobre 2020

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

Modifiche alle API

  • Sono state rimosse alcune funzionalità che non intendevamo esporre nell'API pubblica. (I41669)
  • Crea una raccolta di androidx.wear:wear-complications-provider. (I77f1f)
  • ComplicationsUserStyleCategory, la nuova categoria consigliata per la configurazione delle complicazioni (I96909)
  • Aggiungi l'API wear-complication-data. (I7c268)
  • Le funzioni con valori booleani restituiti devono avere il prefisso "is" anziché "get" (If36ff)
  • Il consiglio dell'API è di evitare di utilizzare protected, quindi questa classe è stata sottoposta a refactoring per accettare i parametri tramite il costruttore. (I61644)
  • Rinomina setBackgroundComplication per maggiore chiarezza. (I96fe3)
  • Utilizza le proprietà Kotlin per ComplicationDrawable isHighlighted e data (I4dcc8)
  • Anziché ComplicationRenderer.InvalidateCallback, aggiungiamo Complication#invalidate() (I4f4c6)
  • Queste API sono in fase di ritiro in WearableSupport e vengono rimosse qui. (Ib425c)
  • Sono stati rinominati alcuni metodi di creazione di quadranti per sottolineare la loro natura legacy di Wear 2.0. (Idb775)
  • Prima API candidata beta per wear/wear-watchface (Id3981)
  • Prima versione monitorata dell'API. (Ie9fe6)
  • Nascondi correttamente ComplicationDrawable.BorderStyle IntDef e sposta su ComplicationStyle per coerenza. (I27f7a)
  • Aggiunta delle annotazioni mancanti per i metodi ComplicationStyle (I838fd)
  • Questa libreria non ha una superficie API pubblica (I88e2b)
  • Tutte le classi di opzioni della 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 API per MissingGetterMatchingBuilder è abilitato per androidx (I4bbea, b/138602561)
  • Rinomina wear-complications-rendering. (Ifea02)
  • I nomi visualizzati delle categorie di stili ora sono CharSequence (I28990)
  • Sostituzione di Override con Overlay per corrispondere alle convenzioni di denominazione di temi e stili correnti. (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 ritirata. La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

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

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

    Esempio di testo curvo in Android Wear

  • È stato aggiunto il contenitore ArcLayout per disporre gli elementi secondari uno alla volta su un arco in senso orario o antiorario. I relativi elementi secondari possono essere widget Android standard o widget "curvi" 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>
    

    Esempio di testo ad arco in Android Wear

  • È stato aggiunto un nuovo contenitore di layout, DismissibleFrameLayout, che gestisce la chiusura con il pulsante Indietro e/o lo scorrimento per chiudere, destinato all'uso all'interno di un'attività. È necessario aggiungere almeno un listener per eseguire un'azione di chiusura. Un listener in genere rimuove una visualizzazione contenitore o un frammento dall'attività corrente. setSwipeDismissible(boolean) e setBackButtonDismissible(boolean) sono forniti per il controllo diretto delle funzionalità. Questo nuovo layout è pensato per sostituire l'esistente SwipeDismissFrameLayout.

  • Aggiunto il supporto per indicare che un'attività può essere "ripresa automaticamente" quando il dispositivo esce dalla modalità Ambient nella classe AmbientModeSupport. Questa funzionalità era precedentemente disponibile nella classe WearableActivity obsoleta di WearableSupportLibrary. (I336ab)

  • È stata eseguita la migrazione della classe WearableCalendarContract dalla libreria di supporto Wearable. 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 indossabile specificato è destinato alla Cina. (Ib01a9)

  • Sono state aggiunte funzionalità di accessibilità a androidx.wear.widget.ConfirmationOverlay che leggeranno i messaggi se impostati, seguiti dalla descrizione dell'animazione. (I524dd)

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

  • È stato corretto un bug per cui RecyclerViews con scorrimento orizzontale causavano WearableDrawerLayout a sbirciare tutte le interazioni. (I24c7f)

Versione 1.2.0-rc01

1° settembre 2021

androidx.wear:wear:1.2.0-rc01 viene rilasciato senza modifiche rispetto all'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 ritirata. 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 ritirata. La versione 1.2.0-alpha13 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

  • Abbiamo aggiunto funzionalità di accessibilità a androidx.wear.widget.ConfirmationOverlay che leggeranno 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 ritirata. 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

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

Correzioni di bug

  • È stato corretto un bug per cui RecyclerViews con scorrimento orizzontale causavano WearableDrawerLayout a sbirciare tutte le interazioni. (I24c7f)

Versione 1.2.0-alpha10

2 giugno 2021

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

Nuove funzionalità

  • Alpha10 migliora il supporto dell'accessibilità in Curved Text e ArcLayouts. Inoltre, aggiunge alcune modifiche minori al nome di DismissibleFrameLayout per chiarire l'API.

Modifiche alle 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 il contenuto di CurvedTextView su TalkBack. (I05798)
  • Migliore accessibilità per le visualizzazioni normali in un ArcLayout. (I4418d)

Versione 1.2.0-alpha09

18 maggio 2021

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

Modifiche alle API

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

Versione 1.2.0-alpha08

5 maggio 2021

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

Modifiche alle API

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

Versione 1.2.0-alpha07

24 marzo 2021

androidx.wear:wear:1.2.0-alpha07 viene ritirata. 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 delle 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 ritirata. La versione 1.2.0-alpha06 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

  • Disattiva la funzionalità di chiusura con il pulsante Indietro per impostazione predefinita in Dismissible FrameLayout, poiché lo scorrimento per chiudere rimane il modo principale per tornare indietro a una schermata intera sui dispositivi indossabili (Ic24e3).
  • Sono stati risolti alcuni problemi relativi alla gestione della visibilità dei figli in WearArcLayout (Icf912)

Versione 1.2.0-alpha05

13 gennaio 2021

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

Correzioni di bug

  • Aggiorna il 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 ritirata. La versione 1.2.0-alpha04 contiene questi commit.

Modifiche alle API

  • Aggiunto il supporto per indicare che un'attività può essere "ripresa automaticamente" quando il dispositivo esce dalla modalità Ambient nella classe AmbientModeSupport. Questa funzionalità era precedentemente disponibile nella classe WearableActivity obsoleta di WearableSupportLibrary. (I336ab)
  • OngoingActivity
    • Ora è possibile impostare la categoria quando si crea un'OngoingActivity, ad esempio OngoingActivitiy.Builder.getCategory(String)
    • OngoingActivityData ora ha un timestamp di quando è stata creata OngoingActivity: OngoingActivityData.getTimestamp()
    • (I91cb4)
  • È stato aggiunto il supporto per l'impostazione dei margini per gli elementi secondari di WearArcLayout modificando i parametri di layout in modo da estendere MarginLayoutParams, ovvero WearArcLayout.LayoutParams estende android.view.ViewGroup.MarginLayoutParams. (I2cd88)
  • Modifica il tipo di ancoraggio predefinito di WearCurvedTextView in WearArcLayout.ANCHOR_CENTER (era WearArcLayout.ANCHOR_START). In questo modo si semplifica il contratto tra il layout ad arco e il testo curvo, in quanto il testo curvo per impostazione predefinita si disegna centrato in orizzontale nella parte superiore e il layout ad arco principale può ruotarlo nella posizione in cui deve trovarsi. (I105ff)

Versione 1.2.0-alpha03

2 dicembre 2020

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

Nuove funzionalità

Un nuovo contenitore di layout DismissibleFrameLayout, che gestisce l'annullamento con il pulsante Indietro e/o lo scorrimento per annullare, destinato all'uso all'interno di un'attività. È necessario aggiungere almeno un listener per eseguire un'azione di chiusura. Un listener in genere rimuove una visualizzazione contenitore o un frammento dall'attività corrente. setSwipeDismissible(boolean) e setBackButtonDismissible(boolean) sono forniti per il controllo diretto delle funzionalità. Questo nuovo layout è pensato per sostituire l'esistente SwipeDismissFrameLayout.

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

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

Modifiche alle API

  • L'attributo "sweepDegrees" per WearCurvedTextView è suddiviso 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 ritirata. La versione 1.2.0-alpha02 contiene questi commit.

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

Modifiche alle API

  • Nuova API per le attività in corso, che non ha effetto sui "dispositivi non supportati". (I69a31)

Versione 1.2.0-alpha01

28 ottobre 2020

androidx.wear:wear:1.2.0-alpha01 viene ritirata. 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"
/>

Esempio di testo curvo in Android Wear

  • È stato aggiunto il contenitore WearArcLayout per disporre gli elementi secondari uno alla volta su un arco in senso orario o antiorario. I relativi elementi secondari possono essere widget Android standard o widget "curvi" che implementano la relativa interfaccia ArcLayoutWidget. Un esempio di utilizzo:
<androidx.wear.widget.WearArcLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:anchorPosition="center">
      <ImageView
              android:layout_width="20dp"
              android:layout_height="20dp"
              android:src="@drawable/ic_launcher"
      />
      <androidx.wear.widget.WearCurvedTextView
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:text="Curved Text"
              style="@android:style/TextAppearance.Small"
              android:padding="2dp"
       />
  </androidx.wear.widget.WearArcLayout>

Esempio di testo ad arco in Android Wear

(I536da)

Wear-Input 1.2

Versione 1.2.0-alpha02

29 settembre 2021

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

Modifiche alle API

  • disallowEmoji è stato rinominato in setEmojisAllowed in WearableRemoteInputExtender per impostare se verrà visualizzata 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 sono stati rilasciati. La versione 1.2.0-alpha01 contiene questi commit.

Modifiche alle 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 a 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 sono stati 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 intent RemoteInput. Queste informazioni possono essere utilizzate per richiedere 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 sono stati rilasciati. La versione 1.1.0-rc01 contiene questi commit.

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

Versione 1.1.0-beta01

21 luglio 2021

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

Versione 1.1.0-alpha03

30 giugno 2021

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

Correzioni di bug

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

Versione 1.1.0-alpha02

18 maggio 2021

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

Modifiche alle API

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

Versione 1.1.0-alpha01

27 gennaio 2021

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

Modifiche alle API

  • Esegui la migrazione della classe RemoteInputIntent dalla libreria di supporto Wearable ad AndroidX. La classe di cui è stata eseguita la migrazione viene rinominata RemoteInputIntentHelper, che fornisce funzioni helper per supportare gli input remoti avviando un intent. (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 sono stati 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 wearable a Jetpack.

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

Versione 1.0.0-rc01

11 novembre 2020

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

Questa release è identica a 1.0.0-beta01.

Versione 1.0.0-beta01

28 ottobre 2020

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

Wear-Input-Testing versione 1.0.0-alpha01

14 ottobre 2020

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

Modifiche alle API

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

Wear-Input versione 1.0.0-alpha01

2 settembre 2020

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

Nuove funzionalità

Migrazione della funzionalità WearableButtons dalla libreria di supporto per wearable a Jetpack. Il supporto per i test aggiuntivi 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 ritirata. 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 per rispettare la convenzione di denominazione di Android. In questo modo, l'errore del linter in Android Studio per questi attributi verrà rimosso. (I4272f)
  • È stato aggiunto EXTRA_ANIMATION_DURATION_MILLIS facoltativo a ConfirmationActivity per consentire la durata di visualizzazione della finestra di dialogo di conferma. (adb83ce, b/143356547)
  • È stato aggiornato WearableActionDrawView per ritardare il caricamento del riquadro delle azioni fino alla prima apertura. (I01026, b/163870541)

Versione 1.1.0-rc03

2 settembre 2020

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

Correzioni di bug

  • È stato risolto il problema a causa del quale il riquadro Azioni non mostrava i contenuti quando veniva aperto. (I01026, b/163870541)

Versione 1.1.0-rc02

24 giugno 2020

androidx.wear:wear:1.1.0-rc02 viene ritirata. 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 per rispettare la convenzione di denominazione di Android. In questo modo, l'errore del linter 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 ritirata. 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 il caricamento del riquadro delle azioni fino alla prima apertura. (5cd32f7)