diff --git a/api/src/main/java/io/github/libxposed/api/XposedContextWrapper.java b/api/src/main/java/io/github/libxposed/api/XposedContextWrapper.java index 4a015b3..9b378d6 100644 --- a/api/src/main/java/io/github/libxposed/api/XposedContextWrapper.java +++ b/api/src/main/java/io/github/libxposed/api/XposedContextWrapper.java @@ -226,12 +226,18 @@ public class XposedContextWrapper extends ContextWrapper implements XposedInterf return getBaseContext().invokeSpecial(method, thisObject, args); } - @Nullable + @NonNull @Override public T newInstanceOrigin(@NonNull Constructor constructor, Object... args) throws InvocationTargetException, IllegalArgumentException, IllegalAccessException, InstantiationException { return getBaseContext().newInstanceOrigin(constructor, args); } + @NonNull + @Override + public U newInstanceSpecial(@NonNull Constructor constructor, @NonNull Class subClass, Object... args) throws InvocationTargetException, IllegalArgumentException, IllegalAccessException, InstantiationException { + return getBaseContext().newInstanceSpecial(constructor, subClass, args); + } + /** * {@inheritDoc} */ diff --git a/api/src/main/java/io/github/libxposed/api/XposedInterface.java b/api/src/main/java/io/github/libxposed/api/XposedInterface.java index fbb935e..3f6677c 100644 --- a/api/src/main/java/io/github/libxposed/api/XposedInterface.java +++ b/api/src/main/java/io/github/libxposed/api/XposedInterface.java @@ -131,7 +131,7 @@ public interface XposedInterface { * @throws IllegalAccessException the illegal access exception */ @Nullable - Object invokeOrigin() throws InvocationTargetException, IllegalAccessException; + Object invokeOrigin() throws InvocationTargetException, IllegalArgumentException, IllegalAccessException; /** * Sets extra. @@ -539,9 +539,13 @@ public interface XposedInterface { * @throws InvocationTargetException the invocation target exception * @throws IllegalAccessException the illegal access exception */ - @Nullable + @NonNull T newInstanceOrigin(@NonNull Constructor constructor, Object... args) throws InvocationTargetException, IllegalArgumentException, IllegalAccessException, InstantiationException; + + @NonNull + U newInstanceSpecial(@NonNull Constructor constructor, @NonNull Class subClass, Object... args) throws InvocationTargetException, IllegalArgumentException, IllegalAccessException, InstantiationException; + /** * Log. *