update_engine: Move DaemonStateInterface implementation to UpdateAttempter
It seems like UpdateAttempter is the best option for implementation of
DaemonStateInterface. SystemState should only be doing state keeping not
doing these startup logics.
BUG=b:171829801
TEST=unittests
TEST=CQ passes
Change-Id: I47ec50107ffbeb544e061f39c900a1559f2cdcab
Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2519843
Tested-by: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Jae Hoon Kim <kimjae@chromium.org>
Commit-Queue: Jae Hoon Kim <kimjae@chromium.org>
diff --git a/cros/update_attempter.h b/cros/update_attempter.h
index 0f4c952..bd0aef6 100644
--- a/cros/update_attempter.h
+++ b/cros/update_attempter.h
@@ -34,6 +34,7 @@
#include "update_engine/client_library/include/update_engine/update_status.h"
#include "update_engine/common/action_processor.h"
#include "update_engine/common/cpu_limiter.h"
+#include "update_engine/common/daemon_state_interface.h"
#include "update_engine/common/download_action.h"
#include "update_engine/common/excluder_interface.h"
#include "update_engine/common/proxy_resolver.h"
@@ -59,7 +60,8 @@
class UpdateAttempter : public ActionProcessorDelegate,
public DownloadActionDelegate,
public CertificateChecker::Observer,
- public PostinstallRunnerAction::DelegateInterface {
+ public PostinstallRunnerAction::DelegateInterface,
+ public DaemonStateInterface {
public:
using UpdateStatus = update_engine::UpdateStatus;
using UpdateAttemptFlags = update_engine::UpdateAttemptFlags;
@@ -219,15 +221,15 @@
// 'cros flash' to function properly).
bool IsAnyUpdateSourceAllowed() const;
- // Add and remove a service observer.
- void AddObserver(ServiceObserverInterface* observer) {
+ // |DaemonStateInterface| overrides.
+ bool StartUpdater() override;
+ void AddObserver(ServiceObserverInterface* observer) override {
service_observers_.insert(observer);
}
- void RemoveObserver(ServiceObserverInterface* observer) {
+ void RemoveObserver(ServiceObserverInterface* observer) override {
service_observers_.erase(observer);
}
-
- const std::set<ServiceObserverInterface*>& service_observers() {
+ const std::set<ServiceObserverInterface*>& service_observers() override {
return service_observers_;
}