Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d38d3574 authored by Alan Viverette's avatar Alan Viverette Committed by Android (Google) Code Review
Browse files

Merge "Always force constructors accessible during inflation" into mnc-dev

parents ad2399f3 904de2ec
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2095,6 +2095,7 @@ public class Notification implements Parcelable

                try {
                    Constructor<? extends Style> constructor = styleClass.getConstructor();
                    constructor.setAccessible(true);
                    style = constructor.newInstance();
                    style.restoreFromExtras(extras);
                } catch (Throwable t) {
+1 −0
Original line number Diff line number Diff line
@@ -376,6 +376,7 @@ abstract class GenericInflater<T, P extends GenericInflater.Parent> {
                Class clazz = mContext.getClassLoader().loadClass(
                        prefix != null ? (prefix + name) : name);
                constructor = clazz.getConstructor(mConstructorSignature);
                constructor.setAccessible(true);
                sConstructorMap.put(name, constructor);
            }

+1 −1
Original line number Diff line number Diff line
@@ -211,10 +211,10 @@ public class TransitionInflater {
                            .asSubclass(expectedType);
                    if (c != null) {
                        constructor = c.getConstructor(sConstructorSignature);
                        constructor.setAccessible(true);
                        sConstructors.put(className, constructor);
                    }
                }
                constructor.setAccessible(true);
                return constructor.newInstance(mContext, attrs);
            }
        } catch (InstantiationException e) {
+1 −1
Original line number Diff line number Diff line
@@ -590,6 +590,7 @@ public abstract class LayoutInflater {
                    }
                }
                constructor = clazz.getConstructor(mConstructorSignature);
                constructor.setAccessible(true);
                sConstructorMap.put(name, constructor);
            } else {
                // If we have a filter, apply it to cached constructor
@@ -615,7 +616,6 @@ public abstract class LayoutInflater {
            Object[] args = mConstructorArgs;
            args[1] = attrs;

            constructor.setAccessible(true);
            final View view = constructor.newInstance(args);
            if (view instanceof ViewStub) {
                // Use the same context when inflating ViewStub later.
+1 −0
Original line number Diff line number Diff line
@@ -544,6 +544,7 @@ public class MenuInflater {
            try {
                Class<?> clazz = mContext.getClassLoader().loadClass(className);
                Constructor<?> constructor = clazz.getConstructor(constructorSignature);
                constructor.setAccessible(true);
                return (T) constructor.newInstance(arguments);
            } catch (Exception e) {
                Log.w(LOG_TAG, "Cannot instantiate class: " + className, e);