diff --git a/api/Avalonia.Android.nupkg.xml b/api/Avalonia.Android.nupkg.xml
index 3c65a6fb9d..6ffd08efe1 100644
--- a/api/Avalonia.Android.nupkg.xml
+++ b/api/Avalonia.Android.nupkg.xml
@@ -1,6 +1,12 @@
+
+ CP0001
+ T:Avalonia.Android.Platform.Specific.IAndroidView
+ baseline/Avalonia.Android/lib/net10.0-android36.0/Avalonia.Android.dll
+ current/Avalonia.Android/lib/net10.0-android36.0/Avalonia.Android.dll
+
CP0008
T:Avalonia.Android.AvaloniaActivity
diff --git a/api/Avalonia.Headless.nupkg.xml b/api/Avalonia.Headless.nupkg.xml
index df64d3d757..229047057a 100644
--- a/api/Avalonia.Headless.nupkg.xml
+++ b/api/Avalonia.Headless.nupkg.xml
@@ -7,10 +7,34 @@
baseline/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll
current/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll
+
+ CP0002
+ M:Avalonia.Headless.HeadlessWindowExtensions.KeyPress(Avalonia.Controls.TopLevel,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers)
+ baseline/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll
+ current/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll
+
+
+ CP0002
+ M:Avalonia.Headless.HeadlessWindowExtensions.KeyRelease(Avalonia.Controls.TopLevel,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers)
+ baseline/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll
+ current/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll
+
CP0002
M:Avalonia.Headless.HeadlessWindowExtensions.DragDrop(Avalonia.Controls.TopLevel,Avalonia.Point,Avalonia.Input.Raw.RawDragEventType,Avalonia.Input.IDataObject,Avalonia.Input.DragDropEffects,Avalonia.Input.RawInputModifiers)
baseline/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll
current/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll
+
+ CP0002
+ M:Avalonia.Headless.HeadlessWindowExtensions.KeyPress(Avalonia.Controls.TopLevel,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers)
+ baseline/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll
+ current/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll
+
+
+ CP0002
+ M:Avalonia.Headless.HeadlessWindowExtensions.KeyRelease(Avalonia.Controls.TopLevel,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers)
+ baseline/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll
+ current/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll
+
diff --git a/api/Avalonia.nupkg.xml b/api/Avalonia.nupkg.xml
index b88cd8fd12..1c9ac0d5e9 100644
--- a/api/Avalonia.nupkg.xml
+++ b/api/Avalonia.nupkg.xml
@@ -1,4 +1,4 @@
-
+
@@ -595,6 +595,24 @@
baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+ CP0002
+ M:Avalonia.Input.Raw.RawKeyEventArgs.#ctor(Avalonia.Input.IInputDevice,System.UInt64,Avalonia.Input.IInputRoot,Avalonia.Input.Raw.RawKeyEventType,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers,Avalonia.Input.PhysicalKey,Avalonia.Input.KeyDeviceType,System.String)
+ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
+ current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+
+ CP0002
+ M:Avalonia.Input.Raw.RawKeyEventArgs.#ctor(Avalonia.Input.IInputDevice,System.UInt64,Avalonia.Input.IInputRoot,Avalonia.Input.Raw.RawKeyEventType,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers,Avalonia.Input.PhysicalKey,System.String)
+ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
+ current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+
+ CP0002
+ M:Avalonia.Input.Raw.RawKeyEventArgs.#ctor(Avalonia.Input.IKeyboardDevice,System.UInt64,Avalonia.Input.IInputRoot,Avalonia.Input.Raw.RawKeyEventType,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers)
+ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
+ current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
CP0002
M:Avalonia.Input.TextInput.TextInputMethodClient.ShowInputPanel
@@ -1237,6 +1255,12 @@
baseline/Avalonia/lib/net10.0/Avalonia.Markup.Xaml.dll
current/Avalonia/lib/net10.0/Avalonia.Markup.Xaml.dll
+
+ CP0002
+ M:Avalonia.Markup.Xaml.XamlLoadException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)
+ baseline/Avalonia/lib/net10.0/Avalonia.Markup.Xaml.dll
+ current/Avalonia/lib/net10.0/Avalonia.Markup.Xaml.dll
+
CP0002
F:Avalonia.Media.Fonts.FontCollectionBase._glyphTypefaceCache
@@ -1453,6 +1477,24 @@
baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+ CP0002
+ M:Avalonia.Input.Raw.RawKeyEventArgs.#ctor(Avalonia.Input.IInputDevice,System.UInt64,Avalonia.Input.IInputRoot,Avalonia.Input.Raw.RawKeyEventType,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers,Avalonia.Input.PhysicalKey,Avalonia.Input.KeyDeviceType,System.String)
+ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
+ current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+
+ CP0002
+ M:Avalonia.Input.Raw.RawKeyEventArgs.#ctor(Avalonia.Input.IInputDevice,System.UInt64,Avalonia.Input.IInputRoot,Avalonia.Input.Raw.RawKeyEventType,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers,Avalonia.Input.PhysicalKey,System.String)
+ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
+ current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+
+ CP0002
+ M:Avalonia.Input.Raw.RawKeyEventArgs.#ctor(Avalonia.Input.IKeyboardDevice,System.UInt64,Avalonia.Input.IInputRoot,Avalonia.Input.Raw.RawKeyEventType,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers)
+ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
+ current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
CP0002
M:Avalonia.Input.TextInput.TextInputMethodClient.ShowInputPanel
@@ -2101,6 +2143,12 @@
baseline/Avalonia/lib/net8.0/Avalonia.Markup.Xaml.dll
current/Avalonia/lib/net8.0/Avalonia.Markup.Xaml.dll
+
+ CP0002
+ M:Avalonia.Markup.Xaml.XamlLoadException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)
+ baseline/Avalonia/lib/net8.0/Avalonia.Markup.Xaml.dll
+ current/Avalonia/lib/net8.0/Avalonia.Markup.Xaml.dll
+
CP0002
F:Avalonia.Media.Fonts.FontCollectionBase._glyphTypefaceCache
@@ -2881,4 +2929,4 @@
baseline/Avalonia/lib/netstandard2.0/Avalonia.Base.dll
current/Avalonia/lib/netstandard2.0/Avalonia.Base.dll
-
\ No newline at end of file
+
diff --git a/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs b/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs
index 8f133f266d..42f0877eca 100644
--- a/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs
+++ b/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs
@@ -26,7 +26,7 @@ using ClipboardManager = Android.Content.ClipboardManager;
namespace Avalonia.Android.Platform.SkiaPlatform
{
- class TopLevelImpl : IAndroidView, ITopLevelImpl, EglGlPlatformSurface.IEglWindowGlPlatformSurfaceInfoWithWaitPolicy
+ class TopLevelImpl : ITopLevelImpl, EglGlPlatformSurface.IEglWindowGlPlatformSurfaceInfoWithWaitPolicy
{
private readonly AndroidKeyboardEventsHelper _keyboardHelper;
private readonly AndroidMotionEventsHelper _pointerHelper;
diff --git a/src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs b/src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs
index 58fc59f804..03be7c2153 100644
--- a/src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs
+++ b/src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs
@@ -8,7 +8,7 @@ using Avalonia.Input.Raw;
namespace Avalonia.Android.Platform.Specific.Helpers
{
- internal class AndroidKeyboardEventsHelper : IDisposable where TView : TopLevelImpl, IAndroidView
+ internal class AndroidKeyboardEventsHelper : IDisposable where TView : TopLevelImpl
{
private readonly TView _view;
@@ -65,8 +65,8 @@ namespace Avalonia.Android.Platform.Specific.Helpers
AndroidKeyboardDevice.ConvertKey(e.KeyCode),
GetModifierKeys(e),
physicalKey,
- keyDeviceType,
- keySymbol);
+ keySymbol,
+ keyDeviceType);
_view.Input?.Invoke(rawKeyEvent);
diff --git a/src/Android/Avalonia.Android/Platform/Specific/IAndroidView.cs b/src/Android/Avalonia.Android/Platform/Specific/IAndroidView.cs
deleted file mode 100644
index 056912835a..0000000000
--- a/src/Android/Avalonia.Android/Platform/Specific/IAndroidView.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using System;
-using Android.Views;
-
-namespace Avalonia.Android.Platform.Specific
-{
- public interface IAndroidView
- {
- [Obsolete("Use TopLevel.TryGetPlatformHandle instead, which can be casted to AndroidViewControlHandle.")]
- View View { get; }
- }
-}
diff --git a/src/Avalonia.Base/Input/Raw/RawKeyEventArgs.cs b/src/Avalonia.Base/Input/Raw/RawKeyEventArgs.cs
index 3995e7765c..cf006769e2 100644
--- a/src/Avalonia.Base/Input/Raw/RawKeyEventArgs.cs
+++ b/src/Avalonia.Base/Input/Raw/RawKeyEventArgs.cs
@@ -1,4 +1,3 @@
-using System;
using Avalonia.Metadata;
namespace Avalonia.Input.Raw
@@ -12,21 +11,6 @@ namespace Avalonia.Input.Raw
[PrivateApi]
public class RawKeyEventArgs : RawInputEventArgs
{
- [Obsolete("Use the overload that takes a physical key and key symbol instead.")]
- public RawKeyEventArgs(
- IKeyboardDevice device,
- ulong timestamp,
- IInputRoot root,
- RawKeyEventType type,
- Key key,
- RawInputModifiers modifiers)
- : this(device, timestamp, root, type, key, modifiers, PhysicalKey.None, KeyDeviceType.Keyboard, null)
- {
- Key = key;
- Type = type;
- Modifiers = modifiers;
- }
-
public RawKeyEventArgs(
IInputDevice device,
ulong timestamp,
@@ -35,24 +19,13 @@ namespace Avalonia.Input.Raw
Key key,
RawInputModifiers modifiers,
PhysicalKey physicalKey,
- string? keySymbol)
- : this(device, timestamp, root, type, key, modifiers, physicalKey, KeyDeviceType.Keyboard, keySymbol) { }
-
- public RawKeyEventArgs(
- IInputDevice device,
- ulong timestamp,
- IInputRoot root,
- RawKeyEventType type,
- Key key,
- RawInputModifiers modifiers,
- PhysicalKey physicalKey,
- KeyDeviceType keyDeviceType,
- string? keySymbol)
+ string? keySymbol,
+ KeyDeviceType keyDeviceType = KeyDeviceType.Keyboard)
: base(device, timestamp, root)
{
+ Type = type;
Key = key;
Modifiers = modifiers;
- Type = type;
PhysicalKey = physicalKey;
KeySymbol = keySymbol;
KeyDeviceType = keyDeviceType;
diff --git a/src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs b/src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs
index 7de2243f80..79c0d331cd 100644
--- a/src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs
+++ b/src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs
@@ -41,13 +41,6 @@ public static class HeadlessWindowExtensions
return GetImpl(topLevel).GetLastRenderedFrame();
}
- ///
- /// Simulates a keyboard press on the headless window/toplevel.
- ///
- [Obsolete("Use the overload that takes a physical key and key symbol instead, or KeyPressQwerty alternatively.")]
- public static void KeyPress(this TopLevel topLevel, Key key, RawInputModifiers modifiers) =>
- KeyPress(topLevel, key, modifiers, PhysicalKey.None, null);
-
///
/// Simulates keyboard press on the headless window/toplevel.
///
@@ -61,13 +54,6 @@ public static class HeadlessWindowExtensions
public static void KeyPressQwerty(this TopLevel topLevel, PhysicalKey physicalKey, RawInputModifiers modifiers) =>
RunJobsOnImpl(topLevel, w => w.KeyPress(physicalKey.ToQwertyKey(), modifiers, physicalKey, physicalKey.ToQwertyKeySymbol()));
- ///
- /// Simulates a keyboard release on the headless window/toplevel.
- ///
- [Obsolete("Use the overload that takes a physical key and key symbol instead, or KeyReleaseQwerty alternatively.")]
- public static void KeyRelease(this TopLevel topLevel, Key key, RawInputModifiers modifiers) =>
- KeyRelease(topLevel, key, modifiers, PhysicalKey.None, null);
-
///
/// Simulates keyboard release on the headless window/toplevel.
///
diff --git a/src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs b/src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs
index 5861f37e47..74f1e009b1 100644
--- a/src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs
+++ b/src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs
@@ -1,5 +1,4 @@
using System;
-using System.Runtime.Serialization;
namespace Avalonia.Markup.Xaml
{
@@ -9,13 +8,6 @@ namespace Avalonia.Markup.Xaml
{
}
-#if NET8_0_OR_GREATER
- [Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId = "SYSLIB0051")]
-#endif
- protected XamlLoadException(SerializationInfo info, StreamingContext context): base(info, context)
- {
- }
-
public XamlLoadException(string message): base(message)
{
}
diff --git a/src/iOS/Avalonia.iOS/InputHandler.cs b/src/iOS/Avalonia.iOS/InputHandler.cs
index 552f003a38..bd66d5a51e 100644
--- a/src/iOS/Avalonia.iOS/InputHandler.cs
+++ b/src/iOS/Avalonia.iOS/InputHandler.cs
@@ -181,7 +181,7 @@ internal sealed class InputHandler
UIPressPhase.Stationary => RawKeyEventType.KeyDown,
UIPressPhase.Ended => RawKeyEventType.KeyUp,
_ => RawKeyEventType.KeyUp
- }, key, modifier, physicalKey, keyDeviceType, characters);
+ }, key, modifier, physicalKey, characters, keyDeviceType);
_tl.Input?.Invoke(ev);
handled |= ev.Handled;
@@ -229,7 +229,7 @@ internal sealed class InputHandler
{
// Don't pass PhysicalKey, as physically it's just a touch gesture.
var ev = new RawKeyEventArgs(KeyboardDevice.Instance!, timestamp, Root,
- RawKeyEventType.KeyDown, key, RawInputModifiers.None, PhysicalKey.None, KeyDeviceType.Remote, null);
+ RawKeyEventType.KeyDown, key, RawInputModifiers.None, PhysicalKey.None, null, KeyDeviceType.Remote);
_tl.Input?.Invoke(ev);
var handled = ev.Handled;