Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion config.json
Original file line number Diff line number Diff line change
Expand Up @@ -3518,7 +3518,7 @@
"groupId": "com.google.android.material",
"artifactId": "material",
"version": "1.14.0",
"nugetVersion": "1.14.0.4",
"nugetVersion": "1.14.0.5",
"nugetId": "Xamarin.Google.Android.Material",
"comments": "Requires API-34"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,61 @@ public unsafe void RemoveOnSliderTouchListener(Slider.IOnSliderTouchListener lis
GC.KeepAlive(listener);
}
}

// C# events wrapping the listener pattern — equivalent to the auto-generated events
// that the binding generator no longer produces because addOnChangeListener /
// addOnSliderTouchListener are removed from the generated API (remove-node in Metadata.xml)
// and re-added via this Additions file instead.

WeakReference? _weak_implementor_AddOnChangeListener;
Slider.IOnChangeListenerImplementor __CreateIOnChangeListenerImplementor()
=> new Slider.IOnChangeListenerImplementor(this);

public event EventHandler<Slider.ChangeEventArgs> Change
{
add => Java.Interop.EventHelper.AddEventHandler<Slider.IOnChangeListener, Slider.IOnChangeListenerImplementor>(
ref _weak_implementor_AddOnChangeListener,
__CreateIOnChangeListenerImplementor,
AddOnChangeListener,
__h => __h.Handler += value);
remove => Java.Interop.EventHelper.RemoveEventHandler<Slider.IOnChangeListener, Slider.IOnChangeListenerImplementor>(
ref _weak_implementor_AddOnChangeListener,
Slider.IOnChangeListenerImplementor.__IsEmpty,
__v => RemoveOnChangeListener(__v),
__h => __h.Handler -= value);
}

WeakReference? _weak_implementor_AddOnSliderTouchListener;
Slider.IOnSliderTouchListenerImplementor __CreateIOnSliderTouchListenerImplementor()
=> new Slider.IOnSliderTouchListenerImplementor(this);

public event EventHandler<Slider.StartTrackingTouchEventArgs> StartTrackingTouch
{
add => Java.Interop.EventHelper.AddEventHandler<Slider.IOnSliderTouchListener, Slider.IOnSliderTouchListenerImplementor>(
ref _weak_implementor_AddOnSliderTouchListener,
__CreateIOnSliderTouchListenerImplementor,
AddOnSliderTouchListener,
__h => __h.OnStartTrackingTouchHandler += value);
remove => Java.Interop.EventHelper.RemoveEventHandler<Slider.IOnSliderTouchListener, Slider.IOnSliderTouchListenerImplementor>(
ref _weak_implementor_AddOnSliderTouchListener,
Slider.IOnSliderTouchListenerImplementor.__IsEmpty,
__v => RemoveOnSliderTouchListener(__v),
__h => __h.OnStartTrackingTouchHandler -= value);
}

public event EventHandler<Slider.StopTrackingTouchEventArgs> StopTrackingTouch
{
add => Java.Interop.EventHelper.AddEventHandler<Slider.IOnSliderTouchListener, Slider.IOnSliderTouchListenerImplementor>(
ref _weak_implementor_AddOnSliderTouchListener,
__CreateIOnSliderTouchListenerImplementor,
AddOnSliderTouchListener,
__h => __h.OnStopTrackingTouchHandler += value);
remove => Java.Interop.EventHelper.RemoveEventHandler<Slider.IOnSliderTouchListener, Slider.IOnSliderTouchListenerImplementor>(
ref _weak_implementor_AddOnSliderTouchListener,
Slider.IOnSliderTouchListenerImplementor.__IsEmpty,
__v => RemoveOnSliderTouchListener(__v),
__h => __h.OnStopTrackingTouchHandler -= value);
}
}

public partial class RangeSlider
Expand Down Expand Up @@ -144,5 +199,55 @@ public unsafe void RemoveOnSliderTouchListener(RangeSlider.IOnSliderTouchListene
GC.KeepAlive(listener);
}
}

WeakReference? _weak_implementor_AddOnChangeListener;
RangeSlider.IOnChangeListenerImplementor __CreateIOnChangeListenerImplementor()
=> new RangeSlider.IOnChangeListenerImplementor(this);

public event EventHandler<RangeSlider.ChangeEventArgs> Change
{
add => Java.Interop.EventHelper.AddEventHandler<RangeSlider.IOnChangeListener, RangeSlider.IOnChangeListenerImplementor>(
ref _weak_implementor_AddOnChangeListener,
__CreateIOnChangeListenerImplementor,
AddOnChangeListener,
__h => __h.Handler += value);
remove => Java.Interop.EventHelper.RemoveEventHandler<RangeSlider.IOnChangeListener, RangeSlider.IOnChangeListenerImplementor>(
ref _weak_implementor_AddOnChangeListener,
RangeSlider.IOnChangeListenerImplementor.__IsEmpty,
__v => RemoveOnChangeListener(__v),
__h => __h.Handler -= value);
}

WeakReference? _weak_implementor_AddOnSliderTouchListener;
RangeSlider.IOnSliderTouchListenerImplementor __CreateIOnSliderTouchListenerImplementor()
=> new RangeSlider.IOnSliderTouchListenerImplementor(this);

public event EventHandler<RangeSlider.StartTrackingTouchEventArgs> StartTrackingTouch
{
add => Java.Interop.EventHelper.AddEventHandler<RangeSlider.IOnSliderTouchListener, RangeSlider.IOnSliderTouchListenerImplementor>(
ref _weak_implementor_AddOnSliderTouchListener,
__CreateIOnSliderTouchListenerImplementor,
AddOnSliderTouchListener,
__h => __h.OnStartTrackingTouchHandler += value);
remove => Java.Interop.EventHelper.RemoveEventHandler<RangeSlider.IOnSliderTouchListener, RangeSlider.IOnSliderTouchListenerImplementor>(
ref _weak_implementor_AddOnSliderTouchListener,
RangeSlider.IOnSliderTouchListenerImplementor.__IsEmpty,
__v => RemoveOnSliderTouchListener(__v),
__h => __h.OnStartTrackingTouchHandler -= value);
}

public event EventHandler<RangeSlider.StopTrackingTouchEventArgs> StopTrackingTouch
{
add => Java.Interop.EventHelper.AddEventHandler<RangeSlider.IOnSliderTouchListener, RangeSlider.IOnSliderTouchListenerImplementor>(
ref _weak_implementor_AddOnSliderTouchListener,
__CreateIOnSliderTouchListenerImplementor,
AddOnSliderTouchListener,
__h => __h.OnStopTrackingTouchHandler += value);
remove => Java.Interop.EventHelper.RemoveEventHandler<RangeSlider.IOnSliderTouchListener, RangeSlider.IOnSliderTouchListenerImplementor>(
ref _weak_implementor_AddOnSliderTouchListener,
RangeSlider.IOnSliderTouchListenerImplementor.__IsEmpty,
__v => RemoveOnSliderTouchListener(__v),
__h => __h.OnStopTrackingTouchHandler -= value);
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -1991,6 +1991,7 @@ Google.Android.Material.Slider.LabelFormatterConsts
Google.Android.Material.Slider.RangeSlider
Google.Android.Material.Slider.RangeSlider.AddOnChangeListener(Google.Android.Material.Slider.RangeSlider.IOnChangeListener! listener) -> void
Google.Android.Material.Slider.RangeSlider.AddOnSliderTouchListener(Google.Android.Material.Slider.RangeSlider.IOnSliderTouchListener! listener) -> void
Google.Android.Material.Slider.RangeSlider.Change -> System.EventHandler<Google.Android.Material.Slider.RangeSlider.ChangeEventArgs!>!
Google.Android.Material.Slider.RangeSlider.ChangeEventArgs
Google.Android.Material.Slider.RangeSlider.ChangeEventArgs.ChangeEventArgs(Google.Android.Material.Slider.RangeSlider! p0, float p1, bool p2) -> void
Google.Android.Material.Slider.RangeSlider.ChangeEventArgs.P0.get -> Google.Android.Material.Slider.RangeSlider!
Expand All @@ -2007,15 +2008,18 @@ Google.Android.Material.Slider.RangeSlider.RangeSlider(Android.Content.Context!
Google.Android.Material.Slider.RangeSlider.RangeSlider(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
Google.Android.Material.Slider.RangeSlider.RemoveOnChangeListener(Google.Android.Material.Slider.RangeSlider.IOnChangeListener! listener) -> void
Google.Android.Material.Slider.RangeSlider.RemoveOnSliderTouchListener(Google.Android.Material.Slider.RangeSlider.IOnSliderTouchListener! listener) -> void
Google.Android.Material.Slider.RangeSlider.StartTrackingTouch -> System.EventHandler<Google.Android.Material.Slider.RangeSlider.StartTrackingTouchEventArgs!>!
Google.Android.Material.Slider.RangeSlider.StartTrackingTouchEventArgs
Google.Android.Material.Slider.RangeSlider.StartTrackingTouchEventArgs.P0.get -> Google.Android.Material.Slider.RangeSlider!
Google.Android.Material.Slider.RangeSlider.StartTrackingTouchEventArgs.StartTrackingTouchEventArgs(Google.Android.Material.Slider.RangeSlider! p0) -> void
Google.Android.Material.Slider.RangeSlider.StopTrackingTouch -> System.EventHandler<Google.Android.Material.Slider.RangeSlider.StopTrackingTouchEventArgs!>!
Google.Android.Material.Slider.RangeSlider.StopTrackingTouchEventArgs
Google.Android.Material.Slider.RangeSlider.StopTrackingTouchEventArgs.P0.get -> Google.Android.Material.Slider.RangeSlider!
Google.Android.Material.Slider.RangeSlider.StopTrackingTouchEventArgs.StopTrackingTouchEventArgs(Google.Android.Material.Slider.RangeSlider! p0) -> void
Google.Android.Material.Slider.Slider
Google.Android.Material.Slider.Slider.AddOnChangeListener(Google.Android.Material.Slider.Slider.IOnChangeListener! listener) -> void
Google.Android.Material.Slider.Slider.AddOnSliderTouchListener(Google.Android.Material.Slider.Slider.IOnSliderTouchListener! listener) -> void
Google.Android.Material.Slider.Slider.Change -> System.EventHandler<Google.Android.Material.Slider.Slider.ChangeEventArgs!>!
Google.Android.Material.Slider.Slider.ChangeEventArgs
Google.Android.Material.Slider.Slider.ChangeEventArgs.ChangeEventArgs(Google.Android.Material.Slider.Slider! p0, float p1, bool p2) -> void
Google.Android.Material.Slider.Slider.ChangeEventArgs.P0.get -> Google.Android.Material.Slider.Slider!
Expand All @@ -2033,9 +2037,11 @@ Google.Android.Material.Slider.Slider.Slider(Android.Content.Context! context) -
Google.Android.Material.Slider.Slider.Slider(Android.Content.Context! context, Android.Util.IAttributeSet? attrs) -> void
Google.Android.Material.Slider.Slider.Slider(Android.Content.Context! context, Android.Util.IAttributeSet? attrs, int defStyleAttr) -> void
Google.Android.Material.Slider.Slider.Slider(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
Google.Android.Material.Slider.Slider.StartTrackingTouch -> System.EventHandler<Google.Android.Material.Slider.Slider.StartTrackingTouchEventArgs!>!
Google.Android.Material.Slider.Slider.StartTrackingTouchEventArgs
Google.Android.Material.Slider.Slider.StartTrackingTouchEventArgs.P0.get -> Google.Android.Material.Slider.Slider!
Google.Android.Material.Slider.Slider.StartTrackingTouchEventArgs.StartTrackingTouchEventArgs(Google.Android.Material.Slider.Slider! p0) -> void
Google.Android.Material.Slider.Slider.StopTrackingTouch -> System.EventHandler<Google.Android.Material.Slider.Slider.StopTrackingTouchEventArgs!>!
Google.Android.Material.Slider.Slider.StopTrackingTouchEventArgs
Google.Android.Material.Slider.Slider.StopTrackingTouchEventArgs.P0.get -> Google.Android.Material.Slider.Slider!
Google.Android.Material.Slider.Slider.StopTrackingTouchEventArgs.StopTrackingTouchEventArgs(Google.Android.Material.Slider.Slider! p0) -> void
Expand Down