Address API council review comments.
Bug:222291473
Bug:222291491
Bug:222291420
Bug:222291565
Test: atest CtsNearbyFastPairTestCases
Test: atest NearbyUnitTests
Change-Id: Ib9dc5e3c7f123ab757cabb6d926d47e54c8c7dfd
diff --git a/nearby/framework/java/android/nearby/BroadcastRequest.java b/nearby/framework/java/android/nearby/BroadcastRequest.java
index 71d51d2..3273ea1 100644
--- a/nearby/framework/java/android/nearby/BroadcastRequest.java
+++ b/nearby/framework/java/android/nearby/BroadcastRequest.java
@@ -19,10 +19,8 @@
import android.annotation.IntDef;
import android.annotation.IntRange;
import android.annotation.NonNull;
-import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.os.Parcel;
-import android.os.Parcelable;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -35,8 +33,7 @@
* @hide
*/
@SystemApi
-@SuppressLint("ParcelNotFinal") // BroadcastRequest constructor is not public
-public abstract class BroadcastRequest implements Parcelable {
+public abstract class BroadcastRequest {
/** An unknown nearby broadcast request type. */
public static final int BROADCAST_TYPE_UNKNOWN = -1;
@@ -91,25 +88,22 @@
int MDNS = 2;
}
- public static final @NonNull Creator<BroadcastRequest> CREATOR =
- new Creator<BroadcastRequest>() {
- @Override
- public BroadcastRequest createFromParcel(Parcel in) {
- int type = in.readInt();
- switch (type) {
- case BroadcastRequest.BROADCAST_TYPE_NEARBY_PRESENCE:
- return PresenceBroadcastRequest.createFromParcelBody(in);
- default:
- throw new IllegalStateException(
- "Unexpected broadcast type (value " + type + ") in parcel.");
- }
- }
-
- @Override
- public BroadcastRequest[] newArray(int size) {
- return new BroadcastRequest[size];
- }
- };
+ /**
+ * Creates a {@link BroadcastRequest} from parcel.
+ *
+ * @hide
+ */
+ @NonNull
+ public static BroadcastRequest createFromParcel(Parcel in) {
+ int type = in.readInt();
+ switch (type) {
+ case BroadcastRequest.BROADCAST_TYPE_NEARBY_PRESENCE:
+ return PresenceBroadcastRequest.createFromParcelBody(in);
+ default:
+ throw new IllegalStateException(
+ "Unexpected broadcast type (value " + type + ") in parcel.");
+ }
+ }
private final @BroadcastType int mType;
private final @BroadcastVersion int mVersion;
@@ -163,16 +157,15 @@
return mMediums;
}
- @Override
+ /**
+ * Writes the BroadcastRequest to the parcel.
+ *
+ * @hide
+ */
public void writeToParcel(@NonNull Parcel dest, int flags) {
dest.writeInt(mType);
dest.writeInt(mVersion);
dest.writeInt(mTxPower);
dest.writeList(mMediums);
}
-
- @Override
- public int describeContents() {
- return 0;
- }
}
diff --git a/nearby/framework/java/android/nearby/BroadcastRequest.aidl b/nearby/framework/java/android/nearby/BroadcastRequestParcelable.aidl
similarity index 93%
rename from nearby/framework/java/android/nearby/BroadcastRequest.aidl
rename to nearby/framework/java/android/nearby/BroadcastRequestParcelable.aidl
index 53f7d42..818f8d5 100644
--- a/nearby/framework/java/android/nearby/BroadcastRequest.aidl
+++ b/nearby/framework/java/android/nearby/BroadcastRequestParcelable.aidl
@@ -16,4 +16,4 @@
package android.nearby;
-parcelable BroadcastRequest;
+parcelable BroadcastRequestParcelable;
diff --git a/nearby/framework/java/android/nearby/BroadcastRequestParcelable.java b/nearby/framework/java/android/nearby/BroadcastRequestParcelable.java
new file mode 100644
index 0000000..4a2ff6d
--- /dev/null
+++ b/nearby/framework/java/android/nearby/BroadcastRequestParcelable.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.nearby;
+
+import android.annotation.NonNull;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * A wrapper of {@link BroadcastRequest} that is parcelable.
+ *
+ * @hide
+ */
+public class BroadcastRequestParcelable implements Parcelable {
+ private final BroadcastRequest mBroadcastRequest;
+
+ public static final Creator<BroadcastRequestParcelable> CREATOR =
+ new Creator<BroadcastRequestParcelable>() {
+ @Override
+ public BroadcastRequestParcelable createFromParcel(Parcel in) {
+ return new BroadcastRequestParcelable(BroadcastRequest.createFromParcel(in));
+ }
+
+ @Override
+ public BroadcastRequestParcelable[] newArray(int size) {
+ return new BroadcastRequestParcelable[size];
+ }
+ };
+
+ BroadcastRequestParcelable(BroadcastRequest broadcastRequest) {
+ mBroadcastRequest = broadcastRequest;
+ }
+
+ /**
+ * Returns the broadcastRequest.
+ */
+ public BroadcastRequest getBroadcastRequest() {
+ return mBroadcastRequest;
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(@NonNull Parcel dest, int flags) {
+ mBroadcastRequest.writeToParcel(dest, flags);
+ }
+}
diff --git a/nearby/framework/java/android/nearby/INearbyManager.aidl b/nearby/framework/java/android/nearby/INearbyManager.aidl
index 91dd485..e5c4102 100644
--- a/nearby/framework/java/android/nearby/INearbyManager.aidl
+++ b/nearby/framework/java/android/nearby/INearbyManager.aidl
@@ -18,7 +18,7 @@
import android.nearby.IBroadcastListener;
import android.nearby.IScanListener;
-import android.nearby.BroadcastRequest;
+import android.nearby.BroadcastRequestParcelable;
import android.nearby.ScanRequest;
/**
@@ -32,7 +32,8 @@
void unregisterScanListener(in IScanListener listener);
- void startBroadcast(in BroadcastRequest broadcastRequest, in IBroadcastListener callback);
+ void startBroadcast(in BroadcastRequestParcelable broadcastRequest,
+ in IBroadcastListener callback);
void stopBroadcast(in IBroadcastListener callback);
}
\ No newline at end of file
diff --git a/nearby/framework/java/android/nearby/NearbyManager.java b/nearby/framework/java/android/nearby/NearbyManager.java
index eb34e00..1f6edd3 100644
--- a/nearby/framework/java/android/nearby/NearbyManager.java
+++ b/nearby/framework/java/android/nearby/NearbyManager.java
@@ -157,7 +157,7 @@
*
* @param broadcastRequest Request for the nearby broadcast.
* @param executor Executor for running the callback.
- * @param callback Callback for notifying the client..
+ * @param callback Callback for notifying the client.
*/
public void startBroadcast(@NonNull BroadcastRequest broadcastRequest,
@CallbackExecutor @NonNull Executor executor, @NonNull BroadcastCallback callback) {
@@ -172,7 +172,8 @@
Preconditions.checkState(transport.isRegistered());
transport.setExecutor(executor);
}
- mService.startBroadcast(broadcastRequest, transport);
+ mService.startBroadcast(new BroadcastRequestParcelable(broadcastRequest),
+ transport);
sBroadcastListeners.put(callback, new WeakReference<>(transport));
}
} catch (RemoteException e) {
diff --git a/nearby/framework/java/android/nearby/PresenceCredential.java b/nearby/framework/java/android/nearby/PresenceCredential.java
index fae3603..7ad6ae9 100644
--- a/nearby/framework/java/android/nearby/PresenceCredential.java
+++ b/nearby/framework/java/android/nearby/PresenceCredential.java
@@ -18,10 +18,8 @@
import android.annotation.IntDef;
import android.annotation.NonNull;
-import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.os.Parcel;
-import android.os.Parcelable;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -34,8 +32,7 @@
* @hide
*/
@SystemApi
-@SuppressLint("ParcelNotFinal") // PresenceCredential constructor is not public
-public abstract class PresenceCredential implements Parcelable {
+public abstract class PresenceCredential {
/**
* Private credential type.
*/
@@ -108,29 +105,6 @@
CredentialElement.class);
}
-
- @NonNull
- public static final Creator<PresenceCredential> CREATOR = new Creator<PresenceCredential>() {
- @Override
- public PresenceCredential createFromParcel(Parcel in) {
- int type = in.readInt();
- switch (type) {
- case CREDENTIAL_TYPE_PRIVATE:
- return PrivateCredential.createFromParcelBody(in);
- case CREDENTIAL_TYPE_PUBLIC:
- return PublicCredential.createFromParcelBody(in);
- default:
- throw new IllegalStateException(
- "Unexpected credential type (value " + type + ") in parcel.");
- }
- }
-
- @Override
- public PresenceCredential[] newArray(int size) {
- return new PresenceCredential[size];
- }
- };
-
/**
* Returns the type of the credential.
*/
@@ -169,12 +143,11 @@
return mCredentialElements;
}
- @Override
- public int describeContents() {
- return 0;
- }
-
- @Override
+ /**
+ * Writes the presence credential to the parcel.
+ *
+ * @hide
+ */
public void writeToParcel(@NonNull Parcel dest, int flags) {
dest.writeInt(mType);
dest.writeInt(mIdentityType);
diff --git a/nearby/framework/java/android/nearby/PrivateCredential.java b/nearby/framework/java/android/nearby/PrivateCredential.java
index 8db49fa..d915cc6 100644
--- a/nearby/framework/java/android/nearby/PrivateCredential.java
+++ b/nearby/framework/java/android/nearby/PrivateCredential.java
@@ -107,18 +107,26 @@
private final List<CredentialElement> mCredentialElements;
private @IdentityType int mIdentityType;
- private byte[] mSecretId;
- private byte[] mAuthenticityKey;
- private byte[] mMetadataEncryptionKey;
- private String mDeviceName;
+ private final byte[] mSecretId;
+ private final byte[] mAuthenticityKey;
+ private final byte[] mMetadataEncryptionKey;
+ private final String mDeviceName;
- public Builder(@NonNull byte[] secretId, @NonNull byte[] authenticityKey) {
+ public Builder(@NonNull byte[] secretId, @NonNull byte[] authenticityKey,
+ @NonNull byte[] metadataEncryptionKey, @NonNull String deviceName) {
Preconditions.checkState(secretId != null && secretId.length > 0,
"secret id cannot be empty");
Preconditions.checkState(authenticityKey != null && authenticityKey.length > 0,
"authenticity key cannot be empty");
+ Preconditions.checkState(
+ metadataEncryptionKey != null && metadataEncryptionKey.length > 0,
+ "metadataEncryptionKey cannot be empty");
+ Preconditions.checkState(deviceName != null && deviceName.length() > 0,
+ "deviceName cannot be empty");
mSecretId = secretId;
mAuthenticityKey = authenticityKey;
+ mMetadataEncryptionKey = metadataEncryptionKey;
+ mDeviceName = deviceName;
mCredentialElements = new ArrayList<>();
}
@@ -132,24 +140,6 @@
}
/**
- * Sets the metadata encryption key to the credential.
- */
- @NonNull
- public Builder setMetadataEncryptionKey(@NonNull byte[] metadataEncryptionKey) {
- mMetadataEncryptionKey = metadataEncryptionKey;
- return this;
- }
-
- /**
- * Sets the device name of the credential.
- */
- @NonNull
- public Builder setDeviceName(@NonNull String deviceName) {
- mDeviceName = deviceName;
- return this;
- }
-
- /**
* Adds an element to the credential.
*/
@NonNull
diff --git a/nearby/framework/java/android/nearby/PublicCredential.java b/nearby/framework/java/android/nearby/PublicCredential.java
index 715e7fd..8aac323 100644
--- a/nearby/framework/java/android/nearby/PublicCredential.java
+++ b/nearby/framework/java/android/nearby/PublicCredential.java
@@ -21,6 +21,8 @@
import android.os.Parcel;
import android.os.Parcelable;
+import com.android.internal.util.Preconditions;
+
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -120,17 +122,33 @@
private final List<CredentialElement> mCredentialElements;
private @IdentityType int mIdentityType;
- private byte[] mSecretId;
- private byte[] mAuthenticityKey;
- private byte[] mPublicKey;
- private byte[] mEncryptedMetadata;
- private byte[] mEncryptedMetadataKeyTag;
+ private final byte[] mSecretId;
+ private final byte[] mAuthenticityKey;
+ private final byte[] mPublicKey;
+ private final byte[] mEncryptedMetadata;
+ private final byte[] mEncryptedMetadataKeyTag;
- public Builder(@NonNull byte[] secretId, @NonNull byte[] authenticityKey) {
- Objects.requireNonNull(secretId);
- Objects.requireNonNull(authenticityKey);
+ public Builder(@NonNull byte[] secretId, @NonNull byte[] authenticityKey,
+ @NonNull byte[] publicKey, @NonNull byte[] encryptedMetadata,
+ @NonNull byte[] encryptedMetadataKeyTag) {
+ Preconditions.checkState(secretId != null && secretId.length > 0,
+ "secret id cannot be empty");
+ Preconditions.checkState(authenticityKey != null && authenticityKey.length > 0,
+ "authenticity key cannot be empty");
+ Preconditions.checkState(
+ publicKey != null && publicKey.length > 0,
+ "publicKey cannot be empty");
+ Preconditions.checkState(encryptedMetadata != null && encryptedMetadata.length > 0,
+ "encryptedMetadata cannot be empty");
+ Preconditions.checkState(
+ encryptedMetadataKeyTag != null && encryptedMetadataKeyTag.length > 0,
+ "encryptedMetadataKeyTag cannot be empty");
+
mSecretId = secretId;
mAuthenticityKey = authenticityKey;
+ mPublicKey = publicKey;
+ mEncryptedMetadata = encryptedMetadata;
+ mEncryptedMetadataKeyTag = encryptedMetadataKeyTag;
mCredentialElements = new ArrayList<>();
}
@@ -154,36 +172,6 @@
}
/**
- * Sets the public key for the credential.
- */
- @NonNull
- public Builder setPublicKey(@NonNull byte[] publicKey) {
- Objects.requireNonNull(publicKey);
- mPublicKey = publicKey;
- return this;
- }
-
- /**
- * Sets the encrypted metadata.
- */
- @NonNull
- public Builder setEncryptedMetadata(@NonNull byte[] encryptedMetadata) {
- Objects.requireNonNull(encryptedMetadata);
- mEncryptedMetadata = encryptedMetadata;
- return this;
- }
-
- /**
- * Sets the encrypted metadata key tag.
- */
- @NonNull
- public Builder setEncryptedMetadataKeyTag(@NonNull byte[] encryptedMetadataKeyTag) {
- Objects.requireNonNull(encryptedMetadataKeyTag);
- mEncryptedMetadataKeyTag = encryptedMetadataKeyTag;
- return this;
- }
-
- /**
* Builds the {@link PresenceCredential}.
*/
@NonNull
diff --git a/nearby/framework/java/android/nearby/ScanFilter.java b/nearby/framework/java/android/nearby/ScanFilter.java
index e16c6a0..1409426 100644
--- a/nearby/framework/java/android/nearby/ScanFilter.java
+++ b/nearby/framework/java/android/nearby/ScanFilter.java
@@ -18,10 +18,8 @@
import android.annotation.IntRange;
import android.annotation.NonNull;
-import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.os.Parcel;
-import android.os.Parcelable;
/**
* Filter for scanning a nearby device.
@@ -29,28 +27,24 @@
* @hide
*/
@SystemApi
-@SuppressLint("ParcelNotFinal") // ScanFilter constructor is not public
-public abstract class ScanFilter implements Parcelable {
- public static final @NonNull Creator<ScanFilter> CREATOR = new Creator<ScanFilter>() {
- @Override
- public ScanFilter createFromParcel(Parcel in) {
- int type = in.readInt();
- switch (type) {
- // Currently, only Nearby Presence filtering is supported, in the future
- // filtering other nearby specifications will be added.
- case ScanRequest.SCAN_TYPE_NEARBY_PRESENCE:
- return PresenceScanFilter.createFromParcelBody(in);
- default:
- throw new IllegalStateException(
- "Unexpected scan type (value " + type + ") in parcel.");
- }
+public abstract class ScanFilter {
+ /**
+ * Creates a {@link ScanFilter} from the parcel.
+ *
+ * @hide
+ */
+ public static ScanFilter createFromParcel(Parcel in) {
+ int type = in.readInt();
+ switch (type) {
+ // Currently, only Nearby Presence filtering is supported, in the future
+ // filtering other nearby specifications will be added.
+ case ScanRequest.SCAN_TYPE_NEARBY_PRESENCE:
+ return PresenceScanFilter.createFromParcelBody(in);
+ default:
+ throw new IllegalStateException(
+ "Unexpected scan type (value " + type + ") in parcel.");
}
-
- @Override
- public ScanFilter[] newArray(int size) {
- return new ScanFilter[size];
- }
- };
+ }
private final @ScanRequest.ScanType int mType;
private final int mMaxPathLoss;
@@ -92,17 +86,14 @@
return mMaxPathLoss;
}
- @Override
+ /**
+ *
+ * Writes the scan filter to the parcel.
+ *
+ * @hide
+ */
public void writeToParcel(@NonNull Parcel dest, int flags) {
dest.writeInt(mType);
dest.writeInt(mMaxPathLoss);
}
-
- /**
- * No special parcel contents.
- */
- @Override
- public int describeContents() {
- return 0;
- }
}
diff --git a/nearby/framework/java/android/nearby/ScanRequest.java b/nearby/framework/java/android/nearby/ScanRequest.java
index 37285d5..a90b72d 100644
--- a/nearby/framework/java/android/nearby/ScanRequest.java
+++ b/nearby/framework/java/android/nearby/ScanRequest.java
@@ -72,13 +72,15 @@
public static final Creator<ScanRequest> CREATOR = new Creator<ScanRequest>() {
@Override
public ScanRequest createFromParcel(Parcel in) {
- return new ScanRequest(
- /* scanType= */ in.readInt(),
- /* scanMode= */ in.readInt(),
- /* enableBle= */ in.readBoolean(),
- /* workSource= */ in.readTypedObject(WorkSource.CREATOR),
- /* scanFilters= */
- in.readArrayList(ScanFilter.class.getClassLoader(), ScanFilter.class));
+ ScanRequest.Builder builder = new ScanRequest.Builder()
+ .setScanType(in.readInt())
+ .setScanMode(in.readInt())
+ .setBleEnabled(in.readBoolean())
+ .setWorkSource(in.readTypedObject(WorkSource.CREATOR));
+ for (int i = 0; i < in.readInt(); i++) {
+ builder.addScanFilter(ScanFilter.createFromParcel(in));
+ }
+ return builder.build();
}
@Override
@@ -213,7 +215,10 @@
dest.writeInt(mScanMode);
dest.writeBoolean(mBleEnabled);
dest.writeTypedObject(mWorkSource, /* parcelableFlags= */0);
- dest.writeTypedList(mScanFilters);
+ dest.writeInt(mScanFilters.size());
+ for (int i = 0; i < mScanFilters.size(); ++i) {
+ mScanFilters.get(i).writeToParcel(dest, flags);
+ }
}
@Override
diff --git a/nearby/service/java/com/android/server/nearby/NearbyService.java b/nearby/service/java/com/android/server/nearby/NearbyService.java
index 74b327a..ca9bca3 100644
--- a/nearby/service/java/com/android/server/nearby/NearbyService.java
+++ b/nearby/service/java/com/android/server/nearby/NearbyService.java
@@ -27,7 +27,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.hardware.location.ContextHubManager;
-import android.nearby.BroadcastRequest;
+import android.nearby.BroadcastRequestParcelable;
import android.nearby.IBroadcastListener;
import android.nearby.INearbyManager;
import android.nearby.IScanListener;
@@ -109,8 +109,11 @@
}
@Override
- public void startBroadcast(BroadcastRequest broadcastRequest, IBroadcastListener listener) {
- mBroadcastProviderManager.startBroadcast(broadcastRequest, listener);
+ public void startBroadcast(BroadcastRequestParcelable broadcastRequestParcelable,
+ IBroadcastListener listener) {
+ mBroadcastProviderManager.startBroadcast(
+ broadcastRequestParcelable.getBroadcastRequest(),
+ listener);
}
@Override
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/NearbyManagerTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/NearbyManagerTest.java
index dcc40a3..cd61cad 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/NearbyManagerTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/NearbyManagerTest.java
@@ -65,6 +65,7 @@
private static final byte[] SECRETE_ID = new byte[]{1, 2, 3, 4};
private static final byte[] META_DATA_ENCRYPTION_KEY = new byte[14];
private static final byte[] AUTHENTICITY_KEY = new byte[]{0, 1, 1, 1};
+ private static final String DEVICE_NAME = "test_device";
private static final int BLE_MEDIUM = 1;
private Context mContext;
@@ -114,9 +115,9 @@
@Test
@SdkSuppress(minSdkVersion = 32, codeName = "T")
public void testStartStopBroadcast() throws InterruptedException {
- PrivateCredential credential = new PrivateCredential.Builder(SECRETE_ID, AUTHENTICITY_KEY)
+ PrivateCredential credential = new PrivateCredential.Builder(SECRETE_ID, AUTHENTICITY_KEY,
+ META_DATA_ENCRYPTION_KEY, DEVICE_NAME)
.setIdentityType(IDENTITY_TYPE_PRIVATE)
- .setMetadataEncryptionKey(META_DATA_ENCRYPTION_KEY)
.build();
BroadcastRequest broadcastRequest =
new PresenceBroadcastRequest.Builder(
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceBroadcastRequestTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceBroadcastRequestTest.java
index 3c831a2..1daa410 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceBroadcastRequestTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceBroadcastRequestTest.java
@@ -56,14 +56,15 @@
private static final byte[] METADATA_ENCRYPTION_KEY = new byte[]{1, 1, 3, 4, 5};
private static final int KEY = 1234;
private static final byte[] VALUE = new byte[]{1, 1, 1, 1};
+ private static final String DEVICE_NAME = "test_device";
private PresenceBroadcastRequest.Builder mBuilder;
@Before
public void setUp() {
- PrivateCredential credential = new PrivateCredential.Builder(SECRETE_ID, AUTHENTICITY_KEY)
+ PrivateCredential credential = new PrivateCredential.Builder(SECRETE_ID, AUTHENTICITY_KEY,
+ METADATA_ENCRYPTION_KEY, DEVICE_NAME)
.setIdentityType(IDENTITY_TYPE_PRIVATE)
- .setMetadataEncryptionKey(METADATA_ENCRYPTION_KEY)
.build();
DataElement element = new DataElement(KEY, VALUE);
mBuilder = new PresenceBroadcastRequest.Builder(Collections.singletonList(BLE_MEDIUM), SALT,
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceScanFilterTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceScanFilterTest.java
index 6b7c43b..b7fe40a 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceScanFilterTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceScanFilterTest.java
@@ -53,10 +53,10 @@
private PublicCredential mPublicCredential =
- new PublicCredential.Builder(SECRETE_ID, AUTHENTICITY_KEY)
+ new PublicCredential.Builder(SECRETE_ID, AUTHENTICITY_KEY, PUBLIC_KEY,
+ ENCRYPTED_METADATA, METADATA_ENCRYPTION_KEY_TAG)
.setIdentityType(IDENTITY_TYPE_PRIVATE)
- .setPublicKey(PUBLIC_KEY).setEncryptedMetadata(ENCRYPTED_METADATA)
- .setEncryptedMetadataKeyTag(METADATA_ENCRYPTION_KEY_TAG).build();
+ .build();
private PresenceScanFilter.Builder mBuilder = new PresenceScanFilter.Builder()
.setMaxPathLoss(RSSI)
.addCredential(mPublicCredential)
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/PrivateCredentialTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/PrivateCredentialTest.java
index 1cd6d9c..10b3cf2 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/PrivateCredentialTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/PrivateCredentialTest.java
@@ -53,10 +53,9 @@
@Before
public void setUp() {
- mBuilder = new PrivateCredential.Builder(SECRETE_ID, AUTHENTICITY_KEY)
+ mBuilder = new PrivateCredential.Builder(
+ SECRETE_ID, AUTHENTICITY_KEY, METADATA_ENCRYPTION_KEY, DEVICE_NAME)
.setIdentityType(IDENTITY_TYPE_PRIVATE)
- .setDeviceName(DEVICE_NAME)
- .setMetadataEncryptionKey(METADATA_ENCRYPTION_KEY)
.addCredentialElement(new CredentialElement(KEY, VALUE));
}
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/PublicCredentialTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/PublicCredentialTest.java
index 7756669..b4a34cc 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/PublicCredentialTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/PublicCredentialTest.java
@@ -56,11 +56,10 @@
@Before
public void setUp() {
- mBuilder = new PublicCredential.Builder(SECRETE_ID, AUTHENTICITY_KEY)
+ mBuilder = new PublicCredential.Builder(SECRETE_ID, AUTHENTICITY_KEY, PUBLIC_KEY,
+ ENCRYPTED_METADATA, METADATA_ENCRYPTION_KEY_TAG)
.addCredentialElement(new CredentialElement(KEY, VALUE))
- .setIdentityType(IDENTITY_TYPE_PRIVATE)
- .setPublicKey(PUBLIC_KEY).setEncryptedMetadata(ENCRYPTED_METADATA)
- .setEncryptedMetadataKeyTag(METADATA_ENCRYPTION_KEY_TAG);
+ .setIdentityType(IDENTITY_TYPE_PRIVATE);
}
@Test
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/ScanRequestTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/ScanRequestTest.java
index 11de5ae..019f8ec 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/ScanRequestTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/ScanRequestTest.java
@@ -173,11 +173,10 @@
final byte[] encryptedMetadata = new byte[]{1, 2, 3, 4, 5};
final byte[] metadataEncryptionKeyTag = new byte[]{1, 1, 3, 4, 5};
- PublicCredential credential = new PublicCredential.Builder(secretId, authenticityKey)
+ PublicCredential credential = new PublicCredential.Builder(
+ secretId, authenticityKey, publicKey, encryptedMetadata, metadataEncryptionKeyTag)
.setIdentityType(IDENTITY_TYPE_PRIVATE)
- .setEncryptedMetadata(encryptedMetadata)
- .setPublicKey(publicKey)
- .setEncryptedMetadataKeyTag(metadataEncryptionKeyTag).build();
+ .build();
final int rssi = -40;
final int action = 123;
diff --git a/nearby/tests/unit/src/com/android/server/nearby/presence/FastAdvertisementTest.java b/nearby/tests/unit/src/com/android/server/nearby/presence/FastAdvertisementTest.java
index 73d7695..5e0ccbe 100644
--- a/nearby/tests/unit/src/com/android/server/nearby/presence/FastAdvertisementTest.java
+++ b/nearby/tests/unit/src/com/android/server/nearby/presence/FastAdvertisementTest.java
@@ -43,6 +43,7 @@
private static final byte[] AUTHENTICITY_KEY = new byte[]{12, 13, 14};
private static final byte[] EXPECTED_ADV_BYTES =
new byte[]{2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 123};
+ private static final String DEVICE_NAME = "test_device";
private PresenceBroadcastRequest.Builder mBuilder;
private PrivateCredential mCredential;
@@ -50,9 +51,8 @@
@Before
public void setUp() {
mCredential =
- new PrivateCredential.Builder(SECRET_ID, AUTHENTICITY_KEY)
+ new PrivateCredential.Builder(SECRET_ID, AUTHENTICITY_KEY, IDENTITY, DEVICE_NAME)
.setIdentityType(PresenceCredential.IDENTITY_TYPE_PRIVATE)
- .setMetadataEncryptionKey(IDENTITY)
.build();
mBuilder =
new PresenceBroadcastRequest.Builder(Collections.singletonList(MEDIUM_TYPE_BLE),
diff --git a/nearby/tests/unit/src/com/android/server/nearby/presence/PresenceDiscoveryResultTest.java b/nearby/tests/unit/src/com/android/server/nearby/presence/PresenceDiscoveryResultTest.java
index dd94778..39cab94 100644
--- a/nearby/tests/unit/src/com/android/server/nearby/presence/PresenceDiscoveryResultTest.java
+++ b/nearby/tests/unit/src/com/android/server/nearby/presence/PresenceDiscoveryResultTest.java
@@ -40,6 +40,9 @@
private static final byte[] SALT = new byte[]{12, 34};
private static final byte[] SECRET_ID = new byte[]{1, 2, 3, 4};
private static final byte[] AUTHENTICITY_KEY = new byte[]{12, 13, 14};
+ private static final byte[] PUBLIC_KEY = new byte[]{1, 1, 2, 2};
+ private static final byte[] ENCRYPTED_METADATA = new byte[]{1, 2, 3, 4, 5};
+ private static final byte[] METADATA_ENCRYPTION_KEY_TAG = new byte[]{1, 1, 3, 4, 5};
private PresenceDiscoveryResult.Builder mBuilder;
private PublicCredential mCredential;
@@ -47,7 +50,8 @@
@Before
public void setUp() {
mCredential =
- new PublicCredential.Builder(SECRET_ID, AUTHENTICITY_KEY)
+ new PublicCredential.Builder(SECRET_ID, AUTHENTICITY_KEY, PUBLIC_KEY,
+ ENCRYPTED_METADATA, METADATA_ENCRYPTION_KEY_TAG)
.setIdentityType(PresenceCredential.IDENTITY_TYPE_PRIVATE)
.build();
mBuilder = new PresenceDiscoveryResult.Builder()
diff --git a/nearby/tests/unit/src/com/android/server/nearby/provider/BroadcastProviderManagerTest.java b/nearby/tests/unit/src/com/android/server/nearby/provider/BroadcastProviderManagerTest.java
index 71ece63..d45d570 100644
--- a/nearby/tests/unit/src/com/android/server/nearby/provider/BroadcastProviderManagerTest.java
+++ b/nearby/tests/unit/src/com/android/server/nearby/provider/BroadcastProviderManagerTest.java
@@ -61,6 +61,7 @@
private static final int PRESENCE_ACTION = 123;
private static final byte[] SECRET_ID = new byte[]{1, 2, 3, 4};
private static final byte[] AUTHENTICITY_KEY = new byte[]{12, 13, 14};
+ private static final String DEVICE_NAME = "test_device";
@Rule
public final MockitoRule mocks = MockitoJUnit.rule();
@@ -86,9 +87,8 @@
mBleBroadcastProvider);
PrivateCredential privateCredential =
- new PrivateCredential.Builder(SECRET_ID, AUTHENTICITY_KEY)
+ new PrivateCredential.Builder(SECRET_ID, AUTHENTICITY_KEY, IDENTITY, DEVICE_NAME)
.setIdentityType(PresenceCredential.IDENTITY_TYPE_PRIVATE)
- .setMetadataEncryptionKey(IDENTITY)
.build();
mBroadcastRequest =
new PresenceBroadcastRequest.Builder(Collections.singletonList(MEDIUM_TYPE_BLE),