Commit ddf2f3de authored by Gordon Seto's avatar Gordon Seto Committed by Chromium LUCI CQ

[CrOS Settings] Create ESimManagerListenerBehavior.

Create ESimManagerListenerBehavior, a behavior for observing updates
to the device's eSIM manager, EUICCs and eSIM profiles. This is needed
to update the network settings page whenever its eSIM profiles change
state.

This behavior is required to implement crrev.com/c/2605399, "Install
pending eSIM profile from network settings."

Bug: 1093185
Change-Id: Ia996da718e7e3b81ad3fd28ef60d69a54757f84c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2611081Reviewed-by: default avatarAzeem Arshad <azeemarshad@chromium.org>
Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Commit-Queue: Gordon Seto <gordonseto@google.com>
Cr-Commit-Position: refs/heads/master@{#840390}
parent caabdb1b
...@@ -146,6 +146,7 @@ preprocess_if_expr("preprocess_generated") { ...@@ -146,6 +146,7 @@ preprocess_if_expr("preprocess_generated") {
"chromeos/cellular_setup/esim_flow_ui.m.js", "chromeos/cellular_setup/esim_flow_ui.m.js",
"chromeos/cellular_setup/final_page.m.js", "chromeos/cellular_setup/final_page.m.js",
"chromeos/cellular_setup/mojo_interface_provider.m.js", "chromeos/cellular_setup/mojo_interface_provider.m.js",
"chromeos/cellular_setup/esim_manager_listener_behavior.m.js",
"chromeos/cellular_setup/esim_manager_utils.m.js", "chromeos/cellular_setup/esim_manager_utils.m.js",
"chromeos/cellular_setup/profile_discovery_list_item.m.js", "chromeos/cellular_setup/profile_discovery_list_item.m.js",
"chromeos/cellular_setup/profile_discovery_list_page.m.js", "chromeos/cellular_setup/profile_discovery_list_page.m.js",
...@@ -264,6 +265,8 @@ preprocess_if_expr("preprocess_polymer2") { ...@@ -264,6 +265,8 @@ preprocess_if_expr("preprocess_polymer2") {
"chromeos/cellular_setup/final_page.js", "chromeos/cellular_setup/final_page.js",
"chromeos/cellular_setup/mojo_interface_provider.html", "chromeos/cellular_setup/mojo_interface_provider.html",
"chromeos/cellular_setup/mojo_interface_provider.js", "chromeos/cellular_setup/mojo_interface_provider.js",
"chromeos/cellular_setup/esim_manager_listener_behavior.html",
"chromeos/cellular_setup/esim_manager_listener_behavior.js",
"chromeos/cellular_setup/esim_manager_utils.html", "chromeos/cellular_setup/esim_manager_utils.html",
"chromeos/cellular_setup/esim_manager_utils.js", "chromeos/cellular_setup/esim_manager_utils.js",
"chromeos/cellular_setup/profile_discovery_list_item.html", "chromeos/cellular_setup/profile_discovery_list_item.html",
......
...@@ -17,6 +17,7 @@ js_type_check("closure_compile") { ...@@ -17,6 +17,7 @@ js_type_check("closure_compile") {
":cellular_setup", ":cellular_setup",
":cellular_setup_delegate", ":cellular_setup_delegate",
":cellular_types", ":cellular_types",
":esim_manager_listener_behavior",
":esim_manager_utils", ":esim_manager_utils",
":final_page", ":final_page",
":mojo_interface_provider", ":mojo_interface_provider",
...@@ -166,6 +167,10 @@ js_library("esim_manager_utils") { ...@@ -166,6 +167,10 @@ js_library("esim_manager_utils") {
deps = [ ":mojo_interface_provider" ] deps = [ ":mojo_interface_provider" ]
} }
js_library("esim_manager_listener_behavior") {
deps = [ ":mojo_interface_provider" ]
}
# Polymer3 files # Polymer3 files
js_type_check("closure_compile_module") { js_type_check("closure_compile_module") {
...@@ -178,6 +183,7 @@ js_type_check("closure_compile_module") { ...@@ -178,6 +183,7 @@ js_type_check("closure_compile_module") {
":cellular_setup_delegate.m", ":cellular_setup_delegate.m",
":cellular_types.m", ":cellular_types.m",
":esim_flow_ui.m", ":esim_flow_ui.m",
":esim_manager_listener_behavior.m",
":esim_manager_utils.m", ":esim_manager_utils.m",
":final_page.m", ":final_page.m",
":mojo_interface_provider.m", ":mojo_interface_provider.m",
...@@ -252,6 +258,12 @@ js_library("esim_manager_utils.m") { ...@@ -252,6 +258,12 @@ js_library("esim_manager_utils.m") {
extra_deps = [ ":modulize" ] extra_deps = [ ":modulize" ]
} }
js_library("esim_manager_listener_behavior.m") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/esim_manager_listener_behavior.m.js" ]
deps = [ ":mojo_interface_provider.m" ]
extra_deps = [ ":modulize" ]
}
js_library("webview_post_util.m") { js_library("webview_post_util.m") {
sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/webview_post_util.m.js" ] sources = [ "$root_gen_dir/ui/webui/resources/cr_components/chromeos/cellular_setup/webview_post_util.m.js" ]
deps = [] deps = []
...@@ -502,6 +514,7 @@ js_modulizer("modulize") { ...@@ -502,6 +514,7 @@ js_modulizer("modulize") {
"cellular_setup_delegate.js", "cellular_setup_delegate.js",
"mojo_interface_provider.js", "mojo_interface_provider.js",
"esim_manager_utils.js", "esim_manager_utils.js",
"esim_manager_listener_behavior.js",
"subflow_behavior.js", "subflow_behavior.js",
"webview_post_util.js", "webview_post_util.js",
] ]
......
<link rel="import" href="mojo_interface_provider.html">
<script src="esim_manager_listener_behavior.js"></script>
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// #import {getESimManagerRemote} from './mojo_interface_provider.m.js';
/**
* @fileoverview Polymer behavior for observing ESimManagerObserver
* events.
*/
/** @polymerBehavior */
/* #export */ const ESimManagerListenerBehavior = {
/** @private {?chromeos.cellularSetup.mojom.ESimManagerObserver} */
observer_: null,
/** @override */
attached() {
this.observer_ =
new chromeos.cellularSetup.mojom.ESimManagerObserverReceiver(this);
cellular_setup.getESimManagerRemote().addObserver(
this.observer_.$.bindNewPipeAndPassRemote());
},
// ESimManagerObserver methods. Override these in the implementation.
onAvailableEuiccListChanged() {},
/**
* @param {!chromeos.cellularSetup.mojom.EuiccRemote} euicc
*/
onProfileListChanged(euicc) {},
/**
* @param {!chromeos.cellularSetup.mojom.EuiccRemote} euicc
*/
onEuiccChanged(euicc) {},
/**
* @param {!chromeos.cellularSetup.mojom.ESimProfileRemote} profile
*/
onProfileChanged(profile) {},
};
\ No newline at end of file
...@@ -35,6 +35,7 @@ cr_components_chromeos_auto_imports = [ ...@@ -35,6 +35,7 @@ cr_components_chromeos_auto_imports = [
"ui/webui/resources/cr_components/chromeos/cellular_setup/subflow_behavior.html|SubflowBehavior", "ui/webui/resources/cr_components/chromeos/cellular_setup/subflow_behavior.html|SubflowBehavior",
"ui/webui/resources/cr_components/chromeos/cellular_setup/mojo_interface_provider.html|setCellularSetupRemoteForTesting,getCellularSetupRemote,setESimManagerRemoteForTesting,getESimManagerRemote", "ui/webui/resources/cr_components/chromeos/cellular_setup/mojo_interface_provider.html|setCellularSetupRemoteForTesting,getCellularSetupRemote,setESimManagerRemoteForTesting,getESimManagerRemote",
"ui/webui/resources/cr_components/chromeos/cellular_setup/esim_manager_utils.html|getPendingESimProfiles", "ui/webui/resources/cr_components/chromeos/cellular_setup/esim_manager_utils.html|getPendingESimProfiles",
"ui/webui/resources/cr_components/chromeos/cellular_setup/esim_manager_listener_behavior.html|ESimManagerListenerBehavior",
"ui/webui/resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.html|CrPolicyNetworkBehaviorMojo", "ui/webui/resources/cr_components/chromeos/network/cr_policy_network_behavior_mojo.html|CrPolicyNetworkBehaviorMojo",
"ui/webui/resources/cr_components/chromeos/network/onc_mojo.html|OncMojo", "ui/webui/resources/cr_components/chromeos/network/onc_mojo.html|OncMojo",
"ui/webui/resources/cr_components/chromeos/network/network_config_element_behavior.html|NetworkConfigElementBehavior", "ui/webui/resources/cr_components/chromeos/network/network_config_element_behavior.html|NetworkConfigElementBehavior",
......
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