File tree Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Original file line number Diff line number Diff line change 1+ //
2+ // Runnable.swift
3+ // AndroidSwiftUI
4+ //
5+ // Created by Alsey Coleman Miller on 6/9/25.
6+ //
7+
8+ import JavaKit
9+ import JavaRuntime
10+ import AndroidKit
11+ import AndroidJavaLang
12+
13+ @JavaClass ( " com.pureswift.swiftandroid.Runnable " , extends: AndroidJavaLang . Runnable. self)
14+ open class Runnable : JavaObject {
15+
16+ public typealias Block = ( ) -> ( )
17+
18+ @JavaMethod
19+ @_nonoverride public convenience init ( block: SwiftObject ? , environment: JNIEnvironment ? = nil )
20+
21+ @JavaMethod
22+ public func getBlock( ) -> SwiftObject ?
23+ }
24+
25+ public extension Runnable {
26+
27+ convenience init ( _ block: @escaping ( ) -> Void , environment: JNIEnvironment ? = nil ) {
28+ let object = SwiftObject ( block, environment: environment)
29+ self . init ( block: object, environment: environment)
30+ }
31+ }
32+
33+ @JavaImplementation ( " com.pureswift.swiftandroid.Runnable " )
34+ extension Runnable {
35+
36+ @JavaMethod
37+ func run( ) {
38+ block ( )
39+ }
40+ }
41+
42+ private extension Runnable {
43+
44+ var block : Block {
45+ guard let block = getBlock ( ) ? . valueObject ( ) . value as? Block else {
46+ fatalError ( )
47+ }
48+ return block
49+ }
50+ }
You can’t perform that action at this time.
0 commit comments