From 908c748096d855d47da2f5e20fd4d9d31d1e603c Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Wed, 1 Oct 2014 18:11:18 +0000 Subject: Revert "Fix issue with using locally defined attrs in a shared lib" This reverts commit 5069dd69898bd0d9c69ba2bbd37239ec8d1c9dc6. The reverted commit caused issues loading resources supplied by static libraries. Bug 17748356 Change-Id: I860a4f31451ee7c03c02974826472a67226b029f --- core/jni/android_util_AssetManager.cpp | 27 ++++----------------------- 1 file changed, 4 insertions(+), 23 deletions(-) (limited to 'core/jni/android_util_AssetManager.cpp') diff --git a/core/jni/android_util_AssetManager.cpp b/core/jni/android_util_AssetManager.cpp index 8753660..4859ee6 100644 --- a/core/jni/android_util_AssetManager.cpp +++ b/core/jni/android_util_AssetManager.cpp @@ -1324,21 +1324,7 @@ static jboolean android_content_AssetManager_applyStyle(JNIEnv* env, jobject cla config.density = 0; // Skip through XML attributes until the end or the next possible match. - // We make two assumptions about the order of attributes: - // 1) Among attributes with the same package ID, the attributes are - // sorted by increasing resource ID. - // 2) Groups of attributes with the same package ID are in the same - // order. - // 3) The same sorting is applied to the input attributes as is - // to the attributes in the XML. - // - // ex: 02010000, 02010001, 010100f4, 010100f5 - // - // The total order of attributes (including package ID) can not be linear - // as shared libraries get assigned dynamic package IDs at runtime, which - // may break the sort order established at build time. - while (ix < NX && (Res_GETPACKAGE(curIdent) != Res_GETPACKAGE(curXmlAttr) || - curIdent > curXmlAttr)) { + while (ix < NX && curIdent > curXmlAttr) { ix++; curXmlAttr = xmlParser->getAttributeNameResID(ix); } @@ -1353,9 +1339,7 @@ static jboolean android_content_AssetManager_applyStyle(JNIEnv* env, jobject cla } // Skip through the style values until the end or the next possible match. - while (styleEnt < endStyleEnt && - (Res_GETPACKAGE(curIdent) != Res_GETPACKAGE(styleEnt->map.name.ident) || - curIdent > styleEnt->map.name.ident)) { + while (styleEnt < endStyleEnt && curIdent > styleEnt->map.name.ident) { styleEnt++; } // Retrieve the current style attribute if it matches, and step to next. @@ -1371,9 +1355,7 @@ static jboolean android_content_AssetManager_applyStyle(JNIEnv* env, jobject cla } // Skip through the default style values until the end or the next possible match. - while (defStyleEnt < endDefStyleEnt && - (Res_GETPACKAGE(curIdent) != Res_GETPACKAGE(defStyleEnt->map.name.ident) || - curIdent > defStyleEnt->map.name.ident)) { + while (defStyleEnt < endDefStyleEnt && curIdent > defStyleEnt->map.name.ident) { defStyleEnt++; } // Retrieve the current default style attribute if it matches, and step to next. @@ -1535,8 +1517,7 @@ static jboolean android_content_AssetManager_retrieveAttributes(JNIEnv* env, job config.density = 0; // Skip through XML attributes until the end or the next possible match. - while (ix < NX && (Res_GETPACKAGE(curIdent) != Res_GETPACKAGE(curXmlAttr) || - curIdent > curXmlAttr)) { + while (ix < NX && curIdent > curXmlAttr) { ix++; curXmlAttr = xmlParser->getAttributeNameResID(ix); } -- cgit v1.1