diff --git a/.gitmodules b/.gitmodules index 3a19311..3c18f58 100644 --- a/.gitmodules +++ b/.gitmodules @@ -43,3 +43,12 @@ [submodule "Injection4Android"] path = Injection4Android url = https://github.com/SwiftJava/Injection4Android.git +[submodule "swift-android-Clibadder"] + path = swift-android-Clibadder + url = https://github.com/SwiftJava/swift-android-Clibadder +[submodule "swift-android-opengl"] + path = swift-android-opengl + url = https://github.com/SwiftJava/swift-android-opengl +[submodule "swift-android-zlib"] + path = swift-android-zlib + url = https://github.com/SwiftJava/swift-android-zlib diff --git a/CJavaVM b/CJavaVM index 6240b2a..654df50 160000 --- a/CJavaVM +++ b/CJavaVM @@ -1 +1 @@ -Subproject commit 6240b2a563f02d98a162d4dce856b6c9a7196c90 +Subproject commit 654df50b44ba88e7382f6f5cc8eb2aa5179f544d diff --git a/JDBC/AppDelegate.swift b/JDBC/AppDelegate.swift index 2d8f639..17d44f3 100644 --- a/JDBC/AppDelegate.swift +++ b/JDBC/AppDelegate.swift @@ -62,7 +62,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSTableViewDataSource, NSTab } // Use Thread class to run in background to get the correct class loader & classpath - Thread( { + JavaThread( { do { if try JavaClass.forName( self.driverClass.stringValue ) == nil { @@ -114,7 +114,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSTableViewDataSource, NSTab for i in 0.. type ) { put( Class.class.getName(), true ); put( Object.class.getName(), true ); put( Enum.class.getName(), true ); + put( Thread.class.getName(), true ); put( String.class.getName(), true ); put( Comparable.class.getName(), true ); put( Error.class.getName(), true ); @@ -144,6 +145,7 @@ boolean isUnavailable( Class type ) { put( Object.class.getName(), true ); put( Class.class.getName(), true ); put( Enum.class.getName(), true ); + put( Thread.class.getName(), true ); put( Runnable.class.getName(), true ); put( Throwable.class.getName(), true ); put( Exception.class.getName(), true ); @@ -481,7 +483,7 @@ boolean generate() throws Exception { cases += (cases == "" ? "" : ", ") + ((Enum)constant).name(); code.append(" case "+cases+"\n\n"); - code.append(" static let enumConstants = try! JavaClass.forName(\""+clazz.getName()+"\")\n" + + code.append(" static let enumConstants = JavaClass(loading: \""+clazz.getName()+"\")\n" + " .getEnumConstants()!.map { "+classSuffix+"Forward( javaObject: $0.javaObject ) }\n\n"); code.append(" public func underlier() -> "+classSuffix+"Forward"+" {\n"); @@ -1051,9 +1053,9 @@ public int compare(java.lang.reflect.Method o1, java.lang.reflect.Method o2) { String proxyClass = "org/swiftjava/" + currentFramework + "/" + classSuffix + "Proxy"; code.append(" let clazz = JNI.FindClass( proxyClassName() )\n"); - code.append(" withUnsafePointer(to: &natives[0]) {\n"); + code.append(" natives.withUnsafeBufferPointer {\n"); code.append(" nativesPtr in\n"); - code.append(" if JNI.api.RegisterNatives( JNI.env, clazz, nativesPtr, jint(natives.count) ) != jint(JNI_OK) {\n"); + code.append(" if JNI.api.RegisterNatives( JNI.env, clazz, nativesPtr.baseAddress, jint(nativesPtr.count) ) != jint(JNI_OK) {\n"); code.append(" JNI.report( \"Unable to register java natives\" )\n"); code.append(" }\n"); code.append(" }\n\n"); diff --git a/swift-android-Clibadder b/swift-android-Clibadder new file mode 160000 index 0000000..e263f46 --- /dev/null +++ b/swift-android-Clibadder @@ -0,0 +1 @@ +Subproject commit e263f46164e6e26c103771430f1162af873f3047 diff --git a/swift-android-gradle b/swift-android-gradle index 6a1a924..ee17299 160000 --- a/swift-android-gradle +++ b/swift-android-gradle @@ -1 +1 @@ -Subproject commit 6a1a924b9a0e59d77ba43694018e8925a09c76c3 +Subproject commit ee17299c6ca9af66048131e002b6607bfe8e78cd diff --git a/swift-android-kotlin b/swift-android-kotlin index 63a7879..5514cf5 160000 --- a/swift-android-kotlin +++ b/swift-android-kotlin @@ -1 +1 @@ -Subproject commit 63a7879f0404b8eec9533d85f0d3cc7f795e9df4 +Subproject commit 5514cf5c8da9609793470b384d991ffeb7a11281 diff --git a/swift-android-opengl b/swift-android-opengl new file mode 160000 index 0000000..a9ed0c8 --- /dev/null +++ b/swift-android-opengl @@ -0,0 +1 @@ +Subproject commit a9ed0c8331f93d78792a29f686344092323acee4 diff --git a/swift-android-samples b/swift-android-samples index ca9eb67..fb0c53b 160000 --- a/swift-android-samples +++ b/swift-android-samples @@ -1 +1 @@ -Subproject commit ca9eb677dae81ae116807aa758c0ae87df90994a +Subproject commit fb0c53b782fdfd6505d6cc7f3c6dbc85c8c3b5cb diff --git a/swift-android-zlib b/swift-android-zlib new file mode 160000 index 0000000..f2b83e7 --- /dev/null +++ b/swift-android-zlib @@ -0,0 +1 @@ +Subproject commit f2b83e7c40bb8b0bb742dedc5a331ed306d67ad1