0

gd/gio: Add localized strings for Game Controls tile

This CL adds Game Controls tile sub-label and tooltip text for different
cases.

Bug: b/274690042
Test: manual test
Change-Id: I52538c09a40f6020ae419b6afc92949059858a5a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4869362
Auto-Submit: Cici Ruan <cuicuiruan@google.com>
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Commit-Queue: Cici Ruan <cuicuiruan@google.com>
Cr-Commit-Position: refs/heads/main@{#1197971}
This commit is contained in:
Cici Ruan
2023-09-18 19:58:00 +00:00
committed by Chromium LUCI CQ
parent 997117f299
commit 9f542557ec
10 changed files with 76 additions and 0 deletions

@ -7121,6 +7121,27 @@ To shut down the device, press and hold the power button on the device again.
</message>
<!-- Game Dashboard / Game Controls strings -->
<message name="IDS_ASH_GAME_DASHBOARD_GC_TILE_VISIBLE" desc="The sub-label for Game Controls tile when input mapping hint is visible.">
Visible
</message>
<message name="IDS_ASH_GAME_DASHBOARD_GC_TILE_HIDDEN" desc="The sub-label for Game Controls tile when input mapping hint is not visible.">
Hidden
</message>
<message name="IDS_ASH_GAME_DASHBOARD_GC_TILE_OFF" desc="The sub-label for Game Controls tile when Game Controls is disabled or doesn't set up yet">
Off
</message>
<message name="IDS_ASH_GAME_DASHBOARD_GC_TILE_TOOLTIPS_HIDE_CONTROLS" desc="The tooltips for Game Controls tile when input mapping hint is on.">
Hide controls
</message>
<message name="IDS_ASH_GAME_DASHBOARD_GC_TILE_TOOLTIPS_SHOW_CONTROLS" desc="The tooltips for Game Controls tile when input mapping hint is off.">
Show controls
</message>
<message name="IDS_ASH_GAME_DASHBOARD_GC_TILE_TOOLTIPS_NOT_SETUP" desc="The tooltips for Game Controls tile when Game Controls is available, but not set up yet.">
Controls not set up
</message>
<message name="IDS_ASH_GAME_DASHBOARD_GC_TILE_TOOLTIPS_NOT_AVAILABLE" desc="The tooltips for Game Controls tile when Game Controls is available, but disabled.">
Controls not available
</message>
<message name="IDS_ASH_GAME_DASHBOARD_GC_SET_UP_SUB_TITLE" desc="The subtitle on the menu details row of Game Controls when no action is set up and Setup button shows up.">
Keys, buttons, and more
</message>

@ -0,0 +1 @@
b8525f181657a310a49725b2e71327f3a1ff1581

@ -0,0 +1 @@
31c93cbc3ae199650d70491a5045f6b466516438

@ -0,0 +1 @@
692cbc3a530d5e81580796860be234b0f33e6f82

@ -0,0 +1 @@
de5f6a4f7f83de9ca48b96a1933feed17f2078d2

@ -0,0 +1 @@
a5bcc81feedc54f94481093079e2f4e34850fc0d

@ -0,0 +1 @@
54785dfbe90a9acc3edf05fe06ea85aac52d81bf

@ -0,0 +1 @@
9ee01881aef12947bad4f61406efe5159cb83a04

@ -297,6 +297,8 @@ void GameDashboardMainMenuView::OnGameControlsTilePressed() {
game_window->GetProperty(kArcGameControlsFlagsKey),
ArcGameControlsFlag::kHint,
/*enable_flag=*/game_controls_tile_->IsToggled()));
UpdateGameControlsTileTextAndTooltipText();
}
void GameDashboardMainMenuView::OnGameControlsDetailsPressed() {
@ -327,6 +329,47 @@ void GameDashboardMainMenuView::OnGameControlsFeatureSwitchButtonPressed() {
/*enable_flag=*/ArcGameControlsFlag::kEnabled |
ArcGameControlsFlag::kHint),
is_toggled));
UpdateGameControlsTileTextAndTooltipText();
}
void GameDashboardMainMenuView::UpdateGameControlsTileTextAndTooltipText() {
const auto flags =
game_dashboard_utils::GetGameControlsFlag(context_->game_window());
DCHECK(flags);
bool is_enabled =
game_dashboard_utils::IsFlagSet(*flags, ArcGameControlsFlag::kEnabled);
bool is_empty =
game_dashboard_utils::IsFlagSet(*flags, ArcGameControlsFlag::kEmpty);
bool is_hint_on =
game_dashboard_utils::IsFlagSet(*flags, ArcGameControlsFlag::kHint);
if (is_enabled) {
if (is_empty) {
game_controls_tile_->SetSubLabel(
l10n_util::GetStringUTF16(IDS_ASH_GAME_DASHBOARD_GC_TILE_OFF));
game_controls_tile_->SetTooltipText(l10n_util::GetStringUTF16(
IDS_ASH_GAME_DASHBOARD_GC_TILE_TOOLTIPS_NOT_SETUP));
} else if (is_hint_on) {
game_controls_tile_->SetSubLabel(
l10n_util::GetStringUTF16(IDS_ASH_GAME_DASHBOARD_GC_TILE_VISIBLE));
game_controls_tile_->SetTooltipText(l10n_util::GetStringUTF16(
IDS_ASH_GAME_DASHBOARD_GC_TILE_TOOLTIPS_HIDE_CONTROLS));
} else {
game_controls_tile_->SetSubLabel(
l10n_util::GetStringUTF16(IDS_ASH_GAME_DASHBOARD_GC_TILE_HIDDEN));
game_controls_tile_->SetTooltipText(l10n_util::GetStringUTF16(
IDS_ASH_GAME_DASHBOARD_GC_TILE_TOOLTIPS_SHOW_CONTROLS));
}
} else {
game_controls_tile_->SetSubLabel(
l10n_util::GetStringUTF16(IDS_ASH_GAME_DASHBOARD_GC_TILE_OFF));
game_controls_tile_->SetTooltipText(l10n_util::GetStringUTF16(
IDS_ASH_GAME_DASHBOARD_GC_TILE_TOOLTIPS_NOT_AVAILABLE));
}
game_controls_tile_->SetSubLabelVisibility(true);
}
void GameDashboardMainMenuView::OnScreenSizeSettingsButtonPressed() {
@ -428,6 +471,8 @@ void GameDashboardMainMenuView::MaybeAddGameControlsTile(
game_controls_tile_->SetToggled(
game_dashboard_utils::IsFlagSet(*flags, ArcGameControlsFlag::kHint));
}
UpdateGameControlsTileTextAndTooltipText();
}
void GameDashboardMainMenuView::MaybeAddGameControlsDetailsRow(

@ -64,6 +64,9 @@ class ASH_EXPORT GameDashboardMainMenuView
void OnGameControlsSetUpButtonPressed();
void OnGameControlsFeatureSwitchButtonPressed();
// Updates Game Controls tile text and tooltip text.
void UpdateGameControlsTileTextAndTooltipText();
// Handles when the Screen Size Settings is pressed.
void OnScreenSizeSettingsButtonPressed();
// Opens the feedback form with preset information.