diff options
author | Alex Light <allight@google.com> | 2019-04-09 10:19:11 -0700 |
---|---|---|
committer | Alex Light <allight@google.com> | 2019-04-09 13:04:48 -0700 |
commit | c3728ab933091558d3ba1cbdd78c8120849ebfdc (patch) | |
tree | 1de3acc7de7bd670946ce7c33e74e4e1658f203c | |
parent | d7de66911d95f427647332e08ce60a1448ad9382 (diff) | |
download | extras-c3728ab933091558d3ba1cbdd78c8120849ebfdc.tar.gz |
Change warning logic in preopt2cachename
We were incorrectly warning when a filename had 8 segments. This is
valid since we can have paths of the form
'/postinstall/product/priv-app/<app>/oat/arm64/<app>.odex' in addition
to those of the form
'/postinstall/priv-app/<app>/oat/arm64/<app>.odex'.
Test: boot, look at logcat
Bug: 123696019
Change-Id: I97c88302a3967e133421244bb132b4e8fd0812a1
(cherry picked from commit 73befcf4495616129ce484e5124e05b85277192e)
-rw-r--r-- | preopt2cachename/preopt2cachename.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/preopt2cachename/preopt2cachename.cpp b/preopt2cachename/preopt2cachename.cpp index 40d66b14..c4444418 100644 --- a/preopt2cachename/preopt2cachename.cpp +++ b/preopt2cachename/preopt2cachename.cpp @@ -28,16 +28,16 @@ static const char* kOdexCacheSuffix = "@classes.dex"; static const char* kVdexCacheSuffix = "@classes.vdex"; static const char* kArtCacheSuffix = "@classes.art"; -// Returns the ISA extracted from the file_location. -// file_location is formatted like /system/app/<app_name>/oat/<isa>/<app_name>.{odex,vdex} -// for all functions. We return an empty string "" in error cases. +// Returns the ISA extracted from the file_location. file_location is formatted like +// /system{/product,}/{priv-,}app/<app_name>/oat/<isa>/<app_name>.{odex,vdex} for all functions. We +// return an empty string "" in error cases. static std::string ExtractISA(const std::string& file_location) { std::vector<std::string> split_file_location = android::base::Split(file_location, "/"); if (split_file_location.size() <= 1) { return ""; - } else if (split_file_location.size() != 7) { - LOG(WARNING) << "Unexpected length for file-location. We expected 7 segments but found " - << split_file_location.size(); + } else if (split_file_location.size() != 7 && split_file_location.size() != 8) { + LOG(WARNING) << "Unexpected length for file-location. We expected 7 or 8 segments but found " + << split_file_location.size() << " for " << file_location; } return split_file_location[split_file_location.size() - 2]; } |