Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export interface DiscoveryService {
- scan(timeout: number): Observable<Peripheral>;
- stopScan(): Promise<void>;
- }
- export const BLE_DISCOVERY = new InjectionToken<DiscoveryService>('ble.discovery');
- @Injectable()
- export class BleDiscovery implements DiscoveryService {
- constructor(private decoder: BleDecoder, private ble: BLE, private platform: Platform) { }
- scan(timeout: number): Observable<Peripheral> {
- return from(this.platform.ready()).pipe(
- mergeMap(_ => this.ble.scan([], timeout)),
- map(device => this.decoder.decodeDevice(device)),
- filter(isHickoryDevice),
- map(setDefaultName)
- );
- }
- stopScan(): Promise<void> {
- return this.ble.stopScan();
- }
- }
- import { NgModule } from '@angular/core';
- import { BLE } from '@ionic-native/ble/ngx';
- import { BleDecoder } from './ble-decoder';
- import { BleDiscovery, BLE_DISCOVERY } from './ble-discovery';
- @NgModule({
- providers: [
- { provide: BLE_DISCOVERY, useValue: {} },
- BLE,
- BleDecoder,
- BleDiscovery
- ],
- imports: [
- ],
- exports: [
- ]
- })
- export class BleModule { }
- constructor(
- private zone: NgZone,
- private router: Router,
- @Inject(BLE_DISCOVERY) private discovery: DiscoveryService) {}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement