summaryrefslogtreecommitdiff
path: root/preopt2cachename
diff options
context:
space:
mode:
authorAlex Light <allight@google.com>2019-04-09 10:19:11 -0700
committerAlex Light <allight@google.com>2019-04-09 10:24:31 -0700
commit73befcf4495616129ce484e5124e05b85277192e (patch)
treec006c9de8b9e80e8b1e9231fb6bb75271985ee77 /preopt2cachename
parent35df8ebb0e6d4f8846367dc23107b05dcbb285a5 (diff)
downloadextras-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.cpp12
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];
}