diff --git a/tools/aapt/Resource.cpp b/tools/aapt/Resource.cpp index 5bb2ce1507e48..cf734c1e0e006 100644 --- a/tools/aapt/Resource.cpp +++ b/tools/aapt/Resource.cpp @@ -3016,6 +3016,8 @@ status_t writeProguardForLayouts(ProguardKeepSet* keep, const sp& assets) { status_t err; + const String8 kTransition("transition"); + const String8 kTransitionPrefix("transition-"); // tag:attribute pairs that should be checked in layout files. KeyedVector > kLayoutTagAttrPairs; @@ -3028,6 +3030,10 @@ writeProguardForLayouts(ProguardKeepSet* keep, const sp& assets) addTagAttrPair(&kXmlTagAttrPairs, "PreferenceScreen", RESOURCES_ANDROID_NAMESPACE, "fragment"); addTagAttrPair(&kXmlTagAttrPairs, "header", RESOURCES_ANDROID_NAMESPACE, "fragment"); + // tag:attribute pairs that should be checked in transition files. + KeyedVector > kTransitionTagAttrPairs; + addTagAttrPair(&kTransitionTagAttrPairs, kTransition.string(), NULL, "class"); + const Vector >& dirs = assets->resDirs(); const size_t K = dirs.size(); for (size_t k=0; k& assets) } else if ((dirName == String8("menu")) || (strncmp(dirName.string(), "menu-", 5) == 0)) { startTags.add(String8("menu")); tagAttrPairs = NULL; + } else if (dirName == kTransition || (strncmp(dirName.string(), kTransitionPrefix.string(), + kTransitionPrefix.size()) == 0)) { + tagAttrPairs = &kTransitionTagAttrPairs; } else { continue; }