Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0c39a3b5 authored by Chris Manton's avatar Chris Manton Committed by Automerger Merge Worker
Browse files

Merge "Introduce mock for LeScanningManager" am: 6d2ac6e1 am: 66ccb406 am:...

Merge "Introduce mock for LeScanningManager" am: 6d2ac6e1 am: 66ccb406 am: a2678505 am: 17f4b5fd

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1966107

Change-Id: I13be2e95f9796aeb30fa50bf08b85a81523c3e22
parents 7edb3d2a 17f4b5fd
Loading
Loading
Loading
Loading
+14 −13
Original line number Diff line number Diff line
@@ -43,39 +43,40 @@ class LeScanningManager : public bluetooth::Module {
  static constexpr ScannerId kInvalidScannerId = 0xFF;
  LeScanningManager();

  void RegisterScanner(const Uuid app_uuid);
  virtual void RegisterScanner(const Uuid app_uuid);

  void Unregister(ScannerId scanner_id);
  virtual void Unregister(ScannerId scanner_id);

  void Scan(bool start);
  virtual void Scan(bool start);

  void SetScanParameters(ScannerId scanner_id, LeScanType scan_type, uint16_t scan_interval, uint16_t scan_window);
  virtual void SetScanParameters(
      ScannerId scanner_id, LeScanType scan_type, uint16_t scan_interval, uint16_t scan_window);

  /* Scan filter */
  void ScanFilterEnable(bool enable);
  virtual void ScanFilterEnable(bool enable);

  void ScanFilterParameterSetup(
  virtual void ScanFilterParameterSetup(
      ApcfAction action, uint8_t filter_index, AdvertisingFilterParameter advertising_filter_parameter);

  void ScanFilterAdd(uint8_t filter_index, std::vector<AdvertisingPacketContentFilterCommand> filters);
  virtual void ScanFilterAdd(uint8_t filter_index, std::vector<AdvertisingPacketContentFilterCommand> filters);

  /*Batch Scan*/
  void BatchScanConifgStorage(
  virtual void BatchScanConifgStorage(
      uint8_t batch_scan_full_max,
      uint8_t batch_scan_truncated_max,
      uint8_t batch_scan_notify_threshold,
      ScannerId scanner_id);
  void BatchScanEnable(
  virtual void BatchScanEnable(
      BatchScanMode scan_mode,
      uint32_t duty_cycle_scan_window_slots,
      uint32_t duty_cycle_scan_interval_slots,
      BatchScanDiscardRule batch_scan_discard_rule);
  void BatchScanDisable();
  void BatchScanReadReport(ScannerId scanner_id, BatchScanMode scan_mode);
  virtual void BatchScanDisable();
  virtual void BatchScanReadReport(ScannerId scanner_id, BatchScanMode scan_mode);

  void TrackAdvertiser(ScannerId scanner_id);
  virtual void TrackAdvertiser(ScannerId scanner_id);

  void RegisterScanningCallback(ScanningCallback* scanning_callback);
  virtual void RegisterScanningCallback(ScanningCallback* scanning_callback);

  static const ModuleFactory Factory;

+65 −0
Original line number Diff line number Diff line
/*
 * Copyright 2019 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.
 */
#pragma once

#include <gmock/gmock.h>

#include <memory>

#include "hci/address.h"
#include "hci/le_scanning_manager.h"
#include "hci/uuid.h"

namespace bluetooth {
namespace hci {
namespace testing {

class MockScanningCallback : public ScanningCallback {
  MOCK_METHOD(void, OnScannerRegistered, (const bluetooth::hci::Uuid, ScannerId, ScanningStatus));
  MOCK_METHOD(void, OnSetScannerParameterComplete, (ScannerId scanner_id, ScanningStatus status));
  MOCK_METHOD(
      void,
      OnScanResult,
      (uint16_t, uint8_t, Address, uint8_t, uint8_t, uint8_t, int8_t, int8_t, uint16_t, std::vector<uint8_t>));
  MOCK_METHOD(void, OnTrackAdvFoundLost, (AdvertisingFilterOnFoundOnLostInfo));
  MOCK_METHOD(void, OnBatchScanReports, (int, int, int, int, std::vector<uint8_t>));
  MOCK_METHOD(void, OnBatchScanThresholdCrossed, (int));
  MOCK_METHOD(void, OnTimeout, ());
  MOCK_METHOD(void, OnFilterEnable, (Enable, uint8_t));
  MOCK_METHOD(void, OnFilterParamSetup, (uint8_t, ApcfAction, uint8_t));
  MOCK_METHOD(void, OnFilterConfigCallback, (ApcfFilterType, uint8_t, ApcfAction, uint8_t));
};

class MockLeScanningManager : public LeScanningManager {
 public:
  MOCK_METHOD(void, RegisterScanner, (const Uuid));
  MOCK_METHOD(void, Unregister, (ScannerId));
  MOCK_METHOD(void, Scan, (bool));
  MOCK_METHOD(void, SetScanParameters, (ScannerId, LeScanType, uint16_t, uint16_t));
  MOCK_METHOD(void, ScanFilterEnable, (bool));
  MOCK_METHOD(void, ScanFilterParameterSetup, (ApcfAction, uint8_t, AdvertisingFilterParameter));
  MOCK_METHOD(void, ScanFilterAdd, (uint8_t, std::vector<AdvertisingPacketContentFilterCommand>));
  MOCK_METHOD(void, BatchScanConifgStorage, (uint8_t, uint8_t, uint8_t, ScannerId));
  MOCK_METHOD(void, BatchScanEnable, (BatchScanMode, uint32_t, uint32_t, BatchScanDiscardRule));
  MOCK_METHOD(void, BatchScanDisable, ());
  MOCK_METHOD(void, BatchScanReadReport, (ScannerId, BatchScanMode));
  MOCK_METHOD(void, TrackAdvertiser, (ScannerId));
  MOCK_METHOD(void, RegisterScanningCallback, (ScanningCallback*));
};

}  // namespace testing
}  // namespace hci
}  // namespace bluetooth