navigationevent
| Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
|---|---|---|---|---|
| 24 de setembro de 2025 | - | - | - | 1.0.0-alpha09 |
Declarar dependências
Para adicionar uma dependência a navigationevent, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle do
seu app ou módulo:
Groovy
dependencies { implementation "androidx.navigationevent:navigationevent:1.0.0-alpha09" }
Kotlin
dependencies { implementation("androidx.navigationevent:navigationevent:1.0.0-alpha09") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Não há notas de versão para este artefato.
Versão 1.0
Versão 1.0.0-alpha09
24 de setembro de 2025
Lançamento de androidx.navigationevent:navigationevent-*:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estes commits.
Mudanças na API
- Use o objeto singleton
NavigationEventTransitionState.Idlediretamente em vez de instanciarIdle(). (Ic7d9e, b/444734264). - Torne os construtores de conveniência internos e receba instâncias usando
NavigationEventDispatcher.historypúblico em vez de construção direta. (I3b7e0, b/444734264) - É necessário criar
NavigationEventStateusandorememberNavigationEventState. O construtor agora é interno. (Ie143c, b/444734264). - Adote
onBackCompletedFallback, substitua os usos defallbackOnBackPressede o parâmetro do construtor. O comportamento não muda. É invocado apenas em eventos de retorno concluídos e não processados. (Idabe9, b/444734264) - O construtor principal de
NavigationEventHistory(mergedHistory, currentIndex)agora éinternal. Os consumidores externos precisam usar os construtores públicos (o vazio ou o baseado em partição) para criar instâncias. (I1c047, b/444734264) - Fazer com que
View.setViewTreeNavigationEventDispatcherOwneraceite um proprietário anulável (Ic9eb6, b/444436762). NavigationEventInfoagora é umabstract classem vez de uminterface. Atualize todas as implementações personalizadas para herdar da classe (por exemplo,data class MyInfo : NavigationEventInfo()). (I1e59c, b/444734264)- A propriedade
NavigationEventDispatcher.statee a funçãogetState<T>()legadas foram removidas. Use os novos fluxos separadosdispatcher.transitionState(para o progresso do gesto) edispatcher.history(para a pilha de navegação). (Ic2ceb, b/444734264) - O callback
NavigationEventInput.onInfoChanged(...)é substituído. Implemente o novo callbackonHistoryChanged(history: NavigationEventHistory)para receber atualizações como um único objetoNavigationEventHistory. (I23e0b, b/444734264) - Introduza um novo
NavigationEventDispatcher.historyStateFlowglobal. Esse fluxo não genérico permite que os observadores se inscrevam apenas para receber mudanças na pilha de navegação e permanece estável durante o progresso do gesto. É a contrapartida detransitionState. (I1db10, b/444734264). - Introduza um novo
NavigationEventDispatcher.transitionStateStateFlowglobal. Esse fluxo não genérico permite que os observadores se inscrevam apenas no estado do gesto físico (Idle/InProgress), separado do histórico. (I171fa, b/444734264) - Apresente a classe
NavigationEventHistoryState. Essa será a API principal para observar o histórico de informações de navegação, separada do estado do gesto. (I81ca5, b/444734264) NavigationEventagora está marcado como@Immutable, permitindo que o Compose Compiler otimize recomposições. (If78c7, b/444734264)- As APIs de manipulador
navigationevent-composeforam atualizadas.NavigationEventHandlereNavigationBackHandler(e variantes) agora são compatíveis com uma nova sobrecarga que aceitaNavigationEventStates içados. As sobrecargas simples (que usamcurrentInfo) são preservadas e agora usam esse novo modelo de estado internamente. (Ic3251, b/444734264) - Adicione o novo
@StableNavigationEventState<T>aonavigationevent-compose. Esse objeto combina o histórico local com o estado do gesto local e será o principal link entrerememberNavigationEventStateeNavigationEventHandler. (Ifb69f, b/444734264) - Adicione uma nova propriedade
transitionState: TransitionStatepública e somente leitura aNavigationEventHandler. Os manipuladores agora mantêm o próprio estado de transição, que pode ser observado por sistemas externos. (I9acd2, b/444734264) - Apresente a nova classe sealed
TransitionState. Essa será a API principal para observar o estado do gesto, separada do histórico de navegação. (Id4beb, b/444734264). - Exponha
currentInfo,backInfoeforwardInfocomo propriedades públicas somente leitura emNavigationEventHandler. (Ia7636, b/444734264) - As implementações de
NavigationEventHandleragora precisam fornecer um valorinitialInfo: Tao construtor de base. (Idcfea, b/444734264) - Substitua
OnBackInvokedInputporOnBackInvokedOverlayInputouOnBackInvokedDefaultInput. (I5323f, b/428948766) - Marque
NavigationEventStatecomo@Immutable. Isso melhora a performance do Compose, garantindo que os combináveis que observam esse estado possam pular a recomposição corretamente. (I399c8) - Renomeie
NavigationEventInfo.NotProvidedparaNavigationEventInfo.None;e atualize as referências. Nenhuma mudança de comportamento. (I5e2d4). NavigationEventInfoagora está marcado como@Immutable, permitindo que o Compose Compiler otimize recomposições. (I7c112).- Melhorar a ergonomia do Java com uma interface divertida para o fallback de conclusão de volta. (I8a860).
onHasEnabledHandlerChangedfoi renomeado comoonHasEnabledHandlersChanged. Isso esclarece que o callback informa o estado de ativação coletiva de todos os manipuladores, não apenas um. (I1af61, b/443711297).- Remova
hasEnabledHandler()deNavigationEventDispatcher;e useNavigationEventInput.onHasEnabledHandlersChanged. (Idef72, b/443711297) - Adicione o callback
onInfoChangedaNavigationEventInputpara notificar os listeners sobre mudanças no histórico de navegação. Isso fornece o contexto completo das pilhas atuais, de volta e para frente, permitindo que as entradas reajam às informações contextuais. (I69a8b, b/443282983) - Transformar o
swipeEdgedoNavigationEventem um@IntDef(Icee54, b/443950342) - Adicione um parâmetro
priorityaNavigationEventDispatcher.addInputpara limitar um dispatcher a uma prioridade. Eventos comoonHasEnabledCallbacksChangedagora são acionados apenas quando os callbacks nessa prioridade mudam. (I3e488, b/443711297). - Renomeie o parâmetro
NavigationEventDispatcherdeparentDispatcherpara parent para maior clareza. (Id4f1f, b/443801782) - Remoção de
NavigationEventPriorityem favor de@IntDefpara usuários do Java (I10a9f, b/440514265). - Aplicar o contrato do gerenciador de navegação. Se o
NavigationEventHandlerdefinirisBackEnabledouisForwardEnabledcomotrue, agora você precisará substituironBackCompletedouonForwardCompleted, respectivamente. As implementações padrão agora geram uma exceção para evitar falhas silenciosas. (I17c62). - Impor valores de prioridade válidos ao adicionar manipuladores de eventos de navegação. Chamar
addHandlercom uma prioridade não compatível agora vai gerar umIllegalArgumentException, fornecendo feedback imediato para uso incorreto em todas as plataformas de destino. (I3c474).
Correções de bugs
- Faça
addHandlerser idempotente e ignore registros duplicados. (I052aa, b/444734264) - Mantenha as propriedades
NavigationEventStatesincronizadas durante a recomposição. (Ib3b4d, b/444734264) - Verifique se
NavigationEventInputsrecebe as informações contextuais atuais (atual, voltar, avançar) imediatamente após o registro. (Ie65bf, b/443282983).
Versão 1.0.0-alpha08
10 de setembro de 2025
Lançamento de androidx.navigationevent:navigationevent-*:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estes commits.
Novos recursos
- Introduzir uma API
NavigationEventHandlerbaseada em lambda que substitui o manipulador baseado em fluxo. Processe gestos de voltar e avançar com callbacks simples em vez de coletar fluxos, reduzindo o código boilerplate e evitando problemas de cancelamento. ForneçaNavigationBackHandlereNavigationForwardHandlercomo APIs de conveniência segmentadas. Remova oNavigationEventHandlerbaseado em fluxo e migre para os novos callbacks. (I23bac, b/436248277). - Permite que listeners passivos acessem a pilha de retorno de navegação completa usando informações de retorno combinadas. Permite que as UIs renderizem prévias e histórico de navegação aninhado em vez de se limitarem ao callback mais alto. (I7a510, b/436248277).
- Introduzir um modelo explícito de retorno/atual/avanço para esclarecer o estado da navegação e oferecer suporte à navegação para frente com gerenciadores aninhados. (Ib86da, b/420443609)
- Adicione métodos
onForward*eisForwardEnabledaNavigationEventCallback. (Ic100f, b/436248290) - Adicione suporte à navegação para frente em
NavigationEventInput. (I5734b).
Mudanças na API
- Ative o teste de eventos de navegação para frente com
TestNavigationEventCallback. Use os hooksisForwardEnabledeonForward*. (I21fb5, b/420443609) - Renomeie os callbacks
onEvent*paraonBack*emNavEvent. (I228b3, b/436248290) - Converter
SwipeEdgeem uma classe in-line. (Id5e01). - Faça com que a biblioteca
navigationeventseja interoperável com Java. Todas as APIs públicas agora estão totalmente acessíveis no código Java, permitindo uma integração perfeita em projetos de linguagem mista ou somente em Java. (Ibc944,I5465f, I9fb1e, b/440532890b/443040294) - Esclarecemos as funções da API renomeando
NavigationEventCallbackparaNavigationEventHandler. Essa mudança reflete melhor a finalidade da classe de processar gestos de navegação em várias etapas. O métodoaddCallbackcorrespondente agora éaddHandler. (I2492a, b/443040331)
Correções de bugs
- Impedir que o retorno de fallback seja executado na navegação para frente. (I74814, b/436248290).
- Adição de suporte à navegação preditiva para frente. As APIs
NavigationEventagora processam gestos para trás e para frente, permitindo animações consistentes para as duas direções de navegação. (Idc98c, b/436248290) - Evitar uma falha de
IllegalStateExceptiondurante a recomposição quando umNavigationEventDispatcherOwnerfilho é removido. (Iff50c, b/412629020) - Os ouvintes passivos agora podem acessar a pilha de retorno de navegação completa usando informações de retorno combinadas, permitindo que as UIs renderizem prévias e histórico de navegação aninhado em vez de se limitarem ao callback mais alto. (I7a510, b/436248277).
Versão 1.0.0-alpha07
27 de agosto de 2025
Lançamento de androidx.navigationevent:navigationevent-*:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estes commits.
Mudanças na API
- O
NavigationEventDispatcher.onHasEnabledCallbacksChangedfoi removido. (I50e97). - Tornamos
NavigationEventCallback.onEventCompleted()abstrato. (I36b38). - Mude os métodos
NavigationEventCallback#on*paraprotected. Atualize o código de chamada para substituir esses valores. (I6b691). - Renomeie as funções
DirectNavigationEventInput. (Iffb62). NavigationEventInput.onAttachfoi renomeado comoonAdded. (I2d0b8).NavigationEventInput.onDetachfoi renomeado comoonRemoved. (I2d0b8).NavigationEventInputHandlerfoi renomeado comoNavigationEventInput. (I676a4).@EmptySuperfoi adicionada aNavigationEventInput.onHasEnabledCallbacksChanged. (If9853).- Implemente
onAttachemNavigationEventInputHandler. (I03648) - Implemente
onDetachemNavigationEventInputHandler. (I03648) - Ativar o
NavigationEventCallbackpor padrão após a criação. (Ic0188). NavigationEventInput.addOnHasEnabledCallbacksChangedCallbackfoi substituída porNavigationEventInput.onHasEnabledCallbacksChanged. (I64e93).- Exigir a linha de execução principal para
NavigationEventDispatcher.addInput. (Ic2930) - Exigir a linha de execução principal para
NavigationEventDispatcher.removeInput. (Ic2930) - O
Dispatcher.addOnHasEnabledCallbacksChangedCallbackfoi removido. Substitua peloDispatcher.onHasEnabledCallbacksChanged(Ida3e3, b/436530096)
Correções de bugs
- Correção de um bug em que adicionar um manipulador já anexado ou remover um não anexado acionava uma lógica de ciclo de vida incorreta. (I9e47b).
Versão 1.0.0-alpha06
13 de agosto de 2025
Lançamento de androidx.navigationevent:navigationevent-*:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estes commits.
Novos recursos
API Passive Listeners
Agora, é possível transmitir informações contextuais personalizadas de qualquer host de navegação e ouvir passivamente mudanças de estado de gestos em qualquer lugar da sua interface. Isso ativa animações baseadas no contexto para volta preditiva e outras navegações baseadas em gestos.
Esse recurso tem duas partes:
- Fornecimento de informações: use
NavigationEventInfopara transmitir dados personalizados. - Estado de consumo: use
dispatcher.state(NavigationEventState) para observar o progresso e o contexto do gesto.
NavigationEventCallbackagora expõe o métodosetInfo(currentInfo, previousInfo)para definir o contexto de gestos em uma chamada (I1d5e7, b/424470518).- O
NavigationEventHandleradiciona uma nova sobrecarga que aceitacurrentInfoepreviousInfo, tornando-o a API principal para fornecer contexto em apps do Compose (I6ecd3, b/424470518).
Exemplo:
data class MyScreenInfo(val screenName: String) : NavigationEventInfo
NavigationEventHandler(
enabled = true,
currentInfo = MyScreenInfo("Details Screen"),
previousInfo = MyScreenInfo("Home Screen")
) { /* Handle back completion */ }
NavigationEventDispatcheragora expõedispatcher.stateedispatcher.getState<T>()(If7fae, Ia90ca, b/424470518). Essas APIs baseadas emStateFlowpermitem que qualquer interface observe o progresso do gesto e os dados contextuais sem processar o evento diretamente.
Exemplo:
val gestureState by LocalNavigationEventDispatcherOwner.current!!
.navigationEventDispatcher
.state
.collectAsState()
val progress = gestureState.progress // Returns latestEvent.progress or 0F
when (val state = gestureState) {
is InProgress -> {
val toScreen = state.currentInfo as MyScreenInfo
val fromScreen = state.previousInfo as MyScreenInfo
println("Navigating from ${fromScreen.screenName} to ${toScreen.screenName}")
}
is Idle -> { /* Idle state */ }
}
Adicione a propriedade
progressaNavigationEventState(I7b196) que retornalatestEvent.progressquando em andamento ou0Fcaso contrário:val progress = state.progressAdicione o elemento combinável
NavigationEventDispatcherOwnerpara criar, vincular e descartar instâncias deNavigationEventDispatcherde maneira hierárquica. Ative o controle dinâmico do estado ativado do dispatcher e a limpeza automática.@Composable fun Sample() { NavigationEventDispatcherOwner(enabled = true) { val localDispatcherOwner = LocalNavigationEventDispatcherOwner.current } }
Mudanças na API
- O parâmetro
isPassthroughfoi removido doNavigationEventCallback. (I99028, b/424470518). - Os construtores
NavigationEventStateagora são internos. Para testar, atualize o estado (o padrão éIdle) usando oDirectNavigationEventInputHandler. ChamehandleOnStartedouhandleOnProgressedpara definir o estado comoInProgressehandleOnCompletedouhandleOnCancelledpara retornar aIdle. Para atualizarNavigationEventInfo, useNavigationEventCallback.setInfo. (I93dca, b/424470518) - Adição de parâmetros padrão a
NavigationEventpara facilitar a instanciação e simplificar os testes, que devem ser usados no lugar deTestNavigationEvent. (I5dc49, I232f4) - Adicionamos um
TestNavigationEventCallbackpara testar eventos de navegação com estados atuais/anteriores específicos. (Idd22e, b/424470518) - A classe
NavigationEventInputHandlerfoi transformada em uma classe abstrata para substituir oAbstractNavigationEventInputHandleranterior por uma implementação emDirectNavigationEventInputHandler(Iadde5, Ifed40I3897c, b/432616296, b/435416924). - Os prefixos das funções
send*emNavigationEventInputHandlerforam renomeados comohandle*. (Iffcaf). OnBackInvokedInputHandleragora estende oNavigationInputHandlerabstractrecém-criado. (Ib45aa).- Mudança em
NavigationEventDispatcherOwnerpara exigir um dispatcher principal em que você precisa transmitir explicitamentenullpara criar um dispatcher raiz. (Ia6f64, b/431534103)
Correções de bugs
- Melhoria da eficiência ao evitar cópias de coleta em
NavigationEventDispatcher.dispose(). (I4ab09). - Correção de um problema em que o
NavigationEventHandlernão respondia corretamente às mudanças no estado ativado. (Ia5268,I19bec, I5be5c, b/431534103)
Atualizações do Google Docs
- KDocs para
NavigationEventexpandido para esclarecer sua função como um wrapper de eventos unificado e detalhar o comportamento das propriedades em diferentes tipos de navegação (gestos, cliques). (I91e8d). - Atualizamos a documentação para APIs do Compose de processamento de retorno do sistema (
BackHandler,PredictiveBackHandler,NavigationEventHandler) para destacar o comportamento especificamente em relação à ordem de callback. (I7ab94, )
Atualização de dependências
- O
NavigationEventagora depende do Compose Runtime 1.9.0-beta03, que permite que o artefatonavigationevent-composeofereça suporte a todas as metas do KMP. (Ia1b87).
Versão 1.0.0-alpha05
30 de julho de 2025
Lançamento de androidx.navigationevent:navigationevent-*:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estes commits.
Suporte à hierarquia pai-filho:
Um NavigationEventDispatcher agora pode ter despachantes pai e filho, formando uma estrutura de árvore hierárquica. Isso permite que os eventos de navegação sejam propagados e gerenciados de maneira mais flexível em componentes complexos da interface do Compose, refletindo a hierarquia estrutural da interface por meio de despachantes encadeados. (I194ac).
// Create a parent dispatcher that will manage navigation events at a higher level.
val parentDispatcher = NavigationEventDispatcher()
// Create a child dispatcher linked to the parent, forming a hierarchy.
val childDispatcher = NavigationEventDispatcher(parentDispatcher)
A propriedade hierárquica isEnabled permite o controle de cima para baixo de um dispatcher. Quando isEnabled é definido como false em um dispatcher, ele desativa automaticamente todos os dispatchers descendentes. Esse recurso permite desativar ramificações inteiras do sistema de eventos de navegação de maneira eficiente. (I9e985).
// Disabling the child dispatcher disables all its callbacks and any of its children recursively.
childDispatcher.isEnabled = false
Além disso, a propriedade isEnabled em NavigationEventCallback agora respeita o estado ativado do dispatcher associado. Isso significa que um callback é considerado ativado somente se ele e o dispatcher (incluindo os ancestrais) estiverem ativados, garantindo um controle hierárquico consistente sobre a ativação do callback. (I1799a)
// Create a test callback and add it to the child dispatcher.
val callback1 = TestNavigationEventCallback(isEnabled = true)
childDispatcher.addCallback(callback1)
// Since the childDispatcher is disabled, the callback is effectively disabled as well.
assertThat(callback1.isEnabled).isFalse()
Um novo método dispose() foi introduzido para a limpeza adequada de despachantes e filhos deles. Chamar dispose() interrompe os listeners para evitar vazamentos de memória, descarta recursivamente todos os despachantes filhos, remove todos os retornos de chamada registrados no despachante e desvincula do pai. Isso garante que os recursos sejam liberados corretamente quando os despachantes não forem mais necessários. (I9e985).
// Dispose the child dispatcher to clean up resources.
childDispatcher.dispose()
Se um método público for chamado em um dispatcher descartado, uma IllegalStateException será gerada imediatamente. Isso evita falhas silenciosas e ajuda os desenvolvedores a identificar o uso inadequado durante o desenvolvimento. (Ic2dc3).
val callback2 = TestNavigationEventCallback()
// Attempting to use a disposed dispatcher will throw an exception.
assertThrows<IllegalStateException> {
childDispatcher.addCallback(callback2)
}
Observação:vamos lançar um novo elemento combinável NavigationEventDispatcherOwner que gerencia automaticamente um dispatcher secundário na interface do Compose em aosp/3692572. No entanto, essa mudança não foi incluída na versão atual e está planejada para a próxima.
Biblioteca de testes de navegação
- Adição do módulo
navigationevent-testingpara fornecer utilitários de teste dedicados à bibliotecanavigationevent. (0e50b6) - Adicione a classe utilitária falsa
TestNavigationEventCallbackpara testes. Ele grava chamadas de método de callback e armazena itensNavigationEventrecebidos para oferecer suporte à verificação. (4a0246) - Adicione a função utilitária falsa
TestNavigationEventpara criar instânciasNavigationEventcom valores padrão, simplificando os testes de unidade para o processamento de eventos de navegação. (3b63f5). - Adicione a classe utilitária falsa
TestNavigationEventDispatcherOwnerpara testes. Ele rastreia contagens de eventos de fallback e de mudança de estado ativado para oferecer suporte à verificação de interação em testes. (c8753e)
Mudanças na API
- Mova
NavigationEventInputHandlerdeandroidMainparacommonMainpara disponibilizar no código comum do KMP. Adicione novos métodospublic send*para despachar eventos. Mude as funções de envio emNavigationEventDispatcherdepublicparainternal. Agora, os usuários precisam usarNavigationEventInputHandlerpara enviar eventos. (Ia7114) NavigationInputHandlerfoi renomeado comoOnBackInvokedInputHandler. (I63405)
Correções de bugs
- Refatoração de
NavigationEventDispatcherpara reduzir a sobrecarga, evitando alocações de listas intermediárias e melhorando o desempenho de envio de callback. (I82702, I1a9d9). - Adicione anotações
@FloatRangeaos campostouchX,touchYeprogressemNavigationEventpara aplicar intervalos de valores válidos no momento da compilação e melhorar a segurança da API. (Iac0ec).
Versão 1.0.0-alpha04
2 de julho de 2025
Lançamento de androidx.navigationevent:navigationevent-*:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estes commits.
Correções de bugs
- Usamos
implementedInJetBrainsForkparanavigationevent-composee adicionamos um destinocommonStubspara corresponder às convenções do Compose. Mudança solicitada pela JetBrains. (f60c79). - Correção da aplicação do plug-in do compilador do Compose para Kotlin/Native para garantir a geração correta de stubs. Não há impacto no comportamento ou nas APIs públicas. (1890c9)
Versão 1.0.0-alpha03
18 de junho de 2025
Lançamento de androidx.navigationevent:navigationevent-*:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estes commits.
Novos recursos
- Introduzimos um novo módulo
navigationevent-composepara oferecer suporte aos recursos do Jetpack Compose na bibliotecanavigationevent. (980d78) - O
NavigationEventCompose adicionou uma nova composição localLocalNavigationEventDispatcherOwner. Ele retorna um valor anulável para determinar melhor se ele está disponível na composição atual.NavigationEventHandlervai gerar um erro se o proprietário não for encontrado. (62ffda) - O
NavigationEventCompose adicionou um novo elemento combinávelNavigationEventHandlerpara processar eventos (gesto de volta preditivo). Ele fornece umFlowde objetosNavigationEventque precisam ser coletados na lambda de suspensão fornecida c42ba6 :
NavigationEventHandler { progress: Flow<NavigationEvent> ->
// This block is executed when the back gesture begins.
try {
progress.collect { backEvent ->
// Handle gesture progress updates here.
}
// This block is executed if the gesture completes successfully.
} catch (e: CancellationException) {
// This block is executed if the gesture is cancelled
throw e
} finally {
// This block is executed either the gesture is completed or cancelled
}
}
Mudanças na API
- Cada
NavigationEventCallbackagora pode ser registrado com apenas umNavigationEventDispatcherpor vez. Adicionar a vários distribuidores gera umIllegalStateException. Esse comportamento é diferente deOnBackPressedDispatcher, que permite vários agentes. (e82c19) - Transformamos
isPassThroughem umvalpara evitar mutações durante a navegação, o que poderia interromper o envio deNavigationEvent. (I0b287)
Versão 1.0.0-alpha02
4 de junho de 2025
Lançamento de androidx.navigationevent:navigationevent-*:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estes commits.
Mudanças na API
- Substitua o construtor secundário de
NavigationEventDispatcherpor argumentos padrão. (I716a0) - Remova a propriedade de prioridade de
NavigationEventCallback. Em vez disso, transmita a prioridade paraNavigationEventDispatcher.addCallback(). (I13cae).
Correções de bugs
- Foi corrigido um
ConcurrentModificationExceptionque podia ocorrer quandoNavigationEventCallback.remove()era chamado devido à modificação simultânea da lista interna de elementos fecháveis. (b/420919815)
Versão 1.0.0-alpha01
20 de maio de 2025
Lançamento de androidx.navigationevent:navigationevent-*:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estes commits.
Novos recursos
- A biblioteca
androidx.navigationeventfornece uma API KMP-first para processar o retorno do sistema e o retorno preditivo. ONavigationEventDispatcherserve como uma API comum para registrar uma ou mais instânciasNavigationEventCallbackpara receber eventos de retorno do sistema. - Essa camada fica abaixo das APIs lançadas anteriormente em
androidx.activitye tem como objetivo ser uma substituição menos opinativa para o uso das APIs Activity em componentes de nível superior ou o uso direto das APIsOnBackInvokedDispatcherdo framework Android. As APIsandroidx.activityforam reescritas com base nas APIs Navigation Event como parte da Activity 1.12.0-alpha01.