diff --git a/tools/aapt2/dump/DumpManifest.cpp b/tools/aapt2/dump/DumpManifest.cpp index 39ac24b29f351..b3165d320e9b7 100644 --- a/tools/aapt2/dump/DumpManifest.cpp +++ b/tools/aapt2/dump/DumpManifest.cpp @@ -1981,10 +1981,11 @@ class Action : public ManifestExtractor::Element { if (ElementCast(parent_stack[1])) { // Detects the presence of a particular type of activity. Activity* activity = ElementCast(parent_stack[1]); - auto map = std::map({ - { "android.intent.action.MAIN" , "main" }, - { "android.intent.action.VIDEO_CAMERA" , "camera" }, - { "android.intent.action.STILL_IMAGE_CAMERA_SECURE" , "camera-secure" }, + static const auto map = std::map({ + {"android.intent.action.MAIN", "main"}, + {"android.media.action.VIDEO_CAMERA", "camera"}, + {"android.media.action.STILL_IMAGE_CAMERA", "camera"}, + {"android.media.action.STILL_IMAGE_CAMERA_SECURE", "camera-secure"}, }); auto entry = map.find(action); @@ -2735,10 +2736,9 @@ bool ManifestExtractor::Extract(android::IDiagnostics* diag) { auto it = apk_->GetFileCollection()->Iterator(); while (it->HasNext()) { auto file_path = it->Next()->GetSource().path; - size_t pos = file_path.find("lib/"); - if (pos != std::string::npos) { - file_path = file_path.substr(pos + 4); - pos = file_path.find('/'); + if (file_path.starts_with("lib/")) { + file_path = file_path.substr(4); + size_t pos = file_path.find('/'); if (pos != std::string::npos) { file_path = file_path.substr(0, pos); } diff --git a/tools/aapt2/integration-tests/DumpTest/components.apk b/tools/aapt2/integration-tests/DumpTest/components.apk index deb55ea6fda36..a34ec83f3dae3 100644 Binary files a/tools/aapt2/integration-tests/DumpTest/components.apk and b/tools/aapt2/integration-tests/DumpTest/components.apk differ diff --git a/tools/aapt2/integration-tests/DumpTest/components_full_proto.txt b/tools/aapt2/integration-tests/DumpTest/components_full_proto.txt index bd7673616ddc8..8e733a5db034a 100644 --- a/tools/aapt2/integration-tests/DumpTest/components_full_proto.txt +++ b/tools/aapt2/integration-tests/DumpTest/components_full_proto.txt @@ -1677,7 +1677,7 @@ xml_files { attribute { namespace_uri: "http://schemas.android.com/apk/res/android" name: "name" - value: "android.intent.action.VIDEO_CAMERA" + value: "android.media.action.VIDEO_CAMERA" resource_id: 16842755 } } @@ -1691,7 +1691,7 @@ xml_files { attribute { namespace_uri: "http://schemas.android.com/apk/res/android" name: "name" - value: "android.intent.action.STILL_IMAGE_CAMERA_SECURE" + value: "android.media.action.STILL_IMAGE_CAMERA_SECURE" resource_id: 16842755 } }