hidl: return BAD_VALUE from RemoveOfflineLicense when keyset is not found

Bug: 127828539
Test: VtsHalDrmV1_2TargetTest
Change-Id: Ia567be076a9460546c59c2a38231e18bb0549ce3
This commit is contained in:
Robert Shih
2019-03-11 18:36:04 -07:00
parent fd420ccdc5
commit d54634baa4
5 changed files with 11 additions and 6 deletions

View File

@@ -395,6 +395,7 @@ enum CdmResponseType {
REWRAP_DEVICE_RSA_KEY_ERROR = 344,
REWRAP_DEVICE_RSA_KEY_30_ERROR = 345,
INVALID_SRM_LIST = 346,
KEYSET_ID_NOT_FOUND_4 = 347,
// Don't forget to add new values to ../test/test_printers.cpp.
};

View File

@@ -238,7 +238,9 @@ CdmResponseType CdmSession::RestoreOfflineSession(
"sub error: %d, key set id = %s",
sub_error_code, key_set_id.c_str());
SetErrorDetail(error_detail, sub_error_code);
return GET_LICENSE_ERROR;
return sub_error_code == DeviceFiles::kFileNotFound
? KEYSET_ID_NOT_FOUND_4
: GET_LICENSE_ERROR;
}
// Attempts to restore a released offline license are treated as a release

View File

@@ -247,6 +247,9 @@ void PrintTo(const enum CdmResponseType& value, ::std::ostream* os) {
case KEYSET_ID_NOT_FOUND_3:
*os << "KEYSET_ID_NOT_FOUND_3";
break;
case KEYSET_ID_NOT_FOUND_4:
*os << "KEYSET_ID_NOT_FOUND_4";
break;
case LICENSE_ID_NOT_FOUND:
*os << "LICENSE_ID_NOT_FOUND";
break;