diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/.editorconfig b/UI/MauiEmbedding/MauiCommunityToolkitApp/.editorconfig new file mode 100644 index 000000000..b947be645 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/.editorconfig @@ -0,0 +1,167 @@ +; This file is for unifying the coding style for different editors and IDEs. +; More information at http://editorconfig.org + +# This file is the top-most EditorConfig file +root = true + +########################################## +# Common Settings +########################################## + +[*] +indent_style = space +end_of_line = crlf +trim_trailing_whitespace = true +insert_final_newline = true +charset = utf-8 + +########################################## +# File Extension Settings +########################################## + +[*.{yml,yaml}] +indent_size = 2 + +[.vsconfig] +indent_size = 2 +end_of_line = lf + +[*.sln] +indent_style = tab +indent_size = 2 + +[*.{csproj,proj,projitems,shproj}] +indent_size = 2 + +[*.{json,slnf}] +indent_size = 2 +end_of_line = lf + +[*.{props,targets}] +indent_size = 2 + +[*.xaml] +indent_size = 2 +charset = utf-8-bom + +[*.xml] +indent_size = 2 +end_of_line = lf + +[*.plist] +indent_size = 2 +indent_style = tab +end_of_line = lf + +[*.manifest] +indent_size = 2 + +[*.appxmanifest] +indent_size = 2 + +[*.{json,css,webmanifest}] +indent_size = 2 +end_of_line = lf + +[web.config] +indent_size = 2 +end_of_line = lf + +[*.sh] +indent_size = 2 +end_of_line = lf + +[*.cs] +# EOL should be normalized by Git. See https://github.com/dotnet/format/issues/1099 +end_of_line = unset + +# See https://github.com/dotnet/roslyn/issues/20356#issuecomment-310143926 +trim_trailing_whitespace = false + +tab_width = 4 +indent_size = 4 + +# Sort using and Import directives with System.* appearing first +dotnet_sort_system_directives_first = true + +# Avoid "this." and "Me." if not necessary +dotnet_style_qualification_for_field = false:suggestion +dotnet_style_qualification_for_property = false:suggestion +dotnet_style_qualification_for_method = false:suggestion +dotnet_style_qualification_for_event = false:suggestion + +#### Naming styles #### + +# Naming rules + +dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion +dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface +dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i + +dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.types_should_be_pascal_case.symbols = types +dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case + +dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members +dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case + +# Symbol specifications + +dotnet_naming_symbols.interface.applicable_kinds = interface +dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.interface.required_modifiers = + +dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum +dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.types.required_modifiers = + +dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method +dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.non_field_members.required_modifiers = + +# Naming styles + +dotnet_naming_style.begins_with_i.required_prefix = I +dotnet_naming_style.begins_with_i.required_suffix = +dotnet_naming_style.begins_with_i.word_separator = +dotnet_naming_style.begins_with_i.capitalization = pascal_case + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case +dotnet_style_operator_placement_when_wrapping = beginning_of_line +dotnet_style_coalesce_expression = true:suggestion +dotnet_style_null_propagation = true:suggestion +dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion +dotnet_style_prefer_auto_properties = true:silent +dotnet_style_object_initializer = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_prefer_simplified_boolean_expressions = true:suggestion +dotnet_style_prefer_conditional_expression_over_assignment = true:silent +dotnet_style_prefer_conditional_expression_over_return = true:silent +dotnet_style_explicit_tuple_names = true:suggestion +dotnet_style_prefer_inferred_tuple_names = true:suggestion + +csharp_indent_labels = one_less_than_current +csharp_using_directive_placement = outside_namespace:silent +csharp_prefer_simple_using_statement = true:suggestion +csharp_prefer_braces = true:silent +csharp_style_namespace_declarations = file_scoped:warning +csharp_style_prefer_method_group_conversion = true:silent +csharp_style_prefer_top_level_statements = true:silent +csharp_style_prefer_primary_constructors = true:suggestion +csharp_style_expression_bodied_methods = false:silent +csharp_style_expression_bodied_constructors = false:silent +csharp_style_expression_bodied_operators = false:silent +csharp_style_expression_bodied_properties = true:silent +csharp_style_expression_bodied_indexers = true:silent +csharp_style_expression_bodied_accessors = true:silent +csharp_style_expression_bodied_lambdas = true:silent +csharp_style_expression_bodied_local_functions = false:silent diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/.gitattributes b/UI/MauiEmbedding/MauiCommunityToolkitApp/.gitattributes new file mode 100644 index 000000000..1ff0c4230 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/.gitignore b/UI/MauiEmbedding/MauiCommunityToolkitApp/.gitignore index bc55501a7..ef88c2053 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/.gitignore +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/.gitignore @@ -399,5 +399,5 @@ FodyWeavers.xsd # Single Target Config solution-config.props -# Windows Publish Profiles -!**/*.Windows/Properties/PublishProfiles/*.pubxml \ No newline at end of file +# Publish Profiles +!**/Properties/PublishProfiles/*.pubxml \ No newline at end of file diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/.vscode/tasks.json b/UI/MauiEmbedding/MauiCommunityToolkitApp/.vscode/tasks.json index 02ee36589..54d839243 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/.vscode/tasks.json +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/.vscode/tasks.json @@ -1,6 +1,5 @@ { "version": "2.0.0", "tasks": [ - ] } diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/.vsconfig b/UI/MauiEmbedding/MauiCommunityToolkitApp/.vsconfig index 1c9c22808..2eb121686 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/.vsconfig +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/.vsconfig @@ -5,34 +5,23 @@ "Microsoft.VisualStudio.Workload.CoreEditor", "Microsoft.NetCore.Component.SDK", "Microsoft.NetCore.Component.DevelopmentTools", - "Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions", - "Microsoft.NetCore.Component.Web", "Microsoft.Net.ComponentGroup.DevelopmentPrerequisites", "Microsoft.VisualStudio.Component.TextTemplating", - "Microsoft.VisualStudio.Component.IISExpress", - "Component.Microsoft.Web.LibraryManager", - "Microsoft.VisualStudio.ComponentGroup.Web", - "Microsoft.VisualStudio.Component.Web", - "Microsoft.VisualStudio.ComponentGroup.Web.Client", - "Microsoft.VisualStudio.Workload.NetWeb", - "Microsoft.VisualStudio.ComponentGroup.Azure.Prerequisites", - "Microsoft.VisualStudio.Workload.Azure", "Microsoft.VisualStudio.Component.Windows10SDK.19041", + "Microsoft.VisualStudio.ComponentGroup.MSIX.Packaging", "Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites", "Microsoft.VisualStudio.Component.Debugger.JustInTime", - "Microsoft.VisualStudio.ComponentGroup.MSIX.Packaging", "Microsoft.VisualStudio.Workload.ManagedDesktop", "Microsoft.Component.NetFX.Native", "Microsoft.VisualStudio.Component.Graphics", - "Component.OpenJDK", - "Microsoft.VisualStudio.Component.MonoDebugger", "Microsoft.VisualStudio.Component.Merq", "Component.Xamarin.RemotedSimulator", - "Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.TemplateEngine", - "Component.Xamarin", - "Component.Android.SDK32", + "Microsoft.VisualStudio.Component.MonoDebugger", + "Microsoft.VisualStudio.ComponentGroup.Maui.All", + "Component.Android.SDK34", + "Component.Android.SDK33", + "Component.OpenJDK", "Microsoft.VisualStudio.Workload.NetCrossPlat", - "Microsoft.VisualStudio.Workload.NetCoreTools", - "Microsoft.VisualStudio.ComponentGroup.Maui.All" + "Microsoft.VisualStudio.Workload.NetCoreTools" ] } diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.props b/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.props index 89caf9ab0..dc10c396d 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.props +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.props @@ -1,74 +1,24 @@ - - - - - - - enable - enable - - portable - True - - true - - $(NoWarn);CA1416;NU1507;NETSDK1023 - - en - - false - false - false - false - false - - 8.0.7 - 1.10.0.1 - 2.6.0.1 - 1.3.0.1 - - - - - - true - 21.0 - - - - - true - 14.2 - - - - - true - 10.14 - - - - - true - 14.0 - - - - - true - - 10.0.19041.0 - 10.0.19041.0 - win-x86;win-x64;win-arm64 - - - - - + + enable + enable + true + + + $(NoWarn);NU1507;NETSDK1201;NETSDK1023;PRI257 + + + + + 4.1.23 + 6.0.24 + 5.0.13 + 5.2.14 + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.targets b/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.targets index 30332cf7d..f75adf7e4 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.targets +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Build.targets @@ -1,6 +1,2 @@ - - - - - + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Packages.props b/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Packages.props index 1cae68bc8..ebaa716bd 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Packages.props +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/Directory.Packages.props @@ -1,38 +1,14 @@ - - - - - + + + + + + + - \ No newline at end of file + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/AppHead.xaml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/AppHead.xaml deleted file mode 100644 index 0910af3e4..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/AppHead.xaml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/AppHead.xaml.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/AppHead.xaml.cs deleted file mode 100644 index 496306b2f..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/AppHead.xaml.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Microsoft.UI.Xaml; -using Uno.Resizetizer; - -namespace MauiCommunityToolkitApp; - -public sealed partial class AppHead : App -{ - /// - /// Initializes the singleton application object. This is the first line of authored code - /// executed, and as such is the logical equivalent of main() or WinMain(). - /// - public AppHead() - { - this.InitializeComponent(); - } - - /// - /// Invoked when the application is launched normally by the end user. Other entry points - /// will be used such as when the application is launched to open a specific file. - /// - /// Details about the launch request and process. - protected override void OnLaunched(LaunchActivatedEventArgs args) - { - base.OnLaunched(args); - - MainWindow.SetWindowIcon(); - } -} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/MauiCommunityToolkitApp.Base.csproj b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/MauiCommunityToolkitApp.Base.csproj deleted file mode 100644 index 82a9732e3..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/MauiCommunityToolkitApp.Base.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - net8.0 - false - - - - - - - \ No newline at end of file diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/base.props b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/base.props deleted file mode 100644 index 9b39b5c0e..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/base.props +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml index 8ef0da32d..0cd4e8a95 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml @@ -1,13 +1,15 @@  + xmlns:local="clr-namespace:MauiCommunityToolkitApp" + x:Class="MauiCommunityToolkitApp.MauiControls.App"> + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml.cs index b379c2797..551d71754 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml.cs +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/App.xaml.cs @@ -1,9 +1,9 @@ -namespace MauiCommunityToolkitApp.MauiControls; +namespace MauiCommunityToolkitApp.MauiControls; public partial class App : Application { - public App() - { - InitializeComponent(); - } + public App() + { + InitializeComponent(); + } } diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/AppBuilderExtensions.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/AppBuilderExtensions.cs index b743d7387..b18868eed 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/AppBuilderExtensions.cs +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/AppBuilderExtensions.cs @@ -1,15 +1,16 @@ using CommunityToolkit.Maui; -namespace MauiCommunityToolkitApp; +namespace MauiEmbeddingApp; public static class AppBuilderExtensions { - public static MauiAppBuilder UseMauiControls(this MauiAppBuilder builder) => - builder - .UseMauiCommunityToolkit() - .ConfigureFonts(fonts => - { - fonts.AddFont("MauiCommunityToolkitApp/Assets/Fonts/OpenSansRegular.ttf", "OpenSansRegular"); - fonts.AddFont("MauiCommunityToolkitApp/Assets/Fonts/OpenSansSemibold.ttf", "OpenSansSemibold"); - }); -} \ No newline at end of file + public static MauiAppBuilder UseMauiControls(this MauiAppBuilder builder) + => builder + .UseMauiCommunityToolkit() + .UseMauiCommunityToolkit(options => options.SetShouldEnableSnackbarOnWindows(true)) + .ConfigureFonts(fonts => + { + fonts.AddFont("MauiCommunityToolkitApp/Assets/Fonts/OpenSansRegular.ttf", "OpenSansRegular"); + fonts.AddFont("MauiCommunityToolkitApp/Assets/Fonts/OpenSansSemibold.ttf", "OpenSansSemibold"); + }); +} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/EmbeddedControl.xaml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/EmbeddedControl.xaml new file mode 100644 index 000000000..0fc0ce923 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/EmbeddedControl.xaml @@ -0,0 +1,14 @@ + + + + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/EmbeddedControl.xaml.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/EmbeddedControl.xaml.cs new file mode 100644 index 000000000..8644c6153 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/EmbeddedControl.xaml.cs @@ -0,0 +1,9 @@ +namespace MauiCommunityToolkitApp.MauiControls; + +public partial class EmbeddedControl : ContentView +{ + public EmbeddedControl() + { + InitializeComponent(); + } +} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/MauiCommunityToolkitApp.MauiControls.csproj b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/MauiCommunityToolkitApp.MauiControls.csproj index afc3c363f..b5f48dbe7 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/MauiCommunityToolkitApp.MauiControls.csproj +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/MauiCommunityToolkitApp.MauiControls.csproj @@ -1,42 +1,23 @@ - - $(TargetFrameworks);net8.0-windows10.0.19041 - $(TargetFrameworks);net8.0;net8.0-ios;net8.0-android;net8.0-maccatalyst - $(OverrideTargetFrameworks) + + net8.0-windows10.0.19041 + + net8.0; + net8.0-android; + net8.0-ios; + net8.0-maccatalyst; + $(TargetFrameworks); + - true - true - + true + true + - - - - - - - - - AvatarControl.xaml - - - - - - MSBuild:Compile - - - MSBuild:Compile - - - MSBuild:Compile - - - MSBuild:Compile - - - MSBuild:Compile - - + + + + + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/UnoImageConverter.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/UnoImageConverter.cs new file mode 100644 index 000000000..18db9ea36 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.MauiControls/UnoImageConverter.cs @@ -0,0 +1,19 @@ +using System.Globalization; + +namespace MauiCommunityToolkitApp; +public class UnoImageConverter : IValueConverter +{ + public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + { +#if ANDROID + return (value + "").Replace('/','_').Replace('\\','_'); +#else + return value; +#endif + } + + public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } +} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Main.Android.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Main.Android.cs deleted file mode 100644 index e0185e6de..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Main.Android.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Android.App; -using Android.Content; -using Android.OS; -using Android.Runtime; -using Android.Views; -using Android.Widget; -using Com.Nostra13.Universalimageloader.Core; -using Microsoft.UI.Xaml.Media; - -namespace MauiCommunityToolkitApp.Droid; - -[global::Android.App.ApplicationAttribute( - Label = "@string/ApplicationName", - Icon = "@mipmap/iconapp", - LargeHeap = true, - HardwareAccelerated = true, - Theme = "@style/AppTheme" -)] -public class Application : Microsoft.UI.Xaml.NativeApplication -{ - public Application(IntPtr javaReference, JniHandleOwnership transfer) - : base(() => new AppHead(), javaReference, transfer) - { - ConfigureUniversalImageLoader(); - } - - private static void ConfigureUniversalImageLoader() - { - // Create global configuration and initialize ImageLoader with this config - ImageLoaderConfiguration config = new ImageLoaderConfiguration - .Builder(Context) - .Build(); - - ImageLoader.Instance.Init(config); - - ImageSource.DefaultImageLoader = ImageLoader.Instance.LoadImageAsync; - } -} - diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Main.maccatalyst.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Main.maccatalyst.cs deleted file mode 100644 index ee5161634..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Main.maccatalyst.cs +++ /dev/null @@ -1,14 +0,0 @@ -using UIKit; - -namespace MauiCommunityToolkitApp.MacCatalyst; - -public class EntryPoint -{ - // This is the main entry point of the application. - public static void Main(string[] args) - { - // if you want to use a different Application Delegate class from "AppDelegate" - // you can specify it here. - UIApplication.Main(args, null, typeof(AppHead)); - } -} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MauiCommunityToolkitApp.Mobile.csproj b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MauiCommunityToolkitApp.Mobile.csproj deleted file mode 100644 index e29acaa1c..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MauiCommunityToolkitApp.Mobile.csproj +++ /dev/null @@ -1,96 +0,0 @@ - - - net8.0-ios;net8.0-android;net8.0-maccatalyst - $(OverrideTargetFrameworks) - true - Exe - - MauiCommunityToolkitApp - - com.companyname.mauicommunitytoolkitapp - BBBE7CB0-EF36-4CE4-99B2-C6A9E7EDB165 - - 1.0 - 1 - - Android\AndroidManifest.xml - - - - - True - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $(MtouchExtraArgs) --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep - - $(MtouchExtraArgs) --registrar:static - iossimulator-x64 - - - - $(MtouchExtraArgs) --marshal-objectivec-exceptions:disable - - - - - - $(MtouchExtraArgs) --setenv=MONO_GC_PARAMS=soft-heap-limit=512m,nursery-size=64m,evacuation-threshold=66,major=marksweep,concurrent-sweep - - $(MtouchExtraArgs) --registrar:static - - false - maccatalyst-x64 - - - - $(MtouchExtraArgs) --marshal-objectivec-exceptions:disable - - - - - - - - - diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Main.iOS.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Main.iOS.cs deleted file mode 100644 index 1ae8e394f..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Main.iOS.cs +++ /dev/null @@ -1,14 +0,0 @@ -using UIKit; - -namespace MauiCommunityToolkitApp.iOS; - -public class EntryPoint -{ - // This is the main entry point of the application. - public static void Main(string[] args) - { - // if you want to use a different Application Delegate class from "AppDelegate" - // you can specify it here. - UIApplication.Main(args, null, typeof(AppHead)); - } -} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/MauiCommunityToolkitApp.Windows.csproj b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/MauiCommunityToolkitApp.Windows.csproj deleted file mode 100644 index ff0696f25..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/MauiCommunityToolkitApp.Windows.csproj +++ /dev/null @@ -1,85 +0,0 @@ - - - WinExe - net8.0-windows10.0.19041.0 - 10.0.19041.0 - MauiCommunityToolkitApp.Windows - app.manifest - x86;x64;arm64 - win-x86;win-x64;win-arm64 - - win-$(Platform).pubxml - true - true - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Package.appxmanifest b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Package.appxmanifest deleted file mode 100644 index 466692e5a..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Package.appxmanifest +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - MauiCommunityToolkitApp - MauiCommunityToolkitApp - - - - - - - - - - - - - - - - - - - - - - - diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/launchsettings.json b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/launchsettings.json deleted file mode 100644 index 8c1ba4877..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/launchsettings.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "profiles": { - "MauiCommunityToolkitApp.Windows (Package)": { - "commandName": "MsixPackage" - }, - "MauiCommunityToolkitApp.Windows (Unpackaged)": { - "commandName": "Project" - } - } -} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Resources.lang-en-us.resw b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Resources.lang-en-us.resw deleted file mode 100644 index fad04be56..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Resources.lang-en-us.resw +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Hello World! - - \ No newline at end of file diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/app.manifest b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/app.manifest deleted file mode 100644 index da5c87752..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/app.manifest +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - true/PM - PerMonitorV2, PerMonitor - - - diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.sln b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.sln index 1331bb22f..a90efbddc 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.sln +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.sln @@ -1,221 +1,44 @@ + Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 -VisualStudioVersion = 17.2.32210.308 -MinimumVisualStudioVersion = 15.0.26124.0 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Source", "Source", "{D26D59B7-A2D3-451E-AE4B-74036DD82C5A}" +VisualStudioVersion = 17.9.34728.123 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MauiCommunityToolkitApp", "MauiCommunityToolkitApp\MauiCommunityToolkitApp.csproj", "{BDBC5F70-271F-47E5-B19B-C9584D77BA3D}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Platforms", "Platforms", "{5BB4B2E6-662B-4DCB-9037-1FC755443186}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MauiCommunityToolkitApp.MauiControls", "MauiCommunityToolkitApp.MauiControls\MauiCommunityToolkitApp.MauiControls.csproj", "{B8694B90-C642-43B8-950D-2DD8E207EBCD}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiCommunityToolkitApp", "MauiCommunityToolkitApp\MauiCommunityToolkitApp.csproj", "{A0422F06-8022-43A5-A998-FCE18CBC7461}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiCommunityToolkitApp.Base", "MauiCommunityToolkitApp.Base\MauiCommunityToolkitApp.Base.csproj", "{2189102C-8698-4760-A2C5-ADED686F84E2}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiCommunityToolkitApp.Mobile", "MauiCommunityToolkitApp.Mobile\MauiCommunityToolkitApp.Mobile.csproj", "{34E158E0-CECC-4EF1-9935-1E9CB383D059}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiCommunityToolkitApp.Windows", "MauiCommunityToolkitApp.Windows\MauiCommunityToolkitApp.Windows.csproj", "{8560C1A6-151A-4839-965B-10A73AD6404D}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MauiCommunityToolkitApp.MauiControls", "MauiCommunityToolkitApp.MauiControls\MauiCommunityToolkitApp.MauiControls.csproj", "{A5214153-5E11-438F-9EF3-0AD2A79B6CC4}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{BADA71DC-7FFD-4EDC-9F28-FB74AEADC713}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{04D10DF8-DB0E-4847-8BF7-99B30AB6BA0C}" ProjectSection(SolutionItems) = preProject .gitignore = .gitignore Directory.Build.props = Directory.Build.props Directory.Build.targets = Directory.Build.targets Directory.Packages.props = Directory.Packages.props - solution-config.props.sample = solution-config.props.sample + global.json = global.json EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU - Debug|ARM = Debug|ARM - Debug|ARM64 = Debug|ARM64 - Debug|iPhone = Debug|iPhone - Debug|iPhoneSimulator = Debug|iPhoneSimulator - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU - Release|ARM = Release|ARM - Release|ARM64 = Release|ARM64 - Release|iPhone = Release|iPhone - Release|iPhoneSimulator = Release|iPhoneSimulator - Release|x64 = Release|x64 - Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|ARM.ActiveCfg = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|ARM.Build.0 = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|ARM64.Build.0 = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|iPhone.Build.0 = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|x64.ActiveCfg = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|x64.Build.0 = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|x86.ActiveCfg = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Debug|x86.Build.0 = Debug|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|Any CPU.Build.0 = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|ARM.ActiveCfg = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|ARM.Build.0 = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|ARM64.ActiveCfg = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|ARM64.Build.0 = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|iPhone.ActiveCfg = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|iPhone.Build.0 = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|x64.ActiveCfg = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|x64.Build.0 = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|x86.ActiveCfg = Release|Any CPU - {A0422F06-8022-43A5-A998-FCE18CBC7461}.Release|x86.Build.0 = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|ARM.ActiveCfg = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|ARM.Build.0 = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|ARM64.Build.0 = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|iPhone.Build.0 = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|x64.ActiveCfg = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|x64.Build.0 = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|x86.ActiveCfg = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Debug|x86.Build.0 = Debug|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|Any CPU.Build.0 = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|ARM.ActiveCfg = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|ARM.Build.0 = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|ARM64.ActiveCfg = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|ARM64.Build.0 = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|iPhone.ActiveCfg = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|iPhone.Build.0 = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|x64.ActiveCfg = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|x64.Build.0 = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|x86.ActiveCfg = Release|Any CPU - {2189102C-8698-4760-A2C5-ADED686F84E2}.Release|x86.Build.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|Any CPU.Build.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|ARM.ActiveCfg = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|ARM.Build.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|ARM.Deploy.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|ARM64.Build.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|ARM64.Deploy.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|iPhone.Build.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|iPhone.Deploy.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|x64.ActiveCfg = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|x64.Build.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|x64.Deploy.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|x86.ActiveCfg = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|x86.Build.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Debug|x86.Deploy.0 = Debug|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|Any CPU.ActiveCfg = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|Any CPU.Build.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|Any CPU.Deploy.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|ARM.ActiveCfg = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|ARM.Build.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|ARM.Deploy.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|ARM64.ActiveCfg = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|ARM64.Build.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|ARM64.Deploy.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|iPhone.ActiveCfg = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|iPhone.Build.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|iPhone.Deploy.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|x64.ActiveCfg = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|x64.Build.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|x64.Deploy.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|x86.ActiveCfg = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|x86.Build.0 = Release|Any CPU - {34E158E0-CECC-4EF1-9935-1E9CB383D059}.Release|x86.Deploy.0 = Release|Any CPU - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|Any CPU.ActiveCfg = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|Any CPU.Build.0 = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|Any CPU.Deploy.0 = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|ARM.ActiveCfg = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|ARM.Build.0 = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|ARM.Deploy.0 = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|ARM64.ActiveCfg = Debug|arm64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|ARM64.Build.0 = Debug|arm64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|ARM64.Deploy.0 = Debug|arm64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|iPhone.ActiveCfg = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|iPhone.Build.0 = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|iPhone.Deploy.0 = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|iPhoneSimulator.ActiveCfg = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|iPhoneSimulator.Build.0 = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|iPhoneSimulator.Deploy.0 = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|x64.ActiveCfg = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|x64.Build.0 = Debug|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|x86.ActiveCfg = Debug|x86 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Debug|x86.Build.0 = Debug|x86 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|Any CPU.ActiveCfg = Release|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|Any CPU.Build.0 = Release|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|Any CPU.Deploy.0 = Release|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|ARM.ActiveCfg = Release|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|ARM.Build.0 = Release|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|ARM64.ActiveCfg = Release|arm64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|ARM64.Build.0 = Release|arm64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|iPhone.ActiveCfg = Release|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|iPhone.Build.0 = Release|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|iPhoneSimulator.ActiveCfg = Release|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|iPhoneSimulator.Build.0 = Release|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|x64.ActiveCfg = Release|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|x64.Build.0 = Release|x64 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|x86.ActiveCfg = Release|x86 - {8560C1A6-151A-4839-965B-10A73AD6404D}.Release|x86.Build.0 = Release|x86 - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|ARM.ActiveCfg = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|ARM.Build.0 = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|ARM64.Build.0 = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|iPhone.Build.0 = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|x64.ActiveCfg = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|x64.Build.0 = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|x86.ActiveCfg = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Debug|x86.Build.0 = Debug|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|Any CPU.Build.0 = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|ARM.ActiveCfg = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|ARM.Build.0 = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|ARM64.ActiveCfg = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|ARM64.Build.0 = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|iPhone.ActiveCfg = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|iPhone.Build.0 = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|x64.ActiveCfg = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|x64.Build.0 = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|x86.ActiveCfg = Release|Any CPU - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4}.Release|x86.Build.0 = Release|Any CPU + {BDBC5F70-271F-47E5-B19B-C9584D77BA3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BDBC5F70-271F-47E5-B19B-C9584D77BA3D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BDBC5F70-271F-47E5-B19B-C9584D77BA3D}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {BDBC5F70-271F-47E5-B19B-C9584D77BA3D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BDBC5F70-271F-47E5-B19B-C9584D77BA3D}.Release|Any CPU.Build.0 = Release|Any CPU + {BDBC5F70-271F-47E5-B19B-C9584D77BA3D}.Release|Any CPU.Deploy.0 = Release|Any CPU + {B8694B90-C642-43B8-950D-2DD8E207EBCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B8694B90-C642-43B8-950D-2DD8E207EBCD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B8694B90-C642-43B8-950D-2DD8E207EBCD}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {B8694B90-C642-43B8-950D-2DD8E207EBCD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B8694B90-C642-43B8-950D-2DD8E207EBCD}.Release|Any CPU.Build.0 = Release|Any CPU + {B8694B90-C642-43B8-950D-2DD8E207EBCD}.Release|Any CPU.Deploy.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {5BB4B2E6-662B-4DCB-9037-1FC755443186} = {D26D59B7-A2D3-451E-AE4B-74036DD82C5A} - {A0422F06-8022-43A5-A998-FCE18CBC7461} = {D26D59B7-A2D3-451E-AE4B-74036DD82C5A} - {2189102C-8698-4760-A2C5-ADED686F84E2} = {5BB4B2E6-662B-4DCB-9037-1FC755443186} - {34E158E0-CECC-4EF1-9935-1E9CB383D059} = {5BB4B2E6-662B-4DCB-9037-1FC755443186} - {8560C1A6-151A-4839-965B-10A73AD6404D} = {5BB4B2E6-662B-4DCB-9037-1FC755443186} - {A5214153-5E11-438F-9EF3-0AD2A79B6CC4} = {D26D59B7-A2D3-451E-AE4B-74036DD82C5A} - EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {9A4A4227-F715-4B66-8FA7-1837ADB749B1} + SolutionGuid = {324488F3-07E6-4AB8-994B-83011B540FA4} EndGlobalSection EndGlobal diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.xaml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.xaml new file mode 100644 index 000000000..f53faf311 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.xaml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.xaml.cs similarity index 61% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.cs rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.xaml.cs index 7d6dc7d4c..4d152a67a 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.cs +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/App.xaml.cs @@ -1,17 +1,30 @@ -namespace MauiCommunityToolkitApp; +using MauiEmbeddingApp; +using Uno.Resizetizer; -public class App : Application +namespace MauiCommunityToolkitApp; +public partial class App : Application { + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + } + protected Window? MainWindow { get; private set; } protected IHost? Host { get; private set; } - protected async override void OnLaunched(LaunchActivatedEventArgs args) + protected override async void OnLaunched(LaunchActivatedEventArgs args) { var builder = this.CreateBuilder(args) - // Add navigation support for toolkit controls such as TabBar and NavigationView - .UseToolkitNavigation() - .UseMauiEmbedding(maui => maui - .UseMauiControls()) + // Add navigation support for toolkit controls such as TabBar and NavigationView + .UseToolkitNavigation() +#if MAUI_EMBEDDING + .UseMauiEmbedding(maui => maui + .UseMauiControls()) +#endif .Configure(host => host #if DEBUG // Switch to Development environment when running in DEBUG @@ -41,13 +54,12 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args) //logBuilder.XamlBindingLogLevel(LogLevel.Debug); //// Binder memory references tracking //logBuilder.BinderMemoryReferenceLogLevel(LogLevel.Debug); - //// RemoteControl and HotReload related + //// DevServer and HotReload related //logBuilder.HotReloadCoreLogLevel(LogLevel.Information); //// Debug JS interop //logBuilder.WebAssemblyLogLevel(LogLevel.Debug); }, enableUnoLogging: true) - .UseSerilog(consoleLoggingEnabled: true, fileLoggingEnabled: true) .UseConfiguration(configure: configBuilder => configBuilder .EmbeddedSource() @@ -55,31 +67,47 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args) ) // Enable localization (see appsettings.json for supported languages) .UseLocalization() + // Register Json serializers (ISerializer and ISerializer) + .UseSerialization((context, services) => services + .AddContentSerializer(context) + ) + .UseHttp((context, services) => services + // Register HttpClient +#if DEBUG + // DelegatingHandler will be automatically injected into Refit Client + .AddTransient() +#endif + ) .ConfigureServices((context, services) => { // TODO: Register your services //services.AddSingleton(); }) - .UseNavigation(RegisterRoutes) + .UseNavigation(ReactiveViewModelMappings.ViewModelMappings, RegisterRoutes) ); MainWindow = builder.Window; +#if DEBUG + MainWindow.EnableHotReload(); +#endif + MainWindow.SetWindowIcon(); + Host = await builder.NavigateAsync(); } private static void RegisterRoutes(IViewRegistry views, IRouteRegistry routes) { views.Register( - new ViewMap(ViewModel: typeof(ShellViewModel)), - new ViewMap() + new ViewMap(ViewModel: typeof(ShellModel)), + new ViewMap() ); routes.Register( - new RouteMap("", View: views.FindByViewModel(), - Nested: new RouteMap[] - { - new RouteMap("Main", View: views.FindByViewModel()), - } + new RouteMap("", View: views.FindByViewModel(), + Nested: + [ + new ("Main", View: views.FindByViewModel()), + ] ) ); } diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/AppResources.xaml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/AppResources.xaml deleted file mode 100644 index 09c63fa0c..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/AppResources.xaml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Icons/iconapp.svg b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/icon.svg similarity index 96% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Icons/iconapp.svg rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/icon.svg index f621ea597..a15af53aa 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Icons/iconapp.svg +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/icon.svg @@ -5,7 +5,7 @@ viewBox="0 0 456 456" version="1.1" id="svg453" - sodipodi:docname="iconapp.old.svg" + sodipodi:docname="icon.svg" inkscape:version="1.2 (dc2aedaf03, 2022-05-15)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Icons/appconfig.svg b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/icon_foreground.svg similarity index 99% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Icons/appconfig.svg rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/icon_foreground.svg index 3106b1a8b..8ffc41ae3 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Icons/appconfig.svg +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/icon_foreground.svg @@ -5,7 +5,7 @@ viewBox="0 0 50.369617 49.826836" version="1.1" id="svg151" - sodipodi:docname="appconfig.svg" + sodipodi:docname="icon_foreground.svg" inkscape:version="1.2 (dc2aedaf03, 2022-05-15)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/back.svg b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Images/back.svg similarity index 100% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Icons/back.svg rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Images/back.svg diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/SharedAssets.md b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/SharedAssets.md index 6d84997f1..1b84a74ab 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/SharedAssets.md +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/SharedAssets.md @@ -1,14 +1,16 @@ -See documentation about assets here : https://github.com/unoplatform/uno/blob/master/doc/articles/features/working-with-assets.md +# Shared Assets -# Here is a cheat sheet: +See documentation about assets here: https://github.com/unoplatform/uno/blob/master/doc/articles/features/working-with-assets.md + +## Here is a cheat sheet 1. Add the image file to the `Assets` directory of a shared project. 2. Set the build action to `Content`. 3. (Recommended) Provide an asset for various scales/dpi -## Examples +### Examples -``` +```text \Assets\Images\logo.scale-100.png \Assets\Images\logo.scale-200.png \Assets\Images\logo.scale-400.png @@ -18,17 +20,13 @@ See documentation about assets here : https://github.com/unoplatform/uno/blob/ma \Assets\Images\scale-400\logo.png ``` -## Table of scales - -| Scale | UWP | iOS | Android | -|-------|:-----------:|:--------:|:-------:| -| `100` | scale-100 | @1x | mdpi | -| `125` | scale-125 | N/A | N/A | -| `150` | scale-150 | N/A | hdpi | -| `200` | scale-200 | @2x | xhdpi | -| `300` | scale-300 | @3x | xxhdpi | -| `400` | scale-400 | N/A | xxxhdpi | - - - +### Table of scales +| Scale | WinUI | iOS/MacCatalyst | Android | +|-------|:-----------:|:---------------:|:-------:| +| `100` | scale-100 | @1x | mdpi | +| `125` | scale-125 | N/A | N/A | +| `150` | scale-150 | N/A | hdpi | +| `200` | scale-200 | @2x | xhdpi | +| `300` | scale-300 | @3x | xxhdpi | +| `400` | scale-400 | N/A | xxxhdpi | diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Splash/splash_screen.svg b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Splash/splash_screen.svg similarity index 99% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Splash/splash_screen.svg rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Splash/splash_screen.svg index 3106b1a8b..8ffc41ae3 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Base/Splash/splash_screen.svg +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Assets/Splash/splash_screen.svg @@ -5,7 +5,7 @@ viewBox="0 0 50.369617 49.826836" version="1.1" id="svg151" - sodipodi:docname="appconfig.svg" + sodipodi:docname="icon_foreground.svg" inkscape:version="1.2 (dc2aedaf03, 2022-05-15)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Business/Models/AppConfig.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Business/Models/AppConfig.cs deleted file mode 100644 index 5a0b04155..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Business/Models/AppConfig.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace MauiCommunityToolkitApp.Business.Models; - -public record AppConfig -{ - public string? Environment { get; init; } -} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Business/Models/Entity.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Business/Models/Entity.cs deleted file mode 100644 index e415e37c4..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Business/Models/Entity.cs +++ /dev/null @@ -1,3 +0,0 @@ -namespace MauiCommunityToolkitApp.Business.Models; - -public record Entity(string Name); diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/GlobalUsings.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/GlobalUsings.cs index 11339b9be..a14a7ae1e 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/GlobalUsings.cs +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/GlobalUsings.cs @@ -1,21 +1,13 @@ -global using System.Collections.Immutable; -global using System.Windows.Input; +global using System.Collections.Immutable; global using Microsoft.Extensions.DependencyInjection; -global using Windows.Networking.Connectivity; -global using Windows.Storage; global using Microsoft.Extensions.Hosting; global using Microsoft.Extensions.Localization; global using Microsoft.Extensions.Logging; -global using Microsoft.UI.Xaml; -global using Microsoft.UI.Xaml.Controls; -global using Microsoft.UI.Xaml.Media; -global using Microsoft.UI.Xaml.Navigation; global using Microsoft.Extensions.Options; -global using MauiCommunityToolkitApp.Business.Models; -global using MauiCommunityToolkitApp.Infrastructure; +global using MauiCommunityToolkitApp.Models; global using MauiCommunityToolkitApp.Presentation; +global using MauiCommunityToolkitApp.Services.Endpoints; +#if MAUI_EMBEDDING global using MauiCommunityToolkitApp.MauiControls; -global using Windows.ApplicationModel; +#endif global using ApplicationExecutionState = Windows.ApplicationModel.Activation.ApplicationExecutionState; -global using CommunityToolkit.Mvvm.ComponentModel; -global using CommunityToolkit.Mvvm.Input; diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Infrastructure/DebugHandler.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Infrastructure/DebugHandler.cs deleted file mode 100644 index 2637fb7d9..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Infrastructure/DebugHandler.cs +++ /dev/null @@ -1,41 +0,0 @@ -namespace MauiCommunityToolkitApp.Infrastructure; - -internal class DebugHttpHandler : DelegatingHandler -{ - private readonly ILogger _logger; - - public DebugHttpHandler(ILogger logger, HttpMessageHandler? innerHandler = null) - : base(innerHandler ?? new HttpClientHandler()) - { - _logger = logger; - } - - protected async override Task SendAsync( - HttpRequestMessage request, - CancellationToken cancellationToken) - { - var response = await base.SendAsync(request, cancellationToken); -#if DEBUG - if(!response.IsSuccessStatusCode) - { - _logger.LogDebugMessage("Unsuccessful API Call"); - if(request.RequestUri is not null) - _logger.LogDebugMessage($"{request.RequestUri} ({request.Method})"); - foreach((var key, var values) in request.Headers.ToDictionary(x => x.Key, x => string.Join(", ", x.Value))) - { - _logger.LogDebugMessage($"{key}: {values}"); - } - - var content = request.Content is not null ? await request.Content.ReadAsStringAsync() : null; - if(!string.IsNullOrEmpty(content)) - { - _logger.LogDebugMessage(content); - } - - // Uncomment to automatically break when an API call fails while debugging - // System.Diagnostics.Debugger.Break(); - } -#endif - return response; - } -} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/MauiCommunityToolkitApp.csproj b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/MauiCommunityToolkitApp.csproj index 0a1be91b4..f7da22fc0 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/MauiCommunityToolkitApp.csproj +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/MauiCommunityToolkitApp.csproj @@ -1,90 +1,60 @@ - - - $(TargetFrameworks);net8.0-windows10.0.19041 - $(TargetFrameworks);net8.0;net8.0-ios;net8.0-android;net8.0-maccatalyst - $(OverrideTargetFrameworks) - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + net8.0-android; + net8.0-ios; + net8.0-maccatalyst; + net8.0-windows10.0.19041; + + + Exe + true + + + MauiCommunityToolkitApp + + com.companyname.MauiCommunityToolkitApp + + 1.0 + 1 + + + + + + Hosting; + Toolkit; + Logging; + MauiEmbedding; + MVUX; + Configuration; + Http; + Serialization; + Localization; + Navigation; + + + + - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - %(Filename) - - - - - - - - - - - - - - - - diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Models/AppConfig.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Models/AppConfig.cs new file mode 100644 index 000000000..98a5cb55c --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Models/AppConfig.cs @@ -0,0 +1,6 @@ +namespace MauiCommunityToolkitApp.Models; + +public record AppConfig +{ + public string? Environment { get; init; } +} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Models/Entity.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Models/Entity.cs new file mode 100644 index 000000000..65e2e34c0 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Models/Entity.cs @@ -0,0 +1,3 @@ +namespace MauiCommunityToolkitApp.Models; + +public record Entity(string Name); diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Package.appxmanifest b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Package.appxmanifest new file mode 100644 index 000000000..3c5a0ee32 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Package.appxmanifest @@ -0,0 +1,62 @@ + + + + + + + + MauiCommunityToolkitApp + MauiCommunityToolkitApp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/AndroidManifest.xml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/AndroidManifest.xml similarity index 100% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/AndroidManifest.xml rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/AndroidManifest.xml diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Assets/AboutAssets.txt b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Assets/AboutAssets.txt similarity index 100% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Assets/AboutAssets.txt rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Assets/AboutAssets.txt diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Main.Android.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Main.Android.cs new file mode 100644 index 000000000..baaf14466 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Main.Android.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Android.App; +using Android.Content; +using Android.OS; +using Android.Runtime; +using Android.Views; +using Android.Widget; +using Com.Nostra13.Universalimageloader.Core; +using Microsoft.UI.Xaml.Media; + +namespace MauiCommunityToolkitApp.Droid; +[global::Android.App.ApplicationAttribute( + Label = "@string/ApplicationName", + Icon = "@mipmap/icon", + LargeHeap = true, + HardwareAccelerated = true, + Theme = "@style/AppTheme" +)] +public class Application : Microsoft.UI.Xaml.NativeApplication +{ + public Application(IntPtr javaReference, JniHandleOwnership transfer) + : base(() => new App(), javaReference, transfer) + { + ConfigureUniversalImageLoader(); + } + + private static void ConfigureUniversalImageLoader() + { + // Create global configuration and initialize ImageLoader with this config + ImageLoaderConfiguration config = new ImageLoaderConfiguration + .Builder(Context) + .Build(); + + ImageLoader.Instance.Init(config); + + ImageSource.DefaultImageLoader = ImageLoader.Instance.LoadImageAsync; + } +} + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/MainActivity.Android.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/MainActivity.Android.cs similarity index 56% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/MainActivity.Android.cs rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/MainActivity.Android.cs index fdadb41a8..537f20ee0 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/MainActivity.Android.cs +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/MainActivity.Android.cs @@ -1,16 +1,15 @@ using Android.App; -using Android.Widget; -using Android.OS; using Android.Content.PM; +using Android.OS; using Android.Views; +using Android.Widget; namespace MauiCommunityToolkitApp.Droid; - [Activity( - MainLauncher = true, - ConfigurationChanges = global::Uno.UI.ActivityHelper.AllConfigChanges, - WindowSoftInputMode = SoftInput.AdjustNothing | SoftInput.StateHidden + MainLauncher = true, + ConfigurationChanges = global::Uno.UI.ActivityHelper.AllConfigChanges, + WindowSoftInputMode = SoftInput.AdjustNothing | SoftInput.StateHidden )] public class MainActivity : Microsoft.UI.Xaml.ApplicationActivity { -} \ No newline at end of file +} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Resources/AboutResources.txt b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Resources/AboutResources.txt similarity index 100% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Resources/AboutResources.txt rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Resources/AboutResources.txt diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Resources/values/Strings.xml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Resources/values/Strings.xml similarity index 100% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Resources/values/Strings.xml rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Resources/values/Strings.xml diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Resources/values/Styles.xml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Resources/values/Styles.xml similarity index 100% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/Resources/values/Styles.xml rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/Resources/values/Styles.xml diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/environment.conf b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/environment.conf similarity index 100% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/Android/environment.conf rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Android/environment.conf diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Entitlements.plist b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/MacCatalyst/Entitlements.plist similarity index 100% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Entitlements.plist rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/MacCatalyst/Entitlements.plist diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Info.plist b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/MacCatalyst/Info.plist similarity index 93% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Info.plist rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/MacCatalyst/Info.plist index 5a4053db4..1bb02ddcd 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/MacCatalyst/Info.plist +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/MacCatalyst/Info.plist @@ -15,7 +15,7 @@ UIInterfaceOrientationLandscapeRight XSAppIconAssets - Assets.xcassets/iconapp.appiconset + Assets.xcassets/icon.appiconset + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/PublishProfiles/win-x64.pubxml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Windows/Properties/PublishProfiles/win-x64.pubxml similarity index 67% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/PublishProfiles/win-x64.pubxml rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Windows/Properties/PublishProfiles/win-x64.pubxml index 856e8539a..4fea954ee 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/PublishProfiles/win-x64.pubxml +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Windows/Properties/PublishProfiles/win-x64.pubxml @@ -12,9 +12,11 @@ https://go.microsoft.com/fwlink/?LinkID=208121. False False True - + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/PublishProfiles/win-x86.pubxml b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Windows/Properties/PublishProfiles/win-x86.pubxml similarity index 67% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/PublishProfiles/win-x86.pubxml rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Windows/Properties/PublishProfiles/win-x86.pubxml index 9b21ba042..928cb25eb 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Windows/Properties/PublishProfiles/win-x86.pubxml +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/Windows/Properties/PublishProfiles/win-x86.pubxml @@ -12,9 +12,11 @@ https://go.microsoft.com/fwlink/?LinkID=208121. False False True - + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Entitlements.plist b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Entitlements.plist similarity index 100% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Entitlements.plist rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Entitlements.plist diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Info.plist b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Info.plist similarity index 95% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Info.plist rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Info.plist index 981d8e728..ea3dcb4bc 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Info.plist +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Info.plist @@ -30,7 +30,7 @@ UIViewControllerBasedStatusBarAppearance XSAppIconAssets - Assets.xcassets/iconapp.appiconset + Assets.xcassets/icon.appiconset UIApplicationSupportsIndirectInputEvents diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Main.iOS.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Main.iOS.cs new file mode 100644 index 000000000..8137ac223 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Main.iOS.cs @@ -0,0 +1,13 @@ +using UIKit; + +namespace MauiCommunityToolkitApp.iOS; +public class EntryPoint +{ + // This is the main entry point of the application. + public static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, typeof(App)); + } +} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json similarity index 100% rename from UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp.Mobile/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json rename to UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/Media.xcassets/LaunchImages.launchimage/Contents.json diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/PrivacyInfo.xcprivacy b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/PrivacyInfo.xcprivacy new file mode 100644 index 000000000..902abb059 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Platforms/iOS/PrivacyInfo.xcprivacy @@ -0,0 +1,41 @@ + + + + + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + C617.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryDiskSpace + NSPrivacyAccessedAPITypeReasons + + E174.1 + + + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/DrawingViewViewModel.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/DrawingViewViewModel.cs index aa02c7db6..1e64bcded 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/DrawingViewViewModel.cs +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/DrawingViewViewModel.cs @@ -1,4 +1,6 @@ -namespace MauiCommunityToolkitApp.Presentation; +using CommunityToolkit.Mvvm.ComponentModel; + +namespace MauiCommunityToolkitApp.Presentation; partial class DrawingViewViewModel : ObservableObject { [ObservableProperty] diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainModel.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainModel.cs new file mode 100644 index 000000000..cf47f9700 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainModel.cs @@ -0,0 +1,34 @@ +namespace MauiCommunityToolkitApp.Presentation; + +public partial record MainModel +{ + private INavigator _navigator; + + public MainModel( + IStringLocalizer localizer, + IOptions appInfo, + INavigator navigator) + { + _navigator = navigator; + Title = "Main"; + Title += $" - {localizer["ApplicationName"]}"; + Title += $" - {appInfo?.Value?.Environment}"; + } + + public string? Title { get; } + + public IState Name => State.Value(this, () => string.Empty); + + public IState Count => State.Value(this, () => 0); + + public IFeed CounterText => Count.Select(_currentCount => _currentCount switch + { + 0 => "Press Me", + 1 => "Pressed Once!", + _ => $"Pressed {_currentCount} times!" + }); + + public async Task Counter(CancellationToken ct) => + await Count.Update(x => ++x, ct); + +} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainViewModel.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainViewModel.cs index 511a2372c..d73d53a62 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainViewModel.cs +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/MainViewModel.cs @@ -1,3 +1,5 @@ +using CommunityToolkit.Mvvm.ComponentModel; + namespace MauiCommunityToolkitApp.Presentation; public partial class MainViewModel : ObservableObject diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/ShellModel.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/ShellModel.cs new file mode 100644 index 000000000..76d59acc5 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Presentation/ShellModel.cs @@ -0,0 +1,18 @@ +namespace MauiCommunityToolkitApp.Presentation; + +public class ShellModel +{ + private readonly INavigator _navigator; + + public ShellModel( + INavigator navigator) + { + _navigator = navigator; + _ = Start(); + } + + public async Task Start() + { + await _navigator.NavigateViewModelAsync(this); + } +} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Properties/launchSettings.json b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Properties/launchSettings.json new file mode 100644 index 000000000..3f36bb610 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Properties/launchSettings.json @@ -0,0 +1,21 @@ +{ + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:8080", + "sslPort": 0 + } + }, + "profiles": { + // Note: In order to select this profile, you'll need to comment the `Packaged` profile below until this is fixed: https://aka.platform.uno/wasdk-maui-debug-profile-issue + "MauiCommunityToolkitApp (WinAppSDK Unpackaged)": { + "commandName": "Project", + "compatibleTargetFramework": "windows" + }, + "MauiCommunityToolkitApp (WinAppSDK Packaged)": { + "commandName": "MsixPackage", + "compatibleTargetFramework": "windows" + }, + } +} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/ReadMe.md b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/ReadMe.md new file mode 100644 index 000000000..93482da23 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/ReadMe.md @@ -0,0 +1,7 @@ +# Getting Started + +Welcome to the Uno Platform! + +To discover how to get started with your new app: https://aka.platform.uno/get-started + +For more information on how to use the Uno.Sdk or upgrade Uno Platform packages in your solution: https://aka.platform.uno/using-uno-sdk \ No newline at end of file diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Services/Endpoints/DebugHandler.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Services/Endpoints/DebugHandler.cs new file mode 100644 index 000000000..f201a1187 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/Services/Endpoints/DebugHandler.cs @@ -0,0 +1,44 @@ +namespace MauiCommunityToolkitApp.Services.Endpoints; + +internal class DebugHttpHandler : DelegatingHandler +{ + private readonly ILogger _logger; + + public DebugHttpHandler(ILogger logger, HttpMessageHandler? innerHandler = null) + : base(innerHandler ?? new HttpClientHandler()) + { + _logger = logger; + } + + protected async override Task SendAsync( + HttpRequestMessage request, + CancellationToken cancellationToken) + { + var response = await base.SendAsync(request, cancellationToken); +#if DEBUG + if (!response.IsSuccessStatusCode) + { + _logger.LogDebugMessage("Unsuccessful API Call"); + if (request.RequestUri is not null) + { + _logger.LogDebugMessage($"{request.RequestUri} ({request.Method})"); + } + + foreach ((var key, var values) in request.Headers.ToDictionary(x => x.Key, x => string.Join(", ", x.Value))) + { + _logger.LogDebugMessage($"{key}: {values}"); + } + + var content = request.Content is not null ? await request.Content.ReadAsStringAsync() : null; + if (!string.IsNullOrEmpty(content)) + { + _logger.LogDebugMessage(content); + } + + // Uncomment to automatically break when an API call fails while debugging + // System.Diagnostics.Debugger.Break(); + } +#endif + return response; + } +} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/ViewModels/MainViewModel.cs b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/ViewModels/MainViewModel.cs new file mode 100644 index 000000000..51bec95fe --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/ViewModels/MainViewModel.cs @@ -0,0 +1,12 @@ +using CommunityToolkit.Mvvm.ComponentModel; + +namespace MauiEmbeddingApp.ViewModels; + +partial class MainViewModel : ObservableObject +{ + [ObservableProperty] + bool isMultiLineModeEnabled; + + [ObservableProperty] + bool shouldCleanOnFinish; +} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/app.manifest b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/app.manifest new file mode 100644 index 000000000..0977b39a5 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/app.manifest @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + true/PM + PerMonitorV2, PerMonitor + + + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/appsettings.development.json b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/appsettings.development.json index a692bed41..2cf8df520 100644 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/appsettings.development.json +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/MauiCommunityToolkitApp/appsettings.development.json @@ -3,7 +3,7 @@ "Environment": "Development" }, "ApiClient": { - "Url": "https://localhost:5001", + "Url": "https://localhost:5002", "UseNativeHandler": true } } diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/ReadMe.md b/UI/MauiEmbedding/MauiCommunityToolkitApp/ReadMe.md deleted file mode 100644 index bd2e1dcd0..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/ReadMe.md +++ /dev/null @@ -1,27 +0,0 @@ -# .NET MAUI Embedding Sample App - .NET MAUI Community Toolkit - -This sample app embeds the [.NET MAUI Community Toolkit](https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/) in an Uno Platform application. - -For more information on how to use the .NET MAUI Community Toolkit in an Uno Platform application via .NET MAUI Embedding, please visit [our documentation here](https://aka.platform.uno/maui-embedding-sample-app-mauicommunitytoolkit). - -.NET MAUI Community Toolkit Demo sample - -## List of controls used in this sample -- Avatar -- DrawingView -- Exdpander -- Toast -- Snackbar - -## Sample App - Examples - -### Windows - - ![.NET MAUI Community Toolkit Sample App running on Windows](doc/assets/CommunityToolkit_Windows.png) - -### Android - - ![.NET MAUI Community Toolkit Sample App running on Android](doc/assets/CommunityToolkit_Android.png) - -## Sample App - Issues -If you encounter any issues with this sample, please open an issue [here](https://github.com/unoplatform/uno/issues). \ No newline at end of file diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/CommunityToolkit_Android.png b/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/CommunityToolkit_Android.png deleted file mode 100644 index 96ea01b3c..000000000 Binary files a/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/CommunityToolkit_Android.png and /dev/null differ diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/CommunityToolkit_Windows.png b/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/CommunityToolkit_Windows.png deleted file mode 100644 index dd6443352..000000000 Binary files a/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/CommunityToolkit_Windows.png and /dev/null differ diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/third-party-sample-dotnetmauicommunitytoolkit.gif b/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/third-party-sample-dotnetmauicommunitytoolkit.gif deleted file mode 100644 index df54dd082..000000000 Binary files a/UI/MauiEmbedding/MauiCommunityToolkitApp/doc/assets/third-party-sample-dotnetmauicommunitytoolkit.gif and /dev/null differ diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/global.json b/UI/MauiEmbedding/MauiCommunityToolkitApp/global.json new file mode 100644 index 000000000..7711a32aa --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/global.json @@ -0,0 +1,6 @@ +{ + // To update the version of Uno please update the version of the Uno.Sdk here. See https://aka.platform.uno/upgrade-uno-packages for more information. + "msbuild-sdks": { + "Uno.Sdk": "5.2.161" + } +} diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/nuget.config b/UI/MauiEmbedding/MauiCommunityToolkitApp/nuget.config new file mode 100644 index 000000000..3242ec407 --- /dev/null +++ b/UI/MauiEmbedding/MauiCommunityToolkitApp/nuget.config @@ -0,0 +1,12 @@ + + + + + + + diff --git a/UI/MauiEmbedding/MauiCommunityToolkitApp/solution-config.props.sample b/UI/MauiEmbedding/MauiCommunityToolkitApp/solution-config.props.sample deleted file mode 100644 index 17e1343de..000000000 --- a/UI/MauiEmbedding/MauiCommunityToolkitApp/solution-config.props.sample +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - -