Add specific error codes to enable better error handling am: be0a349a6d am: 69152be17b
Original change: https://android-review.googlesource.com/c/platform/system/update_engine/+/2857466
Change-Id: I889f986e9c8e7cb9ad63f469533c94b8e5aae93c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/aosp/update_attempter_android.cc b/aosp/update_attempter_android.cc
index ea83d9a..0f4b2e4 100644
--- a/aosp/update_attempter_android.cc
+++ b/aosp/update_attempter_android.cc
@@ -242,18 +242,18 @@
const vector<string>& key_value_pair_headers,
Error* error) {
if (status_ == UpdateStatus::UPDATED_NEED_REBOOT) {
- return LogAndSetGenericError(
- error,
- __LINE__,
- __FILE__,
- "An update already applied, waiting for reboot");
+ return LogAndSetError(error,
+ __LINE__,
+ __FILE__,
+ "An update already applied, waiting for reboot",
+ ErrorCode::kUpdateAlreadyInstalled);
}
if (processor_->IsRunning()) {
- return LogAndSetGenericError(
- error,
- __LINE__,
- __FILE__,
- "Already processing an update, cancel it first.");
+ return LogAndSetError(error,
+ __LINE__,
+ __FILE__,
+ "Already processing an update, cancel it first.",
+ ErrorCode::kUpdateProcessing);
}
DCHECK_EQ(status_, UpdateStatus::IDLE);
diff --git a/common/error_code.h b/common/error_code.h
index 7924579..8954f72 100644
--- a/common/error_code.h
+++ b/common/error_code.h
@@ -88,6 +88,8 @@
kPackageExcludedFromUpdate = 62,
kPostInstallMountError = 63,
kOverlayfsenabledError = 64,
+ kUpdateProcessing = 65,
+ kUpdateAlreadyInstalled = 66,
// VERY IMPORTANT! When adding new error codes:
//
diff --git a/common/error_code_utils.cc b/common/error_code_utils.cc
index 12a98bf..421e124 100644
--- a/common/error_code_utils.cc
+++ b/common/error_code_utils.cc
@@ -177,6 +177,10 @@
return "ErrorCode::kPostInstallMountError";
case ErrorCode::kOverlayfsenabledError:
return "ErrorCode::kOverlayfsenabledError";
+ case ErrorCode::kUpdateProcessing:
+ return "ErrorCode::kUpdateProcessing";
+ case ErrorCode::kUpdateAlreadyInstalled:
+ return "ErrorCode::kUpdateAlreadyInstalled";
// Don't add a default case to let the compiler warn about newly added
// error codes which should be added here.
}
diff --git a/metrics_utils.cc b/metrics_utils.cc
index 94a0520..35bbcf4 100644
--- a/metrics_utils.cc
+++ b/metrics_utils.cc
@@ -138,6 +138,8 @@
case ErrorCode::kTestImageFlag:
case ErrorCode::kTestOmahaUrlFlag:
case ErrorCode::kSpecialFlags:
+ case ErrorCode::kUpdateProcessing:
+ case ErrorCode::kUpdateAlreadyInstalled:
break;
}
@@ -245,6 +247,8 @@
case ErrorCode::kNotEnoughSpace:
case ErrorCode::kDeviceCorrupted:
case ErrorCode::kPackageExcludedFromUpdate:
+ case ErrorCode::kUpdateProcessing:
+ case ErrorCode::kUpdateAlreadyInstalled:
break;
// Special flags. These can't happen (we mask them out above) but