diff options
author | Alex Light <allight@google.com> | 2019-04-09 10:19:11 -0700 |
---|---|---|
committer | Alex Light <allight@google.com> | 2019-04-09 10:24:31 -0700 |
commit | 73befcf4495616129ce484e5124e05b85277192e (patch) | |
tree | c006c9de8b9e80e8b1e9231fb6bb75271985ee77 /preopt2cachename | |
parent | 35df8ebb0e6d4f8846367dc23107b05dcbb285a5 (diff) | |
download | extras-73befcf4495616129ce484e5124e05b85277192e.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
Diffstat (limited to 'preopt2cachename')
-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]; } |