diff --git a/iclibs/android.jar b/iclibs/android.jar index 2001dd67..6cff3359 100644 Binary files a/iclibs/android.jar and b/iclibs/android.jar differ diff --git a/src/main/java/com/reider745/api/hooks/RebuildJavadoc.java b/src/main/java/com/reider745/api/hooks/RebuildJavadoc.java index 951768f2..2a73294e 100644 --- a/src/main/java/com/reider745/api/hooks/RebuildJavadoc.java +++ b/src/main/java/com/reider745/api/hooks/RebuildJavadoc.java @@ -151,6 +151,13 @@ public class RebuildJavadoc { if (isInterface && method.isEmpty()) { continue; } + int modifiers = method.getModifiers(); + if ((modifiers & AccessFlag.ABSTRACT) != 0) { + continue; + } + if ((modifiers & AccessFlag.NATIVE) != 0) { + method.setModifiers(modifiers & ~AccessFlag.NATIVE); + } String desiredValue = "null"; try { desiredValue = getStubReturnForMethod(method); @@ -178,7 +185,7 @@ public class RebuildJavadoc { if (ctClass.isFrozen()) { ctClass.defrost(); } - if (ctClass.isEnum() || ctClass.isInterface()) { + if (ctClass.isEnum() || ctClass.isInterface() || (ctClass.getModifiers() & AccessFlag.ABSTRACT) != 0) { return; } CtConstructor minimumConstructor = getMinimumConstructor(ctClass.getDeclaredConstructors()); @@ -226,11 +233,12 @@ public class RebuildJavadoc { } try { CtClass returnClass = method.getReturnType(); - if (returnClass.isEnum() || returnClass.isInterface()) { + if (returnClass.isEnum() || returnClass.isInterface() || (returnClass.getModifiers() & AccessFlag.ABSTRACT) != 0) { continue; } String returnType = returnClass.getName(); - if ((method.getModifiers() & AccessFlag.STATIC) == 0 && returnType.equals(ctClass.getName())) { + int modifiers = method.getModifiers(); + if ((modifiers & AccessFlag.ABSTRACT) != 0 || ((modifiers & AccessFlag.STATIC) == 0 && returnType.equals(ctClass.getName()))) { continue; } if (rewrittenSingletonClasses.contains(returnType)) { diff --git a/src/main/java/com/zhekasmirnov/innercore/utils/FileTools.java b/src/main/java/com/zhekasmirnov/innercore/utils/FileTools.java index cf6a14ed..1f3cfd37 100644 --- a/src/main/java/com/zhekasmirnov/innercore/utils/FileTools.java +++ b/src/main/java/com/zhekasmirnov/innercore/utils/FileTools.java @@ -127,7 +127,16 @@ public class FileTools { } public static File unpackAsset(String name, String path) throws IOException { - throw new IOException("FileTools.unpackAsset"); + File inputFile = new File(DIR_WORK + "assets/" + name); + File outputFile = new File(path); + + if (inputFile.equals(outputFile)) { + return outputFile; + } + + outputFile.createNewFile(); + copy(inputFile, outputFile); + return outputFile; } public static void unpackAssetDir(String name, String path) {