summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Siarhei Vishniakou <svv@google.com> 2022-11-23 12:47:14 -0800
committer Siarhei Vishniakou <svv@google.com> 2022-11-24 17:47:23 +0000
commit1be799e7263029c60e36f4e58d7ecd4f79921e9e (patch)
tree15422728b7a2d55d1db0f9cb517becfa4a2ae36c
parent105fb4b6942cfb832ef26b9c77796757cab830e0 (diff)
Fail when file is not found
Currently, we just log an error and exit. Instead, we should fail when file is not found. Bug: 260115731 Test: m && validatekeymaps input.idc Change-Id: Ia84f23533b6dafc4b9748d781ecefec108e8e20b
-rw-r--r--libs/input/PropertyMap.cpp25
1 files changed, 12 insertions, 13 deletions
diff --git a/libs/input/PropertyMap.cpp b/libs/input/PropertyMap.cpp
index 16ffa10223..ed9ac9fc72 100644
--- a/libs/input/PropertyMap.cpp
+++ b/libs/input/PropertyMap.cpp
@@ -116,25 +116,24 @@ android::base::Result<std::unique_ptr<PropertyMap>> PropertyMap::load(const char
Tokenizer* rawTokenizer;
status_t status = Tokenizer::open(String8(filename), &rawTokenizer);
- std::unique_ptr<Tokenizer> tokenizer(rawTokenizer);
if (status) {
- ALOGE("Error %d opening property file %s.", status, filename);
- } else {
+ return android::base::Error(-status) << "Could not open file: " << filename;
+ }
#if DEBUG_PARSER_PERFORMANCE
- nsecs_t startTime = systemTime(SYSTEM_TIME_MONOTONIC);
+ nsecs_t startTime = systemTime(SYSTEM_TIME_MONOTONIC);
#endif
- Parser parser(outMap.get(), tokenizer.get());
- status = parser.parse();
+ std::unique_ptr<Tokenizer> tokenizer(rawTokenizer);
+ Parser parser(outMap.get(), tokenizer.get());
+ status = parser.parse();
#if DEBUG_PARSER_PERFORMANCE
- nsecs_t elapsedTime = systemTime(SYSTEM_TIME_MONOTONIC) - startTime;
- ALOGD("Parsed property file '%s' %d lines in %0.3fms.",
- tokenizer->getFilename().string(), tokenizer->getLineNumber(),
- elapsedTime / 1000000.0);
+ nsecs_t elapsedTime = systemTime(SYSTEM_TIME_MONOTONIC) - startTime;
+ ALOGD("Parsed property file '%s' %d lines in %0.3fms.", tokenizer->getFilename().string(),
+ tokenizer->getLineNumber(), elapsedTime / 1000000.0);
#endif
- if (status) {
- return android::base::Error(BAD_VALUE) << "Could not parse " << filename;
- }
+ if (status) {
+ return android::base::Error(BAD_VALUE) << "Could not parse " << filename;
}
+
return std::move(outMap);
}