From 0ecf22c8a01d1e7e6aef97647ac84eade2bb4a7d Mon Sep 17 00:00:00 2001 From: Adam Anderson Date: Wed, 16 Aug 2023 13:32:35 -0400 Subject: [PATCH 1/5] Fix text toolbar item icon not removed when navigating on Android Fixes an issue on Android when there are multiple pages with toolbar items and on one page the toolbar item has an icon and on another page it doesn't, the icon is not removed when navigating to the page without the icon. When updating the Android Menuitem icon and the base drawable is null, the icon is set to null. On Android, this clears out the previous icon. Fixes #7823 --- .../src/Core/Platform/Android/Extensions/ToolbarExtensions.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs b/src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs index 734304b4c29e..f341b1a5f049 100644 --- a/src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs +++ b/src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs @@ -377,6 +377,10 @@ internal static void UpdateMenuItemIcon(this IMauiContext mauiContext, IMenuItem menuItem.SetIcon(iconDrawable); } } + else + { + menuItem.SetIcon(null); + } }); } From 3ac67c6f395ef6ba4000c1501ce3c10bc8f5a29f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Su=C3=A1rez?= Date: Wed, 21 Feb 2024 13:29:53 +0100 Subject: [PATCH 2/5] Added UITest --- .../Issues/Issue7823.xaml | 17 ++++++++++ .../Issues/Issue7823.xaml.cs | 27 +++++++++++++++ .../Issues/Issue7823Page2.xaml | 16 +++++++++ .../Issues/Issue7823Page2.xaml.cs | 21 ++++++++++++ .../tests/UITests/Tests/Issues/Issue7823.cs | 32 ++++++++++++++++++ .../UpdateToolbarItemAfterNavigate.png | Bin 0 -> 18749 bytes 6 files changed, 113 insertions(+) create mode 100644 src/Controls/samples/Controls.Sample.UITests/Issues/Issue7823.xaml create mode 100644 src/Controls/samples/Controls.Sample.UITests/Issues/Issue7823.xaml.cs create mode 100644 src/Controls/samples/Controls.Sample.UITests/Issues/Issue7823Page2.xaml create mode 100644 src/Controls/samples/Controls.Sample.UITests/Issues/Issue7823Page2.xaml.cs create mode 100644 src/Controls/tests/UITests/Tests/Issues/Issue7823.cs create mode 100644 src/Controls/tests/UITests/snapshots/android/UpdateToolbarItemAfterNavigate.png diff --git a/src/Controls/samples/Controls.Sample.UITests/Issues/Issue7823.xaml b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue7823.xaml new file mode 100644 index 000000000000..b0e50ab9cf92 --- /dev/null +++ b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue7823.xaml @@ -0,0 +1,17 @@ + + + + + + +