ContactKeyClient


public interface ContactKeyClient extends HasApiKey


Um cliente para a API Contact Key.

Resumo

Métodos públicos

abstract @NonNull Flow<@NonNull List<@NonNull E2eeAccountContactKeyParcelable>>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAccountContactKeysFlow(@NonNull List<@NonNull String> accountIds)

Retorna um fluxo de atualizações de chaves de contato da conta.

abstract @NonNull Task<@NonNull E2eeContactKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAllE2eeContactKeys(@NonNull String lookupKey)

Recupera todas as entradas de chave de contato de criptografia de ponta a ponta pertencentes a apps visíveis para o autor da chamada.

abstract @NonNull Task<@NonNull E2eeSelfKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAllE2eeSelfKeys()

Retorna todas as entradas de chave própria de criptografia de ponta a ponta pertencentes a apps visíveis para o autor da chamada.

abstract @NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAllOwnerE2eeAccountContactKeys()

Recupera todas as chaves de contato da conta de criptografia de ponta a ponta que pertencem ao app de chamada, estejam elas associadas a um contato ou não.

abstract @NonNull Task<@NonNull E2eeContactKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getAllOwnerE2eeContactKeys()

Recupera todas as chaves de contato de criptografia de ponta a ponta que pertencem ao app de chamada em todos os contatos.

abstract @NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getE2eeAccountKeysForAccount(@NonNull String accountId)

Recupera todas as entradas de chave de contato de criptografia de ponta a ponta que pertencem ao app e à conta do autor da chamada em todos os contatos.

abstract @NonNull Task<E2eeContactKeyParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getE2eeContactKey(
    @NonNull String lookupKey,
    @NonNull String deviceId,
    @NonNull String accountId
)

Recupera uma entrada de chave de contato de criptografia de ponta a ponta com base no lookupKey, deviceId, accountId e no nome do pacote do autor da chamada inferido.

abstract @NonNull Task<E2eeSelfKeyParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getE2eeSelfKey(@NonNull String deviceId, @NonNull String accountId)

Retorna uma entrada de chave própria de criptografia de ponta a ponta com base no deviceId, no accountId e no nome do pacote inferido do autor da chamada.

abstract @NonNull Task<@NonNull Integer>

Retorna o tamanho máximo permitido de uma chave em bytes.

abstract @NonNull Task<@NonNull PendingIntent>
getOnboardingIntent(
    @NonNull OnboardingNextActivity nextActivity,
    String lookupKey,
    String packageName
)

Retorna uma intent para mostrar a atividade de integração e marca que a integração foi mostrada neste dispositivo.

abstract @NonNull Task<@NonNull E2eeContactKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getOwnerE2eeContactKeys(@NonNull String lookupKey)

Recupera todas as entradas de chave de contato de criptografia de ponta a ponta para um determinado lookupKey que pertence ao app de chamada.

abstract @NonNull Task<@NonNull E2eeSelfKeyListParcelable>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
getOwnerE2eeSelfKeys()

Retorna todas as entradas de chave própria de criptografia de ponta a ponta pertencentes ao app de chamada.

abstract @NonNull Task<@NonNull PendingIntent>
getScanQrCodeIntent(@NonNull String lookupKey, boolean skipOnboarding)

Retorna uma intent para a atividade "Ler o QR code".

abstract @NonNull Task<@NonNull PendingIntent>
getScanQrCodeIntentForAccount(
    @NonNull String packageName,
    @NonNull String accountId
)

Retorna uma intent para a atividade "Ler o QR code" de uma conta específica.

abstract @NonNull Task<@NonNull PendingIntent>
getShowQrCodeIntent(String packageName, boolean skipOnboarding)

Retorna uma intent para a atividade "Mostrar QR code".

abstract @NonNull Task<@NonNull Boolean>

Retorna uma tarefa que é concluída com êxito, esteja a API disponível ou não.

abstract @NonNull Task<@NonNull Void>
@RequiresPermission(value = "android.permission.READ_CONTACTS")
registerAccountContactKeysListener(
    @NonNull List<@NonNull String> accountIds,
    @NonNull OnAccountContactKeysUpdatedListener listener
)

Registra um listener para atualizações de chaves de contato da conta.

abstract @NonNull Task<@NonNull Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
removeE2eeAccountContactKey(
    @NonNull String deviceId,
    @NonNull String accountId
)

Remove uma entrada de chave de contato da conta de criptografia de ponta a ponta pertencente ao app de chamada.

abstract @NonNull Task<@NonNull Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
removeE2eeContactKey(
    @NonNull String lookupKey,
    @NonNull String deviceId,
    @NonNull String accountId
)

Remove uma entrada de chave de contato de criptografia de ponta a ponta pertencente ao app de chamada.

abstract @NonNull Task<@NonNull Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
removeE2eeSelfKey(@NonNull String deviceId, @NonNull String accountId)

Remove uma entrada de chave própria de criptografia de ponta a ponta usando o deviceId e o nome do pacote inferido do caller.

abstract @NonNull Task<@NonNull Boolean>

Cancela o registro de um listener para atualizações de chaves de contato da conta.

abstract @NonNull Task<@NonNull Void>
@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
updateAllE2eeAccountKeys(
    @NonNull List<@NonNull E2eeAccountKeyInfo> accountKeyInfos
)

Insere um lote de chaves de contato da conta.

abstract @NonNull Task<@NonNull Void>
@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
updateOrInsertE2eeContactKey(
    @NonNull String lookupKey,
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

Insere uma nova entrada na tabela de chaves de contato de criptografia de ponta a ponta ou atualiza uma se ela já existir.

abstract @NonNull Task<@NonNull Void>
@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
updateOrInsertE2eeContactKey(
    @NonNull List<@NonNull String> lookupKeys,
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

Insere uma nova entrada na tabela de chaves de contato de criptografia de ponta a ponta ou atualiza uma se ela já existir.

abstract @NonNull Task<@NonNull Void>
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
updateOrInsertE2eeSelfKey(
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

Insere uma nova entrada na tabela de autochaves de criptografia de ponta a ponta ou atualiza uma se ela já existir.

Métodos públicos

getAccountContactKeysFlow

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Flow<@NonNull List<@NonNull E2eeAccountContactKeyParcelable>> getAccountContactKeysFlow(@NonNull List<@NonNull String> accountIds)

Retorna um fluxo de atualizações de chaves de contato da conta.

O fluxo será emitido quando qualquer chave de qualquer accountId fornecido for atualizada, adicionada ou removida. Ele vai emitir a lista de todas as chaves para os accountIds fornecidos, não apenas as que foram atualizadas.

Parâmetros
@NonNull List<@NonNull String> accountIds

a lista de IDs de contas para detectar atualizações.

Retorna
@NonNull Flow<@NonNull List<@NonNull E2eeAccountContactKeyParcelable>>

um fluxo que emite as listas de E2eeAccountContactKeyParcelable para os accountIds fornecidos sempre que uma chave é atualizada, adicionada ou removida.

Gera
com.google.android.libraries.sdkcoroutines.flow.CallbackChannelFullException

se os eventos de callback forem processados muito lentamente.

getAllE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull E2eeContactKeyListParcelablegetAllE2eeContactKeys(@NonNull String lookupKey)

Recupera todas as entradas de chave de contato de criptografia de ponta a ponta pertencentes a apps visíveis para o autor da chamada. As chaves serão removidas dos dados de deviceId, timeUpdated e keyValue.

Parâmetros
@NonNull String lookupKey

o valor que faz referência ao contato

Retorna
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

um E2eeContactKeyListParcelable que contém uma lista das informações da chave de contato da criptografia de ponta a ponta ou uma lista vazia se nenhuma chave for encontrada.

getAllE2eeSelfKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull E2eeSelfKeyListParcelablegetAllE2eeSelfKeys()

Retorna todas as entradas de chave própria de criptografia de ponta a ponta pertencentes a apps visíveis para o autor da chamada. As chaves serão removidas dos dados de deviceId, timeUpdated e keyValue.

Retorna
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

um E2eeSelfKeyListParcelable que contém uma lista das informações da chave própria de criptografia de ponta a ponta ou uma lista vazia se nenhuma chave própria for encontrada.

getAllOwnerE2eeAccountContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>> getAllOwnerE2eeAccountContactKeys()

Recupera todas as chaves de contato da conta de criptografia de ponta a ponta que pertencem ao app de chamada, estejam elas associadas a um contato ou não.

Retorna
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

uma lista de objetos E2eeAccountContactKeyParcelable que contêm as informações da chave de contato da criptografia de ponta a ponta ou uma lista vazia se nenhuma chave for encontrada.

getAllOwnerE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull E2eeContactKeyListParcelablegetAllOwnerE2eeContactKeys()

Recupera todas as chaves de contato de criptografia de ponta a ponta que pertencem ao app de chamada em todos os contatos.

Esse método deve ser usado apenas para recuperar chaves que tenham pelo menos um contato associado a elas. Se você precisar recuperar chaves que não estão associadas a nenhum contato, use getAllOwnerE2eeAccountContactKeys.

Retorna
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

um E2eeContactKeyListParcelable que contém uma lista das informações da chave de contato da criptografia de ponta a ponta ou uma lista vazia se nenhuma chave for encontrada.

getE2eeAccountKeysForAccount

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>> getE2eeAccountKeysForAccount(@NonNull String accountId)

Recupera todas as entradas de chave de contato de criptografia de ponta a ponta que pertencem ao app e à conta do autor da chamada em todos os contatos. Inclui chaves não associadas a nenhum contato.

Retorna
@NonNull Task<@NonNull ImmutableList<@NonNull E2eeAccountContactKeyParcelable>>

uma lista de objetos E2eeAccountContactKeyParcelable que contêm as informações da chave de contato da criptografia de ponta a ponta ou uma lista vazia se nenhuma chave for encontrada.

getE2eeContactKey

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<E2eeContactKeyParcelablegetE2eeContactKey(
    @NonNull String lookupKey,
    @NonNull String deviceId,
    @NonNull String accountId
)

Recupera uma entrada de chave de contato de criptografia de ponta a ponta com base no lookupKey, deviceId, accountId e no nome do pacote do autor da chamada inferido.

Parâmetros
@NonNull String lookupKey

o valor que faz referência ao contato

@NonNull String deviceId

um identificador especificado pelo app para o dispositivo

@NonNull String accountId

um identificador especificado pelo app para a conta

Retorna
@NonNull Task<E2eeContactKeyParcelable>

um E2eeContactKeyParcelable que contém as informações da chave de contato ou nulo se nenhuma chave de contato for encontrada.

getE2eeSelfKey

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<E2eeSelfKeyParcelablegetE2eeSelfKey(@NonNull String deviceId, @NonNull String accountId)

Retorna uma entrada de chave própria de criptografia de ponta a ponta com base no deviceId, no accountId e no nome do pacote inferido do autor da chamada.

Parâmetros
@NonNull String deviceId

um identificador especificado pelo app para o dispositivo

@NonNull String accountId

um identificador especificado pelo app para a conta

Retorna
@NonNull Task<E2eeSelfKeyParcelable>

um E2eeSelfKeyParcelable que contém as informações da chave própria de criptografia de ponta a ponta ou nulo se nenhuma chave própria for encontrada.

getMaxKeySizeBytes

abstract @NonNull Task<@NonNull IntegergetMaxKeySizeBytes()

Retorna o tamanho máximo permitido de uma chave em bytes.

getOnboardingIntent

abstract @NonNull Task<@NonNull PendingIntentgetOnboardingIntent(
    @NonNull OnboardingNextActivity nextActivity,
    String lookupKey,
    String packageName
)

Retorna uma intent para mostrar a atividade de integração e marca que a integração foi mostrada neste dispositivo. Isso requer um nextActivity, que pode ser a string show ou scan. Se scan, o lookupKey do contato a ser verificado é obrigatório.

Parâmetros
@NonNull OnboardingNextActivity nextActivity

a próxima atividade a ser mostrada após a atividade de integração. Precisa ser show ou scan.

String lookupKey

o valor que faz referência ao contato. Obrigatório se nextActivity for scan.

String packageName

o nome do pacote associado ao app cujas chaves são necessárias (opcional).

getOwnerE2eeContactKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull E2eeContactKeyListParcelablegetOwnerE2eeContactKeys(@NonNull String lookupKey)

Recupera todas as entradas de chave de contato de criptografia de ponta a ponta para um determinado lookupKey que pertence ao app de chamada.

Parâmetros
@NonNull String lookupKey

o valor que faz referência ao contato

Retorna
@NonNull Task<@NonNull E2eeContactKeyListParcelable>

um E2eeContactKeyListParcelable que contém uma lista das informações da chave de contato da criptografia de ponta a ponta ou uma lista vazia se nenhuma chave for encontrada.

getOwnerE2eeSelfKeys

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull E2eeSelfKeyListParcelablegetOwnerE2eeSelfKeys()

Retorna todas as entradas de chave própria de criptografia de ponta a ponta pertencentes ao app de chamada.

Retorna
@NonNull Task<@NonNull E2eeSelfKeyListParcelable>

um E2eeSelfKeyListParcelable que contém as informações da chave própria de criptografia de ponta a ponta ou uma lista vazia se nenhuma chave própria for encontrada.

getScanQrCodeIntent

abstract @NonNull Task<@NonNull PendingIntentgetScanQrCodeIntent(@NonNull String lookupKey, boolean skipOnboarding)

Retorna uma intent para a atividade "Ler o QR code".

Parâmetros
@NonNull String lookupKey

o valor que faz referência ao contato

boolean skipOnboarding

Não é usado no momento.

getScanQrCodeIntentForAccount

abstract @NonNull Task<@NonNull PendingIntentgetScanQrCodeIntentForAccount(
    @NonNull String packageName,
    @NonNull String accountId
)

Retorna uma intent para a atividade "Ler o QR code" de uma conta específica.

Parâmetros
@NonNull String packageName

o nome do pacote associado à conta que o usuário quer verificar

@NonNull String accountId

o ID da conta associada à conta que o usuário quer verificar

getShowQrCodeIntent

abstract @NonNull Task<@NonNull PendingIntentgetShowQrCodeIntent(String packageName, boolean skipOnboarding)

Retorna uma intent para a atividade "Mostrar QR code".

Parâmetros
String packageName

o nome do pacote associado ao app cujas chaves são necessárias (opcional)

boolean skipOnboarding

Não é usado no momento.

isEnabled

abstract @NonNull Task<@NonNull BooleanisEnabled()

Retorna uma tarefa que é concluída com êxito, esteja a API disponível ou não.

Se a API estiver disponível, a tarefa retornada terá um resultado verdadeiro. Caso contrário, será falso.

As exceções normalmente geradas quando a API está indisponível serão capturadas, e uma tarefa que retorna "false" será retornada.

registerAccountContactKeysListener

@RequiresPermission(value = "android.permission.READ_CONTACTS")
abstract @NonNull Task<@NonNull VoidregisterAccountContactKeysListener(
    @NonNull List<@NonNull String> accountIds,
    @NonNull OnAccountContactKeysUpdatedListener listener
)

Registra um listener para atualizações de chaves de contato da conta.

O listener será chamado quando qualquer chave de qualquer accountId fornecido for atualizada, adicionada ou removida. Ela será chamada com a lista de todas as chaves dos accountIds fornecidos, não apenas as que foram atualizadas.

Parâmetros
@NonNull List<@NonNull String> accountIds

a lista de IDs de contas para registrar o listener.

@NonNull OnAccountContactKeysUpdatedListener listener

o listener a ser registrado.

removeE2eeAccountContactKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
abstract @NonNull Task<@NonNull VoidremoveE2eeAccountContactKey(
    @NonNull String deviceId,
    @NonNull String accountId
)

Remove uma entrada de chave de contato da conta de criptografia de ponta a ponta pertencente ao app de chamada.

Parâmetros
@NonNull String deviceId

um identificador especificado pelo app para o dispositivo

@NonNull String accountId

um identificador especificado pelo app para a conta

removeE2eeContactKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
abstract @NonNull Task<@NonNull VoidremoveE2eeContactKey(
    @NonNull String lookupKey,
    @NonNull String deviceId,
    @NonNull String accountId
)

Remove uma entrada de chave de contato de criptografia de ponta a ponta pertencente ao app de chamada.

Parâmetros
@NonNull String lookupKey

o valor que faz referência ao contato

@NonNull String deviceId

um identificador especificado pelo app para o dispositivo

@NonNull String accountId

um identificador especificado pelo app para a conta

removeE2eeSelfKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
abstract @NonNull Task<@NonNull VoidremoveE2eeSelfKey(@NonNull String deviceId, @NonNull String accountId)

Remove uma entrada de chave própria de criptografia de ponta a ponta usando o deviceId e o nome do pacote inferido do caller.

Parâmetros
@NonNull String deviceId

um identificador especificado pelo app para o dispositivo

@NonNull String accountId

um identificador especificado pelo app para a conta

unregisterAccountContactKeysListener

@CanIgnoreReturnValue
abstract @NonNull Task<@NonNull BooleanunregisterAccountContactKeysListener(
    @NonNull OnAccountContactKeysUpdatedListener listener
)

Cancela o registro de um listener para atualizações de chaves de contato da conta.

Parâmetros
@NonNull OnAccountContactKeysUpdatedListener listener

o listener a ser cancelado.

updateAllE2eeAccountKeys

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
abstract @NonNull Task<@NonNull VoidupdateAllE2eeAccountKeys(
    @NonNull List<@NonNull E2eeAccountKeyInfo> accountKeyInfos
)

Insere um lote de chaves de contato da conta.

Funciona de maneira semelhante a updateOrInsertE2eeContactKey, mas permite que várias chaves sejam inseridas/atualizadas de uma só vez. Cada chave é inserida em uma transação própria. Portanto, algumas chaves podem ser inseridas mesmo que a tarefa gere uma exceção.

Os clientes podem optar por lidar com falhas temporárias reenviando todo o lote, já que essa API não afeta o status das chaves já inseridas.

Para cada chave, se um lookupKey for fornecido, mas as informações básicas do contato (displayName, phoneNumber, emailAddress) não forem, essa API também tentará recuperar o nome, o número de telefone e o endereço de e-mail do contato do provedor de contatos. Ao recuperar a chave, os apps de gerenciamento de contatos precisam usar essas informações para garantir que ela seja usada apenas para o contato a que se destina.

O app Android Key Verification armazena essas informações no dispositivo e as expõe apenas para chamadores de API que têm a permissão READ_CONTACTS.

Se nenhuma lookupKey for fornecida para uma chave, essa API vai armazenar uma chave que não está vinculada a nenhum contato.

Parâmetros
@NonNull List<@NonNull E2eeAccountKeyInfo> accountKeyInfos

a lista de objetos E2eeAccountKeyInfo que contêm as informações da chave de contato da criptografia de ponta a ponta.

updateOrInsertE2eeContactKey

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
abstract @NonNull Task<@NonNull VoidupdateOrInsertE2eeContactKey(
    @NonNull String lookupKey,
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

Insere uma nova entrada na tabela de chaves de contato de criptografia de ponta a ponta ou atualiza uma se ela já existir. A chave de contato de criptografia de ponta a ponta inserida/atualizada pertence ao app autor da chamada.

Essa API também armazena o nome, o número de telefone e o endereço de e-mail do contato do Provedor de contatos, além da chave. Ao recuperar a chave, os apps de gerenciamento de contatos precisam usar essas informações para garantir que ela seja usada apenas para o contato a que se destina.

O app Android Key Verification armazena essas informações no dispositivo e as expõe apenas para chamadores de API que têm a permissão READ_CONTACTS.

Parâmetros
@NonNull String lookupKey

valor que faz referência ao contato

@NonNull String deviceId

um identificador especificado pelo app para o dispositivo

@NonNull String accountId

um identificador especificado pelo app para a conta

@NonNull byte[] keyValue

os bytes brutos da chave (o tamanho máximo é de getMaxKeySizeBytes bytes)

updateOrInsertE2eeContactKey

@RequiresPermission(allOf = ["android.permission.READ_CONTACTS", "android.permission.WRITE_CONTACTS"])
abstract @NonNull Task<@NonNull VoidupdateOrInsertE2eeContactKey(
    @NonNull List<@NonNull String> lookupKeys,
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

Insere uma nova entrada na tabela de chaves de contato de criptografia de ponta a ponta ou atualiza uma se ela já existir. A chave de contato de criptografia de ponta a ponta inserida/atualizada pertence ao app autor da chamada.

Para cada chave de pesquisa fornecida, essa API também armazena o nome, o número de telefone e o endereço de e-mail do contato do Provedor de contatos, junto com a chave. Ao recuperar a chave, os apps de gerenciamento de contatos precisam usar essas informações para garantir que ela seja usada apenas para o contato a que se destina.

O app Android Key Verification armazena essas informações no dispositivo e as expõe apenas para chamadores de API que têm a permissão READ_CONTACTS.

Se a lista de chaves de pesquisa estiver vazia, essa API vai armazenar uma chave que não está associada a nenhum contato.

Chamar essa API com uma ou mais chaves de pesquisa vai atualizar os metadados da chave para associá-la aos contatos fornecidos, mas não vai remover associações existentes para contatos que não estão na lista. Para remover uma associação entre um contato e uma chave, chame removeE2eeContactKey com a chave de pesquisa apropriada.

Parâmetros
@NonNull List<@NonNull String> lookupKeys

lista potencialmente vazia de chaves de pesquisa do CP2 que fazem referência a contatos associados à chave

@NonNull String deviceId

um identificador especificado pelo app para o dispositivo

@NonNull String accountId

um identificador especificado pelo app para a conta

@NonNull byte[] keyValue

os bytes brutos da chave (o tamanho máximo é de getMaxKeySizeBytes bytes)

updateOrInsertE2eeSelfKey

@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
abstract @NonNull Task<@NonNull VoidupdateOrInsertE2eeSelfKey(
    @NonNull String deviceId,
    @NonNull String accountId,
    @NonNull byte[] keyValue
)

Insere uma nova entrada na tabela de autochaves de criptografia de ponta a ponta ou atualiza uma se ela já existir.

Parâmetros
@NonNull String deviceId

um identificador especificado pelo app para o dispositivo

@NonNull String accountId

um identificador especificado pelo app para a conta

@NonNull byte[] keyValue

os bytes brutos da chave (o tamanho máximo é de getMaxKeySizeBytes bytes)