From 8e48e6d986dcec2fc7a9ccc6ddf3e9345fec241e Mon Sep 17 00:00:00 2001 From: Yifan Hong Date: Fri, 3 Jan 2020 11:08:20 -0800 Subject: [PATCH] Add @ErrorCode annotation to UpdateEngine APIs Test: TH Change-Id: I3016132454ea38d2eaf69b907c726f46b2608509 --- core/java/android/os/UpdateEngine.java | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/core/java/android/os/UpdateEngine.java b/core/java/android/os/UpdateEngine.java index 57d0814f4b0b2..16f7b398731c1 100644 --- a/core/java/android/os/UpdateEngine.java +++ b/core/java/android/os/UpdateEngine.java @@ -16,6 +16,7 @@ package android.os; +import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.SystemApi; import android.os.IUpdateEngine; @@ -157,6 +158,26 @@ public class UpdateEngine { public static final int DEVICE_CORRUPTED = 61; } + /** @hide */ + @IntDef(value = { + ErrorCodeConstants.SUCCESS, + ErrorCodeConstants.ERROR, + ErrorCodeConstants.FILESYSTEM_COPIER_ERROR, + ErrorCodeConstants.POST_INSTALL_RUNNER_ERROR, + ErrorCodeConstants.PAYLOAD_MISMATCHED_TYPE_ERROR, + ErrorCodeConstants.INSTALL_DEVICE_OPEN_ERROR, + ErrorCodeConstants.KERNEL_DEVICE_OPEN_ERROR, + ErrorCodeConstants.DOWNLOAD_TRANSFER_ERROR, + ErrorCodeConstants.PAYLOAD_HASH_MISMATCH_ERROR, + ErrorCodeConstants.PAYLOAD_SIZE_MISMATCH_ERROR, + ErrorCodeConstants.DOWNLOAD_PAYLOAD_VERIFICATION_ERROR, + ErrorCodeConstants.PAYLOAD_TIMESTAMP_ERROR, + ErrorCodeConstants.UPDATED_BUT_NOT_ACTIVE, + ErrorCodeConstants.NOT_ENOUGH_SPACE, + ErrorCodeConstants.DEVICE_CORRUPTED, + }) + public @interface ErrorCode {} + /** * Status codes for update engine. Values must agree with the ones in * {@code system/update_engine/client_library/include/update_engine/update_status.h}. @@ -439,7 +460,7 @@ public class UpdateEngine { * Return value of {@link #allocateSpace.} */ public static final class AllocateSpaceResult { - private int mErrorCode = ErrorCodeConstants.SUCCESS; + private @ErrorCode int mErrorCode = ErrorCodeConstants.SUCCESS; private long mFreeSpaceRequired = 0; private AllocateSpaceResult() {} /** @@ -454,6 +475,7 @@ public class UpdateEngine { *
  • Other {@link ErrorCodeConstants} for other errors.
  • * */ + @ErrorCode public int errorCode() { return mErrorCode; } @@ -559,6 +581,7 @@ public class UpdateEngine { * @throws ServiceSpecificException if other transient errors has occurred. * A reboot may or may not help resolving the issue. */ + @ErrorCode public int cleanupAppliedPayload() { try { return mUpdateEngine.cleanupSuccessfulUpdate();