Commit c007a14f authored by Azeem Arshad's avatar Azeem Arshad Committed by Chromium LUCI CQ

[NearbyShare] Add settings search tags for nearbyshare.

This CL adds search tags for all nearby share settings except
high visibility toggle which will be added in a follow up
CL.

Screenshots:
http://screen/7ivEuHq5iZZGnhh.png
http://screen/8k9mkJdoxknCQ3J.png
http://screen/3NanmU9yZfJiPuy.png
http://screen/3sELmriX9NPpqpy.png
http://screen/AdkakugUwh548Qm.png

Bug: 1158648
Change-Id: I5f7cc7132f5573a5f3bfb31012fa659e155278c9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2594647
Commit-Queue: Azeem Arshad <azeemarshad@chromium.org>
Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#837932}
parent 775d5c53
......@@ -255,6 +255,21 @@
<message name="IDS_OS_SETTINGS_TAG_NEARBY_SHARE_TURN_OFF_ALT1" desc="Text for search result item which, when clicked, navigates the user to Nearby Share settings. Alternate phrase for: 'Turn off Nearby Share'">
Disable Nearby Share
</message>
<message name="IDS_OS_SETTINGS_TAG_NEARBY_SHARE_DEVICE_NAME" desc="Text for search result item which, when clicked, navigates the user to Nearby Share change device name setting.">
Nearby Share device name
</message>
<message name="IDS_OS_SETTINGS_TAG_NEARBY_SHARE_DEVICE_VISIBILITY" desc="Text for search result item which, when clicked, navigates the user to Nearby Share change device visibility button in settings. Alternate phrase for: 'Nearby Share discoverability'">
Nearby Share visibility
</message>
<message name="IDS_OS_SETTINGS_TAG_NEARBY_SHARE_DEVICE_VISIBILITY_ALT1" desc="Text for search result item which, when clicked, navigates the user to Nearby Share change device visibility button in settings. Alternate phrase for: 'Nearby Share visibility'">
Nearby Share discoverability
</message>
<message name="IDS_OS_SETTINGS_TAG_NEARBY_SHARE_CONTACTS" desc="Text for search result item which, when clicked, navigates the user to Nearby Share manage contacts row in settings that opens Google Contacts.">
Nearby Share contacts
</message>
<message name="IDS_OS_SETTINGS_TAG_NEARBY_SHARE_DATA_USAGE" desc="Text for search result item which, when clicked, navigates the user to Nearby Share edit data usage button in settings.">
Nearby Share data usage
</message>
<message name="IDS_OS_SETTINGS_TAG_MULTIDEVICE_PHONE_HUB" translateable="false" desc="Text for search result item which, when clicked, navigates the user to Phone Hub settings, with a toggle to enable/disable the feature. Phone hub provides the user with information about their Android phone and allows the user to perform phone-side actions directly in the Chrome OS UI.">
Phone Hub
</message>
......
d5c508970b21a9936b97b97fad65219db903044e
\ No newline at end of file
cfcb45065e894ad2a88f22ef175ceed0226b6ea0
\ No newline at end of file
fc1e143d3bf0bc6b71bf1d35438d23762c11ee18
\ No newline at end of file
......@@ -93,7 +93,8 @@
</div>
<cr-button id="editDeviceNameButton" on-click="onDeviceNameTap_"
aria-description="[[getEditNameButtonAriaDescription_(
settings.deviceName)]]">
settings.deviceName)]]"
deep-link-focus-id$="[[Setting.kNearbyShareDeviceName]]">
$i18n{nearbyShareEditDeviceName}
</cr-button>
</div>
......@@ -112,7 +113,8 @@
</div>
</div>
<cr-button id="editVisibilityButton" on-click="onVisibilityTap_"
aria-description="[[getVisibilityDescription_(settings.visibility)]]">
aria-description="[[getVisibilityDescription_(settings.visibility)]]"
deep-link-focus-id$="[[Setting.kNearbyShareDeviceVisibility]]">
$i18n{nearbyShareEditVisibility}
</cr-button>
</div>
......@@ -155,9 +157,11 @@
id="visibilityDialog" on-close="onVisibilityDialogClose_">
</nearby-share-contact-visibility-dialog>
</template>
<cr-link-row class="hr" external on-click="onManageContactsTap_"
<cr-link-row id="manageContactsLinkRow" class="hr" external
on-click="onManageContactsTap_"
label="$i18n{nearbyShareManageContactsRowTitle}"
sub-label="[[getManageContactsSubLabel_(manageContactsUrl_)]]">
sub-label="[[getManageContactsSubLabel_(manageContactsUrl_)]]"
deep-link-focus-id$="[[Setting.kNearbyShareContacts]]">
</cr-link-row>
<div class="settings-box two-line">
<div class="start">
......@@ -170,7 +174,8 @@
</div>
<cr-button id="editDataUsageButton" on-click="onDataUsageTap_"
aria-description="[[getEditDataUsageButtonAriaDescription_(
prefs.nearby_sharing.data_usage.value)]]">
prefs.nearby_sharing.data_usage.value)]]"
deep-link-focus-id$="[[Setting.kNearbyShareDataUsage]]">
$i18n{nearbyShareEditDataUsage}
</cr-button>
</div>
......
......@@ -85,6 +85,10 @@ Polymer({
type: Object,
value: () => new Set([
chromeos.settings.mojom.Setting.kNearbyShareOnOff,
chromeos.settings.mojom.Setting.kNearbyShareDeviceName,
chromeos.settings.mojom.Setting.kNearbyShareDeviceVisibility,
chromeos.settings.mojom.Setting.kNearbyShareContacts,
chromeos.settings.mojom.Setting.kNearbyShareDataUsage,
]),
},
},
......
......@@ -62,6 +62,10 @@ enum Setting {
// Do not reuse.
kPhoneHubTaskContinuationOnOff = 212,
kWifiSyncOnOff = 213,
kNearbyShareDeviceName = 214,
kNearbyShareDeviceVisibility = 215,
kNearbyShareContacts = 216,
kNearbyShareDataUsage = 217,
// People section.
kAddAccount = 300,
......
......@@ -181,6 +181,32 @@ const std::vector<SearchConcept>& GetNearbyShareOnSearchConcepts() {
{.setting = mojom::Setting::kNearbyShareOnOff},
{IDS_OS_SETTINGS_TAG_NEARBY_SHARE_TURN_OFF_ALT1,
SearchConcept::kAltTagEnd}},
{IDS_OS_SETTINGS_TAG_NEARBY_SHARE_DEVICE_NAME,
mojom::kNearbyShareSubpagePath,
mojom::SearchResultIcon::kNearbyShare,
mojom::SearchResultDefaultRank::kMedium,
mojom::SearchResultType::kSetting,
{.setting = mojom::Setting::kNearbyShareDeviceName}},
{IDS_OS_SETTINGS_TAG_NEARBY_SHARE_DEVICE_VISIBILITY,
mojom::kNearbyShareSubpagePath,
mojom::SearchResultIcon::kNearbyShare,
mojom::SearchResultDefaultRank::kMedium,
mojom::SearchResultType::kSetting,
{.setting = mojom::Setting::kNearbyShareDeviceVisibility},
{IDS_OS_SETTINGS_TAG_NEARBY_SHARE_DEVICE_VISIBILITY_ALT1,
SearchConcept::kAltTagEnd}},
{IDS_OS_SETTINGS_TAG_NEARBY_SHARE_CONTACTS,
mojom::kNearbyShareSubpagePath,
mojom::SearchResultIcon::kNearbyShare,
mojom::SearchResultDefaultRank::kMedium,
mojom::SearchResultType::kSetting,
{.setting = mojom::Setting::kNearbyShareContacts}},
{IDS_OS_SETTINGS_TAG_NEARBY_SHARE_DATA_USAGE,
mojom::kNearbyShareSubpagePath,
mojom::SearchResultIcon::kNearbyShare,
mojom::SearchResultDefaultRank::kMedium,
mojom::SearchResultType::kSetting,
{.setting = mojom::Setting::kNearbyShareDataUsage}},
});
return *tags;
}
......@@ -504,6 +530,10 @@ void MultiDeviceSection::RegisterHierarchy(
mojom::SearchResultDefaultRank::kMedium, mojom::kNearbyShareSubpagePath);
static constexpr mojom::Setting kNearbyShareSettings[] = {
mojom::Setting::kNearbyShareOnOff,
mojom::Setting::kNearbyShareDeviceName,
mojom::Setting::kNearbyShareDeviceVisibility,
mojom::Setting::kNearbyShareContacts,
mojom::Setting::kNearbyShareDataUsage,
};
RegisterNestedSettingBulk(mojom::Subpage::kNearbyShare, kNearbyShareSettings,
generator);
......
......@@ -127,23 +127,38 @@ suite('NearbyShare', function() {
assertEquals('Off', onOffText.textContent.trim());
});
test('Deep link to nearby share on/off toggle', async () => {
loadTimeData.overrideValues({
isDeepLinkingEnabled: true,
suite('Deeplinking', () => {
const deepLinkTestData = [
{settingId: '208', deepLinkElement: '#featureToggleButton'},
{settingId: '214', deepLinkElement: '#editDeviceNameButton'},
{settingId: '215', deepLinkElement: '#editVisibilityButton'},
{settingId: '216', deepLinkElement: '#manageContactsLinkRow'},
{settingId: '217', deepLinkElement: '#editDataUsageButton'},
];
deepLinkTestData.forEach((testData) => {
test(
'Deep link to nearby setting element ' + testData.deepLinkElement,
async () => {
loadTimeData.overrideValues({
isDeepLinkingEnabled: true,
});
const params = new URLSearchParams;
params.append('settingId', testData.settingId);
settings.Router.getInstance().navigateTo(
settings.routes.NEARBY_SHARE, params);
Polymer.dom.flush();
const deepLinkElement = subpage.$$(testData.deepLinkElement);
await test_util.waitAfterNextRender(deepLinkElement);
assertEquals(
deepLinkElement, subpage.shadowRoot.activeElement,
'Nearby share setting element ' + testData.deepLinkElement +
' should be focused for settingId=' + testData.settingId);
});
});
const params = new URLSearchParams;
params.append('settingId', '208');
settings.Router.getInstance().navigateTo(
settings.routes.NEARBY_SHARE, params);
Polymer.dom.flush();
const deepLinkElement = featureToggleButton.$$('cr-toggle');
await test_util.waitAfterNextRender(deepLinkElement);
assertEquals(
deepLinkElement, getDeepActiveElement(),
'Nearby share on/off toggle should be focused for settingId=208.');
});
test('update device name preference', function() {
......
......@@ -55341,6 +55341,10 @@ Called by update_net_trust_anchors.py.-->
<int value="211" label="Phone Hub Notification Badge: On/Off (Deprecated)"/>
<int value="212" label="Phone Hub Task Continuation: On/Off"/>
<int value="213" label="Wifi Sync: On/Off"/>
<int value="214" label="Nearby Share: Device Name"/>
<int value="215" label="Nearby Share: Device Visibility"/>
<int value="216" label="Nearby Share: Contacts"/>
<int value="217" label="Nearby Share: Data Usage"/>
<int value="300" label="Add Account"/>
<int value="301" label="Remove Account"/>
<int value="302" label="Split Sync On/Off"/>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment