Handle install errors from onPayloadApplicationComplete()
When the installation terminates because of an error, update_engine sets the status to IDLE and sends a notification. Thus, we might miss the error report and never update the status of the update. Change-Id: Ic1536b1c157c4dab0128f039f9512f2fb734287d
This commit is contained in:
@@ -78,14 +78,6 @@ class ABUpdateInstaller {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case UpdateEngine.UpdateStatusConstants.REPORTING_ERROR_EVENT: {
|
|
||||||
installationDone(false);
|
|
||||||
update.setInstallProgress(0);
|
|
||||||
update.setStatus(UpdateStatus.INSTALLATION_FAILED);
|
|
||||||
mUpdaterController.notifyUpdateChange(mDownloadId);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case UpdateEngine.UpdateStatusConstants.UPDATED_NEED_REBOOT: {
|
case UpdateEngine.UpdateStatusConstants.UPDATED_NEED_REBOOT: {
|
||||||
installationDone(true);
|
installationDone(true);
|
||||||
update.setInstallProgress(0);
|
update.setInstallProgress(0);
|
||||||
@@ -112,6 +104,13 @@ class ABUpdateInstaller {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPayloadApplicationComplete(int errorCode) {
|
public void onPayloadApplicationComplete(int errorCode) {
|
||||||
|
if (errorCode != UpdateEngine.ErrorCodeConstants.SUCCESS) {
|
||||||
|
installationDone(false);
|
||||||
|
Update update = mUpdaterController.getActualUpdate(mDownloadId);
|
||||||
|
update.setInstallProgress(0);
|
||||||
|
update.setStatus(UpdateStatus.INSTALLATION_FAILED);
|
||||||
|
mUpdaterController.notifyUpdateChange(mDownloadId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user