ContactKeyClient


public interface ContactKeyClient extends HasApiKey


Клиент для API контактных ключей.

Краткое содержание

Общедоступные методы

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

Возвращает поток обновлений ключей контактов учетной записи.

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

Извлекает все записи ключей сквозного шифрования контактов, принадлежащие приложениям, видимым вызывающему абоненту.

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

Возвращает все записи самоключа сквозного шифрования, принадлежащие приложениям, видимым вызывающей стороне.

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

Получает все ключи сквозного шифрования контактов, принадлежащие приложению вызывающего абонента, независимо от того, связаны они с контактом или нет.

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

Получает все ключи сквозного шифрования контактов, принадлежащие приложению звонящего, для всех контактов.

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

Получает все записи ключей сквозного шифрования контактов, относящиеся к приложению звонящего и учетной записи звонящего, по всем контактам.

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

Получает запись ключа сквозного шифрования контакта, используя параметры lookupKey , deviceId , accountId и предполагаемое имя пакета вызывающего абонента.

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

Возвращает запись самоключа сквозного шифрования, используя deviceId , accountId и предполагаемое имя пакета вызывающего абонента.

abstract @ NonNull Task <@ NonNull Integer >

Возвращает максимально допустимый размер ключа в байтах.

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

Возвращает объект Intent для отображения процесса адаптации и помечает, что процесс адаптации был показан на этом устройстве.

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

Извлекает все записи ключей сквозного шифрования контактов для заданного параметра lookupKey , принадлежащие приложению вызывающего абонента.

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

Возвращает все записи самоключа сквозного шифрования, принадлежащие вызывающему приложению.

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

Возвращает Intent для действия "Сканировать QR-код".

abstract @ NonNull Task <@ NonNull PendingIntent >

Возвращает намерение для действия "Сканировать QR-код" для конкретной учетной записи.

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

Возвращает Intent для действия "Показать QR-код".

abstract @ NonNull Task <@ NonNull Boolean >

Возвращает задачу, которая успешно завершается независимо от того, доступен API или нет.

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

Регистрирует обработчик обновлений ключей контактов учетной записи.

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

Удаляет запись ключа контакта учетной записи сквозного шифрования, принадлежащую приложению вызывающего абонента.

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

Удаляет запись ключа сквозного шифрования контакта, принадлежащую приложению вызывающего абонента.

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

Удаляет запись самоключа сквозного шифрования, используя идентификатор устройства (deviceId) и предполагаемое имя пакета вызывающего абонента.

abstract @ NonNull Task <@ NonNull Boolean >

Отменяет регистрацию обработчика обновлений ключей контактов учетной записи.

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

Вставляет пакет ключей контактов учетной записи.

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
)

Вставляет новую запись в таблицу ключей сквозного шифрования или обновляет существующую, если она уже есть.

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
)

Вставляет новую запись в таблицу ключей сквозного шифрования или обновляет существующую, если она уже есть.

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

Вставляет новую запись в таблицу самоключа сквозного шифрования или обновляет существующую, если она уже есть.

Общедоступные методы

getAccountContactKeysFlow

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

Возвращает поток обновлений ключей контактов учетной записи.

Данный алгоритм будет запускаться при обновлении, добавлении или удалении любого ключа для любого предоставленного accountId. Он выведет список всех ключей для предоставленных accountId, а не только тех, которые были обновлены.

Параметры
@ NonNull List <@ NonNull String > accountIds

Список идентификаторов учетных записей, для которых следует отслеживать обновления.

Возвраты
@ NonNull Flow <@ NonNull List <@ NonNull E2eeAccountContactKeyParcelable >>

Поток, генерирующий списки объектов E2eeAccountContactKeyParcelable для предоставленных accountIds всякий раз, когда какой-либо ключ обновляется, добавляется или удаляется.

Броски
com.google.android.libraries.sdkcoroutines.flow.CallbackChannelFullException

если события обратного вызова обрабатываются слишком медленно.

getAllE2eeContactKeys

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

Получает все записи ключей сквозного шифрования контактов, принадлежащие приложениям, видимым вызывающему абоненту. Из ключей будут удалены данные deviceId , timeUpdated и keyValue .

Параметры
@ NonNull String lookupKey

значение, которое ссылается на контакт

Возвраты
@ NonNull Task <@ NonNull E2eeContactKeyListParcelable >

Объект E2eeContactKeyListParcelable содержащий список информации о ключах сквозного шифрования контактов, или пустой список, если ключи не найдены.

getAllE2eeSelfKeys

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

Возвращает все записи самоключа сквозного шифрования, принадлежащие приложениям, видимым вызывающей стороне. Из ключей будут удалены данные deviceId , timeUpdated и keyValue .

Возвраты
@ NonNull Task <@ NonNull E2eeSelfKeyListParcelable >

Объект E2eeSelfKeyListParcelable содержащий список информации о ключах самошифрования для сквозного шифрования, или пустой список, если ключи самошифрования не найдены.

getAllOwnerE2eeAccountContactKeys

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

Получает все ключи сквозного шифрования контактов, принадлежащие приложению вызывающего абонента, независимо от того, связаны они с контактом или нет.

Возвраты
@ NonNull Task <@ NonNull ImmutableList <@ NonNull E2eeAccountContactKeyParcelable >>

Список объектов E2eeAccountContactKeyParcelable , содержащих информацию о ключе сквозного шифрования для контакта, или пустой список, если ключи не найдены.

getAllOwnerE2eeContactKeys

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

Получает все ключи сквозного шифрования контактов, принадлежащие приложению звонящего, для всех контактов.

Этот метод следует использовать только для получения ключей, с которыми связан хотя бы один контакт. Если вам необходимо получить ключи, не связанные ни с одним контактом, используйте вместо этого getAllOwnerE2eeAccountContactKeys .

Возвраты
@ NonNull Task <@ NonNull E2eeContactKeyListParcelable >

Объект E2eeContactKeyListParcelable содержащий список информации о ключах сквозного шифрования контактов, или пустой список, если ключи не найдены.

getE2eeAccountKeysForAccount

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

Извлекает все записи ключей сквозного шифрования контактов, относящиеся к приложению звонящего и учетной записи звонящего, по всем контактам. Включает ключи, не связанные ни с одним контактом.

Возвраты
@ NonNull Task <@ NonNull ImmutableList <@ NonNull E2eeAccountContactKeyParcelable >>

Список объектов E2eeAccountContactKeyParcelable , содержащих информацию о ключе сквозного шифрования для контакта, или пустой список, если ключи не найдены.

getE2eeContactKey

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

Получает запись ключа сквозного шифрования контакта, используя параметры lookupKey , deviceId , accountId и предполагаемое имя пакета вызывающего абонента.

Параметры
@ NonNull String lookupKey

значение, которое ссылается на контакт

@ NonNull String deviceId

идентификатор устройства, заданный приложением.

@ NonNull String accountId

идентификатор учетной записи, указанный в приложении.

Возвраты
@ NonNull Task < E2eeContactKeyParcelable >

Объект E2eeContactKeyParcelable , содержащий информацию о ключе контакта, или null, если ключ контакта не найден.

getE2eeSelfKey

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

Возвращает запись самоключа сквозного шифрования, используя deviceId , accountId и предполагаемое имя пакета вызывающего абонента.

Параметры
@ NonNull String deviceId

идентификатор устройства, заданный приложением.

@ NonNull String accountId

идентификатор учетной записи, указанный в приложении.

Возвраты
@ NonNull Task < E2eeSelfKeyParcelable >

Объект E2eeSelfKeyParcelable содержащий информацию о собственном ключе сквозного шифрования, или null, если собственный ключ не найден.

getMaxKeySizeBytes

abstract @NonNull Task<@NonNull IntegergetMaxKeySizeBytes()

Возвращает максимально допустимый размер ключа в байтах.

getOnboardingIntent

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

Возвращает намерение для отображения активности адаптации и отмечает, что адаптация была показана на этом устройстве. Для этого требуется nextActivity , которое может быть либо строкой show , либо scan . Если scan , требуется lookupKey контакта, который нужно найти.

Параметры
@ NonNull OnboardingNextActivity nextActivity

Следующее действие, которое отображается после этапа адаптации. Должно быть либо show , либо scan .

String lookupKey

Значение, ссылающееся на контакт. Обязательно, если nextActivity равно scan .

String packageName

Имя пакета, связанного с приложением, для которого требуются ключи (необязательно).

getOwnerE2eeContactKeys

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

Извлекает все записи ключей сквозного шифрования контактов для заданного параметра lookupKey , принадлежащие приложению вызывающего абонента.

Параметры
@ NonNull String lookupKey

значение, которое ссылается на контакт

Возвраты
@ NonNull Task <@ NonNull E2eeContactKeyListParcelable >

Объект E2eeContactKeyListParcelable содержащий список информации о ключах сквозного шифрования контактов, или пустой список, если ключи не найдены.

getOwnerE2eeSelfKeys

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

Возвращает все записи самоключа сквозного шифрования, принадлежащие вызывающему приложению.

Возвраты
@ NonNull Task <@ NonNull E2eeSelfKeyListParcelable >

Объект E2eeSelfKeyListParcelable содержащий информацию о ключе самошифрования для сквозного шифрования, или пустой список, если ключи самошифрования не найдены.

getScanQrCodeIntent

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

Возвращает Intent для действия "Сканировать QR-код".

Параметры
@ NonNull String lookupKey

значение, которое ссылается на контакт

boolean skipOnboarding

В настоящее время не используется.

getScanQrCodeIntentForAccount

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

Возвращает намерение для действия "Сканировать QR-код" для конкретной учетной записи.

Параметры
@ NonNull String packageName

название пакета, связанного с учетной записью, которую пользователь желает подтвердить.

@ NonNull String accountId

Идентификатор учетной записи, связанной с учетной записью, которую пользователь желает подтвердить.

getShowQrCodeIntent

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

Возвращает Intent для действия "Показать QR-код".

Параметры
String packageName

Название пакета, связанного с приложением, для которого требуются ключи (необязательно)

boolean skipOnboarding

В настоящее время не используется.

включено

abstract @NonNull Task<@NonNull BooleanisEnabled()

Возвращает задачу, которая успешно завершается независимо от доступности API.

Если API доступен, возвращаемая задача будет иметь результат true, в противном случае — false.

Исключения, обычно возникающие при недоступности API, будут перехвачены, и вместо этого будет возвращена задача, успешно вернувшая значение false.

registerAccountContactKeysListener

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

Регистрирует обработчик обновлений ключей контактов учетной записи.

Обработчик событий будет вызываться при обновлении, добавлении или удалении любого ключа для любого предоставленного accountId. Он будет вызываться со списком всех ключей для предоставленных accountId, а не только тех, которые были обновлены.

Параметры
@ NonNull List <@ NonNull String > accountIds

Список идентификаторов учетных записей, для которых необходимо зарегистрировать слушатель.

@ NonNull OnAccountContactKeysUpdatedListener listener

слушатель должен зарегистрироваться.

removeE2eeAccountContactKey

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

Удаляет запись ключа контакта учетной записи сквозного шифрования, принадлежащую приложению вызывающего абонента.

Параметры
@ NonNull String deviceId

идентификатор устройства, заданный приложением.

@ NonNull String accountId

идентификатор учетной записи, указанный в приложении.

removeE2eeContactKey

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

Удаляет запись ключа сквозного шифрования контакта, принадлежащую приложению вызывающего абонента.

Параметры
@ NonNull String lookupKey

значение, которое ссылается на контакт

@ NonNull String deviceId

идентификатор устройства, заданный приложением.

@ NonNull String accountId

идентификатор учетной записи, указанный в приложении.

removeE2eeSelfKey

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

Удаляет запись самоключа сквозного шифрования, используя идентификатор устройства (deviceId) и предполагаемое имя пакета вызывающего абонента.

Параметры
@ NonNull String deviceId

идентификатор устройства, заданный приложением.

@ NonNull String accountId

идентификатор учетной записи, указанный в приложении.

unregisterAccountContactKeysListener

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

Отменяет регистрацию обработчика обновлений ключей контактов учетной записи.

Параметры
@ NonNull OnAccountContactKeysUpdatedListener listener

слушатель, которому необходимо отменить регистрацию.

updateAllE2eeAccountKeys

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

Вставляет пакет ключей контактов учетной записи.

Работает аналогично updateOrInsertE2eeContactKey , но позволяет одновременно вставлять/обновлять несколько ключей. Каждый ключ вставляется в отдельной транзакции, поэтому некоторые ключи могут быть вставлены, даже если задача вызовет исключение.

Клиенты могут по своему усмотрению обрабатывать временные сбои, повторно отправляя весь пакет, поскольку этот API не повлияет на состояние уже вставленных ключей.

Для каждого ключа, если указан lookupKey, но отсутствуют основные данные контакта (displayName, phoneNumber, emailAddress), этот API также попытается получить имя, номер телефона и адрес электронной почты контакта из Contacts Provider. При получении ключа приложения для управления контактами должны использовать эту информацию, чтобы убедиться, что ключ используется только для того контакта, для которого он был предназначен.

Приложение Android Key Verification хранит эту информацию на устройстве и предоставляет к ней доступ только тем пользователям API, которые имеют разрешение READ_CONTACTS .

Если для ключа не указан lookupKey, этот API сохранит ключ, не связанный ни с одним контактом.

Параметры
@ NonNull List <@ NonNull E2eeAccountKeyInfo > accountKeyInfos

Список объектов E2eeAccountKeyInfo , содержащих информацию о ключе контакта для сквозного шифрования.

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
)

Вставляет новую запись в таблицу ключей сквозного шифрования контактов или обновляет существующую, если она уже есть. Вставленный/обновленный ключ сквозного шифрования контактов принадлежит приложению вызывающего абонента.

Этот API также будет хранить имя контакта, номер телефона и адрес электронной почты из поставщика контактов, а также ключ. При получении ключа приложения для управления контактами должны использовать эту информацию, чтобы убедиться, что ключ используется только для того контакта, для которого он был предназначен.

Приложение Android Key Verification хранит эту информацию на устройстве и предоставляет к ней доступ только тем пользователям API, которые имеют разрешение READ_CONTACTS .

Параметры
@ NonNull String lookupKey

значение, которое ссылается на контакт

@ NonNull String deviceId

идентификатор устройства, заданный приложением.

@ NonNull String accountId

идентификатор учетной записи, указанный в приложении.

@ NonNull byte[] keyValue

Исходные байты для ключа (максимальный размер равен getMaxKeySizeBytes ).

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
)

Вставляет новую запись в таблицу ключей сквозного шифрования контактов или обновляет существующую, если она уже есть. Вставленный/обновленный ключ сквозного шифрования контактов принадлежит приложению вызывающего абонента.

Для каждого предоставленного ключа поиска этот API также будет сохранять имя контакта, номер телефона и адрес электронной почты из поставщика контактов вместе с ключом. При получении ключа приложения для управления контактами должны использовать эту информацию, чтобы убедиться, что ключ используется только для того контакта, для которого он был предназначен.

Приложение Android Key Verification хранит эту информацию на устройстве и предоставляет к ней доступ только тем пользователям API, которые имеют разрешение READ_CONTACTS .

Если список ключей поиска пуст, этот API сохранит ключ, не связанный ни с одним контактом.

Вызов этого API с одним или несколькими ключами поиска обновит метаданные ключа, связав его с указанными контактами, но не удалит существующие связи для контактов, не указанных в списке. Чтобы удалить связь между контактом и ключом, вызовите метод removeE2eeContactKey с соответствующим ключом поиска.

Параметры
@ NonNull List <@ NonNull String > lookupKeys

потенциально пустой список ключей поиска CP2, ссылающихся на контакты, с которыми связан данный ключ.

@ NonNull String deviceId

идентификатор устройства, заданный приложением.

@ NonNull String accountId

идентификатор учетной записи, указанный в приложении.

@ NonNull byte[] keyValue

Исходные байты для ключа (максимальный размер равен getMaxKeySizeBytes ).

updateOrInsertE2eeSelfKey

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

Вставляет новую запись в таблицу самоключа сквозного шифрования или обновляет существующую, если она уже есть.

Параметры
@ NonNull String deviceId

идентификатор устройства, заданный приложением.

@ NonNull String accountId

идентификатор учетной записи, указанный в приложении.

@ NonNull byte[] keyValue

Исходные байты для ключа (максимальный размер равен getMaxKeySizeBytes ).