Merge "Fix snippet part for FastPairDataProviderService API change." into tm-dev
diff --git a/nearby/framework/java/android/nearby/FastPairDataProviderBase.java b/nearby/framework/java/android/nearby/FastPairDataProviderService.java
similarity index 97%
rename from nearby/framework/java/android/nearby/FastPairDataProviderBase.java
rename to nearby/framework/java/android/nearby/FastPairDataProviderService.java
index 6aba3e3..c6a1a65 100644
--- a/nearby/framework/java/android/nearby/FastPairDataProviderBase.java
+++ b/nearby/framework/java/android/nearby/FastPairDataProviderService.java
@@ -21,6 +21,8 @@
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;
import android.nearby.aidl.FastPairAccountDevicesMetadataRequestParcel;
import android.nearby.aidl.FastPairAccountKeyDeviceMetadataParcel;
@@ -46,7 +48,7 @@
import java.util.List;
/**
- * Base class for fast pair providers outside the system server.
+ * A service class for fast pair data providers outside the system server.
*
* Fast pair providers should be wrapped in a non-exported service which returns the result of
* {@link #getBinder()} from the service's {@link android.app.Service#onBind(Intent)} method. The
@@ -58,7 +60,7 @@
* @hide
*/
@SystemApi
-public abstract class FastPairDataProviderBase {
+public abstract class FastPairDataProviderService extends Service {
/**
* The action the wrapping service should have in its intent filter to implement the
* {@link android.nearby.FastPairDataProviderBase}.
@@ -123,17 +125,23 @@
private final String mTag;
/**
- * Constructor of FastPairDataProviderBase.
+ * Constructor of FastPairDataProviderService.
*
* @param tag TAG for on device logging.
* @hide
*/
@SystemApi
- public FastPairDataProviderBase(@NonNull String tag) {
+ public FastPairDataProviderService(@NonNull String tag) {
mBinder = new Service();
mTag = tag;
}
+ @Override
+ @NonNull
+ public final IBinder onBind(@NonNull Intent intent) {
+ return mBinder;
+ }
+
/**
* Callback to be invoked when an AntispoofKeyed device metadata is loaded.
*
@@ -287,17 +295,6 @@
@NonNull FastPairManageActionCallback callback);
/**
- * Returns the IBinder instance that should be returned from the {@link
- * android.app.Service#onBind(Intent)} method of the wrapping service.
- *
- * @hide
- */
- @SystemApi
- public final @Nullable IBinder getBinder() {
- return mBinder;
- }
-
- /**
* Class for reading FastPairAntispoofKeyDeviceMetadataRequest, which specifies the model ID of
* a Fast Pair device. To fulfill this request, corresponding
* {@link FastPairAntispoofKeyDeviceMetadata} should be fetched and returned.
diff --git a/nearby/framework/java/android/nearby/INearbyManager.aidl b/nearby/framework/java/android/nearby/INearbyManager.aidl
index e5c4102..62e109e 100644
--- a/nearby/framework/java/android/nearby/INearbyManager.aidl
+++ b/nearby/framework/java/android/nearby/INearbyManager.aidl
@@ -28,7 +28,7 @@
*/
interface INearbyManager {
- void registerScanListener(in ScanRequest scanRequest, in IScanListener listener);
+ int registerScanListener(in ScanRequest scanRequest, in IScanListener listener);
void unregisterScanListener(in IScanListener listener);
diff --git a/nearby/framework/java/android/nearby/NearbyManager.java b/nearby/framework/java/android/nearby/NearbyManager.java
index 1f6edd3..2654046 100644
--- a/nearby/framework/java/android/nearby/NearbyManager.java
+++ b/nearby/framework/java/android/nearby/NearbyManager.java
@@ -16,9 +16,12 @@
package android.nearby;
+import android.Manifest;
import android.annotation.CallbackExecutor;
+import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.RequiresPermission;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.annotation.SystemService;
@@ -48,6 +51,25 @@
public class NearbyManager {
/**
+ * Represents the scanning state.
+ *
+ * @hide
+ */
+ @IntDef({
+ ScanStatus.UNKNOWN,
+ ScanStatus.SUCCESS,
+ ScanStatus.ERROR,
+ })
+ public @interface ScanStatus {
+ // Default, invalid state.
+ int UNKNOWN = 0;
+ // The successful state.
+ int SUCCESS = 1;
+ // Failed state.
+ int ERROR = 2;
+ }
+
+ /**
* Whether allows Fast Pair to scan.
*
* (0 = disabled, 1 = enabled)
@@ -68,7 +90,7 @@
/**
* Creates a new NearbyManager.
*
- * @param service The service object.
+ * @param service the service object
*/
NearbyManager(@NonNull INearbyManager service) {
mService = service;
@@ -93,11 +115,16 @@
* Start scan for nearby devices with given parameters. Devices matching {@link ScanRequest}
* will be delivered through the given callback.
*
- * @param scanRequest Various parameters clients send when requesting scanning.
- * @param executor Executor where the listener method is called.
- * @param scanCallback The callback to notify clients when there is a scan result.
+ * @param scanRequest various parameters clients send when requesting scanning
+ * @param executor executor where the listener method is called
+ * @param scanCallback the callback to notify clients when there is a scan result
+ *
+ * @return whether scanning was successfully started
*/
- public void startScan(@NonNull ScanRequest scanRequest,
+ @RequiresPermission(allOf = {android.Manifest.permission.BLUETOOTH_SCAN,
+ android.Manifest.permission.BLUETOOTH_PRIVILEGED})
+ @ScanStatus
+ public int startScan(@NonNull ScanRequest scanRequest,
@CallbackExecutor @NonNull Executor executor,
@NonNull ScanCallback scanCallback) {
Objects.requireNonNull(scanRequest, "scanRequest must not be null");
@@ -115,8 +142,12 @@
Preconditions.checkState(transport.isRegistered());
transport.setExecutor(executor);
}
- mService.registerScanListener(scanRequest, transport);
+ @ScanStatus int status = mService.registerScanListener(scanRequest, transport);
+ if (status != ScanStatus.SUCCESS) {
+ return status;
+ }
sScanListeners.put(scanCallback, new WeakReference<>(transport));
+ return ScanStatus.SUCCESS;
}
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
@@ -131,9 +162,11 @@
* Suppressed lint: Registration methods should have overload that accepts delivery Executor.
* Already have executor in startScan() method.
*
- * @param scanCallback The callback that was used to start the scan.
+ * @param scanCallback the callback that was used to start the scan
*/
@SuppressLint("ExecutorRegistration")
+ @RequiresPermission(allOf = {android.Manifest.permission.BLUETOOTH_SCAN,
+ android.Manifest.permission.BLUETOOTH_PRIVILEGED})
public void stopScan(@NonNull ScanCallback scanCallback) {
Preconditions.checkArgument(scanCallback != null,
"invalid null scanCallback");
@@ -155,10 +188,12 @@
/**
* Start broadcasting the request using nearby specification.
*
- * @param broadcastRequest Request for the nearby broadcast.
- * @param executor Executor for running the callback.
- * @param callback Callback for notifying the client.
+ * @param broadcastRequest request for the nearby broadcast
+ * @param executor executor for running the callback
+ * @param callback callback for notifying the client
*/
+ @RequiresPermission(allOf = {Manifest.permission.BLUETOOTH_ADVERTISE,
+ android.Manifest.permission.BLUETOOTH_PRIVILEGED})
public void startBroadcast(@NonNull BroadcastRequest broadcastRequest,
@CallbackExecutor @NonNull Executor executor, @NonNull BroadcastCallback callback) {
try {
@@ -184,9 +219,11 @@
/**
* Stop the broadcast associated with the given callback.
*
- * @param callback The callback that was used for starting the broadcast.
+ * @param callback the callback that was used for starting the broadcast
*/
@SuppressLint("ExecutorRegistration")
+ @RequiresPermission(allOf = {Manifest.permission.BLUETOOTH_ADVERTISE,
+ android.Manifest.permission.BLUETOOTH_PRIVILEGED})
public void stopBroadcast(@NonNull BroadcastCallback callback) {
try {
synchronized (sBroadcastListeners) {
@@ -206,9 +243,9 @@
/**
* Read from {@link Settings} whether Fast Pair scan is enabled.
*
- * @param context the {@link Context} to query the setting.
- * @param def the default value if no setting value.
- * @return whether the Fast Pair is enabled.
+ * @param context the {@link Context} to query the setting
+ * @param def the default value if no setting value
+ * @return whether the Fast Pair is enabled
*/
public static boolean getFastPairScanEnabled(@NonNull Context context, boolean def) {
final int enabled = Settings.Secure.getInt(
@@ -219,8 +256,8 @@
/**
* Write into {@link Settings} whether Fast Pair scan is enabled
*
- * @param context the {@link Context} to set the setting.
- * @param enable whether the Fast Pair scan should be enabled.
+ * @param context the {@link Context} to set the setting
+ * @param enable whether the Fast Pair scan should be enabled
*/
public static void setFastPairScanEnabled(@NonNull Context context, boolean enable) {
Settings.Secure.putInt(
diff --git a/nearby/service/java/com/android/server/nearby/NearbyService.java b/nearby/service/java/com/android/server/nearby/NearbyService.java
index ca9bca3..d721575 100644
--- a/nearby/service/java/com/android/server/nearby/NearbyService.java
+++ b/nearby/service/java/com/android/server/nearby/NearbyService.java
@@ -31,6 +31,7 @@
import android.nearby.IBroadcastListener;
import android.nearby.INearbyManager;
import android.nearby.IScanListener;
+import android.nearby.NearbyManager;
import android.nearby.ScanRequest;
import android.util.Log;
@@ -99,8 +100,12 @@
}
@Override
- public void registerScanListener(ScanRequest scanRequest, IScanListener listener) {
- mProviderManager.registerScanListener(scanRequest, listener);
+ @NearbyManager.ScanStatus
+ public int registerScanListener(ScanRequest scanRequest, IScanListener listener) {
+ if (mProviderManager.registerScanListener(scanRequest, listener)) {
+ return NearbyManager.ScanStatus.SUCCESS;
+ }
+ return NearbyManager.ScanStatus.ERROR;
}
@Override
diff --git a/nearby/service/java/com/android/server/nearby/provider/DiscoveryProviderManager.java b/nearby/service/java/com/android/server/nearby/provider/DiscoveryProviderManager.java
index fbbfae1..7ff3110 100644
--- a/nearby/service/java/com/android/server/nearby/provider/DiscoveryProviderManager.java
+++ b/nearby/service/java/com/android/server/nearby/provider/DiscoveryProviderManager.java
@@ -95,7 +95,7 @@
/**
* Registers the listener in the manager and starts scan according to the requested scan mode.
*/
- public void registerScanListener(ScanRequest scanRequest, IScanListener listener) {
+ public boolean registerScanListener(ScanRequest scanRequest, IScanListener listener) {
synchronized (mLock) {
IBinder listenerBinder = listener.asBinder();
if (mScanTypeScanListenerRecordMap.containsKey(listener.asBinder())) {
@@ -103,11 +103,13 @@
.get(listenerBinder).getScanRequest();
if (scanRequest.equals(savedScanRequest)) {
Log.d(TAG, "Already registered the scanRequest: " + scanRequest);
- return;
+ return true;
}
}
- startProviders(scanRequest);
+ if (!startProviders(scanRequest)) {
+ return false;
+ }
ScanListenerRecord scanListenerRecord = new ScanListenerRecord(scanRequest, listener);
mScanTypeScanListenerRecordMap.put(listenerBinder, scanListenerRecord);
@@ -116,6 +118,7 @@
mScanMode = scanRequest.getScanMode();
invalidateProviderScanMode();
}
+ return true;
}
}
@@ -159,10 +162,14 @@
}
}
- private void startProviders(ScanRequest scanRequest) {
+ // Returns false when fail to start all the providers. Returns true if any one of the provider
+ // starts successfully.
+ private boolean startProviders(ScanRequest scanRequest) {
if (scanRequest.isBleEnabled()) {
startBleProvider(scanRequest);
+ return true;
}
+ return false;
}
private void startBleProvider(ScanRequest scanRequest) {
diff --git a/nearby/service/java/com/android/server/nearby/provider/FastPairDataProvider.java b/nearby/service/java/com/android/server/nearby/provider/FastPairDataProvider.java
index 8420b60..0f99a2f 100644
--- a/nearby/service/java/com/android/server/nearby/provider/FastPairDataProvider.java
+++ b/nearby/service/java/com/android/server/nearby/provider/FastPairDataProvider.java
@@ -19,7 +19,7 @@
import android.accounts.Account;
import android.annotation.Nullable;
import android.content.Context;
-import android.nearby.FastPairDataProviderBase;
+import android.nearby.FastPairDataProviderService;
import android.nearby.aidl.ByteArrayParcel;
import android.nearby.aidl.FastPairAccountDevicesMetadataRequestParcel;
import android.nearby.aidl.FastPairAntispoofKeyDeviceMetadataRequestParcel;
@@ -72,7 +72,7 @@
private FastPairDataProvider(Context context) {
mProxyFastPairDataProvider = ProxyFastPairDataProvider.create(
- context, FastPairDataProviderBase.ACTION_FAST_PAIR_DATA_PROVIDER);
+ context, FastPairDataProviderService.ACTION_FAST_PAIR_DATA_PROVIDER);
if (mProxyFastPairDataProvider == null) {
Log.d("FastPairService", "fail to initiate the fast pair proxy provider");
} else {
@@ -109,7 +109,7 @@
FastPairManageAccountRequestParcel requestParcel =
new FastPairManageAccountRequestParcel();
requestParcel.account = account;
- requestParcel.requestType = FastPairDataProviderBase.MANAGE_REQUEST_ADD;
+ requestParcel.requestType = FastPairDataProviderService.MANAGE_REQUEST_ADD;
mProxyFastPairDataProvider.manageFastPairAccount(requestParcel);
return;
}
@@ -126,7 +126,7 @@
FastPairManageAccountDeviceRequestParcel requestParcel =
new FastPairManageAccountDeviceRequestParcel();
requestParcel.account = account;
- requestParcel.requestType = FastPairDataProviderBase.MANAGE_REQUEST_ADD;
+ requestParcel.requestType = FastPairDataProviderService.MANAGE_REQUEST_ADD;
requestParcel.accountKeyDeviceMetadata =
Utils.convertToFastPairAccountKeyDeviceMetadata(uploadInfo);
mProxyFastPairDataProvider.manageFastPairAccountDevice(requestParcel);
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/FastPairDataProviderBaseTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/FastPairDataProviderServiceTest.java
similarity index 90%
rename from nearby/tests/cts/fastpair/src/android/nearby/cts/FastPairDataProviderBaseTest.java
rename to nearby/tests/cts/fastpair/src/android/nearby/cts/FastPairDataProviderServiceTest.java
index 17b2e36..171b6e8 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/FastPairDataProviderBaseTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/FastPairDataProviderServiceTest.java
@@ -24,9 +24,10 @@
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.FastPairDataProviderBase;
+import android.nearby.FastPairDataProviderService;
import android.nearby.FastPairDeviceMetadata;
import android.nearby.FastPairDiscoveryItem;
import android.nearby.FastPairEligibleAccount;
@@ -62,9 +63,9 @@
import org.mockito.Mock;
@RunWith(AndroidJUnit4.class)
-public class FastPairDataProviderBaseTest {
+public class FastPairDataProviderServiceTest {
- private static final String TAG = "FastPairDataProviderBaseTest";
+ 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";
@@ -89,9 +90,9 @@
private static final int NUM_ACCOUNT_DEVICES = 2;
private static final int ERROR_CODE_BAD_REQUEST =
- FastPairDataProviderBase.ERROR_CODE_BAD_REQUEST;
+ FastPairDataProviderService.ERROR_CODE_BAD_REQUEST;
private static final int MANAGE_ACCOUNT_REQUEST_TYPE =
- FastPairDataProviderBase.MANAGE_REQUEST_ADD;
+ 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";
@@ -202,7 +203,7 @@
@Captor private ArgumentCaptor<FastPairAccountKeyDeviceMetadataParcel[]>
mFastPairAccountKeyDeviceMetadataParcelsArgumentCaptor;
- @Mock private FastPairDataProviderBase mMockFastPairDataProviderBase;
+ @Mock private FastPairDataProviderService mMockFastPairDataProviderService;
@Mock private IFastPairAntispoofKeyDeviceMetadataCallback.Stub
mAntispoofKeyDeviceMetadataCallback;
@Mock private IFastPairAccountDevicesMetadataCallback.Stub mAccountDevicesMetadataCallback;
@@ -218,9 +219,9 @@
initMocks(this);
mHappyPathFastPairDataProvider =
- new MyHappyPathProvider(TAG, mMockFastPairDataProviderBase);
+ new MyHappyPathProvider(TAG, mMockFastPairDataProviderService);
mErrorPathFastPairDataProvider =
- new MyErrorPathProvider(TAG, mMockFastPairDataProviderBase);
+ new MyErrorPathProvider(TAG, mMockFastPairDataProviderService);
}
@Test
@@ -232,13 +233,14 @@
mAntispoofKeyDeviceMetadataCallback);
// OEM receives request and verifies that it is as expected.
- final ArgumentCaptor<FastPairDataProviderBase.FastPairAntispoofKeyDeviceMetadataRequest>
+ final ArgumentCaptor<FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataRequest>
fastPairAntispoofKeyDeviceMetadataRequestCaptor =
ArgumentCaptor.forClass(
- FastPairDataProviderBase.FastPairAntispoofKeyDeviceMetadataRequest.class);
- verify(mMockFastPairDataProviderBase).onLoadFastPairAntispoofKeyDeviceMetadata(
+ FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataRequest.class
+ );
+ verify(mMockFastPairDataProviderService).onLoadFastPairAntispoofKeyDeviceMetadata(
fastPairAntispoofKeyDeviceMetadataRequestCaptor.capture(),
- any(FastPairDataProviderBase.FastPairAntispoofKeyDeviceMetadataCallback.class));
+ any(FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataCallback.class));
ensureHappyPathAsExpected(fastPairAntispoofKeyDeviceMetadataRequestCaptor.getValue());
// AOSP receives responses and verifies that it is as expected.
@@ -259,13 +261,13 @@
mAccountDevicesMetadataCallback);
// OEM receives request and verifies that it is as expected.
- final ArgumentCaptor<FastPairDataProviderBase.FastPairAccountDevicesMetadataRequest>
+ final ArgumentCaptor<FastPairDataProviderService.FastPairAccountDevicesMetadataRequest>
fastPairAccountDevicesMetadataRequestCaptor =
ArgumentCaptor.forClass(
- FastPairDataProviderBase.FastPairAccountDevicesMetadataRequest.class);
- verify(mMockFastPairDataProviderBase).onLoadFastPairAccountDevicesMetadata(
+ FastPairDataProviderService.FastPairAccountDevicesMetadataRequest.class);
+ verify(mMockFastPairDataProviderService).onLoadFastPairAccountDevicesMetadata(
fastPairAccountDevicesMetadataRequestCaptor.capture(),
- any(FastPairDataProviderBase.FastPairAccountDevicesMetadataCallback.class));
+ any(FastPairDataProviderService.FastPairAccountDevicesMetadataCallback.class));
ensureHappyPathAsExpected(fastPairAccountDevicesMetadataRequestCaptor.getValue());
// AOSP receives responses and verifies that it is as expected.
@@ -284,13 +286,13 @@
mEligibleAccountsCallback);
// OEM receives request and verifies that it is as expected.
- final ArgumentCaptor<FastPairDataProviderBase.FastPairEligibleAccountsRequest>
+ final ArgumentCaptor<FastPairDataProviderService.FastPairEligibleAccountsRequest>
fastPairEligibleAccountsRequestCaptor =
ArgumentCaptor.forClass(
- FastPairDataProviderBase.FastPairEligibleAccountsRequest.class);
- verify(mMockFastPairDataProviderBase).onLoadFastPairEligibleAccounts(
+ FastPairDataProviderService.FastPairEligibleAccountsRequest.class);
+ verify(mMockFastPairDataProviderService).onLoadFastPairEligibleAccounts(
fastPairEligibleAccountsRequestCaptor.capture(),
- any(FastPairDataProviderBase.FastPairEligibleAccountsCallback.class));
+ any(FastPairDataProviderService.FastPairEligibleAccountsCallback.class));
ensureHappyPathAsExpected(fastPairEligibleAccountsRequestCaptor.getValue());
// AOSP receives responses and verifies that it is as expected.
@@ -308,13 +310,13 @@
mManageAccountCallback);
// OEM receives request and verifies that it is as expected.
- final ArgumentCaptor<FastPairDataProviderBase.FastPairManageAccountRequest>
+ final ArgumentCaptor<FastPairDataProviderService.FastPairManageAccountRequest>
fastPairManageAccountRequestCaptor =
ArgumentCaptor.forClass(
- FastPairDataProviderBase.FastPairManageAccountRequest.class);
- verify(mMockFastPairDataProviderBase).onManageFastPairAccount(
+ FastPairDataProviderService.FastPairManageAccountRequest.class);
+ verify(mMockFastPairDataProviderService).onManageFastPairAccount(
fastPairManageAccountRequestCaptor.capture(),
- any(FastPairDataProviderBase.FastPairManageActionCallback.class));
+ any(FastPairDataProviderService.FastPairManageActionCallback.class));
ensureHappyPathAsExpected(fastPairManageAccountRequestCaptor.getValue());
// AOSP receives SUCCESS response.
@@ -330,13 +332,13 @@
mManageAccountDeviceCallback);
// OEM receives request and verifies that it is as expected.
- final ArgumentCaptor<FastPairDataProviderBase.FastPairManageAccountDeviceRequest>
+ final ArgumentCaptor<FastPairDataProviderService.FastPairManageAccountDeviceRequest>
fastPairManageAccountDeviceRequestCaptor =
ArgumentCaptor.forClass(
- FastPairDataProviderBase.FastPairManageAccountDeviceRequest.class);
- verify(mMockFastPairDataProviderBase).onManageFastPairAccountDevice(
+ FastPairDataProviderService.FastPairManageAccountDeviceRequest.class);
+ verify(mMockFastPairDataProviderService).onManageFastPairAccountDevice(
fastPairManageAccountDeviceRequestCaptor.capture(),
- any(FastPairDataProviderBase.FastPairManageActionCallback.class));
+ any(FastPairDataProviderService.FastPairManageActionCallback.class));
ensureHappyPathAsExpected(fastPairManageAccountDeviceRequestCaptor.getValue());
// AOSP receives SUCCESS response.
@@ -349,9 +351,9 @@
mErrorPathFastPairDataProvider.asProvider().loadFastPairAntispoofKeyDeviceMetadata(
FAST_PAIR_ANTI_SPOOF_KEY_DEVICE_METADATA_REQUEST_PARCEL,
mAntispoofKeyDeviceMetadataCallback);
- verify(mMockFastPairDataProviderBase).onLoadFastPairAntispoofKeyDeviceMetadata(
- any(FastPairDataProviderBase.FastPairAntispoofKeyDeviceMetadataRequest.class),
- any(FastPairDataProviderBase.FastPairAntispoofKeyDeviceMetadataCallback.class));
+ verify(mMockFastPairDataProviderService).onLoadFastPairAntispoofKeyDeviceMetadata(
+ any(FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataRequest.class),
+ any(FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataCallback.class));
verify(mAntispoofKeyDeviceMetadataCallback).onError(
eq(ERROR_CODE_BAD_REQUEST), eq(ERROR_STRING));
}
@@ -362,9 +364,9 @@
mErrorPathFastPairDataProvider.asProvider().loadFastPairAccountDevicesMetadata(
FAST_PAIR_ACCOUNT_DEVICES_METADATA_REQUEST_PARCEL,
mAccountDevicesMetadataCallback);
- verify(mMockFastPairDataProviderBase).onLoadFastPairAccountDevicesMetadata(
- any(FastPairDataProviderBase.FastPairAccountDevicesMetadataRequest.class),
- any(FastPairDataProviderBase.FastPairAccountDevicesMetadataCallback.class));
+ verify(mMockFastPairDataProviderService).onLoadFastPairAccountDevicesMetadata(
+ any(FastPairDataProviderService.FastPairAccountDevicesMetadataRequest.class),
+ any(FastPairDataProviderService.FastPairAccountDevicesMetadataCallback.class));
verify(mAccountDevicesMetadataCallback).onError(
eq(ERROR_CODE_BAD_REQUEST), eq(ERROR_STRING));
}
@@ -375,9 +377,9 @@
mErrorPathFastPairDataProvider.asProvider().loadFastPairEligibleAccounts(
FAST_PAIR_ELIGIBLE_ACCOUNTS_REQUEST_PARCEL,
mEligibleAccountsCallback);
- verify(mMockFastPairDataProviderBase).onLoadFastPairEligibleAccounts(
- any(FastPairDataProviderBase.FastPairEligibleAccountsRequest.class),
- any(FastPairDataProviderBase.FastPairEligibleAccountsCallback.class));
+ verify(mMockFastPairDataProviderService).onLoadFastPairEligibleAccounts(
+ any(FastPairDataProviderService.FastPairEligibleAccountsRequest.class),
+ any(FastPairDataProviderService.FastPairEligibleAccountsCallback.class));
verify(mEligibleAccountsCallback).onError(
eq(ERROR_CODE_BAD_REQUEST), eq(ERROR_STRING));
}
@@ -388,9 +390,9 @@
mErrorPathFastPairDataProvider.asProvider().manageFastPairAccount(
FAST_PAIR_MANAGE_ACCOUNT_REQUEST_PARCEL,
mManageAccountCallback);
- verify(mMockFastPairDataProviderBase).onManageFastPairAccount(
- any(FastPairDataProviderBase.FastPairManageAccountRequest.class),
- any(FastPairDataProviderBase.FastPairManageActionCallback.class));
+ verify(mMockFastPairDataProviderService).onManageFastPairAccount(
+ any(FastPairDataProviderService.FastPairManageAccountRequest.class),
+ any(FastPairDataProviderService.FastPairManageActionCallback.class));
verify(mManageAccountCallback).onError(eq(ERROR_CODE_BAD_REQUEST), eq(ERROR_STRING));
}
@@ -400,30 +402,31 @@
mErrorPathFastPairDataProvider.asProvider().manageFastPairAccountDevice(
FAST_PAIR_MANAGE_ACCOUNT_DEVICE_REQUEST_PARCEL,
mManageAccountDeviceCallback);
- verify(mMockFastPairDataProviderBase).onManageFastPairAccountDevice(
- any(FastPairDataProviderBase.FastPairManageAccountDeviceRequest.class),
- any(FastPairDataProviderBase.FastPairManageActionCallback.class));
+ 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 FastPairDataProviderBase {
+ public static class MyHappyPathProvider extends FastPairDataProviderService {
- private final FastPairDataProviderBase mMockFastPairDataProviderBase;
+ private final FastPairDataProviderService mMockFastPairDataProviderService;
- public MyHappyPathProvider(@NonNull String tag, FastPairDataProviderBase mock) {
+ public MyHappyPathProvider(@NonNull String tag, FastPairDataProviderService mock) {
super(tag);
- mMockFastPairDataProviderBase = mock;
+ mMockFastPairDataProviderService = mock;
}
public IFastPairDataProvider asProvider() {
- return IFastPairDataProvider.Stub.asInterface(getBinder());
+ Intent intent = new Intent();
+ return IFastPairDataProvider.Stub.asInterface(onBind(intent));
}
@Override
public void onLoadFastPairAntispoofKeyDeviceMetadata(
@NonNull FastPairAntispoofKeyDeviceMetadataRequest request,
@NonNull FastPairAntispoofKeyDeviceMetadataCallback callback) {
- mMockFastPairDataProviderBase.onLoadFastPairAntispoofKeyDeviceMetadata(
+ mMockFastPairDataProviderService.onLoadFastPairAntispoofKeyDeviceMetadata(
request, callback);
callback.onFastPairAntispoofKeyDeviceMetadataReceived(
HAPPY_PATH_FAST_PAIR_ANTI_SPOOF_KEY_DEVICE_METADATA);
@@ -433,7 +436,7 @@
public void onLoadFastPairAccountDevicesMetadata(
@NonNull FastPairAccountDevicesMetadataRequest request,
@NonNull FastPairAccountDevicesMetadataCallback callback) {
- mMockFastPairDataProviderBase.onLoadFastPairAccountDevicesMetadata(
+ mMockFastPairDataProviderService.onLoadFastPairAccountDevicesMetadata(
request, callback);
callback.onFastPairAccountDevicesMetadataReceived(FAST_PAIR_ACCOUNT_DEVICES_METADATA);
}
@@ -442,7 +445,7 @@
public void onLoadFastPairEligibleAccounts(
@NonNull FastPairEligibleAccountsRequest request,
@NonNull FastPairEligibleAccountsCallback callback) {
- mMockFastPairDataProviderBase.onLoadFastPairEligibleAccounts(
+ mMockFastPairDataProviderService.onLoadFastPairEligibleAccounts(
request, callback);
callback.onFastPairEligibleAccountsReceived(ELIGIBLE_ACCOUNTS);
}
@@ -451,7 +454,7 @@
public void onManageFastPairAccount(
@NonNull FastPairManageAccountRequest request,
@NonNull FastPairManageActionCallback callback) {
- mMockFastPairDataProviderBase.onManageFastPairAccount(request, callback);
+ mMockFastPairDataProviderService.onManageFastPairAccount(request, callback);
callback.onSuccess();
}
@@ -459,29 +462,30 @@
public void onManageFastPairAccountDevice(
@NonNull FastPairManageAccountDeviceRequest request,
@NonNull FastPairManageActionCallback callback) {
- mMockFastPairDataProviderBase.onManageFastPairAccountDevice(request, callback);
+ mMockFastPairDataProviderService.onManageFastPairAccountDevice(request, callback);
callback.onSuccess();
}
}
- public static class MyErrorPathProvider extends FastPairDataProviderBase {
+ public static class MyErrorPathProvider extends FastPairDataProviderService {
- private final FastPairDataProviderBase mMockFastPairDataProviderBase;
+ private final FastPairDataProviderService mMockFastPairDataProviderService;
- public MyErrorPathProvider(@NonNull String tag, FastPairDataProviderBase mock) {
+ public MyErrorPathProvider(@NonNull String tag, FastPairDataProviderService mock) {
super(tag);
- mMockFastPairDataProviderBase = mock;
+ mMockFastPairDataProviderService = mock;
}
public IFastPairDataProvider asProvider() {
- return IFastPairDataProvider.Stub.asInterface(getBinder());
+ Intent intent = new Intent();
+ return IFastPairDataProvider.Stub.asInterface(onBind(intent));
}
@Override
public void onLoadFastPairAntispoofKeyDeviceMetadata(
@NonNull FastPairAntispoofKeyDeviceMetadataRequest request,
@NonNull FastPairAntispoofKeyDeviceMetadataCallback callback) {
- mMockFastPairDataProviderBase.onLoadFastPairAntispoofKeyDeviceMetadata(
+ mMockFastPairDataProviderService.onLoadFastPairAntispoofKeyDeviceMetadata(
request, callback);
callback.onError(ERROR_CODE_BAD_REQUEST, ERROR_STRING);
}
@@ -490,7 +494,8 @@
public void onLoadFastPairAccountDevicesMetadata(
@NonNull FastPairAccountDevicesMetadataRequest request,
@NonNull FastPairAccountDevicesMetadataCallback callback) {
- mMockFastPairDataProviderBase.onLoadFastPairAccountDevicesMetadata(request, callback);
+ mMockFastPairDataProviderService.onLoadFastPairAccountDevicesMetadata(
+ request, callback);
callback.onError(ERROR_CODE_BAD_REQUEST, ERROR_STRING);
}
@@ -498,7 +503,7 @@
public void onLoadFastPairEligibleAccounts(
@NonNull FastPairEligibleAccountsRequest request,
@NonNull FastPairEligibleAccountsCallback callback) {
- mMockFastPairDataProviderBase.onLoadFastPairEligibleAccounts(request, callback);
+ mMockFastPairDataProviderService.onLoadFastPairEligibleAccounts(request, callback);
callback.onError(ERROR_CODE_BAD_REQUEST, ERROR_STRING);
}
@@ -506,7 +511,7 @@
public void onManageFastPairAccount(
@NonNull FastPairManageAccountRequest request,
@NonNull FastPairManageActionCallback callback) {
- mMockFastPairDataProviderBase.onManageFastPairAccount(request, callback);
+ mMockFastPairDataProviderService.onManageFastPairAccount(request, callback);
callback.onError(ERROR_CODE_BAD_REQUEST, ERROR_STRING);
}
@@ -514,7 +519,7 @@
public void onManageFastPairAccountDevice(
@NonNull FastPairManageAccountDeviceRequest request,
@NonNull FastPairManageActionCallback callback) {
- mMockFastPairDataProviderBase.onManageFastPairAccountDevice(request, callback);
+ mMockFastPairDataProviderService.onManageFastPairAccountDevice(request, callback);
callback.onError(ERROR_CODE_BAD_REQUEST, ERROR_STRING);
}
}
@@ -793,13 +798,13 @@
/* Verifies Happy Path AntispoofKeyDeviceMetadataRequest. */
private static void ensureHappyPathAsExpected(
- FastPairDataProviderBase.FastPairAntispoofKeyDeviceMetadataRequest request) {
+ FastPairDataProviderService.FastPairAntispoofKeyDeviceMetadataRequest request) {
assertThat(request.getModelId()).isEqualTo(REQUEST_MODEL_ID);
}
/* Verifies Happy Path AccountDevicesMetadataRequest. */
private static void ensureHappyPathAsExpected(
- FastPairDataProviderBase.FastPairAccountDevicesMetadataRequest request) {
+ FastPairDataProviderService.FastPairAccountDevicesMetadataRequest request) {
assertThat(request.getAccount()).isEqualTo(ACCOUNTDEVICES_METADATA_ACCOUNT);
assertThat(request.getDeviceAccountKeys().size()).isEqualTo(ACCOUNTKEY_DEVICE_NUM);
assertThat(request.getDeviceAccountKeys()).contains(ACCOUNT_KEY);
@@ -809,20 +814,20 @@
/* Verifies Happy Path FastPairEligibleAccountsRequest. */
@SuppressWarnings("UnusedVariable")
private static void ensureHappyPathAsExpected(
- FastPairDataProviderBase.FastPairEligibleAccountsRequest request) {
+ FastPairDataProviderService.FastPairEligibleAccountsRequest request) {
// No fields since FastPairEligibleAccountsRequest is just a place holder now.
}
/* Verifies Happy Path FastPairManageAccountRequest. */
private static void ensureHappyPathAsExpected(
- FastPairDataProviderBase.FastPairManageAccountRequest request) {
+ 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(
- FastPairDataProviderBase.FastPairManageAccountDeviceRequest request) {
+ FastPairDataProviderService.FastPairManageAccountDeviceRequest request) {
assertThat(request.getAccount()).isEqualTo(MANAGE_ACCOUNT);
assertThat(request.getRequestType()).isEqualTo(MANAGE_ACCOUNT_REQUEST_TYPE);
assertThat(request.getBleAddress()).isEqualTo(BLE_ADDRESS);