Android: Implement the binder service.
This patch introduces the service delegate interface for non-Brillo
targets, which is the class in charge of implementing the API exposed
by the service. The binder service for non-Brillo targets is now
completed using this interface.
The other side of this interface will be implemented in a follow up CL,
while this CL includes only the interface and its usage.
To accomodate non-Brillo targets, the generic ServiceObserverInterface
is extended with the PayloadApplicationComplete message, which will be
implemented for all targets in the future.
Bug: 25631949
TEST=`mmma system/update_engine` on aosp_arm-eng and edison-eng
Change-Id: I9fa8e9565ae92515e81e07d2cef562fc4e11a7ba
diff --git a/daemon.cc b/daemon.cc
index 27000d5..4c0c52f 100644
--- a/daemon.cc
+++ b/daemon.cc
@@ -90,7 +90,8 @@
#if defined(__BRILLO__) || defined(__CHROMEOS__)
binder_service_ = new BinderUpdateEngineBrilloService{real_system_state};
#else // !(defined(__BRILLO__) || defined(__CHROMEOS__))
- binder_service_ = new BinderUpdateEngineAndroidService{daemon_state_android};
+ binder_service_ = new BinderUpdateEngineAndroidService{
+ daemon_state_android->service_delegate()};
#endif // defined(__BRILLO__) || defined(__CHROMEOS__)
auto binder_wrapper = android::BinderWrapper::Get();
if (!binder_wrapper->RegisterService(binder_service_->ServiceName(),