- if show_distance {
- let mut distance_m_s = [b' '; 8];
-
- common::fmt::fmt_u32(&mut distance_m_s,
- logger.total_distance_cm / 100);
-
- screen.clear();
- screen.draw_text(&distance_m_s);
-
- display.draw(&screen);
- } else if show_time {
- if let Some(tm) = Time::from_unix_time(prev_tap.unix_time) {
- let mut time_s = [b' '; 8];
- tm.fmt_time(&mut time_s);
-
- screen.clear();
- screen.draw_text(&time_s);
-
- display.draw(&screen);
- }
+ match view {
+ View::Time => {
+ if time_view.draw(&mut screen, &mut model) {
+ display.draw(&screen);
+ }
+ },
+ View::Distance => {
+ if distance_view.draw(&mut screen, &mut model) {
+ display.draw(&screen);
+ }
+ },