Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(216)

Side by Side Diff: chrome/browser/chromeos/arc/arc_settings_service.cc

Issue 2357053002: Always use arc::InstanceHolder<T>::GetInstanceForMethod (Closed)
Patch Set: rebase, no code change Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/arc/arc_settings_service.h" 5 #include "chrome/browser/chromeos/arc/arc_settings_service.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/gtest_prod_util.h" 9 #include "base/gtest_prod_util.h"
10 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
(...skipping 20 matching lines...) Expand all
31 #include "components/proxy_config/proxy_config_pref_names.h" 31 #include "components/proxy_config/proxy_config_pref_names.h"
32 #include "device/bluetooth/bluetooth_adapter.h" 32 #include "device/bluetooth/bluetooth_adapter.h"
33 #include "device/bluetooth/bluetooth_adapter_factory.h" 33 #include "device/bluetooth/bluetooth_adapter_factory.h"
34 #include "net/proxy/proxy_config.h" 34 #include "net/proxy/proxy_config.h"
35 35
36 using ::chromeos::CrosSettings; 36 using ::chromeos::CrosSettings;
37 using ::chromeos::system::TimezoneSettings; 37 using ::chromeos::system::TimezoneSettings;
38 38
39 namespace { 39 namespace {
40 40
41 constexpr uint32_t kMinVersionForSendBroadcast = 1;
42
41 bool GetHttpProxyServer(const ProxyConfigDictionary* proxy_config_dict, 43 bool GetHttpProxyServer(const ProxyConfigDictionary* proxy_config_dict,
42 std::string* host, 44 std::string* host,
43 int* port) { 45 int* port) {
44 std::string proxy_rules_string; 46 std::string proxy_rules_string;
45 if (!proxy_config_dict->GetProxyServer(&proxy_rules_string)) 47 if (!proxy_config_dict->GetProxyServer(&proxy_rules_string))
46 return false; 48 return false;
47 49
48 net::ProxyConfig::ProxyRules proxy_rules; 50 net::ProxyConfig::ProxyRules proxy_rules;
49 proxy_rules.ParseFromString(proxy_rules_string); 51 proxy_rules.ParseFromString(proxy_rules_string);
50 52
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 451
450 void ArcSettingsServiceImpl::SyncLocationServiceEnabled() const { 452 void ArcSettingsServiceImpl::SyncLocationServiceEnabled() const {
451 SendBoolPrefSettingsBroadcast( 453 SendBoolPrefSettingsBroadcast(
452 prefs::kArcLocationServiceEnabled, 454 prefs::kArcLocationServiceEnabled,
453 "org.chromium.arc.intent_helper.SET_LOCATION_SERVICE_ENABLED"); 455 "org.chromium.arc.intent_helper.SET_LOCATION_SERVICE_ENABLED");
454 } 456 }
455 457
456 void ArcSettingsServiceImpl::SendSettingsBroadcast( 458 void ArcSettingsServiceImpl::SendSettingsBroadcast(
457 const std::string& action, 459 const std::string& action,
458 const base::DictionaryValue& extras) const { 460 const base::DictionaryValue& extras) const {
459 if (!arc_bridge_service_->intent_helper()->instance()) { 461 auto* instance = arc_bridge_service_->intent_helper()->GetInstanceForMethod(
460 LOG(ERROR) << "IntentHelper instance is not ready."; 462 "SendBroadcast", kMinVersionForSendBroadcast);
463 if (!instance)
461 return; 464 return;
462 }
463
464 std::string extras_json; 465 std::string extras_json;
465 bool write_success = base::JSONWriter::Write(extras, &extras_json); 466 bool write_success = base::JSONWriter::Write(extras, &extras_json);
466 DCHECK(write_success); 467 DCHECK(write_success);
467 468
468 if (arc_bridge_service_->intent_helper()->version() >= 1) { 469 instance->SendBroadcast(action, "org.chromium.arc.intent_helper",
469 arc_bridge_service_->intent_helper()->instance()->SendBroadcast( 470 "org.chromium.arc.intent_helper.SettingsReceiver",
470 action, "org.chromium.arc.intent_helper", 471 extras_json);
471 "org.chromium.arc.intent_helper.SettingsReceiver", extras_json);
472 }
473 } 472 }
474 473
475 void ArcSettingsServiceImpl::DefaultNetworkChanged( 474 void ArcSettingsServiceImpl::DefaultNetworkChanged(
476 const chromeos::NetworkState* network) { 475 const chromeos::NetworkState* network) {
477 // kProxy pref and ONC policy have more priority than the default network 476 // kProxy pref and ONC policy have more priority than the default network
478 // update. 477 // update.
479 Profile* profile = ProfileManager::GetActiveUserProfile(); 478 Profile* profile = ProfileManager::GetActiveUserProfile();
480 if (!chromeos::onc::HasPolicyForNetwork( 479 if (!chromeos::onc::HasPolicyForNetwork(
481 profile->GetPrefs(), g_browser_process->local_state(), *network) && 480 profile->GetPrefs(), g_browser_process->local_state(), *network) &&
482 !IsPrefProxyConfigApplied()) { 481 !IsPrefProxyConfigApplied()) {
(...skipping 12 matching lines...) Expand all
495 494
496 void ArcSettingsService::OnInstanceReady() { 495 void ArcSettingsService::OnInstanceReady() {
497 impl_.reset(new ArcSettingsServiceImpl(arc_bridge_service())); 496 impl_.reset(new ArcSettingsServiceImpl(arc_bridge_service()));
498 } 497 }
499 498
500 void ArcSettingsService::OnInstanceClosed() { 499 void ArcSettingsService::OnInstanceClosed() {
501 impl_.reset(); 500 impl_.reset();
502 } 501 }
503 502
504 } // namespace arc 503 } // namespace arc
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/arc/arc_process_service.cc ('k') | chrome/browser/chromeos/arc/arc_tts_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698