From f16f7c4f1ad86a310fccc0cb5aa777dc8037e63a Mon Sep 17 00:00:00 2001 From: Ronan Burke Date: Sat, 18 Nov 2023 18:32:25 +0000 Subject: [PATCH 1/5] Use SymbolEqualityComparer --- src/Burkus.Mvvm.Maui.SourceGenerators/AppSourceGenerator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Burkus.Mvvm.Maui.SourceGenerators/AppSourceGenerator.cs b/src/Burkus.Mvvm.Maui.SourceGenerators/AppSourceGenerator.cs index 6021a54..0e3f3fd 100644 --- a/src/Burkus.Mvvm.Maui.SourceGenerators/AppSourceGenerator.cs +++ b/src/Burkus.Mvvm.Maui.SourceGenerators/AppSourceGenerator.cs @@ -33,7 +33,7 @@ public void Execute(GeneratorExecutionContext context) // check if the App class is partial and inherits from Application var appSymbol = semanticModel.GetDeclaredSymbol(appClass); - if (appSymbol is not null && isPartial && appSymbol.BaseType.Equals(semanticModel.Compilation.GetTypeByMetadataName("Microsoft.Maui.Controls.Application"))) + if (appSymbol is not null && isPartial && SymbolEqualityComparer.Default.Equals(appSymbol.BaseType, semanticModel.Compilation.GetTypeByMetadataName("Microsoft.Maui.Controls.Application"))) { chosenAppSymbol = appSymbol; break; From 0271f170de73249966ab617b703d18106c51f8c2 Mon Sep 17 00:00:00 2001 From: Ronan Burke Date: Sun, 3 Dec 2023 19:03:48 +0000 Subject: [PATCH 2/5] Add iOS sample app screenshot --- README.md | 2 +- art/android-home.png | Bin 20758 -> 0 bytes art/ios-home.png | Bin 0 -> 24734 bytes 3 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 art/android-home.png create mode 100644 art/ios-home.png diff --git a/README.md b/README.md index 5201c2d..8ee4ed2 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ See the `DemoApp` in the `/samples` folder of this repository for a full example 🧪 [Check out the Test Project](/tests/DemoApp.UnitTests/) for demonstrations how you can write tests for code that calls this library. This will help ensure you write rock-solid apps! -| The Login page of the demo app running on WinUI | The Home page of the demo app running on Android | The Tabs page of the demo app running on Android | +| The Login page of the demo app running on WinUI | The Home page of the demo app running on iOS | The Tabs page of the demo app running on Android | | -------- | ------- | ------- | ## Getting started diff --git a/art/android-home.png b/art/android-home.png deleted file mode 100644 index bd45092e597c1e7487e155b0a10690dc9252143b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20758 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 CT&Xhv literal 0 HcmV?d00001 From 29e8aab6503a1faef21e193f132e62fca0c99f7f Mon Sep 17 00:00:00 2001 From: Ronan Burke Date: Sun, 3 Dec 2023 19:04:41 +0000 Subject: [PATCH 3/5] Improve DemoApp async methods --- samples/DemoApp/ViewModels/BaseViewModel.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/samples/DemoApp/ViewModels/BaseViewModel.cs b/samples/DemoApp/ViewModels/BaseViewModel.cs index 8263790..4debd1f 100644 --- a/samples/DemoApp/ViewModels/BaseViewModel.cs +++ b/samples/DemoApp/ViewModels/BaseViewModel.cs @@ -22,16 +22,19 @@ public BaseViewModel( #region Lifecycle events - public virtual async Task OnNavigatedTo(NavigationParameters parameters) + public virtual Task OnNavigatedTo(NavigationParameters parameters) { + return Task.CompletedTask; } - public virtual async Task OnNavigatedFrom(NavigationParameters parameters) + public virtual Task OnNavigatedFrom(NavigationParameters parameters) { + return Task.CompletedTask; } - public virtual async Task OnNavigatingFrom(NavigationParameters parameters) + public virtual Task OnNavigatingFrom(NavigationParameters parameters) { + return Task.CompletedTask; } #endregion Lifecycle events From 5c41f07279bfddfe2d1b8da68f5436148ce13e47 Mon Sep 17 00:00:00 2001 From: Ronan Burke Date: Tue, 26 Dec 2023 23:10:16 +0000 Subject: [PATCH 4/5] Update security versions --- SECURITY.MD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SECURITY.MD b/SECURITY.MD index 8e6bb80..8a47b5c 100644 --- a/SECURITY.MD +++ b/SECURITY.MD @@ -6,8 +6,8 @@ The latest version of the package only will be supported with security fixes. If | Version | Supported | | ------- | ------------------ | -| 0.1.x | :white_check_mark: | -| < 0.1 | :x: | +| 0.2.x | :white_check_mark: | +| < 0.2 | :x: | ## Reporting a Vulnerability Contact options: From 0805e2b91991bf0e2332c6d6285a63ef82217eab Mon Sep 17 00:00:00 2001 From: Ronan Burke Date: Mon, 1 Jan 2024 19:54:06 +0000 Subject: [PATCH 5/5] Workaround to fix window title on WinUI --- .../AppSourceGenerator.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Burkus.Mvvm.Maui.SourceGenerators/AppSourceGenerator.cs b/src/Burkus.Mvvm.Maui.SourceGenerators/AppSourceGenerator.cs index 0e3f3fd..1e37257 100644 --- a/src/Burkus.Mvvm.Maui.SourceGenerators/AppSourceGenerator.cs +++ b/src/Burkus.Mvvm.Maui.SourceGenerators/AppSourceGenerator.cs @@ -82,7 +82,16 @@ protected override Window CreateWindow(IActivationState? activationState) burkusMvvmBuilder.onStartFunc.Invoke(navigationService, serviceProvider); }} - return base.CreateWindow(activationState); + var window = base.CreateWindow(activationState); + +#if WINDOWS + if (window != null) + {{ + window.Title = AppInfo.Current.Name; + }} +#endif + + return window; }} }}";