From e68ebe79c8335b24a3391f949c9666f850e79907 Mon Sep 17 00:00:00 2001 From: Alsey Coleman Miller Date: Wed, 22 Jul 2026 09:45:26 -0400 Subject: [PATCH 1/2] Fix `ProgressBar` binding hierarchy `ProgressBar` extended `JavaObject` rather than `View` and declared no constructors, so it could not be instantiated or used as a view. Inherited methods are marked as overrides accordingly. --- Sources/AndroidWidget/ProgressBar.swift | 38 +++++++++++++++++-------- 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/Sources/AndroidWidget/ProgressBar.swift b/Sources/AndroidWidget/ProgressBar.swift index 011c4fd6..0a4fbf72 100644 --- a/Sources/AndroidWidget/ProgressBar.swift +++ b/Sources/AndroidWidget/ProgressBar.swift @@ -1,9 +1,23 @@ // Auto-generated by Java-to-Swift wrapper generator. +import AndroidContent +import AndroidUtil +import AndroidView import SwiftJava import CSwiftJavaJNI @JavaClass("android.widget.ProgressBar") -open class ProgressBar: JavaObject { +open class ProgressBar: AndroidView.View { + @JavaMethod + @_nonoverride public convenience init(_ arg0: Context?, environment: JNIEnvironment? = nil) + + @JavaMethod + @_nonoverride public convenience init(_ arg0: Context?, _ arg1: AttributeSet?, environment: JNIEnvironment? = nil) + + @JavaMethod + @_nonoverride public convenience init(_ arg0: Context?, _ arg1: AttributeSet?, _ arg2: Int32, environment: JNIEnvironment? = nil) + + @JavaMethod + @_nonoverride public convenience init(_ arg0: Context?, _ arg1: AttributeSet?, _ arg2: Int32, _ arg3: Int32, environment: JNIEnvironment? = nil) @JavaMethod open func getMin() -> Int32 @@ -11,25 +25,25 @@ open class ProgressBar: JavaObject { open func getMax() -> Int32 @JavaMethod - open func onVisibilityAggregated(_ arg0: Bool) + open override func onVisibilityAggregated(_ arg0: Bool) @JavaMethod - open func drawableHotspotChanged(_ arg0: Float, _ arg1: Float) + open override func drawableHotspotChanged(_ arg0: Float, _ arg1: Float) @JavaMethod - open func onDetachedFromWindow() + open override func onDetachedFromWindow() @JavaMethod - open func drawableStateChanged() + open override func drawableStateChanged() @JavaMethod - open func jumpDrawablesToCurrentState() + open override func jumpDrawablesToCurrentState() @JavaMethod - open func setStateDescription(_ arg0: CharSequence?) + open override func setStateDescription(_ arg0: CharSequence?) @JavaMethod - open func getAccessibilityClassName() -> CharSequence! + open override func getAccessibilityClassName() -> CharSequence! @JavaMethod open func setSecondaryProgress(_ arg0: Int32) @@ -47,10 +61,10 @@ open class ProgressBar: JavaObject { open func isAnimating() -> Bool @JavaMethod - open func onSizeChanged(_ arg0: Int32, _ arg1: Int32, _ arg2: Int32, _ arg3: Int32) + open override func onSizeChanged(_ arg0: Int32, _ arg1: Int32, _ arg2: Int32, _ arg3: Int32) @JavaMethod - open func onAttachedToWindow() + open override func onAttachedToWindow() @JavaMethod open func setMinHeight(_ arg0: Int32) @@ -98,10 +112,10 @@ open class ProgressBar: JavaObject { open func setMax(_ arg0: Int32) @JavaMethod - open func postInvalidate() + open override func postInvalidate() @JavaMethod - open func onMeasure(_ arg0: Int32, _ arg1: Int32) + open override func onMeasure(_ arg0: Int32, _ arg1: Int32) } extension JavaClass { @JavaStaticField(isFinal: true) From 6d10566928316165855c689aad9072e28472f91e Mon Sep 17 00:00:00 2001 From: Alsey Coleman Miller Date: Wed, 22 Jul 2026 09:45:26 -0400 Subject: [PATCH 2/2] Mark inherited `AbsSeekBar` methods as overrides --- Sources/AndroidWidget/AbsSeekBar.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/AndroidWidget/AbsSeekBar.swift b/Sources/AndroidWidget/AbsSeekBar.swift index f1d67303..cf094b30 100644 --- a/Sources/AndroidWidget/AbsSeekBar.swift +++ b/Sources/AndroidWidget/AbsSeekBar.swift @@ -5,7 +5,7 @@ import CSwiftJavaJNI @JavaClass("android.widget.AbsSeekBar") open class AbsSeekBar: ProgressBar { @JavaMethod - open func onRtlPropertiesChanged(_ arg0: Int32) + open override func onRtlPropertiesChanged(_ arg0: Int32) @JavaMethod open override func drawableHotspotChanged(_ arg0: Float, _ arg1: Float)