@@ -531,7 +531,12 @@ impl<'a> State<'a> {
531531 if !matches ! ( self . net_handler. get_mut( ) , NetHandler :: None ) {
532532 return ;
533533 }
534- let name = & self . settings . name ;
534+
535+ let res = self . device . net_start ( ) ;
536+ if let Err ( err) = res {
537+ self . device . log_error ( "netcode" , err) ;
538+ }
539+ let name = self . device . get_name ( ) . unwrap_or ( & self . settings . name ) ;
535540 let name = heapless:: String :: from_str ( name) . unwrap_or_default ( ) ;
536541 // TODO: validate the name
537542 let s = & self . settings ;
@@ -547,8 +552,8 @@ impl<'a> State<'a> {
547552 theme : s. theme ,
548553 flags,
549554 } ;
550- self . net_handler
551- . set ( NetHandler :: Connector ( Box :: new ( Connector :: new ( me ) ) ) ) ;
555+ let handler = NetHandler :: Connector ( Box :: new ( Connector :: new ( me ) ) ) ;
556+ self . net_handler . set ( handler ) ;
552557 let id = FullID :: from_str ( "sys" , "connector" ) . unwrap ( ) ;
553558 self . set_next ( Some ( id) ) ;
554559 }
@@ -593,13 +598,16 @@ pub(crate) fn load_settings(device: &mut DeviceImpl) -> Option<firefly_types::Se
593598 return None ;
594599 }
595600 } ;
596- let settings = match firefly_types:: Settings :: decode ( & raw [ ..] ) {
601+ let mut settings = match firefly_types:: Settings :: decode ( & raw [ ..] ) {
597602 Ok ( settings) => settings,
598603 Err ( err) => {
599604 device. log_error ( "settings" , err) ;
600605 return None ;
601606 }
602607 } ;
608+ if let Some ( name) = device. get_name ( ) {
609+ settings. name = alloc:: string:: String :: from ( name) ;
610+ }
603611 Some ( settings)
604612}
605613
0 commit comments