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