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

Commit bd135048 authored by Sonny Sasaka's avatar Sonny Sasaka Committed by Gerrit Code Review
Browse files

Merge "Floss: Do not always print scan result"

parents 8b0bb18a 809e4ae9
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -283,7 +283,7 @@ impl RPCProxy for BtConnectionCallback {

pub(crate) struct ScannerCallback {
    objpath: String,
    _context: Arc<Mutex<ClientContext>>,
    context: Arc<Mutex<ClientContext>>,

    dbus_connection: Arc<SyncConnection>,
    dbus_crossroads: Arc<Mutex<Crossroads>>,
@@ -292,11 +292,11 @@ pub(crate) struct ScannerCallback {
impl ScannerCallback {
    pub(crate) fn new(
        objpath: String,
        _context: Arc<Mutex<ClientContext>>,
        context: Arc<Mutex<ClientContext>>,
        dbus_connection: Arc<SyncConnection>,
        dbus_crossroads: Arc<Mutex<Crossroads>>,
    ) -> Self {
        Self { objpath, _context, dbus_connection, dbus_crossroads }
        Self { objpath, context, dbus_connection, dbus_crossroads }
    }
}

@@ -315,9 +315,11 @@ impl IScannerCallback for ScannerCallback {
    }

    fn on_scan_result(&self, scan_result: ScanResult) {
        if self.context.lock().unwrap().active_scanner_ids.len() > 0 {
            print_info!("Scan result: {:#?}", scan_result);
        }
    }
}

impl RPCProxy for ScannerCallback {
    fn get_object_id(&self) -> String {
+2 −0
Original line number Diff line number Diff line
@@ -855,6 +855,7 @@ impl CommandHandler {
                        },
                        vec![],
                    );
                    self.context.lock().unwrap().active_scanner_ids.insert(id);
                } else {
                    print_error!("Failed parsing scanner id");
                }
@@ -869,6 +870,7 @@ impl CommandHandler {

                if let Ok(id) = scanner_id {
                    self.context.lock().unwrap().gatt_dbus.as_mut().unwrap().stop_scan(id);
                    self.context.lock().unwrap().active_scanner_ids.remove(&id);
                } else {
                    print_error!("Failed parsing scanner id");
                }
+5 −1
Original line number Diff line number Diff line
use std::collections::HashMap;
use std::collections::{HashMap, HashSet};
use std::sync::{Arc, Mutex};

use dbus::channel::MatchingReceiver;
@@ -93,6 +93,9 @@ pub(crate) struct ClientContext {

    /// Identifies the callback to receive IAdvertisingSetCallback method calls.
    advertiser_callback_id: Option<u32>,

    /// Keeps track of active LE scanners.
    active_scanner_ids: HashSet<u8>,
}

impl ClientContext {
@@ -126,6 +129,7 @@ impl ClientContext {
            dbus_crossroads,
            scanner_callback_id: None,
            advertiser_callback_id: None,
            active_scanner_ids: HashSet::new(),
        }
    }