Wear
androidx.wear.activity
androidx.wear.ambient
androidx.wear.input
androidx.wear.utils
androidx.wear.widget
androidx.wear.widget.drawer
(consulta la documentazione di riferimento per tutti i pacchetti Wear)
Questa tabella elenca tutti gli elementi nel gruppo androidx.wear
.
Elemento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
wear | 1.3.0 | - | - | 1.4.0-alpha01 |
wear-input | 1.1.0 | - | - | 1.2.0-alpha02 |
wear-input-testing | 1.1.0 | - | - | 1.2.0-alpha02 |
wear-ongoing | 1.0.0 | - | - | 1.1.0-alpha01 |
wear-phone-interactions | 1.0.1 | - | - | 1.1.0-alpha05 |
wear-remote-interactions | 1.1.0 | - | - | - |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza da Wear, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Alla moda
dependencies { implementation "androidx.wear:wear:1.3.0" // Add support for wearable specific inputs implementation "androidx.wear:wear-input:1.1.0" implementation "androidx.wear:wear-input-testing:1.1.0" // Use to implement wear ongoing activities implementation "androidx.wear:wear-ongoing:1.0.0" // Use to implement support for interactions from the Wearables to Phones implementation "androidx.wear:wear-phone-interactions:1.0.1" // Use to implement support for interactions between the Wearables and Phones implementation "androidx.wear:wear-remote-interactions:1.0.0" }
Kotlin
dependencies { implementation("androidx.wear:wear:1.3.0") // Add support for wearable specific inputs implementation("androidx.wear:wear-input:1.1.0") implementation("androidx.wear:wear-input-testing:1.1.0") // Use to implement wear ongoing activities implementation("androidx.wear:wear-ongoing:1.0.0") // Use to implement support for interactions from the Wearables to Phones implementation("androidx.wear:wear-phone-interactions:1.0.1") // Use to implement support for interactions between the Wearables and Phones implementation("androidx.wear:wear-remote-interactions:1.0.0") }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.
Wear Core versione 1.0
Versione 1.0.0-alpha01
29 maggio 2024
androidx.wear:wear-core:1.0.0-alpha01
viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.
Modifiche all'API
- È stata aggiunta una nuova classe
WearApiVersionhelper
per facilitare il controllo della compatibilità delle API di runtime su Wear. I client possono utilizzare questa classe di helper statica e il metodo fornito (#isApiVersionAtLeast(VERSION)
) per verificare la compatibilità.
Wear Tooling Preview Version 1.0
Versione 1.0.0
29 novembre 2023
androidx.wear:wear-tooling-preview:1.0.0
viene rilasciato. La versione 1.0.0 contiene questi commit.
Funzionalità nella versione 1.0.0
- Aggiungi
WearDevices
per elencare i dispositivi Wear validi che possono essere utilizzati per le anteprime dell'interfaccia utente.
Versione 1.0.0-rc01
15 novembre 2023
androidx.wear:wear-tooling-preview:1.0.0-rc01
viene rilasciato senza modifiche. La versione 1.0.0-rc01 contiene questi commit.
Versione 1.0.0-beta01
18 ottobre 2023
androidx.wear:wear-tooling-preview:1.0.0-beta01
viene rilasciato senza modifiche. La versione 1.0.0-beta01 contiene questi commit.
Versione 1.0.0-alpha01
23 agosto 2023
androidx.wear:wear-tooling-preview:1.0.0-alpha01
viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.
Modifiche all'API
- Aggiungi
WearDevices
per elencare i dispositivi Wear validi che possono essere utilizzati per le anteprime dell'interfaccia utente (Ib036e)
Wear versione 1.4
Versione 1.4.0-alpha01
15 novembre 2023
androidx.wear:wear:1.4.0-alpha01
viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Correzioni di bug
- Al centro verticalmente l'icona
ConfirmationOverlay
quando non è presente alcun messaggio. (I496d8)
Wear versione 1.3
Versione 1.3.0
9 agosto 2023
androidx.wear:wear:1.3.0
viene rilasciato senza modifiche dal giorno 1.3.0-rc01
. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Esegui la migrazione di
AmbientModeSupport
per utilizzareLifecycleObserver
. RitiriamoAmbientModeSupport
in favore dei nuovi tipi di classe che supportano il ciclo di vita. - Aggiornamento di
ConfirmationOverlay
con nuove icone/layout, caratteri e metriche dei caratteri SwipeDismissTransitionHelper
è stato aggiornato per utilizzare un drawable di sfondo anziché un secondoView
per correggere gli errori durante l'utilizzo diFragmentContainerView
- Animazione di
SwipeDismissFrameLayout
aggiornata per essere coerente con la piattaforma Wear e le implementazioni di Wear Compose. - Correzione di bug
SwipeDismissFrameLayout
per evitare la chiusura accidentale dei frammenti con un movimento verticale ArcLayout
ora supporta i pesi di espansione che funzionano in modo simile ai pesi di layout standard.- Supporta
layoutDirection
suArcLayout
Versione 1.3.0-rc01
21 giu 2023
androidx.wear:wear:1.3.0-rc01
viene rilasciato senza modifiche dal giorno 1.3.0-beta01
. La versione 1.3.0-rc01 contiene questi commit.
Versione 1.3.0-beta01
7 giugno 2023
androidx.wear:wear:1.3.0-beta01
viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.
Modifiche all'API
AmbientLifecycleObserver
aggiornato in base al feedback.AmbientLifecycleObserverInterface
è stato rinominatoAmbientLifecycleObserver
e un'istanza può essere ottenuta chiamandoAmbientLifecycleObserver(...)
.isAmbient
è stato spostato come campo anziché come metodo. (I84b4f)
Correzioni di bug
- Sono stati aggiunti controlli null per gestire i casi in cui la vista principale è null mentre reimpostano l'alfa e la traduzione in
SwipeToDismiss
. (Ib0ec7)
Versione 1.3.0-alpha05
19 aprile 2023
androidx.wear:wear:1.3.0-alpha05
viene rilasciato. La versione 1.3.0-alpha05 contiene questi commit.
Modifiche all'API
- Esegui la migrazione di
AmbientModeSupport
per utilizzareLifecycleObserver
. RitiriamoAmbientModeSupport
in favore dei nuovi tipi di classe che tengono conto del ciclo di vita. (I1593b)
Correzioni di bug
- Aggiorna l'approccio scrim di sfondo
SwipeDismissTransitionHelper
per utilizzare drawable anziché aggiungere una visualizzazione per correggere gli errori durante l'utilizzo diFragmentContainerView
. (I851cd)
Versione 1.3.0-alpha04
25 gennaio 2023
androidx.wear:wear:1.3.0-alpha04
viene rilasciato. La versione 1.3.0-alpha04 contiene questi commit.
Correzioni di bug
- Abbiamo aggiornato l'animazione in
SwipeDismissFrameLayout
in modo che sia coerente con la piattaforma Wear e le implementazioni di Wear Compose. (I7261b)
Versione 1.3.0-alpha03
24 agosto 2022
androidx.wear:wear:1.3.0-alpha03
viene rilasciato. La versione 1.3.0-alpha03 contiene questi commit.
Nuove funzionalità
ArcLayout
ora supporta i pesi di espansione che funzionano in modo simile ai pesi di layout standard. Ciò significa che puoi specificare le dimensioni relative degli elementi secondari senza dover calcolare direttamente i relativi angoli. Abbiamo anche aggiunto un'opzione di tipo "best effort"MaxAngleDegrees
che viene rispettata quando vengono espansi gli elementi secondari con pesi. Ad esempio, puoi bloccare l'arco con diversi elementi secondari con pesi a 90 gradi, rispettando anche lo spazio occupato dagli elementi non espansi.
Modifiche all'API
- Abbiamo aggiunto un peso a
ArcLayout.LayoutParams
che consente a un widget di espandersi fino a riempire lo spazio disponibile. Se sono presenti più widget, la loro quota dello spazio disponibile è proporzionale al loro peso. Inoltre, abbiamo aggiuntoArcLayout.setMaxAngleDegrees
in modo da poter, ad esempio, limitare l'espansione a 90 gradi (tieni presente che questo non influisce sul layout dei widget secondari di dimensioni fisse). Infine,ArcLayout.Widget
ora hasetSweepAngleDegrees
che consente aArcLayout
di indicare a un widget un peso diverso da zero per le sue dimensioni. (I75f24) - Aggiornamento della nullabilità di
setColorFilter
(I99ddf, b/236498063)
Versione 1.3.0-alpha02
23 febbraio 2022
androidx.wear:wear:1.3.0-alpha02
viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Nuove funzionalità
- Supporto di
layoutDirection
suArcLayout
(I14d49) - Messaggio di descrizione dei contenuti migliorato per ConfirmationOverlay (I0fdf8)
- Aggiorna
ConfirmationOverlay
con nuove icone/layout. (If5b54)
Correzioni di bug
- Sono state aggiunte regole di ProGuard per garantire che il codice relativo all'ambiente venga mantenuto (Idaa10)
- Evitare la chiusura accidentale dei frammenti in SwipeDismissFrameLayout con un movimento verticale (Idb6d8)
- Correggere ConfirmationOverlay quando non ha un messaggio (I63e6f)
Contributo esterno
- Dae Gyu LEE (Samsung) - Evitare la chiusura accidentale dei frammenti in SwipeDismissFrameLayout con un movimento verticale (Idb6d8)
Versione 1.3.0-alpha01
29 settembre 2021
androidx.wear:wear:1.3.0-alpha01
viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Correzioni di bug
ConfirmationOverlay
ora spinge l'icona verso l'alto per adattarsi ai messaggi più lunghi, senza che il messaggio entri nella cornice del dispositivo (o fuori dallo schermo). (I54bff)
Wear Ongoing & Interactions versione 1.1.0
Versione 1.1.0-alpha05
11 dicembre 2024
androidx.wear:wear-phone-interactions:1.1.0-alpha05
viene rilasciato. La versione 1.1.0-alpha05 contiene questi commit.
Correzioni di bug
- Correzione di un bug di arresto anomalo durante l'esecuzione su Wear OS 5.1 (versione API 34) e con target le versioni successive dell'SDK. Le app devono eseguire l'aggiornamento a questa versione della libreria prima di aggiornare
targetSdkVersion
alla versione 35 o successiva.
Versione 1.1.0
11 dicembre 2024
androidx.wear:wear-remote-interactions:1.1.0
viene rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Abbiamo aggiunto
RemoteActivityHelper.isRemoteActivityHelperAvailable
, che consente di verificare se la funzionalità di lancio di un'attività remota è disponibile. (I107a9)
Versione 1.1.0-rc01
16 ottobre 2024
androidx.wear:wear-remote-interactions:1.1.0-rc01
viene rilasciato senza modifiche dal giorno 1.1.0-beta01
. La versione 1.1.0-rc01 contiene questi commit.
Versione 1.1.0-beta01
24 luglio 2024
androidx.wear:wear-remote-interactions:1.1.0-beta01
viene rilasciato. La versione 1.1.0-beta01 contiene questi commit. La release 1.3.0-beta01 di Wear Remote Interactions indica che questa release della libreria è completa di funzionalità e che l'API è bloccata (tranne dove contrassegnata come sperimentale).
Versione 1.1.0-alpha04
10 gennaio 2024
androidx.wear:wear-phone-interactions:1.1.0-alpha04
viene rilasciato. La versione 1.1.0-alpha04 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto
RemoteAuthClient.isRemoteAuthAvailable
che verifica se l'autenticazione remota è disponibile. (Ibc10c)
Versione 1.1.0-alpha02
10 gennaio 2024
androidx.wear:wear-remote-interactions:1.1.0-alpha02
viene rilasciato. La versione 1.1.0-alpha02 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto
RemoteActivityHelper.isRemoteActivityHelperAvailable
, che consente di verificare se la funzionalità di lancio di un'attività remota è disponibile. (I107a9) - Abbiamo aggiornato il costruttore di
RemoteActivityHelper
in modo che il parametro facoltativo sia compatibile in Java. (I75554)
Versione 1.1.0-alpha01
21 giu 2023
androidx.wear:wear-remote-interactions:1.1.0-alpha01
viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.
Correzioni di bug
- È stato migliorato il modo in cui vengono eseguiti il completamento e la gestione degli errori in
RemoteActivityHelper
. (I60d60)
Contributo esterno
- Rimuovi la dipendenza da Guava da
wear-remote-interactions
e utilizza alternative più piccole.
Wear-Phone-Interactions versione 1.1.0-alpha03
9 marzo 2022
androidx.wear:wear-phone-interactions:1.1.0-alpha03
viene rilasciato. La versione 1.1.0-alpha03 contiene questi commit.
Correzioni di bug
redirectUrl
diOAuthRequest
ora restituisce una stringa vuota se l'URL di reindirizzamento non è impostato nell'URL richiesta specificato. (I44242)
Wear-Phone-Interactions versione 1.1.0-alpha02
15 dicembre 2021
androidx.wear:wear-phone-interactions:1.1.0-alpha02
viene rilasciato. La versione 1.1.0-alpha02 contiene questi commit.
Correzioni di bug
- Correggi gli errori nella documentazione di
RemoteAuthClient
, incluso l'errore nello snippet di codice di esempio e il link non valido aErrorCode
(I260e8)
Wear-Phone-Interactions versione 1.1.0-alpha01
15 settembre 2021
androidx.wear:wear-phone-interactions:1.1.0-alpha01
viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche all'API
Wear Ongoing & Interactions versione 1.0.0
Wear-Phone-Interactions versione 1.0.1
15 dicembre 2021
androidx.wear:wear-phone-interactions:1.0.1
viene rilasciato. La versione 1.0.1 contiene questi commit.
Correzioni di bug
- È stata corretta un'eccezione lanciata da
BridgingManager
durante il tentativo di disattivare le notifiche di bridging senzaexcludedTags
.
Wear-Phone-Interactions Wear-Remote-Interactions versione 1.0.0
15 settembre 2021
androidx.wear:wear-phone-interactions:1.0.0
e androidx.wear:wear-remote-interactions:1.0.0
vengono rilasciati. La versione 1.0.0 contiene questi commit.
Funzionalità principali della versione 1.0.0
La Phone Interaction Library contiene API per le interazioni dai dispositivi indossabili agli smartphone. Contiene quanto segue:
PhoneDeviceType
, che fornisce metodi di assistenza per determinare il tipo di smartphone a cui è accoppiato lo smartwatch corrente, da utilizzare solo su dispositivi indossabili.- API
BridgingManager
,BridgingManagerService
eBridgingConfig
per attivare/disattivare le notifiche in fase di esecuzione e, facoltativamente, impostare i tag per le notifiche esenti dalla modalità di bridging. RemoteAuthClient
, che supporta l'autenticazione remota sui dispositivi indossabili, oltre all'aggiunta dell'estensione OAuth PKCE. Sono forniti gestori e classi di supporto aggiuntivi per la comunicazione.
La libreria di interazione remota contiene API per le interazioni tra dispositivi indossabili e smartphone. Contiene quanto segue:
WatchFaceConfigIntentHelper
, fornendo funzioni di supporto per specificare l'ID e il nome del componente nelle attività di configurazione del quadrante per l'app complementare sullo smartphone.RemoteActivityHelper
che può essere utilizzata per aprire intent su altri dispositivi (ad es. dallo smartwatch allo smartphone).
Wear-Phone-Interactions Wear-Remote-Interactions versione 1.0.0-rc01
1° settembre 2021
androidx.wear:wear-phone-interactions:1.0.0-rc01
e androidx.wear:wear-remote-interactions:1.0.0-rc01
vengono rilasciati. La versione 1.0.0-rc01 contiene questi commit.
Correzioni di bug
- Correzione del bug che impediva la propagazione degli errori rilevati in Google Play Services all'autore della chiamata quando si utilizza RemoteActivityHelper (I60d60)
- Correzione del bug per cui RemoteActivityHelper non avrebbe mai soddisfatto il proprio Future se non erano presenti nodi connessi o se non veniva trovato l'ID nodo richiesto (I60d60)
Wear - Versione in corso 1.1
Versione 1.1.0-alpha01
23 agosto 2023
androidx.wear:wear-ongoing:1.1.0-alpha01
viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche all'API
- Aggiungi un campo di descrizione dei contenuti all'attività in corso. Questo valore verrà utilizzato dai servizi di accessibilità per descrivere l'attività in corso. (I79fc6)
Correzioni di bug
- È stato aggiunto
@RequiresPermission
alle API che richiedono l'autorizzazionePOST_NOTIFICATIONS
nell'SDK 33 e versioni successive. (Ie542e, b/238790278)
Wear - Versione in corso 1.0.0
1° settembre 2021
androidx.wear:wear-ongoing:1.0.0
viene rilasciato. La versione 1.0.0 contiene questi commit.
Funzionalità principali della versione 1.0.0
- L'API Wear Ongoing Activities è un'API per gli sviluppatori, inclusi gli sviluppatori di terze parti, utilizzata per contrassegnare la propria attività come "Attività in corso" e fornire le informazioni necessarie.
- Per Attività in corso si intendono le attività che potrebbero essere in esecuzione in background sullo smartwatch (ad es. allenamenti, chiamate e contenuti multimediali). Su Wear 3, un'attività dichiarata come in corso verrà messa in evidenza tramite un'icona in overlay dedicata sul quadrante e un rendering diverso nel programma di avvio app.
- Per ulteriori informazioni, consulta la guida Attività in corso di Wear.
Wear-Phone-Interactions Wear-Remote-Interactions versione 1.0.0-beta01
18 agosto 2021
androidx.wear:wear-phone-interactions:1.0.0-beta01
e androidx.wear:wear-remote-interactions:1.0.0-beta01
vengono rilasciati. La versione 1.0.0-beta01 contiene questi commit.
Modifiche all'API
- Il corso
RemoteIntentHelper
è stato rinominato inRemoteActivityHelper
. Le funzioniRemoteIntentHelper#getRemoteIntentExtraIntent
eRemoteIntentHelper#getRemoteIntentNodeId
sono state rinominate rispettivamente inRemoteActivityHelper#getTargetIntent
eRemoteActivityHelper#getTargetNodeId
. (Id2042)
Wear - Versione in corso 1.0.0-rc01
18 agosto 2021
androidx.wear:wear-ongoing:1.0.0-rc01
viene rilasciato senza modifiche dal giorno 1.0.0-beta01
. La versione 1.0.0-rc01 contiene questi commit.
Wear-Ongoing Version 1.0.0-beta01
4 agosto 2021
androidx.wear:wear-ongoing:1.0.0-beta01
viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.
Modifiche all'API
- Alcuni setter di OngoingActivity.Builder ora accettano un argomento nullo per garantire simmetria e coerenza ai setter e ai getter (I17ee5)
Wear-Phone-Interactions versione 1.0.0-alpha07
4 agosto 2021
androidx.wear:wear-phone-interactions:1.0.0-alpha07
viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Modifiche all'API
WearTypeHelper.isChinaDevice
è stato rinominato inWearTypeHelper.isChinaBuild
. (I47302)- Abbiamo aggiornato la libreria RemoteAuthClient in modo che selezioni automaticamente redirect_uri in base al tipo di dispositivo (al di fuori della Cina/Cina). (I38866)
- È stato corretto un bug che causava il mancato completamento della conversione di BridgingConfig in/da Bundle con ClassCastException. Sono stati aggiunti i test delle unità per la classe BridgingManagerService. (I68ecb)
Wear-Remote-Interactions versione 1.0.0-alpha06
4 agosto 2021
androidx.wear:wear-remote-interactions:1.0.0-alpha06
viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Wear-Phone-Interactions versione 1.0.0-alpha06
21 luglio 2021
androidx.wear:wear-phone-interactions:1.0.0-alpha06
viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Modifiche all'API
- La classe
BridgingManagerSeviceBinder
è ora una sottoclasse di Service e viene rinominata in BridgingManagerSevice. (I9fca2) - Il metodo
RemoteAuthClient.Callback.onAuthorizationError
viene modificato in modo da includere il parametro OAuthRequest. I metodi che richiedono un callback ora richiedono anche un'esecuzione per il callback. (I35e11)
Correzioni di bug
- Abbiamo reso più chiara l'API di autenticazione con parametri più documentati e utilizzando le proprietà, ove possibile. (I12287)
Wear-Phone-Interactions versione 1.0.0-alpha05
30 giugno 2021
androidx.wear:wear-phone-interactions:1.0.0-alpha05
viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Correzioni di bug
- Parametri documentati che devono essere passati al costruttore per
BridgingConfig.Builder
.
Wear-Ongoing versione 1.0.0-alpha06
2 giugno 2021
androidx.wear:wear-ongoing:1.0.0-alpha06
viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Modifiche all'API
- Aggiungi il campo Titolo all'attività in corso. (I7a405)
Correzioni di bug
SerializationHelper.copy()
ora esegue una copia difensiva delle informazioni (I8b276)- Documentazione migliorata di setCategory (Iff01f)
Wear-Ongoing versione 1.0.0-alpha05
18 maggio 2021
androidx.wear:wear-ongoing:1.0.0-alpha05
viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche all'API
OngoingActivity
ora dispone di getter per recuperare tutti i valori impostati direttamente tramite il Builder (o i valori predefiniti ricavati dalla notifica associata). (Id8ac8)- La nuova classe
Status
viene ora utilizzata per creare lo stato delOngoingActivity
OngoingActivityData
eOngoingActivityStatus
non fanno più parte dell'API pubblica.
- La nuova classe
Le classi
TextStatusPart
eTimerStatusPart
non fanno più parte dell'API pubblica. (I57fb6)- Per creare un
Part
con un testo statico, utilizzaStatus.TextPart
. - Per creare un
Part
con un cronometro (conteggio crescente), utilizzaStatus.Stopwatch
- Per creare un
Part
con un timer (conto alla rovescia), utilizzaStatus.Timer
- Per creare un
Wear-Ongoing versione 1.0.0-alpha04
5 maggio 2021
androidx.wear:wear-ongoing:1.0.0-alpha04
viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.
Modifiche all'API
- In OngoingActivity, i metodi fromExistingOngoingActivity ora si chiamano recoverOngoingActivity.
- OngoingActivity ora dispone di un insieme completo di getter, gli stessi precedentemente disponibili solo in OngoingActivityData. (I0ee4d)
Wear-Remote-Interactions versione 1.0.0-alpha05
21 luglio 2021
androidx.wear:wear-remote-interactions:1.0.0-alpha05
viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche all'API
Abbiamo aggiunto la classe
RemoteIntentHelper
(in precedenza RemoteIntent nella libreria di assistenza per i dispositivi indossabili) che può essere utilizzata per aprire intent su altri dispositivi (ad esempio dallo smartwatch allo smartphone). (I1d7e0)La classe PlayStoreAvailability è stata rimossa dalla libreria AndroidX. Per rilevare se il Play Store è disponibile su uno smartphone connesso, utilizza il metodo
androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType
per determinare se lo smartphone connesso è un dispositivo Android. Quindi, utilizza il metodoandroidx.wear.utils.WearTypeHelper.isChinaDevice
per determinare se lo smartphone connesso è un dispositivo cinese. Se lo smartphone è Android e non è un dispositivo cinese, il Play Store sarà disponibile. (Ie7dec)
Wear-Phone-Interactions versione 1.0.0-alpha04
7 aprile 2021
androidx.wear:wear-phone-interactions:1.0.0-alpha04
viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.
Modifiche all'API
- Sono state aggiornate le costanti
ErrorCode
per rendere la nuova libreria compatibile con le versioni precedenti dell'implementazione nella libreria di supporto per i dispositivi indossabili.
Correzioni di bug
- È stata corretta un'eccezione causata dalla nuova API OAuth all'avvio di una sessione OAuth.
Wear-Remote-Interactions versione 1.0.0-alpha03
7 aprile 2021
androidx.wear:wear-remote-interactions:1.0.0-alpha03
viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.
Modifiche all'API
PlayStoreAvailability
è stato modificato in modo da essere una classe che contiene un oggetto companion con metodi statici. L'utilizzo rimane invariato.
Correzioni di bug
- Documento di riepilogo corretto per
WatchFaceConfigIntentHelper
per mostrare correttamente il codice di esempio con i caratteri HTML effettivi.
Wear-Ongoing Wear-Phone-Interactions versione 1.0.0-alpha03
10 marzo 2021
androidx.wear:wear-ongoing:1.0.0-alpha03
e androidx.wear:wear-phone-interactions:1.0.0-alpha03
vengono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.
Nuove funzionalità
- Esegui la migrazione di OAuthClient dalla libreria di supporto Wearable ad AndroidX. Questa classe di cui è stata eseguita la migrazione viene rinominata in RemoteAuthClient e supporta l'autenticazione remota sui dispositivi indossabili, oltre all'aggiunta dell'estensione OAuth PKCE. Sono forniti gestori e classi di supporto aggiuntivi per la comunicazione.
- Ora le attività in corso possono essere associate a una notifica con un tag utilizzando il nuovo costruttore OngoingActivity.Builder.
Modifiche all'API
- È stato aggiunto il supporto per i tag di notifica nella libreria Attività in corso (I653b4)
- Esegui la migrazione di OAuthClient dalla libreria di supporto Wear ad AndroidX e aggiungi il supporto per l'estensione OAuth PKCE (I3eaaa)
Wear-Remote-Interactions versione 1.0.0-alpha02
10 marzo 2021
androidx.wear:wear-remote-interactions:1.0.0-alpha02
viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- Migrazione della classe PlayStoreAvailability dalla libreria di assistenza per dispositivi indossabili ad AndroidX, che fornisce un'API per verificare se il Play Store è disponibile sullo smartphone.
Correzioni di bug
- Migrazione della classe PlayStoreAvailability dalla libreria di supporto Wearable ad AndroidX. (I69bfe)
Versione 1.0.0-alpha02
10 febbraio 2021
androidx.wear:wear-ongoing:1.0.0-alpha02
e androidx.wear:wear-phone-interactions:1.0.0-alpha02
vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche all'API
- È stato aggiunto il supporto per stati più complessi. Sono composti da un o più modelli e da una serie di parti che verranno utilizzate per compilare i segnaposto del modello. OngoingActivityStatus ora dispone di un metodo statico per creare stati semplici con una sola parte (un testo o un timer) e un generatore per creare stati più complessi. (I1fe81)
- Sposta le classi BridgingManager e BridgingConfig dalla libreria di supporto Wear ad AndroidX, che fornisce API per attivare/disattivare le notifiche in fase di esecuzione e, facoltativamente, impostare i tag per le notifiche esenti dalla modalità di bridging. (I3a17e)
Versione 1.0.0-alpha01
27 gennaio 2021
androidx.wear:wear-ongoing:1.0.0-alpha01
, androidx.wear:wear-phone-interactions:1.0.0-alpha01
e androidx.wear:wear-remote-interactions:1.0.0-alpha01
vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Modifiche all'API
Esegui la migrazione della raccolta Attività in corso a una nuova sottoraccolta: wear-ongoing. Le classi ora si trovano nel pacchetto androidx.wear.ongoing (in precedenza androidx.wear.ongoingactivities) (I7c029)
Crea una nuova libreria di supporto contenente classi che supportano le interazioni dai dispositivi indossabili agli smartphone. Viene inizialmente compilato con le classi migrate dalla libreria di assistenza Wearable. (Id5180)
Esegui la migrazione della classe PhoneDeviceType dalla libreria di supporto Wearable ad AndroidX. La classe di cui è stata eseguita la migrazione viene rinominata PhoneTypeHelper e fornisce metodi di assistenza per determinare il tipo di smartphone a cui è accoppiato lo smartwatch attuale, da utilizzare solo su dispositivi indossabili. (Ibd947)
Crea una nuova libreria di supporto contenente classi che supportano le interazioni tra i dispositivi indossabili e gli smartphone. Viene inizialmente compilato con i classi di cui è stata eseguita la migrazione dalla libreria di assistenza per i dispositivi indossabili. (I9deb4)
Esegui la migrazione della classe WatchFaceCompanion dalla Wearable Support Library ad AndroidX. La classe di cui è stata eseguita la migrazione viene rinominata in WatchFaceConfigIntentHelper e fornisce funzioni di assistenza per specificare l'ID e il nome del componente nelle attività di configurazione del quadrante nell'app complementare sullo smartphone. Può essere utilizzata anche localmente per configurare il quadrante sul dispositivo indossabile. (Ia455f)
Wear Complications and Watchface 1.0.0
Versione 1.0.0-alpha22
15 settembre 2021
androidx.wear:wear-*:1.0.0-alpha22
viene rilasciato. La versione 1.0.0-alpha22 contiene questi commit.
Nuove funzionalità
- EditorSession ora si iscrive agli osservatori del ciclo di vita, quindi non devi più chiuderlo esplicitamente quando la tua attività non è più attiva.
Modifiche all'API
- EditorSession e ListenableEditorSession ora utilizzano StateFlow di Kotlin per complicationSlotsState, ComplicationsPreviewData e ComplicationsDataSourceInfo. (I761d9)
- EditorSession#userStyle ora è un
MutableStateFlow<UserStyle>
(I32ca9) - EditorSession.createOnWatchEditorSession ora utilizza un osservatore del ciclo di vita e si chiude automaticamente quando osserva onDestroy. Inoltre,
createOnWatchEditorSession
ora richiede solo che venga passata l'attività. Modifiche identiche sono state applicate anche a ListenableEditorSession. (Ic6b7f) - Il costruttore di CustomValueUserStyleSetting è stato reintegrato nell'API pubblica. (I2e69a)
- Ora
UserStyle
eredita daMap<UserStyleSetting, UserStyleSetting.Option>
eMutableUserStyleSetting#put
lancia IllegalArgumentException se l'impostazione non è nello schema o se l'opzione non corrisponde all'impostazione. (Iba40f)
Versione 1.0.0-alpha21
1° settembre 2021
androidx.wear:wear-*:1.0.0-alpha21
viene rilasciato. La versione 1.0.0-alpha21 contiene questi commit.
Modifiche all'API
- Tutte le API pubbliche di quadranti, client, editor e complicazioni ora utilizzano java.time.Instant per le ore anziché un Long, di conseguenza il livello API minimo è aumentato a 26. (I3cd48)
- Le API di quadranti e complicazioni ora utilizzano l'oggetto immutabile ZonedDateTime anziché Calendar. (I25cf8)
- Ora le complicazioni vengono inizializzate con NoDataComplicationData, ComplicationSlot.complicationData ha sempre un valore e CanvasComplicationDrawable.complicationData non è più nullable. (I4dfd6) In questo modo si riduce (ma non si elimina) il tremolio delle complicazioni quando si passa da un quadrante all'altro.
Versione 1.0.0-alpha20
18 agosto 2021
androidx.wear:wear-*:1.0.0-alpha20
viene rilasciato. La versione 1.0.0-alpha20 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto createFallbackPreviewData a ComplicationDataSourceInfo, che può essere utilizzato quando ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData restituisce null. (I38c4d)
- ComplicationDataSourceUpdateRequester è stato trasformato in un'interfaccia per consentire il mocking nei test di unità. Puoi creare un ComplicationDataSourceUpdateRequester specifico con ComplicationDataSourceUpdateRequester.create(). (I7da22)
- RenderParameters.pressedComplicationSlotIds è stato sostituito da RenderParameters.lastComplicationTapDownEvents che espone la nuova classe TapEvent contenente una tripletta di coordinate x, y del tocco in pixel e un timestamp.
WatchFace.TapListener.onTap
è stato sostituito daonTapEvent(@TapType tapType: Int, tapEvent: TapEvent)
. Inoltre,InteractiveWatchFaceClient.displayPressedAnimation
è stato rimosso. (Id87d2) - È stata aggiunta un'annotazione di threading esplicita per setImportantForAccessibility (I990fa)
- ComplicationSlotBoundsType è stato spostato in androidx-wear-watchface.ComplicationSlotBoundsType in wear/wear-watchface. (I09420)
- Abbiamo aggiunto il supporto per il passaggio degli ID risorsa stringa a UserStyleSetting e Options. Questo è ora il modo consigliato per creare questi oggetti. (I03d5f)
- Sono stati imposti limiti alle dimensioni massime del cavo di uno schema UserStyle. Inoltre, le icone nello schema non devono essere più grandi di 400 x 400 pixel. (I3b65b)
- Abbiamo aggiunto una classe MutableUserStyle per supportare le modifiche alle istanze UserStyle (I95a40)
- Abbiamo rinominato
ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient
inListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient
. (I64ce2) - Abbiamo modificato EditorState.previewComplicationsData in modo che contenga solo i dati relativi alle complicazioni abilitate e abbiamo aggiunto
EditorSession.DEFAULT_PREVIEW_TIME_MILLIS
che, se passato arenderWatchFaceToBitmap
oPreviewScreenshotParams
, richiede il rendering con l'ora di anteprima predefinita del quadrante. (If7b3c) - Abbiamo rimosso dall'API pubblica i costruttori UserStyleSetting che accettano CharSequence. Ti consigliamo di utilizzare invece i costruttori che richiedono ID StringResource. (I8537b)
CurrentUserStyleRepository.UserStyleChangeListener
ora supporta la conversione SAM. (I85989)
Versione 1.0.0-alpha19
4 agosto 2021
androidx.wear:wear-*:1.0.0-alpha19
viene rilasciato. La versione 1.0.0-alpha19 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto
ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient
, che fornisce un wrapperListenableFuture
perWatchFaceMetadataClient.createWatchFaceMetadataClient
. (I5fa37) UserStyleOption.getOptionForId
ora accettaUserStyleOption.Id
anziché un array di byte. (I469be)- Fornisci le costanti
BooleanOption.TRUE
eBooleanOption.FALSE
e non consentire la creazione di istanze (I46e09) - I metodi in wear-watchface-client che possono generare RemoteException sono stati ora annotati di conseguenza. (Ib8438)
- Per coerenza, abbiamo rinominato
EditorSession.createOnWatchEditingSession
increateOnWatchEditorSession
ecreateHeadlessEditingSession
increateHeadlessEditorSession
. Anche i relativi wrapper di Guava sono stati rinominati. (I1526b) EditorSession
ora è un'interfaccia eListenableEditorSession.commitChangesOnClose
è stato delegato correttamente. (I7dc3e)- Ora rifiutiamo qualsiasi schema di stile utente con impostazioni o opzioni con ID in conflitto (Ic2715)
- Abbiamo aggiunto un
UserStyle.get
sovraccarico che accettaUserStyleSetting.Id
. (I2aa0f)
Versione 1.0.0-alpha18
21 luglio 2021
androidx.wear:wear-*:1.0.0-alpha18
viene rilasciato. La versione 1.0.0-alpha18 contiene questi commit.
Modifiche all'API
- Abbiamo spostato
ComplicationHelperActivity
nella raccoltaandroidx.wear:wear-watchface
. (I39e76) - Per coerenza e chiarezza,
ComplicationProvider
è stato rinominato inComplicationDataSource
e tutti i corsi con il nome Provider sono stati rinominati allo stesso modo. (Iaef0b) CanvasComplication.isHighlighted
è stato spostato inRenderParameters.pressedComplicationSlotIds
. Questo è un passaggio verso la creazione diCanvasComplication
senza stato. Per supportare questa modifica,CanvasComplication.render
ora accetta ancheslotId
come parametro e ora passiamoComplicationSlot
aGlesTextureComplication
. (I50e6e)- Abbiamo aggiunto
headlessDeviceConfig
aEditorRequest
. Se non è nullo, questo parametro viene utilizzato per creare un'istanza headless per supportare EditorSession anziché agire sull'istanza interattiva. In questo modo, l'editor può essere richiamato per un quadrante diverso da quello corrente. (I0a820) - Abbiamo aggiunto un
WatchFaceMetadataClient
sperimentale che consente il recupero efficiente dei metadati degli quadranti statici, come ilUserStyleSchema
e i dettagli corretti relativi aComplicationSlots
. (I6bfdf) - Abbiamo rinominato
CanvasRenderer.uiThreadInit
in init. (I6fff9) - Abbiamo aggiunto PreviewScreenshotParams, un nuovo parametro facoltativo per EditorRequest che indica a EditorSession di acquisire uno screenshot di anteprima al commit con questo parametro. L'immagine di anteprima è visibile su
EditorState.previewImage
. (Ic2c16)
Correzioni di bug
- Gli sviluppatori non devono più aggiungere ComplicationHelperActivity al proprio manifest. (I6f0c2)
Versione 1.0.0-alpha17
30 giugno 2021
androidx.wear:wear-*:1.0.0-alpha17
viene rilasciato. La versione 1.0.0-alpha17 contiene questi commit.
Nuove funzionalità
In
GlesRenderer
,makeUiThreadContextCurrent
emakeBackgroundThreadContextCurrent
sono stati sostituiti darunUiThreadGlCommands
erunBackgroundThreadGlCommands
, che accettano entrambi unRunnable
. La libreria garantisce che in un determinato momento sia in esecuzione un solo comando GL eseguibile.Per semplificare l'inizializzazione di UiThread, abbiamo aggiunto
CanvasRenderer.uiThreadInit
, che viene chiamato una volta in UiThread prima di qualsiasi chiamata al rendering. Abbiamo anche aggiuntoonRendererCreated
aCanvasComplication
, il che semplifica la condivisione dello stato traRenderer
eCanvasComplication
.Per chiarezza, abbiamo rinominato
Complication
inComplicationSlot
ecomplicationId
incomplicationSlotId
ocomplicationInstanceId
a seconda dell'utilizzo
Modifiche all'API
- Per chiarezza, abbiamo rinominato
Complication
inComplicationSlot
ecomplicationId
incomplicationSlotId
ocomplicationInstanceId
, a seconda dell'utilizzo. Analogamente, le classi che utilizzano Complication sono state rinominate, ad esempio ComplicationsManager ora si chiama ComplicationSlotsManager. (I4da44) - In GlesRenderer,
makeUiThreadContextCurrent
emakeBackgroundThreadContextCurrent
sono stati sostituiti darunUiThreadGlCommands
erunBackgroundThreadGlCommands
, che accettano entrambi unRunnable
. Queste funzioni sono necessarie solo se devi effettuare chiamate GL al di fuori di render,runBackgroundThreadGlCommands
eonUiThreadGlSurfaceCreated
. Questo è necessario perché nello stesso processo possono essere presenti più GlesRenderer, ciascuno con i propri contesti, potenzialmente di quadranti diversi. Inoltre, l'accesso al contesto GL corrente condiviso è ora sincronizzato. (I04d59) - Abbiamo aggiunto
CanvasRenderer.uiThreadInit
, che viene chiamato una volta in UiThread prima di qualsiasi chiamata al rendering. Inoltre, per maggiore chiarezza, in GlesRenderer abbiamo rinominatoonGlContextCreated
inonBackgroundThreadGlContextCreated
eonGlSurfaceCreated
inonUiThreadGlSurfaceCreated
. (If86d0) HeadlessWatchFaceClient
eInteractiveWatchFaceClient
getComplicationsSlotState
sono stati rinominati ingetComplicationSlotsState
. InComplicationSlot
:createRoundRectComplicationBuilder
,createBackgroundComplicationBuilder
ecreateEdgeComplicationBuilder
sono stati rinominati rispettivamente increateRoundRectComplicationSlotBuilder
,createBackgroundComplicationSlotBuilder
ecreateEdgeComplicationSlotBuilder
. (Ib9adc)- Abbiamo aggiunto onRendererCreated a CanvasComplication, il che semplifica la condivisione dello stato tra Renderer e CanvasComplication. (I5e1ac)
Versione 1.0.0-alpha16
16 giugno 2021
androidx.wear:wear-*:1.0.0-alpha16
viene rilasciato. La versione 1.0.0-alpha16 contiene questi commit.
Nuove funzionalità
- Abbiamo corretto una serie di bug relativi alle recenti modifiche al modello di threading, nonché altri problemi con l'editor dei quadranti.
Correzioni di bug
- Impedire gli errori non recuperabili in
onComplicationProviderChooserResult
(b/189594557) - Risolvere i problemi relativi alle superfici non aggiornate e a drawBlack (b/189452267)
- Correzione di una situazione di concorrenza inaccessibile in
complicationsManager.watchState
(b/189457893) - Correzione del bug relativo alla durata del thread in background (b/189445428)
- Correzione dei problemi di Editor dei quadranti pre-R (b/189126313)
- Non aggiornare i parametri di avvio diretto per le modifiche allo stile dell'editor (b/187177307)
Versione 1.0.0-alpha15
2 giugno 2021
androidx.wear:wear-*:1.0.0-alpha15
viene rilasciato. La versione 1.0.0-alpha15 contiene questi commit.
Nuove funzionalità
La maggior parte dell'inizializzazione del quadrante viene ora eseguita in un thread in background, ma dopo il caricamento tutto il rendering del quadrante e così via viene eseguito in UiThread. Esiste una barriera di memoria tra il caricamento e il rendering, quindi la maggior parte dei quadranti degli utenti non deve fare nulla di speciale. I quadranti che utilizzano GLES potrebbero essere un'eccezione, poiché il contesto è specifico del thread e creiamo due contesti collegati, in modo da poter caricare le risorse GL (ad es. texture e shader) nel thread in background e utilizzarle in UiThread.
Abbiamo suddiviso la creazione dei quadranti in tre funzioni: createUserStyleSchema, createComplicationsManager e createWatchFace. Supponiamo che createUserStyleSchema e createComplicationsManager siano veloci e che createWatchFace possa richiedere del tempo per caricare gli asset. Sfruttando questa opportunità, abbiamo introdotto WatchFaceControlClient.getDefaultProviderPoliciesAndType
, che restituisce una mappa di ID complicazione a DefaultComplicationProviderPolicies e al ComplicationType predefinito. Questa operazione è più veloce rispetto alla creazione di un'istanza senza interfaccia perché non è necessario inizializzare completamente il quadrante per eseguire la query.
Infine, le complicazioni vengono ora costruite con una CanvasComplicationFactory che consente la costruzione lazy dei visualizzatori CanvasComplication.
Modifiche all'API
@TargetApi
sostituito con@RequiresApi
. (I0184a, b/187447093, b/187447094)- Abbiamo introdotto
WatchFaceControlClient.getDefaultProviderPoliciesAndType
, che restituisce una mappa di ID complicazione a DefaultComplicationProviderPolicies e al tipo ComplicationType predefinito. Ove possibile, viene utilizzato un percorso rapido che evita di costruire completamente un quadrante. Per semplificare questa operazione, l'API WatchFaceService è stata modificata con l'introduzione di due nuovi metodi: createUserStyleSchema e createComplicationsManager, i cui risultati vengono passati a createWatchFace. Inoltre, le complicazioni ora vengono costruite con una CanvasComplicationFactory che consente la costruzione lazy dei relativi visualizzatori. (Iad6c1) - Abbiamo rimosso MOST_RECENT_APP da SystemProviders. (I3df00)
- ObservableWatchData è ora una classe sigillata. (Ic940d)
- CanvasComplicationFactory.create (in genere associato a I/O) ora viene chiamato in un thread in background per ogni complicazione prima dell'inizio del rendering del thread ui. Esiste una barriera di memoria tra la costruzione e il rendering, pertanto non sono necessarie primitive di threading speciali. (Ia18f2)
- La creazione del quadrante ora viene eseguita in un thread in background, anche se tutto il rendering viene eseguito nel thread dell'interfaccia utente. GlesRenderer supporta due contesti collegati per supportare questa operazione. WatchFaceControlClient.createHeadlessWatchFaceClient e WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient potrebbero essere risolti prima del completamento di WatchFaceService.createWatchFace. Le chiamate API successive verranno bloccate fino al completamento dell'inizializzazione del quadrante. (Id9f41)
- EXPANSION_DP e STROKE_WIDTH_DP non sono più visibili in api.txt. (I54801)
- Abbiamo fatto in modo che EditorSession.createOnWatchEditingSession lanci TimeoutCancellationException in caso di errore anziché inviare una sessione nulla. Inoltre, il valore restituito di EditorRequest.createFromIntent e EditorSession.createOnWatchEditingSession ora è NonNull. (I41eb4)
Versione 1.0.0-alpha14
18 maggio 2021
androidx.wear:wear-*:1.0.0-alpha14
viene rilasciato. La versione 1.0.0-alpha14 contiene questi commit.
Nuove funzionalità
EditorSession.openComplicationProviderChooser
ora restituisce ChosenComplicationProvider che contiene l'ID complicazione,ComplicationProviderInfo
e un Bundle contenente eventuali extra restituiti dal selettore del fornitore.- Inoltre, stiamo eseguendo la migrazione del codice a Kotlin e la maggior parte dell'API del quadrante è ora definita in Kotlin.
Modifiche all'API
- Le proprietà GlesRenderer
eglContext
eeglDisplay
ora non sono null. Tutti gli errori GL ora vengono segnalati tramiteGlesRenderer.GlesException
anziché tramite RuntimeExceptions. (Ib1005) - Abbiamo eseguito la migrazione di
androidx.wear.watchface.complications.rendering.ComplicationDrawable
da Java a Kotlin (Ibc3eb) - Abbiamo eseguito la migrazione di
androidx.wear.watchface.complications.rendering.ComplicationStyle
da Java a Kotlin (I3375e) - Abbiamo aggiunto informazioni sul fornitore di complicazioni per ogni complicazione in EditorSession. (I37f14)
- Abbiamo esteso il risultato di
EditorSession.openComplicationProviderChooser
per includere le informazioni restituite da quello scelto. (Iead6d)
Wear Complications & Watchface versione 1.0.0-alpha13
5 maggio 2021
androidx.wear:wear-*:1.0.0-alpha13
viene rilasciato. La versione 1.0.0-alpha13 contiene questi commit.
Nuove funzionalità
I quadranti possono avere elementi visivi importanti oltre a mostrare l'ora e le complicazioni. Per fornire il supporto dello screen reader, ora il quadrante può specificare le etichette ContentDescription per l'accessibilità tramite la proprietà additionalContentDescriptionLabels del Renderer. Inoltre, per controllare l'ordine di ContentDescriptionLabels, è stato aggiunto accessibilityTraversalIndex alle complicazioni. Questo valore può essere modificato da ComplicationsUserStyleSetting.
Per incoraggiare gli sviluppatori a prendere in considerazione attentamente gli screen reader, abbiamo reso obbligatorio il passaggio del campo
contentDescription
diShortTextComplicationData.Builder
,LongTextComplicationData.Builder
eRangedValueComplicationData.Builder
ai relativi costruttori. Se viene passatoComplicationText.EMPTY
percontentDescription
, verrà generato automaticamente uncontentDescription
dal testo e dal titolo.WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient
ora generaServiceStartFailureException
se il quadrante genera un'eccezione durante l'inizializzazione. In questo modo, è molto più facile diagnosticare i problemi durante l'avvio del quadrante.
Modifiche all'API
- Abbiamo aggiunto il supporto per un nome componente null in ComplicationProviderInfo, necessario per supportare le versioni precedenti di Wear OS. (I744d2)
- Abbiamo eseguito la migrazione di
androidx.wear.complications.SystemProviders
da Java a Kotlin. (Ia1f8b) - Abbiamo nascosto tutte le classi dell'API pubblica presenti in android.support.wearable.complications e creato wrapper corrispondenti in AndroidX, ove necessario. (I7bd50)
- Abbiamo rinominato il metodo in
TimeDifferenceComplicationText.Builder
dasetMinimumUnit
asetMinimalTimeUnit
. (I20c64) - Abbiamo reso obbligatorio il passaggio del campo
contentDescription
perShortTextComplicationData.Builder
,LongTextComplicationData.Builder
eRangedValueComplicationData.Builder
nel costruttore. (I8cb69) - Abbiamo rinominato ComplicationProviderService.onComplicationUpdate in onComplicationRequest e abbiamo encapsulato il parametro id e type di questo metodo nei dati ComplicationRequest. L'ascoltatore corrispondente è stato rinominato in ComplicationRequestListener e il relativo metodo in ComplicationRequestListener.onComplicationData. (Iaf146)
- Abbiamo rimosso il metodo
isActiveAt
daComplicationData
e abbiamo exposto il campovalidTimeRange
al suo posto. Questa chiamata al metodo può essere sostituita convalidTimeRange.contains
. (I65936) - Abbiamo modificato la descrizione del metodo ComplicationProviderService.onComplicationActivated in modo che riceva un ComplicationType anziché un int. (Idb5ff)
- È stata eseguita la migrazione di ProviderUpdateRequester da Java a Koltin. (Ibce13)
- GlesRender.makeContextCurrent è ora pubblico. Il codice del quadrante potrebbe dover effettuare chiamate GL al di fuori di render e onGlContextCreated e, poiché potrebbero essere presenti sia un contesto interattivo che uno senza interfaccia, è necessario chiamarlo. (I8a43c)
- Ora WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient genera ServiceStartFailureException se lo smartwatch ne genera uno durante l'inizializzazione. Inoltre, WatchFaceService ora genera un'eccezione se createWatchFace richiede più di 6 secondi. (I59b2f)
- Abbiamo rimosso la proprietà id inutilizzata di
GlesTextureComplication
. (I28958) - Ora il quadrante può specificare le etichette ContentDescription per l'accessibilità tramite la proprietà additionalContentDescriptionLabels di
Renderer
. Oltre a controllare l'ordinamento di ContentDescriptionLabels, è stato aggiunto accessibilityTraversalIndex alle complicazioni. Questo valore può essere modificato da ComplicationsUserStyleSetting. (Ib7362) - Espandi la documentazione sulla gestione degli eventi touch nel quadrante. (Iaf31e)
Correzioni di bug
EditorSession.getComplicationsPreviewData()
ora restituisce una mappa per ogni complicazione anziché solo per quelle non vuote. Un'istanza di EmptyComplicationData viene utilizzata per le complicazioni vuote. (I1ef7e)
Versione 1.0.0-alpha12 di Wear Complications & Watchface
21 aprile 2021
androidx.wear:wear-*:1.0.0-alpha12
viene rilasciato. La versione 1.0.0-alpha12 contiene questi commit.
Nuove funzionalità
Gli editor dei quadranti devono evidenziare parti del quadrante per aiutare a capire quale aspetto di uno smartwatch è in fase di configurazione. Abbiamo esteso RenderParameters per consentire di evidenziare gli stili e le complicazioni. Esiste un nuovo livello facoltativo HighlightLayer che deve essere applicato sopra il quadrante con trasparenza alfa (le API di screenshot possono eseguire questa operazione per te o fornire il livello HighlightLayer da solo per la massima flessibilità). Ad esempio, supponiamo che tu abbia uno stile che ti consenta di configurare l'aspetto delle lancette dell'orologio. Il tuo renderer nel suo renderHighlightLayer può disegnare un contorno intorno a queste.
Per incoraggiare il supporto dei fornitori di complicazioni per l'accessibilità, abbiamo impostato il campo contentDescription di PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder e SmallImageComplicationData.Builder come argomento obbligatorio del costruttore. Sono stati aggiunti ComplicationTapFilter e Complication.createEdgeComplicationBuilder per supportare le complicazioni laterali (disegnate lungo il bordo dello schermo). Il rendering e il test di corrispondenza delle complicazioni laterali sono a carico del quadrante. I test degli hit di Edge non sono supportati dall'editor associato.
Modifiche all'API
- È stato aggiunto il prefisso
PROVIDER_
alle costanti in SystemProviders. (I1e773) - Abbiamo reso obbligatorio il campo
contentDescription
diPhotoImageComplicationData.Builder
,MonochromaticImageComplicationData.Builder
eSmallImageComplicationData.Builder
per essere passato al costruttore. (I9643a) ProviderInfoRetriever.requestPreviewComplicationData
è stato rinominato inretrievePreviewComplicationData
. (I911ee)- Migrazione di
ComplicationProviderService
da Java a Koltin. (I849f2) - Il metodo
ComplicationProviderService.onBind
è ora definitivo (I39af5) - Abbiamo reintegrato l'interfaccia
CanvasComplication
e spostatoCanvasComplicaitonDrawable
,GlesTextureComplication
eComplicationHighlightRenderer
inwear-watchface-complications-rendering
. (I84670) RenderParameters
è stato sottoposto a refactoring per supportare il rendering degli elementi in evidenza estesi. Ora è possibile richiedere il rendering degli elementi in evidenza per gli stili, nonché per tutte o una singola complicazione. Inoltre, CanvasRenderer e GlesRenderer hanno un nuovo metodo astratto renderHighlightLayer per il rendering di eventuali evidenziazioni richieste dall'editor. Il livello è stato rinominato in WatchFaceLayer. (Ic2444)ComplicationTapFilter
eComplication.createEdgeComplicationBuilder
sono stati aggiunti per supportare le complicazioni con i bordi. Il rendering e il test di corrispondenza delle complicazioni laterali sono a carico del quadrante. I test degli hit non sono supportati dagli editor. (Ia6604)- Per
DoubleRangeUserStyleSetting
eLongRangeUserStyleSetting
:defaultValue
,maximumValue
eminimumValue
ora sono proprietà Kotlin. Inoltre, le funzioniUserStyleSetting.Option
come toBooleanOption, toCoplicationOptions, toListOption e simili sono state rimosse. (I52899) - Aggiungi la taglia del mento alle proprietà del dispositivo disponibili per il quadrante. (I76e1e)
- Il costruttore di
ComplicationHighlightRenderer
ora accetta i parametrioutlineExpansion
eoutlineStrokeWidth
. (I87009) ComplicationDrawable.getNoDataText
ora fa parte dell'API pubblica. (I00598)
Versione 1.0.0-alpha11
7 aprile 2021
androidx.wear:wear-*:1.0.0-alpha11
viene rilasciato. La versione 1.0.0-alpha11 contiene questi commit.
Nuove funzionalità
- Le API dei quadranti sono state ulteriormente perfezionate. La maggior parte delle modifiche sono semplici cambi di nome, ma
InteractiveWatchFaceWcsClient
eInteractiveWatchFaceSysUiClient
sono stati uniti inInteractiveWatchFaceClient
.
Modifiche all'API
- ContentDescriptionLabel.text ora è un ComplicationText anziché la vecchia libreria di supporto per i dispositivi indossabili TimeDependentText. (I80c03)
- Non è garantito che
SystemProviders.GOOGLE_PAY
sia presente su tutti i dispositivi Android R, pertanto è stato rimosso dall'elenco. È comunque possibile utilizzare questo provider tramiteDefaultComplicationProviderPolicy
(If01b5) - Per coerenza, abbiamo rinominato ComplicationUpdateCallback in ComplicationUpdateListener. (I61ec7)
- La mappa del formato del cavo UserStyle è stata modificata in
Map<String, byte[]>
e, per comodità, è stata aggiunta una classeUserStyleData
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
eUserStyleSetting.Option
ora utilizzano rispettivamenteUserStyleSetting.Id
eUserStyleSetting.Option.Id
per memorizzare i propri ID anziché una stringa. (I63f72)InteractiveWatchFaceClient.SystemState
è stato rinominato inWatchUiState
. (I6a4e0)InteractiveWatchFaceWcsClient
eInteractiveWatchFaceSysUiClient
sono stati uniti perché era difficile spiegare la suddivisione delle responsabilità (Iff3fa)- I valori dell'enum del livello sono stati rinominati per maggiore chiarezza.
Layer#TOP_LAYER
è diventatoLayer#COMPLICATIONS_OVERLAY
eLayer#BASE_LAYER
è diventatoLayer#BASE
(Ia144e) UserStyleListener
è stato rinominatoUserStyleChangeListener
(I18524)UserStyleRepository
è stato rinominato inCurrentUserStyleRepository
(I6ea53)InteractiveWatchFaceWcsClient.updateInstance
è stato rinominato inupdateWatchfaceInstance
. (I321dc)- Gli eventi WatchFace TapType sono stati rinominati in modo da allinearsi a MotionEvents / Compose. (I0dfd0)
- takeWatchfaceScreenshot è stato rinominato in renderWatchFaceToBitmap e takeComplicationScreenshot è stato rinominato in renderComplicationToBitmap (Ie0697)
- L'interfaccia CanvasComplication è stata rimossa a favore della classe aperta CanvasComplicationDrawable. (I1f81f)
WatcfaceControlServiceFactory
è stato rimosso dall'API pubblica. (I1f8d3)- Abbiamo rinominato
CanvasComplication.setData
inCanvasComplication.loadData
. (If1239) ComplicationsManager.bringAttentionToComplication
è stato rinominato indisplayPressedAnimation
. (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()
eHeadlessWatchFaceClient.createFromBundle
per supportare l'invio diHeadlessWatchFaceClient
tramite AIDL. (I07c35) - HeadlessWatchFaceClient e InteractiveWatchFaceClient ora dispongono di ClientDisconnectListener e isConnectionAlive() per consentirti di osservare se la connessione è interrotta per qualche motivo (ad esempio se il quadrante viene interrotto). (Ie446d)
WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync
ora è una funzione di sospensione ed è stata rinominata ingetOrCreateInteractiveWatchFaceClient
. (Ib745d)EditorState.commitChanges
ehasCommitChanges()
sono stati rinominati inshouldCommitChanges()
. (I06e04)previewComplicationData
è stato rinominato inpreviewComplicationsData
per indicare che (di solito) nella mappa sono presenti più complicazioni. (I56c06)InteractiveWatchFaceWcsClient.bringAttentionToComplication
è stato rinominato indisplayPressedAnimation
per coerenza conComplicationsManager.displayPressedAnimation
. (Ic9999)- Tutte le istanze dell'ID istanza del quadrante sono state incapsulate in una nuova classe WatchFaceId (I45fdf)
- La proprietà
complicationState
è stata rinominata incomplicationsState
per indicare la pluralità. (Ided07) - Abbiamo rimosso le varie conversioni di Binder per wear-watchface-client, che dovrebbero essere necessarie. (Icc4c0)
- Per coerenza,
EditorServiceClient
è stato sottoposto a refactoring in modo da utilizzare gli ascoltatori anziché gli osservatori. (Iec3a4) - Abbiamo aggiunto un paio di annotazioni
@Px
mancanti aInteractiveWatchFaceSysUiClient
eWatchFaceControlClient
. (I3277a) - Per motivi di coerenza, è stato rinominato EditorObserverCallback in EditorObserverListener. (Ie572d)
- EditorState.watchFaceInstanceId è limitato al livello API Android R e versioni successive e non è più nullable. (Id52bb)
EditorSession.launchComplicationProviderChooser
è stato rinominato inopenComplicationProviderChooser
. (I9d441)EditorSession.createOnWatchEditingSessionAsync
è stata rinominata increateOnWatchEditingSession
e ora è una funzione di sospensione. (Id257b)- Sono state aggiunte diverse annotazioni
@UiThread
mancanti il giornoEditorSession
. (I6935c) UserStyleSetting.affectsLayers
è stato rinominato inaffectedLayers
. (I6e22b)
Versione 1.0.0-alpha10
24 marzo 2021
androidx.wear:wear-*:1.0.0-alpha10
viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
- Ora è possibile creare oggetti open GL (ad es. texture) durante WatchFaceService.createWatchFace perché GlesRenderer ora richiede una chiamata esplicita a initOpenGLContext che può essere eseguita all'interno di createWatchFace.
Modifiche all'API
IdAndComplicationData
era un po' complicato ed è stato rimosso dall'API pubblica. Le classi e le interfacce che lo utilizzavano sono state sottoposte a refactoring. (I4c928)- Abbiamo sostituito
ReferenceTime
conCountUpTimeReference
eCountDownTimeReference
, che sono più autoesplicativi. (Ib66c6) - Sono state aggiunte alcune annotazioni
@Px
e@ColorInt
mancanti. (I9bbc3) Complication.complicationConfigExtras
ora non è nullo e il valore predefinito èBundle.EMPTY
. (Iad04f)GlesRenderer
ora richiede di chiamareinitOpenGLContext
dopo la costruzione. Questa funzione era un dettaglio interno, ma ora è nell'API pubblica per consentire le chiamate GL in precedenza all'interno di createWatchFace. (I726c2)- Abbiamo rimosso
Complication.setRenderer
perché non dovrebbe essere necessario. (Ie992f) Complicaiton.setComplicationBounds
non fa più parte dell'API pubblica. Se devi regolare la posizione di una complicazione, puoi farlo tramiteComplicationsUserStyleSetting
. (Ibd9e5)ComplicationsManager.TapCallback.onComplicationSingleTapped
è stato rinominato inonComplicationTapped
. (I3a55c)ComplicationOutlineRenderer.drawComplicationSelectOutline
è stato rinominato indrawComplicationOutline
. (I14b88)
Versione 1.0.0-alpha09
10 marzo 2021
androidx.wear:wear-complications-*:1.0.0-alpha09
e androidx.wear:wear-watchface-*:1.0.0-alpha09
vengono rilasciati. La versione 1.0.0-alpha09 contiene questi commit.
Nuove funzionalità
- L'interfaccia tra l'host WCS/SysUI e il quadrante è stata migliorata. Ora è possibile per un editor determinare se una modifica dello stile attiva o disattiva una complicazione (enabled = initiallyEnabled più eventuali sostituzioni da ComplicationsUserStyleSetting). Inoltre,
EditorService.closeEditor
consente a SysUI di chiudere da remoto un editor sul quadrante, se necessario. - Inoltre,
InteractiveWatchFaceWcsClient.setUserStyle
con un comando più potenteupdateInstance
che: modifica l'ID istanza, imposta lo stile e cancella le complicazioni tutto in una volta.
Modifiche all'API
- Le proprietà TraceEvents sono state aggiunte alle librerie dei quadranti. (I1a141)
ComplicationState
ora dispone di una nuova proprietàinitiallyEnabled
utile per prevedere le conseguenze del passaggio da uno stile all'altro. (I8c905)- Abbiamo sostituito
InteractiveWatchFaceWcsClient.setUserStyle
con un comando più potenteupdateInstance
che: modifica l'ID istanza, imposta lo stile e cancella le complicazioni. (Ife6f6) - Le API di screenshot di WatchFaceClient non comprimono più gli screenshot perché erano lente, ma lasciamo la post-elaborazione all'autore della chiamata. (Id35af)
- Ora è possibile chiudere da remoto un editor sul quadrante tramite
EditorService.closeEditor
. (Ic5aa4) - Sono state aggiunte annotazioni sulla nullità (Ic16ed)
Versione 1.0.0-alpha08
24 febbraio 2021
androidx.wear:wear-*:1.0.0-alpha08
viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
- Alcuni quadranti sono progettati attorno a una o più complicazioni specifiche. Per supportare questa funzionalità, abbiamo aggiunto Complication.Builder#setFixedComplicationProvider che, se impostato su true, impedisce all'utente di modificare la complicazione in quella posizione.
- Le librerie dei quadranti sono in Kotlin e utilizzano le coroutine (ad es. le funzioni di sospensione). Per gli utenti Java abbiamo fornito wrapper ListenableFuture per migliorare l'interoperabilità nelle seguenti librerie: wear/wear-watchface-guava, wear/wear-watchface-client-guava e wear/wear-watchface-editor-guava.
Modifiche all'API
- Abbiamo rimosso il supporto per i doppi tocchi sulle complicazioni che aprono il selettore del fornitore. Questa funzionalità non era comune nei quadranti e complicava l'implementazione di SysUI. (I3ef24)
- I metodi ProviderInfoRetriever potrebbero generare un'eccezione ServiceDisconnectedException se il binder si chiude inaspettatamente. (Ib2cc4)
- A partire da Android 11, ci sono limitazioni su quando è possibile eseguire ProviderChooser. Inoltre, vogliamo che gli editor vengano creati con il nuovo
wear-watchface-editor
, quindi ComplicationHelperActivity verrà rimosso dall'API pubblica. (Ib19c1) - Rimuovi i metodi statici ComplicationText a favore dei costruttori. (Ibe399)
- Abbiamo introdotto wrapper guava ListenableFuture per i vari metodi sospesi della libreria dei quadranti. (I16b2c)
- Per una maggiore chiarezza dell'API, abbiamo aggiunto a RenderParameters un costruttore secondario che non richiede una tinta, da utilizzare con LayerModes diversi da
LayerMode.DRAW_OUTLINED
. (I497ea) - In precedenza, ListUserStyleSetting era diverso dall'altro perché aveva un argomento predefinito. Ora tutti i costruttori delle sottoclassi StyleSetting prendono per ultimi il valore predefinito. (I9dbfd)
- CanvasComplication è stato sottoposto a refactoring per utilizzare un metodo nascosto, che semplifica l'implementazione di una sottoclasse (I5b321)
- Abbiamo riorganizzato EditorResult in favore di un nuovo EditorService e
EditorSession.broadcastState()
per trasmettere gli aggiornamenti a un osservatore (in genere SysUI). (Ic4370) - Alcuni quadranti sono basati su una complicazione specifica che è parte integrante del quadrante e il cui fornitore non è configurabile dall'utente. Per supportare questa funzionalità, abbiamo aggiunto
Complication.Builder#setFixedComplicationProvider
. (I4509e) - EditorRequest ora specifica il nome del pacchetto anziché ComponentName perché non era pratico per SysUI cercare il nome della classe dell'editor e ci serve solo il nome del pacchetto. (Ib6814)
Versione 1.0.0-alpha07
10 febbraio 2021
androidx.wear:wear-*:1.0.0-alpha07
viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Nuove funzionalità
- WatchFaceService.createWatchFace ora è una funzione di sospensione, il che significa che il quadrante non deve più bloccare il thread ui in attesa di I/O. Analogamente, wear-watchface-editor e wear-complications-data
Modifiche all'API
- Rimuovi la classe PhotoImage e utilizza direttamente Icon. (I8a70b)
- Esponi l'intervallo di tempo valido di ComplicationData. (I91366)
- Rendi più espliciti gli attributi simili a immagini. (I81700)
- wear-watchface-editor e wear-complications-data sono stati sottoposti a refactoring per utilizzare funzioni di sospensione anziché coroutine. A seguire, Rx Java e Future Compat Wrapper. (If3c5f)
- Ora ProviderInfoRetriever lancia PreviewNotAvailableException se requestPreviewComplicationData non riesce a restituire i dati di anteprima a causa di problemi di connessione o della mancanza del supporto dell'API. (I4964d)
- WatchFaceControlService::createWatchFaceControlClient ora è una funzione sospesa e getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient ora si chiama getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync che restituisce
Deferred<InteractiveWatchFaceWcsClient>
. RX Java e Future compat wrapper da seguire. (I5d461) - Rinomina
CATEGORY_PROVIDER_CONFIG_ACTION
inCATEGORY_PROVIDER_CONFIG
. (I7c068) - Tieni presente che createOnWatchEditingSession è ora una funzione sospesa perché a volte il quadrante non è disponibile fino a poco dopo l'inizio dell'attività di modifica. (Ida9aa)
- WatchFaceService.createWatchFace è ora una funzione di sospensione che consente l'inizializzazione asincrona. In precedenza, dovevi bloccare il thread principale. (If076a)
- UserStyle ora ha un operatore array e abbiamo aggiunto funzioni di assistenza per il trasferimento a UserStyle.Option. (I35036)
- Abbiamo corretto un bug di marshalling con i wireformat di UserStyle che modificava alcune API nascoste instabili. (I8be09)
- Abbiamo aggiunto CustomValueUserStyleSetting che ti consente di memorizzare una singola stringa specifica per l'applicazione in un UserStyle. Gli editor dei quadranti predefiniti ignoreranno questo valore. (Ic04d2)
- InstanceID non viene passato negli extra intent per R e le versioni precedenti di Android WearOS di cui non possiamo eseguire l'upgrade. Per supportare questa funzionalità, ora consentiamo che InstancID sia nullo. (Id8b78)
- EditorRequest ora include il nome del componente dell'editor, impostato come componente in WatchFaceEditorContract.createIntent (I3cd06)
- Il risultato dell'editor del quadrante ora include i dati di complicazione di anteprima per consentire all'utente che chiama di acquisire uno screenshot del quadrante dopo la modifica. (I2c561)
Correzioni di bug
- Sono state aggiunte sostituzioni di toString() a UserStyle, UserStyleSetting e UserStyleSchema, il che rende più piacevole il lavoro con queste classi. (I9f5ec)
Versione 1.0.0-alpha06
27 gennaio 2021
androidx.wear:wear-*:1.0.0-alpha06
viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo introdotto una nuova libreria wear/wear-watchface-editor che consente agli sviluppatori di quadranti e potenzialmente agli OEM di creare un editor di stili e complicazioni. SysUI invierà un Intent al quadrante che utilizzerà la nuova classe EditorSession per accedere ai dettagli del quadrante e registrare il risultato tramite Activity.setWatchRequestResult. Per supportare questa funzionalità, abbiamo aggiunto ProviderInfoRetriever.requestPreviewComplicationData, che consente agli editor dei quadranti di richiedere i dati di ComplicationData di anteprima. Il vantaggio dell'anteprima di ComplicationData è che, a differenza dei dati in tempo reale, non devi preoccuparti di mostrare le finestre di dialogo di autorizzazione durante il rendering dell'editor (tieni presente che se un utente seleziona un fornitore con un'autorizzazione, gli verrà comunque chiesto di concederla).
Modifiche all'API
- ComplicationProviderInfo ora ha un campo per il ComponentName del provider. Il supporto di questo campo verrà aggiunto a WearOS in un secondo momento e nel frattempo sarà nullo. (Id8fc4)
- Abbiamo aggiunto ProviderInfoRetriever.requestPreviewComplicationData che consente agli editor dei quadranti di richiedere i dati di anteprima delle complicazioni. Questo è utile perché le complicazioni in tempo reale potrebbero richiedere autorizzazioni e ora puoi visualizzare i dati di anteprima per le complicazioni non attive. (I2e1df)
- ComplicationManager è ora un parametro facoltativo del costruttore WatchFace e gli argomenti sono stati riordinati per consentire questa operazione. (I66c76)
- Abbiamo aggiunto un pacchetto facoltativo a Complications che, se impostato, viene unito all'intent inviato per avviare l'attività di scelta del fornitore. (Ifd4ad)
- Abbiamo aggiunto una nuova libreria
wear-watchface-editor
per il supporto degli editor ospitati su quadranti e SysUi. SysUI avvierà questi editor inviando un'intent. Il servizio Attività del quadrante può utilizzare la nuova classe EditorSession per accedere ai dettagli del quadrante e registrare il risultato tramite Activity.setWatchRequestResult. (I2110d) - LayerMode.DRAW_HIGHLIGHTED ora si chiama LayerMode.DRAW_OUTLINED e RenderParameters.highlightComplicationId ora si chiama RenderParameters.selectedComplicationId, il che disegna un'evidenziazione sulla complicazione specificata oltre a un contorno. (I90a40)
- Ora il futuro di WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient può essere risolto con una ServiceStartFailureException se il servizio si arresta in attesa della creazione del quadrante. (I0f509)
- EditorSession.complicationPreviewData ora è un ListenableFuture perché il recupero di questi dati è un processo asincrono. (Iead9d)
Correzioni di bug
- Stiamo rimuovendo i campi inutilizzati da ComplicationOverlay lasciando abilitati e complicationBounds. (I17b71)
Versione 1.0.0-alpha05
13 gennaio 2021
androidx.wear:wear-*:1.0.0-alpha05
viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
I quadranti spesso supportano una serie di configurazioni di complicazioni con un numero variabile di complicazioni mostrate. Per semplificare la configurazione, ora supportiamo le complicazioni disattivate inizialmente chiamando setEnabled(false) sul builder. Queste possono essere attivate in un secondo momento tramite ComplicationsUserStyleSetting.
Modifiche all'API
- ComplicationHelperActivity ora accetta
Collection<ComplicationType>
anziché un array di int, il che ne semplifica l'utilizzo. (I1f13d) - Ora
ProviderInfoRetriever.retrieveProviderInfo
restituisce correttamenteListenableFuture<ProviderInfo[]>
. (If2710) - Ora puoi creare una complicazione inizialmente disattivata chiamando setEnabled(false) sul builder. (Idaa53)
- WatchFaceState ora ha una proprietà isHeadless che è vera solo per le istanze headless. (Ifa900)
- Ora ComplicationDrawable supporta facoltativamente il caricamento sincrono dei drawable. Viene utilizzato dalle API di screenshot. (I34d4a)
Versione 1.0.0-alpha04
16 dicembre 2020
androidx.wear:wear-*:1.0.0-alpha04
viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- La raccolta di quadranti Wear OS ora supporta l'impostazione di limiti per tipo. Ad esempio, puoi passare a un riquadro delimitante ampio per ComplicationType.LONG_TEXT e utilizzare un riquadro delimitante più piccolo per altri tipi.
Modifiche all'API
- Le complicazioni ora utilizzano ComplicationBounds che racchiude un
Map<ComplicationType, RectF>
per supportare le dimensioni per tipo di complicazione. (I1ebe7) - Ora RenderParameters consente di specificare la tinta dell'evidenziazione da utilizzare negli screenshot. (Iff42b)
- Ad eccezione dei limiti, ora devi utilizzare ComplicationsUserStyleSetting per modificare le complicazioni, in modo da mantenere sincronizzato il sistema operativo. (I8dc5d)
- Renderer ora è una classe sigillata. Ciò significa che CanvasRenderer e GlesRenderer ora sono classi interne di Renderer. (Iab5d4, b/173803230)
- CanvasComplicationDrawable.drawHighlight è stato rinominato in drawOutline. ObservableWatchData ora ha alcune annotazioni UiThread mancanti. ScreenState è stato completamente rimosso da WatchState. (If1393)
- Il livello API minimo per wear-watchface è ora 25. Tieni presente che il supporto della funzionalità Canvas hardware richiede il livello API 26 o versioni successive. (Ic9bbd)
- InteractiveWatchFaceWcsClient ora dispone di un helper getComplicationIdAt. (I05811)
- Il livello API per wear-watchface-client è stato ridotto a 25, ma le API di screenshot richiedono il livello API 27. (Id31c2)
Correzioni di bug
- Ora esponiamo il ComplicationType corrente di ComplicationData della complicazione in ComplicationState. (I9b390)
- InteractiveWatchFaceWcs ora dispone di un metodo "bringAttentionToComplication" per evidenziare brevemente la complicazione specificata. (I6d31c)
InteractiveWatchFaceWcsClient#setUserStyle
ora ha un sovraccarico che accetta Map<string, string="">, il che può potenzialmente evitare un viaggio di andata e ritorno IPC aggiuntivo necessario per costruire UserStyle. (I24eec)</string,>
Versione 1.0.0-alpha03
2 dicembre 2020
androidx.wear:wear-*:1.0.0-alpha03
viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.
Nuove funzionalità
La classe Complication ora ha una proprietà compicationData che consente ai quadranti di osservare le modifiche di ComplicationData. In questo modo è possibile modificare le dimensioni della complicazione in base al tipo.
Le frequenze fotogrammi variabili sono ora supportate assegnando un valore a Renderer.interactiveDrawModeUpdateDelayMillis. Per i quadranti che eseguono animazioni brevi ogni secondo, questa impostazione può comportare un buon risparmio energetico passando alla modalità Sospensione quando non sono in animazione.
Modifiche all'API
BACKGROUND_IMAGE
è stato rinominatoPHOTO_IMAGE
, così come i corsi correlati. Questo tipo di complicazione non viene utilizzato esclusivamente per gli sfondi, da qui la modifica del nome. (I995c6)- DefaultComplicationProviderPolicy annotato correttamente con IntDefs. (I3b431)
- La classe nascosta TimeDependentText non è più esposta tramite ContentDescriptionLabel, ma viene aggiunto un accessor per recuperare il testo in un momento specificato. (Ica692)
- Il costruttore di ObservableWatchData è ora interno. (I30121, b/173802666)
- La complicazione ora ha compicationData che consente ai quadranti di osservare le modifiche di ComplicationData. Complication ha anche una nuova chiamata isActiveAt che può essere utilizzata per indicare se è necessario eseguire il rendering di un elemento alla data e ora specificate. (Ic0e2a)
SharedMemoryImage
vuoto non è più presente nell'API pubblica. (I7ee17)WatchFace.overridePreviewReferenceTimeMillis
ora ha un'annotazione IntRange e i getter e i setter hanno nomi coerenti. (Ia5f78)- Per maggiore chiarezza,
Complication.Builder
viene ora creato tramiteComplication.createRoundRectComplicationBuilder
oComplication.createBackgroundComplicationBuilder
(I54063) - È stato aggiunto WatchFace.TapListener che consente al quadrante di osservare i tocchi non utilizzati dalle complicazioni. (Ic2fe1, b/172721168)
- Il quadrante ora supporta le frequenze fotogrammi variabili assegnando il valore
Renderer.interactiveDrawModeUpdateDelayMillis
. In questo modo puoi preservare la durata della batteria mettendola in sospensione quando non è in animazione. (I707c9) - WatchFace.Builder non è più necessario e invalidate() e interactiveUpdateRateMillis sono stati spostati in Renderer. (I329ea)
- Per una migliore interoperabilità con Java, sono stati rinominati i getter per le proprietà booleane in WatchState (I6d2f1)
- Per coerenza, sono stati rinominati TapListener in TapCallback e InvalidateCallback in InvalidateListener. (I9414e)
- Per maggiore chiarezza, le opzioni di stile dei quadranti Wear 2.0 sono state spostate in una classe a parte. I setters di WatchFace.Builder ora hanno getter della classe WatchFace simmetrici. (Iefdfc)
- Sono stati aggiunti InteractiveWatchFaceWcsClient e
WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient
che recuperano un'istanza esistente o la creano dopo che il servizio di sfondo è stato collegato e ha creato il motore. (Id666e) - WatchFaceControlClient ora è un'interfaccia che consente ai test di simularlo. (I875d9)
- HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl e InteractiveWatchFaceWcsClient sono ora interfacce per facilitare i test. (I7cdc3)
- Sono state aggiunte annotazioni ai metodi in
wear-watchface-complications-rendering
(I0d65c)
Correzioni di bug
- Rimuovi la forma dello schermo da DeviceConfig, che duplicava
android.content.res.Configuration#isScreenRound()
(Ifadf4) - È stato modificato
WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient
in modo da accettare unMap<String, String>
anziché unUserStyle
perché è difficile creare unUserStyle
senza conoscere lo schema, che puoi ottenere solo dopo aver creato il client. (Iea02a) - Correggi
InteractiveWatchFaceWcsClient
in modo da utilizzareComplicationState
anziché il formato del cavo. (Icb8a4) UserStyleSettings
ora è una classe sigillata perché gli editor dei quadranti riconoscono solo le classi integrate. (I2d797)
Versione 1.0.0-alpha02
11 novembre 2020
androidx.wear:wear-*:1.0.0-alpha02
viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche all'API
ComplicationDetails
ora si chiamaComplicationState
ed è correttamente racchiuso e gli utilizzi del supporto per i dispositivi indossabili@ComplicationData.ComplicationType
sono stati migrati ad androidxComplicationType
. (I4dd36)- Aggiungi un parametro
highlightedComplicationId
facoltativo a RenderParameters che ti consente di richiedere l'evidenziazione di una singola complicazione negli screenshot. (I66ce9) ComplicationProviderService
per utilizzare l'API delle complicazioni di nuovo stile per coerenza (Id5aea)getPreviewReferenceTimeMillis
ora riceve i tempi di riferimento daDeviceConfig
. (I779fe)- Semplifica l'API Renderer, puoi utilizzare
SurfaceHolder.Callback
per osservare le modifiche. (I210db) CanvasComplicationRenderer
non si estende daRenderer
, rinominalo per chiarezza. (Ibe880)
Correzioni di bug
- Prima versione di
androidx.wear:wear-watchface-client
(I1e35e) - Modificato il nome di
GlesTextureComplication#renderer
per maggiore chiarezza (Ib78f7) - Rinomina
StyleCategory
inStyleSetting
per chiarezza (I488c7) - Aggiunta di
UserStyleSchema
per un'API più chiara (If36f8)
Versione 1.0.0-alpha01
28 ottobre 2020
androidx.wear:wear-complications-*:1.0.0-alpha01
e androidx.wear:wear-watchface-*:1.0.0-alpha01
vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Modifiche all'API
- Sono state rimosse alcune funzionalità che non intendevamo esporre nell'API pubblica. (I41669)
- Crea una raccolta
androidx.wear:wear-complications-provider
. (I77f1f) - ComplicationsUserStyleCategory, la nuova categoria consigliata per la configurazione delle complicazioni (I96909)
- Aggiungi l'API wear-complication-data. (I7c268)
- Funzioni con valori restituiti booleani a cui deve essere anteposto "è" anziché "ottieni" (If36ff)
- Il consiglio dell'API è di evitare di utilizzare protetto, pertanto questa classe è stata sottoposta a refactoring per accettare i parametri tramite il costruttore. (I61644)
- Rinomina setBackgroundComplication per maggiore chiarezza. (I96fe3)
- Utilizza le proprietà Kotlin per isHighlighted e data di ComplicationDrawable (I4dcc8)
- Anziché ComplicationRenderer.InvalidateCallback, aggiungiamo Complication#invalidate() (I4f4c6)
- Queste API sono state ritirate in WearableSupport e sono state rimosse qui. (Ib425c)
- Sono stati rinominati alcuni metodi del costruttore di quadranti per sottolineare la loro natura precedente a Wear 2.0. (Idb775)
- Prima API beta candidata per wear/wear-watchface (Id3981)
- Prima versione monitorata dell'API. (Ie9fe6)
- Nascondere correttamente la definizione di tipo di IntComplicationDrawable.BorderStyle e passare a ComplicationStyle per coerenza. (I27f7a)
- Aggiunta di annotazioni mancanti per i metodi ComplicationStyle (I838fd)
- Questa libreria non ha un'API pubblica (I88e2b)
- Tutti i tipi di opzioni di categoria di stile sono ora correttamente finali. (Ib8323)
- Prima versione monitorata dell'API. (I27c85)
Correzioni di bug
- È stato modificato ComplicationProviderService in modo che abbia un metodo getComplicationPreviewData esplicito. (I4905f)
- Il controllo lint dell'API per MissingGetterMatchingBuilder è abilitato per androidx (I4bbea, b/138602561)
- Rinomina wear-complications-rendering. (Ifea02)
- I nomi visualizzati delle categorie di stile ora sono CharSequence (I28990)
- Sostituzione di Sostituzione con Sovrapposizione per rispettare le convenzioni di denominazione di temi e stili attuali. (I4fde9)
- È stato rinominato UserStyle#getOptions per maggiore chiarezza. (I695b6)
Versione 1.2.0
Versione 1.2.0
15 settembre 2021
androidx.wear:wear:1.2.0
viene rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
È stato aggiunto il componente CurvedText per scrivere facilmente testo curvo seguendo la curvatura del cerchio più grande che può essere inscritto nella visualizzazione. Un esempio di utilizzo:
<androidx.wear.widget.CurvedText android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="example curved text" app:anchorAngleDegrees="180" app:anchorPosition="center" app:clockwise="false" style="@android:style/TextAppearance.Large" />
È stato aggiunto il contenitore ArcLayout per disporre gli elementi secondari uno per uno su un arco in senso orario o antiorario. I relativi elementi secondari possono essere widget Android standard o widget "curvati" che implementano l'interfaccia
ArcLayout.Widget
. (I536da) Un esempio di utilizzo:<androidx.wear.widget.ArcLayout android:layout_width="match_parent" android:layout_height="match_parent" app:anchorPosition="center"> <ImageView android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ic_launcher" /> <androidx.wear.widget.CurvedText android:layout_width="match_parent" android:layout_height="match_parent" android:text="Curved Text" style="@android:style/TextAppearance.Small" android:padding="2dp" /> </androidx.wear.widget.WearArcLayout>
È stato aggiunto un nuovo contenitore del layout, DismissibleFrameLayout, che gestisce la chiusura con il pulsante Indietro e/o con uno scorrimento, da utilizzare all'interno di un'attività. È necessario aggiungere almeno un ascoltatore per eseguire un'azione di dismissione. In genere, un ascoltatore rimuove una vista contenitore o un frammento dall'attività corrente. setSwipeDismissible(boolean) e setBackButtonDismissible(boolean) sono forniti per il controllo diretto delle funzionalità. Questo nuovo layout è destinato a sostituire SwipeDismissFrameLayout esistente.
Nella classe AmbientModeSupport è stato aggiunto il supporto per indicare che un'attività può essere "ripristinata automaticamente" quando il dispositivo esce dalla modalità Ambient. Questa funzionalità era precedentemente disponibile nella classe WearableActivity deprecata della libreria WearableSupportLibrary. (I336ab)
È stata eseguita la migrazione della classe WearableCalendarContract dalla libreria di supporto per i dispositivi indossabili. Questa API fornisce un sottoinsieme dei dati disponibili tramite CalendarContract, ma viene sincronizzata automaticamente con i dispositivi indossabili. (I6f2d7)
È stata aggiunta una nuova API
WearTypeHelper
inandroidx.wear.utils
per determinare se il dispositivo Wear è destinato alla Cina. (Ib01a9)A
androidx.wear.widget.ConfirmationOverlay
sono state aggiunte funzionalità di accessibilità che leggono i messaggi se impostate seguite dalla descrizione dell'animazione. (I524dd)È stato corretto un bug che causava l'arresto anomalo di ConfirmationActivity se non veniva fornito alcun messaggio. (Ie6055)
È stato corretto un bug per cui gli elementi RecyclerView con scorrimento orizzontale causavano la visualizzazione di
WearableDrawerLayout
su tutte le interazioni. (I24c7f)
Versione 1.2.0-rc01
1° settembre 2021
androidx.wear:wear:1.2.0-rc01
viene rilasciato senza modifiche dall'ultima versione beta. La versione 1.2.0-rc01 contiene questi commit.
Versione 1.2.0-beta01
18 agosto 2021
androidx.wear:wear:1.2.0-beta01
viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava l'arresto anomalo di ConfirmationActivity se non veniva fornito alcun messaggio. (Ie6055)
Versione 1.2.0-alpha13
4 agosto 2021
androidx.wear:wear:1.2.0-alpha13
viene rilasciato. La versione 1.2.0-alpha13 contiene questi commit.
Modifiche all'API
WearTypeHelper.isChinaDevice
è stato rinominato inWearTypeHelper.isChinaBuild
. (I47302)
Correzioni di bug
- Abbiamo aggiunto a
androidx.wear.widget.ConfirmationOverlay
funzionalità di accessibilità che leggono i messaggi se impostati seguiti dalla descrizione dell'animazione. (I524dd)
Versione 1.2.0-alpha12
21 luglio 2021
androidx.wear:wear:1.2.0-alpha12
viene rilasciato. La versione 1.2.0-alpha12 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto una nuova API
WearTypeHelper
inandroidx.wear.utils
per determinare se il dispositivo indossabile specificato è destinato alla Cina. (Ib01a9)
Versione 1.2.0-alpha11
30 giugno 2021
androidx.wear:wear:1.2.0-alpha11
viene rilasciato. La versione 1.2.0-alpha11 contiene questi commit.
Correzioni di bug
- È stato corretto un bug per cui gli elementi RecyclerView con scorrimento orizzontale causavano la visualizzazione di
WearableDrawerLayout
su tutte le interazioni. (I24c7f)
Versione 1.2.0-alpha10
2 giugno 2021
androidx.wear:wear:1.2.0-alpha10
viene rilasciato. La versione 1.2.0-alpha10 contiene questi commit.
Nuove funzionalità
- La versione Alpha10 migliora il supporto dell'accessibilità in Testo curvo e Layout ad arco. Inoltre, sono state apportate alcune modifiche minori al nome di DismissibleFrameLayout per chiarire l'API.
Modifiche all'API
- Abbiamo rinominato i seguenti metodi in
DismissibleFrameLayout
(Ib195e):Callback#onDismissed
->Callback#onDismissedFinished
isSwipeDismissible
->isDismissableBySwipe
isBackButtonDismissible
->isDismissableByBackButton
- Abbiamo reso definitivi i seguenti metodi (Ib195e):
setBackButtonDismissible
setSwipeDismissible
registerCallback
unregisterCallback
Correzioni di bug
- Utilizza i contenuti di CurvedTextView su TalkBack. (I05798)
- Accessibilità migliorata per le visualizzazioni normali in un layout ad arco. (I4418d)
Versione 1.2.0-alpha09
18 maggio 2021
androidx.wear:wear:1.2.0-alpha09
viene rilasciato. La versione 1.2.0-alpha09 contiene questi commit.
Modifiche all'API
- È stata aggiunta una nuova funzione
CurvedTextView.setTypeface()
(simile aTextView
) per impostare il carattere del testo e lo stile in grassetto/corsivo. (I4653c) WearArcLayout
rinominato inArcLayout
,WearCurvedText
inCurvedText
eWearArcLayout.ArcLayoutWidget
inArcLayout.Widget
. (I6e5ce)- Il giorno
ArcLayout.Widget
,getThicknessPx
è stato rinominato ingetThickness
. - Le costanti di allineamento verticale su
ArcLayout.LayoutParams
ora sono chiamate iniziando conVERTICAL_ALIGN_
(anziché conVALIGN_
)
- Il giorno
- In data
CurvedTextView
, i metodisetMinSweepDegrees
esetMaxSweepDegrees
sono stati sostituiti dasetSweepRangeDegrees
(I7a9d9)
Versione 1.2.0-alpha08
5 maggio 2021
androidx.wear:wear:1.2.0-alpha08
viene rilasciato. La versione 1.2.0-alpha08 contiene questi commit.
Modifiche all'API
- Per migliorare la chiarezza del codice, abbiamo aggiunto annotazioni
@FloatRange
ad alcuni parametri angolari e tipi di ritorno. (I430dd) - Nell'interfaccia
WearArcLayout.ArcLayoutWidget
, il metodoinsideClickArea
ora si chiama isPointInsideClickArea. (Ia7307)
Versione 1.2.0-alpha07
24 marzo 2021
androidx.wear:wear:1.2.0-alpha07
viene rilasciato. La versione 1.2.0-alpha07 contiene questi commit.
Correzioni di bug
- Correzione degli errori relativi agli elementi secondari non curvi all'interno di WearArcLayout causati dall'utilizzo di dimensioni dello schermo con altezza maggiore della larghezza. Questi elementi secondari non curvi ora sono posizionati correttamente all'interno di un arco su tutti i tipi di schermo.
Versione 1.2.0-alpha06
27 gennaio 2021
androidx.wear:wear:1.2.0-alpha06
viene rilasciato. La versione 1.2.0-alpha06 contiene questi commit.
Modifiche all'API
- Esegui la migrazione della raccolta Attività in corso a una nuova sottoraccolta: wear-ongoing. Le classi ora si trovano nel pacchetto androidx.wear.ongoing (in precedenza androidx.wear.ongoingactivities) (I7c029)
- Esegui la migrazione della classe WearableCalendarContract dalla libreria di assistenza Wearable ad AndroidX. Questa API fornisce un sottoinsieme dei dati disponibili tramite CalendarContract, ma viene sincronizzata automaticamente con i dispositivi indossabili. (I6f2d7)
Correzioni di bug
- Disattivare la funzionalità di chiusura del pulsante Indietro per impostazione predefinita in Dismissible FrameLayout, poiché lo scorrimento per chiudere rimane il modo principale per tornare indietro a uno schermo intero sui dispositivi indossabili (Ic24e3)
- Sono stati corretti alcuni problemi relativi alla gestione della visibilità dei componenti secondari in WearArcLayout (Icf912)
Versione 1.2.0-alpha05
13 gennaio 2021
androidx.wear:wear:1.2.0-alpha05
viene rilasciato. La versione 1.2.0-alpha05 contiene questi commit.
Correzioni di bug
- Aggiorna la documentazione Javadoc della classe AmbientModeSupport per fornire snippet di esempio che dimostrino meglio l'utilizzo generale di questa classe.
Versione 1.2.0-alpha04
16 dicembre 2020
androidx.wear:wear:1.2.0-alpha04
viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.
Modifiche all'API
- Nella classe AmbientModeSupport è stato aggiunto il supporto per indicare che un'attività può essere "ripristinata automaticamente" quando il dispositivo esce dalla modalità Ambient. Questa funzionalità era precedentemente disponibile nella classe WearableActivity deprecata della libreria WearableSupportLibrary. (I336ab)
- Attività in corso
- Ora la categoria può essere impostata durante la creazione di un'attività continua, ad esempio
OngoingActivitiy.Builder.getCategory(String)
- Ora OngoingActivityData contiene il timestamp della creazione di OngoingActivity:
OngoingActivityData.getTimestamp()
- (I91cb4)
- Ora la categoria può essere impostata durante la creazione di un'attività continua, ad esempio
- È stato aggiunto il supporto per l'impostazione dei margini sugli elementi secondari di WearArcLayout modificando i parametri di layout in modo che estendano MarginLayoutParams, ovvero WearArcLayout.LayoutParams estende android.view.ViewGroup.MarginLayoutParams. (I2cd88)
- Modifica il tipo di ancoraggio predefinito di WearCurvedTextView in
WearArcLayout.ANCHOR_CENTER
(in precedenzaWearArcLayout.ANCHOR_START
). In questo modo, il contratto tra il layout ad arco e il testo curvo è semplificato, poiché per impostazione predefinita il testo curvo viene visualizzato al centro in alto rispetto all'asse x e il layout ad arco principale può ruotarlo dove deve essere. (I105ff)
Versione 1.2.0-alpha03
2 dicembre 2020
androidx.wear:wear:1.2.0-alpha03
viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.
Nuove funzionalità
Un nuovo contenitore di layout DismissibleFrameLayout, che gestisce la chiusura con il pulsante Indietro e/o con uno scorrimento, da utilizzare all'interno di un'attività. È necessario aggiungere almeno un ascoltatore per eseguire un'azione di dismissione. In genere, un ascoltatore rimuove una vista contenitore o un frammento dall'attività corrente. setSwipeDismissible(boolean) e setBackButtonDismissible(boolean) sono forniti per il controllo diretto delle funzionalità. Questo nuovo layout è destinato a sostituire SwipeDismissFrameLayout esistente.
I widget curvi ora gestiscono gli eventi touch. I widget normali all'interno di un layout WearArc riceveranno tutti gli eventi tocco, mappati allo spazio delle coordinate. WearCurvedTextView (all'interno di un WearArcLayout o meno) può impostare i gestori onClick e onLongClick.
Le classi di attività in corso ora sono VersionedParcelables anziché utilizzare la serializzazione/deserializzazione personalizzata. L'icona statica e lo scopo tocco sono ora obbligatori.
Modifiche all'API
- L'attributo "sweepDegrees" per WearCurvedTextView è separato in minSweepDegrees e maxSweepDegrees per offrire un layout più flessibile di questo widget.
Versione 1.2.0-alpha02
11 novembre 2020
androidx.wear:wear:1.2.0-alpha02
viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.
Questa release aggiunge per la prima volta una nuova "API Attività in corso". Questa API può essere utilizzata dagli sviluppatori per segnalare che è in corso un'attività di lunga durata, ad esempio un esercizio fisico o una sessione di riproduzione di contenuti multimediali. Consente agli sviluppatori di fornire aggiornamenti periodici dello stato, ad esempio "distanza e tempo di corsa" o "brano in riproduzione corrente", da visualizzare sul quadrante o nell'app launcher. Questa funzionalità è destinata ai dispositivi futuri con la funzionalità Attività in corso attivata.
Modifiche all'API
- Nuova API per le attività in corso, non viene eseguita su "dispositivi non supportati". (I69a31)
Versione 1.2.0-alpha01
28 ottobre 2020
androidx.wear:wear:1.2.0-alpha01
viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il componente WearCurvedTextView per scrivere facilmente testo curvo seguendo la curvatura del cerchio più grande che può essere inscritto nella visualizzazione. Un esempio di utilizzo:
<androidx.wear.widget.WearCurvedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="example curved text"
app:anchorAngleDegrees="180"
app:anchorPosition="center"
app:clockwise="false"
style="@android:style/TextAppearance.Large"
/>
- È stato aggiunto il contenitore WearArcLayout per disporre i relativi elementi secondari uno per uno su un arco in senso orario o antiorario. I relativi elementi secondari possono essere widget Android standard o widget "curvi" che implementano l'interfaccia ArcLayoutWidget. Un esempio di utilizzo:
<androidx.wear.widget.WearArcLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:anchorPosition="center">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_launcher"
/>
<androidx.wear.widget.WearCurvedTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Curved Text"
style="@android:style/TextAppearance.Small"
android:padding="2dp"
/>
</androidx.wear.widget.WearArcLayout>
(I536da)
Wear-Input 1.2
Versione 1.2.0-alpha02
29 settembre 2021
androidx.wear:wear-input:1.2.0-alpha02
e androidx.wear:wear-input-testing:1.2.0-alpha02
vengono rilasciati. La versione 1.2.0-alpha02 contiene questi commit.
Modifiche all'API
- Il valore
disallowEmoji
è stato rinominato insetEmojisAllowed
inWearableRemoteInputExtender
per impostare se mostrare o meno l'opzione per disegnare emoji. (I28393)
Versione 1.2.0-alpha01
15 settembre 2021
androidx.wear:wear-input:1.2.0-alpha01
e androidx.wear:wear-input-testing:1.2.0-alpha01
vengono rilasciati. La versione 1.2.0-alpha01 contiene questi commit.
Modifiche all'API
- Sono state esposte tutte le costanti di posizione dei pulsanti da
WearableButtons
. (Ibb12c) - È stata aggiunta la classe
WearableRemoteInputExtender
che può essere utilizzata per aggiungere extra specifici per Wear ad android.app.RemoteInput. (I01903)
Wear-Input 1.1.0
Versione 1.1.0
18 agosto 2021
androidx.wear:wear-input:1.1.0
e androidx.wear:wear-input-testing:1.1.0
vengono rilasciati. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
RemoteInputIntentHelper
aggiunto.- Questa classe può essere utilizzata per creare un'intenzione RemoteInput. che può essere utilizzato per richiedere un input agli utenti in un'attività personalizzabile.
Versione 1.1.0-rc01
4 agosto 2021
androidx.wear:wear-input:1.1.0-rc01
e androidx.wear:wear-input-testing:1.1.0-rc01
vengono rilasciati. La versione 1.1.0-rc01 contiene questi commit.
Nessuna modifica all'API da androidx.wear:wear-input:1.1.0-beta01
e androidx.wear:wear-input-testing:1.1.0-beta01
Versione 1.1.0-beta01
21 luglio 2021
androidx.wear:wear-input:1.1.0-beta01
e androidx.wear:wear-input-testing:1.1.0-beta01
vengono rilasciati senza modifiche dal giorno 1.1.0-alpha03
. La versione 1.1.0-beta01 contiene questi commit.
Versione 1.1.0-alpha03
30 giugno 2021
androidx.wear:wear-input:1.1.0-alpha03
e androidx.wear:wear-input-testing:1.1.0-alpha03
vengono rilasciati. La versione 1.1.0-alpha03 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava il rifiuto degli intent RemoteInput a cui erano stati aggiunti
RemoteInput
tramiteRemoteInputHelper.putRemoteInputsExtra
.
Versione 1.1.0-alpha02
18 maggio 2021
androidx.wear:wear-input:1.1.0-alpha02
e androidx.wear:wear-input-testing:1.1.0-alpha02
vengono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.
Modifiche all'API
- I metodi di
RemoteInputIntentHelper
utilizzati per ottenere o inserire extra che rappresentano le etichette di titolo, annullamento, conferma e in corso ora utilizzanoCharSequence
anzichéString
per queste etichette. (I0e71f)
Versione 1.1.0-alpha01
27 gennaio 2021
androidx.wear:wear-input:1.1.0-alpha01
e androidx.wear:wear-input-testing:1.1.0-alpha01
vengono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche all'API
- Esegui la migrazione della classe RemoteInputIntent dalla libreria Wearable Support Library ad AndroidX. La classe di cui è stata eseguita la migrazione viene rinominata in RemoteInputIntentHelper e fornisce funzioni di supporto per gli input remoti tramite l'avvio di uno scopo. (I47cee)
Wear-Input 1.0.0
Versione 1.0.0
2 dicembre 2020
androidx.wear:wear-input:1.0.0
e androidx.wear:wear-input-testing:1.0.0
vengono rilasciati. La versione 1.0.0 contiene questi commit.
Questa release è identica a 1.0.0-rc01
.
Funzionalità principali della versione 1.0.0
Migrazione della funzionalità WearableButtons dalla libreria di supporto per dispositivi indossabili a Jetpack.
È stato aggiunto
androidx.wear.input.test.TestWearableButtonsProvider
che implementaandroidx.wear.input.WearableButtonsProvider
per facilitare il test delle applicazioni sviluppate con la libreriaandroidx.wear:wear-input
.
Versione 1.0.0-rc01
11 novembre 2020
androidx.wear:wear-input:1.0.0-rc01
e androidx.wear:wear-input-testing:1.0.0-rc01
vengono rilasciati. La versione 1.0.0-rc01 contiene questi commit.
Questa release è identica a 1.0.0-beta01
.
Versione 1.0.0-beta01
28 ottobre 2020
androidx.wear:wear-input:1.0.0-beta01
e androidx.wear:wear-input-testing:1.0.0-beta01
vengono rilasciati senza modifiche dal giorno 1.1.0-alpha01
. La versione 1.0.0-beta01 contiene questi commit.
Wear-Input-Testing versione 1.0.0-alpha01
14 ottobre 2020
androidx.wear:wear-input-testing:1.0.0-alpha01
viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.
Modifiche all'API
- È stato aggiunto
androidx.wear.input.test.TestWearableButtonsProvider
che implementaandroidx.wear.input.WearableButtonsProvider
per facilitare il test delle applicazioni sviluppate con la libreriaandroidx.wear:wear-input
. (I0ed0c)
Wear-Input versione 1.0.0-alpha01
2 settembre 2020
androidx.wear:wear-input:1.0.0-alpha01
viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Migrazione della funzionalità WearableButtons dalla libreria di supporto per dispositivi indossabili a Jetpack. Ulteriore supporto per i test verrà fornito nella libreria androidx.wear:wear-input-testing
nella prossima release di Jetpack.
Versione 1.1.0
Versione 1.1.0
14 ottobre 2020
androidx.wear:wear:1.1.0
viene rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche principali dalla versione 1.0.0
- È stato aggiunto un prefisso
layout_
all'attributo boxedEdges (oralayout_BoxedEdges
) perBoxInsetLayout
in modo da rispettare la convenzione di denominazione di Android. In questo modo, l'errore del lint in Android Studio per questi attributi verrà rimosso. (I4272f) - È stato aggiunto
EXTRA_ANIMATION_DURATION_MILLIS
facoltativo aConfirmationActivity
per consentire la durata di visualizzazione della finestra di dialogo di conferma. (adb83ce, b/143356547) - È stato aggiornato
WearableActionDrawView
per ritardare l'inflazione del riquadro a scomparsa delle azioni fino alla prima apertura del riquadro. (I01026, b/163870541)
Versione 1.1.0-rc03
2 settembre 2020
androidx.wear:wear:1.1.0-rc03
viene rilasciato. La versione 1.1.0-rc03 contiene questi commit.
Correzioni di bug
- È stato risolto il problema relativo alla mancata visualizzazione dei contenuti del riquadro laterale delle azioni quando viene aperto. (I01026, b/163870541)
Versione 1.1.0-rc02
24 giugno 2020
androidx.wear:wear:1.1.0-rc02
viene rilasciato. La versione 1.1.0-rc02 contiene questi commit.
Correzioni di bug
- È stato aggiunto un prefisso
layout_
all'attributo boxedEdges (oralayout_boxedEdges
) perBoxInsetLayout
in modo da rispettare la convenzione di denominazione di Android. In questo modo, l'errore del lint in Android Studio per questi attributi verrà rimosso.
Versione 1.1.0-rc01
14 maggio 2020
androidx.wear:wear:1.1.0-rc01
viene rilasciato senza modifiche dal giorno .1.0-beta01
. La versione 1.1.0-rc01 contiene questi commit.
Versione 1.1.0-beta01
29 aprile 2020
androidx.wear:wear:1.1.0-beta01
viene rilasciato senza modifiche dal giorno androidx.wear:wear:1.1.0-alpha01
. La versione 1.3.0-beta01 contiene questi commit.
Versione 1.1.0-alpha01
15 aprile 2020
androidx.wear:wear:1.1.0-alpha01
viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche all'API
- È stato aggiunto
EXTRA_ANIMATION_DURATION_MILLIS
facoltativo aConfirmationActivity
per consentire la durata di visualizzazione della finestra di dialogo di conferma. (adb83ce, 134523c, b/143356547)
Correzioni di bug
- È stato aggiornato
WearableActionDrawView
per ritardare l'inflazione del riquadro a scomparsa delle azioni fino alla prima apertura del riquadro. (5cd32f7)