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-alpha04 |
indossa interazioni-remote | 1.0.0 | 1.1.0-rc01 | - | - |
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
Viene rilasciato androidx.wear:wear-tooling-preview:1.0.0-alpha01
. La versione 1.0.0-alpha01 contiene questi commit.
Modifiche alle API
- Aggiungi
WearDevices
per elencare i dispositivi Wear validi che possono essere utilizzati per le anteprime dell'interfaccia utente (Ib036e)
Wear versione 1.4
Versione 1.4.0-alpha01
15 novembre 2023
androidx.wear:wear:1.4.0-alpha01
viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Correzioni di bug
- Centra l'icona
ConfirmationOverlay
verticalmente quando non ci sono messaggi. (I496d8)
Wear versione 1.3
Versione 1.3.0
9 agosto 2023
androidx.wear:wear:1.3.0
viene rilasciato senza modifiche dal giorno 1.3.0-rc01
. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- Esegui la migrazione di
AmbientModeSupport
per 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 alle API
- Esegui la migrazione di
AmbientModeSupport
per utilizzareLifecycleObserver
. RitiriamoAmbientModeSupport
in favore dei nuovi classi attenti al ciclo di vita. (I1593b)
Correzioni di bug
- Aggiorna l'approccio scrim di sfondo
SwipeDismissTransitionHelper
per utilizzare drawable anziché aggiungere una visualizzazione per correggere gli errori durante l'utilizzo 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 le ponderazioni di espansione, che funzionano in modo simile ai normali pesi del layout. Ciò significa che puoi specificare le dimensioni relative degli elementi secondari senza dover calcolare direttamente i relativi angoli. Abbiamo anche aggiunto un criterioMaxAngleDegrees
che viene rispettato quando si espandono gli elementi secondari con ponderazioni. Ad esempio, puoi bloccare l'arco con diversi elementi secondari con pesi a 90 gradi, in questo modo viene rispettato anche lo spazio occupato da tutti gli elementi non espansi.
Modifiche all'API
- Abbiamo aggiunto un peso a
ArcLayout.LayoutParams
che consente a un widget di espandersi fino a riempire lo spazio disponibile. Se sono presenti più widget, la loro quota dello spazio disponibile è proporzionale al loro peso. Inoltre, abbiamo 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 dispone disetSweepAngleDegrees
, che consente aArcLayout
di informare un widget con una ponderazione diversa da zero delle sue dimensioni. (I75f24). - Aggiornamento della nullabilità di
setColorFilter
(I99ddf, b/236498063)
Versione 1.3.0-alpha02
23 febbraio 2022
androidx.wear:wear:1.3.0-alpha02
viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Nuove funzionalità
- Supporto di
layoutDirection
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
Viene rilasciato androidx.wear:wear:1.3.0-alpha01
. La versione 1.3.0-alpha01 contiene questi commit.
Correzioni di bug
ConfirmationOverlay
ora spinge l'icona verso l'alto per adattarsi ai messaggi più lunghi, senza che il messaggio entri nella cornice del dispositivo (o fuori dallo schermo). (I54bff)
Wear Onlaunch &Interactions versione 1.1.0
Versione 1.1.0-rc01
16 ottobre 2024
androidx.wear:wear-remote-interactions:1.1.0-rc01
viene rilasciato senza modifiche dal giorno 1.1.0-beta01
. La versione 1.1.0-rc01 contiene questi commit.
Versione 1.1.0-beta01
24 luglio 2024
androidx.wear:wear-remote-interactions:1.1.0-beta01
viene rilasciato. La versione 1.1.0-beta01 contiene questi commit. La release 1.3.0-beta01 di Wear Remote Interactions indica che questa release della libreria è completa di funzionalità e l'API è bloccata (tranne dove contrassegnata come sperimentale).
Versione 1.1.0-alpha04
10 gennaio 2024
androidx.wear:wear-phone-interactions:1.1.0-alpha04
viene rilasciato. La versione 1.1.0-alpha04 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto
RemoteAuthClient.isRemoteAuthAvailable
che controlla se è disponibile l'autenticazione remota. (Ibc10c)
Versione 1.1.0-alpha02
10 gennaio 2024
Viene rilasciato androidx.wear:wear-remote-interactions:1.1.0-alpha02
. La versione 1.1.0-alpha02 contiene questi commit.
Modifiche alle API
- Abbiamo aggiunto
RemoteActivityHelper.isRemoteActivityHelperAvailable
, che aiuta a verificare se è disponibile la funzionalità per avviare un'attività remota. (I107a9) - Abbiamo aggiornato il costruttore di
RemoteActivityHelper
in modo che il parametro facoltativo sia compatibile in Java. (I75554)
Versione 1.1.0-alpha01
21 giu 2023
androidx.wear:wear-remote-interactions:1.1.0-alpha01
viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.
Correzioni di bug
- È stato migliorato il modo in cui vengono eseguiti il completamento e la gestione degli errori in
RemoteActivityHelper
. (I60d60)
Contributo esterno
- Rimuovi la dipendenza da Guava da
wear-remote-interactions
e utilizza alternative più piccole.
Wear-Phone-Interactions versione 1.1.0-alpha03
9 marzo 2022
Viene rilasciato androidx.wear:wear-phone-interactions:1.1.0-alpha03
. La versione 1.1.0-alpha03 contiene questi commit.
Correzioni di bug
redirectUrl
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 Onending &Interactions versione 1.0.0
Wear-Phone-Interactions versione 1.0.1
15 dicembre 2021
androidx.wear:wear-phone-interactions:1.0.1
viene rilasciato. La versione 1.0.1 contiene questi commit.
Correzioni di bug
- È stata corretta un'eccezione lanciata da
BridgingManager
durante il tentativo di disattivare le notifiche di bridging 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 attuale, da utilizzare solo su dispositivi indossabili.- API
BridgingManager
,BridgingManagerService
eBridgingConfig
per attivare/disattivare le notifiche in fase di runtime e, facoltativamente, impostare i tag per le notifiche esenti dalla modalità ponte. RemoteAuthClient
, che supporta l'autenticazione remota sui dispositivi indossabili, oltre all'aggiunta dell'estensione OAuth PKCE. Sono forniti gestori e classi di supporto aggiuntivi per la comunicazione.
La libreria di interazione remota contiene API per le interazioni tra dispositivi indossabili e smartphone. Contiene quanto segue:
WatchFaceConfigIntentHelper
, che fornisce funzioni helper per specificare l'ID e il nome del componente nelle attività di configurazione del quadrante per l'app complementare sullo smartphone.RemoteActivityHelper
che può essere utilizzata per aprire intent su altri dispositivi (ad es. dallo smartwatch allo smartphone).
Wear-Phone-Interactions Wear-Remote-Interactions Versione 1.0.0-rc01
1° settembre 2021
Vengono rilasciate le versioni androidx.wear:wear-phone-interactions:1.0.0-rc01
e androidx.wear:wear-remote-interactions:1.0.0-rc01
. La versione 1.0.0-rc01 contiene questi commit.
Correzioni di bug
- Correzione del bug che impediva la propagazione degli errori rilevati in Google Play Services all'autore della chiamata quando si utilizza RemoteActivityHelper (I60d60)
- Correzione del bug per cui RemoteActivityHelper non avrebbe mai completato il suo Future se non ci fossero nodi connessi o se il nodeId richiesto non era stato trovato (I60d60)
Wear - Versione in corso 1.1
Versione 1.1.0-alpha01
23 agosto 2023
androidx.wear:wear-ongoing:1.1.0-alpha01
viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche all'API
- Aggiungi un campo di descrizione dei contenuti all'attività in corso. Verrà utilizzato dai servizi di accessibilità per descrivere l'Attività in corso. (I79fc6)
Correzioni di bug
- È stato aggiunto
@RequiresPermission
alle API che richiedono l'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 - Versione in corso 1.0.0-beta01
4 agosto 2021
androidx.wear:wear-ongoing:1.0.0-beta01
viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.
Modifiche alle API
- Alcuni setter di OngoingActivity.Builder ora accettano un argomento nullo per garantire simmetria e coerenza ai setter e ai getter (I17ee5)
Wear-Phone-Interactions versione 1.0.0-alpha07
4 agosto 2021
androidx.wear:wear-phone-interactions:1.0.0-alpha07
viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Modifiche all'API
WearTypeHelper.isChinaDevice
è stato rinominato 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
Viene rilasciato androidx.wear:wear-remote-interactions:1.0.0-alpha06
. La versione 1.0.0-alpha06 contiene questi commit.
Wear-Phone-Interactions versione 1.0.0-alpha06
21 luglio 2021
Viene rilasciato androidx.wear:wear-phone-interactions:1.0.0-alpha06
. La versione 1.0.0-alpha06 contiene questi commit.
Modifiche all'API
- La classe
BridgingManagerSeviceBinder
è ora una sottoclasse di Service e viene rinominata in BridgingManagerSevice. (I9fca2) - Il metodo
RemoteAuthClient.Callback.onAuthorizationError
viene modificato in modo da includere il parametro OAuthRequest. I metodi che richiedono un callback ora richiedono anche un'esecuzione per il callback. (I35e11)
Correzioni di bug
- Abbiamo reso più chiara l'API di autenticazione con parametri più documentati e utilizzando le proprietà, ove possibile. (I12287)
Wear-Phone-Interactions versione 1.0.0-alpha05
30 giugno 2021
androidx.wear:wear-phone-interactions:1.0.0-alpha05
viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Correzioni di bug
- Parametri documentati che devono essere passati nel costruttore per
BridgingConfig.Builder
.
Wear-On Playing versione 1.0.0-alpha06
2 giugno 2021
androidx.wear:wear-ongoing:1.0.0-alpha06
viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Modifiche all'API
- Aggiungi il campo Titolo all'attività in corso. (I7a405)
Correzioni di bug
SerializationHelper.copy()
ora esegue una copia difensiva delle informazioni (I8b276)- Documentazione di setCategory migliorata (Iff01f)
Wear-Ongoing versione 1.0.0-alpha05
18 maggio 2021
Viene rilasciato androidx.wear:wear-ongoing:1.0.0-alpha05
. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche all'API
OngoingActivity
ora dispone di getter per recuperare tutti i valori impostati direttamente tramite il Builder (o i valori predefiniti presi dalla notifica associata). (Id8ac8)- Il nuovo corso
Status
viene ora utilizzato per creare lo stato delOngoingActivity
OngoingActivityData
eOngoingActivityStatus
non fanno più parte dell'API pubblica.
- Il nuovo corso
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 da Wearable Support Library ad AndroidX. Questa classe migrata è stata rinominata RemoteAuthClient e offre supporto per l'autenticazione remota sugli indossabili e per l'aggiunta dell'estensione OAuth PKCE. Vengono forniti gestori e classi helper aggiuntivi per la comunicazione.
- Ora le attività in corso possono essere associate a una notifica con un tag utilizzando il nuovo costruttore OngoingActivity.Builder.
Modifiche all'API
- È stato aggiunto il supporto per i tag di notifica nella libreria Attività in corso (I653b4)
- Esegui la migrazione di OAuthClient dalla libreria di assistenza Wear ad AndroidX e aggiungi il supporto per l'estensione OAuth PKCE (I3eaaa)
Wear-Remote-Interactions versione 1.0.0-alpha02
10 marzo 2021
Viene rilasciato androidx.wear:wear-remote-interactions:1.0.0-alpha02
. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- Migrazione della classe PlayStoreAvailability dalla libreria di assistenza per dispositivi indossabili ad AndroidX, che fornisce un'API per verificare se il Play Store è disponibile sullo smartphone.
Correzioni di bug
- Migrazione della classe PlayStoreAvailability dalla libreria di supporto Wearable ad AndroidX. (I69bfe)
Versione 1.0.0-alpha02
10 febbraio 2021
Vengono rilasciate le versioni androidx.wear:wear-ongoing:1.0.0-alpha02
e androidx.wear:wear-phone-interactions:1.0.0-alpha02
. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche all'API
- È stato aggiunto il supporto per uno stato più complesso. Sono composti da un o più modelli e da una serie di parti che verranno utilizzate per compilare i segnaposto del modello. OngoingActivityStatus ora dispone di un metodo statico per creare stati semplici con una sola parte (un testo o un timer) e di un generatore per creare stati più complessi. (I1fe81)
- Sposta le classi BridgingManager e BridgingConfig dalla libreria di assistenza Wear ad AndroidX, che fornisce le API per attivare/disattivare le notifiche in fase di runtime e, se vuoi, impostare i tag per le notifiche esenti dalla modalità ponte. (I3a17e)
Versione 1.0.0-alpha01
27 gennaio 2021
androidx.wear:wear-ongoing:1.0.0-alpha01
, androidx.wear:wear-phone-interactions:1.0.0-alpha01
e androidx.wear:wear-remote-interactions:1.0.0-alpha01
vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Modifiche all'API
Esegui la migrazione della raccolta Attività in corso a una nuova sottoraccolta: wear-ongoing. Le classi ora si trovano nel pacchetto androidx.wear.ongoing (in precedenza androidx.wear.ongoingactivities) (I7c029)
Crea una nuova libreria di supporto contenente classi che supportano le interazioni dai dispositivi indossabili agli smartphone. Viene inizialmente compilato con le classi migrate dalla libreria di assistenza Wearable. (Id5180)
Esegui la migrazione della classe PhoneDeviceType dalla libreria di supporto Wearable ad AndroidX. La classe di cui è stata eseguita la migrazione viene rinominata PhoneTypeHelper e fornisce metodi di assistenza per determinare il tipo di smartphone a cui è accoppiato lo smartwatch attuale, da utilizzare solo su dispositivi indossabili. (Ibd947)
Crea una nuova libreria di supporto che contenga corsi che supportano le interazioni tra indossabili e telefoni. Inizialmente, include i corsi di cui è stata eseguita la migrazione dalla libreria di supporto per gli indossabili. (I9deb4)
Esegui la migrazione della classe WatchFaceCompanion dalla Wearable Support Library ad AndroidX. La classe di cui è stata eseguita la migrazione viene rinominata in WatchFaceConfigIntentHelper e fornisce funzioni di assistenza per specificare l'ID e il nome del componente nelle attività di configurazione del quadrante nell'app complementare sullo smartphone. Può essere utilizzata anche localmente per configurare il quadrante sul dispositivo indossabile. (Ia455f)
Complicazioni e quadrante di Wear 1.0.0
Versione 1.0.0-alpha22
15 settembre 2021
Viene rilasciato androidx.wear:wear-*:1.0.0-alpha22
. La versione 1.0.0-alpha22 contiene questi commit.
Nuove funzionalità
- EditorSession ora si iscrive agli osservatori del ciclo di vita, quindi non devi più chiuderlo esplicitamente quando la tua attività non è più attiva.
Modifiche alle API
- EditorSession e ListenableEditorSession ora utilizzano StateFlow di Kotlin per complicationSlotsState, ComplicationsPreviewData e ComplicationsDataSourceInfo. (I761d9)
- EditorSession#userStyle ora è un
MutableStateFlow<UserStyle>
(I32ca9) - EditorSession.createOnWatchEditorSession ora utilizza un osservatore del ciclo di vita e si chiude automaticamente quando osserva onDestroy. Inoltre,
createOnWatchEditorSession
ora richiede solo la trasmissione dell'attività. Modifiche identiche sono state applicate anche a ListenableEditorSession. (Ic6b7f) - Il costruttore di CustomValueUserStyleSetting è stato reintegrato nell'API pubblica. (I2e69a)
- Ora
UserStyle
eredita 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
Viene rilasciato androidx.wear:wear-*:1.0.0-alpha21
. La versione 1.0.0-alpha21 contiene questi commit.
Modifiche alle API
- Tutte le API pubbliche di quadranti, client, editor e complicazioni ora utilizzano java.time.Instant per le ore anziché un Long, di conseguenza il livello API minimo è aumentato a 26. (I3cd48)
- Le API di quadranti e complicazioni ora utilizzano l'oggetto immutabile ZonedDateTime anziché Calendar. (I25cf8)
- I ComplicationSlots sono ora inizializzati con NoDataComplicationData, ComplicationSlot.complicationData ora ha sempre un valore e CanvasComplicationDrawable.complicationData non è più annullabile. (I4dfd6) In questo modo si riduce (ma non si elimina) il tremolio delle complicazioni quando si passa da un quadrante all'altro.
Versione 1.0.0-alpha20
18 agosto 2021
Viene rilasciato androidx.wear:wear-*:1.0.0-alpha20
. La versione 1.0.0-alpha20 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto createFallbackPreviewData a ComplicationDataSourceInfo, che può essere utilizzato quando ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData restituisce null. (I38c4d).
- ComplicationDataSourceUpdateRequester è stato trasformato in un'interfaccia per consentire il mocking nei test di unità. Puoi costruire un ComplicationDataSourceUpdateRequester concreto con ComplicationDataSourceUpdateRequester.create(). (I7da22)
- RenderParameters.pressedComplicationSlotIds è stato sostituito da RenderParameters.lastComplicationTapDownEvents che espone la nuova classe TapEvent contenente una tripletta di coordinate x, y del tocco in pixel e un timestamp.
WatchFace.TapListener.onTap
è stato sostituito 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 dei limiti alla dimensione massima dei cavi di uno schema UserStyle. Inoltre, le icone nello schema non devono essere più grandi di 400 x 400 pixel. (I3b65b)
- Abbiamo aggiunto una classe MutableUserStyle per supportare le modifiche alle istanze UserStyle (I95a40)
- Abbiamo rinominato
ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient
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 i costruttori che richiedono ID StringResource. (I8537b)
CurrentUserStyleRepository.UserStyleChangeListener
ora supporta la conversione da SAM. (I85989)
Versione 1.0.0-alpha19
4 agosto 2021
androidx.wear:wear-*:1.0.0-alpha19
viene rilasciato. La versione 1.0.0-alpha19 contiene questi commit.
Modifiche all'API
- Abbiamo aggiunto
ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient
, che fornisce un 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 RemoteEccezioni sono stati annotati di conseguenza. (Ib8438)
- Per coerenza, abbiamo rinominato
EditorSession.createOnWatchEditingSession
increateOnWatchEditorSession
ecreateHeadlessEditingSession
increateHeadlessEditorSession
. Anche i relativi wrapper di Guava sono stati rinominati. (I1526b) - Ora
EditorSession
è un'interfaccia eListenableEditorSession.commitChangesOnClose
è ora correttamente delegato. (I7dc3e) - Ora rifiutiamo qualsiasi schema di stile utente con impostazioni o opzioni con ID in conflitto (Ic2715)
- Abbiamo aggiunto un
UserStyle.get
sovraccarico che 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 alle 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 passo per rendereCanvasComplication
stateless. 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 a supporto di EditorSession anziché agire sull'istanza interattiva. In questo modo è possibile richiamare l'editor per un quadrante diverso da quello attuale. (I0a820) - Abbiamo aggiunto un
WatchFaceMetadataClient
sperimentale che consente il recupero efficiente dei metadati statici del quadrante, comeUserStyleSchema
e dettagli corretti suComplicationSlots
. (I6bfdf) - Abbiamo rinominato
CanvasRenderer.uiThreadInit
in init. (I6fff9) - Abbiamo aggiunto PreviewScreenshotParams un nuovo parametro facoltativo per EditorRequest che indica a EditorSession di acquisire uno screenshot di anteprima al commit con questo parametro. L'immagine di anteprima è esposta su
EditorState.previewImage
. (Ic2c16)
Correzioni di bug
- Gli sviluppatori non devono più aggiungere ComplicationHelperActivity al proprio manifest. (I6f0c2)
Versione 1.0.0-alpha17
30 giugno 2021
androidx.wear:wear-*:1.0.0-alpha17
viene rilasciato. La versione 1.0.0-alpha17 contiene questi commit.
Nuove funzionalità
In
GlesRenderer
,makeUiThreadContextCurrent
emakeBackgroundThreadContextCurrent
sono stati sostituiti darunUiThreadGlCommands
erunBackgroundThreadGlCommands
che accettano entrambiRunnable
. 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 maggiore 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 entrambiRunnable
. Queste funzioni sono necessarie solo se devi effettuare chiamate GL al di fuori di render,runBackgroundThreadGlCommands
eonUiThreadGlSurfaceCreated
. Questa operazione è necessaria perché nello stesso processo possono esserci più GlesRenderer, ognuno con i propri contesti, potenzialmente da quadranti diversi. Inoltre, ora è sincronizzato l'accesso al contesto GL attuale condiviso. (I04d59) - Abbiamo aggiunto
CanvasRenderer.uiThreadInit
, che viene chiamato una volta in UiThread prima di qualsiasi chiamata al rendering. Inoltre, per maggiore chiarezza, in GlesRenderer abbiamo 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 organizzazione in thread e alla risoluzione di altri problemi relativi all'editor dei quadranti.
Correzioni di bug
- Impedire gli errori non recuperabili in
onComplicationProviderChooserResult
(b/189594557) - Risolvere i problemi relativi alle superfici non aggiornate e a drawBlack (b/189452267)
- Correggi la corsa durante l'accesso a
complicationsManager.watchState
(b/189457893) - Correzione del bug relativo alla durata del thread in background (b/189445428)
- Risolvere i problemi relativi all'editor dei quadranti pre-R (b/189126313)
- Non aggiornare i parametri di avvio diretto per le modifiche allo stile dell'editor (b/187177307)
Versione 1.0.0-alpha15
2 giugno 2021
androidx.wear:wear-*:1.0.0-alpha15
viene rilasciato. La versione 1.0.0-alpha15 contiene questi commit.
Nuove funzionalità
La maggior parte dell'inizializzazione del quadrante viene ora eseguita in un thread in background, ma dopo il caricamento, tutto il rendering del quadrante e così via viene eseguito in UiThread. Esiste una barriera di memoria tra il caricamento e il rendering, quindi la maggior parte dei quadranti degli utenti non deve fare nulla di speciale. I quadranti che utilizzano GLES potrebbero essere un'eccezione, poiché il contesto è specifico del thread e creiamo due contesti collegati, in modo da poter caricare le risorse GL (ad es. texture e shader) nel thread in background e utilizzarle in UiThread.
Abbiamo suddiviso la costruzione dei quadranti in tre funzioni: createUserStyleSchema, createComplicationsManager e createWatchFace. Supponiamo che createUserStyleSchema e createComplicationsManager siano veloci e che createWatchFace possa richiedere del tempo per caricare gli asset. Sfruttando questa opportunità, abbiamo introdotto WatchFaceControlClient.getDefaultProviderPoliciesAndType
, che restituisce una mappa di ID complicazione a DefaultComplicationProviderPolicies e al ComplicationType predefinito. Questa operazione è più veloce rispetto alla creazione di un'istanza senza interfaccia perché non è necessario inizializzare completamente il quadrante per eseguire la query.
Infine, le complicazioni vengono ora costruite con una CanvasComplicationFactory che consente la costruzione lazy dei visualizzatori CanvasComplication.
Modifiche all'API
@TargetApi
sostituito con@RequiresApi
. (I0184a, b/187447093, b/187447094)- Abbiamo introdotto
WatchFaceControlClient.getDefaultProviderPoliciesAndType
, che restituisce una mappa di ID complicazione a DefaultComplicationProviderPolicies e al tipo ComplicationType predefinito. Ove possibile, viene utilizzato un percorso rapido che evita di costruire completamente un quadrante. Per facilitare questa operazione, l'API WatchFaceService ha dovuto cambiare con due nuovi metodi: createUserStyleSchema e createComplicationsManager, i cui risultati vengono passati in createWatchFace. Inoltre, le complicazioni ora vengono create con CanvasComplication Fabbrica, che consente la creazione lazy dei renderer CanvasComplication. (Iad6c1) - Abbiamo rimosso MOST_RECENT_APP da SystemProviders. (I3df00)
- ObservableWatchData è ora una classe sigillata. (Ic940d)
- CanvasComplicationFactory.create (in genere associato a I/O) ora viene chiamato in un thread in background per ogni complicazione prima dell'inizio del rendering del thread ui. Tra la costruzione e il rendering c'è una barriera di memoria, quindi non sono necessarie primitive di thread speciali. (Ia18f2)
- La creazione del quadrante ora viene eseguita in un thread in background, anche se tutto il rendering viene eseguito nel thread dell'interfaccia utente. GlesRenderer supporta due contesti collegati per supportare questa operazione. WatchFaceControlClient.createHeadlessWatchFaceClient e WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient potrebbero essere risolti prima del completamento di WatchFaceService.createWatchFace. Le chiamate API successive verranno bloccate fino al completamento dell'inizializzazione del quadrante. (Id9f41)
- EXPANSION_DP e STROKE_WIDTH_DP non sono più visibili in api.txt. (I54801)
- Abbiamo impostato EditorSession.createOnWatchEditingSession generando un TimeoutAnnullationException in caso di errore anziché inviare una sessione nulla. Inoltre, il valore restituito di EditorRequest.createFromIntent e EditorSession.createOnWatchEditingSession ora è NonNull. (I41eb4)
Versione 1.0.0-alpha14
18 maggio 2021
androidx.wear:wear-*:1.0.0-alpha14
viene rilasciato. La versione 1.0.0-alpha14 contiene questi commit.
Nuove funzionalità
EditorSession.openComplicationProviderChooser
ora restituisce ChosenComplicationProvider, che contiene l'ID complicazioneComplicationProviderInfo
, e un bundle contenente eventuali altri extra restituiti dal selettore del provider.- Inoltre, stiamo eseguendo la migrazione del codice a Kotlin e la maggior parte dell'API del quadrante è ora definita in Kotlin.
Modifiche all'API
- Le proprietà GlesRenderer
eglContext
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
Viene rilasciato androidx.wear:wear-*:1.0.0-alpha13
. La versione 1.0.0-alpha13 contiene questi commit.
Nuove funzionalità
I quadranti possono avere elementi visivi importanti oltre a mostrare l'ora e le complicazioni. Per fornire il supporto dello screen reader, ora il quadrante può specificare le etichette ContentDescription per l'accessibilità tramite la proprietà additionalContentDescriptionLabels del Renderer. Inoltre, per controllare l'ordine di ContentDescriptionLabels, è stato aggiunto accessibilityTraversalIndex alle complicazioni. Questo valore può essere modificato da ComplicationsUserStyleSetting.
Per incoraggiare gli sviluppatori a prendere in considerazione attentamente gli screen reader, abbiamo reso obbligatorio il passaggio del campo
contentDescription
diShortTextComplicationData.Builder
,LongTextComplicationData.Builder
eRangedValueComplicationData.Builder
ai relativi costruttori. Se viene trasmessoComplicationText.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 dall'API pubblica che si trovano in android.support.wearable.complications e creato wrapper corrispondenti in AndroidX dove necessario. (I7bd50)
- Abbiamo rinominato il metodo in
TimeDifferenceComplicationText.Builder
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 del rendering e onGlContextCreated e, poiché potrebbe esserci sia un contesto interattivo che un contesto headless, è necessario chiamarlo. (I8a43c)
- Ora WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient genera ServiceStartFailureException se lo smartwatch ne genera uno durante l'inizializzazione. Inoltre, WatchFaceService ora genera un'eccezione se createWatchFace richiede più di 6 secondi. (I59b2f)
- Abbiamo rimosso la proprietà id inutilizzata di
GlesTextureComplication
. (I28958) - Ora il quadrante può specificare le etichette ContentDescription per l'accessibilità tramite la proprietà additionalContentDescriptionLabels di
Renderer
. Oltre a controllare l'ordinamento di ContentDescriptionLabels, è stato aggiunto accessibilityTraversalIndex alle complicazioni. Questo valore può essere modificato da ComplicationsUserStyleSetting. (Ib7362) - Espandi la documentazione sulla gestione degli eventi touch nel quadrante. (Iaf31e)
Correzioni di bug
EditorSession.getComplicationsPreviewData()
ora restituisce una mappa per ogni complicazione anziché solo per quelle non vuote. Un'istanza di EmptyComplicationData viene utilizzata per le complicazioni vuote. (I1ef7e)
Versione 1.0.0-alpha12 di Wear Complications & Watchface
21 aprile 2021
Viene rilasciato androidx.wear:wear-*:1.0.0-alpha12
. La versione 1.0.0-alpha12 contiene questi commit.
Nuove funzionalità
Gli editor dei quadranti devono evidenziare parti del quadrante per aiutare a capire quale aspetto di uno smartwatch è in fase di configurazione. Abbiamo esteso RenderParameters per consentire di evidenziare gli stili e le complicazioni. È disponibile un nuovo elemento in evidenza, facoltativo, pensato per essere opaco sulla parte superiore del quadrante con una trasparenza alfa (le API per gli screenshot possono eseguire questa operazione al posto tuo oppure fornire autonomamente l'evidenziazione per la massima flessibilità). Ad esempio, supponiamo che tu abbia uno stile che ti consenta di configurare l'aspetto delle lancette dell'orologio. Il tuo renderer nel suo renderHighlightLayer può disegnare un contorno intorno a queste.
Per incoraggiare il supporto dei fornitori di complicazioni per l'accessibilità, abbiamo impostato il campo contentDescription di PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder e SmallImageComplicationData.Builder come argomento obbligatorio del costruttore. Sono stati aggiunti ComplicationTapFilter e Complication.createEdgeComplicationBuilder per supportare le complicazioni laterali (disegnate lungo il bordo dello schermo). Il rendering e il test di corrispondenza delle complicazioni laterali sono a carico del quadrante. I test degli hit di Edge non sono supportati dall'editor associato.
Modifiche all'API
- È stato aggiunto il prefisso
PROVIDER_
alle costanti in SystemProviders. (I1e773) - Abbiamo reso obbligatori i campi
contentDescription
diPhotoImageComplicationData.Builder
,MonochromaticImageComplicationData.Builder
eSmallImageComplicationData.Builder
nel 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 delle evidenziazioni per gli stili nonché di tutte le complicazioni o di una singola complicazione. Inoltre, CanvasRenderer e GlesRenderer presentano un nuovo metodo renderHighlightlayer astratto per eseguire il rendering di qualsiasi evidenziazione richiesta dall'editor. Il livello è stato rinominato in WatchFaceLayer. (Ic2444)ComplicationTapFilter
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. Gli hit test non sono supportati all'interno degli 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 dimensione 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
Viene rilasciato androidx.wear:wear-*:1.0.0-alpha11
. La versione 1.0.0-alpha11 contiene questi commit.
Nuove funzionalità
- È stato applicato un nuovo look alle API dei quadranti. La maggior parte delle modifiche sono semplici cambi di nome, ma
InteractiveWatchFaceWcsClient
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 all'API pubblica una classeUserStyleData
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 enum dei livelli sono stati rinominati per maggiore chiarezza.
Layer#TOP_LAYER
è diventatoLayer#COMPLICATIONS_OVERLAY
eLayer#BASE_LAYER
è diventatoLayer#BASE
(Ia144e) UserStyleListener
è stato rinominato inUserStyleChangeListener
(I18524)UserStyleRepository
è stato rinominato inCurrentUserStyleRepository
(I6ea53)InteractiveWatchFaceWcsClient.updateInstance
è stato rinominatoupdateWatchfaceInstance
. (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 nella mappa (di solito) più di una complicazione. (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 gli smartwatch e gli smartwatch, che dovrebbero essere necessarie. (Icc4c0)
- Per coerenza,
EditorServiceClient
è stato sottoposto a refactoring in modo da utilizzare gli ascoltatori anziché gli osservatori. (Iec3a4) - Abbiamo aggiunto un paio di annotazioni
@Px
mancanti 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ù annullabile. (ID52bb)
EditorSession.launchComplicationProviderChooser
è stato rinominatoopenComplicationProviderChooser
. (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 alle API
IdAndComplicationData
è stato un po' imbarazzante ed è stato rimosso dall'API pubblica. Le classi e le interfacce che lo utilizzavano sono state sottoposte a refactoring. (I4c928)- Abbiamo sostituito
ReferenceTime
conCountUpTimeReference
eCountDownTimeReference
, che sono più autoesplicativi. (Ib66c6) - Sono state aggiunte alcune annotazioni
@Px
e@ColorInt
mancanti. (I9bbc3) - Al momento
Complication.complicationConfigExtras
non è possibile impostare valori null e il valore predefinito èBundle.EMPTY
. (Iad04f) GlesRenderer
ora richiede di 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 modificare la posizione di una complicazione, puoi farlo tramiteComplicationsUserStyleSetting
. (Ibd9e5)ComplicationsManager.TapCallback.onComplicationSingleTapped
è stato rinominato inonComplicationTapped
. (I3a55c)ComplicationOutlineRenderer.drawComplicationSelectOutline
è stato rinominatodrawComplicationOutline
. (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 comandoupdateInstance
più potente che: modifica l'ID istanza, imposta lo stile e cancella le complicazioni contemporaneamente.
Modifiche all'API
- Le proprietà TraceEvents sono state aggiunte alle librerie dei quadranti. (I1a141)
ComplicationState
ora dispone di una nuova proprietàinitiallyEnabled
utile per prevedere le conseguenze del passaggio da uno stile all'altro. (I8c905)- Abbiamo sostituito
InteractiveWatchFaceWcsClient.setUserStyle
con un comando più 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 ServiceDisconnectedException se il binder si chiude inaspettatamente. (Ib2cc4)
- A partire da Android 11, ci sono limitazioni su quando è possibile eseguire ProviderChooser. Inoltre, vogliamo che gli editor vengano creati con il nuovo
wear-watchface-editor
, quindi ComplicationHelperActivity verrà rimosso dall'API pubblica. (Ib19c1) - Rimuovi i metodi statici ComplicationText a favore dei costruttori. (Ibe399)
- Abbiamo introdotto wrapper guava ListenableFuture per i vari metodi sospesi della libreria dei quadranti. (I16b2c)
- Per una maggiore chiarezza dell'API, abbiamo aggiunto a RenderParameters un costruttore secondario che non richiede una tinta, da utilizzare con LayerModes diversi da
LayerMode.DRAW_OUTLINED
. (I497ea) - In precedenza, ListUserStyleSetting era diverso dall'altro perché aveva un argomento predefinito. Ora tutti i costruttori delle sottoclassi StyleSetting prendono per ultimi il valore predefinito. (I9dbfd)
- CanvasComplication è stato sottoposto a refactoring per utilizzare un metodo nascosto, che semplifica l'implementazione di una sottoclasse (I5b321)
- Abbiamo eseguito il refactoring di EditorResult in favore di un nuovo EditorService e
EditorSession.broadcastState()
per trasmettere gli aggiornamenti in streaming a un osservatore (di solito SysUI). (Ic4370) - Alcuni quadranti sono basati su una complicazione specifica che è parte integrante del quadrante e il cui fornitore non è configurabile dall'utente. A supporto di ciò, abbiamo aggiunto
Complication.Builder#setFixedComplicationProvider
. (I4509e) - EditorRequest ora specifica il nome del pacchetto anziché ComponentName perché era scomodo per SysUI cercare il nome della classe dell'editor e in realtà abbiamo bisogno solo del nome del pacchetto. (Ib6814)
Versione 1.0.0-alpha07
10 febbraio 2021
androidx.wear:wear-*:1.0.0-alpha07
viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Nuove funzionalità
- WatchFaceService.createWatchFace è ora una funzione di sospensione, il che significa che il quadrante non deve più bloccare il thread dell'UI in attesa di IO. Analogamente, wear-watchface-editor e wear-complications-data
Modifiche all'API
- Rimuovi la classe PhotoImage e utilizza direttamente Icon. (I8a70b)
- Esponi il valore validTimeRange di ComplicationData. (I91366)
- Rendi più espliciti gli attributi simili a immagini. (I81700)
- wear-watchface-editor e wear-complications-data sono stati sottoposti a refactoring per utilizzare funzioni di sospensione anziché coroutine. Seguire i wrapper compatibili con Rx java e Future. (If3c5f).
- ProviderInfoRetriever ora genera PreviewNotAvailableException se requestPreviewComplicationData non può restituire dati di anteprima a causa di problemi di connessione o della mancanza del supporto API. (I4964d)
- WatchFaceControlService::createWatchFaceControlClient ora è una funzione sospesa e getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient ora si chiama getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync che restituisce
Deferred<InteractiveWatchFaceWcsClient>
. RX Java e Future compat wrapper da seguire. (I5d461) - Rinomina
CATEGORY_PROVIDER_CONFIG_ACTION
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 avresti dovuto bloccare il thread principale. (If076a)
- UserStyle ora dispone di un operatore array e abbiamo aggiunto helper di trasmissione a UserStyle.Option. (I35036)
- Abbiamo corretto un bug di marshalling con i formati wireless UserStyle, modificando alcune API nascoste instabili. (I8be09)
- Abbiamo aggiunto CustomValueUserStyleSetting che ti consente di memorizzare una singola stringa specifica per l'applicazione in un UserStyle. Gli editor dei quadranti predefiniti ignorano questo valore. (Ic04d2)
- InstanceID non viene passato negli extra intent per R e le versioni precedenti di Android WearOS di cui non possiamo eseguire l'upgrade. A supporto di ciò, ora Permettiamo che InstancID sia nullo. (Id8b78)
- EditorRequest ora include il nome del componente dell'editor, impostato come componente in WatchFaceEditorContract.createIntent (I3cd06)
- L'EditorResult per il quadrante ora include l'anteprima ComplicationData per consentire al chiamante di acquisire uno screenshot del quadrante dopo la modifica. (I2c561)
Correzioni di bug
- Sono state aggiunte sostituzioni di toString() a UserStyle, UserStyleSetting e UserStyleSchema, il che rende più piacevole il lavoro con queste classi. (I9f5ec)
Versione 1.0.0-alpha06
27 gennaio 2021
androidx.wear:wear-*:1.0.0-alpha06
viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Abbiamo introdotto una nuova libreria wear/wear-watchface-editor che consente agli sviluppatori di quadranti e potenzialmente agli OEM di creare un editor di stili e complicazioni. SysUI invierà un Intent al quadrante che utilizzerà la nuova classe EditorSession per accedere ai dettagli del quadrante e registrare il risultato tramite Activity.setWatchRequestResult. A supporto di ciò, abbiamo aggiunto ProviderInfoRetriever.requestPreviewComplicationData che consente agli editor dei quadranti di richiedere l'anteprima dei ComplicationData. Il vantaggio dell'anteprima di ComplicationData è che, a differenza dei dati in tempo reale, non devi preoccuparti di mostrare le finestre di dialogo di autorizzazione durante il rendering dell'editor (tieni presente che se un utente seleziona un fornitore con un'autorizzazione, gli verrà comunque chiesto di concederla).
Modifiche all'API
- Ora ComplicationProviderInfo ha un campo per ComponentName del provider; il supporto per questo campo verrà aggiunto a WearOS in un secondo momento; nel frattempo, il campo sarà null. (Id8fc4)
- Abbiamo aggiunto ProviderInfoRetriever.requestPreviewComplicationData che consente agli editor dei quadranti di richiedere i dati di anteprima delle complicazioni. Ciò è utile perché le complicazioni in tempo reale potrebbero richiedere autorizzazioni e ora puoi visualizzare i dati di anteprima per le complicazioni non attive. (I2e1df)
- Ora ComplicationManager è un parametro facoltativo del costruttore WatchFace e gli argomenti sono stati riordinati per consentire questa operazione. (I66c76)
- Abbiamo aggiunto un pacchetto facoltativo a Complications che, se impostato, viene unito all'intent inviato per avviare l'attività di scelta del fornitore. (Ifd4ad)
- Abbiamo aggiunto una nuova libreria
wear-watchface-editor
per il supporto degli editor ospitati su quadranti e SysUi. SysUI lancerà questi editor inviando un intent. Il servizio Attività del quadrante può utilizzare la nuova classe EditorSession per accedere ai dettagli del quadrante e registrare il risultato tramite Activity.setWatchRequestResult. (I2110d) - LayerMode.DRAW_HIGHLIGHTED ora si chiama LayerMode.DRAW_OUTLINED e RenderParameters.highlightComplicationId ora si chiama RenderParameters.selectedComplicationId, il che disegna un'evidenziazione sulla complicazione specificata oltre a un contorno. (I90a40)
- Ora il futuro di WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient può essere risolto con una ServiceStartFailureException se il servizio si arresta in attesa della creazione del quadrante. (I0f509)
- EditorSession.complicationPreviewData ora è un ListenableFuture perché il recupero di questi dati è un processo asincrono. (Iead9d)
Correzioni di bug
- Stiamo rimuovendo i campi inutilizzati da ComplicationOverlay lasciando abilitato e complicationBounds. (I17b71)
Versione 1.0.0-alpha05
13 gennaio 2021
androidx.wear:wear-*:1.0.0-alpha05
viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
I quadranti spesso supportano una serie di configurazioni di complicazioni con un numero variabile di complicazioni mostrate. Per semplificare la configurazione, ora supportiamo le complicazioni disattivate inizialmente richiamando setEnabled(false) sul builder. Queste impostazioni possono essere attivate in un secondo momento tramite ComplicationsUserStyleSetting.
Modifiche all'API
- Ora ComplicationHelperActivity accetta
Collection<ComplicationType>
anziché un array Int, che ne semplifica l'utilizzo. (I1f13d) - Ora
ProviderInfoRetriever.retrieveProviderInfo
restituisce correttamenteListenableFuture<ProviderInfo[]>
. (If2710) - Ora puoi creare una complicazione inizialmente disattivata chiamando setEnabled(false) sul builder. (Idaa53)
- WatchFaceState ora ha una proprietà isHeadless che è true solo per le istanze headless. (Ifa900)
- Ora ComplicationDrawable supporta facoltativamente il caricamento sincrono dei drawable. Viene utilizzato dalle API di screenshot. (I34d4a)
Versione 1.0.0-alpha04
16 dicembre 2020
androidx.wear:wear-*:1.0.0-alpha04
viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- La raccolta di quadranti Wear OS ora supporta l'impostazione di limiti per tipo. Ad esempio, puoi passare a un riquadro delimitante ampio per ComplicationType.LONG_TEXT e utilizzare un riquadro delimitante più piccolo per altri tipi.
Modifiche all'API
- Le complicazioni ora utilizzano ComplicationBounds, che aggrega un
Map<ComplicationType, RectF>
per supportare le dimensioni dei tipi di complicazione. (I1ebe7) - RenderParameters ora ti consente di specificare la tinta dell'evidenziazione da utilizzare negli screenshot. (Iff42b).
- Ad eccezione dei limiti, ora devi utilizzare ComplicationsUserStyleSetting per modificare le complicazioni, in modo da mantenere sincronizzato il sistema operativo. (I8dc5d)
- Renderer ora è una classe sigillata. Ciò significa che CanvasRenderer e GlesRenderer ora sono classi interne di Renderer. (Iab5d4, b/173803230)
- CanvasComplicationDrawable.drawHighlight è stato rinominato in drawOutline. ObservableWatchData ora ha alcune annotazioni UiThread mancanti. ScreenState è stato completamente rimosso da WatchState. (If1393)
- Il livello API minimo per wear-watchface è ora 25. Tieni presente che il supporto della funzionalità Canvas hardware richiede il livello API 26 o versioni successive. (Ic9bbd)
- InteractiveWatchFaceWcsClient ora dispone di un helper getComplicationIdAt. (I05811)
- Il livello API per wear-watchface-client è stato ridotto a 25, ma le API di screenshot richiedono il livello API 27. (Id31c2)
Correzioni di bug
- Ora esponiamo il ComplicationType corrente di ComplicationData della complicazione in ComplicationState. (I9b390)
- InteractiveWatchFaceWcs ora dispone del metodo "bingAttentionToComplication" per evidenziare brevemente la complicazione specificata. (I6d31c)
InteractiveWatchFaceWcsClient#setUserStyle
ora ha un sovraccarico che accetta Map<string, string="">, il che può potenzialmente evitare un viaggio di andata e ritorno IPC aggiuntivo necessario per costruire UserStyle. (I24eec)</string,>
Versione 1.0.0-alpha03
2 dicembre 2020
androidx.wear:wear-*:1.0.0-alpha03
viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.
Nuove funzionalità
La classe Complication ora ha una proprietà compicationData che consente ai quadranti di osservare le modifiche di ComplicationData. In questo modo è possibile modificare le dimensioni della complicazione in base al tipo.
Le frequenze fotogrammi variabili sono ora supportate assegnando un valore a Renderer.interactiveDrawModeUpdateDelayMillis. Per i quadranti che eseguono animazioni brevi ogni secondo, questa impostazione può comportare un buon risparmio energetico passando alla modalità Sospensione quando non sono in animazione.
Modifiche all'API
BACKGROUND_IMAGE
è stato 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 TimeDependentText nascosta non è più esposta tramite ContentDescriptionLabel, ma aggiungiamo una funzione di accesso per ottenere il testo in un momento specificato. (Ica692)
- Il costruttore di ObservableWatchData è ora interno. (I30121, b/173802666)
- La complicazione ora ha compicationData che consente ai quadranti di osservare le modifiche di ComplicationData. Complication ha anche una nuova chiamata isActiveAt che può essere utilizzata per stabilire se il rendering di un elemento deve essere eseguito alla data e ora specificata. (Ic0e2a).
- Il campo
SharedMemoryImage
vuoto non è più nell'API pubblica. (I7ee17) WatchFace.overridePreviewReferenceTimeMillis
ora ha un'annotazione IntRange e i metodi getter e setter hanno nomi coerenti. (Ia5f78)- Per maggiore chiarezza,
Complication.Builder
viene ora creato 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
. Questo può aiutare a preservare la durata della batteria dormendo quando non si anima. (I707c9) - WatchFace.Builder non è più necessario e invalidate() e interactiveUpdateRateMillis sono stati spostati in Renderer. (I329ea)
- Per una migliore interoperabilità con Java, sono stati rinominati i getter per le proprietà booleane in WatchState (I6d2f1)
- Per coerenza, sono stati rinominati TapListener in TapCallback e InvalidateCallback in InvalidateListener. (I9414e)
- Per maggiore chiarezza, le opzioni di stile dei quadranti Wear 2.0 sono state spostate in una classe separata. I setters di WatchFace.Builder ora hanno getter della classe WatchFace simmetrici. (Iefdfc)
- Sono stati aggiunti InteractiveWatchFaceWcsClient e
WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient
che recuperano un'istanza esistente o la creano dopo che il servizio di sfondo è stato collegato e ha creato il motore. (Id666e) - WatchFaceControlClient ora è un'interfaccia che consente ai test di simularlo. (I875d9)
- HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl e InteractiveWatchFaceWcsClient sono ora interfacce per facilitare i test. (I7cdc3)
- Sono state aggiunte annotazioni ai metodi in
wear-watchface-complications-rendering
(I0d65c)
Correzioni di bug
- Rimuovi la forma dello schermo da DeviceConfig, che duplicava
android.content.res.Configuration#isScreenRound()
(Ifadf4) - È stato modificato
WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient
in modo da accettare 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 è aggregato correttamente ed è stata eseguita la migrazione degli utilizzi del supporto indossabile@ComplicationData.ComplicationType
ad AndroidxComplicationType
. (I4dd36)- Aggiungi un parametro
highlightedComplicationId
facoltativo a RenderParameters per richiedere l'evidenziazione di una singola complicazione negli screenshot. (I66ce9) ComplicationProviderService
per utilizzare la nuova API di complicazione dello stile per garantire coerenza (Id5aea)- Ora
getPreviewReferenceTimeMillis
ottiene i tempi di riferimento daDeviceConfig
. (I779fe) - Semplifica l'API Renderer, puoi utilizzare
SurfaceHolder.Callback
per osservare le modifiche. (I210db) CanvasComplicationRenderer
non si estende daRenderer
, rinominandolo per maggiore chiarezza. (Ibe880)
Correzioni di bug
- Prima versione di
androidx.wear:wear-watchface-client
(I1e35e) - È stato cambiato il nome di
GlesTextureComplication#renderer
per maggiore chiarezza (Ib78f7) - Rinomina
StyleCategory
inStyleSetting
per maggiore chiarezza (I488c7) - Aggiunta di
UserStyleSchema
per un'API più chiara (If36f8)
Versione 1.0.0-alpha01
28 ottobre 2020
Vengono rilasciate le versioni androidx.wear:wear-complications-*:1.0.0-alpha01
e androidx.wear:wear-watchface-*:1.0.0-alpha01
. La versione 1.0.0-alpha01 contiene questi commit.
Modifiche all'API
- Sono state rimosse alcune funzionalità che non intendevamo esporre nell'API pubblica. (I41669)
- Crea la raccolta
androidx.wear:wear-complications-provider
. (I77f1f) - ComplicationsUserStyleCategory, la nuova categoria consigliata per la configurazione delle complicazioni (I96909)
- Aggiungi l'API wear-complication-data. (I7c268)
- Funzioni con valori restituiti booleani a cui deve essere anteposto "è" anziché "ottieni" (If36ff)
- Il consiglio dell'API è evitare di utilizzare Protected, in modo che questa classe sia stata sottoposta a refactoring in modo da acquisire i parametri tramite il costruttore. (I61644)
- Rinomina setBackgroundComplication per maggiore chiarezza. (I96fe3)
- Utilizza le proprietà Kotlin per isHighlighted e data di ComplicationDrawable (I4dcc8)
- Al posto di ComplicationRenderer.InvalidateCallback aggiungiamo Complication#invalidate() (I4f4c6)
- Queste API sono in fase di ritiro in WearableSupport e sono state rimosse qui. (Ib425c)
- Sono stati rinominati alcuni metodi del builder di WatchFace per enfatizzare la loro natura legacy 2.0. (Idb775)
- Prima API beta candidata per l'uso di dispositivi Wear/wear-watch (Id3981)
- Prima versione monitorata dell'API. (Ie9fe6)
- Nascondi correttamente ComplicationDrawable.BorderStyle IntDef e passa a ComplicationStyle per coerenza. (I27f7a)
- Aggiunta di annotazioni mancanti per i metodi ComplicationStyle (I838fd)
- Questa libreria non ha un'API pubblica (I88e2b)
- Tutti i tipi di opzioni di categoria di stile sono ora correttamente finali. (Ib8323)
- Prima versione monitorata dell'API. (I27c85)
Correzioni di bug
- È stato modificato ComplicationProviderService in modo che abbia un metodo getComplicationPreviewData esplicito. (I4905f)
- Il controllo lint dell'API per MissingGetterMatchingBuilder è abilitato per androidx (I4bbea, b/138602561)
- Rinomina complicazioni di usura-rendering. (Ifea02)
- I nomi visualizzati delle categorie di stile ora sono CharSequence (I28990)
- Sostituzione di Sostituzione con Sovrapposizione per rispettare le convenzioni di denominazione di temi e stili attuali. (I4fde9)
- È stato rinominato UserStyle#getOptions per maggiore chiarezza. (I695b6)
Versione 1.2.0
Versione 1.2.0
15 settembre 2021
androidx.wear:wear:1.2.0
viene rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
È stato aggiunto il componente CurvedText per scrivere facilmente testo curvo seguendo la curvatura del cerchio più grande che può essere inscritto nella visualizzazione. Esempio di utilizzo:
<androidx.wear.widget.CurvedText android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="example curved text" app:anchorAngleDegrees="180" app:anchorPosition="center" app:clockwise="false" style="@android:style/TextAppearance.Large" />
È 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 intende sostituire l'esistente passare il nostro layout.
Nella classe AmbientModeSupport è stato aggiunto il supporto per indicare che un'attività può essere "ripristinata automaticamente" quando il dispositivo esce dalla modalità Ambient. Questa funzionalità era precedentemente disponibile nella classe WearableActivity deprecata di WearableSupportLibrary. (I336ab)
È stata eseguita la migrazione della classe WearableCalendarContract dalla libreria di supporto per i dispositivi indossabili. Questa API fornisce un sottoinsieme dei dati disponibili tramite CalendarContract, ma viene sincronizzata automaticamente con i dispositivi indossabili. (I6f2d7)
È stata aggiunta una nuova API
WearTypeHelper
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 il bug che causava l'arresto anomalo di ConfirmationActivity se non è stato fornito alcun messaggio. (Ie6055)
È stato corretto il bug per cui la funzione RecyclerView con scorrimento orizzontale causava la visualizzazione di
WearableDrawerLayout
in tutte le interazioni. (I24c7f)
Versione 1.2.0-rc01
1° settembre 2021
androidx.wear:wear:1.2.0-rc01
viene rilasciato senza modifiche dall'ultima versione beta. La versione 1.2.0-rc01 contiene questi commit.
Versione 1.2.0-beta01
18 agosto 2021
androidx.wear:wear:1.2.0-beta01
viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava l'arresto anomalo di ConfirmationActivity se non veniva fornito alcun messaggio. (Ie6055)
Versione 1.2.0-alpha13
4 agosto 2021
androidx.wear:wear:1.2.0-alpha13
viene rilasciato. La versione 1.2.0-alpha13 contiene questi commit.
Modifiche all'API
WearTypeHelper.isChinaDevice
è stato rinominato 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 alle 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
Viene rilasciato androidx.wear:wear:1.2.0-alpha11
. La versione 1.2.0-alpha11 contiene questi commit.
Correzioni di bug
- È stato corretto un bug per cui gli elementi RecyclerView con scorrimento orizzontale causavano la visualizzazione di
WearableDrawerLayout
su tutte le interazioni. (I24c7f)
Versione 1.2.0-alpha10
2 giugno 2021
androidx.wear:wear:1.2.0-alpha10
viene rilasciato. La versione 1.2.0-alpha10 contiene questi commit.
Nuove funzionalità
- La versione Alpha10 migliora il supporto dell'accessibilità in Testo curvo e Layout ad arco. Inoltre, sono state apportate alcune modifiche minori al nome di DismissibleFrameLayout per chiarire l'API.
Modifiche all'API
- Abbiamo rinominato i seguenti metodi in
DismissibleFrameLayout
(Ib195e):Callback#onDismissed
->Callback#onDismissedFinished
isSwipeDismissible
->isDismissableBySwipe
isBackButtonDismissible
->isDismissableByBackButton
- Abbiamo reso definitivi i seguenti metodi (Ib195e):
setBackButtonDismissible
setSwipeDismissible
registerCallback
unregisterCallback
Correzioni di bug
- Utilizza i contenuti di CurvedTextView su TalkBack. (I05798)
- Accessibilità migliorata per le visualizzazioni normali in un layout ad arco. (I4418d)
Versione 1.2.0-alpha09
18 maggio 2021
androidx.wear:wear:1.2.0-alpha09
viene rilasciato. La versione 1.2.0-alpha09 contiene questi commit.
Modifiche all'API
- È stata aggiunta una nuova funzione
CurvedTextView.setTypeface()
(simile a quella diTextView
), per impostare il carattere tipografico del testo e lo stile 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 hanno il nome che inizia conVERTICAL_ALIGN_
(anziché leVALIGN_
precedenti)
- Il giorno
- Il giorno
CurvedTextView
, i metodisetMinSweepDegrees
esetMaxSweepDegrees
sono stati sostituiti dasetSweepRangeDegrees
(I7a9d9)
Versione 1.2.0-alpha08
5 maggio 2021
Viene rilasciato androidx.wear:wear:1.2.0-alpha08
. La versione 1.2.0-alpha08 contiene questi commit.
Modifiche all'API
- Per migliorare la chiarezza del codice, abbiamo aggiunto annotazioni
@FloatRange
ad alcuni parametri angolari e tipi di ritorno. (I430dd) - Nell'interfaccia
WearArcLayout.ArcLayoutWidget
, il metodoinsideClickArea
ora si chiama isPointInsideClickArea. (Ia7307)
Versione 1.2.0-alpha07
24 marzo 2021
Viene rilasciato androidx.wear:wear:1.2.0-alpha07
. La versione 1.2.0-alpha07 contiene questi commit.
Correzioni di bug
- Correzione degli errori relativi agli elementi secondari non curvi all'interno di WearArcLayout causati dall'utilizzo di dimensioni dello schermo con altezza maggiore della larghezza. Questi elementi secondari non curvi ora sono posizionati correttamente all'interno di un arco su tutti i tipi di schermo.
Versione 1.2.0-alpha06
27 gennaio 2021
androidx.wear:wear:1.2.0-alpha06
viene rilasciato. La versione 1.2.0-alpha06 contiene questi commit.
Modifiche all'API
- Esegui la migrazione della raccolta Attività in corso a una nuova sottoraccolta: wear-ongoing. Le classi ora si trovano nel pacchetto androidx.wear.ongoing (in precedenza androidx.wear.ongoingactivities) (I7c029)
- Esegui la migrazione della classe WearableCalendarContract da Wearable Support Library ad AndroidX. Questa API fornisce un sottoinsieme dei dati disponibili tramite CalendarContract, ma viene sincronizzata automaticamente con i dispositivi indossabili. (I6f2d7).
Correzioni di bug
- Disattivare la funzionalità di chiusura del pulsante Indietro per impostazione predefinita in Dismissible FrameLayout, poiché lo scorrimento per chiudere rimane il modo principale per tornare indietro a uno schermo intero sui dispositivi indossabili (Ic24e3)
- Sono stati corretti alcuni problemi relativi alla gestione della visibilità dei componenti secondari in WearArcLayout (Icf912)
Versione 1.2.0-alpha05
13 gennaio 2021
Viene rilasciato androidx.wear:wear:1.2.0-alpha05
. La versione 1.2.0-alpha05 contiene questi commit.
Correzioni di bug
- Aggiorna la documentazione Javadoc della classe AmbientModeSupport per fornire snippet di esempio che dimostrino meglio l'utilizzo generale di questa classe.
Versione 1.2.0-alpha04
16 dicembre 2020
androidx.wear:wear:1.2.0-alpha04
viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.
Modifiche all'API
- È stato aggiunto il supporto per indicare che un'attività può essere "ripresa automaticamente" quando il dispositivo lascia la modalità Ambient nella classe AmbientModeSupport. Questa funzionalità era precedentemente disponibile nella classe WearableActivity deprecata di WearableSupportLibrary. (I336ab)
- Attività in corso
- Ora è possibile impostare la categoria durante la creazione di un'attività On Zing, ad esempio
OngoingActivitiy.Builder.getCategory(String)
- Ora OnVaiActivityData è presente un timestamp che indica la data di creazione dell'Attività di OnVai:
OngoingActivityData.getTimestamp()
- (I91cb4)
- Ora è possibile impostare la categoria durante la creazione di un'attività On Zing, 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)
- Imposta il tipo di ancoraggio predefinito di WearCurvedTextView su
WearArcLayout.ANCHOR_CENTER
(eraWearArcLayout.ANCHOR_START
). Questo semplifica il contratto tra il layout dell'arco e il testo curvo, in quanto per impostazione predefinita il testo curvo viene tracciato con il centro x in alto e il layout dell'arco principale può ruotarlo dove necessario. (I105ff)
Versione 1.2.0-alpha03
2 dicembre 2020
androidx.wear:wear:1.2.0-alpha03
viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.
Nuove funzionalità
Un nuovo contenitore di layout DismissibleFrameLayout, che gestisce la chiusura con il pulsante Indietro e/o con uno scorrimento, destinato all'utilizzo all'interno di un'attività. È necessario aggiungere almeno un ascoltatore per eseguire un'azione di dismissione. In genere, un ascoltatore rimuove una vista contenitore o un frammento dall'attività corrente. setSwipeDismissible(boolean) e setBackButtonDismissible(boolean) sono forniti per il controllo diretto delle funzionalità. Questo nuovo layout intende sostituire l'esistente passare il nostro layout.
I widget curvi ora gestiscono gli eventi touch. I widget normali all'interno di un layout WearArc riceveranno tutti gli eventi tocco, mappati al loro spazio di coordinate. WearCurvedTextView (all'interno di un WearArcLayout o meno) può impostare i gestori onClick e onLongClick.
Le classi di attività in corso sono ora disponibili con più versioni invece di utilizzare serializzazione/deserializzazione personalizzate. L'icona statica e lo scopo tocco sono ora obbligatori.
Modifiche alle API
- L'attributo "sweepDegrees" per WearCurvedTextView è separato in minSweepDegrees e maxSweepDegrees per offrire un layout più flessibile di questo widget.
Versione 1.2.0-alpha02
11 novembre 2020
androidx.wear:wear:1.2.0-alpha02
viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.
In questa release è stata aggiunta per la prima volta una nuova "API Attività in corso". Questa API può essere utilizzata dagli sviluppatori per segnalare che è in corso un'attività di lunga durata, ad esempio un esercizio fisico o una sessione di riproduzione di contenuti multimediali. Consente agli sviluppatori di fornire aggiornamenti periodici sullo stato, ad esempio "distanza e tempo di corsa" o "traccia attuale in riproduzione", da mostrare sul quadrante o in Avvio app. Questa funzionalità è destinata ai dispositivi futuri con la funzionalità Attività in corso attivata.
Modifiche all'API
- Nuova API per le attività in corso, non viene eseguita su "dispositivi non supportati". (I69a31)
Versione 1.2.0-alpha01
28 ottobre 2020
androidx.wear:wear:1.2.0-alpha01
viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il componente WearCurvedTextView per scrivere facilmente testo curvo seguendo la curvatura del cerchio più grande che può essere inscritto nella visualizzazione. Un esempio di utilizzo:
<androidx.wear.widget.WearCurvedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="example curved text"
app:anchorAngleDegrees="180"
app:anchorPosition="center"
app:clockwise="false"
style="@android:style/TextAppearance.Large"
/>
- È stato aggiunto il contenitore WearArcLayout per disporre gli elementi secondari uno per uno su un arco in senso orario o antiorario. I relativi elementi secondari possono essere widget Android standard o widget "curvi" che implementano l'interfaccia ArcLayoutWidget. Esempio di utilizzo:
<androidx.wear.widget.WearArcLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:anchorPosition="center">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_launcher"
/>
<androidx.wear.widget.WearCurvedTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Curved Text"
style="@android:style/TextAppearance.Small"
android:padding="2dp"
/>
</androidx.wear.widget.WearArcLayout>
(I536da)
Wear-Input 1.2
Versione 1.2.0-alpha02
29 settembre 2021
Vengono rilasciate le versioni androidx.wear:wear-input:1.2.0-alpha02
e androidx.wear:wear-input-testing:1.2.0-alpha02
. La versione 1.2.0-alpha02 contiene questi commit.
Modifiche all'API
- Il valore
disallowEmoji
è stato rinominato 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
Vengono rilasciate le versioni androidx.wear:wear-input:1.1.0-alpha03
e androidx.wear:wear-input-testing:1.1.0-alpha03
. La versione 1.1.0-alpha03 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava il rifiuto degli intent RemoteInput a cui erano stati aggiunti
RemoteInput
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 elementi aggiuntivi 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
Vengono rilasciate le versioni androidx.wear:wear-input:1.1.0-alpha01
e androidx.wear:wear-input-testing:1.1.0-alpha01
. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche all'API
- Esegui la migrazione della classe RemoteInputIntent da Wearable Support Library ad AndroidX. La classe di cui è stata eseguita la migrazione viene rinominata in RemoteInputIntentHelper e fornisce funzioni di supporto per gli input remoti tramite l'avvio di uno scopo. (I47cee)
Wear-Input 1.0.0
Versione 1.0.0
2 dicembre 2020
androidx.wear:wear-input:1.0.0
e androidx.wear:wear-input-testing:1.0.0
vengono rilasciati. La versione 1.0.0 contiene questi commit.
Questa release è identica a 1.0.0-rc01
.
Funzionalità principali della versione 1.0.0
Migrazione della funzionalità WearableButtons dalla libreria di supporto per dispositivi indossabili a Jetpack.
È stato aggiunto
androidx.wear.input.test.TestWearableButtonsProvider
che 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
Vengono rilasciate le versioni androidx.wear:wear-input:1.0.0-rc01
e androidx.wear:wear-input-testing:1.0.0-rc01
. La versione 1.0.0-rc01 contiene questi commit.
Questa release è identica a 1.0.0-beta01
.
Versione 1.0.0-beta01
28 ottobre 2020
androidx.wear:wear-input:1.0.0-beta01
e androidx.wear:wear-input-testing:1.0.0-beta01
vengono rilasciate senza modifiche dal giorno 1.1.0-alpha01
. La versione 1.0.0-beta01 contiene questi commit.
Wear-Input-Testing versione 1.0.0-alpha01
14 ottobre 2020
androidx.wear:wear-input-testing:1.0.0-alpha01
viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.
Modifiche all'API
- È stato aggiunto
androidx.wear.input.test.TestWearableButtonsProvider
che 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
Viene rilasciato androidx.wear:wear-input:1.0.0-alpha01
. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
Migrazione della funzionalità WearableButtons dalla libreria di supporto per dispositivi indossabili a Jetpack. Ulteriore supporto per i test verrà fornito nella libreria androidx.wear:wear-input-testing
nella prossima release di Jetpack.
Versione 1.1.0
Versione 1.1.0
14 ottobre 2020
androidx.wear:wear:1.1.0
viene rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche principali dalla versione 1.0.0
- È stato aggiunto un prefisso
layout_
all'attributo boxedEdges (oralayout_BoxedEdges
) perBoxInsetLayout
al fine di rispettare la convenzione di denominazione Android. In questo modo, l'errore del lint in Android Studio per questi attributi verrà rimosso. (I4272f) - È stato aggiunto
EXTRA_ANIMATION_DURATION_MILLIS
facoltativo 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
al fine di rispettare la convenzione di denominazione Android. In questo modo, l'errore del lint in Android Studio per questi attributi verrà rimosso.
Versione 1.1.0-rc01
14 maggio 2020
androidx.wear:wear:1.1.0-rc01
viene rilasciato senza modifiche dal giorno .1.0-beta01
. La versione 1.1.0-rc01 contiene questi commit.
Versione 1.1.0-beta01
29 aprile 2020
androidx.wear:wear:1.1.0-beta01
viene rilasciato senza modifiche dal giorno androidx.wear:wear:1.1.0-alpha01
. La versione 1.3.0-beta01 contiene questi commit.
Versione 1.1.0-alpha01
15 aprile 2020
androidx.wear:wear:1.1.0-alpha01
viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche alle API
- È stato aggiunto
EXTRA_ANIMATION_DURATION_MILLIS
facoltativo 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)