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

Commit 927598ba authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge changes Id4c01eaf,I8a900338

* changes:
  floss: Change default adapter based on system state
  floss: Recover via reset after multiple starts
parents 02a05b5e f874f646
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -437,7 +437,8 @@ class HostBuild():
    def _target_rootcanal(self):
    def _target_rootcanal(self):
        """ Build rust artifacts for RootCanal in an already prepared environment.
        """ Build rust artifacts for RootCanal in an already prepared environment.
        """
        """
        self.run_command('rust', ['cargo', 'build'], cwd=os.path.join(self.platform_dir, 'bt/tools/rootcanal'), env=self.env)
        self.run_command(
            'rust', ['cargo', 'build'], cwd=os.path.join(self.platform_dir, 'bt/tools/rootcanal'), env=self.env)


    def _target_main(self):
    def _target_main(self):
        """ Build the main GN artifacts in an already prepared environment.
        """ Build the main GN artifacts in an already prepared environment.
@@ -450,7 +451,7 @@ class HostBuild():
        # Rust tests first
        # Rust tests first
        rust_test_cmd = ['cargo', 'test']
        rust_test_cmd = ['cargo', 'test']
        if self.args.test_name:
        if self.args.test_name:
            rust_test_cmd = rust_test_cmd + [self.args.test_name]
            rust_test_cmd = rust_test_cmd + [self.args.test_name, "--", "--test-threads=1", "--nocapture"]


        self.run_command('test', rust_test_cmd, cwd=os.path.join(self.platform_dir, 'bt'), env=self.env)
        self.run_command('test', rust_test_cmd, cwd=os.path.join(self.platform_dir, 'bt'), env=self.env)
        self.run_command('test', rust_test_cmd, cwd=os.path.join(self.platform_dir, 'bt/tools/rootcanal'), env=self.env)
        self.run_command('test', rust_test_cmd, cwd=os.path.join(self.platform_dir, 'bt/tools/rootcanal'), env=self.env)
+4 −0
Original line number Original line Diff line number Diff line
@@ -62,6 +62,10 @@ impl IBluetoothManagerCallback for BtManagerCallback {
    fn on_hci_enabled_changed(&self, hci_interface: i32, enabled: bool) {
    fn on_hci_enabled_changed(&self, hci_interface: i32, enabled: bool) {
        self.context.lock().unwrap().set_adapter_enabled(hci_interface, enabled);
        self.context.lock().unwrap().set_adapter_enabled(hci_interface, enabled);
    }
    }

    fn on_default_adapter_changed(&self, hci_interface: i32) {
        print_info!("hci{} is now the default", hci_interface);
    }
}
}


impl RPCProxy for BtManagerCallback {
impl RPCProxy for BtManagerCallback {
+13 −0
Original line number Original line Diff line number Diff line
@@ -595,6 +595,16 @@ impl IBluetoothManager for BluetoothManagerDBus {
    fn get_available_adapters(&mut self) -> Vec<AdapterWithEnabled> {
    fn get_available_adapters(&mut self) -> Vec<AdapterWithEnabled> {
        dbus_generated!()
        dbus_generated!()
    }
    }

    #[dbus_method("GetDefaultAdapter")]
    fn get_default_adapter(&mut self) -> i32 {
        dbus_generated!()
    }

    #[dbus_method("SetDesiredDefaultAdapter")]
    fn set_desired_default_adapter(&mut self, adapter: i32) {
        dbus_generated!()
    }
}
}


struct IBluetoothManagerCallbackDBus {}
struct IBluetoothManagerCallbackDBus {}
@@ -611,6 +621,9 @@ impl IBluetoothManagerCallback for IBluetoothManagerCallbackDBus {


    #[dbus_method("OnHciEnabledChanged")]
    #[dbus_method("OnHciEnabledChanged")]
    fn on_hci_enabled_changed(&self, hci_interface: i32, enabled: bool) {}
    fn on_hci_enabled_changed(&self, hci_interface: i32, enabled: bool) {}

    #[dbus_method("OnDefaultAdapterChanged")]
    fn on_default_adapter_changed(&self, hci_interface: i32) {}
}
}


#[allow(dead_code)]
#[allow(dead_code)]
+1 −2
Original line number Original line Diff line number Diff line
@@ -74,8 +74,7 @@ pub async fn main() -> Result<(), Box<dyn std::error::Error>> {
        state_machine::Invoker::UpstartInvoker
        state_machine::Invoker::UpstartInvoker
    };
    };


    let context =
    let context = state_machine::create_new_state_machine_context(invoker);
        state_machine::create_new_state_machine_context(invoker, config_util::is_floss_enabled());
    let proxy = context.get_proxy();
    let proxy = context.get_proxy();


    // The resource is a task that should be spawned onto a tokio compatible
    // The resource is a task that should be spawned onto a tokio compatible
+14 −0
Original line number Original line Diff line number Diff line
@@ -48,6 +48,12 @@ impl BluetoothManager {
        }
        }
    }
    }


    pub(crate) fn callback_default_adapter_change(&mut self, hci_device: i32) {
        for (_, callback) in &self.callbacks {
            callback.on_default_adapter_changed(hci_device);
        }
    }

    pub(crate) fn callback_disconnected(&mut self, id: u32) {
    pub(crate) fn callback_disconnected(&mut self, id: u32) {
        self.callbacks.remove(&id);
        self.callbacks.remove(&id);
    }
    }
@@ -148,4 +154,12 @@ impl IBluetoothManager for BluetoothManager {
            })
            })
            .collect::<Vec<AdapterWithEnabled>>()
            .collect::<Vec<AdapterWithEnabled>>()
    }
    }

    fn get_default_adapter(&mut self) -> i32 {
        self.proxy.get_default_adapter()
    }

    fn set_desired_default_adapter(&mut self, adapter_index: i32) {
        self.proxy.set_desired_default_adapter(adapter_index);
    }
}
}
Loading