3a9c9623f2ffbe256f2d4d8897939f3d48b3cf52 |
|
20-Oct-2017 |
Aaron Wood <aaronwood@google.com> |
Add interactive override update restriction flags Add the ability for an interactive update to provide its own set of update restriction flags that are used instead of the normal set. Bug: 66016687 Test: unit-tests, manual OTA Exempt-From-Owner-Approval: cherry-pick from nyc-iot-dev Change-Id: I7b80a0dadde6b163e8b5e2bc6fd197c2d7761646 (cherry picked from commit a6fbaa5323022080af2f711290e3fb953b9826a4)
/system/update_engine/binder_service_brillo.h
|
224dfc23caf524ef5e3661010c694781e2d9d819 |
|
04-Oct-2017 |
Aaron Wood <aaronwood@google.com> |
Add flag for restricting downloads This adds a flag that can be used to turn off the ability to download and apply updates from the API. This value applies to all future update checks that the update_engine performs. Changing this value during an update check has no effect on the current update check. Bug: 66016687 Test: unit-tests, manual OTA Exempt-From-Owner-Approval: cherry-pick from nyc-iot-dev Change-Id: I655adf23cae44c63079bfa9dc18ba8ca65d7a304 (cherry picked from commit e22f2ddfec92623d38efbf17c17917f68e52907a)
/system/update_engine/binder_service_brillo.h
|
7f92e2b7060cb35719acf96ef96a4e273e165bc5 |
|
28-Aug-2017 |
Aaron Wood <aaronwood@google.com> |
Update API: initial support Initial pieces of the Update API callback framework. - move the status callback params to a new object, UpdateEngineStatus to allow for the easier addition of new params in the future. - switch the IUpdateEngineStatusCallback to provide a ParcelableUpdateEngineStatus instead of a series of individual params - move the various GetStatus() methods to use the UpdateEngineStatus object instead of a series of params (which will need future expansion) - Add current and new product/os versions to both the UpdateEngineStatus and the ParcelableUpdateEngineStatus. Bug: 64808702 Test: unit tests, and performing OTAs via a test app calling IUpdateEngine::AttemptUpdate() via UpdateManager::performUpdateNow() Change-Id: I53f66f3511049f0809855814e1e758023cd8cc08 (cherry picked from commit 4f96ebf85022837603f2e10100a044d234b7d86f)
/system/update_engine/binder_service_brillo.h
|
5688d16057d34b770c070e2b4a27841092003a4e |
|
06-Jun-2017 |
Tao Bao <tbao@google.com> |
Revert "Add functions to allow update over cellular (including tethered connection)" This reverts commit 4b0d6032cbb86ce488c03b31936cda31283f97e3. Bug: 62366504 Test: GmsCore sees the old status code (i.e. UPDATED_NEED_REBOOT == 6). Change-Id: I9185614a41bd621ad85e7f773b0f96919b0f70d5
/system/update_engine/binder_service_brillo.h
|
4b0d6032cbb86ce488c03b31936cda31283f97e3 |
|
17-Apr-2017 |
Weidong Guo <weidongg@chromium.org> |
Add functions to allow update over cellular (including tethered connection) - Add an update state NEED_PERMISSION_TO_UPDATE which is broadcasted along with the update info (version and size) when |OmahaRequestAction| aborts update due to cellular connection. So the state transition will be: IDLE->CHECKING_FOR_UPDATE->NEED_PERMISSION_TO_UPDATE->REPORTING_ERROR_EVENT ->IDLE (The Chrome UI prompts an alert window showing update size and asks user whether to proceed upon receiving this state.) - Add a dbus interface to set update over cellular target (kPrefsUpdateOverCellularTargetVersion and kPrefsUpdateOverCellularTargetSize). The target is the one received by Chrome UI in NEED_PERMISSION_TO_UPDATE broadcast. By sending the target back with the dbus call, update engine can double check the target with the server to make sure there's no new server push after NEED_PERMISSION_TO_UPDATE is broadcasted to Chrome UI. (This dbus call is invoked when the user chooses to proceed to update at the alert window. The dbus call is followed by another dbus call |AttemptUpdate|) - So, the the decision tree as to whether to allow update over cellular connection has changed to: IF (device policy DeviceUpdateAllowedConnectionTypes set) follow device policy's decision ELSE IF (kPrefsUpdateOverCellularPermission set to true) allow update ELSE IF (Either kPrefsUpdateOverCellularTargetVersion or kPrefsUpdateOverCellularTargetSize is not set, or they are set but do not match the version and size in |OmahaResponse| retrieved by |OmahaRequestAction|) disallow update, and broadcast NEED_PERMISSION_TO_UPDATE ELSE allow update ENDIF - This decision making happens at |OmahaRequestAction| after |OmahaResponse| is retrieved. Since we want to separate the device policy check with the user preferences check which depends on |OmahaResponse| during checking for update, we modify ConnectionManager::IsUpdateAllowedOver by moving the user preferences check to |OmahaRequestAction|. Thus, the function by default returns true for cellular connection if device policy is not set. - Corner case: Adding kPrefsUpdateOverCellularPermission and kPrefsUpdateOverCellularTargetSize seems to complicate the logic here. But they could effectively solve a corner case where the target does not match |OmahaResponse| due to new server push after broadcasting NEED_PERMISSION_TO_UPDATE. In that case, we simply broadcast NEED_PERMISSION_TO_UPDATE again along with new update info. CQ-DEPEND=CL:481102 BUG=chromium:691108 TEST='FEATURES=test emerge-link update_engine' (cherry picked from commit 70063d9f7e229db8c5b42443ca96ac23a971a6dd) Cherry-pick updated to compile on Android. Reviewed-on: https://chromium-review.googlesource.com/479467 Commit-Ready: Weidong Guo <weidongg@chromium.org> Tested-by: Weidong Guo <weidongg@chromium.org> Reviewed-by: Weidong Guo <weidongg@chromium.org> Reviewed-by: Andrew de los Reyes <adlr@chromium.org> Reviewed-by: Ben Chan <benchan@chromium.org>
/system/update_engine/binder_service_brillo.h
|
dc066f14d22f7e3843ad3c4bbcfd8718f95d4dcd |
|
27-Mar-2017 |
Alex Deymo <deymo@google.com> |
Remove weave support from update_engine. This codepath is not used anymore. Bug: None Test: `make checkbuild`. Change-Id: I0f7f22d63cb2c3fbfabcda25763160e2470ef2c5
/system/update_engine/binder_service_brillo.h
|
5b5fa8b412312a41cfd4d7ab475b54d4f730ed2a |
|
07-Oct-2016 |
Alex Deymo <deymo@google.com> |
Add {Get,Set}CohortHint interface. Export the "cohort hint" getter and setter in the client interfaces (D-Bus and Binder). The cohort hint is sent to Omaha on every update check request but can be ignored and/or reset by Omaha on every response. Other minor linter fixes to the affected files. Bug: 31740109 Test: Build with D-Bus and with Binder. Change-Id: I93214f6ffb8662c238b3351e52bf2bdf23e46a9c
/system/update_engine/binder_service_brillo.h
|
b3fa53bf760bd0a6fd1ef9df28cb425586d733f6 |
|
19-Apr-2016 |
Alex Deymo <deymo@google.com> |
Parse and expose end-of-life flag. Omaha update or noupdate response can include _key=value pairs with arbitrary data. One of those key can be "_eol" with the one of the values "supported", "security-only" or "eol" which notifies the device the end-of-life status of the device with respect to updates. This information is now exposed via GetEolStatus() to the client so it can be properly displayed in the UI. Bug: 27924505 TEST=Added unittest. Run `update_engine_client --eol_status` on link. Change-Id: Icc15f25b4d0b19cc894f5afc52ac7c43c7818982
/system/update_engine/binder_service_brillo.h
|
2997173235e88c5e4cb13d2844f74afc7b25d6e2 |
|
05-Feb-2016 |
Shuqian Zhao <shuqianz@google.com> |
Add a feature to get the last UpdateAttempt ErrorCode from update_engine For autotest, update_engine test failures are always hard to debug, since the error message is not clear. Add a new flag 'last_attempt_error' to get the last UpdateAttempt ErrorCode from update_engine. Bug:25598547 Test:emerge-peppy update_engine emerge-peppy update_engine_client cros flash a test image to DUT. (on the DUT):update_engine_client --last_attempt_error Compare the results with the update_engine logs, matched. Change-Id: Id12681097ed30b0826cad68809f17f934a07e5b2
/system/update_engine/binder_service_brillo.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/binder_service_brillo.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/binder_service_brillo.h
|