Add ConnectionManagerAndroid.
Just a stub implementation that always allow update right now.
Test: mma
Bug: 28800946
Change-Id: I4ff6164d459d142567d49a351f70128f5fc74b9f
diff --git a/update_manager/real_shill_provider.h b/update_manager/real_shill_provider.h
index 815bbfc..e7708c8 100644
--- a/update_manager/real_shill_provider.h
+++ b/update_manager/real_shill_provider.h
@@ -21,6 +21,7 @@
// update engine's connection_manager. We need to make sure to deprecate use of
// connection manager when the time comes.
+#include <memory>
#include <string>
#include <base/time/time.h>
@@ -78,9 +79,8 @@
// The current default service path, if connected. "/" means not connected.
dbus::ObjectPath default_service_path_{"uninitialized"};
- // The mockable interface to access the shill DBus proxies, owned by the
- // caller.
- chromeos_update_engine::ShillProxyInterface* shill_proxy_;
+ // The mockable interface to access the shill DBus proxies.
+ std::unique_ptr<chromeos_update_engine::ShillProxyInterface> shill_proxy_;
// A clock abstraction (mockable).
chromeos_update_engine::ClockInterface* const clock_;
diff --git a/update_manager/real_shill_provider_unittest.cc b/update_manager/real_shill_provider_unittest.cc
index 59e70f6..e821dc7 100644
--- a/update_manager/real_shill_provider_unittest.cc
+++ b/update_manager/real_shill_provider_unittest.cc
@@ -67,9 +67,10 @@
void SetUp() override {
fake_clock_.SetWallclockTime(InitTime());
loop_.SetAsCurrent();
- provider_.reset(new RealShillProvider(&fake_shill_proxy_, &fake_clock_));
+ fake_shill_proxy_ = new chromeos_update_engine::FakeShillProxy();
+ provider_.reset(new RealShillProvider(fake_shill_proxy_, &fake_clock_));
- ManagerProxyMock* manager_proxy_mock = fake_shill_proxy_.GetManagerProxy();
+ ManagerProxyMock* manager_proxy_mock = fake_shill_proxy_->GetManagerProxy();
// The PropertyChanged signal should be subscribed to.
MOCK_SIGNAL_HANDLER_EXPECT_SIGNAL_HANDLER(
@@ -204,7 +205,7 @@
brillo::FakeMessageLoop loop_{nullptr};
FakeClock fake_clock_;
- chromeos_update_engine::FakeShillProxy fake_shill_proxy_;
+ chromeos_update_engine::FakeShillProxy* fake_shill_proxy_;
// The registered signal handler for the signal Manager.PropertyChanged.
chromeos_update_engine::dbus_test_utils::MockSignalHandler<
@@ -215,7 +216,7 @@
void UmRealShillProviderTest::SetManagerReply(const char* default_service,
bool reply_succeeds) {
- ManagerProxyMock* manager_proxy_mock = fake_shill_proxy_.GetManagerProxy();
+ ManagerProxyMock* manager_proxy_mock = fake_shill_proxy_->GetManagerProxy();
if (!reply_succeeds) {
EXPECT_CALL(*manager_proxy_mock, GetProperties(_, _, _))
.WillOnce(Return(false));
@@ -260,7 +261,7 @@
EXPECT_CALL(*service_proxy_mock, GetProperties(_, _, _))
.WillOnce(DoAll(SetArgPointee<0>(reply_dict), Return(true)));
- fake_shill_proxy_.SetServiceForPath(
+ fake_shill_proxy_->SetServiceForPath(
dbus::ObjectPath(service_path),
brillo::make_unique_ptr(service_proxy_mock));
return service_proxy_mock;
@@ -289,7 +290,7 @@
// Ensure that a service path property including a different type is ignored.
TEST_F(UmRealShillProviderTest, InvalidServicePathType) {
- ManagerProxyMock* manager_proxy_mock = fake_shill_proxy_.GetManagerProxy();
+ ManagerProxyMock* manager_proxy_mock = fake_shill_proxy_->GetManagerProxy();
brillo::VariantDictionary reply_dict;
reply_dict[shill::kDefaultServiceProperty] = "/not/an/object/path";
EXPECT_CALL(*manager_proxy_mock, GetProperties(_, _, _))
diff --git a/update_manager/state_factory.cc b/update_manager/state_factory.cc
index e01f769..822f943 100644
--- a/update_manager/state_factory.cc
+++ b/update_manager/state_factory.cc
@@ -22,6 +22,7 @@
#include "update_engine/common/clock_interface.h"
#include "update_engine/libcros_proxy.h"
+#include "update_engine/shill_proxy.h"
#include "update_engine/update_manager/real_config_provider.h"
#include "update_engine/update_manager/real_device_policy_provider.h"
#include "update_engine/update_manager/real_random_provider.h"
@@ -37,7 +38,6 @@
State* DefaultStateFactory(
policy::PolicyProvider* policy_provider,
- chromeos_update_engine::ShillProxy* shill_proxy,
org::chromium::SessionManagerInterfaceProxyInterface* session_manager_proxy,
chromeos_update_engine::LibCrosProxy* libcros_proxy,
chromeos_update_engine::SystemState* system_state) {
@@ -48,11 +48,9 @@
new RealDevicePolicyProvider(session_manager_proxy, policy_provider));
unique_ptr<RealRandomProvider> random_provider(new RealRandomProvider());
unique_ptr<RealShillProvider> shill_provider(
- new RealShillProvider(shill_proxy, clock));
- unique_ptr<RealSystemProvider> system_provider(
- new RealSystemProvider(system_state->hardware(),
- system_state->boot_control(),
- libcros_proxy));
+ new RealShillProvider(new chromeos_update_engine::ShillProxy(), clock));
+ unique_ptr<RealSystemProvider> system_provider(new RealSystemProvider(
+ system_state->hardware(), system_state->boot_control(), libcros_proxy));
unique_ptr<RealTimeProvider> time_provider(new RealTimeProvider(clock));
unique_ptr<RealUpdaterProvider> updater_provider(
new RealUpdaterProvider(system_state));
diff --git a/update_manager/state_factory.h b/update_manager/state_factory.h
index 726deeb..96f62f0 100644
--- a/update_manager/state_factory.h
+++ b/update_manager/state_factory.h
@@ -19,7 +19,6 @@
#include <session_manager/dbus-proxies.h>
-#include "update_engine/shill_proxy.h"
#include "update_engine/system_state.h"
#include "update_engine/update_manager/state.h"
@@ -36,7 +35,6 @@
// to initialize.
State* DefaultStateFactory(
policy::PolicyProvider* policy_provider,
- chromeos_update_engine::ShillProxy* shill_proxy,
org::chromium::SessionManagerInterfaceProxyInterface* session_manager_proxy,
chromeos_update_engine::LibCrosProxy* libcros_proxy,
chromeos_update_engine::SystemState* system_state);