minios: Improve UI
Add icons to dropdown menu and password.
BUG=b:183791649
TEST=build and run minios
Change-Id: If6530398a7245a6c874d1de08d2903d76fd1ba77
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/3059418
Commit-Queue: Vyshu Khota <vyshu@chromium.org>
Tested-by: Vyshu Khota <vyshu@chromium.org>
Reviewed-by: Jae Hoon Kim <kimjae@chromium.org>
diff --git a/minios/screens/screen_network.cc b/minios/screens/screen_network.cc
index 13ccb30..ff13216 100644
--- a/minios/screens/screen_network.cc
+++ b/minios/screens/screen_network.cc
@@ -57,6 +57,8 @@
draw_utils_->ShowInstructionsWithTitle("MiniOS_password");
draw_utils_->ShowStepper({"done", "2-done", "3"});
break;
+ default:
+ break;
}
ShowButtons();
}
@@ -94,6 +96,8 @@
btn_width, false);
break;
}
+ default:
+ break;
}
}
@@ -200,6 +204,8 @@
return "ScreenExpandedNetwork";
case NetworkState::kGetPassword:
return "ScreenPassword";
+ case NetworkState::kWaitForConnection:
+ return "ScreenWaitForConnection";
default:
return "";
}
@@ -245,6 +251,7 @@
<< ". ErrorCode=" << error->GetCode()
<< " ErrorMessage=" << error->GetMessage();
if (error->GetCode() == shill::kErrorResultInvalidPassphrase) {
+ state_ = NetworkState::kGetPassword;
screen_controller_->OnError(ScreenType::kPasswordError);
} else {
// General network error.
@@ -258,10 +265,16 @@
}
void ScreenNetwork::GetPassword() {
- const int kTitleY = (-draw_utils_->GetFreconCanvasSize() / 2) + 238;
+ int frecon_canvas_size = draw_utils_->GetFreconCanvasSize();
+ const int kTitleY = (-frecon_canvas_size / 2) + 238;
const int kBtnY = kTitleY + 80 + kBtnYStep * 2;
- draw_utils_->ShowButton("Begin typing", kBtnY, false,
- draw_utils_->GetDefaultButtonWidth() * 4, true);
+ const int kButtonWidth = draw_utils_->GetDefaultButtonWidth();
+
+ draw_utils_->ShowButton("Begin typing", kBtnY, false, kButtonWidth * 4, true);
+ draw_utils_->ShowImage(
+ draw_utils_->GetScreenPath().Append("visibility_off.png"),
+ -frecon_canvas_size / 2 + (kButtonWidth * 4) + 32, kBtnY);
+
CHECK(!chosen_network_.ssid.empty()) << "Cannot connect to an empty network.";
if (!key_reader_ || !key_reader_->InputSetUp()) {
LOG(ERROR) << "Unable to set up key reader.";
@@ -281,11 +294,16 @@
if (!show_password) {
input = std::string(input.size(), '*');
}
- draw_utils_->ShowButton(input, kBtnY, false,
- draw_utils_->GetDefaultButtonWidth() * 4, true);
+ draw_utils_->ShowButton(input, kBtnY, false, kButtonWidth * 4, true);
+ auto visibility =
+ show_password ? "visibility_on.png" : "visibility_off.png";
+ draw_utils_->ShowImage(draw_utils_->GetScreenPath().Append(visibility),
+ -frecon_canvas_size / 2 + (kButtonWidth * 4) + 32,
+ kBtnY);
} while (!enter);
key_reader_->StartWatcher();
// Wait to connect to network.
+ state_ = NetworkState::kWaitForConnection;
WaitForConnection();
network_manager_->Connect(chosen_network_.ssid, plain_text_password);
}
@@ -305,8 +323,7 @@
: screens_path.Append("language_menu_bg.png");
draw_utils_->ShowImage(menu_background, kBgX, kOffsetY);
- draw_utils_->ShowImage(screens_path.Append("ic_language-globe.png"), kGlobeX,
- kOffsetY);
+ draw_utils_->ShowImage(screens_path.Append("wifi.png"), kGlobeX, kOffsetY);
draw_utils_->ShowImage(screens_path.Append("ic_dropdown.png"), kArrowX,
kOffsetY);
draw_utils_->ShowMessage("btn_MiniOS_display_options", kTextX, kOffsetY);
diff --git a/minios/screens/screen_network.h b/minios/screens/screen_network.h
index 512daa9..0425ae1 100644
--- a/minios/screens/screen_network.h
+++ b/minios/screens/screen_network.h
@@ -25,6 +25,7 @@
kDropdownClosed = 0,
kDropdownOpen = 1,
kGetPassword = 2,
+ kWaitForConnection = 3,
};
class ScreenNetwork : public ScreenBase,