Commit c0d403ae authored by Gordon Seto's avatar Gordon Seto Committed by Commit Bot

[CrOS Settings] Update sim-detect-page to be more generic

Rename sim-detect-page to setup-loading-page and update UI to be used
for both psim and esim flows.

Bug: 1093185
Change-Id: Iaf8934a3423c1ce21d6115bc9ea28c9d972738b8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2535231
Commit-Queue: Gordon Seto <gordonseto@google.com>
Reviewed-by: default avatarAzeem Arshad <azeemarshad@chromium.org>
Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#827473}
parent ac59abad
...@@ -312,6 +312,9 @@ ...@@ -312,6 +312,9 @@
<message name="IDS_CELLULAR_SETUP_CELLULAR_SETUP_PAGE_ESIM_LABEL" desc="Label for electronic SIM (eSIM) setup flow card radio select button during cellular setup"> <message name="IDS_CELLULAR_SETUP_CELLULAR_SETUP_PAGE_ESIM_LABEL" desc="Label for electronic SIM (eSIM) setup flow card radio select button during cellular setup">
eSim setup eSim setup
</message> </message>
<message name="IDS_CELLULAR_SETUP_ESIM_PROFILE_DETECT_MESSAGE" desc="Message displayed during loading page in eSIM setup flow when looking for eSIM profiles.">
Looking for available profiles...
</message>
<message name="IDS_CELLULAR_SETUP_CELLULAR_SETUP_PAGE_ESIM_MESSAGE" desc="Message for electronic SIM (eSIM) setup flow card radio select button during cellular setup, informing the user to establish an internet connection before proceeding."> <message name="IDS_CELLULAR_SETUP_CELLULAR_SETUP_PAGE_ESIM_MESSAGE" desc="Message for electronic SIM (eSIM) setup flow card radio select button during cellular setup, informing the user to establish an internet connection before proceeding.">
Establish an internet connection first Establish an internet connection first
</message> </message>
......
50d98ca9d86f9d8fe780771b4de96d4edeb154dc
\ No newline at end of file
...@@ -49,6 +49,8 @@ constexpr webui::LocalizedString kLocalizedStringsWithoutPlaceholders[] = { ...@@ -49,6 +49,8 @@ constexpr webui::LocalizedString kLocalizedStringsWithoutPlaceholders[] = {
{"finalPageMessage", IDS_CELLULAR_SETUP_FINAL_PAGE_MESSAGE}, {"finalPageMessage", IDS_CELLULAR_SETUP_FINAL_PAGE_MESSAGE},
{"finalPageErrorTitle", IDS_CELLULAR_SETUP_FINAL_PAGE_ERROR_TITLE}, {"finalPageErrorTitle", IDS_CELLULAR_SETUP_FINAL_PAGE_ERROR_TITLE},
{"finalPageErrorMessage", IDS_CELLULAR_SETUP_FINAL_PAGE_ERROR_MESSAGE}, {"finalPageErrorMessage", IDS_CELLULAR_SETUP_FINAL_PAGE_ERROR_MESSAGE},
{"eSimProfileDetectMessage",
IDS_CELLULAR_SETUP_ESIM_PROFILE_DETECT_MESSAGE},
{"scanQRCode", IDS_CELLULAR_SETUP_ESIM_PAGE_SCAN_QR_CODE}, {"scanQRCode", IDS_CELLULAR_SETUP_ESIM_PAGE_SCAN_QR_CODE},
{"switchCamera", IDS_CELLULAR_SETUP_ESIM_PAGE_SWITCH_CAMERA}, {"switchCamera", IDS_CELLULAR_SETUP_ESIM_PAGE_SWITCH_CAMERA},
{"useCamera", IDS_CELLULAR_SETUP_ESIM_PAGE_USE_CAMERA}, {"useCamera", IDS_CELLULAR_SETUP_ESIM_PAGE_USE_CAMERA},
......
...@@ -16,7 +16,7 @@ js_modulizer("modulize") { ...@@ -16,7 +16,7 @@ js_modulizer("modulize") {
"provisioning_page_test.js", "provisioning_page_test.js",
"psim_flow_ui_test.js", "psim_flow_ui_test.js",
"setup_selection_flow_test.js", "setup_selection_flow_test.js",
"sim_detect_page_test.js", "setup_loading_page_test.js",
"fake_cellular_setup_delegate.js", "fake_cellular_setup_delegate.js",
"fake_cellular_setup_remote.js", "fake_cellular_setup_remote.js",
"fake_media_devices.js", "fake_media_devices.js",
......
...@@ -4,17 +4,17 @@ ...@@ -4,17 +4,17 @@
// clang-format off // clang-format off
// #import 'chrome://os-settings/strings.m.js'; // #import 'chrome://os-settings/strings.m.js';
// #import 'chrome://resources/cr_components/chromeos/cellular_setup/sim_detect_page.m.js'; // #import 'chrome://resources/cr_components/chromeos/cellular_setup/setup_loading_page.m.js';
// #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; // #import {flush, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
// #import {assertFalse, assertTrue} from '../../../chai_assert.js'; // #import {assertFalse, assertTrue} from '../../../chai_assert.js';
// #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js'; // #import {FakeCellularSetupDelegate} from './fake_cellular_setup_delegate.m.js';
// clang-format on // clang-format on
suite('CrComponentsSimDetectPageTest', function() { suite('CrComponentsSetupLoadingPageTest', function() {
let simDetectPage; let simDetectPage;
setup(function() { setup(function() {
simDetectPage = document.createElement('sim-detect-page'); simDetectPage = document.createElement('setup-loading-page');
simDetectPage.delegate = new cellular_setup.FakeCellularSetupDelegate(); simDetectPage.delegate = new cellular_setup.FakeCellularSetupDelegate();
document.body.appendChild(simDetectPage); document.body.appendChild(simDetectPage);
Polymer.dom.flush(); Polymer.dom.flush();
......
...@@ -84,7 +84,7 @@ GEN('#include "content/public/test/browser_test.h"'); ...@@ -84,7 +84,7 @@ GEN('#include "content/public/test/browser_test.h"');
['SetupSelectionFlow', 'cellular_setup/setup_selection_flow_test.js',[ ['SetupSelectionFlow', 'cellular_setup/setup_selection_flow_test.js',[
'./cellular_setup/fake_cellular_setup_delegate.js', './cellular_setup/fake_cellular_setup_delegate.js',
]], ]],
['SimDetectPage', 'cellular_setup/sim_detect_page_test.js', [ ['SetupLoadingPage', 'cellular_setup/setup_loading_page_test.js', [
'./cellular_setup/fake_cellular_setup_delegate.js', './cellular_setup/fake_cellular_setup_delegate.js',
]], ]],
].forEach(test => registerTest('CellularSetup', 'cellular-setup', ...test)); ].forEach(test => registerTest('CellularSetup', 'cellular-setup', ...test));
......
...@@ -41,7 +41,7 @@ GEN('#include "chromeos/constants/chromeos_features.h"'); ...@@ -41,7 +41,7 @@ GEN('#include "chromeos/constants/chromeos_features.h"');
['ProvisioningPage', 'cellular_setup/provisioning_page_test.m.js'], ['ProvisioningPage', 'cellular_setup/provisioning_page_test.m.js'],
['PsimFlowUi', 'cellular_setup/psim_flow_ui_test.m.js'], ['PsimFlowUi', 'cellular_setup/psim_flow_ui_test.m.js'],
['SetupSelectionFlow', 'cellular_setup/setup_selection_flow_test.m.js'], ['SetupSelectionFlow', 'cellular_setup/setup_selection_flow_test.m.js'],
['SimDetectPage', 'cellular_setup/sim_detect_page_test.m.js'], ['SetupLoadingPage', 'cellular_setup/setup_loading_page_test.m.js'],
].forEach(test => registerTest('CellularSetup', ...test)); ].forEach(test => registerTest('CellularSetup', ...test));
// clang-format on // clang-format on
......
...@@ -107,7 +107,7 @@ preprocess_grit("preprocess_generated") { ...@@ -107,7 +107,7 @@ preprocess_grit("preprocess_generated") {
"chromeos/cellular_setup/provisioning_page.m.js", "chromeos/cellular_setup/provisioning_page.m.js",
"chromeos/cellular_setup/psim_flow_ui.m.js", "chromeos/cellular_setup/psim_flow_ui.m.js",
"chromeos/cellular_setup/setup_selection_flow.m.js", "chromeos/cellular_setup/setup_selection_flow.m.js",
"chromeos/cellular_setup/sim_detect_page.m.js", "chromeos/cellular_setup/setup_loading_page.m.js",
"chromeos/cellular_setup/subflow_behavior.m.js", "chromeos/cellular_setup/subflow_behavior.m.js",
"chromeos/cellular_setup/webview_post_util.m.js", "chromeos/cellular_setup/webview_post_util.m.js",
"chromeos/network_health/network_diagnostics.m.js", "chromeos/network_health/network_diagnostics.m.js",
...@@ -224,8 +224,8 @@ preprocess_grit("preprocess_polymer2") { ...@@ -224,8 +224,8 @@ preprocess_grit("preprocess_polymer2") {
"chromeos/cellular_setup/psim_flow_ui.js", "chromeos/cellular_setup/psim_flow_ui.js",
"chromeos/cellular_setup/setup_selection_flow.html", "chromeos/cellular_setup/setup_selection_flow.html",
"chromeos/cellular_setup/setup_selection_flow.js", "chromeos/cellular_setup/setup_selection_flow.js",
"chromeos/cellular_setup/sim_detect_page.html", "chromeos/cellular_setup/setup_loading_page.html",
"chromeos/cellular_setup/sim_detect_page.js", "chromeos/cellular_setup/setup_loading_page.js",
"chromeos/cellular_setup/subflow_behavior.html", "chromeos/cellular_setup/subflow_behavior.html",
"chromeos/cellular_setup/subflow_behavior.js", "chromeos/cellular_setup/subflow_behavior.js",
"chromeos/cellular_setup/webview_post_util.html", "chromeos/cellular_setup/webview_post_util.html",
......
...@@ -23,8 +23,8 @@ js_type_check("closure_compile") { ...@@ -23,8 +23,8 @@ js_type_check("closure_compile") {
":profile_discovery_list_page", ":profile_discovery_list_page",
":provisioning_page", ":provisioning_page",
":psim_flow_ui", ":psim_flow_ui",
":setup_loading_page",
":setup_selection_flow", ":setup_selection_flow",
":sim_detect_page",
":webview_post_util", ":webview_post_util",
] ]
} }
...@@ -40,7 +40,7 @@ js_library("base_page") { ...@@ -40,7 +40,7 @@ js_library("base_page") {
deps = [ "//ui/webui/resources/js:i18n_behavior" ] deps = [ "//ui/webui/resources/js:i18n_behavior" ]
} }
js_library("sim_detect_page") { js_library("setup_loading_page") {
deps = [ deps = [
":base_page", ":base_page",
":cellular_setup_delegate", ":cellular_setup_delegate",
...@@ -97,7 +97,7 @@ js_library("psim_flow_ui") { ...@@ -97,7 +97,7 @@ js_library("psim_flow_ui") {
":final_page", ":final_page",
":mojo_interface_provider", ":mojo_interface_provider",
":provisioning_page", ":provisioning_page",
":sim_detect_page", ":setup_loading_page",
":subflow_behavior", ":subflow_behavior",
"//chromeos/services/cellular_setup/public/mojom:mojom_js_library_for_compile", "//chromeos/services/cellular_setup/public/mojom:mojom_js_library_for_compile",
"//ui/webui/resources/js:assert.m", "//ui/webui/resources/js:assert.m",
...@@ -176,8 +176,8 @@ js_type_check("closure_compile_module") { ...@@ -176,8 +176,8 @@ js_type_check("closure_compile_module") {
":profile_discovery_list_page.m", ":profile_discovery_list_page.m",
":provisioning_page.m", ":provisioning_page.m",
":psim_flow_ui.m", ":psim_flow_ui.m",
":setup_loading_page.m",
":setup_selection_flow.m", ":setup_selection_flow.m",
":sim_detect_page.m",
":subflow_behavior.m", ":subflow_behavior.m",
":webview_post_util.m", ":webview_post_util.m",
] ]
...@@ -247,13 +247,13 @@ js_library("webview_post_util.m") { ...@@ -247,13 +247,13 @@ js_library("webview_post_util.m") {
extra_deps = [ ":modulize" ] extra_deps = [ ":modulize" ]
} }
js_library("sim_detect_page.m") { js_library("setup_loading_page.m") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/sim_detect_page.m.js" ] sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/setup_loading_page.m.js" ]
deps = [ deps = [
":base_page.m", ":base_page.m",
":cellular_setup_delegate.m", ":cellular_setup_delegate.m",
] ]
extra_deps = [ ":sim_detect_page_module" ] extra_deps = [ ":setup_loading_page_module" ]
} }
js_library("provisioning_page.m") { js_library("provisioning_page.m") {
...@@ -307,7 +307,7 @@ js_library("psim_flow_ui.m") { ...@@ -307,7 +307,7 @@ js_library("psim_flow_ui.m") {
":final_page.m", ":final_page.m",
":mojo_interface_provider.m", ":mojo_interface_provider.m",
":provisioning_page.m", ":provisioning_page.m",
":sim_detect_page.m", ":setup_loading_page.m",
":subflow_behavior.m", ":subflow_behavior.m",
"//chromeos/services/cellular_setup/public/mojom:mojom_js_library_for_compile", "//chromeos/services/cellular_setup/public/mojom:mojom_js_library_for_compile",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled", "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
...@@ -370,8 +370,8 @@ group("polymer3_elements") { ...@@ -370,8 +370,8 @@ group("polymer3_elements") {
":profile_discovery_list_page_module", ":profile_discovery_list_page_module",
":provisioning_page_module", ":provisioning_page_module",
":psim_flow_ui_module", ":psim_flow_ui_module",
":setup_loading_page_module",
":setup_selection_flow_module", ":setup_selection_flow_module",
":sim_detect_page_module",
] ]
} }
...@@ -407,9 +407,9 @@ polymer_modulizer("button_bar") { ...@@ -407,9 +407,9 @@ polymer_modulizer("button_bar") {
auto_imports = cr_components_chromeos_auto_imports auto_imports = cr_components_chromeos_auto_imports
} }
polymer_modulizer("sim_detect_page") { polymer_modulizer("setup_loading_page") {
js_file = "sim_detect_page.js" js_file = "setup_loading_page.js"
html_file = "sim_detect_page.html" html_file = "setup_loading_page.html"
html_type = "dom-module" html_type = "dom-module"
namespace_rewrites = cr_components_chromeos_namespace_rewrites namespace_rewrites = cr_components_chromeos_namespace_rewrites
auto_imports = cr_components_chromeos_auto_imports auto_imports = cr_components_chromeos_auto_imports
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<link rel="import" href="cellular_types.html"> <link rel="import" href="cellular_types.html">
<link rel="import" href="cellular_setup_delegate.html"> <link rel="import" href="cellular_setup_delegate.html">
<link rel="import" href="chrome://resources/polymer/v1_0/iron-pages/iron-pages.html"> <link rel="import" href="chrome://resources/polymer/v1_0/iron-pages/iron-pages.html">
<link rel="import" href="setup_loading_page.html">
<link rel="import" href="activation_code_page.html"> <link rel="import" href="activation_code_page.html">
<link rel="import" href="final_page.html"> <link rel="import" href="final_page.html">
<link rel="import" href="profile_discovery_list_page.html"> <link rel="import" href="profile_discovery_list_page.html">
...@@ -20,6 +21,10 @@ ...@@ -20,6 +21,10 @@
</style> </style>
<iron-pages attr-for-selected="id" <iron-pages attr-for-selected="id"
selected="[[selectedESimPageName_]]"> selected="[[selectedESimPageName_]]">
<setup-loading-page id="profileLoadingPage"
delegate="[[delegate]]"
loading-message="[[i18n('eSimProfileDetectMessage')]]">
</setup-loading-page>
<profile-discovery-list-page id="profileDiscoveryPage" <profile-discovery-list-page id="profileDiscoveryPage"
selected-profiles="{{selectedProfiles_}}"> selected-profiles="{{selectedProfiles_}}">
</profile-discovery-list-page> </profile-discovery-list-page>
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
cr.define('cellular_setup', function() { cr.define('cellular_setup', function() {
/** @enum{string} */ /** @enum{string} */
/* #export */ const ESimPageName = { /* #export */ const ESimPageName = {
PROFILE_LOADING: 'profileLoadingPage',
PROFILE_DISCOVERY: 'profileDiscoveryPage', PROFILE_DISCOVERY: 'profileDiscoveryPage',
ESIM: 'activationCodePage', ESIM: 'activationCodePage',
FINAL: 'finalPage', FINAL: 'finalPage',
...@@ -32,6 +33,7 @@ cr.define('cellular_setup', function() { ...@@ -32,6 +33,7 @@ cr.define('cellular_setup', function() {
*/ */
selectedESimPageName_: { selectedESimPageName_: {
type: String, type: String,
// TODO(crbug.com/1093185) Make initial page PROFILE_LOADING.
value: ESimPageName.PROFILE_DISCOVERY, value: ESimPageName.PROFILE_DISCOVERY,
}, },
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<link rel="import" href="../../../html/i18n_behavior.html"> <link rel="import" href="../../../html/i18n_behavior.html">
<link rel="import" href="mojo_interface_provider.html"> <link rel="import" href="mojo_interface_provider.html">
<link rel="import" href="sim_detect_page.html"> <link rel="import" href="setup_loading_page.html">
<link rel="import" href="provisioning_page.html"> <link rel="import" href="provisioning_page.html">
<link rel="import" href="final_page.html"> <link rel="import" href="final_page.html">
<link rel="import" href="subflow_behavior.html"> <link rel="import" href="subflow_behavior.html">
...@@ -23,16 +23,23 @@ ...@@ -23,16 +23,23 @@
flex-direction: column; flex-direction: column;
} }
</style> </style>
<iron-pages attr-for-selected="is" <iron-pages attr-for-selected="id"
selected="[[selectedPSimPageName_]]" selected="[[selectedPSimPageName_]]"
selected-item="{{selectedPage_}}"> selected-item="{{selectedPage_}}">
<sim-detect-page delegate="[[delegate]]" show-error="[[showError_]]"></sim-detect-page> <setup-loading-page id="simDetectPage"
<provisioning-page delegate="[[delegate]]" show-error="{{showError_}}" delegate="[[delegate]]" show-error="[[showError_]]"
loading-message="[[i18n('establishNetworkConnectionMessage')]]">
</setup-loading-page>
<provisioning-page id="provisioningPage"
delegate="[[delegate]]" show-error="{{showError_}}"
cellular-metadata="[[cellularMetadata_]]" cellular-metadata="[[cellularMetadata_]]"
on-carrier-portal-loaded="onCarrierPortalLoaded_" on-carrier-portal-loaded="onCarrierPortalLoaded_"
on-carrier-portal-result="onCarrierPortalResult_"> on-carrier-portal-result="onCarrierPortalResult_">
</provisioning-page> </provisioning-page>
<final-page delegate="[[delegate]]" show-error="[[showError_]]"></final-page> <final-page id="finalPage"
delegate="[[delegate]]"
show-error="[[showError_]]">
</final-page>
</iron-pages> </iron-pages>
</template> </template>
<script src="psim_flow_ui.js"></script> <script src="psim_flow_ui.js"></script>
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
cr.define('cellularSetup', function() { cr.define('cellularSetup', function() {
/** @enum{string} */ /** @enum{string} */
/* #export */ const PSimPageName = { /* #export */ const PSimPageName = {
SIM_DETECT: 'sim-detect-page', SIM_DETECT: 'simDetectPage',
PROVISIONING: 'provisioning-page', PROVISIONING: 'provisioningPage',
FINAL: 'final-page', FINAL: 'finalPage',
}; };
/** @enum{string} */ /** @enum{string} */
...@@ -104,7 +104,7 @@ cr.define('cellularSetup', function() { ...@@ -104,7 +104,7 @@ cr.define('cellularSetup', function() {
/** /**
* DOM Element for the current selected sub-page. * DOM Element for the current selected sub-page.
* @private {!SimDetectPageElement|!ProvisioningPageElement| * @private {!SetupLoadingPageElement|!ProvisioningPageElement|
* !FinalPageElement} * !FinalPageElement}
*/ */
selectedPage_: Object, selectedPage_: Object,
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html"> <link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-spinner/paper-spinner-lite.html"> <link rel="import" href="chrome://resources/polymer/v1_0/paper-spinner/paper-spinner-lite.html">
<dom-module id="sim-detect-page"> <dom-module id="setup-loading-page">
<template> <template>
<style include="iron-flex cr-hidden-style"> <style include="iron-flex cr-hidden-style">
#error-icon-container { #error-icon-container {
...@@ -30,11 +30,11 @@ ...@@ -30,11 +30,11 @@
<div slot="page-body" class="layout horizontal center-center"> <div slot="page-body" class="layout horizontal center-center">
<!-- TODO(crbug.com/1093185): Conditionally show spinner when setup is added in OOBE --> <!-- TODO(crbug.com/1093185): Conditionally show spinner when setup is added in OOBE -->
<div id="network-connection-message" hidden$="[[showError]]"> <div id="network-connection-message" hidden$="[[showError]]">
[[i18n('establishNetworkConnectionMessage')]] [[loadingMessage]]
</div> </div>
<div id="error-icon-container" hidden$="[[!showError]]"></div> <div id="error-icon-container" hidden$="[[!showError]]"></div>
</div> </div>
</base-page> </base-page>
</template> </template>
<script src="sim_detect_page.js"></script> <script src="setup_loading_page.js"></script>
</dom-module> </dom-module>
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
// found in the LICENSE file. // found in the LICENSE file.
/** /**
* SIM Detection subpage in Cellular Setup flow. This element contains image * Loading subpage in Cellular Setup flow. This element contains image
* asset and description to indicate that the SIM detection is in progress. * asset and description to indicate that a SIM detection or eSIM profiles
* It also has an error state that displays a message for errors that may * loading is in progress. It also has an error state that displays a message
* happen during this step. * for errors that may happen during this step.
*/ */
Polymer({ Polymer({
is: 'sim-detect-page', is: 'setup-loading-page',
behaviors: [I18nBehavior], behaviors: [I18nBehavior],
...@@ -17,11 +17,16 @@ Polymer({ ...@@ -17,11 +17,16 @@ Polymer({
/** @type {!cellular_setup.CellularSetupDelegate} */ /** @type {!cellular_setup.CellularSetupDelegate} */
delegate: Object, delegate: Object,
/** /** Whether error state should be shown. */
* Whether error state should be shown. showError: {
* @type {boolean} type: Boolean,
*/ value: false,
showError: Boolean, },
loadingMessage: {
type: String,
value: '',
}
}, },
/** /**
......
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