diff options
| -rw-r--r-- | core/api/current.txt | 96 | ||||
| -rw-r--r-- | core/api/system-current.txt | 12 | ||||
| -rw-r--r-- | core/java/android/app/SystemServiceRegistry.java | 10 | ||||
| -rw-r--r-- | core/java/android/content/Context.java | 5 | ||||
| -rw-r--r-- | core/java/android/provider/E2eeContactKeysManager.java (renamed from core/java/android/provider/ContactKeysManager.java) | 392 |
5 files changed, 271 insertions, 244 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index 386396c67c71..d9c82b1023b8 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -35817,54 +35817,6 @@ package android.provider { field public static final String LONGITUDE = "longitude"; } - @FlaggedApi("android.provider.user_keys") public final class ContactKeysManager { - method @NonNull @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public java.util.List<android.provider.ContactKeysManager.ContactKey> getAllContactKeys(@NonNull String); - method @NonNull @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public java.util.List<android.provider.ContactKeysManager.SelfKey> getAllSelfKeys(); - method @Nullable @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public android.provider.ContactKeysManager.ContactKey getContactKey(@NonNull String, @NonNull String, @NonNull String); - method public static int getMaxKeySizeBytes(); - method @NonNull @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public java.util.List<android.provider.ContactKeysManager.ContactKey> getOwnerContactKeys(@NonNull String); - method @NonNull @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public java.util.List<android.provider.ContactKeysManager.SelfKey> getOwnerSelfKeys(); - method @Nullable @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public android.provider.ContactKeysManager.SelfKey getSelfKey(@NonNull String, @NonNull String); - method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean removeContactKey(@NonNull String, @NonNull String, @NonNull String); - method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean removeSelfKey(@NonNull String, @NonNull String); - method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean updateContactKeyLocalVerificationState(@NonNull String, @NonNull String, @NonNull String, int); - method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean updateContactKeyRemoteVerificationState(@NonNull String, @NonNull String, @NonNull String, int); - method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public void updateOrInsertContactKey(@NonNull String, @NonNull String, @NonNull String, @NonNull byte[]); - method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean updateOrInsertSelfKey(@NonNull String, @NonNull String, @NonNull byte[]); - method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean updateSelfKeyRemoteVerificationState(@NonNull String, @NonNull String, int); - field public static final int VERIFICATION_STATE_UNVERIFIED = 0; // 0x0 - field public static final int VERIFICATION_STATE_VERIFICATION_FAILED = 1; // 0x1 - field public static final int VERIFICATION_STATE_VERIFIED = 2; // 0x2 - } - - public static final class ContactKeysManager.ContactKey implements android.os.Parcelable { - method public int describeContents(); - method @NonNull public String getAccountId(); - method @Nullable public String getDeviceId(); - method @Nullable public String getDisplayName(); - method @Nullable public String getEmailAddress(); - method @Nullable public byte[] getKeyValue(); - method public int getLocalVerificationState(); - method @NonNull public String getOwnerPackageName(); - method @Nullable public String getPhoneNumber(); - method public int getRemoteVerificationState(); - method public long getTimeUpdated(); - method public void writeToParcel(@NonNull android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.provider.ContactKeysManager.ContactKey> CREATOR; - } - - public static final class ContactKeysManager.SelfKey implements android.os.Parcelable { - method public int describeContents(); - method @NonNull public String getAccountId(); - method @Nullable public String getDeviceId(); - method @Nullable public byte[] getKeyValue(); - method @NonNull public String getOwnerPackageName(); - method public int getRemoteVerificationState(); - method public long getTimeUpdated(); - method public void writeToParcel(@NonNull android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.provider.ContactKeysManager.SelfKey> CREATOR; - } - @Deprecated public class Contacts { field @Deprecated public static final String AUTHORITY = "contacts"; field @Deprecated public static final android.net.Uri CONTENT_URI; @@ -37165,6 +37117,54 @@ package android.provider { method public final int update(android.net.Uri, android.content.ContentValues, String, String[]); } + @FlaggedApi("android.provider.user_keys") public final class E2eeContactKeysManager { + method @NonNull @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public java.util.List<android.provider.E2eeContactKeysManager.E2eeContactKey> getAllE2eeContactKeys(@NonNull String); + method @NonNull @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public java.util.List<android.provider.E2eeContactKeysManager.E2eeSelfKey> getAllE2eeSelfKeys(); + method @Nullable @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public android.provider.E2eeContactKeysManager.E2eeContactKey getE2eeContactKey(@NonNull String, @NonNull String, @NonNull String); + method @Nullable @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public android.provider.E2eeContactKeysManager.E2eeSelfKey getE2eeSelfKey(@NonNull String, @NonNull String); + method public static int getMaxKeySizeBytes(); + method @NonNull @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public java.util.List<android.provider.E2eeContactKeysManager.E2eeContactKey> getOwnerE2eeContactKeys(@NonNull String); + method @NonNull @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public java.util.List<android.provider.E2eeContactKeysManager.E2eeSelfKey> getOwnerE2eeSelfKeys(); + method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean removeE2eeContactKey(@NonNull String, @NonNull String, @NonNull String); + method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean removeE2eeSelfKey(@NonNull String, @NonNull String); + method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean updateE2eeContactKeyLocalVerificationState(@NonNull String, @NonNull String, @NonNull String, int); + method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean updateE2eeContactKeyRemoteVerificationState(@NonNull String, @NonNull String, @NonNull String, int); + method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean updateE2eeSelfKeyRemoteVerificationState(@NonNull String, @NonNull String, int); + method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public void updateOrInsertE2eeContactKey(@NonNull String, @NonNull String, @NonNull String, @NonNull byte[]); + method @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) public boolean updateOrInsertE2eeSelfKey(@NonNull String, @NonNull String, @NonNull byte[]); + field public static final int VERIFICATION_STATE_UNVERIFIED = 0; // 0x0 + field public static final int VERIFICATION_STATE_VERIFICATION_FAILED = 1; // 0x1 + field public static final int VERIFICATION_STATE_VERIFIED = 2; // 0x2 + } + + public static final class E2eeContactKeysManager.E2eeContactKey implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public String getAccountId(); + method @Nullable public String getDeviceId(); + method @Nullable public String getDisplayName(); + method @Nullable public String getEmailAddress(); + method @Nullable public byte[] getKeyValue(); + method public int getLocalVerificationState(); + method @NonNull public String getOwnerPackageName(); + method @Nullable public String getPhoneNumber(); + method public int getRemoteVerificationState(); + method public long getTimeUpdated(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.provider.E2eeContactKeysManager.E2eeContactKey> CREATOR; + } + + public static final class E2eeContactKeysManager.E2eeSelfKey implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public String getAccountId(); + method @Nullable public String getDeviceId(); + method @Nullable public byte[] getKeyValue(); + method @NonNull public String getOwnerPackageName(); + method public int getRemoteVerificationState(); + method public long getTimeUpdated(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.provider.E2eeContactKeysManager.E2eeSelfKey> CREATOR; + } + @Deprecated public final class FontRequest { ctor @Deprecated public FontRequest(@NonNull String, @NonNull String, @NonNull String); ctor @Deprecated public FontRequest(@NonNull String, @NonNull String, @NonNull String, @NonNull java.util.List<java.util.List<byte[]>>); diff --git a/core/api/system-current.txt b/core/api/system-current.txt index dfd915b75572..b2db7c196abe 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -11708,12 +11708,6 @@ package android.provider { field public static final int ERROR_UNKNOWN = 0; // 0x0 } - @FlaggedApi("android.provider.user_keys") public final class ContactKeysManager { - method @RequiresPermission(allOf={android.Manifest.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS, android.Manifest.permission.WRITE_CONTACTS}) public boolean updateContactKeyLocalVerificationState(@NonNull String, @NonNull String, @NonNull String, @NonNull String, int); - method @RequiresPermission(allOf={android.Manifest.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS, android.Manifest.permission.WRITE_CONTACTS}) public boolean updateContactKeyRemoteVerificationState(@NonNull String, @NonNull String, @NonNull String, @NonNull String, int); - method @RequiresPermission(allOf={android.Manifest.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS, android.Manifest.permission.WRITE_CONTACTS}) public boolean updateSelfKeyRemoteVerificationState(@NonNull String, @NonNull String, @NonNull String, int); - } - @Deprecated public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns { field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata"; field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata"; @@ -11771,6 +11765,12 @@ package android.provider { field public static final int FLAG_REMOVABLE_USB = 524288; // 0x80000 } + @FlaggedApi("android.provider.user_keys") public final class E2eeContactKeysManager { + method @RequiresPermission(allOf={android.Manifest.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS, android.Manifest.permission.WRITE_CONTACTS}) public boolean updateE2eeContactKeyLocalVerificationState(@NonNull String, @NonNull String, @NonNull String, @NonNull String, int); + method @RequiresPermission(allOf={android.Manifest.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS, android.Manifest.permission.WRITE_CONTACTS}) public boolean updateE2eeContactKeyRemoteVerificationState(@NonNull String, @NonNull String, @NonNull String, @NonNull String, int); + method @RequiresPermission(allOf={android.Manifest.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS, android.Manifest.permission.WRITE_CONTACTS}) public boolean updateE2eeSelfKeyRemoteVerificationState(@NonNull String, @NonNull String, @NonNull String, int); + } + public abstract class SearchIndexableData { ctor public SearchIndexableData(); ctor public SearchIndexableData(android.content.Context); diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java index 08c193f06286..d01626e17f2d 100644 --- a/core/java/android/app/SystemServiceRegistry.java +++ b/core/java/android/app/SystemServiceRegistry.java @@ -212,7 +212,7 @@ import android.permission.PermissionControllerManager; import android.permission.PermissionManager; import android.print.IPrintManager; import android.print.PrintManager; -import android.provider.ContactKeysManager; +import android.provider.E2eeContactKeysManager; import android.safetycenter.SafetyCenterFrameworkInitializer; import android.scheduling.SchedulingFrameworkInitializer; import android.security.FileIntegrityManager; @@ -1608,16 +1608,16 @@ public final class SystemServiceRegistry { } }); - registerService(Context.CONTACT_KEYS_SERVICE, ContactKeysManager.class, - new CachedServiceFetcher<ContactKeysManager>() { + registerService(Context.CONTACT_KEYS_SERVICE, E2eeContactKeysManager.class, + new CachedServiceFetcher<E2eeContactKeysManager>() { @Override - public ContactKeysManager createService(ContextImpl ctx) + public E2eeContactKeysManager createService(ContextImpl ctx) throws ServiceNotFoundException { if (!android.provider.Flags.userKeys()) { throw new ServiceNotFoundException( "ContactKeysManager is not supported"); } - return new ContactKeysManager(ctx); + return new E2eeContactKeysManager(ctx); }}); // DO NOT do a flag check like this unless the flag is read-only. diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index f77ebc148070..a426edafa1b6 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -83,6 +83,7 @@ import android.os.StatFs; import android.os.UserHandle; import android.os.UserManager; import android.os.storage.StorageManager; +import android.provider.E2eeContactKeysManager; import android.provider.MediaStore; import android.telephony.TelephonyRegistryManager; import android.util.AttributeSet; @@ -6566,10 +6567,10 @@ public abstract class Context { /** * Use with {@link #getSystemService(String)} to retrieve a - * {@link android.provider.ContactKeysManager} to managing contact keys. + * {@link E2eeContactKeysManager} to managing contact keys. * * @see #getSystemService(String) - * @see android.provider.ContactKeysManager + * @see E2eeContactKeysManager */ @FlaggedApi(android.provider.Flags.FLAG_USER_KEYS) public static final String CONTACT_KEYS_SERVICE = "contact_keys"; diff --git a/core/java/android/provider/ContactKeysManager.java b/core/java/android/provider/E2eeContactKeysManager.java index 01aaa3d9647e..b69441700b0a 100644 --- a/core/java/android/provider/ContactKeysManager.java +++ b/core/java/android/provider/E2eeContactKeysManager.java @@ -39,18 +39,18 @@ import java.util.List; import java.util.Objects; /** - * ContactKeysManager provides access to the provider of end-to-end encryption contact keys. - * It manages two types of keys - {@link ContactKey} and {@link SelfKey}. + * E2eeContactKeysManager provides access to the provider of end-to-end encryption contact keys. + * It manages two types of keys - {@link E2eeContactKey} and {@link E2eeSelfKey}. * <ul> * <li> - * A {@link ContactKey} is a public key associated with a contact. It's used to end-to-end + * A {@link E2eeContactKey} is a public key associated with a contact. It's used to end-to-end * encrypt the communications between a user and the contact. This API allows operations on - * {@link ContactKey}s to insert/update, remove, change the verification state, and retrieving + * {@link E2eeContactKey}s to insert/update, remove, change the verification state, and retrieving * keys (either created by or visible to the caller app). * </li> * <li> - * A {@link SelfKey} is a key for this device, so the key represents the owner of the device. - * This API allows operations on {@link SelfKey}s to insert/update, remove, and retrieving + * A {@link E2eeSelfKey} is a key for this device, so the key represents the owner of the device. + * This API allows operations on {@link E2eeSelfKey}s to insert/update, remove, and retrieving * self keys (either created by or visible to the caller app). * </li> * </ul> @@ -65,29 +65,30 @@ import java.util.Objects; * </li> * <li> * accountId - the app-specified identifier for the account for which the contact key can be used. - * Usually a phone number. + * Using different account IDs allows for multiple key entries representing the same user. + * For most apps this would be a phone number. * </li> * </ul> * Contact keys also use lookupKey which is an opaque value used to identify a contact in * ContactsProvider. */ @FlaggedApi(Flags.FLAG_USER_KEYS) -public final class ContactKeysManager { +public final class E2eeContactKeysManager { /** - * The authority for the contact keys provider. + * The authority for the end-to-end encryption contact keys provider. * @hide */ public static final String AUTHORITY = "com.android.contactkeys.contactkeysprovider"; /** - * A content:// style uri to the authority for the contact keys provider. + * A content:// style uri to the authority for the end-to-end encryption contact keys provider. * @hide */ @NonNull public static final Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY); /** - * Maximum size of a contact key. + * Maximum size of an end-to-end encryption contact key. */ private static final int MAX_KEY_SIZE_BYTES = 5000; @@ -100,14 +101,15 @@ public final class ContactKeysManager { private final ContentResolver mContentResolver; /** @hide */ - public ContactKeysManager(@NonNull Context context) { + public E2eeContactKeysManager(@NonNull Context context) { Objects.requireNonNull(context); mContentResolver = context.getContentResolver(); } /** - * Inserts a new entry into the contact keys table or updates one if it already exists. - * The inserted/updated contact key is owned by the caller app. + * Inserts a new entry into the end-to-end encryption contact keys table or updates one if it + * already exists. + * The inserted/updated end-to-end encryption contact key is owned by the caller app. * * @param lookupKey value that references the contact * @param deviceId an app-specified identifier for the device @@ -115,76 +117,77 @@ public final class ContactKeysManager { * @param keyValue the raw bytes for the key (max size is {@link #getMaxKeySizeBytes} bytes) */ @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) - public void updateOrInsertContactKey(@NonNull String lookupKey, + public void updateOrInsertE2eeContactKey(@NonNull String lookupKey, @NonNull String deviceId, @NonNull String accountId, @NonNull byte[] keyValue) { validateKeyLength(keyValue); Bundle extras = new Bundle(); - extras.putString(ContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); - extras.putString(ContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); - extras.putString(ContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); - extras.putByteArray(ContactKeys.KEY_VALUE, Objects.requireNonNull(keyValue)); + extras.putString(E2eeContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); + extras.putString(E2eeContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); + extras.putString(E2eeContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); + extras.putByteArray(E2eeContactKeys.KEY_VALUE, Objects.requireNonNull(keyValue)); nullSafeCall(mContentResolver, - ContactKeys.UPDATE_OR_INSERT_CONTACT_KEY_METHOD, extras); + E2eeContactKeys.UPDATE_OR_INSERT_CONTACT_KEY_METHOD, extras); } /** - * Retrieves a contact key entry given the lookup key, device ID, accountId and inferred - * caller package name. + * Retrieves an end-to-end encryption contact key entry given the lookup key, device ID, + * accountId and inferred caller package name. * * @param lookupKey the value that references the contact * @param deviceId an app-specified identifier for the device * @param accountId an app-specified identifier for the account * - * @return a {@link ContactKey} object containing the contact key information, + * @return a {@link E2eeContactKey} object containing the contact key information, * or null if no contact key is found. */ @RequiresPermission(android.Manifest.permission.READ_CONTACTS) @Nullable - public ContactKey getContactKey( + public E2eeContactKey getE2eeContactKey( @NonNull String lookupKey, @NonNull String deviceId, @NonNull String accountId) { Bundle extras = new Bundle(); - extras.putString(ContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); - extras.putString(ContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); - extras.putString(ContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); + extras.putString(E2eeContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); + extras.putString(E2eeContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); + extras.putString(E2eeContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); Bundle response = nullSafeCall(mContentResolver, - ContactKeys.GET_CONTACT_KEY_METHOD, extras); + E2eeContactKeys.GET_CONTACT_KEY_METHOD, extras); if (response == null) { return null; } - return response.getParcelable(ContactKeys.KEY_CONTACT_KEY, ContactKey.class); + return response.getParcelable(E2eeContactKeys.KEY_CONTACT_KEY, E2eeContactKey.class); } /** - * Retrieves all contact key entries that belong to apps visible to the caller. + * Retrieves all end-to-end encryption contact key entries that belong to apps visible to + * the caller. * The keys will be stripped of deviceId, timeUpdated and keyValue data. * * @param lookupKey the value that references the contact * - * @return a list of {@link ContactKey} objects containing the contact key + * @return a list of {@link E2eeContactKey} objects containing the contact key * information, or an empty list if no keys are found. */ @RequiresPermission(android.Manifest.permission.READ_CONTACTS) @NonNull - public List<ContactKey> getAllContactKeys(@NonNull String lookupKey) { + public List<E2eeContactKey> getAllE2eeContactKeys(@NonNull String lookupKey) { Bundle extras = new Bundle(); - extras.putString(ContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); + extras.putString(E2eeContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); Bundle response = nullSafeCall(mContentResolver, - ContactKeys.GET_ALL_CONTACT_KEYS_METHOD, extras); + E2eeContactKeys.GET_ALL_CONTACT_KEYS_METHOD, extras); if (response == null) { return new ArrayList<>(); } - List<ContactKey> value = response.getParcelableArrayList(ContactKeys.KEY_CONTACT_KEYS, - ContactKey.class); + List<E2eeContactKey> value = response.getParcelableArrayList( + E2eeContactKeys.KEY_CONTACT_KEYS, E2eeContactKey.class); if (value == null) { return new ArrayList<>(); } @@ -192,27 +195,28 @@ public final class ContactKeysManager { } /** - * Retrieves all contact key entries for a given lookupKey that belong to the caller app. + * Retrieves all end-to-end encryption contact key entries for a given lookupKey that belong to + * the caller app. * * @param lookupKey the value that references the contact * - * @return a list of {@link ContactKey} objects containing the contact key - * information, or an empty list if no keys are found. + * @return a list of {@link E2eeContactKey} objects containing the end-to-end encryption + * contact key information, or an empty list if no keys are found. */ @RequiresPermission(android.Manifest.permission.READ_CONTACTS) @NonNull - public List<ContactKey> getOwnerContactKeys(@NonNull String lookupKey) { + public List<E2eeContactKey> getOwnerE2eeContactKeys(@NonNull String lookupKey) { Bundle extras = new Bundle(); - extras.putString(ContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); + extras.putString(E2eeContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); Bundle response = nullSafeCall(mContentResolver, - ContactKeys.GET_OWNER_CONTACT_KEYS_METHOD, extras); + E2eeContactKeys.GET_OWNER_CONTACT_KEYS_METHOD, extras); if (response == null) { return new ArrayList<>(); } - List<ContactKey> value = response.getParcelableArrayList(ContactKeys.KEY_CONTACT_KEYS, - ContactKey.class); + List<E2eeContactKey> value = response.getParcelableArrayList( + E2eeContactKeys.KEY_CONTACT_KEYS, E2eeContactKey.class); if (value == null) { return new ArrayList<>(); } @@ -220,7 +224,8 @@ public final class ContactKeysManager { } /** - * Updates a contact key entry's local verification state that belongs to the caller app. + * Updates an end-to-end encryption contact key entry's local verification state that belongs + * to the caller app. * * @param lookupKey the value that references the contact * @param deviceId an app-specified identifier for the device @@ -230,27 +235,27 @@ public final class ContactKeysManager { * @return true if the entry was updated, false otherwise. */ @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) - public boolean updateContactKeyLocalVerificationState(@NonNull String lookupKey, + public boolean updateE2eeContactKeyLocalVerificationState(@NonNull String lookupKey, @NonNull String deviceId, @NonNull String accountId, @VerificationState int localVerificationState) { validateVerificationState(localVerificationState); Bundle extras = new Bundle(); - extras.putString(ContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); - extras.putString(ContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); - extras.putString(ContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); - extras.putInt(ContactKeys.LOCAL_VERIFICATION_STATE, localVerificationState); + extras.putString(E2eeContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); + extras.putString(E2eeContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); + extras.putString(E2eeContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); + extras.putInt(E2eeContactKeys.LOCAL_VERIFICATION_STATE, localVerificationState); Bundle response = nullSafeCall(mContentResolver, - ContactKeys.UPDATE_CONTACT_KEY_LOCAL_VERIFICATION_STATE_METHOD, extras); + E2eeContactKeys.UPDATE_CONTACT_KEY_LOCAL_VERIFICATION_STATE_METHOD, extras); - return response != null && response.getBoolean(ContactKeys.KEY_UPDATED_ROWS); + return response != null && response.getBoolean(E2eeContactKeys.KEY_UPDATED_ROWS); } /** - * Updates a contact key entry's local verification state that belongs to the app identified - * by ownerPackageName. + * Updates an end-to-end encryption contact key entry's local verification state that belongs + * to the app identified by ownerPackageName. * * @param lookupKey the value that references the contact * @param deviceId an app-specified identifier for the device @@ -266,7 +271,7 @@ public final class ContactKeysManager { @RequiresPermission(allOf = { android.Manifest.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS, android.Manifest.permission.WRITE_CONTACTS}) - public boolean updateContactKeyLocalVerificationState(@NonNull String lookupKey, + public boolean updateE2eeContactKeyLocalVerificationState(@NonNull String lookupKey, @NonNull String deviceId, @NonNull String accountId, @NonNull String ownerPackageName, @@ -274,20 +279,22 @@ public final class ContactKeysManager { validateVerificationState(localVerificationState); final Bundle extras = new Bundle(); - extras.putString(ContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); - extras.putString(ContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); - extras.putString(ContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); - extras.putString(ContactKeys.OWNER_PACKAGE_NAME, Objects.requireNonNull(ownerPackageName)); - extras.putInt(ContactKeys.LOCAL_VERIFICATION_STATE, localVerificationState); + extras.putString(E2eeContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); + extras.putString(E2eeContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); + extras.putString(E2eeContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); + extras.putString(E2eeContactKeys.OWNER_PACKAGE_NAME, + Objects.requireNonNull(ownerPackageName)); + extras.putInt(E2eeContactKeys.LOCAL_VERIFICATION_STATE, localVerificationState); final Bundle response = nullSafeCall(mContentResolver, - ContactKeys.UPDATE_CONTACT_KEY_LOCAL_VERIFICATION_STATE_METHOD, extras); + E2eeContactKeys.UPDATE_CONTACT_KEY_LOCAL_VERIFICATION_STATE_METHOD, extras); - return response != null && response.getBoolean(ContactKeys.KEY_UPDATED_ROWS); + return response != null && response.getBoolean(E2eeContactKeys.KEY_UPDATED_ROWS); } /** - * Updates a contact key entry's remote verification state that belongs to the caller app. + * Updates an end-to-end encryption contact key entry's remote verification state that belongs + * to the caller app. * * @param lookupKey the value that references the contact * @param deviceId an app-specified identifier for the device @@ -297,27 +304,27 @@ public final class ContactKeysManager { * @return true if the entry was updated, false otherwise. */ @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) - public boolean updateContactKeyRemoteVerificationState(@NonNull String lookupKey, + public boolean updateE2eeContactKeyRemoteVerificationState(@NonNull String lookupKey, @NonNull String deviceId, @NonNull String accountId, @VerificationState int remoteVerificationState) { validateVerificationState(remoteVerificationState); Bundle extras = new Bundle(); - extras.putString(ContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); - extras.putString(ContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); - extras.putString(ContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); - extras.putInt(ContactKeys.REMOTE_VERIFICATION_STATE, remoteVerificationState); + extras.putString(E2eeContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); + extras.putString(E2eeContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); + extras.putString(E2eeContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); + extras.putInt(E2eeContactKeys.REMOTE_VERIFICATION_STATE, remoteVerificationState); Bundle response = nullSafeCall(mContentResolver, - ContactKeys.UPDATE_CONTACT_KEY_REMOTE_VERIFICATION_STATE_METHOD, extras); + E2eeContactKeys.UPDATE_CONTACT_KEY_REMOTE_VERIFICATION_STATE_METHOD, extras); - return response != null && response.getBoolean(ContactKeys.KEY_UPDATED_ROWS); + return response != null && response.getBoolean(E2eeContactKeys.KEY_UPDATED_ROWS); } /** - * Updates a contact key entry's remote verification state that belongs to the app identified - * by ownerPackageName. + * Updates an end-to-end encryption contact key entry's remote verification state that belongs + * to the app identified by ownerPackageName. * * @param lookupKey the value that references the contact * @param deviceId an app-specified identifier for the device @@ -333,7 +340,7 @@ public final class ContactKeysManager { @RequiresPermission(allOf = { android.Manifest.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS, android.Manifest.permission.WRITE_CONTACTS}) - public boolean updateContactKeyRemoteVerificationState(@NonNull String lookupKey, + public boolean updateE2eeContactKeyRemoteVerificationState(@NonNull String lookupKey, @NonNull String deviceId, @NonNull String accountId, @NonNull String ownerPackageName, @@ -341,19 +348,19 @@ public final class ContactKeysManager { validateVerificationState(remoteVerificationState); final Bundle extras = new Bundle(); - extras.putString(ContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); - extras.putString(ContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); - extras.putString(ContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); - extras.putString(ContactKeys.OWNER_PACKAGE_NAME, Objects.requireNonNull(ownerPackageName)); - extras.putInt(ContactKeys.REMOTE_VERIFICATION_STATE, remoteVerificationState); + extras.putString(E2eeContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); + extras.putString(E2eeContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); + extras.putString(E2eeContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); + extras.putString(E2eeContactKeys.OWNER_PACKAGE_NAME, + Objects.requireNonNull(ownerPackageName)); + extras.putInt(E2eeContactKeys.REMOTE_VERIFICATION_STATE, remoteVerificationState); final Bundle response = nullSafeCall(mContentResolver, - ContactKeys.UPDATE_CONTACT_KEY_REMOTE_VERIFICATION_STATE_METHOD, extras); + E2eeContactKeys.UPDATE_CONTACT_KEY_REMOTE_VERIFICATION_STATE_METHOD, extras); - return response != null && response.getBoolean(ContactKeys.KEY_UPDATED_ROWS); + return response != null && response.getBoolean(E2eeContactKeys.KEY_UPDATED_ROWS); } - private static void validateVerificationState(int verificationState) { if (verificationState != VERIFICATION_STATE_UNVERIFIED && verificationState != VERIFICATION_STATE_VERIFICATION_FAILED @@ -364,7 +371,7 @@ public final class ContactKeysManager { } /** - * Removes a contact key entry that belongs to the caller app. + * Removes an end-to-end encryption contact key entry that belongs to the caller app. * * @param lookupKey the value that references the contact * @param deviceId an app-specified identifier for the device @@ -373,22 +380,23 @@ public final class ContactKeysManager { * @return true if the entry was removed, false otherwise. */ @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) - public boolean removeContactKey(@NonNull String lookupKey, + public boolean removeE2eeContactKey(@NonNull String lookupKey, @NonNull String deviceId, @NonNull String accountId) { final Bundle extras = new Bundle(); - extras.putString(ContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); - extras.putString(ContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); - extras.putString(ContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); + extras.putString(E2eeContactKeys.LOOKUP_KEY, Objects.requireNonNull(lookupKey)); + extras.putString(E2eeContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); + extras.putString(E2eeContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); final Bundle response = nullSafeCall(mContentResolver, - ContactKeys.REMOVE_CONTACT_KEY_METHOD, extras); + E2eeContactKeys.REMOVE_CONTACT_KEY_METHOD, extras); - return response != null && response.getBoolean(ContactKeys.KEY_UPDATED_ROWS); + return response != null && response.getBoolean(E2eeContactKeys.KEY_UPDATED_ROWS); } /** - * Inserts a new entry into the self keys table or updates one if it already exists. + * Inserts a new entry into the end-to-end encryption self keys table or updates one if it + * already exists. * @param deviceId an app-specified identifier for the device * @param accountId an app-specified identifier for the account @@ -397,20 +405,20 @@ public final class ContactKeysManager { * @return true if the entry was added or updated, false otherwise. */ @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) - public boolean updateOrInsertSelfKey(@NonNull String deviceId, + public boolean updateOrInsertE2eeSelfKey(@NonNull String deviceId, @NonNull String accountId, @NonNull byte[] keyValue) { validateKeyLength(keyValue); Bundle extras = new Bundle(); - extras.putString(ContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); - extras.putString(ContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); - extras.putByteArray(ContactKeys.KEY_VALUE, Objects.requireNonNull(keyValue)); + extras.putString(E2eeContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); + extras.putString(E2eeContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); + extras.putByteArray(E2eeContactKeys.KEY_VALUE, Objects.requireNonNull(keyValue)); Bundle response = nullSafeCall(mContentResolver, - ContactKeys.UPDATE_OR_INSERT_SELF_KEY_METHOD, extras); + E2eeContactKeys.UPDATE_OR_INSERT_SELF_KEY_METHOD, extras); - return response != null && response.getBoolean(ContactKeys.KEY_UPDATED_ROWS); + return response != null && response.getBoolean(E2eeContactKeys.KEY_UPDATED_ROWS); } private static void validateKeyLength(byte[] keyValue) { @@ -422,7 +430,7 @@ public final class ContactKeysManager { } /** - * Updates a self key entry's remote verification state. + * Updates an end-to-end encryption self key entry's remote verification state. * * @param deviceId an app-specified identifier for the device * @param accountId an app-specified identifier for the account @@ -431,25 +439,25 @@ public final class ContactKeysManager { * @return true if the entry was updated, false otherwise. */ @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) - public boolean updateSelfKeyRemoteVerificationState(@NonNull String deviceId, + public boolean updateE2eeSelfKeyRemoteVerificationState(@NonNull String deviceId, @NonNull String accountId, @VerificationState int remoteVerificationState) { validateVerificationState(remoteVerificationState); Bundle extras = new Bundle(); - extras.putString(ContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); - extras.putString(ContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); - extras.putInt(ContactKeys.REMOTE_VERIFICATION_STATE, remoteVerificationState); + extras.putString(E2eeContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); + extras.putString(E2eeContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); + extras.putInt(E2eeContactKeys.REMOTE_VERIFICATION_STATE, remoteVerificationState); Bundle response = nullSafeCall(mContentResolver, - ContactKeys.UPDATE_SELF_KEY_REMOTE_VERIFICATION_STATE_METHOD, extras); + E2eeContactKeys.UPDATE_SELF_KEY_REMOTE_VERIFICATION_STATE_METHOD, extras); - return response != null && response.getBoolean(ContactKeys.KEY_UPDATED_ROWS); + return response != null && response.getBoolean(E2eeContactKeys.KEY_UPDATED_ROWS); } /** - * Updates a self key entry's remote verification state that belongs to the app identified - * by ownerPackageName. + * Updates an end-to-end encryption self key entry's remote verification state that belongs to + * the app identified by ownerPackageName. * * @param deviceId an app-specified identifier for the device * @param accountId an app-specified identifier for the account @@ -464,77 +472,79 @@ public final class ContactKeysManager { @RequiresPermission(allOf = { android.Manifest.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS, android.Manifest.permission.WRITE_CONTACTS}) - public boolean updateSelfKeyRemoteVerificationState(@NonNull String deviceId, + public boolean updateE2eeSelfKeyRemoteVerificationState(@NonNull String deviceId, @NonNull String accountId, @NonNull String ownerPackageName, @VerificationState int remoteVerificationState) { validateVerificationState(remoteVerificationState); Bundle extras = new Bundle(); - extras.putString(ContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); - extras.putString(ContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); - extras.putString(ContactKeys.OWNER_PACKAGE_NAME, Objects.requireNonNull(ownerPackageName)); - extras.putInt(ContactKeys.REMOTE_VERIFICATION_STATE, remoteVerificationState); + extras.putString(E2eeContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); + extras.putString(E2eeContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); + extras.putString(E2eeContactKeys.OWNER_PACKAGE_NAME, + Objects.requireNonNull(ownerPackageName)); + extras.putInt(E2eeContactKeys.REMOTE_VERIFICATION_STATE, remoteVerificationState); Bundle response = nullSafeCall(mContentResolver, - ContactKeys.UPDATE_SELF_KEY_REMOTE_VERIFICATION_STATE_METHOD, extras); + E2eeContactKeys.UPDATE_SELF_KEY_REMOTE_VERIFICATION_STATE_METHOD, extras); - return response != null && response.getBoolean(ContactKeys.KEY_UPDATED_ROWS); + return response != null && response.getBoolean(E2eeContactKeys.KEY_UPDATED_ROWS); } /** - * Maximum size of a contact key. + * Maximum size of an end-to-end encryption contact key. */ public static int getMaxKeySizeBytes() { return MAX_KEY_SIZE_BYTES; } /** - * Returns a self key entry given the deviceId and the inferred package name of the caller. + * Returns an end-to-end encryption self key entry given the deviceId and the inferred package + * name of the caller. * * @param deviceId an app-specified identifier for the device * @param accountId an app-specified identifier for the account * - * @return a {@link SelfKey} object containing the self key information, or null if no self key - * is found. + * @return a {@link E2eeSelfKey} object containing the end-to-end encryption self key + * information, or null if no self key is found. */ @RequiresPermission(android.Manifest.permission.READ_CONTACTS) @Nullable - public SelfKey getSelfKey(@NonNull String deviceId, + public E2eeSelfKey getE2eeSelfKey(@NonNull String deviceId, @NonNull String accountId) { Bundle extras = new Bundle(); - extras.putString(ContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); - extras.putString(ContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); + extras.putString(E2eeContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); + extras.putString(E2eeContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); Bundle response = nullSafeCall(mContentResolver, - ContactKeys.GET_SELF_KEY_METHOD, extras); + E2eeContactKeys.GET_SELF_KEY_METHOD, extras); if (response == null) { return null; } - return response.getParcelable(ContactKeys.KEY_CONTACT_KEY, SelfKey.class); + return response.getParcelable(E2eeContactKeys.KEY_CONTACT_KEY, E2eeSelfKey.class); } /** - * Returns all self key entries that belong to apps visible to the caller. + * Returns all end-to-end encryption self key entries that belong to apps visible to the caller. * The keys will be stripped of deviceId, timeUpdated and keyValue data. * - * @return a list of {@link SelfKey} objects containing the self key information, or - * an empty list if no keys are found. + * @return a list of {@link E2eeSelfKey} objects containing the end-to-end encryption self key + * information, or an empty list if no self keys are found. */ @RequiresPermission(android.Manifest.permission.READ_CONTACTS) @NonNull - public List<SelfKey> getAllSelfKeys() { + public List<E2eeSelfKey> getAllE2eeSelfKeys() { Bundle extras = new Bundle(); - Bundle response = nullSafeCall(mContentResolver, ContactKeys.GET_ALL_SELF_KEYS_METHOD, + Bundle response = nullSafeCall(mContentResolver, E2eeContactKeys.GET_ALL_SELF_KEYS_METHOD, extras); if (response == null) { return new ArrayList<>(); } - List<SelfKey> value = response.getParcelableArrayList(ContactKeys.KEY_CONTACT_KEYS, - SelfKey.class); + List<E2eeSelfKey> value = response.getParcelableArrayList(E2eeContactKeys.KEY_CONTACT_KEYS, + E2eeSelfKey.class); if (value == null) { return new ArrayList<>(); } @@ -542,24 +552,24 @@ public final class ContactKeysManager { } /** - * Returns all self key entries that are owned by the caller app. + * Returns all end-to-end encryption self key entries that are owned by the caller app. * - * @return a list of {@link SelfKey} objects containing the self key information, or - * an empty list if no keys are found. + * @return a list of {@link E2eeSelfKey} objects containing the end-to-end encryption self key + * information, or an empty list if no self keys are found. */ @RequiresPermission(android.Manifest.permission.READ_CONTACTS) @NonNull - public List<SelfKey> getOwnerSelfKeys() { + public List<E2eeSelfKey> getOwnerE2eeSelfKeys() { Bundle extras = new Bundle(); - Bundle response = nullSafeCall(mContentResolver, ContactKeys.GET_OWNER_SELF_KEYS_METHOD, + Bundle response = nullSafeCall(mContentResolver, E2eeContactKeys.GET_OWNER_SELF_KEYS_METHOD, extras); if (response == null) { return new ArrayList<>(); } - List<SelfKey> value = response.getParcelableArrayList(ContactKeys.KEY_CONTACT_KEYS, - SelfKey.class); + List<E2eeSelfKey> value = response.getParcelableArrayList(E2eeContactKeys.KEY_CONTACT_KEYS, + E2eeSelfKey.class); if (value == null) { return new ArrayList<>(); } @@ -567,24 +577,24 @@ public final class ContactKeysManager { } /** - * Removes a self key entry given the deviceId and the inferred package name of the caller. - + * Removes an end-to-end encryption self key entry given the deviceId and the inferred + * package name of the caller. * @param deviceId an app-specified identifier for the device * @param accountId an app-specified identifier for the account * * @return true if the entry was removed, false otherwise. */ @RequiresPermission(android.Manifest.permission.WRITE_CONTACTS) - public boolean removeSelfKey(@NonNull String deviceId, + public boolean removeE2eeSelfKey(@NonNull String deviceId, @NonNull String accountId) { Bundle extras = new Bundle(); - extras.putString(ContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); - extras.putString(ContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); + extras.putString(E2eeContactKeys.DEVICE_ID, Objects.requireNonNull(deviceId)); + extras.putString(E2eeContactKeys.ACCOUNT_ID, Objects.requireNonNull(accountId)); Bundle response = nullSafeCall(mContentResolver, - ContactKeys.REMOVE_SELF_KEY_METHOD, extras); + E2eeContactKeys.REMOVE_SELF_KEY_METHOD, extras); - return response != null && response.getBoolean(ContactKeys.KEY_UPDATED_ROWS); + return response != null && response.getBoolean(E2eeContactKeys.KEY_UPDATED_ROWS); } private Bundle nullSafeCall(@NonNull ContentResolver resolver, @NonNull String method, @@ -622,9 +632,9 @@ public final class ContactKeysManager { public static final int VERIFICATION_STATE_VERIFIED = 2; /** @hide */ - public static final class ContactKeys { + public static final class E2eeContactKeys { - private ContactKeys() {} + private E2eeContactKeys() {} /** * <p> @@ -636,14 +646,16 @@ public final class ContactKeysManager { /** * <p> - * An app-specified identifier for the device for which the contact key can be used. + * An app-specified identifier for the device for which the end-to-end encryption + * contact key can be used. * </p> */ public static final String DEVICE_ID = "device_id"; /** * <p> - * An app-specified identifier for the account for which the contact key can be used. + * An app-specified identifier for the account for which the end-to-end encryption + * contact key can be used. * Usually a phone number. * </p> */ @@ -718,29 +730,32 @@ public final class ContactKeysManager { public static final String GET_CONTACT_KEY_METHOD = "getContactKey"; /** - * The method to invoke in order to retrieve all contact keys. + * The method to invoke in order to retrieve all end-to-end encryption contact keys. */ public static final String GET_ALL_CONTACT_KEYS_METHOD = "getAllContactKeys"; /** - * The method to invoke in order to retrieve contact keys that belong to the caller. + * The method to invoke in order to retrieve end-to-end encryption contact keys that belong + * to the caller. */ public static final String GET_OWNER_CONTACT_KEYS_METHOD = "getOwnerContactKeys"; /** - * The method to invoke in order to update a contact key local verification state. + * The method to invoke in order to update an end-to-end encryption contact key local + * verification state. */ public static final String UPDATE_CONTACT_KEY_LOCAL_VERIFICATION_STATE_METHOD = "updateContactKeyLocalVerificationState"; /** - * The method to invoke in order to update a contact key remote verification state. + * The method to invoke in order to update an end-to-end encryption contact key remote + * verification state. */ public static final String UPDATE_CONTACT_KEY_REMOTE_VERIFICATION_STATE_METHOD = "updateContactKeyRemoteVerificationState"; /** - * The method to invoke in order to remove a contact key. + * The method to invoke in order to remove a end-to-end encryption contact key. */ public static final String REMOVE_CONTACT_KEY_METHOD = "removeContactKey"; @@ -776,12 +791,12 @@ public final class ContactKeysManager { public static final String REMOVE_SELF_KEY_METHOD = "removeSelfKey"; /** - * Key in the incoming Bundle for all the contact keys. + * Key in the incoming Bundle for all the end-to-end encryption contact keys. */ public static final String KEY_CONTACT_KEYS = "key_contact_keys"; /** - * Key in the incoming Bundle for a single contact key. + * Key in the incoming Bundle for a single end-to-end encryption contact key. */ public static final String KEY_CONTACT_KEY = "key_contact_key"; @@ -790,18 +805,19 @@ public final class ContactKeysManager { */ public static final String KEY_UPDATED_ROWS = "key_updated_rows"; } - /** * A parcelable class encapsulating other users' end to end encrypted contact key. */ - public static final class ContactKey implements Parcelable { + public static final class E2eeContactKey implements Parcelable { /** - * An app-specified identifier for the device for which the contact key can be used. + * An app-specified identifier for the device for which the end-to-end encryption + * contact key can be used. */ private final String mDeviceId; /** - * An app-specified identifier for the account for which the contact key can be used. + * An app-specified identifier for the account for which the end-to-end encryption + * contact key can be used. * Usually a phone number. */ private final String mAccountId; @@ -851,7 +867,7 @@ public final class ContactKeysManager { /** * @hide */ - public ContactKey(@Nullable String deviceId, @NonNull String accountId, + public E2eeContactKey(@Nullable String deviceId, @NonNull String accountId, @NonNull String ownerPackageName, long timeUpdated, @Nullable byte[] keyValue, @VerificationState int localVerificationState, @VerificationState int remoteVerificationState, @@ -870,8 +886,10 @@ public final class ContactKeysManager { } /** - * Gets the app-specified identifier for the device for which the contact key can be used. - * Returns null if the app doesn't have the required visibility into the contact key. + * Gets the app-specified identifier for the device for which the end-to-end encryption + * contact key can be used. + * Returns null if the app doesn't have the required visibility into + * the end-to-end encryption contact key. * * @return An app-specified identifier for the device. */ @@ -881,7 +899,8 @@ public final class ContactKeysManager { } /** - * Gets the app-specified identifier for the account for which the contact key can be used. + * Gets the app-specified identifier for the account for which the end-to-end encryption + * contact key can be used. * Usually a phone number. * * @return An app-specified identifier for the account. @@ -903,7 +922,7 @@ public final class ContactKeysManager { /** * Gets the timestamp at which the key was updated. Returns -1 if the app doesn't have the - * required visibility into the contact key. + * required visibility into the end-to-end encryption contact key. * * @return The timestamp at which the key was updated in the System.currentTimeMillis() * base. @@ -914,7 +933,8 @@ public final class ContactKeysManager { /** * Gets the raw bytes for the key. - * Returns null if the app doesn't have the required visibility into the contact key. + * Returns null if the app doesn't have the required visibility into + * the end-to-end encryption contact key. * * @return A copy of the raw bytes for the key. */ @@ -984,7 +1004,7 @@ public final class ContactKeysManager { if (obj == null) return false; if (obj == this) return true; - if (!(obj instanceof ContactKey toCompare)) { + if (!(obj instanceof E2eeContactKey toCompare)) { return false; } @@ -1023,10 +1043,10 @@ public final class ContactKeysManager { } @NonNull - public static final Creator<ContactKey> CREATOR = + public static final Creator<E2eeContactKey> CREATOR = new Creator<>() { @Override - public ContactKey createFromParcel(Parcel source) { + public E2eeContactKey createFromParcel(Parcel source) { String deviceId = source.readString8(); String accountId = source.readString8(); String ownerPackageName = source.readString8(); @@ -1044,14 +1064,14 @@ public final class ContactKeysManager { String displayName = source.readString8(); String number = source.readString8(); String address = source.readString8(); - return new ContactKey(deviceId, accountId, ownerPackageName, + return new E2eeContactKey(deviceId, accountId, ownerPackageName, timeUpdated, keyValue, localVerificationState, remoteVerificationState, displayName, number, address); } @Override - public ContactKey[] newArray(int size) { - return new ContactKey[size]; + public E2eeContactKey[] newArray(int size) { + return new E2eeContactKey[size]; } }; } @@ -1059,14 +1079,16 @@ public final class ContactKeysManager { /** * A parcelable class encapsulating self end to end encrypted contact key. */ - public static final class SelfKey implements Parcelable { + public static final class E2eeSelfKey implements Parcelable { /** - * An app-specified identifier for the device for which the contact key can be used. + * An app-specified identifier for the device for which the end-to-end encryption + * contact key can be used. */ private final String mDeviceId; /** - * An app-specified identifier for the account for which the contact key can be used. + * An app-specified identifier for the account for which the end-to-end encryption + * contact key can be used. * Usually a phone number. */ private final String mAccountId; @@ -1096,7 +1118,7 @@ public final class ContactKeysManager { /** * @hide */ - public SelfKey(@Nullable String deviceId, @NonNull String accountId, + public E2eeSelfKey(@Nullable String deviceId, @NonNull String accountId, @NonNull String ownerPackageName, long timeUpdated, @Nullable byte[] keyValue, @VerificationState int remoteVerificationState) { this.mDeviceId = deviceId; @@ -1108,8 +1130,10 @@ public final class ContactKeysManager { } /** - * Gets the app-specified identifier for the device for which the contact key can be used. - * Returns null if the app doesn't have the required visibility into the contact key. + * Gets the app-specified identifier for the device for which the end-to-end encryption + * contact key can be used. + * Returns null if the app doesn't have the required visibility into + * the end-to-end encryption contact key. * * @return An app-specified identifier for the device. */ @@ -1119,7 +1143,8 @@ public final class ContactKeysManager { } /** - * Gets the app-specified identifier for the account for which the contact key can be used. + * Gets the app-specified identifier for the account for which the end-to-end encryption + * contact key can be used. * Usually a phone number. * * @return An app-specified identifier for the device. @@ -1141,7 +1166,7 @@ public final class ContactKeysManager { /** * Gets the timestamp at which the key was updated. Returns -1 if the app doesn't have the - * required visibility into the contact key. + * required visibility into the end-to-end encryption contact key. * * @return The timestamp at which the key was updated in the System.currentTimeMillis() * base. @@ -1152,7 +1177,8 @@ public final class ContactKeysManager { /** * Gets the raw bytes for the key. - * Returns null if the app doesn't have the required visibility into the contact key. + * Returns null if the app doesn't have the required visibility into + * the end-to-end encryption contact key. * * @return A copy of the raw bytes for the key. */ @@ -1182,7 +1208,7 @@ public final class ContactKeysManager { if (obj == null) return false; if (obj == this) return true; - if (!(obj instanceof SelfKey toCompare)) { + if (!(obj instanceof E2eeSelfKey toCompare)) { return false; } @@ -1213,10 +1239,10 @@ public final class ContactKeysManager { } @NonNull - public static final Creator<SelfKey> CREATOR = + public static final Creator<E2eeSelfKey> CREATOR = new Creator<>() { @Override - public SelfKey createFromParcel(Parcel source) { + public E2eeSelfKey createFromParcel(Parcel source) { String deviceId = source.readString8(); String accountId = source.readString8(); String ownerPackageName = source.readString8(); @@ -1230,13 +1256,13 @@ public final class ContactKeysManager { keyValue = null; } int remoteVerificationState = source.readInt(); - return new SelfKey(deviceId, accountId, ownerPackageName, + return new E2eeSelfKey(deviceId, accountId, ownerPackageName, timeUpdated, keyValue, remoteVerificationState); } @Override - public SelfKey[] newArray(int size) { - return new SelfKey[size]; + public E2eeSelfKey[] newArray(int size) { + return new E2eeSelfKey[size]; } }; } |