Catch exceptions thrown from UpdateEngine#applyPayload.
Note: we can't add a CTS test for this behaviour since the UpdateEngine is an implementation detail. Fixes: 124106342 Test: Manually tested Change-Id: Ib8e6895211b5d39a4d037d383c115011084ea257
This commit is contained in:
@@ -194,8 +194,17 @@ class AbUpdateInstaller extends UpdateInstaller {
|
||||
}
|
||||
|
||||
UpdateEngine updateEngine = buildBoundUpdateEngine();
|
||||
updateEngine.applyPayload(
|
||||
updatePath, mOffsetForUpdate, mSizeForUpdate, headerKeyValuePairs);
|
||||
try {
|
||||
updateEngine.applyPayload(
|
||||
updatePath, mOffsetForUpdate, mSizeForUpdate, headerKeyValuePairs);
|
||||
} catch (Exception e) {
|
||||
// Prevent an automatic restart when an update is already being processed
|
||||
// (http://b/124106342).
|
||||
Log.w(UpdateInstaller.TAG, "Failed to install update from file.", e);
|
||||
notifyCallbackOnError(
|
||||
InstallSystemUpdateCallback.UPDATE_ERROR_UNKNOWN,
|
||||
"Failed to install update from file.");
|
||||
}
|
||||
}
|
||||
|
||||
private boolean updateStateForPayload() throws IOException {
|
||||
|
||||
Reference in New Issue
Block a user