History log of /system/update_engine/daemon_state_android.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
14c0da88a93aa7b1aa71d5e7e923b537f0d419f3 21-Jul-2016 Alex Deymo <deymo@google.com> Remove libcurl support from update_engine_sideload.

While sideloading an update from recovery we don't need nor want to
download payload from HTTP(S) URLs, only local file:// are supported.
This patch moves libcurl_http_fetcher and certificate_checker files out
of libpayload_consumer dropping the libcurl and libssl dependencies from
it and the update_engine_sideload.

Bug: 27178350
TEST=build UE for Brillo and Android. Unittests still pass and
update_engine_sideload doesn't link to libcurl.

Change-Id: Iffefdb094654f7277dc825c041fe55aac9ee8756
/system/update_engine/daemon_state_android.h
03a4de7dc77b058987fc0670f4f67ba10ff31bc8 21-Jul-2016 Alex Deymo <deymo@google.com> Build update_engine_sideload.

Add a new "sideload" executable target that applies an update payload
directly using the UpdateAttempterAndroid.

This initial CL buils a dynamically linked program that's targeted to
run in the system image for now, but will later be transformed into a
static binary to run from the recovery environment.

Bug: 27178350
TEST=Applied a payload directly on a device using:
`update_engine_sideload --payload=file://foo/bar ...`

Change-Id: I289a724d013abdc390187d669dccd3edf2fd3434
/system/update_engine/daemon_state_android.h
765580d3e99d92b4796667a60113492dbee4c469 23-Jun-2016 Alex Deymo <deymo@google.com> Initialize the CertificateChecker on Android.

The CertificateChecker singleton is a class that keeps track of the
SSL certificates seen for the download and updatecheck servers. In
Android devices, we use the download server only, but the class was not
initialized leading to CURLE_FAILED_INIT failure and a log message,
except that DLOG messages are not shown on "release" builds and
therefore the message was lost.

This patch initializes the certificate checker class, allowing
update_engine to download HTTPS files.

Bug: 29585834
TEST=Tested on a device that update_engine can download a payload
directly from an https:// URL.

Change-Id: I70ec15aea620802bb52ca8405b9444d5b88d0288
/system/update_engine/daemon_state_android.h
5e3ea278d9e771be3b51bd72985ad582678baddc 28-Jan-2016 Alex Deymo <deymo@google.com> Android: Implement the update attempter for Android.

This patch implements the update workflow for non-Brillo targets. Only
the applyPayload() method is implemented here with a minimal subset of
functionally implemented in it. This new class acts as the service
delegate, handling all the binder service method calls for non-Brillo
targets.

Bug: 25631949
TEST=FEATURES=test emerge-link update_engine
TEST=`mmma system/update_engine` on aosp_arm-eng and edison-eng
TEST=Deployed on a non-Brillo device and tested with update_engine_client

Change-Id: I678cd141633bc2c0920a09ef27a02d53682d5330
/system/update_engine/daemon_state_android.h
f8bfcff8debbcbbb572fdd61e640efe2a3df31dc 03-Feb-2016 Alex Deymo <deymo@google.com> 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
/system/update_engine/daemon_state_android.h
fa78f14d818e8e0b8ed5d05ebc389bf833342e7a 27-Jan-2016 Alex Deymo <deymo@google.com> Refactor daemon state and service async notification.

There are three supported IPC mechanism in this code: DBus, binder and
weave (over binder); which are mostly supported by all three platforms
Chrome OS, Brillo and Android. The exceptions are that Brillo and
Chrome OS still *require* DBus and support the others, while the new
Android daemon requires and supports only Binder.

This CL introduces two new interfaces: the ServiceObserverInterface and
the DaemonStateInterface.

The first one abstracts a service (or IPC service) into an interfcae
from the point of view of the daemon initialization and async
notifications of status changes. The second interface encapsulates the
state and main functionality of the update_engine daemon while leaving
the shared initialization in the main.cc and daemon.cc classes.

Bug: 25631949
TEST=`mmma system/update_engine` on edison-eng and aosp_arm-eng
TEST=FEATURES=test emerge-link update_engine

Change-Id: Ic15621031a153e14bdc4df8fcedbca1032e82c21
/system/update_engine/daemon_state_android.h