privacysandbox ui

  
TODO
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
13 de novembro de 2024 - - - 1.0.0-alpha11

Declarar dependências

Para adicionar uma dependência a privacysandbox-ui, é preciso adicionar 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 {
    // Use to implement privacysandbox ui
    implementation "androidx.privacysandbox.ui:ui:1.0.0-alpha09"

    // Use to implement privacysandbox ui-core
    implementation "androidx.privacysandbox.ui:ui-core:1.0.0-alpha09"
   
    // Use to implement privacysandbox ui-core
    implementation "androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09"
}

Kotlin

dependencies {
    // Use to implement privacysandbox ui
    implementation("androidx.privacysandbox.ui:ui:1.0.0-alpha09")

    // Use to implement privacysandbox ui-core
    implementation("androidx.privacysandbox.ui:ui-core:1.0.0-alpha09")

    // Use to implement privacysandbox ui-provider
    implementation("androidx.privacysandbox.ui:ui-provider: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.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.0

Versão 1.0.0-alpha11

13 de novembro de 2024

Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha11, androidx.privacysandbox.ui:ui-core:1.0.0-alpha11 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estas confirmações.

Novos recursos

  • Introdução de uma API experimental, DelegatingSandboxedUiAdapter, que estende SandboxedUiAdapter e pode ser usada para delegar entre diferentes SandboxedUiAdapters. Quando esse adaptador é definido em um contêiner de cliente, como SandboxedSdkView, o adaptador de delegação pode mudar o adaptador de delegação usando updateDelegate. Isso vai encerrar a sessão atual e criar uma nova SandboxedUiAdapter.Session para o novo delegado. Isso permite transições perfeitas entre delegados. (I5f1c5, I9e3e7).
  • Melhor suporte a SandboxedSdkView para padding. (Ic414f).

Correções de bugs

  • Correção de NullPointerException que podia ocorrer em um evento de layout global.

Versão 1.0.0-alpha10

18 de setembro de 2024

Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha10, androidx.privacysandbox.ui:ui-core:1.0.0-alpha10 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estas confirmações.

Novos recursos

  • A lógica de abertura de sessão foi atualizada para abrir uma sessão dentro de um SandboxedSdkView apenas se a janela que contém o SandboxedSdkView estiver visível.
  • A lógica de SessionObserver foi atualizada para enviar onUiContainerChanged quando a visibilidade da janela que contém o SandboxedSdkView muda.

Correções de bugs

  • Invocar onUiContainerChanged quando a visibilidade da janela mudar (I541cf).
  • O contorno manual de acesso a novas APIs da plataforma foi removido, já que isso acontece automaticamente pelo modelagem de API ao usar o R8 com o AGP 7.3 ou mais recente (por exemplo, o R8 versão 3.3) e para todos os builds ao usar o AGP 8.1 ou mais recente (por exemplo, o D8 versão 8.1). Os clientes que não estão usando o AGP precisam fazer upgrade para a versão 8.1 ou mais recente do D8. Veja mais detalhes neste artigo. (If6b4c, b/345472586).

Versão 1.0.0-alpha09

26 de junho de 2024

Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha09, androidx.privacysandbox.ui:ui-core:1.0.0-alpha09 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estas confirmações.

Novos recursos

  • Foram introduzidas as classes abstratas AbstractSandboxedUiAdapter e AbstractSandboxedUiAdapter.AbstractSession, que podem ser usadas pelos provedores de interface para evitar a implementação de todas as interfaces SandboxedUiAdapter ou Session. É recomendável que os provedores de interface usem essas classes abstratas.
  • Adição de uma lógica registerObserverFactory que permite que um SessionObserverFactory seja anexado a um SandboxedUiAdapter. Quando um SessionObserverFactory é conectado a um adaptador, um SessionObserver é criado para cada nova sessão de interface criada para esse adaptador. O SessionObserver criado vai receber um callback onSessionOpened quando a sessão da interface for aberta. Quando a apresentação da IU da visualização da Session muda, SessionObserver.onUiContainerChanged é chamado. onUiContainerChanged é limitado e será chamado no máximo a cada 200 ms.
  • Adição de SandboxedSdkViewUiInfo, que pode ser criado com o Bundle enviado em SessionObserver.onUiContainerChanged. Esse objeto representa o estado da interface do SandboxedSdkView que hospeda a sessão da interface. Ele contém informações de altura e largura, um Rect que representa a geometria da visualização visível na tela e uma dica de opacidade que representa a opacidade da visualização.

Mudanças na API

  • Adicione uma dica de opacidade a SandboxedSdkViewUiInfo. (I093ac).
  • Adicione SessionObserver.onUiContainerChanged e SandboxedSdkViewUiInfo. (Ie98bc).
  • Adicione a interface SessionObserver e a lógica de registro. (I047dc).
  • Adicione AbstractSandboxedUiAdapter e AbstractSession. (I3617a).

Problemas conhecidos

  • Quando o provedor de interface está no mesmo processo que o aplicativo cliente, SessionObserver.onUiContainerChanged não é enviado quando o contêiner rola.

Versão 1.0.0-alpha08

14 de maio de 2024

Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha08, androidx.privacysandbox.ui:ui-core:1.0.0-alpha08 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estas confirmações.

Novos recursos

  • Adição de suporte para o uso de SandboxedSdkView dentro de uma PoolingContainer, como uma RecyclerView. Quando uma SandboxedSdkView tem um pai que é uma PoolingContainer, o ciclo de vida das sessões da interface dela é alinhado com o da PoolingContainer para garantir que a sessão possa persistir durante a separação da janela.

Mudanças na API

  • APIs de atividade do Sandbox de privacidade descontinuadas. Agora, essas APIs podem ser encontradas na biblioteca de atividades dedicada androidx.privacysandbox.activity. (I68beb).

Correções de bugs

  • Correção de um bug de renderização ao mostrar conteúdo remoto dentro de contêineres de agrupamento. (I804df).
  • Correção de um bug que causava problemas de renderização para ViewGroups no modo de compatibilidade com versões anteriores (I8de92).
  • Quando um dos pais de SandboxedSdkView é um PoolingContainer, feche a sessão da interface quando o PoolingContainer indicar que os recursos podem ser liberados, em vez de na separação da janela. (I2046b).

Contribuição externa

  • O GestureDetectorCompat foi descontinuado, porque o GestureDetector está disponível no minSdk. (Icc4cd).

Versão 1.0.0-alpha07

18 de outubro de 2023

Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha07, androidx.privacysandbox.ui:ui-core:1.0.0-alpha07 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estas confirmações.

Novos recursos

  • Foi adicionado suporte à compatibilidade com versões anteriores para a biblioteca. Na API 33 e anteriores, a visualização do provedor é renderizada dentro do processo do app, em um classloader diferente. (If0b7a).
  • Adição de lógica que permite que o redimensionamento de contêineres de host e provedor seja confirmado no mesmo frame para evitar instabilidade visível na interface. (Ic2cd9).

Mudanças na API

  • A minSdk da biblioteca foi alterada para a API 21. (I474b8).

Versão 1.0.0-alpha06

20 de setembro de 2023

Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha06, androidx.privacysandbox.ui:ui-core:1.0.0-alpha06 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estas confirmações.

Novos recursos

  • Adição de lógica para recortar SandboxedSdkView na visualização "mãe de contenção" que pode rolar. Isso garante que o conteúdo da SandboxedSdkView não obstrua outras visualizações ou componentes da interface fora da visualização de conteúdo raiz. (I9ea94).

Mudanças na API

  • SandboxedSdkView.setZOrderOnTopAndEnableUserInteraction foi renomeado como orderProviderUiAboveClientUi (Iecb7e).

Correções de bugs

  • Envie o valor correto da ordem Z para o host. (Ib0ddf).
  • Transfere o foco de toque apenas para rolagens/toques verticais. (I0528c).

Versão 1.0.0-alpha05

9 de agosto de 2023

Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha05, androidx.privacysandbox.ui:ui-core:1.0.0-alpha05 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Novos recursos

  • Adição de lógica para transferir o foco de toque ao host em gestos de rolagem e de deslizar com força originados de SandboxedSdkView. Isso permite que a IU do provedor de hospedagem de contêineres roláveis do cliente responda corretamente a rolagens e movimentos bruscos.

Mudanças na API

  • Adição do parâmetro windowInputToken a SandboxedUiAdapter (Ief578).

Correções de bugs

  • O estado da sessão é definido como "Ativo" após o primeiro sorteio (I36f3f).
  • Correção do problema de layout com SandboxedSdkView. (I09cb8).
  • Adição de lógica para transferir o foco de toque para o host. (I33b54).
  • Adição do parâmetro windowInputToken a SandboxedUiAdapter. Isso é necessário para garantir que o token do SurfaceControlViewHost seja associado corretamente ao host da hierarquia incorporada. (Ief578).
  • Execute notifyResized na linha de execução principal. (I62440).
  • Correção de falha no fluxo Session.close(). (I5392e).

Versão 1.0.0-alpha04

21 de junho de 2023

Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha04, androidx.privacysandbox.ui:ui-core:1.0.0-alpha04 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

Novos recursos

  • Apresente o SdkActivityLauncher. Uma interface para permitir que os SDKs ativados pelo ambiente de execução iniciem atividades. (I5b3dc).

Correções de bugs

  • Correção da disputa em notifyZOrderChanged. Garante que o provedor de interface seja notificado sobre todas as mudanças na ordem Z. O provedor de interface não será notificado explicitamente se a ordem Z do SandboxedSdkView for alterada antes da invocação de openSession.

Versão 1.0.0-alpha03

24 de maio de 2023

Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha03, androidx.privacysandbox.ui:ui-core:1.0.0-alpha03 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha03. A versão 1.0.0-alpha03 contém estas confirmações.

Novos recursos

  • StateChangedListener informa o aplicativo sobre as mudanças na sessão da interface

Mudanças na API

  • StateChangedListener foi adicionado para substituir o ErrorConsumer (Icd5d3).

Correções de bugs

  • Correção da condição de corrida notifyZOrderChanged para que o provedor da interface seja notificado sobre todas as mudanças de ordem Z

Versão 1.0.0-alpha02

19 de abril de 2023

Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha02, androidx.privacysandbox.ui:ui-core:1.0.0-alpha02 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estas confirmações.

Correções de bugs

  • Teste de instabilidade desativado. Teste de mudança de layout da sandboxSdkViewLayoutChangesChildLayout

Versão 1.0.0-alpha01

8 de março de 2023

Lançamento de androidx.privacysandbox.ui:ui-client:1.0.0-alpha01, androidx.privacysandbox.ui:ui-core:1.0.0-alpha01 e androidx.privacysandbox.ui:ui-provider:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estas confirmações.

Novos recursos

  • Estas são novas bibliotecas do Jetpack que os aplicativos e os SDKs ativados pelo ambiente de execução (Sandbox de privacidade) podem usar para permitir que o aplicativo (cliente) hospede qualquer interface fornecida pelo SDK (provedor).