(
event: &PlatformEvent,
display: &mut Option<ProvisioningDisplay>,
provision_start: Instant,
)
| 413 | } |
| 414 | |
| 415 | fn handle_platform_progress_event( |
| 416 | event: &PlatformEvent, |
| 417 | display: &mut Option<ProvisioningDisplay>, |
| 418 | provision_start: Instant, |
| 419 | ) -> bool { |
| 420 | let completed_step = event |
| 421 | .metadata |
| 422 | .get(PROGRESS_COMPLETE_STEP_KEY) |
| 423 | .and_then(|step| progress_step_from_metadata(step)); |
| 424 | let active_step = event |
| 425 | .metadata |
| 426 | .get(PROGRESS_ACTIVE_STEP_KEY) |
| 427 | .and_then(|step| progress_step_from_metadata(step)); |
| 428 | let active_detail = event |
| 429 | .metadata |
| 430 | .get(PROGRESS_ACTIVE_DETAIL_KEY) |
| 431 | .filter(|detail| !detail.is_empty()); |
| 432 | |
| 433 | let handled = completed_step.is_some() || active_step.is_some() || active_detail.is_some(); |
| 434 | if !handled { |
| 435 | return false; |
| 436 | } |
| 437 | |
| 438 | if let Some(step) = completed_step { |
| 439 | let label = event |
| 440 | .metadata |
| 441 | .get(PROGRESS_COMPLETE_LABEL_KEY) |
| 442 | .map_or_else(|| step.completed_label(), String::as_str); |
| 443 | if let Some(d) = display.as_mut() { |
| 444 | d.complete_step_with_label(step, label); |
| 445 | } else { |
| 446 | let ts = format_timestamp(provision_start.elapsed()); |
| 447 | println!("{} {}", ts.dimmed(), label); |
| 448 | } |
| 449 | } |
| 450 | |
| 451 | if let Some(step) = active_step |
| 452 | && let Some(d) = display.as_mut() |
| 453 | { |
| 454 | d.set_active_step(step); |
| 455 | } |
| 456 | |
| 457 | if let Some(detail) = active_detail { |
| 458 | if let Some(d) = display.as_mut() { |
| 459 | d.set_active_detail(detail); |
| 460 | } else { |
| 461 | let ts = format_timestamp(provision_start.elapsed()); |
| 462 | if let Some(step) = active_step { |
| 463 | println!( |
| 464 | "{} {} {}", |
| 465 | ts.dimmed(), |
| 466 | noninteractive_active_label(step), |
| 467 | detail |
| 468 | ); |
| 469 | } else { |
| 470 | println!("{} {}", ts.dimmed(), detail); |
| 471 | } |
| 472 | } |
no test coverage detected