Revert "Revert "Remove Fast Pair system APIs.""
This reverts commit f6f8c64989.
Reason for revert: not pass PWG review
Change-Id: Ie6c7536c45d53cc4da31811a19fff6ee23852eef
Bug: 239750900
This commit is contained in:
parent
2789fd5f34
commit
4aad023afb
10 changed files with 0 additions and 1620 deletions
|
|
@ -51,208 +51,6 @@ package android.nearby {
|
|||
field @NonNull public static final android.os.Parcelable.Creator<android.nearby.DataElement> CREATOR;
|
||||
}
|
||||
|
||||
public class FastPairAccountKeyDeviceMetadata {
|
||||
method @Nullable public byte[] getDeviceAccountKey();
|
||||
method @Nullable public android.nearby.FastPairDeviceMetadata getFastPairDeviceMetadata();
|
||||
method @Nullable public android.nearby.FastPairDiscoveryItem getFastPairDiscoveryItem();
|
||||
method @Nullable public byte[] getSha256DeviceAccountKeyPublicAddress();
|
||||
}
|
||||
|
||||
public static final class FastPairAccountKeyDeviceMetadata.Builder {
|
||||
ctor public FastPairAccountKeyDeviceMetadata.Builder();
|
||||
method @NonNull public android.nearby.FastPairAccountKeyDeviceMetadata build();
|
||||
method @NonNull public android.nearby.FastPairAccountKeyDeviceMetadata.Builder setDeviceAccountKey(@Nullable byte[]);
|
||||
method @NonNull public android.nearby.FastPairAccountKeyDeviceMetadata.Builder setFastPairDeviceMetadata(@Nullable android.nearby.FastPairDeviceMetadata);
|
||||
method @NonNull public android.nearby.FastPairAccountKeyDeviceMetadata.Builder setFastPairDiscoveryItem(@Nullable android.nearby.FastPairDiscoveryItem);
|
||||
method @NonNull public android.nearby.FastPairAccountKeyDeviceMetadata.Builder setSha256DeviceAccountKeyPublicAddress(@Nullable byte[]);
|
||||
}
|
||||
|
||||
public class FastPairAntispoofKeyDeviceMetadata {
|
||||
method @Nullable public byte[] getAntispoofPublicKey();
|
||||
method @Nullable public android.nearby.FastPairDeviceMetadata getFastPairDeviceMetadata();
|
||||
}
|
||||
|
||||
public static final class FastPairAntispoofKeyDeviceMetadata.Builder {
|
||||
ctor public FastPairAntispoofKeyDeviceMetadata.Builder();
|
||||
method @NonNull public android.nearby.FastPairAntispoofKeyDeviceMetadata build();
|
||||
method @NonNull public android.nearby.FastPairAntispoofKeyDeviceMetadata.Builder setAntispoofPublicKey(@Nullable byte[]);
|
||||
method @NonNull public android.nearby.FastPairAntispoofKeyDeviceMetadata.Builder setFastPairDeviceMetadata(@Nullable android.nearby.FastPairDeviceMetadata);
|
||||
}
|
||||
|
||||
public abstract class FastPairDataProviderService extends android.app.Service {
|
||||
ctor public FastPairDataProviderService(@NonNull String);
|
||||
method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
|
||||
method public abstract void onLoadFastPairAccountDevicesMetadata(@NonNull android.nearby.FastPairDataProviderService.FastPairAccountDevicesMetadataRequest, @NonNull android.nearby.FastPairDataProviderService.FastPairAccountDevicesMetadataCallback);
|
||||
method public abstract void onLoadFastPairAntispoofKeyDeviceMetadata(@NonNull android.nearby.FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataRequest, @NonNull android.nearby.FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataCallback);
|
||||
method public abstract void onLoadFastPairEligibleAccounts(@NonNull android.nearby.FastPairDataProviderService.FastPairEligibleAccountsRequest, @NonNull android.nearby.FastPairDataProviderService.FastPairEligibleAccountsCallback);
|
||||
method public abstract void onManageFastPairAccount(@NonNull android.nearby.FastPairDataProviderService.FastPairManageAccountRequest, @NonNull android.nearby.FastPairDataProviderService.FastPairManageActionCallback);
|
||||
method public abstract void onManageFastPairAccountDevice(@NonNull android.nearby.FastPairDataProviderService.FastPairManageAccountDeviceRequest, @NonNull android.nearby.FastPairDataProviderService.FastPairManageActionCallback);
|
||||
field public static final String ACTION_FAST_PAIR_DATA_PROVIDER = "android.nearby.action.FAST_PAIR_DATA_PROVIDER";
|
||||
field public static final int ERROR_CODE_BAD_REQUEST = 0; // 0x0
|
||||
field public static final int ERROR_CODE_INTERNAL_ERROR = 1; // 0x1
|
||||
field public static final int MANAGE_REQUEST_ADD = 0; // 0x0
|
||||
field public static final int MANAGE_REQUEST_REMOVE = 1; // 0x1
|
||||
}
|
||||
|
||||
public static interface FastPairDataProviderService.FastPairAccountDevicesMetadataCallback {
|
||||
method public void onError(int, @Nullable String);
|
||||
method public void onFastPairAccountDevicesMetadataReceived(@NonNull java.util.Collection<android.nearby.FastPairAccountKeyDeviceMetadata>);
|
||||
}
|
||||
|
||||
public static class FastPairDataProviderService.FastPairAccountDevicesMetadataRequest {
|
||||
method @NonNull public android.accounts.Account getAccount();
|
||||
method @NonNull public java.util.Collection<byte[]> getDeviceAccountKeys();
|
||||
}
|
||||
|
||||
public static interface FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataCallback {
|
||||
method public void onError(int, @Nullable String);
|
||||
method public void onFastPairAntispoofKeyDeviceMetadataReceived(@NonNull android.nearby.FastPairAntispoofKeyDeviceMetadata);
|
||||
}
|
||||
|
||||
public static class FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataRequest {
|
||||
method @NonNull public byte[] getModelId();
|
||||
}
|
||||
|
||||
public static interface FastPairDataProviderService.FastPairEligibleAccountsCallback {
|
||||
method public void onError(int, @Nullable String);
|
||||
method public void onFastPairEligibleAccountsReceived(@NonNull java.util.Collection<android.nearby.FastPairEligibleAccount>);
|
||||
}
|
||||
|
||||
public static class FastPairDataProviderService.FastPairEligibleAccountsRequest {
|
||||
}
|
||||
|
||||
public static class FastPairDataProviderService.FastPairManageAccountDeviceRequest {
|
||||
method @NonNull public android.accounts.Account getAccount();
|
||||
method @NonNull public android.nearby.FastPairAccountKeyDeviceMetadata getAccountKeyDeviceMetadata();
|
||||
method public int getRequestType();
|
||||
}
|
||||
|
||||
public static class FastPairDataProviderService.FastPairManageAccountRequest {
|
||||
method @NonNull public android.accounts.Account getAccount();
|
||||
method public int getRequestType();
|
||||
}
|
||||
|
||||
public static interface FastPairDataProviderService.FastPairManageActionCallback {
|
||||
method public void onError(int, @Nullable String);
|
||||
method public void onSuccess();
|
||||
}
|
||||
|
||||
public class FastPairDeviceMetadata {
|
||||
method public int getBleTxPower();
|
||||
method @Nullable public String getConnectSuccessCompanionAppInstalled();
|
||||
method @Nullable public String getConnectSuccessCompanionAppNotInstalled();
|
||||
method public int getDeviceType();
|
||||
method @Nullable public String getDownloadCompanionAppDescription();
|
||||
method @Nullable public String getFailConnectGoToSettingsDescription();
|
||||
method @Nullable public byte[] getImage();
|
||||
method @Nullable public String getImageUrl();
|
||||
method @Nullable public String getInitialNotificationDescription();
|
||||
method @Nullable public String getInitialNotificationDescriptionNoAccount();
|
||||
method @Nullable public String getInitialPairingDescription();
|
||||
method @Nullable public String getIntentUri();
|
||||
method @Nullable public String getName();
|
||||
method @Nullable public String getOpenCompanionAppDescription();
|
||||
method @Nullable public String getRetroactivePairingDescription();
|
||||
method @Nullable public String getSubsequentPairingDescription();
|
||||
method public float getTriggerDistance();
|
||||
method @Nullable public String getTrueWirelessImageUrlCase();
|
||||
method @Nullable public String getTrueWirelessImageUrlLeftBud();
|
||||
method @Nullable public String getTrueWirelessImageUrlRightBud();
|
||||
method @Nullable public String getUnableToConnectDescription();
|
||||
method @Nullable public String getUnableToConnectTitle();
|
||||
method @Nullable public String getUpdateCompanionAppDescription();
|
||||
method @Nullable public String getWaitLaunchCompanionAppDescription();
|
||||
}
|
||||
|
||||
public static final class FastPairDeviceMetadata.Builder {
|
||||
ctor public FastPairDeviceMetadata.Builder();
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata build();
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setBleTxPower(int);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setConnectSuccessCompanionAppInstalled(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setConnectSuccessCompanionAppNotInstalled(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setDeviceType(int);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setDownloadCompanionAppDescription(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setFailConnectGoToSettingsDescription(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setImage(@Nullable byte[]);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setImageUrl(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setInitialNotificationDescription(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setInitialNotificationDescriptionNoAccount(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setInitialPairingDescription(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setIntentUri(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setName(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setOpenCompanionAppDescription(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setRetroactivePairingDescription(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setSubsequentPairingDescription(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setTriggerDistance(float);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setTrueWirelessImageUrlCase(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setTrueWirelessImageUrlLeftBud(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setTrueWirelessImageUrlRightBud(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setUnableToConnectDescription(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setUnableToConnectTitle(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setUpdateCompanionAppDescription(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setWaitLaunchCompanionAppDescription(@Nullable String);
|
||||
}
|
||||
|
||||
public class FastPairDiscoveryItem {
|
||||
method @Nullable public String getActionUrl();
|
||||
method public int getActionUrlType();
|
||||
method @Nullable public String getAppName();
|
||||
method @Nullable public byte[] getAuthenticationPublicKeySecp256r1();
|
||||
method @Nullable public String getDescription();
|
||||
method @Nullable public String getDeviceName();
|
||||
method @Nullable public String getDisplayUrl();
|
||||
method public long getFirstObservationTimestampMillis();
|
||||
method @Nullable public String getIconFfeUrl();
|
||||
method @Nullable public byte[] getIconPng();
|
||||
method @Nullable public String getId();
|
||||
method public long getLastObservationTimestampMillis();
|
||||
method @Nullable public String getMacAddress();
|
||||
method @Nullable public String getPackageName();
|
||||
method public long getPendingAppInstallTimestampMillis();
|
||||
method public int getRssi();
|
||||
method public int getState();
|
||||
method @Nullable public String getTitle();
|
||||
method @Nullable public String getTriggerId();
|
||||
method public int getTxPower();
|
||||
}
|
||||
|
||||
public static final class FastPairDiscoveryItem.Builder {
|
||||
ctor public FastPairDiscoveryItem.Builder();
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem build();
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setActionUrl(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setActionUrlType(int);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setAppName(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setAuthenticationPublicKeySecp256r1(@Nullable byte[]);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setDescription(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setDeviceName(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setDisplayUrl(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setFirstObservationTimestampMillis(long);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setIconFfeUrl(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setIconPng(@Nullable byte[]);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setId(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setLastObservationTimestampMillis(long);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setMacAddress(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setPackageName(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setPendingAppInstallTimestampMillis(long);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setRssi(int);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setState(int);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setTitle(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setTriggerId(@Nullable String);
|
||||
method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setTxPower(int);
|
||||
}
|
||||
|
||||
public class FastPairEligibleAccount {
|
||||
method @Nullable public android.accounts.Account getAccount();
|
||||
method public boolean isOptIn();
|
||||
}
|
||||
|
||||
public static final class FastPairEligibleAccount.Builder {
|
||||
ctor public FastPairEligibleAccount.Builder();
|
||||
method @NonNull public android.nearby.FastPairEligibleAccount build();
|
||||
method @NonNull public android.nearby.FastPairEligibleAccount.Builder setAccount(@Nullable android.accounts.Account);
|
||||
method @NonNull public android.nearby.FastPairEligibleAccount.Builder setOptIn(boolean);
|
||||
}
|
||||
|
||||
public abstract class NearbyDevice {
|
||||
method @NonNull public java.util.List<java.lang.Integer> getMediums();
|
||||
method @Nullable public String getName();
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ package android.nearby;
|
|||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.nearby.aidl.FastPairAccountKeyDeviceMetadataParcel;
|
||||
|
||||
/**
|
||||
|
|
@ -26,7 +25,6 @@ import android.nearby.aidl.FastPairAccountKeyDeviceMetadataParcel;
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public class FastPairAccountKeyDeviceMetadata {
|
||||
|
||||
FastPairAccountKeyDeviceMetadataParcel mMetadataParcel;
|
||||
|
|
@ -42,7 +40,6 @@ public class FastPairAccountKeyDeviceMetadata {
|
|||
* @return 16-byte Account Key.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public byte[] getDeviceAccountKey() {
|
||||
return mMetadataParcel.deviceAccountKey;
|
||||
|
|
@ -55,7 +52,6 @@ public class FastPairAccountKeyDeviceMetadata {
|
|||
* @return 32-byte Sha256 hash value.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public byte[] getSha256DeviceAccountKeyPublicAddress() {
|
||||
return mMetadataParcel.sha256DeviceAccountKeyPublicAddress;
|
||||
|
|
@ -66,7 +62,6 @@ public class FastPairAccountKeyDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public FastPairDeviceMetadata getFastPairDeviceMetadata() {
|
||||
if (mMetadataParcel.metadata == null) {
|
||||
|
|
@ -80,7 +75,6 @@ public class FastPairAccountKeyDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public FastPairDiscoveryItem getFastPairDiscoveryItem() {
|
||||
if (mMetadataParcel.discoveryItem == null) {
|
||||
|
|
@ -94,7 +88,6 @@ public class FastPairAccountKeyDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final class Builder {
|
||||
|
||||
private final FastPairAccountKeyDeviceMetadataParcel mBuilderParcel;
|
||||
|
|
@ -104,7 +97,6 @@ public class FastPairAccountKeyDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public Builder() {
|
||||
mBuilderParcel = new FastPairAccountKeyDeviceMetadataParcel();
|
||||
mBuilderParcel.deviceAccountKey = null;
|
||||
|
|
@ -121,7 +113,6 @@ public class FastPairAccountKeyDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setDeviceAccountKey(@Nullable byte[] deviceAccountKey) {
|
||||
mBuilderParcel.deviceAccountKey = deviceAccountKey;
|
||||
|
|
@ -136,7 +127,6 @@ public class FastPairAccountKeyDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setSha256DeviceAccountKeyPublicAddress(
|
||||
@Nullable byte[] sha256DeviceAccountKeyPublicAddress) {
|
||||
|
|
@ -153,7 +143,6 @@ public class FastPairAccountKeyDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setFastPairDeviceMetadata(@Nullable FastPairDeviceMetadata metadata) {
|
||||
if (metadata == null) {
|
||||
|
|
@ -171,7 +160,6 @@ public class FastPairAccountKeyDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setFastPairDiscoveryItem(@Nullable FastPairDiscoveryItem discoveryItem) {
|
||||
if (discoveryItem == null) {
|
||||
|
|
@ -187,7 +175,6 @@ public class FastPairAccountKeyDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public FastPairAccountKeyDeviceMetadata build() {
|
||||
return new FastPairAccountKeyDeviceMetadata(mBuilderParcel);
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ package android.nearby;
|
|||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.nearby.aidl.FastPairAntispoofKeyDeviceMetadataParcel;
|
||||
|
||||
/**
|
||||
|
|
@ -25,7 +24,6 @@ import android.nearby.aidl.FastPairAntispoofKeyDeviceMetadataParcel;
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public class FastPairAntispoofKeyDeviceMetadata {
|
||||
|
||||
FastPairAntispoofKeyDeviceMetadataParcel mMetadataParcel;
|
||||
|
|
@ -39,7 +37,6 @@ public class FastPairAntispoofKeyDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public byte[] getAntispoofPublicKey() {
|
||||
return this.mMetadataParcel.antispoofPublicKey;
|
||||
|
|
@ -50,7 +47,6 @@ public class FastPairAntispoofKeyDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public FastPairDeviceMetadata getFastPairDeviceMetadata() {
|
||||
if (this.mMetadataParcel.deviceMetadata == null) {
|
||||
|
|
@ -64,7 +60,6 @@ public class FastPairAntispoofKeyDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final class Builder {
|
||||
|
||||
private final FastPairAntispoofKeyDeviceMetadataParcel mBuilderParcel;
|
||||
|
|
@ -74,7 +69,6 @@ public class FastPairAntispoofKeyDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public Builder() {
|
||||
mBuilderParcel = new FastPairAntispoofKeyDeviceMetadataParcel();
|
||||
mBuilderParcel.antispoofPublicKey = null;
|
||||
|
|
@ -88,7 +82,6 @@ public class FastPairAntispoofKeyDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setAntispoofPublicKey(@Nullable byte[] antispoofPublicKey) {
|
||||
mBuilderParcel.antispoofPublicKey = antispoofPublicKey;
|
||||
|
|
@ -103,7 +96,6 @@ public class FastPairAntispoofKeyDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setFastPairDeviceMetadata(@Nullable FastPairDeviceMetadata metadata) {
|
||||
if (metadata != null) {
|
||||
|
|
@ -119,7 +111,6 @@ public class FastPairAntispoofKeyDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public FastPairAntispoofKeyDeviceMetadata build() {
|
||||
return new FastPairAntispoofKeyDeviceMetadata(mBuilderParcel);
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ import android.accounts.Account;
|
|||
import android.annotation.IntDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.app.Service;
|
||||
import android.content.Intent;
|
||||
import android.nearby.aidl.ByteArrayParcel;
|
||||
|
|
@ -59,7 +58,6 @@ import java.util.List;
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public abstract class FastPairDataProviderService extends Service {
|
||||
/**
|
||||
* The action the wrapping service should have in its intent filter to implement the
|
||||
|
|
@ -67,7 +65,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final String ACTION_FAST_PAIR_DATA_PROVIDER =
|
||||
"android.nearby.action.FAST_PAIR_DATA_PROVIDER";
|
||||
|
||||
|
|
@ -76,7 +73,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int MANAGE_REQUEST_ADD = 0;
|
||||
|
||||
/**
|
||||
|
|
@ -84,7 +80,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int MANAGE_REQUEST_REMOVE = 1;
|
||||
|
||||
/**
|
||||
|
|
@ -101,7 +96,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int ERROR_CODE_BAD_REQUEST = 0;
|
||||
|
||||
/**
|
||||
|
|
@ -109,7 +103,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int ERROR_CODE_INTERNAL_ERROR = 1;
|
||||
|
||||
/**
|
||||
|
|
@ -130,7 +123,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
* @param tag TAG for on device logging.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public FastPairDataProviderService(@NonNull String tag) {
|
||||
mBinder = new Service();
|
||||
mTag = tag;
|
||||
|
|
@ -147,7 +139,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public interface FastPairAntispoofKeyDeviceMetadataCallback {
|
||||
|
||||
/**
|
||||
|
|
@ -155,7 +146,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
void onFastPairAntispoofKeyDeviceMetadataReceived(
|
||||
@NonNull FastPairAntispoofKeyDeviceMetadata metadata);
|
||||
|
||||
|
|
@ -163,7 +153,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
void onError(@ErrorCode int code, @Nullable String message);
|
||||
}
|
||||
|
||||
|
|
@ -172,7 +161,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public interface FastPairAccountDevicesMetadataCallback {
|
||||
|
||||
/**
|
||||
|
|
@ -180,7 +168,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
void onFastPairAccountDevicesMetadataReceived(
|
||||
@NonNull Collection<FastPairAccountKeyDeviceMetadata> metadatas);
|
||||
/**
|
||||
|
|
@ -188,7 +175,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
void onError(@ErrorCode int code, @Nullable String message);
|
||||
}
|
||||
|
||||
|
|
@ -197,7 +183,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public interface FastPairEligibleAccountsCallback {
|
||||
|
||||
/**
|
||||
|
|
@ -205,7 +190,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
void onFastPairEligibleAccountsReceived(
|
||||
@NonNull Collection<FastPairEligibleAccount> accounts);
|
||||
/**
|
||||
|
|
@ -213,7 +197,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
void onError(@ErrorCode int code, @Nullable String message);
|
||||
}
|
||||
|
||||
|
|
@ -222,7 +205,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public interface FastPairManageActionCallback {
|
||||
|
||||
/**
|
||||
|
|
@ -230,14 +212,12 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
void onSuccess();
|
||||
/**
|
||||
* Invoked in case of error.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
void onError(@ErrorCode int code, @Nullable String message);
|
||||
}
|
||||
|
||||
|
|
@ -247,7 +227,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public abstract void onLoadFastPairAntispoofKeyDeviceMetadata(
|
||||
@NonNull FastPairAntispoofKeyDeviceMetadataRequest request,
|
||||
@NonNull FastPairAntispoofKeyDeviceMetadataCallback callback);
|
||||
|
|
@ -258,7 +237,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public abstract void onLoadFastPairAccountDevicesMetadata(
|
||||
@NonNull FastPairAccountDevicesMetadataRequest request,
|
||||
@NonNull FastPairAccountDevicesMetadataCallback callback);
|
||||
|
|
@ -269,7 +247,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public abstract void onLoadFastPairEligibleAccounts(
|
||||
@NonNull FastPairEligibleAccountsRequest request,
|
||||
@NonNull FastPairEligibleAccountsCallback callback);
|
||||
|
|
@ -279,7 +256,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public abstract void onManageFastPairAccount(
|
||||
@NonNull FastPairManageAccountRequest request,
|
||||
@NonNull FastPairManageActionCallback callback);
|
||||
|
|
@ -289,7 +265,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public abstract void onManageFastPairAccountDevice(
|
||||
@NonNull FastPairManageAccountDeviceRequest request,
|
||||
@NonNull FastPairManageActionCallback callback);
|
||||
|
|
@ -301,7 +276,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static class FastPairAntispoofKeyDeviceMetadataRequest {
|
||||
|
||||
private final FastPairAntispoofKeyDeviceMetadataRequestParcel mMetadataRequestParcel;
|
||||
|
|
@ -321,7 +295,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
* time.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public @NonNull byte[] getModelId() {
|
||||
return this.mMetadataRequestParcel.modelId;
|
||||
}
|
||||
|
|
@ -342,7 +315,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
* needs to set account with a non-empty allow list.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static class FastPairAccountDevicesMetadataRequest {
|
||||
|
||||
private final FastPairAccountDevicesMetadataRequestParcel mMetadataRequestParcel;
|
||||
|
|
@ -358,7 +330,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
* @return a FastPair account.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public @NonNull Account getAccount() {
|
||||
return this.mMetadataRequestParcel.account;
|
||||
}
|
||||
|
|
@ -373,7 +344,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
* @return allowlist of Fast Pair devices using a collection of deviceAccountKeys.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public @NonNull Collection<byte[]> getDeviceAccountKeys() {
|
||||
if (this.mMetadataRequestParcel.deviceAccountKeys == null) {
|
||||
return new ArrayList<byte[]>(0);
|
||||
|
|
@ -393,7 +363,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static class FastPairEligibleAccountsRequest {
|
||||
@SuppressWarnings("UnusedVariable")
|
||||
private final FastPairEligibleAccountsRequestParcel mAccountsRequestParcel;
|
||||
|
|
@ -412,7 +381,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static class FastPairManageAccountRequest {
|
||||
|
||||
private final FastPairManageAccountRequestParcel mAccountRequestParcel;
|
||||
|
|
@ -427,7 +395,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public @ManageRequestType int getRequestType() {
|
||||
return this.mAccountRequestParcel.requestType;
|
||||
}
|
||||
|
|
@ -436,7 +403,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public @NonNull Account getAccount() {
|
||||
return this.mAccountRequestParcel.account;
|
||||
}
|
||||
|
|
@ -450,7 +416,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static class FastPairManageAccountDeviceRequest {
|
||||
|
||||
private final FastPairManageAccountDeviceRequestParcel mRequestParcel;
|
||||
|
|
@ -465,7 +430,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public @ManageRequestType int getRequestType() {
|
||||
return this.mRequestParcel.requestType;
|
||||
}
|
||||
|
|
@ -474,7 +438,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public @NonNull Account getAccount() {
|
||||
return this.mRequestParcel.account;
|
||||
}
|
||||
|
|
@ -483,7 +446,6 @@ public abstract class FastPairDataProviderService extends Service {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public @NonNull FastPairAccountKeyDeviceMetadata getAccountKeyDeviceMetadata() {
|
||||
return new FastPairAccountKeyDeviceMetadata(
|
||||
this.mRequestParcel.accountKeyDeviceMetadata);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ package android.nearby;
|
|||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.nearby.aidl.FastPairDeviceMetadataParcel;
|
||||
|
||||
/**
|
||||
|
|
@ -26,7 +25,6 @@ import android.nearby.aidl.FastPairDeviceMetadataParcel;
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public class FastPairDeviceMetadata {
|
||||
|
||||
FastPairDeviceMetadataParcel mMetadataParcel;
|
||||
|
|
@ -41,7 +39,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getImageUrl() {
|
||||
return mMetadataParcel.imageUrl;
|
||||
|
|
@ -52,7 +49,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getIntentUri() {
|
||||
return mMetadataParcel.intentUri;
|
||||
|
|
@ -64,7 +60,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public int getBleTxPower() {
|
||||
return mMetadataParcel.bleTxPower;
|
||||
}
|
||||
|
|
@ -74,7 +69,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public float getTriggerDistance() {
|
||||
return mMetadataParcel.triggerDistance;
|
||||
}
|
||||
|
|
@ -86,7 +80,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return Fast Pair device image in 32-bit PNG with dimensions of 512px by 512px.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public byte[] getImage() {
|
||||
return mMetadataParcel.image;
|
||||
|
|
@ -99,7 +92,6 @@ public class FastPairDeviceMetadata {
|
|||
* TRUE_WIRELESS_HEADPHONES = 7;
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public int getDeviceType() {
|
||||
return mMetadataParcel.deviceType;
|
||||
}
|
||||
|
|
@ -109,7 +101,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getName() {
|
||||
return mMetadataParcel.name;
|
||||
|
|
@ -120,7 +111,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getTrueWirelessImageUrlLeftBud() {
|
||||
return mMetadataParcel.trueWirelessImageUrlLeftBud;
|
||||
|
|
@ -131,7 +121,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getTrueWirelessImageUrlRightBud() {
|
||||
return mMetadataParcel.trueWirelessImageUrlRightBud;
|
||||
|
|
@ -142,7 +131,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getTrueWirelessImageUrlCase() {
|
||||
return mMetadataParcel.trueWirelessImageUrlCase;
|
||||
|
|
@ -154,7 +142,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getInitialNotificationDescription() {
|
||||
return mMetadataParcel.initialNotificationDescription;
|
||||
|
|
@ -166,7 +153,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getInitialNotificationDescriptionNoAccount() {
|
||||
return mMetadataParcel.initialNotificationDescriptionNoAccount;
|
||||
|
|
@ -178,7 +164,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getOpenCompanionAppDescription() {
|
||||
return mMetadataParcel.openCompanionAppDescription;
|
||||
|
|
@ -190,7 +175,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getUpdateCompanionAppDescription() {
|
||||
return mMetadataParcel.updateCompanionAppDescription;
|
||||
|
|
@ -202,7 +186,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getDownloadCompanionAppDescription() {
|
||||
return mMetadataParcel.downloadCompanionAppDescription;
|
||||
|
|
@ -223,7 +206,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getUnableToConnectDescription() {
|
||||
return mMetadataParcel.unableToConnectDescription;
|
||||
|
|
@ -235,7 +217,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getInitialPairingDescription() {
|
||||
return mMetadataParcel.initialPairingDescription;
|
||||
|
|
@ -247,7 +228,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getConnectSuccessCompanionAppInstalled() {
|
||||
return mMetadataParcel.connectSuccessCompanionAppInstalled;
|
||||
|
|
@ -259,7 +239,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getConnectSuccessCompanionAppNotInstalled() {
|
||||
return mMetadataParcel.connectSuccessCompanionAppNotInstalled;
|
||||
|
|
@ -271,7 +250,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getSubsequentPairingDescription() {
|
||||
return mMetadataParcel.subsequentPairingDescription;
|
||||
|
|
@ -283,7 +261,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getRetroactivePairingDescription() {
|
||||
return mMetadataParcel.retroactivePairingDescription;
|
||||
|
|
@ -295,7 +272,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getWaitLaunchCompanionAppDescription() {
|
||||
return mMetadataParcel.waitLaunchCompanionAppDescription;
|
||||
|
|
@ -307,7 +283,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getFailConnectGoToSettingsDescription() {
|
||||
return mMetadataParcel.failConnectGoToSettingsDescription;
|
||||
|
|
@ -318,7 +293,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final class Builder {
|
||||
|
||||
private final FastPairDeviceMetadataParcel mBuilderParcel;
|
||||
|
|
@ -328,7 +302,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public Builder() {
|
||||
mBuilderParcel = new FastPairDeviceMetadataParcel();
|
||||
mBuilderParcel.imageUrl = null;
|
||||
|
|
@ -364,7 +337,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setImageUrl(@Nullable String imageUrl) {
|
||||
mBuilderParcel.imageUrl = imageUrl;
|
||||
|
|
@ -378,7 +350,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setIntentUri(@Nullable String intentUri) {
|
||||
mBuilderParcel.intentUri = intentUri;
|
||||
|
|
@ -392,7 +363,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setName(@Nullable String name) {
|
||||
mBuilderParcel.name = name;
|
||||
|
|
@ -406,7 +376,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setBleTxPower(int bleTxPower) {
|
||||
mBuilderParcel.bleTxPower = bleTxPower;
|
||||
|
|
@ -420,7 +389,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setTriggerDistance(float triggerDistance) {
|
||||
mBuilderParcel.triggerDistance = triggerDistance;
|
||||
|
|
@ -436,7 +404,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setImage(@Nullable byte[] image) {
|
||||
mBuilderParcel.image = image;
|
||||
|
|
@ -450,7 +417,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setDeviceType(int deviceType) {
|
||||
mBuilderParcel.deviceType = deviceType;
|
||||
|
|
@ -464,7 +430,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setTrueWirelessImageUrlLeftBud(
|
||||
@Nullable String trueWirelessImageUrlLeftBud) {
|
||||
|
|
@ -479,7 +444,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setTrueWirelessImageUrlRightBud(
|
||||
@Nullable String trueWirelessImageUrlRightBud) {
|
||||
|
|
@ -494,7 +458,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setTrueWirelessImageUrlCase(@Nullable String trueWirelessImageUrlCase) {
|
||||
mBuilderParcel.trueWirelessImageUrlCase = trueWirelessImageUrlCase;
|
||||
|
|
@ -508,7 +471,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setInitialNotificationDescription(
|
||||
@Nullable String initialNotificationDescription) {
|
||||
|
|
@ -524,7 +486,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setInitialNotificationDescriptionNoAccount(
|
||||
@Nullable String initialNotificationDescriptionNoAccount) {
|
||||
|
|
@ -540,7 +501,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setOpenCompanionAppDescription(
|
||||
@Nullable String openCompanionAppDescription) {
|
||||
|
|
@ -555,7 +515,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setUpdateCompanionAppDescription(
|
||||
@Nullable String updateCompanionAppDescription) {
|
||||
|
|
@ -570,7 +529,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setDownloadCompanionAppDescription(
|
||||
@Nullable String downloadCompanionAppDescription) {
|
||||
|
|
@ -585,7 +543,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setUnableToConnectTitle(@Nullable String unableToConnectTitle) {
|
||||
mBuilderParcel.unableToConnectTitle = unableToConnectTitle;
|
||||
|
|
@ -600,7 +557,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setUnableToConnectDescription(
|
||||
@Nullable String unableToConnectDescription) {
|
||||
|
|
@ -615,7 +571,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setInitialPairingDescription(@Nullable String initialPairingDescription) {
|
||||
mBuilderParcel.initialPairingDescription = initialPairingDescription;
|
||||
|
|
@ -630,7 +585,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setConnectSuccessCompanionAppInstalled(
|
||||
@Nullable String connectSuccessCompanionAppInstalled) {
|
||||
|
|
@ -647,7 +601,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setConnectSuccessCompanionAppNotInstalled(
|
||||
@Nullable String connectSuccessCompanionAppNotInstalled) {
|
||||
|
|
@ -664,7 +617,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setSubsequentPairingDescription(
|
||||
@Nullable String subsequentPairingDescription) {
|
||||
|
|
@ -679,7 +631,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setRetroactivePairingDescription(
|
||||
@Nullable String retroactivePairingDescription) {
|
||||
|
|
@ -695,7 +646,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setWaitLaunchCompanionAppDescription(
|
||||
@Nullable String waitLaunchCompanionAppDescription) {
|
||||
|
|
@ -712,7 +662,6 @@ public class FastPairDeviceMetadata {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setFailConnectGoToSettingsDescription(
|
||||
@Nullable String failConnectGoToSettingsDescription) {
|
||||
|
|
@ -726,7 +675,6 @@ public class FastPairDeviceMetadata {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public FastPairDeviceMetadata build() {
|
||||
return new FastPairDeviceMetadata(mBuilderParcel);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ package android.nearby;
|
|||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.nearby.aidl.FastPairDiscoveryItemParcel;
|
||||
|
||||
/**
|
||||
|
|
@ -26,7 +25,6 @@ import android.nearby.aidl.FastPairDiscoveryItemParcel;
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public class FastPairDiscoveryItem {
|
||||
|
||||
FastPairDiscoveryItemParcel mMetadataParcel;
|
||||
|
|
@ -41,7 +39,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getId() {
|
||||
return mMetadataParcel.id;
|
||||
|
|
@ -52,7 +49,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getMacAddress() {
|
||||
return mMetadataParcel.macAddress;
|
||||
|
|
@ -63,7 +59,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getActionUrl() {
|
||||
return mMetadataParcel.actionUrl;
|
||||
|
|
@ -74,7 +69,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getDeviceName() {
|
||||
return mMetadataParcel.deviceName;
|
||||
|
|
@ -85,7 +79,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getTitle() {
|
||||
return mMetadataParcel.title;
|
||||
|
|
@ -96,7 +89,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getDescription() {
|
||||
return mMetadataParcel.description;
|
||||
|
|
@ -107,7 +99,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getDisplayUrl() {
|
||||
return mMetadataParcel.displayUrl;
|
||||
|
|
@ -118,7 +109,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public long getLastObservationTimestampMillis() {
|
||||
return mMetadataParcel.lastObservationTimestampMillis;
|
||||
}
|
||||
|
|
@ -128,7 +118,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public long getFirstObservationTimestampMillis() {
|
||||
return mMetadataParcel.firstObservationTimestampMillis;
|
||||
}
|
||||
|
|
@ -138,7 +127,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public int getState() {
|
||||
return mMetadataParcel.state;
|
||||
}
|
||||
|
|
@ -148,7 +136,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public int getActionUrlType() {
|
||||
return mMetadataParcel.actionUrlType;
|
||||
}
|
||||
|
|
@ -158,7 +145,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public int getRssi() {
|
||||
return mMetadataParcel.rssi;
|
||||
}
|
||||
|
|
@ -168,7 +154,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public long getPendingAppInstallTimestampMillis() {
|
||||
return mMetadataParcel.pendingAppInstallTimestampMillis;
|
||||
}
|
||||
|
|
@ -178,7 +163,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public int getTxPower() {
|
||||
return mMetadataParcel.txPower;
|
||||
}
|
||||
|
|
@ -188,7 +172,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getAppName() {
|
||||
return mMetadataParcel.appName;
|
||||
|
|
@ -199,7 +182,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getPackageName() {
|
||||
return mMetadataParcel.packageName;
|
||||
|
|
@ -210,7 +192,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getTriggerId() {
|
||||
return mMetadataParcel.triggerId;
|
||||
|
|
@ -223,7 +204,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return IconPng in 32-bit PNG with dimensions of 512px by 512px.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public byte[] getIconPng() {
|
||||
return mMetadataParcel.iconPng;
|
||||
|
|
@ -234,7 +214,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public String getIconFfeUrl() {
|
||||
return mMetadataParcel.iconFifeUrl;
|
||||
|
|
@ -247,7 +226,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return 64-byte authenticationPublicKeySecp256r1.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public byte[] getAuthenticationPublicKeySecp256r1() {
|
||||
return mMetadataParcel.authenticationPublicKeySecp256r1;
|
||||
|
|
@ -258,7 +236,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final class Builder {
|
||||
|
||||
private final FastPairDiscoveryItemParcel mBuilderParcel;
|
||||
|
|
@ -268,7 +245,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public Builder() {
|
||||
mBuilderParcel = new FastPairDiscoveryItemParcel();
|
||||
}
|
||||
|
|
@ -281,7 +257,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setId(@Nullable String id) {
|
||||
mBuilderParcel.id = id;
|
||||
|
|
@ -295,7 +270,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setMacAddress(@Nullable String macAddress) {
|
||||
mBuilderParcel.macAddress = macAddress;
|
||||
|
|
@ -309,7 +283,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setActionUrl(@Nullable String actionUrl) {
|
||||
mBuilderParcel.actionUrl = actionUrl;
|
||||
|
|
@ -322,7 +295,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setDeviceName(@Nullable String deviceName) {
|
||||
mBuilderParcel.deviceName = deviceName;
|
||||
|
|
@ -336,7 +308,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setTitle(@Nullable String title) {
|
||||
mBuilderParcel.title = title;
|
||||
|
|
@ -350,7 +321,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setDescription(@Nullable String description) {
|
||||
mBuilderParcel.description = description;
|
||||
|
|
@ -364,7 +334,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setDisplayUrl(@Nullable String displayUrl) {
|
||||
mBuilderParcel.displayUrl = displayUrl;
|
||||
|
|
@ -379,7 +348,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setLastObservationTimestampMillis(
|
||||
long lastObservationTimestampMillis) {
|
||||
|
|
@ -395,7 +363,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setFirstObservationTimestampMillis(
|
||||
long firstObservationTimestampMillis) {
|
||||
|
|
@ -410,7 +377,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setState(int state) {
|
||||
mBuilderParcel.state = state;
|
||||
|
|
@ -424,7 +390,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setActionUrlType(int actionUrlType) {
|
||||
mBuilderParcel.actionUrlType = actionUrlType;
|
||||
|
|
@ -438,7 +403,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setRssi(int rssi) {
|
||||
mBuilderParcel.rssi = rssi;
|
||||
|
|
@ -453,7 +417,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setPendingAppInstallTimestampMillis(long pendingAppInstallTimestampMillis) {
|
||||
mBuilderParcel.pendingAppInstallTimestampMillis = pendingAppInstallTimestampMillis;
|
||||
|
|
@ -467,7 +430,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setTxPower(int txPower) {
|
||||
mBuilderParcel.txPower = txPower;
|
||||
|
|
@ -481,7 +443,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setAppName(@Nullable String appName) {
|
||||
mBuilderParcel.appName = appName;
|
||||
|
|
@ -495,7 +456,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setPackageName(@Nullable String packageName) {
|
||||
mBuilderParcel.packageName = packageName;
|
||||
|
|
@ -509,7 +469,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setTriggerId(@Nullable String triggerId) {
|
||||
mBuilderParcel.triggerId = triggerId;
|
||||
|
|
@ -523,7 +482,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setIconPng(@Nullable byte[] iconPng) {
|
||||
mBuilderParcel.iconPng = iconPng;
|
||||
|
|
@ -537,7 +495,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setIconFfeUrl(@Nullable String iconFifeUrl) {
|
||||
mBuilderParcel.iconFifeUrl = iconFifeUrl;
|
||||
|
|
@ -552,7 +509,6 @@ public class FastPairDiscoveryItem {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setAuthenticationPublicKeySecp256r1(
|
||||
@Nullable byte[] authenticationPublicKeySecp256r1) {
|
||||
|
|
@ -565,7 +521,6 @@ public class FastPairDiscoveryItem {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public FastPairDiscoveryItem build() {
|
||||
return new FastPairDiscoveryItem(mBuilderParcel);
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ package android.nearby;
|
|||
import android.accounts.Account;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.nearby.aidl.FastPairEligibleAccountParcel;
|
||||
|
||||
/**
|
||||
|
|
@ -27,7 +26,6 @@ import android.nearby.aidl.FastPairEligibleAccountParcel;
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public class FastPairEligibleAccount {
|
||||
|
||||
FastPairEligibleAccountParcel mAccountParcel;
|
||||
|
|
@ -41,7 +39,6 @@ public class FastPairEligibleAccount {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@Nullable
|
||||
public Account getAccount() {
|
||||
return this.mAccountParcel.account;
|
||||
|
|
@ -52,7 +49,6 @@ public class FastPairEligibleAccount {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public boolean isOptIn() {
|
||||
return this.mAccountParcel.optIn;
|
||||
}
|
||||
|
|
@ -62,7 +58,6 @@ public class FastPairEligibleAccount {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final class Builder {
|
||||
|
||||
private final FastPairEligibleAccountParcel mBuilderParcel;
|
||||
|
|
@ -72,7 +67,6 @@ public class FastPairEligibleAccount {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public Builder() {
|
||||
mBuilderParcel = new FastPairEligibleAccountParcel();
|
||||
mBuilderParcel.account = null;
|
||||
|
|
@ -86,7 +80,6 @@ public class FastPairEligibleAccount {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setAccount(@Nullable Account account) {
|
||||
mBuilderParcel.account = account;
|
||||
|
|
@ -100,7 +93,6 @@ public class FastPairEligibleAccount {
|
|||
* @return The builder, to facilitate chaining {@code builder.setXXX(..).setXXX(..)}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public Builder setOptIn(boolean optIn) {
|
||||
mBuilderParcel.optIn = optIn;
|
||||
|
|
@ -112,7 +104,6 @@ public class FastPairEligibleAccount {
|
|||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
public FastPairEligibleAccount build() {
|
||||
return new FastPairEligibleAccount(mBuilderParcel);
|
||||
|
|
|
|||
|
|
@ -1,191 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 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.cts;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.nearby.FastPairAntispoofKeyDeviceMetadata;
|
||||
import android.nearby.FastPairDeviceMetadata;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import androidx.test.filters.SdkSuppress;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class FastPairAntispoofKeyDeviceMetadataTest {
|
||||
|
||||
private static final String ASSISTANT_SETUP_HALFSHEET = "ASSISTANT_SETUP_HALFSHEET";
|
||||
private static final String ASSISTANT_SETUP_NOTIFICATION = "ASSISTANT_SETUP_NOTIFICATION";
|
||||
private static final int BLE_TX_POWER = 5;
|
||||
private static final String CONFIRM_PIN_DESCRIPTION = "CONFIRM_PIN_DESCRIPTION";
|
||||
private static final String CONFIRM_PIN_TITLE = "CONFIRM_PIN_TITLE";
|
||||
private static final String CONNECT_SUCCESS_COMPANION_APP_INSTALLED =
|
||||
"CONNECT_SUCCESS_COMPANION_APP_INSTALLED";
|
||||
private static final String CONNECT_SUCCESS_COMPANION_APP_NOT_INSTALLED =
|
||||
"CONNECT_SUCCESS_COMPANION_APP_NOT_INSTALLED";
|
||||
private static final float DELTA = 0.001f;
|
||||
private static final int DEVICE_TYPE = 7;
|
||||
private static final String DOWNLOAD_COMPANION_APP_DESCRIPTION =
|
||||
"DOWNLOAD_COMPANION_APP_DESCRIPTION";
|
||||
private static final String FAIL_CONNECT_GOTO_SETTINGS_DESCRIPTION =
|
||||
"FAIL_CONNECT_GOTO_SETTINGS_DESCRIPTION";
|
||||
private static final String FAST_PAIR_TV_CONNECT_DEVICE_NO_ACCOUNT_DESCRIPTION =
|
||||
"FAST_PAIR_TV_CONNECT_DEVICE_NO_ACCOUNT_DESCRIPTION";
|
||||
private static final byte[] IMAGE = new byte[] {7, 9};
|
||||
private static final String IMAGE_URL = "IMAGE_URL";
|
||||
private static final String INITIAL_NOTIFICATION_DESCRIPTION =
|
||||
"INITIAL_NOTIFICATION_DESCRIPTION";
|
||||
private static final String INITIAL_NOTIFICATION_DESCRIPTION_NO_ACCOUNT =
|
||||
"INITIAL_NOTIFICATION_DESCRIPTION_NO_ACCOUNT";
|
||||
private static final String INITIAL_PAIRING_DESCRIPTION = "INITIAL_PAIRING_DESCRIPTION";
|
||||
private static final String INTENT_URI = "INTENT_URI";
|
||||
private static final String LOCALE = "LOCALE";
|
||||
private static final String OPEN_COMPANION_APP_DESCRIPTION = "OPEN_COMPANION_APP_DESCRIPTION";
|
||||
private static final String RETRO_ACTIVE_PAIRING_DESCRIPTION =
|
||||
"RETRO_ACTIVE_PAIRING_DESCRIPTION";
|
||||
private static final String SUBSEQUENT_PAIRING_DESCRIPTION = "SUBSEQUENT_PAIRING_DESCRIPTION";
|
||||
private static final String SYNC_CONTACT_DESCRPTION = "SYNC_CONTACT_DESCRPTION";
|
||||
private static final String SYNC_CONTACTS_TITLE = "SYNC_CONTACTS_TITLE";
|
||||
private static final String SYNC_SMS_DESCRIPTION = "SYNC_SMS_DESCRIPTION";
|
||||
private static final String SYNC_SMS_TITLE = "SYNC_SMS_TITLE";
|
||||
private static final float TRIGGER_DISTANCE = 111;
|
||||
private static final String TRUE_WIRELESS_IMAGE_URL_CASE = "TRUE_WIRELESS_IMAGE_URL_CASE";
|
||||
private static final String TRUE_WIRELESS_IMAGE_URL_LEFT_BUD =
|
||||
"TRUE_WIRELESS_IMAGE_URL_LEFT_BUD";
|
||||
private static final String TRUE_WIRELESS_IMAGE_URL_RIGHT_BUD =
|
||||
"TRUE_WIRELESS_IMAGE_URL_RIGHT_BUD";
|
||||
private static final String UNABLE_TO_CONNECT_DESCRIPTION = "UNABLE_TO_CONNECT_DESCRIPTION";
|
||||
private static final String UNABLE_TO_CONNECT_TITLE = "UNABLE_TO_CONNECT_TITLE";
|
||||
private static final String UPDATE_COMPANION_APP_DESCRIPTION =
|
||||
"UPDATE_COMPANION_APP_DESCRIPTION";
|
||||
private static final String WAIT_LAUNCH_COMPANION_APP_DESCRIPTION =
|
||||
"WAIT_LAUNCH_COMPANION_APP_DESCRIPTION";
|
||||
private static final byte[] ANTI_SPOOFING_KEY = new byte[] {4, 5, 6};
|
||||
private static final String NAME = "NAME";
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testSetGetFastPairAntispoofKeyDeviceMetadataNotNull() {
|
||||
FastPairDeviceMetadata fastPairDeviceMetadata = genFastPairDeviceMetadata();
|
||||
FastPairAntispoofKeyDeviceMetadata fastPairAntispoofKeyDeviceMetadata =
|
||||
genFastPairAntispoofKeyDeviceMetadata(ANTI_SPOOFING_KEY, fastPairDeviceMetadata);
|
||||
|
||||
assertThat(fastPairAntispoofKeyDeviceMetadata.getAntispoofPublicKey()).isEqualTo(
|
||||
ANTI_SPOOFING_KEY);
|
||||
ensureFastPairDeviceMetadataAsExpected(
|
||||
fastPairAntispoofKeyDeviceMetadata.getFastPairDeviceMetadata());
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testSetGetFastPairAntispoofKeyDeviceMetadataNull() {
|
||||
FastPairAntispoofKeyDeviceMetadata fastPairAntispoofKeyDeviceMetadata =
|
||||
genFastPairAntispoofKeyDeviceMetadata(null, null);
|
||||
assertThat(fastPairAntispoofKeyDeviceMetadata.getAntispoofPublicKey()).isEqualTo(
|
||||
null);
|
||||
assertThat(fastPairAntispoofKeyDeviceMetadata.getFastPairDeviceMetadata()).isEqualTo(
|
||||
null);
|
||||
}
|
||||
|
||||
/* Verifies DeviceMetadata. */
|
||||
private static void ensureFastPairDeviceMetadataAsExpected(FastPairDeviceMetadata metadata) {
|
||||
assertThat(metadata.getBleTxPower()).isEqualTo(BLE_TX_POWER);
|
||||
assertThat(metadata.getConnectSuccessCompanionAppInstalled())
|
||||
.isEqualTo(CONNECT_SUCCESS_COMPANION_APP_INSTALLED);
|
||||
assertThat(metadata.getConnectSuccessCompanionAppNotInstalled())
|
||||
.isEqualTo(CONNECT_SUCCESS_COMPANION_APP_NOT_INSTALLED);
|
||||
assertThat(metadata.getDeviceType()).isEqualTo(DEVICE_TYPE);
|
||||
assertThat(metadata.getDownloadCompanionAppDescription())
|
||||
.isEqualTo(DOWNLOAD_COMPANION_APP_DESCRIPTION);
|
||||
assertThat(metadata.getFailConnectGoToSettingsDescription())
|
||||
.isEqualTo(FAIL_CONNECT_GOTO_SETTINGS_DESCRIPTION);
|
||||
assertThat(metadata.getImage()).isEqualTo(IMAGE);
|
||||
assertThat(metadata.getImageUrl()).isEqualTo(IMAGE_URL);
|
||||
assertThat(metadata.getInitialNotificationDescription())
|
||||
.isEqualTo(INITIAL_NOTIFICATION_DESCRIPTION);
|
||||
assertThat(metadata.getInitialNotificationDescriptionNoAccount())
|
||||
.isEqualTo(INITIAL_NOTIFICATION_DESCRIPTION_NO_ACCOUNT);
|
||||
assertThat(metadata.getInitialPairingDescription()).isEqualTo(INITIAL_PAIRING_DESCRIPTION);
|
||||
assertThat(metadata.getIntentUri()).isEqualTo(INTENT_URI);
|
||||
assertThat(metadata.getName()).isEqualTo(NAME);
|
||||
assertThat(metadata.getOpenCompanionAppDescription())
|
||||
.isEqualTo(OPEN_COMPANION_APP_DESCRIPTION);
|
||||
assertThat(metadata.getRetroactivePairingDescription())
|
||||
.isEqualTo(RETRO_ACTIVE_PAIRING_DESCRIPTION);
|
||||
assertThat(metadata.getSubsequentPairingDescription())
|
||||
.isEqualTo(SUBSEQUENT_PAIRING_DESCRIPTION);
|
||||
assertThat(metadata.getTriggerDistance()).isWithin(DELTA).of(TRIGGER_DISTANCE);
|
||||
assertThat(metadata.getTrueWirelessImageUrlCase()).isEqualTo(TRUE_WIRELESS_IMAGE_URL_CASE);
|
||||
assertThat(metadata.getTrueWirelessImageUrlLeftBud())
|
||||
.isEqualTo(TRUE_WIRELESS_IMAGE_URL_LEFT_BUD);
|
||||
assertThat(metadata.getTrueWirelessImageUrlRightBud())
|
||||
.isEqualTo(TRUE_WIRELESS_IMAGE_URL_RIGHT_BUD);
|
||||
assertThat(metadata.getUnableToConnectDescription())
|
||||
.isEqualTo(UNABLE_TO_CONNECT_DESCRIPTION);
|
||||
assertThat(metadata.getUnableToConnectTitle()).isEqualTo(UNABLE_TO_CONNECT_TITLE);
|
||||
assertThat(metadata.getUpdateCompanionAppDescription())
|
||||
.isEqualTo(UPDATE_COMPANION_APP_DESCRIPTION);
|
||||
assertThat(metadata.getWaitLaunchCompanionAppDescription())
|
||||
.isEqualTo(WAIT_LAUNCH_COMPANION_APP_DESCRIPTION);
|
||||
}
|
||||
|
||||
/* Generates FastPairAntispoofKeyDeviceMetadata. */
|
||||
private static FastPairAntispoofKeyDeviceMetadata genFastPairAntispoofKeyDeviceMetadata(
|
||||
byte[] antispoofPublicKey, FastPairDeviceMetadata deviceMetadata) {
|
||||
FastPairAntispoofKeyDeviceMetadata.Builder builder =
|
||||
new FastPairAntispoofKeyDeviceMetadata.Builder();
|
||||
builder.setAntispoofPublicKey(antispoofPublicKey);
|
||||
builder.setFastPairDeviceMetadata(deviceMetadata);
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
/* Generates FastPairDeviceMetadata. */
|
||||
private static FastPairDeviceMetadata genFastPairDeviceMetadata() {
|
||||
FastPairDeviceMetadata.Builder builder = new FastPairDeviceMetadata.Builder();
|
||||
builder.setBleTxPower(BLE_TX_POWER);
|
||||
builder.setConnectSuccessCompanionAppInstalled(CONNECT_SUCCESS_COMPANION_APP_INSTALLED);
|
||||
builder.setConnectSuccessCompanionAppNotInstalled(
|
||||
CONNECT_SUCCESS_COMPANION_APP_NOT_INSTALLED);
|
||||
builder.setDeviceType(DEVICE_TYPE);
|
||||
builder.setDownloadCompanionAppDescription(DOWNLOAD_COMPANION_APP_DESCRIPTION);
|
||||
builder.setFailConnectGoToSettingsDescription(FAIL_CONNECT_GOTO_SETTINGS_DESCRIPTION);
|
||||
builder.setImage(IMAGE);
|
||||
builder.setImageUrl(IMAGE_URL);
|
||||
builder.setInitialNotificationDescription(INITIAL_NOTIFICATION_DESCRIPTION);
|
||||
builder.setInitialNotificationDescriptionNoAccount(
|
||||
INITIAL_NOTIFICATION_DESCRIPTION_NO_ACCOUNT);
|
||||
builder.setInitialPairingDescription(INITIAL_PAIRING_DESCRIPTION);
|
||||
builder.setIntentUri(INTENT_URI);
|
||||
builder.setName(NAME);
|
||||
builder.setOpenCompanionAppDescription(OPEN_COMPANION_APP_DESCRIPTION);
|
||||
builder.setRetroactivePairingDescription(RETRO_ACTIVE_PAIRING_DESCRIPTION);
|
||||
builder.setSubsequentPairingDescription(SUBSEQUENT_PAIRING_DESCRIPTION);
|
||||
builder.setTriggerDistance(TRIGGER_DISTANCE);
|
||||
builder.setTrueWirelessImageUrlCase(TRUE_WIRELESS_IMAGE_URL_CASE);
|
||||
builder.setTrueWirelessImageUrlLeftBud(TRUE_WIRELESS_IMAGE_URL_LEFT_BUD);
|
||||
builder.setTrueWirelessImageUrlRightBud(TRUE_WIRELESS_IMAGE_URL_RIGHT_BUD);
|
||||
builder.setUnableToConnectDescription(UNABLE_TO_CONNECT_DESCRIPTION);
|
||||
builder.setUnableToConnectTitle(UNABLE_TO_CONNECT_TITLE);
|
||||
builder.setUpdateCompanionAppDescription(UPDATE_COMPANION_APP_DESCRIPTION);
|
||||
builder.setWaitLaunchCompanionAppDescription(WAIT_LAUNCH_COMPANION_APP_DESCRIPTION);
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,994 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 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.cts;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.MockitoAnnotations.initMocks;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.content.Intent;
|
||||
import android.nearby.FastPairAccountKeyDeviceMetadata;
|
||||
import android.nearby.FastPairAntispoofKeyDeviceMetadata;
|
||||
import android.nearby.FastPairDataProviderService;
|
||||
import android.nearby.FastPairDeviceMetadata;
|
||||
import android.nearby.FastPairDiscoveryItem;
|
||||
import android.nearby.FastPairEligibleAccount;
|
||||
import android.nearby.aidl.ByteArrayParcel;
|
||||
import android.nearby.aidl.FastPairAccountDevicesMetadataRequestParcel;
|
||||
import android.nearby.aidl.FastPairAccountKeyDeviceMetadataParcel;
|
||||
import android.nearby.aidl.FastPairAntispoofKeyDeviceMetadataParcel;
|
||||
import android.nearby.aidl.FastPairAntispoofKeyDeviceMetadataRequestParcel;
|
||||
import android.nearby.aidl.FastPairDeviceMetadataParcel;
|
||||
import android.nearby.aidl.FastPairDiscoveryItemParcel;
|
||||
import android.nearby.aidl.FastPairEligibleAccountParcel;
|
||||
import android.nearby.aidl.FastPairEligibleAccountsRequestParcel;
|
||||
import android.nearby.aidl.FastPairManageAccountDeviceRequestParcel;
|
||||
import android.nearby.aidl.FastPairManageAccountRequestParcel;
|
||||
import android.nearby.aidl.IFastPairAccountDevicesMetadataCallback;
|
||||
import android.nearby.aidl.IFastPairAntispoofKeyDeviceMetadataCallback;
|
||||
import android.nearby.aidl.IFastPairDataProvider;
|
||||
import android.nearby.aidl.IFastPairEligibleAccountsCallback;
|
||||
import android.nearby.aidl.IFastPairManageAccountCallback;
|
||||
import android.nearby.aidl.IFastPairManageAccountDeviceCallback;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import androidx.test.filters.SdkSuppress;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Captor;
|
||||
import org.mockito.Mock;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class FastPairDataProviderServiceTest {
|
||||
|
||||
private static final String TAG = "FastPairDataProviderServiceTest";
|
||||
|
||||
private static final String ASSISTANT_SETUP_HALFSHEET = "ASSISTANT_SETUP_HALFSHEET";
|
||||
private static final String ASSISTANT_SETUP_NOTIFICATION = "ASSISTANT_SETUP_NOTIFICATION";
|
||||
private static final int BLE_TX_POWER = 5;
|
||||
private static final String CONFIRM_PIN_DESCRIPTION = "CONFIRM_PIN_DESCRIPTION";
|
||||
private static final String CONFIRM_PIN_TITLE = "CONFIRM_PIN_TITLE";
|
||||
private static final String CONNECT_SUCCESS_COMPANION_APP_INSTALLED =
|
||||
"CONNECT_SUCCESS_COMPANION_APP_INSTALLED";
|
||||
private static final String CONNECT_SUCCESS_COMPANION_APP_NOT_INSTALLED =
|
||||
"CONNECT_SUCCESS_COMPANION_APP_NOT_INSTALLED";
|
||||
private static final float DELTA = 0.001f;
|
||||
private static final int DEVICE_TYPE = 7;
|
||||
private static final String DOWNLOAD_COMPANION_APP_DESCRIPTION =
|
||||
"DOWNLOAD_COMPANION_APP_DESCRIPTION";
|
||||
private static final Account ELIGIBLE_ACCOUNT_1 = new Account("abc@google.com", "type1");
|
||||
private static final boolean ELIGIBLE_ACCOUNT_1_OPT_IN = true;
|
||||
private static final Account ELIGIBLE_ACCOUNT_2 = new Account("def@gmail.com", "type2");
|
||||
private static final boolean ELIGIBLE_ACCOUNT_2_OPT_IN = false;
|
||||
private static final Account MANAGE_ACCOUNT = new Account("ghi@gmail.com", "type3");
|
||||
private static final Account ACCOUNTDEVICES_METADATA_ACCOUNT =
|
||||
new Account("jk@gmail.com", "type4");
|
||||
private static final int NUM_ACCOUNT_DEVICES = 2;
|
||||
|
||||
private static final int ERROR_CODE_BAD_REQUEST =
|
||||
FastPairDataProviderService.ERROR_CODE_BAD_REQUEST;
|
||||
private static final int MANAGE_ACCOUNT_REQUEST_TYPE =
|
||||
FastPairDataProviderService.MANAGE_REQUEST_ADD;
|
||||
private static final String ERROR_STRING = "ERROR_STRING";
|
||||
private static final String FAIL_CONNECT_GOTO_SETTINGS_DESCRIPTION =
|
||||
"FAIL_CONNECT_GOTO_SETTINGS_DESCRIPTION";
|
||||
private static final String FAST_PAIR_TV_CONNECT_DEVICE_NO_ACCOUNT_DESCRIPTION =
|
||||
"FAST_PAIR_TV_CONNECT_DEVICE_NO_ACCOUNT_DESCRIPTION";
|
||||
private static final byte[] IMAGE = new byte[] {7, 9};
|
||||
private static final String IMAGE_URL = "IMAGE_URL";
|
||||
private static final String INITIAL_NOTIFICATION_DESCRIPTION =
|
||||
"INITIAL_NOTIFICATION_DESCRIPTION";
|
||||
private static final String INITIAL_NOTIFICATION_DESCRIPTION_NO_ACCOUNT =
|
||||
"INITIAL_NOTIFICATION_DESCRIPTION_NO_ACCOUNT";
|
||||
private static final String INITIAL_PAIRING_DESCRIPTION = "INITIAL_PAIRING_DESCRIPTION";
|
||||
private static final String INTENT_URI = "INTENT_URI";
|
||||
private static final String LOCALE = "LOCALE";
|
||||
private static final String OPEN_COMPANION_APP_DESCRIPTION = "OPEN_COMPANION_APP_DESCRIPTION";
|
||||
private static final String RETRO_ACTIVE_PAIRING_DESCRIPTION =
|
||||
"RETRO_ACTIVE_PAIRING_DESCRIPTION";
|
||||
private static final String SUBSEQUENT_PAIRING_DESCRIPTION = "SUBSEQUENT_PAIRING_DESCRIPTION";
|
||||
private static final String SYNC_CONTACT_DESCRPTION = "SYNC_CONTACT_DESCRPTION";
|
||||
private static final String SYNC_CONTACTS_TITLE = "SYNC_CONTACTS_TITLE";
|
||||
private static final String SYNC_SMS_DESCRIPTION = "SYNC_SMS_DESCRIPTION";
|
||||
private static final String SYNC_SMS_TITLE = "SYNC_SMS_TITLE";
|
||||
private static final float TRIGGER_DISTANCE = 111;
|
||||
private static final String TRUE_WIRELESS_IMAGE_URL_CASE = "TRUE_WIRELESS_IMAGE_URL_CASE";
|
||||
private static final String TRUE_WIRELESS_IMAGE_URL_LEFT_BUD =
|
||||
"TRUE_WIRELESS_IMAGE_URL_LEFT_BUD";
|
||||
private static final String TRUE_WIRELESS_IMAGE_URL_RIGHT_BUD =
|
||||
"TRUE_WIRELESS_IMAGE_URL_RIGHT_BUD";
|
||||
private static final String UNABLE_TO_CONNECT_DESCRIPTION = "UNABLE_TO_CONNECT_DESCRIPTION";
|
||||
private static final String UNABLE_TO_CONNECT_TITLE = "UNABLE_TO_CONNECT_TITLE";
|
||||
private static final String UPDATE_COMPANION_APP_DESCRIPTION =
|
||||
"UPDATE_COMPANION_APP_DESCRIPTION";
|
||||
private static final String WAIT_LAUNCH_COMPANION_APP_DESCRIPTION =
|
||||
"WAIT_LAUNCH_COMPANION_APP_DESCRIPTION";
|
||||
private static final byte[] ACCOUNT_KEY = new byte[] {3};
|
||||
private static final byte[] ACCOUNT_KEY_2 = new byte[] {9, 3};
|
||||
private static final byte[] SHA256_ACCOUNT_KEY_PUBLIC_ADDRESS = new byte[] {2, 8};
|
||||
private static final byte[] REQUEST_MODEL_ID = new byte[] {1, 2, 3};
|
||||
private static final byte[] ANTI_SPOOFING_KEY = new byte[] {4, 5, 6};
|
||||
private static final String ACTION_URL = "ACTION_URL";
|
||||
private static final int ACTION_URL_TYPE = 5;
|
||||
private static final String APP_NAME = "APP_NAME";
|
||||
private static final int ATTACHMENT_TYPE = 8;
|
||||
private static final byte[] AUTHENTICATION_PUBLIC_KEY_SEC_P256R1 = new byte[] {5, 7};
|
||||
private static final byte[] BLE_RECORD_BYTES = new byte[]{2, 4};
|
||||
private static final int DEBUG_CATEGORY = 9;
|
||||
private static final String DEBUG_MESSAGE = "DEBUG_MESSAGE";
|
||||
private static final String DESCRIPTION = "DESCRIPTION";
|
||||
private static final String DEVICE_NAME = "DEVICE_NAME";
|
||||
private static final String DISPLAY_URL = "DISPLAY_URL";
|
||||
private static final String ENTITY_ID = "ENTITY_ID";
|
||||
private static final String FEATURE_GRAPHIC_URL = "FEATURE_GRAPHIC_URL";
|
||||
private static final long FIRST_OBSERVATION_TIMESTAMP_MILLIS = 8393L;
|
||||
private static final String GROUP_ID = "GROUP_ID";
|
||||
private static final String ICON_FIFE_URL = "ICON_FIFE_URL";
|
||||
private static final byte[] ICON_PNG = new byte[]{2, 5};
|
||||
private static final String ID = "ID";
|
||||
private static final long LAST_OBSERVATION_TIMESTAMP_MILLIS = 934234L;
|
||||
private static final int LAST_USER_EXPERIENCE = 93;
|
||||
private static final long LOST_MILLIS = 393284L;
|
||||
private static final String MAC_ADDRESS = "MAC_ADDRESS";
|
||||
private static final String NAME = "NAME";
|
||||
private static final String PACKAGE_NAME = "PACKAGE_NAME";
|
||||
private static final long PENDING_APP_INSTALL_TIMESTAMP_MILLIS = 832393L;
|
||||
private static final int RSSI = 9;
|
||||
private static final int STATE = 63;
|
||||
private static final String TITLE = "TITLE";
|
||||
private static final String TRIGGER_ID = "TRIGGER_ID";
|
||||
private static final int TX_POWER = 62;
|
||||
private static final int TYPE = 73;
|
||||
private static final String BLE_ADDRESS = "BLE_ADDRESS";
|
||||
|
||||
private static final int ELIGIBLE_ACCOUNTS_NUM = 2;
|
||||
private static final ImmutableList<FastPairEligibleAccount> ELIGIBLE_ACCOUNTS =
|
||||
ImmutableList.of(
|
||||
genHappyPathFastPairEligibleAccount(ELIGIBLE_ACCOUNT_1,
|
||||
ELIGIBLE_ACCOUNT_1_OPT_IN),
|
||||
genHappyPathFastPairEligibleAccount(ELIGIBLE_ACCOUNT_2,
|
||||
ELIGIBLE_ACCOUNT_2_OPT_IN));
|
||||
private static final int ACCOUNTKEY_DEVICE_NUM = 2;
|
||||
private static final ImmutableList<FastPairAccountKeyDeviceMetadata>
|
||||
FAST_PAIR_ACCOUNT_DEVICES_METADATA =
|
||||
ImmutableList.of(
|
||||
genHappyPathFastPairAccountkeyDeviceMetadata(),
|
||||
genHappyPathFastPairAccountkeyDeviceMetadata());
|
||||
|
||||
private static final FastPairAntispoofKeyDeviceMetadataRequestParcel
|
||||
FAST_PAIR_ANTI_SPOOF_KEY_DEVICE_METADATA_REQUEST_PARCEL =
|
||||
genFastPairAntispoofKeyDeviceMetadataRequestParcel();
|
||||
private static final FastPairAccountDevicesMetadataRequestParcel
|
||||
FAST_PAIR_ACCOUNT_DEVICES_METADATA_REQUEST_PARCEL =
|
||||
genFastPairAccountDevicesMetadataRequestParcel();
|
||||
private static final FastPairEligibleAccountsRequestParcel
|
||||
FAST_PAIR_ELIGIBLE_ACCOUNTS_REQUEST_PARCEL =
|
||||
genFastPairEligibleAccountsRequestParcel();
|
||||
private static final FastPairManageAccountRequestParcel
|
||||
FAST_PAIR_MANAGE_ACCOUNT_REQUEST_PARCEL =
|
||||
genFastPairManageAccountRequestParcel();
|
||||
private static final FastPairManageAccountDeviceRequestParcel
|
||||
FAST_PAIR_MANAGE_ACCOUNT_DEVICE_REQUEST_PARCEL =
|
||||
genFastPairManageAccountDeviceRequestParcel();
|
||||
private static final FastPairAntispoofKeyDeviceMetadata
|
||||
HAPPY_PATH_FAST_PAIR_ANTI_SPOOF_KEY_DEVICE_METADATA =
|
||||
genHappyPathFastPairAntispoofKeyDeviceMetadata();
|
||||
|
||||
@Captor private ArgumentCaptor<FastPairEligibleAccountParcel[]>
|
||||
mFastPairEligibleAccountParcelsArgumentCaptor;
|
||||
@Captor private ArgumentCaptor<FastPairAccountKeyDeviceMetadataParcel[]>
|
||||
mFastPairAccountKeyDeviceMetadataParcelsArgumentCaptor;
|
||||
|
||||
@Mock private FastPairDataProviderService mMockFastPairDataProviderService;
|
||||
@Mock private IFastPairAntispoofKeyDeviceMetadataCallback.Stub
|
||||
mAntispoofKeyDeviceMetadataCallback;
|
||||
@Mock private IFastPairAccountDevicesMetadataCallback.Stub mAccountDevicesMetadataCallback;
|
||||
@Mock private IFastPairEligibleAccountsCallback.Stub mEligibleAccountsCallback;
|
||||
@Mock private IFastPairManageAccountCallback.Stub mManageAccountCallback;
|
||||
@Mock private IFastPairManageAccountDeviceCallback.Stub mManageAccountDeviceCallback;
|
||||
|
||||
private MyHappyPathProvider mHappyPathFastPairDataProvider;
|
||||
private MyErrorPathProvider mErrorPathFastPairDataProvider;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
initMocks(this);
|
||||
|
||||
mHappyPathFastPairDataProvider =
|
||||
new MyHappyPathProvider(TAG, mMockFastPairDataProviderService);
|
||||
mErrorPathFastPairDataProvider =
|
||||
new MyErrorPathProvider(TAG, mMockFastPairDataProviderService);
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testHappyPathLoadFastPairAntispoofKeyDeviceMetadata() throws Exception {
|
||||
// AOSP sends calls to OEM via Parcelable.
|
||||
mHappyPathFastPairDataProvider.asProvider().loadFastPairAntispoofKeyDeviceMetadata(
|
||||
FAST_PAIR_ANTI_SPOOF_KEY_DEVICE_METADATA_REQUEST_PARCEL,
|
||||
mAntispoofKeyDeviceMetadataCallback);
|
||||
|
||||
// OEM receives request and verifies that it is as expected.
|
||||
final ArgumentCaptor<FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataRequest>
|
||||
fastPairAntispoofKeyDeviceMetadataRequestCaptor =
|
||||
ArgumentCaptor.forClass(
|
||||
FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataRequest.class
|
||||
);
|
||||
verify(mMockFastPairDataProviderService).onLoadFastPairAntispoofKeyDeviceMetadata(
|
||||
fastPairAntispoofKeyDeviceMetadataRequestCaptor.capture(),
|
||||
any(FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataCallback.class));
|
||||
ensureHappyPathAsExpected(fastPairAntispoofKeyDeviceMetadataRequestCaptor.getValue());
|
||||
|
||||
// AOSP receives responses and verifies that it is as expected.
|
||||
final ArgumentCaptor<FastPairAntispoofKeyDeviceMetadataParcel>
|
||||
fastPairAntispoofKeyDeviceMetadataParcelCaptor =
|
||||
ArgumentCaptor.forClass(FastPairAntispoofKeyDeviceMetadataParcel.class);
|
||||
verify(mAntispoofKeyDeviceMetadataCallback).onFastPairAntispoofKeyDeviceMetadataReceived(
|
||||
fastPairAntispoofKeyDeviceMetadataParcelCaptor.capture());
|
||||
ensureHappyPathAsExpected(fastPairAntispoofKeyDeviceMetadataParcelCaptor.getValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testHappyPathLoadFastPairAccountDevicesMetadata() throws Exception {
|
||||
// AOSP sends calls to OEM via Parcelable.
|
||||
mHappyPathFastPairDataProvider.asProvider().loadFastPairAccountDevicesMetadata(
|
||||
FAST_PAIR_ACCOUNT_DEVICES_METADATA_REQUEST_PARCEL,
|
||||
mAccountDevicesMetadataCallback);
|
||||
|
||||
// OEM receives request and verifies that it is as expected.
|
||||
final ArgumentCaptor<FastPairDataProviderService.FastPairAccountDevicesMetadataRequest>
|
||||
fastPairAccountDevicesMetadataRequestCaptor =
|
||||
ArgumentCaptor.forClass(
|
||||
FastPairDataProviderService.FastPairAccountDevicesMetadataRequest.class);
|
||||
verify(mMockFastPairDataProviderService).onLoadFastPairAccountDevicesMetadata(
|
||||
fastPairAccountDevicesMetadataRequestCaptor.capture(),
|
||||
any(FastPairDataProviderService.FastPairAccountDevicesMetadataCallback.class));
|
||||
ensureHappyPathAsExpected(fastPairAccountDevicesMetadataRequestCaptor.getValue());
|
||||
|
||||
// AOSP receives responses and verifies that it is as expected.
|
||||
verify(mAccountDevicesMetadataCallback).onFastPairAccountDevicesMetadataReceived(
|
||||
mFastPairAccountKeyDeviceMetadataParcelsArgumentCaptor.capture());
|
||||
ensureHappyPathAsExpected(
|
||||
mFastPairAccountKeyDeviceMetadataParcelsArgumentCaptor.getValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testHappyPathLoadFastPairEligibleAccounts() throws Exception {
|
||||
// AOSP sends calls to OEM via Parcelable.
|
||||
mHappyPathFastPairDataProvider.asProvider().loadFastPairEligibleAccounts(
|
||||
FAST_PAIR_ELIGIBLE_ACCOUNTS_REQUEST_PARCEL,
|
||||
mEligibleAccountsCallback);
|
||||
|
||||
// OEM receives request and verifies that it is as expected.
|
||||
final ArgumentCaptor<FastPairDataProviderService.FastPairEligibleAccountsRequest>
|
||||
fastPairEligibleAccountsRequestCaptor =
|
||||
ArgumentCaptor.forClass(
|
||||
FastPairDataProviderService.FastPairEligibleAccountsRequest.class);
|
||||
verify(mMockFastPairDataProviderService).onLoadFastPairEligibleAccounts(
|
||||
fastPairEligibleAccountsRequestCaptor.capture(),
|
||||
any(FastPairDataProviderService.FastPairEligibleAccountsCallback.class));
|
||||
ensureHappyPathAsExpected(fastPairEligibleAccountsRequestCaptor.getValue());
|
||||
|
||||
// AOSP receives responses and verifies that it is as expected.
|
||||
verify(mEligibleAccountsCallback).onFastPairEligibleAccountsReceived(
|
||||
mFastPairEligibleAccountParcelsArgumentCaptor.capture());
|
||||
ensureHappyPathAsExpected(mFastPairEligibleAccountParcelsArgumentCaptor.getValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testHappyPathManageFastPairAccount() throws Exception {
|
||||
// AOSP sends calls to OEM via Parcelable.
|
||||
mHappyPathFastPairDataProvider.asProvider().manageFastPairAccount(
|
||||
FAST_PAIR_MANAGE_ACCOUNT_REQUEST_PARCEL,
|
||||
mManageAccountCallback);
|
||||
|
||||
// OEM receives request and verifies that it is as expected.
|
||||
final ArgumentCaptor<FastPairDataProviderService.FastPairManageAccountRequest>
|
||||
fastPairManageAccountRequestCaptor =
|
||||
ArgumentCaptor.forClass(
|
||||
FastPairDataProviderService.FastPairManageAccountRequest.class);
|
||||
verify(mMockFastPairDataProviderService).onManageFastPairAccount(
|
||||
fastPairManageAccountRequestCaptor.capture(),
|
||||
any(FastPairDataProviderService.FastPairManageActionCallback.class));
|
||||
ensureHappyPathAsExpected(fastPairManageAccountRequestCaptor.getValue());
|
||||
|
||||
// AOSP receives SUCCESS response.
|
||||
verify(mManageAccountCallback).onSuccess();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testHappyPathManageFastPairAccountDevice() throws Exception {
|
||||
// AOSP sends calls to OEM via Parcelable.
|
||||
mHappyPathFastPairDataProvider.asProvider().manageFastPairAccountDevice(
|
||||
FAST_PAIR_MANAGE_ACCOUNT_DEVICE_REQUEST_PARCEL,
|
||||
mManageAccountDeviceCallback);
|
||||
|
||||
// OEM receives request and verifies that it is as expected.
|
||||
final ArgumentCaptor<FastPairDataProviderService.FastPairManageAccountDeviceRequest>
|
||||
fastPairManageAccountDeviceRequestCaptor =
|
||||
ArgumentCaptor.forClass(
|
||||
FastPairDataProviderService.FastPairManageAccountDeviceRequest.class);
|
||||
verify(mMockFastPairDataProviderService).onManageFastPairAccountDevice(
|
||||
fastPairManageAccountDeviceRequestCaptor.capture(),
|
||||
any(FastPairDataProviderService.FastPairManageActionCallback.class));
|
||||
ensureHappyPathAsExpected(fastPairManageAccountDeviceRequestCaptor.getValue());
|
||||
|
||||
// AOSP receives SUCCESS response.
|
||||
verify(mManageAccountDeviceCallback).onSuccess();
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testErrorPathLoadFastPairAntispoofKeyDeviceMetadata() throws Exception {
|
||||
mErrorPathFastPairDataProvider.asProvider().loadFastPairAntispoofKeyDeviceMetadata(
|
||||
FAST_PAIR_ANTI_SPOOF_KEY_DEVICE_METADATA_REQUEST_PARCEL,
|
||||
mAntispoofKeyDeviceMetadataCallback);
|
||||
verify(mMockFastPairDataProviderService).onLoadFastPairAntispoofKeyDeviceMetadata(
|
||||
any(FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataRequest.class),
|
||||
any(FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataCallback.class));
|
||||
verify(mAntispoofKeyDeviceMetadataCallback).onError(
|
||||
eq(ERROR_CODE_BAD_REQUEST), eq(ERROR_STRING));
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testErrorPathLoadFastPairAccountDevicesMetadata() throws Exception {
|
||||
mErrorPathFastPairDataProvider.asProvider().loadFastPairAccountDevicesMetadata(
|
||||
FAST_PAIR_ACCOUNT_DEVICES_METADATA_REQUEST_PARCEL,
|
||||
mAccountDevicesMetadataCallback);
|
||||
verify(mMockFastPairDataProviderService).onLoadFastPairAccountDevicesMetadata(
|
||||
any(FastPairDataProviderService.FastPairAccountDevicesMetadataRequest.class),
|
||||
any(FastPairDataProviderService.FastPairAccountDevicesMetadataCallback.class));
|
||||
verify(mAccountDevicesMetadataCallback).onError(
|
||||
eq(ERROR_CODE_BAD_REQUEST), eq(ERROR_STRING));
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testErrorPathLoadFastPairEligibleAccounts() throws Exception {
|
||||
mErrorPathFastPairDataProvider.asProvider().loadFastPairEligibleAccounts(
|
||||
FAST_PAIR_ELIGIBLE_ACCOUNTS_REQUEST_PARCEL,
|
||||
mEligibleAccountsCallback);
|
||||
verify(mMockFastPairDataProviderService).onLoadFastPairEligibleAccounts(
|
||||
any(FastPairDataProviderService.FastPairEligibleAccountsRequest.class),
|
||||
any(FastPairDataProviderService.FastPairEligibleAccountsCallback.class));
|
||||
verify(mEligibleAccountsCallback).onError(
|
||||
eq(ERROR_CODE_BAD_REQUEST), eq(ERROR_STRING));
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testErrorPathManageFastPairAccount() throws Exception {
|
||||
mErrorPathFastPairDataProvider.asProvider().manageFastPairAccount(
|
||||
FAST_PAIR_MANAGE_ACCOUNT_REQUEST_PARCEL,
|
||||
mManageAccountCallback);
|
||||
verify(mMockFastPairDataProviderService).onManageFastPairAccount(
|
||||
any(FastPairDataProviderService.FastPairManageAccountRequest.class),
|
||||
any(FastPairDataProviderService.FastPairManageActionCallback.class));
|
||||
verify(mManageAccountCallback).onError(eq(ERROR_CODE_BAD_REQUEST), eq(ERROR_STRING));
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testErrorPathManageFastPairAccountDevice() throws Exception {
|
||||
mErrorPathFastPairDataProvider.asProvider().manageFastPairAccountDevice(
|
||||
FAST_PAIR_MANAGE_ACCOUNT_DEVICE_REQUEST_PARCEL,
|
||||
mManageAccountDeviceCallback);
|
||||
verify(mMockFastPairDataProviderService).onManageFastPairAccountDevice(
|
||||
any(FastPairDataProviderService.FastPairManageAccountDeviceRequest.class),
|
||||
any(FastPairDataProviderService.FastPairManageActionCallback.class));
|
||||
verify(mManageAccountDeviceCallback).onError(eq(ERROR_CODE_BAD_REQUEST), eq(ERROR_STRING));
|
||||
}
|
||||
|
||||
public static class MyHappyPathProvider extends FastPairDataProviderService {
|
||||
|
||||
private final FastPairDataProviderService mMockFastPairDataProviderService;
|
||||
|
||||
public MyHappyPathProvider(@NonNull String tag, FastPairDataProviderService mock) {
|
||||
super(tag);
|
||||
mMockFastPairDataProviderService = mock;
|
||||
}
|
||||
|
||||
public IFastPairDataProvider asProvider() {
|
||||
Intent intent = new Intent();
|
||||
return IFastPairDataProvider.Stub.asInterface(onBind(intent));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFastPairAntispoofKeyDeviceMetadata(
|
||||
@NonNull FastPairAntispoofKeyDeviceMetadataRequest request,
|
||||
@NonNull FastPairAntispoofKeyDeviceMetadataCallback callback) {
|
||||
mMockFastPairDataProviderService.onLoadFastPairAntispoofKeyDeviceMetadata(
|
||||
request, callback);
|
||||
callback.onFastPairAntispoofKeyDeviceMetadataReceived(
|
||||
HAPPY_PATH_FAST_PAIR_ANTI_SPOOF_KEY_DEVICE_METADATA);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFastPairAccountDevicesMetadata(
|
||||
@NonNull FastPairAccountDevicesMetadataRequest request,
|
||||
@NonNull FastPairAccountDevicesMetadataCallback callback) {
|
||||
mMockFastPairDataProviderService.onLoadFastPairAccountDevicesMetadata(
|
||||
request, callback);
|
||||
callback.onFastPairAccountDevicesMetadataReceived(FAST_PAIR_ACCOUNT_DEVICES_METADATA);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFastPairEligibleAccounts(
|
||||
@NonNull FastPairEligibleAccountsRequest request,
|
||||
@NonNull FastPairEligibleAccountsCallback callback) {
|
||||
mMockFastPairDataProviderService.onLoadFastPairEligibleAccounts(
|
||||
request, callback);
|
||||
callback.onFastPairEligibleAccountsReceived(ELIGIBLE_ACCOUNTS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onManageFastPairAccount(
|
||||
@NonNull FastPairManageAccountRequest request,
|
||||
@NonNull FastPairManageActionCallback callback) {
|
||||
mMockFastPairDataProviderService.onManageFastPairAccount(request, callback);
|
||||
callback.onSuccess();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onManageFastPairAccountDevice(
|
||||
@NonNull FastPairManageAccountDeviceRequest request,
|
||||
@NonNull FastPairManageActionCallback callback) {
|
||||
mMockFastPairDataProviderService.onManageFastPairAccountDevice(request, callback);
|
||||
callback.onSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
public static class MyErrorPathProvider extends FastPairDataProviderService {
|
||||
|
||||
private final FastPairDataProviderService mMockFastPairDataProviderService;
|
||||
|
||||
public MyErrorPathProvider(@NonNull String tag, FastPairDataProviderService mock) {
|
||||
super(tag);
|
||||
mMockFastPairDataProviderService = mock;
|
||||
}
|
||||
|
||||
public IFastPairDataProvider asProvider() {
|
||||
Intent intent = new Intent();
|
||||
return IFastPairDataProvider.Stub.asInterface(onBind(intent));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFastPairAntispoofKeyDeviceMetadata(
|
||||
@NonNull FastPairAntispoofKeyDeviceMetadataRequest request,
|
||||
@NonNull FastPairAntispoofKeyDeviceMetadataCallback callback) {
|
||||
mMockFastPairDataProviderService.onLoadFastPairAntispoofKeyDeviceMetadata(
|
||||
request, callback);
|
||||
callback.onError(ERROR_CODE_BAD_REQUEST, ERROR_STRING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFastPairAccountDevicesMetadata(
|
||||
@NonNull FastPairAccountDevicesMetadataRequest request,
|
||||
@NonNull FastPairAccountDevicesMetadataCallback callback) {
|
||||
mMockFastPairDataProviderService.onLoadFastPairAccountDevicesMetadata(
|
||||
request, callback);
|
||||
callback.onError(ERROR_CODE_BAD_REQUEST, ERROR_STRING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadFastPairEligibleAccounts(
|
||||
@NonNull FastPairEligibleAccountsRequest request,
|
||||
@NonNull FastPairEligibleAccountsCallback callback) {
|
||||
mMockFastPairDataProviderService.onLoadFastPairEligibleAccounts(request, callback);
|
||||
callback.onError(ERROR_CODE_BAD_REQUEST, ERROR_STRING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onManageFastPairAccount(
|
||||
@NonNull FastPairManageAccountRequest request,
|
||||
@NonNull FastPairManageActionCallback callback) {
|
||||
mMockFastPairDataProviderService.onManageFastPairAccount(request, callback);
|
||||
callback.onError(ERROR_CODE_BAD_REQUEST, ERROR_STRING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onManageFastPairAccountDevice(
|
||||
@NonNull FastPairManageAccountDeviceRequest request,
|
||||
@NonNull FastPairManageActionCallback callback) {
|
||||
mMockFastPairDataProviderService.onManageFastPairAccountDevice(request, callback);
|
||||
callback.onError(ERROR_CODE_BAD_REQUEST, ERROR_STRING);
|
||||
}
|
||||
}
|
||||
|
||||
/* Generates AntispoofKeyDeviceMetadataRequestParcel. */
|
||||
private static FastPairAntispoofKeyDeviceMetadataRequestParcel
|
||||
genFastPairAntispoofKeyDeviceMetadataRequestParcel() {
|
||||
FastPairAntispoofKeyDeviceMetadataRequestParcel requestParcel =
|
||||
new FastPairAntispoofKeyDeviceMetadataRequestParcel();
|
||||
requestParcel.modelId = REQUEST_MODEL_ID;
|
||||
|
||||
return requestParcel;
|
||||
}
|
||||
|
||||
/* Generates AccountDevicesMetadataRequestParcel. */
|
||||
private static FastPairAccountDevicesMetadataRequestParcel
|
||||
genFastPairAccountDevicesMetadataRequestParcel() {
|
||||
FastPairAccountDevicesMetadataRequestParcel requestParcel =
|
||||
new FastPairAccountDevicesMetadataRequestParcel();
|
||||
|
||||
requestParcel.account = ACCOUNTDEVICES_METADATA_ACCOUNT;
|
||||
requestParcel.deviceAccountKeys = new ByteArrayParcel[NUM_ACCOUNT_DEVICES];
|
||||
requestParcel.deviceAccountKeys[0] = new ByteArrayParcel();
|
||||
requestParcel.deviceAccountKeys[1] = new ByteArrayParcel();
|
||||
requestParcel.deviceAccountKeys[0].byteArray = ACCOUNT_KEY;
|
||||
requestParcel.deviceAccountKeys[1].byteArray = ACCOUNT_KEY_2;
|
||||
|
||||
return requestParcel;
|
||||
}
|
||||
|
||||
/* Generates FastPairEligibleAccountsRequestParcel. */
|
||||
private static FastPairEligibleAccountsRequestParcel
|
||||
genFastPairEligibleAccountsRequestParcel() {
|
||||
FastPairEligibleAccountsRequestParcel requestParcel =
|
||||
new FastPairEligibleAccountsRequestParcel();
|
||||
// No fields since FastPairEligibleAccountsRequestParcel is just a place holder now.
|
||||
return requestParcel;
|
||||
}
|
||||
|
||||
/* Generates FastPairManageAccountRequestParcel. */
|
||||
private static FastPairManageAccountRequestParcel
|
||||
genFastPairManageAccountRequestParcel() {
|
||||
FastPairManageAccountRequestParcel requestParcel =
|
||||
new FastPairManageAccountRequestParcel();
|
||||
requestParcel.account = MANAGE_ACCOUNT;
|
||||
requestParcel.requestType = MANAGE_ACCOUNT_REQUEST_TYPE;
|
||||
|
||||
return requestParcel;
|
||||
}
|
||||
|
||||
/* Generates FastPairManageAccountDeviceRequestParcel. */
|
||||
private static FastPairManageAccountDeviceRequestParcel
|
||||
genFastPairManageAccountDeviceRequestParcel() {
|
||||
FastPairManageAccountDeviceRequestParcel requestParcel =
|
||||
new FastPairManageAccountDeviceRequestParcel();
|
||||
requestParcel.account = MANAGE_ACCOUNT;
|
||||
requestParcel.requestType = MANAGE_ACCOUNT_REQUEST_TYPE;
|
||||
requestParcel.accountKeyDeviceMetadata =
|
||||
genHappyPathFastPairAccountkeyDeviceMetadataParcel();
|
||||
|
||||
return requestParcel;
|
||||
}
|
||||
|
||||
/* Generates Happy Path AntispoofKeyDeviceMetadata. */
|
||||
private static FastPairAntispoofKeyDeviceMetadata
|
||||
genHappyPathFastPairAntispoofKeyDeviceMetadata() {
|
||||
FastPairAntispoofKeyDeviceMetadata.Builder builder =
|
||||
new FastPairAntispoofKeyDeviceMetadata.Builder();
|
||||
builder.setAntispoofPublicKey(ANTI_SPOOFING_KEY);
|
||||
builder.setFastPairDeviceMetadata(genHappyPathFastPairDeviceMetadata());
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
/* Generates Happy Path FastPairAccountKeyDeviceMetadata. */
|
||||
private static FastPairAccountKeyDeviceMetadata
|
||||
genHappyPathFastPairAccountkeyDeviceMetadata() {
|
||||
FastPairAccountKeyDeviceMetadata.Builder builder =
|
||||
new FastPairAccountKeyDeviceMetadata.Builder();
|
||||
builder.setDeviceAccountKey(ACCOUNT_KEY);
|
||||
builder.setFastPairDeviceMetadata(genHappyPathFastPairDeviceMetadata());
|
||||
builder.setSha256DeviceAccountKeyPublicAddress(SHA256_ACCOUNT_KEY_PUBLIC_ADDRESS);
|
||||
builder.setFastPairDiscoveryItem(genHappyPathFastPairDiscoveryItem());
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
/* Generates Happy Path FastPairAccountKeyDeviceMetadataParcel. */
|
||||
private static FastPairAccountKeyDeviceMetadataParcel
|
||||
genHappyPathFastPairAccountkeyDeviceMetadataParcel() {
|
||||
FastPairAccountKeyDeviceMetadataParcel parcel =
|
||||
new FastPairAccountKeyDeviceMetadataParcel();
|
||||
parcel.deviceAccountKey = ACCOUNT_KEY;
|
||||
parcel.metadata = genHappyPathFastPairDeviceMetadataParcel();
|
||||
parcel.sha256DeviceAccountKeyPublicAddress = SHA256_ACCOUNT_KEY_PUBLIC_ADDRESS;
|
||||
parcel.discoveryItem = genHappyPathFastPairDiscoveryItemParcel();
|
||||
|
||||
return parcel;
|
||||
}
|
||||
|
||||
/* Generates Happy Path DiscoveryItem. */
|
||||
private static FastPairDiscoveryItem genHappyPathFastPairDiscoveryItem() {
|
||||
FastPairDiscoveryItem.Builder builder = new FastPairDiscoveryItem.Builder();
|
||||
|
||||
builder.setActionUrl(ACTION_URL);
|
||||
builder.setActionUrlType(ACTION_URL_TYPE);
|
||||
builder.setAppName(APP_NAME);
|
||||
builder.setAuthenticationPublicKeySecp256r1(AUTHENTICATION_PUBLIC_KEY_SEC_P256R1);
|
||||
builder.setDescription(DESCRIPTION);
|
||||
builder.setDeviceName(DEVICE_NAME);
|
||||
builder.setDisplayUrl(DISPLAY_URL);
|
||||
builder.setFirstObservationTimestampMillis(FIRST_OBSERVATION_TIMESTAMP_MILLIS);
|
||||
builder.setIconFfeUrl(ICON_FIFE_URL);
|
||||
builder.setIconPng(ICON_PNG);
|
||||
builder.setId(ID);
|
||||
builder.setLastObservationTimestampMillis(LAST_OBSERVATION_TIMESTAMP_MILLIS);
|
||||
builder.setMacAddress(MAC_ADDRESS);
|
||||
builder.setPackageName(PACKAGE_NAME);
|
||||
builder.setPendingAppInstallTimestampMillis(PENDING_APP_INSTALL_TIMESTAMP_MILLIS);
|
||||
builder.setRssi(RSSI);
|
||||
builder.setState(STATE);
|
||||
builder.setTitle(TITLE);
|
||||
builder.setTriggerId(TRIGGER_ID);
|
||||
builder.setTxPower(TX_POWER);
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
/* Generates Happy Path DiscoveryItemParcel. */
|
||||
private static FastPairDiscoveryItemParcel genHappyPathFastPairDiscoveryItemParcel() {
|
||||
FastPairDiscoveryItemParcel parcel = new FastPairDiscoveryItemParcel();
|
||||
|
||||
parcel.actionUrl = ACTION_URL;
|
||||
parcel.actionUrlType = ACTION_URL_TYPE;
|
||||
parcel.appName = APP_NAME;
|
||||
parcel.authenticationPublicKeySecp256r1 = AUTHENTICATION_PUBLIC_KEY_SEC_P256R1;
|
||||
parcel.description = DESCRIPTION;
|
||||
parcel.deviceName = DEVICE_NAME;
|
||||
parcel.displayUrl = DISPLAY_URL;
|
||||
parcel.firstObservationTimestampMillis = FIRST_OBSERVATION_TIMESTAMP_MILLIS;
|
||||
parcel.iconFifeUrl = ICON_FIFE_URL;
|
||||
parcel.iconPng = ICON_PNG;
|
||||
parcel.id = ID;
|
||||
parcel.lastObservationTimestampMillis = LAST_OBSERVATION_TIMESTAMP_MILLIS;
|
||||
parcel.macAddress = MAC_ADDRESS;
|
||||
parcel.packageName = PACKAGE_NAME;
|
||||
parcel.pendingAppInstallTimestampMillis = PENDING_APP_INSTALL_TIMESTAMP_MILLIS;
|
||||
parcel.rssi = RSSI;
|
||||
parcel.state = STATE;
|
||||
parcel.title = TITLE;
|
||||
parcel.triggerId = TRIGGER_ID;
|
||||
parcel.txPower = TX_POWER;
|
||||
|
||||
return parcel;
|
||||
}
|
||||
|
||||
/* Generates Happy Path DeviceMetadata. */
|
||||
private static FastPairDeviceMetadata genHappyPathFastPairDeviceMetadata() {
|
||||
FastPairDeviceMetadata.Builder builder = new FastPairDeviceMetadata.Builder();
|
||||
builder.setBleTxPower(BLE_TX_POWER);
|
||||
builder.setConnectSuccessCompanionAppInstalled(CONNECT_SUCCESS_COMPANION_APP_INSTALLED);
|
||||
builder.setConnectSuccessCompanionAppNotInstalled(
|
||||
CONNECT_SUCCESS_COMPANION_APP_NOT_INSTALLED);
|
||||
builder.setDeviceType(DEVICE_TYPE);
|
||||
builder.setDownloadCompanionAppDescription(DOWNLOAD_COMPANION_APP_DESCRIPTION);
|
||||
builder.setFailConnectGoToSettingsDescription(FAIL_CONNECT_GOTO_SETTINGS_DESCRIPTION);
|
||||
builder.setImage(IMAGE);
|
||||
builder.setImageUrl(IMAGE_URL);
|
||||
builder.setInitialNotificationDescription(INITIAL_NOTIFICATION_DESCRIPTION);
|
||||
builder.setInitialNotificationDescriptionNoAccount(
|
||||
INITIAL_NOTIFICATION_DESCRIPTION_NO_ACCOUNT);
|
||||
builder.setInitialPairingDescription(INITIAL_PAIRING_DESCRIPTION);
|
||||
builder.setIntentUri(INTENT_URI);
|
||||
builder.setName(NAME);
|
||||
builder.setOpenCompanionAppDescription(OPEN_COMPANION_APP_DESCRIPTION);
|
||||
builder.setRetroactivePairingDescription(RETRO_ACTIVE_PAIRING_DESCRIPTION);
|
||||
builder.setSubsequentPairingDescription(SUBSEQUENT_PAIRING_DESCRIPTION);
|
||||
builder.setTriggerDistance(TRIGGER_DISTANCE);
|
||||
builder.setTrueWirelessImageUrlCase(TRUE_WIRELESS_IMAGE_URL_CASE);
|
||||
builder.setTrueWirelessImageUrlLeftBud(TRUE_WIRELESS_IMAGE_URL_LEFT_BUD);
|
||||
builder.setTrueWirelessImageUrlRightBud(TRUE_WIRELESS_IMAGE_URL_RIGHT_BUD);
|
||||
builder.setUnableToConnectDescription(UNABLE_TO_CONNECT_DESCRIPTION);
|
||||
builder.setUnableToConnectTitle(UNABLE_TO_CONNECT_TITLE);
|
||||
builder.setUpdateCompanionAppDescription(UPDATE_COMPANION_APP_DESCRIPTION);
|
||||
builder.setWaitLaunchCompanionAppDescription(WAIT_LAUNCH_COMPANION_APP_DESCRIPTION);
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
/* Generates Happy Path DeviceMetadataParcel. */
|
||||
private static FastPairDeviceMetadataParcel genHappyPathFastPairDeviceMetadataParcel() {
|
||||
FastPairDeviceMetadataParcel parcel = new FastPairDeviceMetadataParcel();
|
||||
|
||||
parcel.bleTxPower = BLE_TX_POWER;
|
||||
parcel.connectSuccessCompanionAppInstalled = CONNECT_SUCCESS_COMPANION_APP_INSTALLED;
|
||||
parcel.connectSuccessCompanionAppNotInstalled =
|
||||
CONNECT_SUCCESS_COMPANION_APP_NOT_INSTALLED;
|
||||
parcel.deviceType = DEVICE_TYPE;
|
||||
parcel.downloadCompanionAppDescription = DOWNLOAD_COMPANION_APP_DESCRIPTION;
|
||||
parcel.failConnectGoToSettingsDescription = FAIL_CONNECT_GOTO_SETTINGS_DESCRIPTION;
|
||||
parcel.image = IMAGE;
|
||||
parcel.imageUrl = IMAGE_URL;
|
||||
parcel.initialNotificationDescription = INITIAL_NOTIFICATION_DESCRIPTION;
|
||||
parcel.initialNotificationDescriptionNoAccount =
|
||||
INITIAL_NOTIFICATION_DESCRIPTION_NO_ACCOUNT;
|
||||
parcel.initialPairingDescription = INITIAL_PAIRING_DESCRIPTION;
|
||||
parcel.intentUri = INTENT_URI;
|
||||
parcel.name = NAME;
|
||||
parcel.openCompanionAppDescription = OPEN_COMPANION_APP_DESCRIPTION;
|
||||
parcel.retroactivePairingDescription = RETRO_ACTIVE_PAIRING_DESCRIPTION;
|
||||
parcel.subsequentPairingDescription = SUBSEQUENT_PAIRING_DESCRIPTION;
|
||||
parcel.triggerDistance = TRIGGER_DISTANCE;
|
||||
parcel.trueWirelessImageUrlCase = TRUE_WIRELESS_IMAGE_URL_CASE;
|
||||
parcel.trueWirelessImageUrlLeftBud = TRUE_WIRELESS_IMAGE_URL_LEFT_BUD;
|
||||
parcel.trueWirelessImageUrlRightBud = TRUE_WIRELESS_IMAGE_URL_RIGHT_BUD;
|
||||
parcel.unableToConnectDescription = UNABLE_TO_CONNECT_DESCRIPTION;
|
||||
parcel.unableToConnectTitle = UNABLE_TO_CONNECT_TITLE;
|
||||
parcel.updateCompanionAppDescription = UPDATE_COMPANION_APP_DESCRIPTION;
|
||||
parcel.waitLaunchCompanionAppDescription = WAIT_LAUNCH_COMPANION_APP_DESCRIPTION;
|
||||
|
||||
return parcel;
|
||||
}
|
||||
|
||||
/* Generates Happy Path FastPairEligibleAccount. */
|
||||
private static FastPairEligibleAccount genHappyPathFastPairEligibleAccount(
|
||||
Account account, boolean optIn) {
|
||||
FastPairEligibleAccount.Builder builder = new FastPairEligibleAccount.Builder();
|
||||
builder.setAccount(account);
|
||||
builder.setOptIn(optIn);
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
/* Verifies Happy Path AntispoofKeyDeviceMetadataRequest. */
|
||||
private static void ensureHappyPathAsExpected(
|
||||
FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataRequest request) {
|
||||
assertThat(request.getModelId()).isEqualTo(REQUEST_MODEL_ID);
|
||||
}
|
||||
|
||||
/* Verifies Happy Path AccountDevicesMetadataRequest. */
|
||||
private static void ensureHappyPathAsExpected(
|
||||
FastPairDataProviderService.FastPairAccountDevicesMetadataRequest request) {
|
||||
assertThat(request.getAccount()).isEqualTo(ACCOUNTDEVICES_METADATA_ACCOUNT);
|
||||
assertThat(request.getDeviceAccountKeys().size()).isEqualTo(ACCOUNTKEY_DEVICE_NUM);
|
||||
assertThat(request.getDeviceAccountKeys()).contains(ACCOUNT_KEY);
|
||||
assertThat(request.getDeviceAccountKeys()).contains(ACCOUNT_KEY_2);
|
||||
}
|
||||
|
||||
/* Verifies Happy Path FastPairEligibleAccountsRequest. */
|
||||
@SuppressWarnings("UnusedVariable")
|
||||
private static void ensureHappyPathAsExpected(
|
||||
FastPairDataProviderService.FastPairEligibleAccountsRequest request) {
|
||||
// No fields since FastPairEligibleAccountsRequest is just a place holder now.
|
||||
}
|
||||
|
||||
/* Verifies Happy Path FastPairManageAccountRequest. */
|
||||
private static void ensureHappyPathAsExpected(
|
||||
FastPairDataProviderService.FastPairManageAccountRequest request) {
|
||||
assertThat(request.getAccount()).isEqualTo(MANAGE_ACCOUNT);
|
||||
assertThat(request.getRequestType()).isEqualTo(MANAGE_ACCOUNT_REQUEST_TYPE);
|
||||
}
|
||||
|
||||
/* Verifies Happy Path FastPairManageAccountDeviceRequest. */
|
||||
private static void ensureHappyPathAsExpected(
|
||||
FastPairDataProviderService.FastPairManageAccountDeviceRequest request) {
|
||||
assertThat(request.getAccount()).isEqualTo(MANAGE_ACCOUNT);
|
||||
assertThat(request.getRequestType()).isEqualTo(MANAGE_ACCOUNT_REQUEST_TYPE);
|
||||
ensureHappyPathAsExpected(request.getAccountKeyDeviceMetadata());
|
||||
}
|
||||
|
||||
/* Verifies Happy Path AntispoofKeyDeviceMetadataParcel. */
|
||||
private static void ensureHappyPathAsExpected(
|
||||
FastPairAntispoofKeyDeviceMetadataParcel metadataParcel) {
|
||||
assertThat(metadataParcel).isNotNull();
|
||||
assertThat(metadataParcel.antispoofPublicKey).isEqualTo(ANTI_SPOOFING_KEY);
|
||||
ensureHappyPathAsExpected(metadataParcel.deviceMetadata);
|
||||
}
|
||||
|
||||
/* Verifies Happy Path FastPairAccountKeyDeviceMetadataParcel[]. */
|
||||
private static void ensureHappyPathAsExpected(
|
||||
FastPairAccountKeyDeviceMetadataParcel[] metadataParcels) {
|
||||
assertThat(metadataParcels).isNotNull();
|
||||
assertThat(metadataParcels).hasLength(ACCOUNTKEY_DEVICE_NUM);
|
||||
for (FastPairAccountKeyDeviceMetadataParcel parcel: metadataParcels) {
|
||||
ensureHappyPathAsExpected(parcel);
|
||||
}
|
||||
}
|
||||
|
||||
/* Verifies Happy Path FastPairAccountKeyDeviceMetadataParcel. */
|
||||
private static void ensureHappyPathAsExpected(
|
||||
FastPairAccountKeyDeviceMetadataParcel metadataParcel) {
|
||||
assertThat(metadataParcel).isNotNull();
|
||||
assertThat(metadataParcel.deviceAccountKey).isEqualTo(ACCOUNT_KEY);
|
||||
assertThat(metadataParcel.sha256DeviceAccountKeyPublicAddress)
|
||||
.isEqualTo(SHA256_ACCOUNT_KEY_PUBLIC_ADDRESS);
|
||||
ensureHappyPathAsExpected(metadataParcel.metadata);
|
||||
ensureHappyPathAsExpected(metadataParcel.discoveryItem);
|
||||
}
|
||||
|
||||
/* Verifies Happy Path FastPairAccountKeyDeviceMetadata. */
|
||||
private static void ensureHappyPathAsExpected(
|
||||
FastPairAccountKeyDeviceMetadata metadata) {
|
||||
assertThat(metadata.getDeviceAccountKey()).isEqualTo(ACCOUNT_KEY);
|
||||
assertThat(metadata.getSha256DeviceAccountKeyPublicAddress())
|
||||
.isEqualTo(SHA256_ACCOUNT_KEY_PUBLIC_ADDRESS);
|
||||
ensureHappyPathAsExpected(metadata.getFastPairDeviceMetadata());
|
||||
ensureHappyPathAsExpected(metadata.getFastPairDiscoveryItem());
|
||||
}
|
||||
|
||||
/* Verifies Happy Path DeviceMetadataParcel. */
|
||||
private static void ensureHappyPathAsExpected(FastPairDeviceMetadataParcel metadataParcel) {
|
||||
assertThat(metadataParcel).isNotNull();
|
||||
assertThat(metadataParcel.bleTxPower).isEqualTo(BLE_TX_POWER);
|
||||
|
||||
assertThat(metadataParcel.connectSuccessCompanionAppInstalled).isEqualTo(
|
||||
CONNECT_SUCCESS_COMPANION_APP_INSTALLED);
|
||||
assertThat(metadataParcel.connectSuccessCompanionAppNotInstalled).isEqualTo(
|
||||
CONNECT_SUCCESS_COMPANION_APP_NOT_INSTALLED);
|
||||
|
||||
assertThat(metadataParcel.deviceType).isEqualTo(DEVICE_TYPE);
|
||||
assertThat(metadataParcel.downloadCompanionAppDescription).isEqualTo(
|
||||
DOWNLOAD_COMPANION_APP_DESCRIPTION);
|
||||
|
||||
assertThat(metadataParcel.failConnectGoToSettingsDescription).isEqualTo(
|
||||
FAIL_CONNECT_GOTO_SETTINGS_DESCRIPTION);
|
||||
|
||||
assertThat(metadataParcel.image).isEqualTo(IMAGE);
|
||||
assertThat(metadataParcel.imageUrl).isEqualTo(IMAGE_URL);
|
||||
assertThat(metadataParcel.initialNotificationDescription).isEqualTo(
|
||||
INITIAL_NOTIFICATION_DESCRIPTION);
|
||||
assertThat(metadataParcel.initialNotificationDescriptionNoAccount).isEqualTo(
|
||||
INITIAL_NOTIFICATION_DESCRIPTION_NO_ACCOUNT);
|
||||
assertThat(metadataParcel.initialPairingDescription).isEqualTo(INITIAL_PAIRING_DESCRIPTION);
|
||||
assertThat(metadataParcel.intentUri).isEqualTo(INTENT_URI);
|
||||
|
||||
assertThat(metadataParcel.name).isEqualTo(NAME);
|
||||
|
||||
assertThat(metadataParcel.openCompanionAppDescription).isEqualTo(
|
||||
OPEN_COMPANION_APP_DESCRIPTION);
|
||||
|
||||
assertThat(metadataParcel.retroactivePairingDescription).isEqualTo(
|
||||
RETRO_ACTIVE_PAIRING_DESCRIPTION);
|
||||
|
||||
assertThat(metadataParcel.subsequentPairingDescription).isEqualTo(
|
||||
SUBSEQUENT_PAIRING_DESCRIPTION);
|
||||
|
||||
assertThat(metadataParcel.triggerDistance).isWithin(DELTA).of(TRIGGER_DISTANCE);
|
||||
assertThat(metadataParcel.trueWirelessImageUrlCase).isEqualTo(TRUE_WIRELESS_IMAGE_URL_CASE);
|
||||
assertThat(metadataParcel.trueWirelessImageUrlLeftBud).isEqualTo(
|
||||
TRUE_WIRELESS_IMAGE_URL_LEFT_BUD);
|
||||
assertThat(metadataParcel.trueWirelessImageUrlRightBud).isEqualTo(
|
||||
TRUE_WIRELESS_IMAGE_URL_RIGHT_BUD);
|
||||
|
||||
assertThat(metadataParcel.unableToConnectDescription).isEqualTo(
|
||||
UNABLE_TO_CONNECT_DESCRIPTION);
|
||||
assertThat(metadataParcel.unableToConnectTitle).isEqualTo(UNABLE_TO_CONNECT_TITLE);
|
||||
assertThat(metadataParcel.updateCompanionAppDescription).isEqualTo(
|
||||
UPDATE_COMPANION_APP_DESCRIPTION);
|
||||
|
||||
assertThat(metadataParcel.waitLaunchCompanionAppDescription).isEqualTo(
|
||||
WAIT_LAUNCH_COMPANION_APP_DESCRIPTION);
|
||||
}
|
||||
|
||||
/* Verifies Happy Path DeviceMetadata. */
|
||||
private static void ensureHappyPathAsExpected(FastPairDeviceMetadata metadata) {
|
||||
assertThat(metadata.getBleTxPower()).isEqualTo(BLE_TX_POWER);
|
||||
assertThat(metadata.getConnectSuccessCompanionAppInstalled())
|
||||
.isEqualTo(CONNECT_SUCCESS_COMPANION_APP_INSTALLED);
|
||||
assertThat(metadata.getConnectSuccessCompanionAppNotInstalled())
|
||||
.isEqualTo(CONNECT_SUCCESS_COMPANION_APP_NOT_INSTALLED);
|
||||
assertThat(metadata.getDeviceType()).isEqualTo(DEVICE_TYPE);
|
||||
assertThat(metadata.getDownloadCompanionAppDescription())
|
||||
.isEqualTo(DOWNLOAD_COMPANION_APP_DESCRIPTION);
|
||||
assertThat(metadata.getFailConnectGoToSettingsDescription())
|
||||
.isEqualTo(FAIL_CONNECT_GOTO_SETTINGS_DESCRIPTION);
|
||||
assertThat(metadata.getImage()).isEqualTo(IMAGE);
|
||||
assertThat(metadata.getImageUrl()).isEqualTo(IMAGE_URL);
|
||||
assertThat(metadata.getInitialNotificationDescription())
|
||||
.isEqualTo(INITIAL_NOTIFICATION_DESCRIPTION);
|
||||
assertThat(metadata.getInitialNotificationDescriptionNoAccount())
|
||||
.isEqualTo(INITIAL_NOTIFICATION_DESCRIPTION_NO_ACCOUNT);
|
||||
assertThat(metadata.getInitialPairingDescription()).isEqualTo(INITIAL_PAIRING_DESCRIPTION);
|
||||
assertThat(metadata.getIntentUri()).isEqualTo(INTENT_URI);
|
||||
assertThat(metadata.getName()).isEqualTo(NAME);
|
||||
assertThat(metadata.getOpenCompanionAppDescription())
|
||||
.isEqualTo(OPEN_COMPANION_APP_DESCRIPTION);
|
||||
assertThat(metadata.getRetroactivePairingDescription())
|
||||
.isEqualTo(RETRO_ACTIVE_PAIRING_DESCRIPTION);
|
||||
assertThat(metadata.getSubsequentPairingDescription())
|
||||
.isEqualTo(SUBSEQUENT_PAIRING_DESCRIPTION);
|
||||
assertThat(metadata.getTriggerDistance()).isWithin(DELTA).of(TRIGGER_DISTANCE);
|
||||
assertThat(metadata.getTrueWirelessImageUrlCase()).isEqualTo(TRUE_WIRELESS_IMAGE_URL_CASE);
|
||||
assertThat(metadata.getTrueWirelessImageUrlLeftBud())
|
||||
.isEqualTo(TRUE_WIRELESS_IMAGE_URL_LEFT_BUD);
|
||||
assertThat(metadata.getTrueWirelessImageUrlRightBud())
|
||||
.isEqualTo(TRUE_WIRELESS_IMAGE_URL_RIGHT_BUD);
|
||||
assertThat(metadata.getUnableToConnectDescription())
|
||||
.isEqualTo(UNABLE_TO_CONNECT_DESCRIPTION);
|
||||
assertThat(metadata.getUnableToConnectTitle()).isEqualTo(UNABLE_TO_CONNECT_TITLE);
|
||||
assertThat(metadata.getUpdateCompanionAppDescription())
|
||||
.isEqualTo(UPDATE_COMPANION_APP_DESCRIPTION);
|
||||
assertThat(metadata.getWaitLaunchCompanionAppDescription())
|
||||
.isEqualTo(WAIT_LAUNCH_COMPANION_APP_DESCRIPTION);
|
||||
}
|
||||
|
||||
/* Verifies Happy Path FastPairDiscoveryItemParcel. */
|
||||
private static void ensureHappyPathAsExpected(FastPairDiscoveryItemParcel itemParcel) {
|
||||
assertThat(itemParcel.actionUrl).isEqualTo(ACTION_URL);
|
||||
assertThat(itemParcel.actionUrlType).isEqualTo(ACTION_URL_TYPE);
|
||||
assertThat(itemParcel.appName).isEqualTo(APP_NAME);
|
||||
assertThat(itemParcel.authenticationPublicKeySecp256r1)
|
||||
.isEqualTo(AUTHENTICATION_PUBLIC_KEY_SEC_P256R1);
|
||||
assertThat(itemParcel.description).isEqualTo(DESCRIPTION);
|
||||
assertThat(itemParcel.deviceName).isEqualTo(DEVICE_NAME);
|
||||
assertThat(itemParcel.displayUrl).isEqualTo(DISPLAY_URL);
|
||||
assertThat(itemParcel.firstObservationTimestampMillis)
|
||||
.isEqualTo(FIRST_OBSERVATION_TIMESTAMP_MILLIS);
|
||||
assertThat(itemParcel.iconFifeUrl).isEqualTo(ICON_FIFE_URL);
|
||||
assertThat(itemParcel.iconPng).isEqualTo(ICON_PNG);
|
||||
assertThat(itemParcel.id).isEqualTo(ID);
|
||||
assertThat(itemParcel.lastObservationTimestampMillis)
|
||||
.isEqualTo(LAST_OBSERVATION_TIMESTAMP_MILLIS);
|
||||
assertThat(itemParcel.macAddress).isEqualTo(MAC_ADDRESS);
|
||||
assertThat(itemParcel.packageName).isEqualTo(PACKAGE_NAME);
|
||||
assertThat(itemParcel.pendingAppInstallTimestampMillis)
|
||||
.isEqualTo(PENDING_APP_INSTALL_TIMESTAMP_MILLIS);
|
||||
assertThat(itemParcel.rssi).isEqualTo(RSSI);
|
||||
assertThat(itemParcel.state).isEqualTo(STATE);
|
||||
assertThat(itemParcel.title).isEqualTo(TITLE);
|
||||
assertThat(itemParcel.triggerId).isEqualTo(TRIGGER_ID);
|
||||
assertThat(itemParcel.txPower).isEqualTo(TX_POWER);
|
||||
}
|
||||
|
||||
/* Verifies Happy Path FastPairDiscoveryItem. */
|
||||
private static void ensureHappyPathAsExpected(FastPairDiscoveryItem item) {
|
||||
assertThat(item.getActionUrl()).isEqualTo(ACTION_URL);
|
||||
assertThat(item.getActionUrlType()).isEqualTo(ACTION_URL_TYPE);
|
||||
assertThat(item.getAppName()).isEqualTo(APP_NAME);
|
||||
assertThat(item.getAuthenticationPublicKeySecp256r1())
|
||||
.isEqualTo(AUTHENTICATION_PUBLIC_KEY_SEC_P256R1);
|
||||
assertThat(item.getDescription()).isEqualTo(DESCRIPTION);
|
||||
assertThat(item.getDeviceName()).isEqualTo(DEVICE_NAME);
|
||||
assertThat(item.getDisplayUrl()).isEqualTo(DISPLAY_URL);
|
||||
assertThat(item.getFirstObservationTimestampMillis())
|
||||
.isEqualTo(FIRST_OBSERVATION_TIMESTAMP_MILLIS);
|
||||
assertThat(item.getIconFfeUrl()).isEqualTo(ICON_FIFE_URL);
|
||||
assertThat(item.getIconPng()).isEqualTo(ICON_PNG);
|
||||
assertThat(item.getId()).isEqualTo(ID);
|
||||
assertThat(item.getLastObservationTimestampMillis())
|
||||
.isEqualTo(LAST_OBSERVATION_TIMESTAMP_MILLIS);
|
||||
assertThat(item.getMacAddress()).isEqualTo(MAC_ADDRESS);
|
||||
assertThat(item.getPackageName()).isEqualTo(PACKAGE_NAME);
|
||||
assertThat(item.getPendingAppInstallTimestampMillis())
|
||||
.isEqualTo(PENDING_APP_INSTALL_TIMESTAMP_MILLIS);
|
||||
assertThat(item.getRssi()).isEqualTo(RSSI);
|
||||
assertThat(item.getState()).isEqualTo(STATE);
|
||||
assertThat(item.getTitle()).isEqualTo(TITLE);
|
||||
assertThat(item.getTriggerId()).isEqualTo(TRIGGER_ID);
|
||||
assertThat(item.getTxPower()).isEqualTo(TX_POWER);
|
||||
}
|
||||
|
||||
/* Verifies Happy Path EligibleAccountParcel[]. */
|
||||
private static void ensureHappyPathAsExpected(FastPairEligibleAccountParcel[] accountsParcel) {
|
||||
assertThat(accountsParcel).hasLength(ELIGIBLE_ACCOUNTS_NUM);
|
||||
|
||||
assertThat(accountsParcel[0].account).isEqualTo(ELIGIBLE_ACCOUNT_1);
|
||||
assertThat(accountsParcel[0].optIn).isEqualTo(ELIGIBLE_ACCOUNT_1_OPT_IN);
|
||||
|
||||
assertThat(accountsParcel[1].account).isEqualTo(ELIGIBLE_ACCOUNT_2);
|
||||
assertThat(accountsParcel[1].optIn).isEqualTo(ELIGIBLE_ACCOUNT_2_OPT_IN);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2021 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.cts;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.nearby.FastPairEligibleAccount;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import androidx.test.filters.SdkSuppress;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class FastPairEligibleAccountTest {
|
||||
|
||||
private static final Account ACCOUNT = new Account("abc@google.com", "type1");
|
||||
private static final Account ACCOUNT_NULL = null;
|
||||
|
||||
private static final boolean OPT_IN_TRUE = true;
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testSetGetFastPairEligibleAccountNotNull() {
|
||||
FastPairEligibleAccount eligibleAccount =
|
||||
genFastPairEligibleAccount(ACCOUNT, OPT_IN_TRUE);
|
||||
|
||||
assertThat(eligibleAccount.getAccount()).isEqualTo(ACCOUNT);
|
||||
assertThat(eligibleAccount.isOptIn()).isEqualTo(OPT_IN_TRUE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = 32, codeName = "T")
|
||||
public void testSetGetFastPairEligibleAccountNull() {
|
||||
FastPairEligibleAccount eligibleAccount =
|
||||
genFastPairEligibleAccount(ACCOUNT_NULL, OPT_IN_TRUE);
|
||||
|
||||
assertThat(eligibleAccount.getAccount()).isEqualTo(ACCOUNT_NULL);
|
||||
assertThat(eligibleAccount.isOptIn()).isEqualTo(OPT_IN_TRUE);
|
||||
}
|
||||
|
||||
/* Generates FastPairEligibleAccount. */
|
||||
private static FastPairEligibleAccount genFastPairEligibleAccount(
|
||||
Account account, boolean optIn) {
|
||||
FastPairEligibleAccount.Builder builder = new FastPairEligibleAccount.Builder();
|
||||
builder.setAccount(account);
|
||||
builder.setOptIn(optIn);
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue