Merge "Use Class.forName instead of ClassLoader.loadClass."

am: dc489aba0e

Change-Id: I80f1488c7cca5ce68555786a7951f30172c905f2
This commit is contained in:
Nicolas Geoffray
2019-04-03 12:44:56 -07:00
committed by android-build-merger

View File

@@ -512,7 +512,7 @@ public abstract class LayoutInflater {
String layout = res.getResourceEntryName(resource);
try {
Class clazz = mPrecompiledClassLoader.loadClass("" + pkg + ".CompiledView");
Class clazz = Class.forName("" + pkg + ".CompiledView", false, mPrecompiledClassLoader);
Method inflater = clazz.getMethod(layout, Context.class, int.class);
View view = (View) inflater.invoke(null, mContext, resource);
@@ -731,8 +731,8 @@ public abstract class LayoutInflater {
if (constructor == null) {
// Class not found in the cache, see if it's real, and try to add it
clazz = mContext.getClassLoader().loadClass(
prefix != null ? (prefix + name) : name).asSubclass(View.class);
clazz = Class.forName(prefix != null ? (prefix + name) : name, false,
mContext.getClassLoader()).asSubclass(View.class);
if (mFilter != null && clazz != null) {
boolean allowed = mFilter.onLoadClass(clazz);
@@ -750,8 +750,8 @@ public abstract class LayoutInflater {
Boolean allowedState = mFilterMap.get(name);
if (allowedState == null) {
// New class -- remember whether it is allowed
clazz = mContext.getClassLoader().loadClass(
prefix != null ? (prefix + name) : name).asSubclass(View.class);
clazz = Class.forName(prefix != null ? (prefix + name) : name, false,
mContext.getClassLoader()).asSubclass(View.class);
boolean allowed = clazz != null && mFilter.onLoadClass(clazz);
mFilterMap.put(name, allowed);