From 6a6f38387b75c256b0d2e318b80f5d431d063890 Mon Sep 17 00:00:00 2001 From: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com> Date: Wed, 25 Sep 2024 00:10:13 +0530 Subject: [PATCH] Fix ShellContent Title doesn't observe changes to bound properties (#24806) * fix added * UI test added * platform affected codes updated * script file changes updated * review changes updated * Test case file changes updated * tabbar automation id casing updated * Automation ID changed for button * unshipped file changes reverted * changes updated * platform condition updated * UI test modified * screen shot added * access specifier changed --- .../Shell/Android/ShellSectionRenderer.cs | 32 ++++++++++++++++++ .../Shell/ShellContentHandler.Windows.cs | 10 +++++- .../net-windows/PublicAPI.Unshipped.txt | 2 +- src/Controls/src/Core/Shell/BaseShellItem.cs | 2 +- .../android/ChangeShellContentTitle.png | Bin 0 -> 34893 bytes .../TestCases.HostApp/Issues/Issue7453.xaml | 29 ++++++++++++++++ .../Issues/Issue7453.xaml.cs | 16 +++++++++ .../Tests/Issues/Issue7453.cs | 32 ++++++++++++++++++ .../windows/ChangeShellContentTitle.png | Bin 0 -> 10507 bytes .../snapshots/ios/ChangeShellContentTitle.png | Bin 0 -> 38244 bytes 10 files changed, 120 insertions(+), 3 deletions(-) create mode 100644 src/Controls/tests/TestCases.Android.Tests/snapshots/android/ChangeShellContentTitle.png create mode 100644 src/Controls/tests/TestCases.HostApp/Issues/Issue7453.xaml create mode 100644 src/Controls/tests/TestCases.HostApp/Issues/Issue7453.xaml.cs create mode 100644 src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue7453.cs create mode 100644 src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/ChangeShellContentTitle.png create mode 100644 src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/ChangeShellContentTitle.png diff --git a/src/Controls/src/Core/Compatibility/Handlers/Shell/Android/ShellSectionRenderer.cs b/src/Controls/src/Core/Compatibility/Handlers/Shell/Android/ShellSectionRenderer.cs index 32c8a6b7a12b..24ceab4a95cf 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/Shell/Android/ShellSectionRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/Shell/Android/ShellSectionRenderer.cs @@ -149,6 +149,30 @@ public override AView OnCreateView(LayoutInflater inflater, ViewGroup container, return _rootView = root; } + void OnShellContentPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) + { + if (e.PropertyName == ShellContent.TitleProperty.PropertyName && sender is ShellContent shellContent) + { + UpdateTabTitle(shellContent); + } + } + + void UpdateTabTitle(ShellContent shellContent) + { + if (_tablayout == null || SectionController.GetItems().Count == 0) + return; + + int index = SectionController.GetItems().IndexOf(shellContent); + if (index >= 0) + { + var tab = _tablayout.GetTabAt(index); + if (tab != null) + { + tab.SetText(new string(shellContent.Title)); + } + } + } + void OnTabLayoutChange(object sender, AView.LayoutChangeEventArgs e) { if (_disposed) @@ -327,6 +351,10 @@ void HookEvents() SectionController.ItemsCollectionChanged += OnItemsCollectionChanged; ((IShellController)_shellContext.Shell).AddAppearanceObserver(this, ShellSection); ShellSection.PropertyChanged += OnShellItemPropertyChanged; + foreach (var item in SectionController.GetItems()) + { + item.PropertyChanged += OnShellContentPropertyChanged; + } } void UnhookEvents() @@ -334,6 +362,10 @@ void UnhookEvents() SectionController.ItemsCollectionChanged -= OnItemsCollectionChanged; ((IShellController)_shellContext?.Shell)?.RemoveAppearanceObserver(this); ShellSection.PropertyChanged -= OnShellItemPropertyChanged; + foreach (var item in SectionController.GetItems()) + { + item.PropertyChanged -= OnShellContentPropertyChanged; + } } protected virtual void OnPageSelected(int position) diff --git a/src/Controls/src/Core/Handlers/Shell/ShellContentHandler.Windows.cs b/src/Controls/src/Core/Handlers/Shell/ShellContentHandler.Windows.cs index 776e69c38373..3ae9eb434f34 100644 --- a/src/Controls/src/Core/Handlers/Shell/ShellContentHandler.Windows.cs +++ b/src/Controls/src/Core/Handlers/Shell/ShellContentHandler.Windows.cs @@ -7,7 +7,7 @@ namespace Microsoft.Maui.Controls.Handlers public partial class ShellContentHandler : ElementHandler { public static PropertyMapper Mapper = - new PropertyMapper(ElementMapper); + new PropertyMapper(ElementMapper) { [nameof(ShellContent.Title)] = MapTitle }; public static CommandMapper CommandMapper = new CommandMapper(ElementCommandMapper); @@ -16,6 +16,14 @@ public ShellContentHandler() : base(Mapper, CommandMapper) { } + internal static void MapTitle(ShellContentHandler handler, ShellContent item) + { + var shellSection = item.Parent as ShellSection; + var shellItem = shellSection?.Parent as ShellItem; + var shellItemHandler = shellItem?.Handler as ShellItemHandler; + shellItemHandler?.UpdateTitle(); + } + protected override FrameworkElement CreatePlatformElement() { return (VirtualView as IShellContentController).GetOrCreateContent().ToPlatform(MauiContext); diff --git a/src/Controls/src/Core/PublicAPI/net-windows/PublicAPI.Unshipped.txt b/src/Controls/src/Core/PublicAPI/net-windows/PublicAPI.Unshipped.txt index 7dc5c58110bf..815c92006af7 100644 --- a/src/Controls/src/Core/PublicAPI/net-windows/PublicAPI.Unshipped.txt +++ b/src/Controls/src/Core/PublicAPI/net-windows/PublicAPI.Unshipped.txt @@ -1 +1 @@ -#nullable enable +#nullable enable \ No newline at end of file diff --git a/src/Controls/src/Core/Shell/BaseShellItem.cs b/src/Controls/src/Core/Shell/BaseShellItem.cs index c1593aafcf2f..25aa1605e65c 100644 --- a/src/Controls/src/Core/Shell/BaseShellItem.cs +++ b/src/Controls/src/Core/Shell/BaseShellItem.cs @@ -51,7 +51,7 @@ public class BaseShellItem : NavigableElement, IPropertyPropagationController, I /// Bindable property for . public static readonly BindableProperty TitleProperty = - BindableProperty.Create(nameof(Title), typeof(string), typeof(BaseShellItem), null, BindingMode.OneTime, propertyChanged: OnTitlePropertyChanged); + BindableProperty.Create(nameof(Title), typeof(string), typeof(BaseShellItem), null, BindingMode.TwoWay, propertyChanged: OnTitlePropertyChanged); /// Bindable property for . public static readonly BindableProperty IsVisibleProperty = diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/ChangeShellContentTitle.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/ChangeShellContentTitle.png new file mode 100644 index 0000000000000000000000000000000000000000..ab55034b484c7a20375cd58d9bb8c14e6eecac28 GIT binary patch literal 34893 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 literal 0 HcmV?d00001 diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue7453.xaml b/src/Controls/tests/TestCases.HostApp/Issues/Issue7453.xaml new file mode 100644 index 000000000000..487e80aa0e6f --- /dev/null +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue7453.xaml @@ -0,0 +1,29 @@ + + + + + + + + + +