| Index: chrome/browser/chromeos/net/tether_notification_presenter.cc
|
| diff --git a/chrome/browser/chromeos/net/tether_notification_presenter.cc b/chrome/browser/chromeos/net/tether_notification_presenter.cc
|
| index c79555077742ee2073a7fe70dc3cc392b7a5d93e..bc10b32fc5333841e1e5995b4d0ad7ce03dbdc8f 100644
|
| --- a/chrome/browser/chromeos/net/tether_notification_presenter.cc
|
| +++ b/chrome/browser/chromeos/net/tether_notification_presenter.cc
|
| @@ -8,6 +8,7 @@
|
| #include "base/memory/ptr_util.h"
|
| #include "base/strings/string16.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| +#include "chrome/browser/ui/chrome_pages.h"
|
| #include "chrome/grit/generated_resources.h"
|
| #include "components/proximity_auth/logging/logging.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| @@ -20,6 +21,12 @@ namespace chromeos {
|
|
|
| namespace tether {
|
|
|
| +namespace {
|
| +
|
| +const char kTetherSettingsSubpage[] = "networks?type=Tether";
|
| +
|
| +} // namespace
|
| +
|
| // static
|
| constexpr const char TetherNotificationPresenter::kTetherNotifierId[] =
|
| "cros_tether_notification_ids.notifier_id";
|
| @@ -61,11 +68,24 @@ TetherNotificationPresenter::CreateNotification(
|
| rich_notification_data, nullptr);
|
| }
|
|
|
| +TetherNotificationPresenter::SettingsUiDelegate::SettingsUiDelegate() {}
|
| +
|
| +TetherNotificationPresenter::SettingsUiDelegate::~SettingsUiDelegate() {}
|
| +
|
| +void TetherNotificationPresenter::SettingsUiDelegate::
|
| + ShowSettingsSubPageForProfile(Profile* profile,
|
| + const std::string& sub_page) {
|
| + chrome::ShowSettingsSubPageForProfile(profile, sub_page);
|
| +}
|
| +
|
| TetherNotificationPresenter::TetherNotificationPresenter(
|
| + Profile* profile,
|
| message_center::MessageCenter* message_center,
|
| NetworkConnect* network_connect)
|
| - : message_center_(message_center),
|
| + : profile_(profile),
|
| + message_center_(message_center),
|
| network_connect_(network_connect),
|
| + settings_ui_delegate_(base::WrapUnique(new SettingsUiDelegate())),
|
| weak_ptr_factory_(this) {
|
| message_center_->AddObserver(this);
|
| }
|
| @@ -141,8 +161,8 @@ void TetherNotificationPresenter::RemoveConnectionToHostFailedNotification() {
|
| void TetherNotificationPresenter::OnNotificationClicked(
|
| const std::string& notification_id) {
|
| PA_LOG(INFO) << "Notification with ID " << notification_id << " was clicked.";
|
| -
|
| - // TODO(khorimoto): Open the settings page.
|
| + settings_ui_delegate_->ShowSettingsSubPageForProfile(profile_,
|
| + kTetherSettingsSubpage);
|
| }
|
|
|
| void TetherNotificationPresenter::OnNotificationButtonClicked(
|
| @@ -153,12 +173,15 @@ void TetherNotificationPresenter::OnNotificationButtonClicked(
|
| << " was clicked.";
|
|
|
| if (notification_id == kPotentialHotspotNotificationId && button_index == 0) {
|
| - // TODO (hansberry): Only directly start a connection if this is not the
|
| - // first time the user has connected to a host.
|
| network_connect_->ConnectToNetworkId(hotspot_nearby_device_.GetDeviceId());
|
| }
|
| }
|
|
|
| +void TetherNotificationPresenter::SetSettingsUiDelegateForTesting(
|
| + std::unique_ptr<SettingsUiDelegate> settings_ui_delegate) {
|
| + settings_ui_delegate_ = std::move(settings_ui_delegate);
|
| +}
|
| +
|
| void TetherNotificationPresenter::ShowNotification(
|
| std::unique_ptr<message_center::Notification> notification) {
|
| std::string notification_id = notification->id();
|
|
|