From d3ac1ceafe6337dff54753591d8ab22881252fe4 Mon Sep 17 00:00:00 2001 From: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Date: Tue, 1 Jul 2025 18:57:01 +0530 Subject: [PATCH 1/9] Fixed Flow direction issue in TimePicker --- .../android/TimePickerFlowDirectionTest.png | Bin 0 -> 25493 bytes .../TestCases.HostApp/Issues/Issue30192.cs | 43 +++++ .../Tests/Issues/Issue30192.cs | 24 +++ .../ios/TimePickerFlowDirectionTest.png | Bin 0 -> 27211 bytes .../TimePicker/TimePickerHandler.Android.cs | 15 ++ .../TimePicker/TimePickerHandler.Windows.cs | 16 ++ .../Handlers/TimePicker/TimePickerHandler.cs | 4 +- .../TimePicker/TimePickerHandler.iOS.cs | 9 +- .../Platform/Android/TimePickerExtensions.cs | 8 + .../Platform/Windows/TimePickerExtensions.cs | 22 +++ .../src/Platform/iOS/TimePickerExtensions.cs | 4 +- .../net-android/PublicAPI.Unshipped.txt | 163 ++++++++++++++++++ .../PublicAPI/net-ios/PublicAPI.Unshipped.txt | 160 +++++++++++++++++ .../net-windows/PublicAPI.Unshipped.txt | 143 +++++++++++++++ 14 files changed, 605 insertions(+), 6 deletions(-) create mode 100644 src/Controls/tests/TestCases.Android.Tests/snapshots/android/TimePickerFlowDirectionTest.png create mode 100644 src/Controls/tests/TestCases.HostApp/Issues/Issue30192.cs create mode 100644 src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs create mode 100644 src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/TimePickerFlowDirectionTest.png diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/TimePickerFlowDirectionTest.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/TimePickerFlowDirectionTest.png new file mode 100644 index 0000000000000000000000000000000000000000..be2aa44a6459f261746d4dca5cecca7f5b2e2e95 GIT binary patch literal 25493 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 cI~NfAKmW|W?4RDkXHX}OJ6M + { + ltrTimePicker.FlowDirection = FlowDirection.RightToLeft; + rtlTimePicker.FlowDirection = FlowDirection.LeftToRight; + }; + + Content = new VerticalStackLayout + { + Children = + { + ltrTimePicker, + rtlTimePicker, + button + } + }; + } +} \ No newline at end of file diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs new file mode 100644 index 000000000000..224ce26effee --- /dev/null +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs @@ -0,0 +1,24 @@ +#if TEST_FAILS_ON_CATALYST +using NUnit.Framework; +using UITest.Appium; +using UITest.Core; + +namespace Microsoft.Maui.TestCases.Tests.Issues; + +public class Issue30192 : _IssuesUITest +{ + public Issue30192(TestDevice testDevice) : base(testDevice) + { + } + public override string Issue => "TimePicker FlowDirection Not Working on All Platforms"; + + [Test] + [Category(UITestCategories.TimePicker)] + public void TimePickerFlowDirectionTest() + { + App.WaitForElement("ToggleFlowDirectionButton"); + App.Tap("ToggleFlowDirectionButton"); + VerifyScreenshot(); + } +} +#endif \ No newline at end of file diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/TimePickerFlowDirectionTest.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/TimePickerFlowDirectionTest.png new file mode 100644 index 0000000000000000000000000000000000000000..23b450de6b13d88dbb39452bbb63b0c539ed57cf GIT binary patch literal 27211 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 literal 0 HcmV?d00001 diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs index 3cbf4126f033..e66a388c3c33 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs @@ -91,6 +91,21 @@ public static void MapFont(ITimePickerHandler handler, ITimePicker timePicker) handler.PlatformView?.UpdateFont(timePicker, fontManager); } + public static void MapFlowDirection(ITimePickerHandler handler, ITimePicker timePicker) + { + if (handler.PlatformView is not null) + { + handler.PlatformView.UpdateFlowDirection(timePicker); + + // For 12-hour format, also apply text alignment to handle AM/PM positioning + // For 24-hour format, UpdateFlowDirection alone is sufficient + if (handler is TimePickerHandler timePickerHandler && !timePickerHandler.Use24HourView) + { + handler.PlatformView.UpdateTextAlignment(timePicker); + } + } + } + public static void MapTextColor(ITimePickerHandler handler, ITimePicker timePicker) { handler.PlatformView?.UpdateTextColor(timePicker); diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs index 689705f768ac..8835a472147e 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs @@ -9,11 +9,13 @@ public partial class TimePickerHandler : ViewHandler protected override void ConnectHandler(TimePicker platformView) { + platformView.Loaded += OnControlLoaded; platformView.TimeChanged += OnControlTimeChanged; } protected override void DisconnectHandler(TimePicker platformView) { + platformView.Loaded -= OnControlLoaded; platformView.TimeChanged -= OnControlTimeChanged; } @@ -39,6 +41,15 @@ public static void MapFont(ITimePickerHandler handler, ITimePicker timePicker) handler.PlatformView.UpdateFont(timePicker, fontManager); } + public static void MapFlowDirection(ITimePickerHandler handler, ITimePicker timePicker) + { + if (handler.PlatformView is not null) + { + handler.PlatformView.UpdateFlowDirection(timePicker); + handler.PlatformView.UpdateTextAlignment(timePicker); + } + } + public static void MapTextColor(ITimePickerHandler handler, ITimePicker timePicker) { handler.PlatformView.UpdateTextColor(timePicker); @@ -54,6 +65,11 @@ internal static void MapIsOpen(ITimePickerHandler handler, ITimePicker timePicke handler.PlatformView?.UpdateIsOpen(timePicker); } + void OnControlLoaded(object sender, RoutedEventArgs e) + { + PlatformView.UpdateTextAlignment(VirtualView); + } + void OnControlTimeChanged(object? sender, TimePickerValueChangedEventArgs e) { if (VirtualView is not null) diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.cs index 6ba3d841a365..189444b4c8b0 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.cs @@ -20,9 +20,9 @@ public partial class TimePickerHandler : ITimePickerHandler { #if ANDROID || WINDOWS [nameof(ITimePicker.Background)] = MapBackground, -#elif IOS - [nameof(ITimePicker.FlowDirection)] = MapFlowDirection, #endif + [nameof(ITimePicker.FlowDirection)] = MapFlowDirection, + [nameof(ITimePicker.CharacterSpacing)] = MapCharacterSpacing, [nameof(ITimePicker.Font)] = MapFont, [nameof(ITimePicker.Format)] = MapFormat, diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.iOS.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.iOS.cs index a8bca69afb31..6592214ba105 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.iOS.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.iOS.cs @@ -56,10 +56,13 @@ public static void MapTextColor(ITimePickerHandler handler, ITimePicker timePick handler.PlatformView?.UpdateTextColor(timePicker); } - public static void MapFlowDirection(TimePickerHandler handler, ITimePicker timePicker) + public static void MapFlowDirection(ITimePickerHandler handler, ITimePicker timePicker) { - handler.PlatformView?.UpdateFlowDirection(timePicker); - handler.PlatformView?.UpdateTextAlignment(timePicker); + if (handler.PlatformView is not null) + { + handler.PlatformView.UpdateFlowDirection(timePicker); + handler.PlatformView.UpdateTextAlignment(timePicker); + } } internal static void MapIsOpen(ITimePickerHandler handler, ITimePicker timePicker) diff --git a/src/Core/src/Platform/Android/TimePickerExtensions.cs b/src/Core/src/Platform/Android/TimePickerExtensions.cs index e6917fe89280..da8da36c0782 100644 --- a/src/Core/src/Platform/Android/TimePickerExtensions.cs +++ b/src/Core/src/Platform/Android/TimePickerExtensions.cs @@ -58,5 +58,13 @@ static void UpdateTextColorImpl(AppCompatEditText platformTimePicker, ITimePicke platformTimePicker.SetTextColor(cs); } } + + // Make it public in .NET 10. + internal static void UpdateTextAlignment(this MauiTimePicker mauiTimePicker, ITimePicker timePicker) + { + mauiTimePicker.TextAlignment = timePicker.FlowDirection == FlowDirection.RightToLeft + ? Android.Views.TextAlignment.TextEnd + : Android.Views.TextAlignment.TextStart; + } } } \ No newline at end of file diff --git a/src/Core/src/Platform/Windows/TimePickerExtensions.cs b/src/Core/src/Platform/Windows/TimePickerExtensions.cs index 0fc4d6dfa813..6c1fa9de2ddc 100644 --- a/src/Core/src/Platform/Windows/TimePickerExtensions.cs +++ b/src/Core/src/Platform/Windows/TimePickerExtensions.cs @@ -134,4 +134,26 @@ internal static void UpdateIsOpen(this TimePicker platformTimePicker, ITimePicke parent?.Focus(FocusState.Programmatic); } } + + // Make it public in .NET 10. + internal static void UpdateTextAlignment(this TimePicker platformTimePicker, ITimePicker timePicker) + { + var flowDirection = timePicker.FlowDirection; + var textAlignment = flowDirection == FlowDirection.RightToLeft + ? UI.Xaml.TextAlignment.Right + : UI.Xaml.TextAlignment.Left; + + SetTextAlignment(platformTimePicker, "HourTextBlock", textAlignment); + SetTextAlignment(platformTimePicker, "MinuteTextBlock", textAlignment); + SetTextAlignment(platformTimePicker, "PeriodTextBlock", textAlignment); + } + + static void SetTextAlignment(TimePicker platformTimePicker, string elementName, UI.Xaml.TextAlignment textAlignment) + { + var textBlock = platformTimePicker.GetDescendantByName(elementName); + if (textBlock is not null) + { + textBlock.TextAlignment = textAlignment; + } + } } diff --git a/src/Core/src/Platform/iOS/TimePickerExtensions.cs b/src/Core/src/Platform/iOS/TimePickerExtensions.cs index 1d6119139d9f..b7893739f7bb 100644 --- a/src/Core/src/Platform/iOS/TimePickerExtensions.cs +++ b/src/Core/src/Platform/iOS/TimePickerExtensions.cs @@ -86,7 +86,9 @@ public static void UpdateTime(this MauiTimePicker mauiTimePicker, ITimePicker ti public static void UpdateTextAlignment(this MauiTimePicker textField, ITimePicker timePicker) { - // TODO: Update TextAlignment based on the EffectiveFlowDirection property. + UISemanticContentAttribute updateValue = textField.SemanticContentAttribute; + + textField.TextAlignment = (updateValue == UISemanticContentAttribute.ForceRightToLeft) ? UITextAlignment.Right : UITextAlignment.Left; } internal static void UpdateIsOpen(this UIDatePicker picker, ITimePicker timePicker) diff --git a/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt index d4e2d8099070..9e463a6c3110 100644 --- a/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt @@ -9,3 +9,166 @@ override Microsoft.Maui.PlatformDrawable.ThresholdType.get -> System.Type! *REMOVED*override Microsoft.Maui.Graphics.MauiDrawable.OnBoundsChange(Android.Graphics.Rect! bounds) -> void *REMOVED*override Microsoft.Maui.Graphics.MauiDrawable.OnDraw(Android.Graphics.Drawables.Shapes.Shape? shape, Android.Graphics.Canvas? canvas, Android.Graphics.Paint? paint) -> void override Microsoft.Maui.Handlers.LabelHandler.GetDesiredSize(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size +*REMOVED*Microsoft.Maui.Platform.MauiPicker.ShowPopupOnFocus.get -> bool +*REMOVED*Microsoft.Maui.Platform.MauiPicker.ShowPopupOnFocus.set -> void +*REMOVED*override Microsoft.Maui.Platform.MauiPicker.OnFocusChanged(bool gainFocus, Android.Views.FocusSearchDirection direction, Android.Graphics.Rect? previouslyFocusedRect) -> void +*REMOVED*override Microsoft.Maui.Platform.MauiPicker.OnTouchEvent(Android.Views.MotionEvent? e) -> bool +override Microsoft.Maui.Platform.MauiDatePicker.DefaultMovementMethod.get -> Android.Text.Method.IMovementMethod? +override Microsoft.Maui.Platform.MauiPickerBase.DefaultMovementMethod.get -> Android.Text.Method.IMovementMethod? +override Microsoft.Maui.Platform.MauiTimePicker.DefaultMovementMethod.get -> Android.Text.Method.IMovementMethod? +*REMOVED*override Microsoft.Maui.Platform.MauiTextView.OnMeasure(int widthMeasureSpec, int heightMeasureSpec) -> void +virtual Microsoft.Maui.Animations.Lerp.LerpDelegate.Invoke(object! start, object! end, double progress) -> object! +Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.ContextFlyoutItemHandlerUpdate(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void +Microsoft.Maui.Handlers.LayoutHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IView! View) -> void +Microsoft.Maui.Handlers.LayoutHandlerUpdate.LayoutHandlerUpdate(Microsoft.Maui.Handlers.LayoutHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuBarItem! MenuBarItem) -> void +Microsoft.Maui.Handlers.MenuBarHandlerUpdate.MenuBarHandlerUpdate(Microsoft.Maui.Handlers.MenuBarHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void +Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.MenuBarItemHandlerUpdate(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void +Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.MenuFlyoutSubItemHandlerUpdate(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.OpenWindowRequest.Deconstruct(out Microsoft.Maui.IPersistedState? State) -> void +Microsoft.Maui.Handlers.OpenWindowRequest.OpenWindowRequest(Microsoft.Maui.Handlers.OpenWindowRequest! original) -> void +Microsoft.Maui.ScrollToRequest.Deconstruct(out double HorizontalOffset, out double VerticalOffset, out bool Instant) -> void +Microsoft.Maui.ScrollToRequest.ScrollToRequest(Microsoft.Maui.ScrollToRequest! original) -> void +Microsoft.Maui.SwipeViewCloseRequest.Deconstruct(out bool Animated) -> void +Microsoft.Maui.SwipeViewCloseRequest.SwipeViewCloseRequest(Microsoft.Maui.SwipeViewCloseRequest! original) -> void +Microsoft.Maui.SwipeViewOpenRequest.Deconstruct(out Microsoft.Maui.OpenSwipeItem OpenSwipeItem, out bool Animated) -> void +Microsoft.Maui.SwipeViewOpenRequest.SwipeViewOpenRequest(Microsoft.Maui.SwipeViewOpenRequest! original) -> void +Microsoft.Maui.SwipeViewSwipeChanging.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection, out double Offset) -> void +Microsoft.Maui.SwipeViewSwipeChanging.SwipeViewSwipeChanging(Microsoft.Maui.SwipeViewSwipeChanging! original) -> void +Microsoft.Maui.SwipeViewSwipeEnded.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection, out bool IsOpen) -> void +Microsoft.Maui.SwipeViewSwipeEnded.SwipeViewSwipeEnded(Microsoft.Maui.SwipeViewSwipeEnded! original) -> void +Microsoft.Maui.SwipeViewSwipeStarted.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection) -> void +Microsoft.Maui.SwipeViewSwipeStarted.SwipeViewSwipeStarted(Microsoft.Maui.SwipeViewSwipeStarted! original) -> void +override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.LayoutHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.LayoutHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.LayoutHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.OpenWindowRequest.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.OpenWindowRequest.GetHashCode() -> int +override Microsoft.Maui.Handlers.OpenWindowRequest.ToString() -> string! +override Microsoft.Maui.ScrollToRequest.Equals(object? obj) -> bool +override Microsoft.Maui.ScrollToRequest.GetHashCode() -> int +override Microsoft.Maui.ScrollToRequest.ToString() -> string! +override Microsoft.Maui.SwipeViewCloseRequest.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewCloseRequest.GetHashCode() -> int +override Microsoft.Maui.SwipeViewCloseRequest.ToString() -> string! +override Microsoft.Maui.SwipeViewOpenRequest.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewOpenRequest.GetHashCode() -> int +override Microsoft.Maui.SwipeViewOpenRequest.ToString() -> string! +override Microsoft.Maui.SwipeViewSwipeChanging.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewSwipeChanging.GetHashCode() -> int +override Microsoft.Maui.SwipeViewSwipeChanging.ToString() -> string! +override Microsoft.Maui.SwipeViewSwipeEnded.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewSwipeEnded.GetHashCode() -> int +override Microsoft.Maui.SwipeViewSwipeEnded.ToString() -> string! +override Microsoft.Maui.SwipeViewSwipeStarted.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewSwipeStarted.GetHashCode() -> int +override Microsoft.Maui.SwipeViewSwipeStarted.ToString() -> string! +static Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? left, Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? left, Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.LayoutHandlerUpdate.operator !=(Microsoft.Maui.Handlers.LayoutHandlerUpdate? left, Microsoft.Maui.Handlers.LayoutHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.LayoutHandlerUpdate.operator ==(Microsoft.Maui.Handlers.LayoutHandlerUpdate? left, Microsoft.Maui.Handlers.LayoutHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuBarHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuBarHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.OpenWindowRequest.operator !=(Microsoft.Maui.Handlers.OpenWindowRequest? left, Microsoft.Maui.Handlers.OpenWindowRequest? right) -> bool +static Microsoft.Maui.Handlers.OpenWindowRequest.operator ==(Microsoft.Maui.Handlers.OpenWindowRequest? left, Microsoft.Maui.Handlers.OpenWindowRequest? right) -> bool +static Microsoft.Maui.ScrollToRequest.operator !=(Microsoft.Maui.ScrollToRequest? left, Microsoft.Maui.ScrollToRequest? right) -> bool +static Microsoft.Maui.ScrollToRequest.operator ==(Microsoft.Maui.ScrollToRequest? left, Microsoft.Maui.ScrollToRequest? right) -> bool +static Microsoft.Maui.SwipeViewCloseRequest.operator !=(Microsoft.Maui.SwipeViewCloseRequest? left, Microsoft.Maui.SwipeViewCloseRequest? right) -> bool +static Microsoft.Maui.SwipeViewCloseRequest.operator ==(Microsoft.Maui.SwipeViewCloseRequest? left, Microsoft.Maui.SwipeViewCloseRequest? right) -> bool +static Microsoft.Maui.SwipeViewOpenRequest.operator !=(Microsoft.Maui.SwipeViewOpenRequest? left, Microsoft.Maui.SwipeViewOpenRequest? right) -> bool +static Microsoft.Maui.SwipeViewOpenRequest.operator ==(Microsoft.Maui.SwipeViewOpenRequest? left, Microsoft.Maui.SwipeViewOpenRequest? right) -> bool +static Microsoft.Maui.SwipeViewSwipeChanging.operator !=(Microsoft.Maui.SwipeViewSwipeChanging? left, Microsoft.Maui.SwipeViewSwipeChanging? right) -> bool +static Microsoft.Maui.SwipeViewSwipeChanging.operator ==(Microsoft.Maui.SwipeViewSwipeChanging? left, Microsoft.Maui.SwipeViewSwipeChanging? right) -> bool +static Microsoft.Maui.SwipeViewSwipeEnded.operator !=(Microsoft.Maui.SwipeViewSwipeEnded? left, Microsoft.Maui.SwipeViewSwipeEnded? right) -> bool +static Microsoft.Maui.SwipeViewSwipeEnded.operator ==(Microsoft.Maui.SwipeViewSwipeEnded? left, Microsoft.Maui.SwipeViewSwipeEnded? right) -> bool +static Microsoft.Maui.SwipeViewSwipeStarted.operator !=(Microsoft.Maui.SwipeViewSwipeStarted? left, Microsoft.Maui.SwipeViewSwipeStarted? right) -> bool +static Microsoft.Maui.SwipeViewSwipeStarted.operator ==(Microsoft.Maui.SwipeViewSwipeStarted? left, Microsoft.Maui.SwipeViewSwipeStarted? right) -> bool +virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate! +virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.$() -> Microsoft.Maui.Handlers.LayoutHandlerUpdate! +virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.Equals(Microsoft.Maui.Handlers.LayoutHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuBarHandlerUpdate! +virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate! +virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate! +virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.OpenWindowRequest.$() -> Microsoft.Maui.Handlers.OpenWindowRequest! +virtual Microsoft.Maui.Handlers.OpenWindowRequest.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.OpenWindowRequest.Equals(Microsoft.Maui.Handlers.OpenWindowRequest? other) -> bool +virtual Microsoft.Maui.Handlers.OpenWindowRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnActivityResult.Invoke(Android.App.Activity! activity, int requestCode, Android.App.Result resultCode, Android.Content.Intent? data) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnApplicationConfigurationChanged.Invoke(Android.App.Application! application, Android.Content.Res.Configuration! newConfig) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnApplicationCreate.Invoke(Android.App.Application! application) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnApplicationCreating.Invoke(Android.App.Application! application) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnApplicationLowMemory.Invoke(Android.App.Application! application) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnApplicationTrimMemory.Invoke(Android.App.Application! application, Android.Content.TrimMemory level) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnBackPressed.Invoke(Android.App.Activity! activity) -> bool +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnConfigurationChanged.Invoke(Android.App.Activity! activity, Android.Content.Res.Configuration! newConfig) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnCreate.Invoke(Android.App.Activity! activity, Android.OS.Bundle? savedInstanceState) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnDestroy.Invoke(Android.App.Activity! activity) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnNewIntent.Invoke(Android.App.Activity! activity, Android.Content.Intent? intent) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnPause.Invoke(Android.App.Activity! activity) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnPostCreate.Invoke(Android.App.Activity! activity, Android.OS.Bundle? savedInstanceState) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnPostResume.Invoke(Android.App.Activity! activity) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnRequestPermissionsResult.Invoke(Android.App.Activity! activity, int requestCode, string![]! permissions, Android.Content.PM.Permission[]! grantResults) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnRestart.Invoke(Android.App.Activity! activity) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnRestoreInstanceState.Invoke(Android.App.Activity! activity, Android.OS.Bundle! savedInstanceState) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnResume.Invoke(Android.App.Activity! activity) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnSaveInstanceState.Invoke(Android.App.Activity! activity, Android.OS.Bundle! outState) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnStart.Invoke(Android.App.Activity! activity) -> void +virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnStop.Invoke(Android.App.Activity! activity) -> void +virtual Microsoft.Maui.ScrollToRequest.$() -> Microsoft.Maui.ScrollToRequest! +virtual Microsoft.Maui.ScrollToRequest.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.ScrollToRequest.Equals(Microsoft.Maui.ScrollToRequest? other) -> bool +virtual Microsoft.Maui.ScrollToRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewCloseRequest.$() -> Microsoft.Maui.SwipeViewCloseRequest! +virtual Microsoft.Maui.SwipeViewCloseRequest.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewCloseRequest.Equals(Microsoft.Maui.SwipeViewCloseRequest? other) -> bool +virtual Microsoft.Maui.SwipeViewCloseRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewOpenRequest.$() -> Microsoft.Maui.SwipeViewOpenRequest! +virtual Microsoft.Maui.SwipeViewOpenRequest.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewOpenRequest.Equals(Microsoft.Maui.SwipeViewOpenRequest? other) -> bool +virtual Microsoft.Maui.SwipeViewOpenRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewSwipeChanging.$() -> Microsoft.Maui.SwipeViewSwipeChanging! +virtual Microsoft.Maui.SwipeViewSwipeChanging.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewSwipeChanging.Equals(Microsoft.Maui.SwipeViewSwipeChanging? other) -> bool +virtual Microsoft.Maui.SwipeViewSwipeChanging.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewSwipeEnded.$() -> Microsoft.Maui.SwipeViewSwipeEnded! +virtual Microsoft.Maui.SwipeViewSwipeEnded.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewSwipeEnded.Equals(Microsoft.Maui.SwipeViewSwipeEnded? other) -> bool +virtual Microsoft.Maui.SwipeViewSwipeEnded.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewSwipeStarted.$() -> Microsoft.Maui.SwipeViewSwipeStarted! +virtual Microsoft.Maui.SwipeViewSwipeStarted.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewSwipeStarted.Equals(Microsoft.Maui.SwipeViewSwipeStarted? other) -> bool +virtual Microsoft.Maui.SwipeViewSwipeStarted.PrintMembers(System.Text.StringBuilder! builder) -> bool +static Microsoft.Maui.Handlers.TimePickerHandler.MapFlowDirection(Microsoft.Maui.Handlers.ITimePickerHandler! handler, Microsoft.Maui.ITimePicker! timePicker) -> void diff --git a/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt index ebd197b91951..2baac0836cb7 100644 --- a/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt @@ -1,2 +1,162 @@ #nullable enable override Microsoft.Maui.Platform.MauiView.DidUpdateFocus(UIKit.UIFocusUpdateContext! context, UIKit.UIFocusAnimationCoordinator! coordinator) -> void +virtual Microsoft.Maui.Animations.Lerp.LerpDelegate.Invoke(object! start, object! end, double progress) -> object! +Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.ContextFlyoutItemHandlerUpdate(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void +Microsoft.Maui.Handlers.LayoutHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IView! View) -> void +Microsoft.Maui.Handlers.LayoutHandlerUpdate.LayoutHandlerUpdate(Microsoft.Maui.Handlers.LayoutHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuBarItem! MenuBarItem) -> void +Microsoft.Maui.Handlers.MenuBarHandlerUpdate.MenuBarHandlerUpdate(Microsoft.Maui.Handlers.MenuBarHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void +Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.MenuBarItemHandlerUpdate(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void +Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.MenuFlyoutSubItemHandlerUpdate(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.OpenWindowRequest.Deconstruct(out Microsoft.Maui.IPersistedState? State) -> void +Microsoft.Maui.Handlers.OpenWindowRequest.OpenWindowRequest(Microsoft.Maui.Handlers.OpenWindowRequest! original) -> void +Microsoft.Maui.ScrollToRequest.Deconstruct(out double HorizontalOffset, out double VerticalOffset, out bool Instant) -> void +Microsoft.Maui.ScrollToRequest.ScrollToRequest(Microsoft.Maui.ScrollToRequest! original) -> void +Microsoft.Maui.SwipeViewCloseRequest.Deconstruct(out bool Animated) -> void +Microsoft.Maui.SwipeViewCloseRequest.SwipeViewCloseRequest(Microsoft.Maui.SwipeViewCloseRequest! original) -> void +Microsoft.Maui.SwipeViewOpenRequest.Deconstruct(out Microsoft.Maui.OpenSwipeItem OpenSwipeItem, out bool Animated) -> void +Microsoft.Maui.SwipeViewOpenRequest.SwipeViewOpenRequest(Microsoft.Maui.SwipeViewOpenRequest! original) -> void +Microsoft.Maui.SwipeViewSwipeChanging.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection, out double Offset) -> void +Microsoft.Maui.SwipeViewSwipeChanging.SwipeViewSwipeChanging(Microsoft.Maui.SwipeViewSwipeChanging! original) -> void +Microsoft.Maui.SwipeViewSwipeEnded.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection, out bool IsOpen) -> void +Microsoft.Maui.SwipeViewSwipeEnded.SwipeViewSwipeEnded(Microsoft.Maui.SwipeViewSwipeEnded! original) -> void +Microsoft.Maui.SwipeViewSwipeStarted.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection) -> void +Microsoft.Maui.SwipeViewSwipeStarted.SwipeViewSwipeStarted(Microsoft.Maui.SwipeViewSwipeStarted! original) -> void +override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.LayoutHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.LayoutHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.LayoutHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.OpenWindowRequest.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.OpenWindowRequest.GetHashCode() -> int +override Microsoft.Maui.Handlers.OpenWindowRequest.ToString() -> string! +override Microsoft.Maui.ScrollToRequest.Equals(object? obj) -> bool +override Microsoft.Maui.ScrollToRequest.GetHashCode() -> int +override Microsoft.Maui.ScrollToRequest.ToString() -> string! +override Microsoft.Maui.SwipeViewCloseRequest.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewCloseRequest.GetHashCode() -> int +override Microsoft.Maui.SwipeViewCloseRequest.ToString() -> string! +override Microsoft.Maui.SwipeViewOpenRequest.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewOpenRequest.GetHashCode() -> int +override Microsoft.Maui.SwipeViewOpenRequest.ToString() -> string! +override Microsoft.Maui.SwipeViewSwipeChanging.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewSwipeChanging.GetHashCode() -> int +override Microsoft.Maui.SwipeViewSwipeChanging.ToString() -> string! +override Microsoft.Maui.SwipeViewSwipeEnded.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewSwipeEnded.GetHashCode() -> int +override Microsoft.Maui.SwipeViewSwipeEnded.ToString() -> string! +override Microsoft.Maui.SwipeViewSwipeStarted.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewSwipeStarted.GetHashCode() -> int +override Microsoft.Maui.SwipeViewSwipeStarted.ToString() -> string! +static Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? left, Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? left, Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.LayoutHandlerUpdate.operator !=(Microsoft.Maui.Handlers.LayoutHandlerUpdate? left, Microsoft.Maui.Handlers.LayoutHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.LayoutHandlerUpdate.operator ==(Microsoft.Maui.Handlers.LayoutHandlerUpdate? left, Microsoft.Maui.Handlers.LayoutHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuBarHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuBarHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.OpenWindowRequest.operator !=(Microsoft.Maui.Handlers.OpenWindowRequest? left, Microsoft.Maui.Handlers.OpenWindowRequest? right) -> bool +static Microsoft.Maui.Handlers.OpenWindowRequest.operator ==(Microsoft.Maui.Handlers.OpenWindowRequest? left, Microsoft.Maui.Handlers.OpenWindowRequest? right) -> bool +static Microsoft.Maui.ScrollToRequest.operator !=(Microsoft.Maui.ScrollToRequest? left, Microsoft.Maui.ScrollToRequest? right) -> bool +static Microsoft.Maui.ScrollToRequest.operator ==(Microsoft.Maui.ScrollToRequest? left, Microsoft.Maui.ScrollToRequest? right) -> bool +static Microsoft.Maui.SwipeViewCloseRequest.operator !=(Microsoft.Maui.SwipeViewCloseRequest? left, Microsoft.Maui.SwipeViewCloseRequest? right) -> bool +static Microsoft.Maui.SwipeViewCloseRequest.operator ==(Microsoft.Maui.SwipeViewCloseRequest? left, Microsoft.Maui.SwipeViewCloseRequest? right) -> bool +static Microsoft.Maui.SwipeViewOpenRequest.operator !=(Microsoft.Maui.SwipeViewOpenRequest? left, Microsoft.Maui.SwipeViewOpenRequest? right) -> bool +static Microsoft.Maui.SwipeViewOpenRequest.operator ==(Microsoft.Maui.SwipeViewOpenRequest? left, Microsoft.Maui.SwipeViewOpenRequest? right) -> bool +static Microsoft.Maui.SwipeViewSwipeChanging.operator !=(Microsoft.Maui.SwipeViewSwipeChanging? left, Microsoft.Maui.SwipeViewSwipeChanging? right) -> bool +static Microsoft.Maui.SwipeViewSwipeChanging.operator ==(Microsoft.Maui.SwipeViewSwipeChanging? left, Microsoft.Maui.SwipeViewSwipeChanging? right) -> bool +static Microsoft.Maui.SwipeViewSwipeEnded.operator !=(Microsoft.Maui.SwipeViewSwipeEnded? left, Microsoft.Maui.SwipeViewSwipeEnded? right) -> bool +static Microsoft.Maui.SwipeViewSwipeEnded.operator ==(Microsoft.Maui.SwipeViewSwipeEnded? left, Microsoft.Maui.SwipeViewSwipeEnded? right) -> bool +static Microsoft.Maui.SwipeViewSwipeStarted.operator !=(Microsoft.Maui.SwipeViewSwipeStarted? left, Microsoft.Maui.SwipeViewSwipeStarted? right) -> bool +static Microsoft.Maui.SwipeViewSwipeStarted.operator ==(Microsoft.Maui.SwipeViewSwipeStarted? left, Microsoft.Maui.SwipeViewSwipeStarted? right) -> bool +virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate! +virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.$() -> Microsoft.Maui.Handlers.LayoutHandlerUpdate! +virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.Equals(Microsoft.Maui.Handlers.LayoutHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuBarHandlerUpdate! +virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate! +virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate! +virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.OpenWindowRequest.$() -> Microsoft.Maui.Handlers.OpenWindowRequest! +virtual Microsoft.Maui.Handlers.OpenWindowRequest.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.OpenWindowRequest.Equals(Microsoft.Maui.Handlers.OpenWindowRequest? other) -> bool +virtual Microsoft.Maui.Handlers.OpenWindowRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.ApplicationSignificantTimeChange.Invoke(UIKit.UIApplication! application) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.ContinueUserActivity.Invoke(UIKit.UIApplication! application, Foundation.NSUserActivity! userActivity, UIKit.UIApplicationRestorationHandler! completionHandler) -> bool +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.DidEnterBackground.Invoke(UIKit.UIApplication! application) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.FinishedLaunching.Invoke(UIKit.UIApplication! application, Foundation.NSDictionary! launchOptions) -> bool +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.OnActivated.Invoke(UIKit.UIApplication! application) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.OnResignActivation.Invoke(UIKit.UIApplication! application) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.OpenUrl.Invoke(UIKit.UIApplication! app, Foundation.NSUrl! url, Foundation.NSDictionary! options) -> bool +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.PerformActionForShortcutItem.Invoke(UIKit.UIApplication! application, UIKit.UIApplicationShortcutItem! shortcutItem, UIKit.UIOperationHandler! completionHandler) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.PerformFetch.Invoke(UIKit.UIApplication! application, System.Action! completionHandler) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneContinueUserActivity.Invoke(UIKit.UIScene! scene, Foundation.NSUserActivity! userActivity) -> bool +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneDidDisconnect.Invoke(UIKit.UIScene! scene) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneDidEnterBackground.Invoke(UIKit.UIScene! scene) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneDidFailToContinueUserActivity.Invoke(UIKit.UIScene! scene, string! userActivityType, Foundation.NSError! error) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneDidUpdateUserActivity.Invoke(UIKit.UIScene! scene, Foundation.NSUserActivity! userActivity) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneOnActivated.Invoke(UIKit.UIScene! scene) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneOnResignActivation.Invoke(UIKit.UIScene! scene) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneOpenUrl.Invoke(UIKit.UIScene! scene, Foundation.NSSet! urlContexts) -> bool +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneRestoreInteractionState.Invoke(UIKit.UIScene! scene, Foundation.NSUserActivity! stateRestorationActivity) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneWillConnect.Invoke(UIKit.UIScene! scene, UIKit.UISceneSession! session, UIKit.UISceneConnectionOptions! connectionOptions) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneWillContinueUserActivity.Invoke(UIKit.UIScene! scene, string! userActivityType) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneWillEnterForeground.Invoke(UIKit.UIScene! scene) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.WillEnterForeground.Invoke(UIKit.UIApplication! application) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.WillFinishLaunching.Invoke(UIKit.UIApplication! application, Foundation.NSDictionary! launchOptions) -> bool +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.WillTerminate.Invoke(UIKit.UIApplication! application) -> void +virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.WindowSceneDidUpdateCoordinateSpace.Invoke(UIKit.UIWindowScene! windowScene, UIKit.IUICoordinateSpace! previousCoordinateSpace, UIKit.UIInterfaceOrientation previousInterfaceOrientation, UIKit.UITraitCollection! previousTraitCollection) -> void +virtual Microsoft.Maui.ScrollToRequest.$() -> Microsoft.Maui.ScrollToRequest! +virtual Microsoft.Maui.ScrollToRequest.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.ScrollToRequest.Equals(Microsoft.Maui.ScrollToRequest? other) -> bool +virtual Microsoft.Maui.ScrollToRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewCloseRequest.$() -> Microsoft.Maui.SwipeViewCloseRequest! +virtual Microsoft.Maui.SwipeViewCloseRequest.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewCloseRequest.Equals(Microsoft.Maui.SwipeViewCloseRequest? other) -> bool +virtual Microsoft.Maui.SwipeViewCloseRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewOpenRequest.$() -> Microsoft.Maui.SwipeViewOpenRequest! +virtual Microsoft.Maui.SwipeViewOpenRequest.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewOpenRequest.Equals(Microsoft.Maui.SwipeViewOpenRequest? other) -> bool +virtual Microsoft.Maui.SwipeViewOpenRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewSwipeChanging.$() -> Microsoft.Maui.SwipeViewSwipeChanging! +virtual Microsoft.Maui.SwipeViewSwipeChanging.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewSwipeChanging.Equals(Microsoft.Maui.SwipeViewSwipeChanging? other) -> bool +virtual Microsoft.Maui.SwipeViewSwipeChanging.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewSwipeEnded.$() -> Microsoft.Maui.SwipeViewSwipeEnded! +virtual Microsoft.Maui.SwipeViewSwipeEnded.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewSwipeEnded.Equals(Microsoft.Maui.SwipeViewSwipeEnded? other) -> bool +virtual Microsoft.Maui.SwipeViewSwipeEnded.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewSwipeStarted.$() -> Microsoft.Maui.SwipeViewSwipeStarted! +virtual Microsoft.Maui.SwipeViewSwipeStarted.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewSwipeStarted.Equals(Microsoft.Maui.SwipeViewSwipeStarted? other) -> bool +virtual Microsoft.Maui.SwipeViewSwipeStarted.PrintMembers(System.Text.StringBuilder! builder) -> bool +static Microsoft.Maui.Handlers.TimePickerHandler.MapFlowDirection(Microsoft.Maui.Handlers.ITimePickerHandler! handler, Microsoft.Maui.ITimePicker! timePicker) -> void +*REMOVED*static Microsoft.Maui.Handlers.TimePickerHandler.MapFlowDirection(Microsoft.Maui.Handlers.TimePickerHandler! handler, Microsoft.Maui.ITimePicker! timePicker) -> void diff --git a/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt index 7dc5c58110bf..eac18f8b2d83 100644 --- a/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt @@ -1 +1,144 @@ #nullable enable +Microsoft.Maui.Handlers.OpenWindowRequest.Deconstruct(out Microsoft.Maui.IPersistedState? State, out Microsoft.UI.Xaml.LaunchActivatedEventArgs? LaunchArgs) -> void +virtual Microsoft.Maui.Animations.Lerp.LerpDelegate.Invoke(object! start, object! end, double progress) -> object! +Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.ContextFlyoutItemHandlerUpdate(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void +Microsoft.Maui.Handlers.LayoutHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IView! View) -> void +Microsoft.Maui.Handlers.LayoutHandlerUpdate.LayoutHandlerUpdate(Microsoft.Maui.Handlers.LayoutHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuBarItem! MenuBarItem) -> void +Microsoft.Maui.Handlers.MenuBarHandlerUpdate.MenuBarHandlerUpdate(Microsoft.Maui.Handlers.MenuBarHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void +Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.MenuBarItemHandlerUpdate(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void +Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.MenuFlyoutSubItemHandlerUpdate(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate! original) -> void +Microsoft.Maui.Handlers.OpenWindowRequest.OpenWindowRequest(Microsoft.Maui.Handlers.OpenWindowRequest! original) -> void +static Microsoft.Maui.Handlers.OpenWindowRequest.operator !=(Microsoft.Maui.Handlers.OpenWindowRequest? left, Microsoft.Maui.Handlers.OpenWindowRequest? right) -> bool +static Microsoft.Maui.Handlers.OpenWindowRequest.operator ==(Microsoft.Maui.Handlers.OpenWindowRequest? left, Microsoft.Maui.Handlers.OpenWindowRequest? right) -> bool +Microsoft.Maui.ScrollToRequest.Deconstruct(out double HorizontalOffset, out double VerticalOffset, out bool Instant) -> void +Microsoft.Maui.ScrollToRequest.ScrollToRequest(Microsoft.Maui.ScrollToRequest! original) -> void +Microsoft.Maui.SwipeViewCloseRequest.Deconstruct(out bool Animated) -> void +Microsoft.Maui.SwipeViewCloseRequest.SwipeViewCloseRequest(Microsoft.Maui.SwipeViewCloseRequest! original) -> void +Microsoft.Maui.SwipeViewOpenRequest.Deconstruct(out Microsoft.Maui.OpenSwipeItem OpenSwipeItem, out bool Animated) -> void +Microsoft.Maui.SwipeViewOpenRequest.SwipeViewOpenRequest(Microsoft.Maui.SwipeViewOpenRequest! original) -> void +Microsoft.Maui.SwipeViewSwipeChanging.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection, out double Offset) -> void +Microsoft.Maui.SwipeViewSwipeChanging.SwipeViewSwipeChanging(Microsoft.Maui.SwipeViewSwipeChanging! original) -> void +Microsoft.Maui.SwipeViewSwipeEnded.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection, out bool IsOpen) -> void +Microsoft.Maui.SwipeViewSwipeEnded.SwipeViewSwipeEnded(Microsoft.Maui.SwipeViewSwipeEnded! original) -> void +Microsoft.Maui.SwipeViewSwipeStarted.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection) -> void +Microsoft.Maui.SwipeViewSwipeStarted.SwipeViewSwipeStarted(Microsoft.Maui.SwipeViewSwipeStarted! original) -> void +override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.LayoutHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.LayoutHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.LayoutHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.GetHashCode() -> int +override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.ToString() -> string! +override Microsoft.Maui.Handlers.OpenWindowRequest.Equals(object? obj) -> bool +override Microsoft.Maui.Handlers.OpenWindowRequest.GetHashCode() -> int +override Microsoft.Maui.Handlers.OpenWindowRequest.ToString() -> string! +override Microsoft.Maui.ScrollToRequest.Equals(object? obj) -> bool +override Microsoft.Maui.ScrollToRequest.GetHashCode() -> int +override Microsoft.Maui.ScrollToRequest.ToString() -> string! +override Microsoft.Maui.SwipeViewCloseRequest.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewCloseRequest.GetHashCode() -> int +override Microsoft.Maui.SwipeViewCloseRequest.ToString() -> string! +override Microsoft.Maui.SwipeViewOpenRequest.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewOpenRequest.GetHashCode() -> int +override Microsoft.Maui.SwipeViewOpenRequest.ToString() -> string! +override Microsoft.Maui.SwipeViewSwipeChanging.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewSwipeChanging.GetHashCode() -> int +override Microsoft.Maui.SwipeViewSwipeChanging.ToString() -> string! +override Microsoft.Maui.SwipeViewSwipeEnded.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewSwipeEnded.GetHashCode() -> int +override Microsoft.Maui.SwipeViewSwipeEnded.ToString() -> string! +override Microsoft.Maui.SwipeViewSwipeStarted.Equals(object? obj) -> bool +override Microsoft.Maui.SwipeViewSwipeStarted.GetHashCode() -> int +override Microsoft.Maui.SwipeViewSwipeStarted.ToString() -> string! +static Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? left, Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? left, Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.LayoutHandlerUpdate.operator !=(Microsoft.Maui.Handlers.LayoutHandlerUpdate? left, Microsoft.Maui.Handlers.LayoutHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.LayoutHandlerUpdate.operator ==(Microsoft.Maui.Handlers.LayoutHandlerUpdate? left, Microsoft.Maui.Handlers.LayoutHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuBarHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuBarHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? right) -> bool +static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? right) -> bool +static Microsoft.Maui.ScrollToRequest.operator !=(Microsoft.Maui.ScrollToRequest? left, Microsoft.Maui.ScrollToRequest? right) -> bool +static Microsoft.Maui.ScrollToRequest.operator ==(Microsoft.Maui.ScrollToRequest? left, Microsoft.Maui.ScrollToRequest? right) -> bool +static Microsoft.Maui.SwipeViewCloseRequest.operator !=(Microsoft.Maui.SwipeViewCloseRequest? left, Microsoft.Maui.SwipeViewCloseRequest? right) -> bool +static Microsoft.Maui.SwipeViewCloseRequest.operator ==(Microsoft.Maui.SwipeViewCloseRequest? left, Microsoft.Maui.SwipeViewCloseRequest? right) -> bool +static Microsoft.Maui.SwipeViewOpenRequest.operator !=(Microsoft.Maui.SwipeViewOpenRequest? left, Microsoft.Maui.SwipeViewOpenRequest? right) -> bool +static Microsoft.Maui.SwipeViewOpenRequest.operator ==(Microsoft.Maui.SwipeViewOpenRequest? left, Microsoft.Maui.SwipeViewOpenRequest? right) -> bool +static Microsoft.Maui.SwipeViewSwipeChanging.operator !=(Microsoft.Maui.SwipeViewSwipeChanging? left, Microsoft.Maui.SwipeViewSwipeChanging? right) -> bool +static Microsoft.Maui.SwipeViewSwipeChanging.operator ==(Microsoft.Maui.SwipeViewSwipeChanging? left, Microsoft.Maui.SwipeViewSwipeChanging? right) -> bool +static Microsoft.Maui.SwipeViewSwipeEnded.operator !=(Microsoft.Maui.SwipeViewSwipeEnded? left, Microsoft.Maui.SwipeViewSwipeEnded? right) -> bool +static Microsoft.Maui.SwipeViewSwipeEnded.operator ==(Microsoft.Maui.SwipeViewSwipeEnded? left, Microsoft.Maui.SwipeViewSwipeEnded? right) -> bool +static Microsoft.Maui.SwipeViewSwipeStarted.operator !=(Microsoft.Maui.SwipeViewSwipeStarted? left, Microsoft.Maui.SwipeViewSwipeStarted? right) -> bool +static Microsoft.Maui.SwipeViewSwipeStarted.operator ==(Microsoft.Maui.SwipeViewSwipeStarted? left, Microsoft.Maui.SwipeViewSwipeStarted? right) -> bool +virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate! +virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.$() -> Microsoft.Maui.Handlers.LayoutHandlerUpdate! +virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.Equals(Microsoft.Maui.Handlers.LayoutHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuBarHandlerUpdate! +virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate! +virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate! +virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? other) -> bool +virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.OpenWindowRequest.$() -> Microsoft.Maui.Handlers.OpenWindowRequest! +virtual Microsoft.Maui.Handlers.OpenWindowRequest.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.Handlers.OpenWindowRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.Handlers.OpenWindowRequest.Equals(Microsoft.Maui.Handlers.OpenWindowRequest? other) -> bool +virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnActivated.Invoke(Microsoft.UI.Xaml.Window! window, Microsoft.UI.Xaml.WindowActivatedEventArgs! args) -> void +virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnClosed.Invoke(Microsoft.UI.Xaml.Window! window, Microsoft.UI.Xaml.WindowEventArgs! args) -> void +virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnLaunched.Invoke(Microsoft.UI.Xaml.Application! application, Microsoft.UI.Xaml.LaunchActivatedEventArgs! args) -> void +virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnLaunching.Invoke(Microsoft.UI.Xaml.Application! application, Microsoft.UI.Xaml.LaunchActivatedEventArgs! args) -> void +virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnPlatformMessage.Invoke(Microsoft.UI.Xaml.Window! window, Microsoft.Maui.Platform.WindowsPlatformMessageEventArgs! args) -> void +virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnPlatformWindowSubclassed.Invoke(Microsoft.UI.Xaml.Window! window, Microsoft.Maui.Platform.WindowsPlatformWindowSubclassedEventArgs! args) -> void +virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnResumed.Invoke(Microsoft.UI.Xaml.Window! window) -> void +virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnVisibilityChanged.Invoke(Microsoft.UI.Xaml.Window! window, Microsoft.UI.Xaml.WindowVisibilityChangedEventArgs! args) -> void +virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnWindowCreated.Invoke(Microsoft.UI.Xaml.Window! window) -> void +virtual Microsoft.Maui.ScrollToRequest.$() -> Microsoft.Maui.ScrollToRequest! +virtual Microsoft.Maui.ScrollToRequest.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.ScrollToRequest.Equals(Microsoft.Maui.ScrollToRequest? other) -> bool +virtual Microsoft.Maui.ScrollToRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewCloseRequest.$() -> Microsoft.Maui.SwipeViewCloseRequest! +virtual Microsoft.Maui.SwipeViewCloseRequest.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewCloseRequest.Equals(Microsoft.Maui.SwipeViewCloseRequest? other) -> bool +virtual Microsoft.Maui.SwipeViewCloseRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewOpenRequest.$() -> Microsoft.Maui.SwipeViewOpenRequest! +virtual Microsoft.Maui.SwipeViewOpenRequest.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewOpenRequest.Equals(Microsoft.Maui.SwipeViewOpenRequest? other) -> bool +virtual Microsoft.Maui.SwipeViewOpenRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewSwipeChanging.$() -> Microsoft.Maui.SwipeViewSwipeChanging! +virtual Microsoft.Maui.SwipeViewSwipeChanging.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewSwipeChanging.Equals(Microsoft.Maui.SwipeViewSwipeChanging? other) -> bool +virtual Microsoft.Maui.SwipeViewSwipeChanging.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewSwipeEnded.$() -> Microsoft.Maui.SwipeViewSwipeEnded! +virtual Microsoft.Maui.SwipeViewSwipeEnded.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewSwipeEnded.Equals(Microsoft.Maui.SwipeViewSwipeEnded? other) -> bool +virtual Microsoft.Maui.SwipeViewSwipeEnded.PrintMembers(System.Text.StringBuilder! builder) -> bool +virtual Microsoft.Maui.SwipeViewSwipeStarted.$() -> Microsoft.Maui.SwipeViewSwipeStarted! +virtual Microsoft.Maui.SwipeViewSwipeStarted.EqualityContract.get -> System.Type! +virtual Microsoft.Maui.SwipeViewSwipeStarted.Equals(Microsoft.Maui.SwipeViewSwipeStarted? other) -> bool +virtual Microsoft.Maui.SwipeViewSwipeStarted.PrintMembers(System.Text.StringBuilder! builder) -> bool +static Microsoft.Maui.Handlers.TimePickerHandler.MapFlowDirection(Microsoft.Maui.Handlers.ITimePickerHandler! handler, Microsoft.Maui.ITimePicker! timePicker) -> void From 572aeea6b03cd960d63f2a7def964205f2eb1b5e Mon Sep 17 00:00:00 2001 From: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Date: Wed, 2 Jul 2025 13:38:42 +0530 Subject: [PATCH 2/9] Added issue id for Mac --- .../tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs index 224ce26effee..32b1e3763b9d 100644 --- a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs @@ -1,4 +1,4 @@ -#if TEST_FAILS_ON_CATALYST +#if TEST_FAILS_ON_CATALYST // https://github.com/dotnet/maui/issues/30322 using NUnit.Framework; using UITest.Appium; using UITest.Core; From 691b7d655f640852912a2589dbcc7d9563526cc6 Mon Sep 17 00:00:00 2001 From: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Date: Wed, 2 Jul 2025 20:20:18 +0530 Subject: [PATCH 3/9] Updated fix for windows, Changed public method to internal --- .../Handlers/TimePicker/TimePickerHandler.Android.cs | 3 ++- .../Handlers/TimePicker/TimePickerHandler.Windows.cs | 11 +++-------- src/Core/src/Platform/Windows/TimePickerExtensions.cs | 3 --- .../src/PublicAPI/net-android/PublicAPI.Unshipped.txt | 1 - .../src/PublicAPI/net-windows/PublicAPI.Unshipped.txt | 1 - 5 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs index e66a388c3c33..cbe0b78c70d3 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs @@ -91,7 +91,8 @@ public static void MapFont(ITimePickerHandler handler, ITimePicker timePicker) handler.PlatformView?.UpdateFont(timePicker, fontManager); } - public static void MapFlowDirection(ITimePickerHandler handler, ITimePicker timePicker) + // Make it public in .NET 10. + internal static void MapFlowDirection(ITimePickerHandler handler, ITimePicker timePicker) { if (handler.PlatformView is not null) { diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs index 8835a472147e..6cc0539d281e 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs @@ -1,3 +1,4 @@ +#nullable enable using Microsoft.UI.Xaml.Controls; using WBrush = Microsoft.UI.Xaml.Media.Brush; @@ -9,13 +10,11 @@ public partial class TimePickerHandler : ViewHandler protected override void ConnectHandler(TimePicker platformView) { - platformView.Loaded += OnControlLoaded; platformView.TimeChanged += OnControlTimeChanged; } protected override void DisconnectHandler(TimePicker platformView) { - platformView.Loaded -= OnControlLoaded; platformView.TimeChanged -= OnControlTimeChanged; } @@ -41,7 +40,8 @@ public static void MapFont(ITimePickerHandler handler, ITimePicker timePicker) handler.PlatformView.UpdateFont(timePicker, fontManager); } - public static void MapFlowDirection(ITimePickerHandler handler, ITimePicker timePicker) + // Make it public in .NET 10. + internal static void MapFlowDirection(ITimePickerHandler handler, ITimePicker timePicker) { if (handler.PlatformView is not null) { @@ -65,11 +65,6 @@ internal static void MapIsOpen(ITimePickerHandler handler, ITimePicker timePicke handler.PlatformView?.UpdateIsOpen(timePicker); } - void OnControlLoaded(object sender, RoutedEventArgs e) - { - PlatformView.UpdateTextAlignment(VirtualView); - } - void OnControlTimeChanged(object? sender, TimePickerValueChangedEventArgs e) { if (VirtualView is not null) diff --git a/src/Core/src/Platform/Windows/TimePickerExtensions.cs b/src/Core/src/Platform/Windows/TimePickerExtensions.cs index 6c1fa9de2ddc..b1b657b750e4 100644 --- a/src/Core/src/Platform/Windows/TimePickerExtensions.cs +++ b/src/Core/src/Platform/Windows/TimePickerExtensions.cs @@ -114,9 +114,6 @@ internal static void UpdateIsOpen(this TimePicker platformTimePicker, ITimePicke // Look for button inside and invoke it var children = peer.GetChildren(); - if (children is null) - return; - foreach (var child in children) { if (child.GetClassName().Contains("Button", StringComparison.OrdinalIgnoreCase) && diff --git a/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt index 9e463a6c3110..8a0532e0d7ef 100644 --- a/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt @@ -171,4 +171,3 @@ virtual Microsoft.Maui.SwipeViewSwipeStarted.$() -> Microsoft.Maui.SwipeV virtual Microsoft.Maui.SwipeViewSwipeStarted.EqualityContract.get -> System.Type! virtual Microsoft.Maui.SwipeViewSwipeStarted.Equals(Microsoft.Maui.SwipeViewSwipeStarted? other) -> bool virtual Microsoft.Maui.SwipeViewSwipeStarted.PrintMembers(System.Text.StringBuilder! builder) -> bool -static Microsoft.Maui.Handlers.TimePickerHandler.MapFlowDirection(Microsoft.Maui.Handlers.ITimePickerHandler! handler, Microsoft.Maui.ITimePicker! timePicker) -> void diff --git a/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt index eac18f8b2d83..1275361ffbbc 100644 --- a/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt @@ -141,4 +141,3 @@ virtual Microsoft.Maui.SwipeViewSwipeStarted.$() -> Microsoft.Maui.SwipeV virtual Microsoft.Maui.SwipeViewSwipeStarted.EqualityContract.get -> System.Type! virtual Microsoft.Maui.SwipeViewSwipeStarted.Equals(Microsoft.Maui.SwipeViewSwipeStarted? other) -> bool virtual Microsoft.Maui.SwipeViewSwipeStarted.PrintMembers(System.Text.StringBuilder! builder) -> bool -static Microsoft.Maui.Handlers.TimePickerHandler.MapFlowDirection(Microsoft.Maui.Handlers.ITimePickerHandler! handler, Microsoft.Maui.ITimePicker! timePicker) -> void From 1f3052dc39879c2fd5869f614eab4bc0962faea6 Mon Sep 17 00:00:00 2001 From: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Date: Mon, 23 Mar 2026 11:40:21 +0530 Subject: [PATCH 4/9] Updated comments and removed unwanted changes from UnShipped files --- .../TimePicker/TimePickerHandler.Android.cs | 2 +- .../TimePicker/TimePickerHandler.Windows.cs | 2 +- .../Platform/Android/TimePickerExtensions.cs | 18 +- .../Platform/Windows/TimePickerExtensions.cs | 20 ++- .../net-android/PublicAPI.Unshipped.txt | 162 ------------------ .../PublicAPI/net-ios/PublicAPI.Unshipped.txt | 160 +---------------- .../net-windows/PublicAPI.Unshipped.txt | 142 --------------- 7 files changed, 29 insertions(+), 477 deletions(-) diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs index cbe0b78c70d3..42b800db5e14 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Android.cs @@ -91,7 +91,7 @@ public static void MapFont(ITimePickerHandler handler, ITimePicker timePicker) handler.PlatformView?.UpdateFont(timePicker, fontManager); } - // Make it public in .NET 10. + // Make it public in .NET 11. internal static void MapFlowDirection(ITimePickerHandler handler, ITimePicker timePicker) { if (handler.PlatformView is not null) diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs index 6cc0539d281e..d0f79b7cffad 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs @@ -40,7 +40,7 @@ public static void MapFont(ITimePickerHandler handler, ITimePicker timePicker) handler.PlatformView.UpdateFont(timePicker, fontManager); } - // Make it public in .NET 10. + // Make it public in .NET 11. internal static void MapFlowDirection(ITimePickerHandler handler, ITimePicker timePicker) { if (handler.PlatformView is not null) diff --git a/src/Core/src/Platform/Android/TimePickerExtensions.cs b/src/Core/src/Platform/Android/TimePickerExtensions.cs index da8da36c0782..e24b07d9b20a 100644 --- a/src/Core/src/Platform/Android/TimePickerExtensions.cs +++ b/src/Core/src/Platform/Android/TimePickerExtensions.cs @@ -1,6 +1,8 @@ using System; using Android.Content.Res; +using Android.Views; using AndroidX.AppCompat.Widget; +using ATextAlignment = Android.Views.TextAlignment; namespace Microsoft.Maui.Platform; @@ -58,13 +60,13 @@ static void UpdateTextColorImpl(AppCompatEditText platformTimePicker, ITimePicke platformTimePicker.SetTextColor(cs); } } + } - // Make it public in .NET 10. - internal static void UpdateTextAlignment(this MauiTimePicker mauiTimePicker, ITimePicker timePicker) - { - mauiTimePicker.TextAlignment = timePicker.FlowDirection == FlowDirection.RightToLeft - ? Android.Views.TextAlignment.TextEnd - : Android.Views.TextAlignment.TextStart; - } + // Make it public in .NET 11. + internal static void UpdateTextAlignment(this MauiTimePicker mauiTimePicker, ITimePicker timePicker) + { + mauiTimePicker.TextAlignment = timePicker.FlowDirection == FlowDirection.RightToLeft + ? ATextAlignment.TextEnd + : ATextAlignment.TextStart; } -} \ No newline at end of file +} diff --git a/src/Core/src/Platform/Windows/TimePickerExtensions.cs b/src/Core/src/Platform/Windows/TimePickerExtensions.cs index b1b657b750e4..57768fec42d7 100644 --- a/src/Core/src/Platform/Windows/TimePickerExtensions.cs +++ b/src/Core/src/Platform/Windows/TimePickerExtensions.cs @@ -132,20 +132,32 @@ internal static void UpdateIsOpen(this TimePicker platformTimePicker, ITimePicke } } - // Make it public in .NET 10. + // Make it public in .NET 11. internal static void UpdateTextAlignment(this TimePicker platformTimePicker, ITimePicker timePicker) + { + if (platformTimePicker.IsLoaded) + { + ApplyTextAlignment(platformTimePicker, timePicker); + } + else + { + platformTimePicker.OnLoaded(() => ApplyTextAlignment(platformTimePicker, timePicker)); + } + } + + static void ApplyTextAlignment(TimePicker platformTimePicker, ITimePicker timePicker) { var flowDirection = timePicker.FlowDirection; var textAlignment = flowDirection == FlowDirection.RightToLeft - ? UI.Xaml.TextAlignment.Right - : UI.Xaml.TextAlignment.Left; + ? UI.Xaml.TextAlignment.Right + : UI.Xaml.TextAlignment.Left; SetTextAlignment(platformTimePicker, "HourTextBlock", textAlignment); SetTextAlignment(platformTimePicker, "MinuteTextBlock", textAlignment); SetTextAlignment(platformTimePicker, "PeriodTextBlock", textAlignment); } - static void SetTextAlignment(TimePicker platformTimePicker, string elementName, UI.Xaml.TextAlignment textAlignment) + static void SetTextAlignment(TimePicker platformTimePicker, string elementName, Microsoft.UI.Xaml.TextAlignment textAlignment) { var textBlock = platformTimePicker.GetDescendantByName(elementName); if (textBlock is not null) diff --git a/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt index 8a0532e0d7ef..d4e2d8099070 100644 --- a/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt @@ -9,165 +9,3 @@ override Microsoft.Maui.PlatformDrawable.ThresholdType.get -> System.Type! *REMOVED*override Microsoft.Maui.Graphics.MauiDrawable.OnBoundsChange(Android.Graphics.Rect! bounds) -> void *REMOVED*override Microsoft.Maui.Graphics.MauiDrawable.OnDraw(Android.Graphics.Drawables.Shapes.Shape? shape, Android.Graphics.Canvas? canvas, Android.Graphics.Paint? paint) -> void override Microsoft.Maui.Handlers.LabelHandler.GetDesiredSize(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.Platform.MauiPicker.ShowPopupOnFocus.get -> bool -*REMOVED*Microsoft.Maui.Platform.MauiPicker.ShowPopupOnFocus.set -> void -*REMOVED*override Microsoft.Maui.Platform.MauiPicker.OnFocusChanged(bool gainFocus, Android.Views.FocusSearchDirection direction, Android.Graphics.Rect? previouslyFocusedRect) -> void -*REMOVED*override Microsoft.Maui.Platform.MauiPicker.OnTouchEvent(Android.Views.MotionEvent? e) -> bool -override Microsoft.Maui.Platform.MauiDatePicker.DefaultMovementMethod.get -> Android.Text.Method.IMovementMethod? -override Microsoft.Maui.Platform.MauiPickerBase.DefaultMovementMethod.get -> Android.Text.Method.IMovementMethod? -override Microsoft.Maui.Platform.MauiTimePicker.DefaultMovementMethod.get -> Android.Text.Method.IMovementMethod? -*REMOVED*override Microsoft.Maui.Platform.MauiTextView.OnMeasure(int widthMeasureSpec, int heightMeasureSpec) -> void -virtual Microsoft.Maui.Animations.Lerp.LerpDelegate.Invoke(object! start, object! end, double progress) -> object! -Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.ContextFlyoutItemHandlerUpdate(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void -Microsoft.Maui.Handlers.LayoutHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IView! View) -> void -Microsoft.Maui.Handlers.LayoutHandlerUpdate.LayoutHandlerUpdate(Microsoft.Maui.Handlers.LayoutHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuBarItem! MenuBarItem) -> void -Microsoft.Maui.Handlers.MenuBarHandlerUpdate.MenuBarHandlerUpdate(Microsoft.Maui.Handlers.MenuBarHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void -Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.MenuBarItemHandlerUpdate(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void -Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.MenuFlyoutSubItemHandlerUpdate(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.OpenWindowRequest.Deconstruct(out Microsoft.Maui.IPersistedState? State) -> void -Microsoft.Maui.Handlers.OpenWindowRequest.OpenWindowRequest(Microsoft.Maui.Handlers.OpenWindowRequest! original) -> void -Microsoft.Maui.ScrollToRequest.Deconstruct(out double HorizontalOffset, out double VerticalOffset, out bool Instant) -> void -Microsoft.Maui.ScrollToRequest.ScrollToRequest(Microsoft.Maui.ScrollToRequest! original) -> void -Microsoft.Maui.SwipeViewCloseRequest.Deconstruct(out bool Animated) -> void -Microsoft.Maui.SwipeViewCloseRequest.SwipeViewCloseRequest(Microsoft.Maui.SwipeViewCloseRequest! original) -> void -Microsoft.Maui.SwipeViewOpenRequest.Deconstruct(out Microsoft.Maui.OpenSwipeItem OpenSwipeItem, out bool Animated) -> void -Microsoft.Maui.SwipeViewOpenRequest.SwipeViewOpenRequest(Microsoft.Maui.SwipeViewOpenRequest! original) -> void -Microsoft.Maui.SwipeViewSwipeChanging.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection, out double Offset) -> void -Microsoft.Maui.SwipeViewSwipeChanging.SwipeViewSwipeChanging(Microsoft.Maui.SwipeViewSwipeChanging! original) -> void -Microsoft.Maui.SwipeViewSwipeEnded.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection, out bool IsOpen) -> void -Microsoft.Maui.SwipeViewSwipeEnded.SwipeViewSwipeEnded(Microsoft.Maui.SwipeViewSwipeEnded! original) -> void -Microsoft.Maui.SwipeViewSwipeStarted.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection) -> void -Microsoft.Maui.SwipeViewSwipeStarted.SwipeViewSwipeStarted(Microsoft.Maui.SwipeViewSwipeStarted! original) -> void -override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.LayoutHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.LayoutHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.LayoutHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.OpenWindowRequest.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.OpenWindowRequest.GetHashCode() -> int -override Microsoft.Maui.Handlers.OpenWindowRequest.ToString() -> string! -override Microsoft.Maui.ScrollToRequest.Equals(object? obj) -> bool -override Microsoft.Maui.ScrollToRequest.GetHashCode() -> int -override Microsoft.Maui.ScrollToRequest.ToString() -> string! -override Microsoft.Maui.SwipeViewCloseRequest.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewCloseRequest.GetHashCode() -> int -override Microsoft.Maui.SwipeViewCloseRequest.ToString() -> string! -override Microsoft.Maui.SwipeViewOpenRequest.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewOpenRequest.GetHashCode() -> int -override Microsoft.Maui.SwipeViewOpenRequest.ToString() -> string! -override Microsoft.Maui.SwipeViewSwipeChanging.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewSwipeChanging.GetHashCode() -> int -override Microsoft.Maui.SwipeViewSwipeChanging.ToString() -> string! -override Microsoft.Maui.SwipeViewSwipeEnded.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewSwipeEnded.GetHashCode() -> int -override Microsoft.Maui.SwipeViewSwipeEnded.ToString() -> string! -override Microsoft.Maui.SwipeViewSwipeStarted.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewSwipeStarted.GetHashCode() -> int -override Microsoft.Maui.SwipeViewSwipeStarted.ToString() -> string! -static Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? left, Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? left, Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.LayoutHandlerUpdate.operator !=(Microsoft.Maui.Handlers.LayoutHandlerUpdate? left, Microsoft.Maui.Handlers.LayoutHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.LayoutHandlerUpdate.operator ==(Microsoft.Maui.Handlers.LayoutHandlerUpdate? left, Microsoft.Maui.Handlers.LayoutHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuBarHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuBarHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.OpenWindowRequest.operator !=(Microsoft.Maui.Handlers.OpenWindowRequest? left, Microsoft.Maui.Handlers.OpenWindowRequest? right) -> bool -static Microsoft.Maui.Handlers.OpenWindowRequest.operator ==(Microsoft.Maui.Handlers.OpenWindowRequest? left, Microsoft.Maui.Handlers.OpenWindowRequest? right) -> bool -static Microsoft.Maui.ScrollToRequest.operator !=(Microsoft.Maui.ScrollToRequest? left, Microsoft.Maui.ScrollToRequest? right) -> bool -static Microsoft.Maui.ScrollToRequest.operator ==(Microsoft.Maui.ScrollToRequest? left, Microsoft.Maui.ScrollToRequest? right) -> bool -static Microsoft.Maui.SwipeViewCloseRequest.operator !=(Microsoft.Maui.SwipeViewCloseRequest? left, Microsoft.Maui.SwipeViewCloseRequest? right) -> bool -static Microsoft.Maui.SwipeViewCloseRequest.operator ==(Microsoft.Maui.SwipeViewCloseRequest? left, Microsoft.Maui.SwipeViewCloseRequest? right) -> bool -static Microsoft.Maui.SwipeViewOpenRequest.operator !=(Microsoft.Maui.SwipeViewOpenRequest? left, Microsoft.Maui.SwipeViewOpenRequest? right) -> bool -static Microsoft.Maui.SwipeViewOpenRequest.operator ==(Microsoft.Maui.SwipeViewOpenRequest? left, Microsoft.Maui.SwipeViewOpenRequest? right) -> bool -static Microsoft.Maui.SwipeViewSwipeChanging.operator !=(Microsoft.Maui.SwipeViewSwipeChanging? left, Microsoft.Maui.SwipeViewSwipeChanging? right) -> bool -static Microsoft.Maui.SwipeViewSwipeChanging.operator ==(Microsoft.Maui.SwipeViewSwipeChanging? left, Microsoft.Maui.SwipeViewSwipeChanging? right) -> bool -static Microsoft.Maui.SwipeViewSwipeEnded.operator !=(Microsoft.Maui.SwipeViewSwipeEnded? left, Microsoft.Maui.SwipeViewSwipeEnded? right) -> bool -static Microsoft.Maui.SwipeViewSwipeEnded.operator ==(Microsoft.Maui.SwipeViewSwipeEnded? left, Microsoft.Maui.SwipeViewSwipeEnded? right) -> bool -static Microsoft.Maui.SwipeViewSwipeStarted.operator !=(Microsoft.Maui.SwipeViewSwipeStarted? left, Microsoft.Maui.SwipeViewSwipeStarted? right) -> bool -static Microsoft.Maui.SwipeViewSwipeStarted.operator ==(Microsoft.Maui.SwipeViewSwipeStarted? left, Microsoft.Maui.SwipeViewSwipeStarted? right) -> bool -virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate! -virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.$() -> Microsoft.Maui.Handlers.LayoutHandlerUpdate! -virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.Equals(Microsoft.Maui.Handlers.LayoutHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuBarHandlerUpdate! -virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate! -virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate! -virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.OpenWindowRequest.$() -> Microsoft.Maui.Handlers.OpenWindowRequest! -virtual Microsoft.Maui.Handlers.OpenWindowRequest.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.OpenWindowRequest.Equals(Microsoft.Maui.Handlers.OpenWindowRequest? other) -> bool -virtual Microsoft.Maui.Handlers.OpenWindowRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnActivityResult.Invoke(Android.App.Activity! activity, int requestCode, Android.App.Result resultCode, Android.Content.Intent? data) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnApplicationConfigurationChanged.Invoke(Android.App.Application! application, Android.Content.Res.Configuration! newConfig) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnApplicationCreate.Invoke(Android.App.Application! application) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnApplicationCreating.Invoke(Android.App.Application! application) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnApplicationLowMemory.Invoke(Android.App.Application! application) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnApplicationTrimMemory.Invoke(Android.App.Application! application, Android.Content.TrimMemory level) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnBackPressed.Invoke(Android.App.Activity! activity) -> bool -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnConfigurationChanged.Invoke(Android.App.Activity! activity, Android.Content.Res.Configuration! newConfig) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnCreate.Invoke(Android.App.Activity! activity, Android.OS.Bundle? savedInstanceState) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnDestroy.Invoke(Android.App.Activity! activity) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnNewIntent.Invoke(Android.App.Activity! activity, Android.Content.Intent? intent) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnPause.Invoke(Android.App.Activity! activity) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnPostCreate.Invoke(Android.App.Activity! activity, Android.OS.Bundle? savedInstanceState) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnPostResume.Invoke(Android.App.Activity! activity) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnRequestPermissionsResult.Invoke(Android.App.Activity! activity, int requestCode, string![]! permissions, Android.Content.PM.Permission[]! grantResults) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnRestart.Invoke(Android.App.Activity! activity) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnRestoreInstanceState.Invoke(Android.App.Activity! activity, Android.OS.Bundle! savedInstanceState) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnResume.Invoke(Android.App.Activity! activity) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnSaveInstanceState.Invoke(Android.App.Activity! activity, Android.OS.Bundle! outState) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnStart.Invoke(Android.App.Activity! activity) -> void -virtual Microsoft.Maui.LifecycleEvents.AndroidLifecycle.OnStop.Invoke(Android.App.Activity! activity) -> void -virtual Microsoft.Maui.ScrollToRequest.$() -> Microsoft.Maui.ScrollToRequest! -virtual Microsoft.Maui.ScrollToRequest.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.ScrollToRequest.Equals(Microsoft.Maui.ScrollToRequest? other) -> bool -virtual Microsoft.Maui.ScrollToRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewCloseRequest.$() -> Microsoft.Maui.SwipeViewCloseRequest! -virtual Microsoft.Maui.SwipeViewCloseRequest.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewCloseRequest.Equals(Microsoft.Maui.SwipeViewCloseRequest? other) -> bool -virtual Microsoft.Maui.SwipeViewCloseRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewOpenRequest.$() -> Microsoft.Maui.SwipeViewOpenRequest! -virtual Microsoft.Maui.SwipeViewOpenRequest.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewOpenRequest.Equals(Microsoft.Maui.SwipeViewOpenRequest? other) -> bool -virtual Microsoft.Maui.SwipeViewOpenRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewSwipeChanging.$() -> Microsoft.Maui.SwipeViewSwipeChanging! -virtual Microsoft.Maui.SwipeViewSwipeChanging.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewSwipeChanging.Equals(Microsoft.Maui.SwipeViewSwipeChanging? other) -> bool -virtual Microsoft.Maui.SwipeViewSwipeChanging.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewSwipeEnded.$() -> Microsoft.Maui.SwipeViewSwipeEnded! -virtual Microsoft.Maui.SwipeViewSwipeEnded.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewSwipeEnded.Equals(Microsoft.Maui.SwipeViewSwipeEnded? other) -> bool -virtual Microsoft.Maui.SwipeViewSwipeEnded.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewSwipeStarted.$() -> Microsoft.Maui.SwipeViewSwipeStarted! -virtual Microsoft.Maui.SwipeViewSwipeStarted.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewSwipeStarted.Equals(Microsoft.Maui.SwipeViewSwipeStarted? other) -> bool -virtual Microsoft.Maui.SwipeViewSwipeStarted.PrintMembers(System.Text.StringBuilder! builder) -> bool diff --git a/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt index 2baac0836cb7..6a6a53a7fd45 100644 --- a/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt @@ -1,162 +1,4 @@ -#nullable enable +#nullable enable override Microsoft.Maui.Platform.MauiView.DidUpdateFocus(UIKit.UIFocusUpdateContext! context, UIKit.UIFocusAnimationCoordinator! coordinator) -> void -virtual Microsoft.Maui.Animations.Lerp.LerpDelegate.Invoke(object! start, object! end, double progress) -> object! -Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.ContextFlyoutItemHandlerUpdate(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void -Microsoft.Maui.Handlers.LayoutHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IView! View) -> void -Microsoft.Maui.Handlers.LayoutHandlerUpdate.LayoutHandlerUpdate(Microsoft.Maui.Handlers.LayoutHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuBarItem! MenuBarItem) -> void -Microsoft.Maui.Handlers.MenuBarHandlerUpdate.MenuBarHandlerUpdate(Microsoft.Maui.Handlers.MenuBarHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void -Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.MenuBarItemHandlerUpdate(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void -Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.MenuFlyoutSubItemHandlerUpdate(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.OpenWindowRequest.Deconstruct(out Microsoft.Maui.IPersistedState? State) -> void -Microsoft.Maui.Handlers.OpenWindowRequest.OpenWindowRequest(Microsoft.Maui.Handlers.OpenWindowRequest! original) -> void -Microsoft.Maui.ScrollToRequest.Deconstruct(out double HorizontalOffset, out double VerticalOffset, out bool Instant) -> void -Microsoft.Maui.ScrollToRequest.ScrollToRequest(Microsoft.Maui.ScrollToRequest! original) -> void -Microsoft.Maui.SwipeViewCloseRequest.Deconstruct(out bool Animated) -> void -Microsoft.Maui.SwipeViewCloseRequest.SwipeViewCloseRequest(Microsoft.Maui.SwipeViewCloseRequest! original) -> void -Microsoft.Maui.SwipeViewOpenRequest.Deconstruct(out Microsoft.Maui.OpenSwipeItem OpenSwipeItem, out bool Animated) -> void -Microsoft.Maui.SwipeViewOpenRequest.SwipeViewOpenRequest(Microsoft.Maui.SwipeViewOpenRequest! original) -> void -Microsoft.Maui.SwipeViewSwipeChanging.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection, out double Offset) -> void -Microsoft.Maui.SwipeViewSwipeChanging.SwipeViewSwipeChanging(Microsoft.Maui.SwipeViewSwipeChanging! original) -> void -Microsoft.Maui.SwipeViewSwipeEnded.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection, out bool IsOpen) -> void -Microsoft.Maui.SwipeViewSwipeEnded.SwipeViewSwipeEnded(Microsoft.Maui.SwipeViewSwipeEnded! original) -> void -Microsoft.Maui.SwipeViewSwipeStarted.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection) -> void -Microsoft.Maui.SwipeViewSwipeStarted.SwipeViewSwipeStarted(Microsoft.Maui.SwipeViewSwipeStarted! original) -> void -override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.LayoutHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.LayoutHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.LayoutHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.OpenWindowRequest.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.OpenWindowRequest.GetHashCode() -> int -override Microsoft.Maui.Handlers.OpenWindowRequest.ToString() -> string! -override Microsoft.Maui.ScrollToRequest.Equals(object? obj) -> bool -override Microsoft.Maui.ScrollToRequest.GetHashCode() -> int -override Microsoft.Maui.ScrollToRequest.ToString() -> string! -override Microsoft.Maui.SwipeViewCloseRequest.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewCloseRequest.GetHashCode() -> int -override Microsoft.Maui.SwipeViewCloseRequest.ToString() -> string! -override Microsoft.Maui.SwipeViewOpenRequest.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewOpenRequest.GetHashCode() -> int -override Microsoft.Maui.SwipeViewOpenRequest.ToString() -> string! -override Microsoft.Maui.SwipeViewSwipeChanging.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewSwipeChanging.GetHashCode() -> int -override Microsoft.Maui.SwipeViewSwipeChanging.ToString() -> string! -override Microsoft.Maui.SwipeViewSwipeEnded.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewSwipeEnded.GetHashCode() -> int -override Microsoft.Maui.SwipeViewSwipeEnded.ToString() -> string! -override Microsoft.Maui.SwipeViewSwipeStarted.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewSwipeStarted.GetHashCode() -> int -override Microsoft.Maui.SwipeViewSwipeStarted.ToString() -> string! -static Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? left, Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? left, Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.LayoutHandlerUpdate.operator !=(Microsoft.Maui.Handlers.LayoutHandlerUpdate? left, Microsoft.Maui.Handlers.LayoutHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.LayoutHandlerUpdate.operator ==(Microsoft.Maui.Handlers.LayoutHandlerUpdate? left, Microsoft.Maui.Handlers.LayoutHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuBarHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuBarHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.OpenWindowRequest.operator !=(Microsoft.Maui.Handlers.OpenWindowRequest? left, Microsoft.Maui.Handlers.OpenWindowRequest? right) -> bool -static Microsoft.Maui.Handlers.OpenWindowRequest.operator ==(Microsoft.Maui.Handlers.OpenWindowRequest? left, Microsoft.Maui.Handlers.OpenWindowRequest? right) -> bool -static Microsoft.Maui.ScrollToRequest.operator !=(Microsoft.Maui.ScrollToRequest? left, Microsoft.Maui.ScrollToRequest? right) -> bool -static Microsoft.Maui.ScrollToRequest.operator ==(Microsoft.Maui.ScrollToRequest? left, Microsoft.Maui.ScrollToRequest? right) -> bool -static Microsoft.Maui.SwipeViewCloseRequest.operator !=(Microsoft.Maui.SwipeViewCloseRequest? left, Microsoft.Maui.SwipeViewCloseRequest? right) -> bool -static Microsoft.Maui.SwipeViewCloseRequest.operator ==(Microsoft.Maui.SwipeViewCloseRequest? left, Microsoft.Maui.SwipeViewCloseRequest? right) -> bool -static Microsoft.Maui.SwipeViewOpenRequest.operator !=(Microsoft.Maui.SwipeViewOpenRequest? left, Microsoft.Maui.SwipeViewOpenRequest? right) -> bool -static Microsoft.Maui.SwipeViewOpenRequest.operator ==(Microsoft.Maui.SwipeViewOpenRequest? left, Microsoft.Maui.SwipeViewOpenRequest? right) -> bool -static Microsoft.Maui.SwipeViewSwipeChanging.operator !=(Microsoft.Maui.SwipeViewSwipeChanging? left, Microsoft.Maui.SwipeViewSwipeChanging? right) -> bool -static Microsoft.Maui.SwipeViewSwipeChanging.operator ==(Microsoft.Maui.SwipeViewSwipeChanging? left, Microsoft.Maui.SwipeViewSwipeChanging? right) -> bool -static Microsoft.Maui.SwipeViewSwipeEnded.operator !=(Microsoft.Maui.SwipeViewSwipeEnded? left, Microsoft.Maui.SwipeViewSwipeEnded? right) -> bool -static Microsoft.Maui.SwipeViewSwipeEnded.operator ==(Microsoft.Maui.SwipeViewSwipeEnded? left, Microsoft.Maui.SwipeViewSwipeEnded? right) -> bool -static Microsoft.Maui.SwipeViewSwipeStarted.operator !=(Microsoft.Maui.SwipeViewSwipeStarted? left, Microsoft.Maui.SwipeViewSwipeStarted? right) -> bool -static Microsoft.Maui.SwipeViewSwipeStarted.operator ==(Microsoft.Maui.SwipeViewSwipeStarted? left, Microsoft.Maui.SwipeViewSwipeStarted? right) -> bool -virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate! -virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.$() -> Microsoft.Maui.Handlers.LayoutHandlerUpdate! -virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.Equals(Microsoft.Maui.Handlers.LayoutHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuBarHandlerUpdate! -virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate! -virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate! -virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.OpenWindowRequest.$() -> Microsoft.Maui.Handlers.OpenWindowRequest! -virtual Microsoft.Maui.Handlers.OpenWindowRequest.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.OpenWindowRequest.Equals(Microsoft.Maui.Handlers.OpenWindowRequest? other) -> bool -virtual Microsoft.Maui.Handlers.OpenWindowRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.ApplicationSignificantTimeChange.Invoke(UIKit.UIApplication! application) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.ContinueUserActivity.Invoke(UIKit.UIApplication! application, Foundation.NSUserActivity! userActivity, UIKit.UIApplicationRestorationHandler! completionHandler) -> bool -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.DidEnterBackground.Invoke(UIKit.UIApplication! application) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.FinishedLaunching.Invoke(UIKit.UIApplication! application, Foundation.NSDictionary! launchOptions) -> bool -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.OnActivated.Invoke(UIKit.UIApplication! application) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.OnResignActivation.Invoke(UIKit.UIApplication! application) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.OpenUrl.Invoke(UIKit.UIApplication! app, Foundation.NSUrl! url, Foundation.NSDictionary! options) -> bool -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.PerformActionForShortcutItem.Invoke(UIKit.UIApplication! application, UIKit.UIApplicationShortcutItem! shortcutItem, UIKit.UIOperationHandler! completionHandler) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.PerformFetch.Invoke(UIKit.UIApplication! application, System.Action! completionHandler) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneContinueUserActivity.Invoke(UIKit.UIScene! scene, Foundation.NSUserActivity! userActivity) -> bool -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneDidDisconnect.Invoke(UIKit.UIScene! scene) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneDidEnterBackground.Invoke(UIKit.UIScene! scene) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneDidFailToContinueUserActivity.Invoke(UIKit.UIScene! scene, string! userActivityType, Foundation.NSError! error) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneDidUpdateUserActivity.Invoke(UIKit.UIScene! scene, Foundation.NSUserActivity! userActivity) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneOnActivated.Invoke(UIKit.UIScene! scene) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneOnResignActivation.Invoke(UIKit.UIScene! scene) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneOpenUrl.Invoke(UIKit.UIScene! scene, Foundation.NSSet! urlContexts) -> bool -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneRestoreInteractionState.Invoke(UIKit.UIScene! scene, Foundation.NSUserActivity! stateRestorationActivity) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneWillConnect.Invoke(UIKit.UIScene! scene, UIKit.UISceneSession! session, UIKit.UISceneConnectionOptions! connectionOptions) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneWillContinueUserActivity.Invoke(UIKit.UIScene! scene, string! userActivityType) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.SceneWillEnterForeground.Invoke(UIKit.UIScene! scene) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.WillEnterForeground.Invoke(UIKit.UIApplication! application) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.WillFinishLaunching.Invoke(UIKit.UIApplication! application, Foundation.NSDictionary! launchOptions) -> bool -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.WillTerminate.Invoke(UIKit.UIApplication! application) -> void -virtual Microsoft.Maui.LifecycleEvents.iOSLifecycle.WindowSceneDidUpdateCoordinateSpace.Invoke(UIKit.UIWindowScene! windowScene, UIKit.IUICoordinateSpace! previousCoordinateSpace, UIKit.UIInterfaceOrientation previousInterfaceOrientation, UIKit.UITraitCollection! previousTraitCollection) -> void -virtual Microsoft.Maui.ScrollToRequest.$() -> Microsoft.Maui.ScrollToRequest! -virtual Microsoft.Maui.ScrollToRequest.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.ScrollToRequest.Equals(Microsoft.Maui.ScrollToRequest? other) -> bool -virtual Microsoft.Maui.ScrollToRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewCloseRequest.$() -> Microsoft.Maui.SwipeViewCloseRequest! -virtual Microsoft.Maui.SwipeViewCloseRequest.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewCloseRequest.Equals(Microsoft.Maui.SwipeViewCloseRequest? other) -> bool -virtual Microsoft.Maui.SwipeViewCloseRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewOpenRequest.$() -> Microsoft.Maui.SwipeViewOpenRequest! -virtual Microsoft.Maui.SwipeViewOpenRequest.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewOpenRequest.Equals(Microsoft.Maui.SwipeViewOpenRequest? other) -> bool -virtual Microsoft.Maui.SwipeViewOpenRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewSwipeChanging.$() -> Microsoft.Maui.SwipeViewSwipeChanging! -virtual Microsoft.Maui.SwipeViewSwipeChanging.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewSwipeChanging.Equals(Microsoft.Maui.SwipeViewSwipeChanging? other) -> bool -virtual Microsoft.Maui.SwipeViewSwipeChanging.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewSwipeEnded.$() -> Microsoft.Maui.SwipeViewSwipeEnded! -virtual Microsoft.Maui.SwipeViewSwipeEnded.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewSwipeEnded.Equals(Microsoft.Maui.SwipeViewSwipeEnded? other) -> bool -virtual Microsoft.Maui.SwipeViewSwipeEnded.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewSwipeStarted.$() -> Microsoft.Maui.SwipeViewSwipeStarted! -virtual Microsoft.Maui.SwipeViewSwipeStarted.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewSwipeStarted.Equals(Microsoft.Maui.SwipeViewSwipeStarted? other) -> bool -virtual Microsoft.Maui.SwipeViewSwipeStarted.PrintMembers(System.Text.StringBuilder! builder) -> bool static Microsoft.Maui.Handlers.TimePickerHandler.MapFlowDirection(Microsoft.Maui.Handlers.ITimePickerHandler! handler, Microsoft.Maui.ITimePicker! timePicker) -> void *REMOVED*static Microsoft.Maui.Handlers.TimePickerHandler.MapFlowDirection(Microsoft.Maui.Handlers.TimePickerHandler! handler, Microsoft.Maui.ITimePicker! timePicker) -> void diff --git a/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt index 1275361ffbbc..7dc5c58110bf 100644 --- a/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt @@ -1,143 +1 @@ #nullable enable -Microsoft.Maui.Handlers.OpenWindowRequest.Deconstruct(out Microsoft.Maui.IPersistedState? State, out Microsoft.UI.Xaml.LaunchActivatedEventArgs? LaunchArgs) -> void -virtual Microsoft.Maui.Animations.Lerp.LerpDelegate.Invoke(object! start, object! end, double progress) -> object! -Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.ContextFlyoutItemHandlerUpdate(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void -Microsoft.Maui.Handlers.LayoutHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IView! View) -> void -Microsoft.Maui.Handlers.LayoutHandlerUpdate.LayoutHandlerUpdate(Microsoft.Maui.Handlers.LayoutHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuBarItem! MenuBarItem) -> void -Microsoft.Maui.Handlers.MenuBarHandlerUpdate.MenuBarHandlerUpdate(Microsoft.Maui.Handlers.MenuBarHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void -Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.MenuBarItemHandlerUpdate(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Deconstruct(out int Index, out Microsoft.Maui.IMenuElement! MenuElement) -> void -Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.MenuFlyoutSubItemHandlerUpdate(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate! original) -> void -Microsoft.Maui.Handlers.OpenWindowRequest.OpenWindowRequest(Microsoft.Maui.Handlers.OpenWindowRequest! original) -> void -static Microsoft.Maui.Handlers.OpenWindowRequest.operator !=(Microsoft.Maui.Handlers.OpenWindowRequest? left, Microsoft.Maui.Handlers.OpenWindowRequest? right) -> bool -static Microsoft.Maui.Handlers.OpenWindowRequest.operator ==(Microsoft.Maui.Handlers.OpenWindowRequest? left, Microsoft.Maui.Handlers.OpenWindowRequest? right) -> bool -Microsoft.Maui.ScrollToRequest.Deconstruct(out double HorizontalOffset, out double VerticalOffset, out bool Instant) -> void -Microsoft.Maui.ScrollToRequest.ScrollToRequest(Microsoft.Maui.ScrollToRequest! original) -> void -Microsoft.Maui.SwipeViewCloseRequest.Deconstruct(out bool Animated) -> void -Microsoft.Maui.SwipeViewCloseRequest.SwipeViewCloseRequest(Microsoft.Maui.SwipeViewCloseRequest! original) -> void -Microsoft.Maui.SwipeViewOpenRequest.Deconstruct(out Microsoft.Maui.OpenSwipeItem OpenSwipeItem, out bool Animated) -> void -Microsoft.Maui.SwipeViewOpenRequest.SwipeViewOpenRequest(Microsoft.Maui.SwipeViewOpenRequest! original) -> void -Microsoft.Maui.SwipeViewSwipeChanging.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection, out double Offset) -> void -Microsoft.Maui.SwipeViewSwipeChanging.SwipeViewSwipeChanging(Microsoft.Maui.SwipeViewSwipeChanging! original) -> void -Microsoft.Maui.SwipeViewSwipeEnded.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection, out bool IsOpen) -> void -Microsoft.Maui.SwipeViewSwipeEnded.SwipeViewSwipeEnded(Microsoft.Maui.SwipeViewSwipeEnded! original) -> void -Microsoft.Maui.SwipeViewSwipeStarted.Deconstruct(out Microsoft.Maui.SwipeDirection SwipeDirection) -> void -Microsoft.Maui.SwipeViewSwipeStarted.SwipeViewSwipeStarted(Microsoft.Maui.SwipeViewSwipeStarted! original) -> void -override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.LayoutHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.LayoutHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.LayoutHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.MenuBarHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.GetHashCode() -> int -override Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.ToString() -> string! -override Microsoft.Maui.Handlers.OpenWindowRequest.Equals(object? obj) -> bool -override Microsoft.Maui.Handlers.OpenWindowRequest.GetHashCode() -> int -override Microsoft.Maui.Handlers.OpenWindowRequest.ToString() -> string! -override Microsoft.Maui.ScrollToRequest.Equals(object? obj) -> bool -override Microsoft.Maui.ScrollToRequest.GetHashCode() -> int -override Microsoft.Maui.ScrollToRequest.ToString() -> string! -override Microsoft.Maui.SwipeViewCloseRequest.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewCloseRequest.GetHashCode() -> int -override Microsoft.Maui.SwipeViewCloseRequest.ToString() -> string! -override Microsoft.Maui.SwipeViewOpenRequest.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewOpenRequest.GetHashCode() -> int -override Microsoft.Maui.SwipeViewOpenRequest.ToString() -> string! -override Microsoft.Maui.SwipeViewSwipeChanging.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewSwipeChanging.GetHashCode() -> int -override Microsoft.Maui.SwipeViewSwipeChanging.ToString() -> string! -override Microsoft.Maui.SwipeViewSwipeEnded.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewSwipeEnded.GetHashCode() -> int -override Microsoft.Maui.SwipeViewSwipeEnded.ToString() -> string! -override Microsoft.Maui.SwipeViewSwipeStarted.Equals(object? obj) -> bool -override Microsoft.Maui.SwipeViewSwipeStarted.GetHashCode() -> int -override Microsoft.Maui.SwipeViewSwipeStarted.ToString() -> string! -static Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? left, Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? left, Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.LayoutHandlerUpdate.operator !=(Microsoft.Maui.Handlers.LayoutHandlerUpdate? left, Microsoft.Maui.Handlers.LayoutHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.LayoutHandlerUpdate.operator ==(Microsoft.Maui.Handlers.LayoutHandlerUpdate? left, Microsoft.Maui.Handlers.LayoutHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuBarHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuBarHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.operator !=(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? right) -> bool -static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.operator ==(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? left, Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? right) -> bool -static Microsoft.Maui.ScrollToRequest.operator !=(Microsoft.Maui.ScrollToRequest? left, Microsoft.Maui.ScrollToRequest? right) -> bool -static Microsoft.Maui.ScrollToRequest.operator ==(Microsoft.Maui.ScrollToRequest? left, Microsoft.Maui.ScrollToRequest? right) -> bool -static Microsoft.Maui.SwipeViewCloseRequest.operator !=(Microsoft.Maui.SwipeViewCloseRequest? left, Microsoft.Maui.SwipeViewCloseRequest? right) -> bool -static Microsoft.Maui.SwipeViewCloseRequest.operator ==(Microsoft.Maui.SwipeViewCloseRequest? left, Microsoft.Maui.SwipeViewCloseRequest? right) -> bool -static Microsoft.Maui.SwipeViewOpenRequest.operator !=(Microsoft.Maui.SwipeViewOpenRequest? left, Microsoft.Maui.SwipeViewOpenRequest? right) -> bool -static Microsoft.Maui.SwipeViewOpenRequest.operator ==(Microsoft.Maui.SwipeViewOpenRequest? left, Microsoft.Maui.SwipeViewOpenRequest? right) -> bool -static Microsoft.Maui.SwipeViewSwipeChanging.operator !=(Microsoft.Maui.SwipeViewSwipeChanging? left, Microsoft.Maui.SwipeViewSwipeChanging? right) -> bool -static Microsoft.Maui.SwipeViewSwipeChanging.operator ==(Microsoft.Maui.SwipeViewSwipeChanging? left, Microsoft.Maui.SwipeViewSwipeChanging? right) -> bool -static Microsoft.Maui.SwipeViewSwipeEnded.operator !=(Microsoft.Maui.SwipeViewSwipeEnded? left, Microsoft.Maui.SwipeViewSwipeEnded? right) -> bool -static Microsoft.Maui.SwipeViewSwipeEnded.operator ==(Microsoft.Maui.SwipeViewSwipeEnded? left, Microsoft.Maui.SwipeViewSwipeEnded? right) -> bool -static Microsoft.Maui.SwipeViewSwipeStarted.operator !=(Microsoft.Maui.SwipeViewSwipeStarted? left, Microsoft.Maui.SwipeViewSwipeStarted? right) -> bool -static Microsoft.Maui.SwipeViewSwipeStarted.operator ==(Microsoft.Maui.SwipeViewSwipeStarted? left, Microsoft.Maui.SwipeViewSwipeStarted? right) -> bool -virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate! -virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.ContextFlyoutItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.$() -> Microsoft.Maui.Handlers.LayoutHandlerUpdate! -virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.Equals(Microsoft.Maui.Handlers.LayoutHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.LayoutHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuBarHandlerUpdate! -virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuBarHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.MenuBarHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate! -virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.MenuBarItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.$() -> Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate! -virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.Equals(Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate? other) -> bool -virtual Microsoft.Maui.Handlers.MenuFlyoutSubItemHandlerUpdate.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.OpenWindowRequest.$() -> Microsoft.Maui.Handlers.OpenWindowRequest! -virtual Microsoft.Maui.Handlers.OpenWindowRequest.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.Handlers.OpenWindowRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.Handlers.OpenWindowRequest.Equals(Microsoft.Maui.Handlers.OpenWindowRequest? other) -> bool -virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnActivated.Invoke(Microsoft.UI.Xaml.Window! window, Microsoft.UI.Xaml.WindowActivatedEventArgs! args) -> void -virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnClosed.Invoke(Microsoft.UI.Xaml.Window! window, Microsoft.UI.Xaml.WindowEventArgs! args) -> void -virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnLaunched.Invoke(Microsoft.UI.Xaml.Application! application, Microsoft.UI.Xaml.LaunchActivatedEventArgs! args) -> void -virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnLaunching.Invoke(Microsoft.UI.Xaml.Application! application, Microsoft.UI.Xaml.LaunchActivatedEventArgs! args) -> void -virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnPlatformMessage.Invoke(Microsoft.UI.Xaml.Window! window, Microsoft.Maui.Platform.WindowsPlatformMessageEventArgs! args) -> void -virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnPlatformWindowSubclassed.Invoke(Microsoft.UI.Xaml.Window! window, Microsoft.Maui.Platform.WindowsPlatformWindowSubclassedEventArgs! args) -> void -virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnResumed.Invoke(Microsoft.UI.Xaml.Window! window) -> void -virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnVisibilityChanged.Invoke(Microsoft.UI.Xaml.Window! window, Microsoft.UI.Xaml.WindowVisibilityChangedEventArgs! args) -> void -virtual Microsoft.Maui.LifecycleEvents.WindowsLifecycle.OnWindowCreated.Invoke(Microsoft.UI.Xaml.Window! window) -> void -virtual Microsoft.Maui.ScrollToRequest.$() -> Microsoft.Maui.ScrollToRequest! -virtual Microsoft.Maui.ScrollToRequest.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.ScrollToRequest.Equals(Microsoft.Maui.ScrollToRequest? other) -> bool -virtual Microsoft.Maui.ScrollToRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewCloseRequest.$() -> Microsoft.Maui.SwipeViewCloseRequest! -virtual Microsoft.Maui.SwipeViewCloseRequest.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewCloseRequest.Equals(Microsoft.Maui.SwipeViewCloseRequest? other) -> bool -virtual Microsoft.Maui.SwipeViewCloseRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewOpenRequest.$() -> Microsoft.Maui.SwipeViewOpenRequest! -virtual Microsoft.Maui.SwipeViewOpenRequest.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewOpenRequest.Equals(Microsoft.Maui.SwipeViewOpenRequest? other) -> bool -virtual Microsoft.Maui.SwipeViewOpenRequest.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewSwipeChanging.$() -> Microsoft.Maui.SwipeViewSwipeChanging! -virtual Microsoft.Maui.SwipeViewSwipeChanging.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewSwipeChanging.Equals(Microsoft.Maui.SwipeViewSwipeChanging? other) -> bool -virtual Microsoft.Maui.SwipeViewSwipeChanging.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewSwipeEnded.$() -> Microsoft.Maui.SwipeViewSwipeEnded! -virtual Microsoft.Maui.SwipeViewSwipeEnded.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewSwipeEnded.Equals(Microsoft.Maui.SwipeViewSwipeEnded? other) -> bool -virtual Microsoft.Maui.SwipeViewSwipeEnded.PrintMembers(System.Text.StringBuilder! builder) -> bool -virtual Microsoft.Maui.SwipeViewSwipeStarted.$() -> Microsoft.Maui.SwipeViewSwipeStarted! -virtual Microsoft.Maui.SwipeViewSwipeStarted.EqualityContract.get -> System.Type! -virtual Microsoft.Maui.SwipeViewSwipeStarted.Equals(Microsoft.Maui.SwipeViewSwipeStarted? other) -> bool -virtual Microsoft.Maui.SwipeViewSwipeStarted.PrintMembers(System.Text.StringBuilder! builder) -> bool From 34e4d8f942a5c9c1b25b38fbd7ad90cae6b876dc Mon Sep 17 00:00:00 2001 From: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Date: Mon, 23 Mar 2026 11:59:11 +0530 Subject: [PATCH 5/9] removed Unused import --- src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs | 1 - src/Core/src/Platform/Android/TimePickerExtensions.cs | 1 - src/Core/src/Platform/Windows/TimePickerExtensions.cs | 3 +++ 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs index d0f79b7cffad..59fde4d03556 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs @@ -1,4 +1,3 @@ -#nullable enable using Microsoft.UI.Xaml.Controls; using WBrush = Microsoft.UI.Xaml.Media.Brush; diff --git a/src/Core/src/Platform/Android/TimePickerExtensions.cs b/src/Core/src/Platform/Android/TimePickerExtensions.cs index e24b07d9b20a..5f9259874a25 100644 --- a/src/Core/src/Platform/Android/TimePickerExtensions.cs +++ b/src/Core/src/Platform/Android/TimePickerExtensions.cs @@ -1,6 +1,5 @@ using System; using Android.Content.Res; -using Android.Views; using AndroidX.AppCompat.Widget; using ATextAlignment = Android.Views.TextAlignment; diff --git a/src/Core/src/Platform/Windows/TimePickerExtensions.cs b/src/Core/src/Platform/Windows/TimePickerExtensions.cs index 57768fec42d7..d05fd1acb07a 100644 --- a/src/Core/src/Platform/Windows/TimePickerExtensions.cs +++ b/src/Core/src/Platform/Windows/TimePickerExtensions.cs @@ -114,6 +114,9 @@ internal static void UpdateIsOpen(this TimePicker platformTimePicker, ITimePicke // Look for button inside and invoke it var children = peer.GetChildren(); + if (children is null) + return; + foreach (var child in children) { if (child.GetClassName().Contains("Button", StringComparison.OrdinalIgnoreCase) && From b439d58992547c0fa2a583514ec344b9e6fa0ba8 Mon Sep 17 00:00:00 2001 From: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Date: Tue, 24 Mar 2026 16:14:26 +0530 Subject: [PATCH 6/9] Addressed AI summary cocern --- .../src/Handlers/TimePicker/TimePickerHandler.iOS.cs | 9 ++++++++- src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt | 2 -- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.iOS.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.iOS.cs index 6592214ba105..caddf83802b7 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.iOS.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.iOS.cs @@ -56,7 +56,14 @@ public static void MapTextColor(ITimePickerHandler handler, ITimePicker timePick handler.PlatformView?.UpdateTextColor(timePicker); } - public static void MapFlowDirection(ITimePickerHandler handler, ITimePicker timePicker) + public static void MapFlowDirection(TimePickerHandler handler, ITimePicker timePicker) + { + handler.PlatformView?.UpdateFlowDirection(timePicker); + handler.PlatformView?.UpdateTextAlignment(timePicker); + } + + // Make it public in .NET 11 and remove the concrete TimePickerHandler overload. + internal static void MapFlowDirection(ITimePickerHandler handler, ITimePicker timePicker) { if (handler.PlatformView is not null) { diff --git a/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt index 6a6a53a7fd45..218902bbd413 100644 --- a/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt @@ -1,4 +1,2 @@ #nullable enable override Microsoft.Maui.Platform.MauiView.DidUpdateFocus(UIKit.UIFocusUpdateContext! context, UIKit.UIFocusAnimationCoordinator! coordinator) -> void -static Microsoft.Maui.Handlers.TimePickerHandler.MapFlowDirection(Microsoft.Maui.Handlers.ITimePickerHandler! handler, Microsoft.Maui.ITimePicker! timePicker) -> void -*REMOVED*static Microsoft.Maui.Handlers.TimePickerHandler.MapFlowDirection(Microsoft.Maui.Handlers.TimePickerHandler! handler, Microsoft.Maui.ITimePicker! timePicker) -> void From ebe1a03409ada1844e03208b5a27c83e6aeabe10 Mon Sep 17 00:00:00 2001 From: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Date: Tue, 24 Mar 2026 16:17:09 +0530 Subject: [PATCH 7/9] Removed Unshipped file changes --- src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt index 218902bbd413..ebd197b91951 100644 --- a/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt @@ -1,2 +1,2 @@ -#nullable enable +#nullable enable override Microsoft.Maui.Platform.MauiView.DidUpdateFocus(UIKit.UIFocusUpdateContext! context, UIKit.UIFocusAnimationCoordinator! coordinator) -> void From 7f477248bec9c808e3f35920dae3f9d1d0471cca Mon Sep 17 00:00:00 2001 From: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Date: Fri, 27 Mar 2026 10:11:21 +0530 Subject: [PATCH 8/9] Reverted fix for windows --- .../Tests/Issues/Issue30192.cs | 2 +- .../ios-26/TimePickerFlowDirectionTest.png | Bin 0 -> 27866 bytes .../TimePicker/TimePickerHandler.Windows.cs | 10 ------ .../Handlers/TimePicker/TimePickerHandler.cs | 4 +-- .../Platform/Windows/TimePickerExtensions.cs | 34 ------------------ 5 files changed, 3 insertions(+), 47 deletions(-) create mode 100644 src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/TimePickerFlowDirectionTest.png diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs index 32b1e3763b9d..4ae29f6d6259 100644 --- a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue30192.cs @@ -1,4 +1,4 @@ -#if TEST_FAILS_ON_CATALYST // https://github.com/dotnet/maui/issues/30322 +#if TEST_FAILS_ON_CATALYST && TEST_FAILS_ON_WINDOWS // https://github.com/dotnet/maui/issues/30322 using NUnit.Framework; using UITest.Appium; using UITest.Core; diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/TimePickerFlowDirectionTest.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/TimePickerFlowDirectionTest.png new file mode 100644 index 0000000000000000000000000000000000000000..e1159fa6e5ee9cbbc5a46fc9d3759faf42da5832 GIT binary patch literal 27866 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 literal 0 HcmV?d00001 diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs index 59fde4d03556..689705f768ac 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.Windows.cs @@ -39,16 +39,6 @@ public static void MapFont(ITimePickerHandler handler, ITimePicker timePicker) handler.PlatformView.UpdateFont(timePicker, fontManager); } - // Make it public in .NET 11. - internal static void MapFlowDirection(ITimePickerHandler handler, ITimePicker timePicker) - { - if (handler.PlatformView is not null) - { - handler.PlatformView.UpdateFlowDirection(timePicker); - handler.PlatformView.UpdateTextAlignment(timePicker); - } - } - public static void MapTextColor(ITimePickerHandler handler, ITimePicker timePicker) { handler.PlatformView.UpdateTextColor(timePicker); diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.cs index 189444b4c8b0..aaf89c9b2466 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.cs @@ -20,9 +20,9 @@ public partial class TimePickerHandler : ITimePickerHandler { #if ANDROID || WINDOWS [nameof(ITimePicker.Background)] = MapBackground, -#endif +#elif IOS || ANDROID [nameof(ITimePicker.FlowDirection)] = MapFlowDirection, - +#endif [nameof(ITimePicker.CharacterSpacing)] = MapCharacterSpacing, [nameof(ITimePicker.Font)] = MapFont, [nameof(ITimePicker.Format)] = MapFormat, diff --git a/src/Core/src/Platform/Windows/TimePickerExtensions.cs b/src/Core/src/Platform/Windows/TimePickerExtensions.cs index d05fd1acb07a..0fc4d6dfa813 100644 --- a/src/Core/src/Platform/Windows/TimePickerExtensions.cs +++ b/src/Core/src/Platform/Windows/TimePickerExtensions.cs @@ -134,38 +134,4 @@ internal static void UpdateIsOpen(this TimePicker platformTimePicker, ITimePicke parent?.Focus(FocusState.Programmatic); } } - - // Make it public in .NET 11. - internal static void UpdateTextAlignment(this TimePicker platformTimePicker, ITimePicker timePicker) - { - if (platformTimePicker.IsLoaded) - { - ApplyTextAlignment(platformTimePicker, timePicker); - } - else - { - platformTimePicker.OnLoaded(() => ApplyTextAlignment(platformTimePicker, timePicker)); - } - } - - static void ApplyTextAlignment(TimePicker platformTimePicker, ITimePicker timePicker) - { - var flowDirection = timePicker.FlowDirection; - var textAlignment = flowDirection == FlowDirection.RightToLeft - ? UI.Xaml.TextAlignment.Right - : UI.Xaml.TextAlignment.Left; - - SetTextAlignment(platformTimePicker, "HourTextBlock", textAlignment); - SetTextAlignment(platformTimePicker, "MinuteTextBlock", textAlignment); - SetTextAlignment(platformTimePicker, "PeriodTextBlock", textAlignment); - } - - static void SetTextAlignment(TimePicker platformTimePicker, string elementName, Microsoft.UI.Xaml.TextAlignment textAlignment) - { - var textBlock = platformTimePicker.GetDescendantByName(elementName); - if (textBlock is not null) - { - textBlock.TextAlignment = textAlignment; - } - } } From 5b4855a6edc98bf0d81bbaa89f22cd1d3b2e0645 Mon Sep 17 00:00:00 2001 From: Dhivya-SF4094 <127717131+Dhivya-SF4094@users.noreply.github.com> Date: Mon, 6 Apr 2026 18:52:28 +0530 Subject: [PATCH 9/9] Updated TimePickerHandler --- src/Core/src/Handlers/TimePicker/TimePickerHandler.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Core/src/Handlers/TimePicker/TimePickerHandler.cs b/src/Core/src/Handlers/TimePicker/TimePickerHandler.cs index aaf89c9b2466..b8b8d030b283 100644 --- a/src/Core/src/Handlers/TimePicker/TimePickerHandler.cs +++ b/src/Core/src/Handlers/TimePicker/TimePickerHandler.cs @@ -20,7 +20,8 @@ public partial class TimePickerHandler : ITimePickerHandler { #if ANDROID || WINDOWS [nameof(ITimePicker.Background)] = MapBackground, -#elif IOS || ANDROID +#endif +#if IOS || ANDROID [nameof(ITimePicker.FlowDirection)] = MapFlowDirection, #endif [nameof(ITimePicker.CharacterSpacing)] = MapCharacterSpacing,