From 35280f5bedc4c43b2bf42a360546fc11e573bfd7 Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 18 May 2022 09:05:16 +0200 Subject: [PATCH 01/58] installreferrer initial commit --- config.json | 23 ++ .../External-Dependency-Info.txt | 217 ++++++++++++++++++ templates/installreferrer/License.md | 15 ++ templates/installreferrer/Project.cshtml | 70 ++++++ 4 files changed, 325 insertions(+) create mode 100644 templates/installreferrer/External-Dependency-Info.txt create mode 100644 templates/installreferrer/License.md create mode 100644 templates/installreferrer/Project.cshtml diff --git a/config.json b/config.json index 42537b76e..cc1063ecd 100644 --- a/config.json +++ b/config.json @@ -1599,6 +1599,15 @@ "dependencyOnly": false, "templateSet": "reactive-streams" }, + { + "groupId": "com.android.installreferrer", + "artifactId": "installreferrer", + "version": "1.0", + "nugetVersion": "1.0.0", + "nugetId": "Xamarin.Google.Android.Installeferer", + "dependencyOnly": false, + "templateSet": "installreferrer" + }, { "groupId": "com.google.android.gms", "artifactId": "play-services-basement", @@ -1790,6 +1799,20 @@ "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.slnf" } ] + }, + { + "name": "installreferrer", + "mavenRepositoryType": "Google", + "templates": [ + { + "templateFile": "templates/installreferrer/Project.cshtml", + "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.csproj" + }, + { + "templateFile": "source/AndroidXSolutionFilter.cshtml", + "outputFileRule": "generated/{groupid}.{artifactid}/{groupid}.{artifactid}.slnf" + } + ] } ] } diff --git a/templates/installreferrer/External-Dependency-Info.txt b/templates/installreferrer/External-Dependency-Info.txt new file mode 100644 index 000000000..f62fb8981 --- /dev/null +++ b/templates/installreferrer/External-Dependency-Info.txt @@ -0,0 +1,217 @@ +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do not translate or localize + +Xamarin Components for `com.android.installreferrer:installrefererrer` incorporates +third party material from the projects listed below. The original copyright +notice and the license under which Microsoft received such third party +material are set forth below. Microsoft reserves all other rights not +expressly granted, whether by implication, estoppel or otherwise. + +######################################## +# com.android.installreferrer:installrefererrer +# https://developer.android.com/google/play/installreferrer/ +######################################## + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/templates/installreferrer/License.md b/templates/installreferrer/License.md new file mode 100644 index 000000000..62a4af074 --- /dev/null +++ b/templates/installreferrer/License.md @@ -0,0 +1,15 @@ +**Xamarin is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may require or install dependencies which are governed by additional licenses.** + +Note: This component depends on [com.android.installreferrer:installrefererrer](https://maven.google.com/web/index.html?q=installreferrer#com.android.installreferrer:installreferrer), which is subject to the [Apache 2.0](https://developer.android.com/google/play/installreferrer/) + +### Xamarin Component for `com.android.installreferrer:installrefererrer` for Xamarin.Android + +**The MIT License (MIT)** + +Copyright (c) .NET Foundation Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/templates/installreferrer/Project.cshtml b/templates/installreferrer/Project.cshtml new file mode 100644 index 000000000..e55217eec --- /dev/null +++ b/templates/installreferrer/Project.cshtml @@ -0,0 +1,70 @@ + + + MonoAndroid12.0;net6.0-android + true + Annotations + Xamarin.Google.Android.Installeferer + + 0618;0109;0114;0628;0108;0809 + + + + class-parse + XAJavaInterop1 + + + + @(Model.NuGetPackageId) + com.android.installreferrer:installrefererrer for Xamarin.Android + + Xamarin.Android bindings for com.android.installreferrer:installrefererrer + Google Play Store's Install Referrer API to securely retrieve referral content from Google Play + + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + https://go.microsoft.com/fwlink/?linkid=2091414 + https://aka.ms/AAdvoow + true + @(Model.NuGetVersion) + + + + + + + + + + + + @foreach (var art in @Model.MavenArtifacts) { + + + } + + + + @foreach (var dep in @Model.NuGetDependencies) { + if (dep.IsProjectReference) { + + } else { + + } + } + + + + + + + + From 5217dfedac8e9aeac02802a78dcca1f2e10e269d Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 18 May 2022 09:17:28 +0200 Subject: [PATCH 02/58] spellcheck fix --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index cc1063ecd..d44ae289b 100644 --- a/config.json +++ b/config.json @@ -1604,7 +1604,7 @@ "artifactId": "installreferrer", "version": "1.0", "nugetVersion": "1.0.0", - "nugetId": "Xamarin.Google.Android.Installeferer", + "nugetId": "Xamarin.Google.Android.Installeferrer", "dependencyOnly": false, "templateSet": "installreferrer" }, From 6e6f7fc8321f443a31be6153338d385e32ec95ec Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 18 May 2022 09:17:42 +0200 Subject: [PATCH 03/58] metadata initial commit --- .../installreferrer/Additions/Additions.cs | 4 ++++ .../installreferrer/Transforms/EnumFields.xml | 2 ++ .../installreferrer/Transforms/EnumMethods.xml | 2 ++ .../Transforms/Metadata.Namespaces.xml | 15 +++++++++++++++ .../Transforms/Metadata.ParameterNames.xml | 2 ++ .../installreferrer/Transforms/Metadata.xml | 3 +++ 6 files changed, 28 insertions(+) create mode 100644 source/com.android.installreferrer/installreferrer/Additions/Additions.cs create mode 100644 source/com.android.installreferrer/installreferrer/Transforms/EnumFields.xml create mode 100644 source/com.android.installreferrer/installreferrer/Transforms/EnumMethods.xml create mode 100644 source/com.android.installreferrer/installreferrer/Transforms/Metadata.Namespaces.xml create mode 100644 source/com.android.installreferrer/installreferrer/Transforms/Metadata.ParameterNames.xml create mode 100644 source/com.android.installreferrer/installreferrer/Transforms/Metadata.xml diff --git a/source/com.android.installreferrer/installreferrer/Additions/Additions.cs b/source/com.android.installreferrer/installreferrer/Additions/Additions.cs new file mode 100644 index 000000000..127606d41 --- /dev/null +++ b/source/com.android.installreferrer/installreferrer/Additions/Additions.cs @@ -0,0 +1,4 @@ +using System; +using Android.Views; +using Android.Widget; +using Android.Graphics; diff --git a/source/com.android.installreferrer/installreferrer/Transforms/EnumFields.xml b/source/com.android.installreferrer/installreferrer/Transforms/EnumFields.xml new file mode 100644 index 000000000..f8105b317 --- /dev/null +++ b/source/com.android.installreferrer/installreferrer/Transforms/EnumFields.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/source/com.android.installreferrer/installreferrer/Transforms/EnumMethods.xml b/source/com.android.installreferrer/installreferrer/Transforms/EnumMethods.xml new file mode 100644 index 000000000..501e4827b --- /dev/null +++ b/source/com.android.installreferrer/installreferrer/Transforms/EnumMethods.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/source/com.android.installreferrer/installreferrer/Transforms/Metadata.Namespaces.xml b/source/com.android.installreferrer/installreferrer/Transforms/Metadata.Namespaces.xml new file mode 100644 index 000000000..ffa6ed20c --- /dev/null +++ b/source/com.android.installreferrer/installreferrer/Transforms/Metadata.Namespaces.xml @@ -0,0 +1,15 @@ + + + AndroidX.DataStore.Core + + + AndroidX.DataStore.Core.Handlers + + + \ No newline at end of file diff --git a/source/com.android.installreferrer/installreferrer/Transforms/Metadata.ParameterNames.xml b/source/com.android.installreferrer/installreferrer/Transforms/Metadata.ParameterNames.xml new file mode 100644 index 000000000..f5da9828b --- /dev/null +++ b/source/com.android.installreferrer/installreferrer/Transforms/Metadata.ParameterNames.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/source/com.android.installreferrer/installreferrer/Transforms/Metadata.xml b/source/com.android.installreferrer/installreferrer/Transforms/Metadata.xml new file mode 100644 index 000000000..9495e200d --- /dev/null +++ b/source/com.android.installreferrer/installreferrer/Transforms/Metadata.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file From 0521c9663cc60f314517046d5cfb72bfffcd9b80 Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 18 May 2022 09:17:51 +0200 Subject: [PATCH 04/58] template fix --- templates/installreferrer/Project.cshtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/installreferrer/Project.cshtml b/templates/installreferrer/Project.cshtml index e55217eec..60e89b68f 100644 --- a/templates/installreferrer/Project.cshtml +++ b/templates/installreferrer/Project.cshtml @@ -3,7 +3,7 @@ MonoAndroid12.0;net6.0-android true Annotations - Xamarin.Google.Android.Installeferer + Xamarin.Google.Android.Installeferrer - <_AndroidXAssembly Include="Xamarin.Android.ReactiveX.RxJava" /> - <_AndroidXAssembly Include="Xamarin.Android.ReactiveX.RxJava3.RxJava" /> <_AndroidXAssembly Include="Xamarin.AndroidX.Annotation" /> <_AndroidXAssembly Include="Xamarin.AndroidX.Annotation.Experimental" /> <_AndroidXAssembly Include="Xamarin.AndroidX.AppCompat" /> @@ -177,8 +175,6 @@ <_AndroidXAssembly Include="Xamarin.AndroidX.WebKit" /> <_AndroidXAssembly Include="Xamarin.AndroidX.Work.Runtime" /> <_AndroidXAssembly Include="Xamarin.Google.Android.Material" /> - <_AndroidXAssembly Include="Xamarin.Jetbrains.Annotations" /> - <_AndroidXAssembly Include="Xamarin.Kotlin.StdLib" /> @@ -349,19 +345,24 @@ <_AndroidXMavenArtifact Include="androidx.window.window-java" /> <_AndroidXMavenArtifact Include="androidx.work.work-runtime" /> <_AndroidXMavenArtifact Include="androidx.work.work-runtime-ktx" /> + <_AndroidXMavenArtifact Include="com.android.installreferrer.installreferrer" /> <_AndroidXMavenArtifact Include="com.google.android.gms.play-services-basement" /> <_AndroidXMavenArtifact Include="com.google.android.gms.play-services-wearable" /> <_AndroidXMavenArtifact Include="com.google.android.material.material" /> <_AndroidXMavenArtifact Include="com.google.auto.value.auto-value-annotations" /> + <_AndroidXMavenArtifact Include="com.google.code.findbugs.jsr305" /> <_AndroidXMavenArtifact Include="com.google.code.gson.gson" /> <_AndroidXMavenArtifact Include="com.google.crypto.tink.tink-android" /> + <_AndroidXMavenArtifact Include="com.google.errorprone.error_prone_annotations" /> <_AndroidXMavenArtifact Include="com.google.firebase.firebase-appindexing" /> <_AndroidXMavenArtifact Include="com.google.guava.failureaccess" /> <_AndroidXMavenArtifact Include="com.google.guava.guava" /> <_AndroidXMavenArtifact Include="com.google.guava.listenablefuture" /> + <_AndroidXMavenArtifact Include="com.google.j2objc.j2objc-annotations" /> <_AndroidXMavenArtifact Include="com.xamarin.androidx.migration" /> <_AndroidXMavenArtifact Include="io.reactivex.rxjava2.rxjava" /> <_AndroidXMavenArtifact Include="io.reactivex.rxjava3.rxjava" /> + <_AndroidXMavenArtifact Include="org.checkerframework.checker-qual" /> <_AndroidXMavenArtifact Include="org.jetbrains.annotations" /> <_AndroidXMavenArtifact Include="org.jetbrains.kotlin.kotlin-reflect" /> <_AndroidXMavenArtifact Include="org.jetbrains.kotlin.kotlin-stdlib" /> From fbe74cf02138ec743006c947a69926b4793e295f Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 25 May 2022 23:03:22 +0200 Subject: [PATCH 12/58] mappings updates --- mappings/androidx-assemblies.csv | 12 +++--------- mappings/androidx-mapping.csv | 9 --------- mappings/dependencies.json | 20 ++++++++++++-------- 3 files changed, 15 insertions(+), 26 deletions(-) diff --git a/mappings/androidx-assemblies.csv b/mappings/androidx-assemblies.csv index bd490a29c..52a33b2d1 100644 --- a/mappings/androidx-assemblies.csv +++ b/mappings/androidx-assemblies.csv @@ -16,18 +16,15 @@ Xamarin.Android.Arch.Persistence.Room.Common,Xamarin.AndroidX.Room.Common,Xamari Xamarin.Android.Arch.Persistence.Room.Runtime,Xamarin.AndroidX.Room.Runtime,Xamarin.Android.Arch.Persistence.Room.Runtime,Xamarin.AndroidX.Room.Runtime,2.4.2.1 Xamarin.Android.Arch.Work.Runtime,Xamarin.AndroidX.Work.Runtime,Xamarin.Android.Arch.Work.Runtime,Xamarin.AndroidX.Work.Runtime,2.7.1.3 Xamarin.Android.Support.Animated.Vector.Drawable,Xamarin.AndroidX.VectorDrawable.Animated,Xamarin.Android.Support.Animated.Vector.Drawable,Xamarin.AndroidX.VectorDrawable.Animated,1.1.0.13 -Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava,2.2.21.6 -Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,3.1.4.1 Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,1.3.0.3 Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Media2.Widget,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Media2.Widget,1.2.1.1 -Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,23.0.0.3 Xamarin.Android.Support.AsyncLayoutInflater,Xamarin.AndroidX.AsyncLayoutInflater,Xamarin.Android.Support.AsyncLayoutInflater,Xamarin.AndroidX.AsyncLayoutInflater,1.0.0.13 Xamarin.Android.Support.Collections,Xamarin.AndroidX.Collection,Xamarin.Android.Support.Collections,Xamarin.AndroidX.Collection,1.2.0.3 Xamarin.Android.Support.Compat,Xamarin.AndroidX.Core,Xamarin.Android.Support.Compat,Xamarin.AndroidX.Core,1.7.0.2 Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.ConstraintLayout,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.ConstraintLayout,2.1.3.1 -Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingAdapters,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingAdapters,7.1.3 -Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingRuntime,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingRuntime,7.1.3 -Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.ViewBinding,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.ViewBinding,7.1.3 +Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingAdapters,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingAdapters,7.2.0 +Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingRuntime,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.DataBindingRuntime,7.2.0 +Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.ViewBinding,Xamarin.Android.Support.Constraint.Layout,Xamarin.AndroidX.DataBinding.ViewBinding,7.2.0 Xamarin.Android.Support.Constraint.Layout.Solver,Xamarin.AndroidX.ConstraintLayout.Solver,Xamarin.Android.Support.Constraint.Layout.Solver,Xamarin.AndroidX.ConstraintLayout.Solver,2.0.4.8 Xamarin.Android.Support.CoordinaterLayout,Xamarin.AndroidX.CoordinatorLayout,Xamarin.Android.Support.CoordinaterLayout,Xamarin.AndroidX.CoordinatorLayout,1.2.0.1 Xamarin.Android.Support.Core.UI,Xamarin.AndroidX.Legacy.Support.Core.UI,Xamarin.Android.Support.Core.UI,Xamarin.AndroidX.Legacy.Support.Core.UI,1.0.0.14 @@ -35,11 +32,8 @@ Xamarin.Android.Support.Core.Utils,Xamarin.AndroidX.Legacy.Support.Core.Utils,Xa Xamarin.Android.Support.CursorAdapter,Xamarin.AndroidX.CursorAdapter,Xamarin.Android.Support.CursorAdapter,Xamarin.AndroidX.CursorAdapter,1.0.0.13 Xamarin.Android.Support.CustomTabs,Xamarin.AndroidX.Browser,Xamarin.Android.Support.CustomTabs,Xamarin.AndroidX.Browser,1.4.0.1 Xamarin.Android.Support.CustomView,Xamarin.AndroidX.CustomView,Xamarin.Android.Support.CustomView,Xamarin.AndroidX.CustomView,1.1.0.12 -Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava,Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava,2.2.21.6 -Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava3.RxJava,Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava3.RxJava,3.1.4.1 Xamarin.Android.Support.Design,Xamarin.AndroidX.Annotation.Experimental,Xamarin.Android.Support.Design,Xamarin.AndroidX.Annotation.Experimental,1.2.0.1 Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,1.6.0 -Xamarin.Android.Support.Design,Xamarin.Kotlin.StdLib,Xamarin.Android.Support.Design,Xamarin.Kotlin.StdLib,1.6.21 Xamarin.Android.Support.DocumentFile,Xamarin.AndroidX.DocumentFile,Xamarin.Android.Support.DocumentFile,Xamarin.AndroidX.DocumentFile,1.0.1.13 Xamarin.Android.Support.DrawerLayout,Xamarin.AndroidX.DrawerLayout,Xamarin.Android.Support.DrawerLayout,Xamarin.AndroidX.DrawerLayout,1.1.1.8 Xamarin.Android.Support.Dynamic.Animation,Xamarin.AndroidX.DynamicAnimation,Xamarin.Android.Support.Dynamic.Animation,Xamarin.AndroidX.DynamicAnimation,1.0.0.13 diff --git a/mappings/androidx-mapping.csv b/mappings/androidx-mapping.csv index 1ed9a67f5..0e095b6c0 100644 --- a/mappings/androidx-mapping.csv +++ b/mappings/androidx-mapping.csv @@ -57,8 +57,6 @@ Android.Support.Annotation,IIdResInvoker,AndroidX.Annotations,IIdResInvoker,Xama Android.Support.Annotation,AnimResAttribute,AndroidX.Annotations,AnimResAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, Android.Support.Annotation,InterpolatorResAttribute,AndroidX.Annotations,InterpolatorResAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, Android.Support.Annotation,NonNullAttribute,AndroidX.Annotations,NonNullAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, -Android.Support.Annotation,NonNullAttribute,ReactiveX.RxJava3.Annotations,NonNullAttribute,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,,,,, -Android.Support.Annotation,NonNullAttribute,ReactiveX.Annotations,NonNullAttribute,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava,,,,, Android.Support.Annotation,ColorLongAttribute,AndroidX.Annotations,ColorLongAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, Android.Support.Annotation,RestrictToScope,AndroidX.Annotations,RestrictToScope,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,android.support.annotation,RestrictTo.Scope,androidx.annotation,RestrictTo.Scope, Android.Support.Annotation,IRestrictTo,AndroidX.Annotations,IRestrictTo,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,android.support.annotation,RestrictTo,androidx.annotation,RestrictTo, @@ -66,9 +64,6 @@ Android.Support.Annotation,IRestrictToInvoker,AndroidX.Annotations,IRestrictToIn Android.Support.Annotation,IAnimRes,AndroidX.Annotations,IAnimRes,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,android.support.annotation,AnimRes,androidx.annotation,AnimRes, Android.Support.Annotation,IAnimResInvoker,AndroidX.Annotations,IAnimResInvoker,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,android.support.annotation,AnimRes,androidx.annotation,AnimRes, Android.Support.Annotation,NullableAttribute,AndroidX.Annotations,NullableAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, -Android.Support.Annotation,NullableAttribute,JetBrains.Annotations,NullableAttribute,Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,,,,, -Android.Support.Annotation,NullableAttribute,ReactiveX.RxJava3.Annotations,NullableAttribute,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava3.RxJava,,,,, -Android.Support.Annotation,NullableAttribute,ReactiveX.Annotations,NullableAttribute,Xamarin.Android.Support.Annotations,Xamarin.Android.ReactiveX.RxJava,,,,, Android.Support.Annotation,NullableAttribute,System.Runtime.CompilerServices,NullableAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Media2.Widget,,,,, Android.Support.Annotation,IntRangeAttribute,AndroidX.Annotations,IntRangeAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, Android.Support.Annotation,IdResAttribute,AndroidX.Annotations,IdResAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, @@ -167,7 +162,6 @@ Android.Support.Annotation,IVisibleForTesting,AndroidX.Annotations,IVisibleForTe Android.Support.Annotation,IVisibleForTestingInvoker,AndroidX.Annotations,IVisibleForTestingInvoker,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,android.support.annotation,VisibleForTesting,androidx.annotation,VisibleForTesting, Android.Support.Annotation,DimenResAttribute,AndroidX.Annotations,DimenResAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, Android.Support.Annotation,VisibleForTestingAttribute,AndroidX.Annotations,VisibleForTestingAttribute,Xamarin.Android.Support.Annotations,Xamarin.AndroidX.Annotation,,,,, -Android.Support.Annotation,VisibleForTestingAttribute,JetBrains.Annotations,VisibleForTestingAttribute,Xamarin.Android.Support.Annotations,Xamarin.Jetbrains.Annotations,,,,, Android.Arch.Core.Util,IFunction,AndroidX.Arch.Core.Util,IFunction,Xamarin.Android.Arch.Core.Common,Xamarin.AndroidX.Arch.Core.Common,android.arch.core.util,Function,androidx.arch.core.util,Function, Android.Arch.Core.Util,IFunctionInvoker,AndroidX.Arch.Core.Util,IFunctionInvoker,Xamarin.Android.Arch.Core.Common,Xamarin.AndroidX.Arch.Core.Common,android.arch.core.util,Function,androidx.arch.core.util,Function, Android.Arch.Core.Internal,SafeIterableMap,AndroidX.Arch.Core.Internal,SafeIterableMap,Xamarin.Android.Arch.Core.Common,Xamarin.AndroidX.Arch.Core.Common,android.arch.core.internal,SafeIterableMap,androidx.arch.core.internal,SafeIterableMap, @@ -2777,11 +2771,8 @@ Android.Support.Design.Internal,IExperimentalInvoker,Google.Android.Material.Int ,,,,,,,,,,WARNING: Unable to find AndroidX type for Java type com.google.android.material.bottomnavigation.BottomNavigationPresenter. ,,,,,,,,,,WARNING: Unable to find AndroidX type for Java type com.google.android.material.bottomnavigation.BottomNavigationPresenter.SavedState. Android.Support.Design.Internal,ThemeEnforcement,Google.Android.Material.Internal,ThemeEnforcement,Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,android.support.design.internal,ThemeEnforcement,com.google.android.material.internal,ThemeEnforcement, -Android.Support.Design.Internal,ExperimentalAttribute,Kotlin,ExperimentalAttribute,Xamarin.Android.Support.Design,Xamarin.Kotlin.StdLib,,,,, Android.Support.Design.Internal,ExperimentalAttribute,AndroidX.Annotations.Experimental,ExperimentalAttribute,Xamarin.Android.Support.Design,Xamarin.AndroidX.Annotation.Experimental,,,,, Android.Support.Design.Internal,ExperimentalAttribute,Google.Android.Material.Internal,ExperimentalAttribute,Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,,,,, -Android.Support.Design.Internal,ExperimentalAttribute,ReactiveX.RxJava3.Annotations,ExperimentalAttribute,Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava3.RxJava,,,,, -Android.Support.Design.Internal,ExperimentalAttribute,ReactiveX.Annotations,ExperimentalAttribute,Xamarin.Android.Support.Design,Xamarin.Android.ReactiveX.RxJava,,,,, Android.Support.Design.Internal,NavigationMenuView,Google.Android.Material.Internal,NavigationMenuView,Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,android.support.design.internal,NavigationMenuView,com.google.android.material.internal,NavigationMenuView, Android.Support.Design.Internal,ScrimInsetsFrameLayout,Google.Android.Material.Internal,ScrimInsetsFrameLayout,Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,android.support.design.internal,ScrimInsetsFrameLayout,com.google.android.material.internal,ScrimInsetsFrameLayout, Android.Support.Design.Internal,ForegroundLinearLayout,Google.Android.Material.Internal,ForegroundLinearLayout,Xamarin.Android.Support.Design,Xamarin.Google.Android.Material,android.support.design.internal,ForegroundLinearLayout,com.google.android.material.internal,ForegroundLinearLayout, diff --git a/mappings/dependencies.json b/mappings/dependencies.json index 88faeeedc..d1206aca9 100644 --- a/mappings/dependencies.json +++ b/mappings/dependencies.json @@ -1581,15 +1581,23 @@ "Xamarin.KotlinX.Coroutines.Android" ] }, + { + "id": "Xamarin.CheckerFramework.CheckerQual", + "dependencies": [] + }, + { + "id": "Xamarin.Google.Android.Installreferrer", + "dependencies": [] + }, { "id": "Xamarin.Google.Guava", "dependencies": [ "Xamarin.Google.Guava.FailureAccess", - "Xamarin.CheckerFramework.CheckerCompatQual", + "Xamarin.Google.J2Objc.Annotations", + "Xamarin.CheckerFramework.CheckerQual", "Xamarin.Google.Code.FindBugs.JSR305", "Xamarin.Google.ErrorProne.Annotations", - "Xamarin.Google.Guava.ListenableFuture", - "Xamarin.Google.J2Objc.Annotations" + "Xamarin.Google.Guava.ListenableFuture" ] }, { @@ -1597,7 +1605,7 @@ "dependencies": [] }, { - "id": "Xamarin.CheckerFramework.CheckerCompatQual", + "id": "Xamarin.Google.J2Objc.Annotations", "dependencies": [] }, { @@ -1608,10 +1616,6 @@ "id": "Xamarin.Google.ErrorProne.Annotations", "dependencies": [] }, - { - "id": "Xamarin.Google.J2Objc.Annotations", - "dependencies": [] - }, { "id": "Xamarin.Jetbrains.Annotations", "dependencies": [] From 50ffa3ca02919b8d703d2425bba06b372055386a Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 25 May 2022 23:26:25 +0200 Subject: [PATCH 13/58] spell checking updates --- utilities.cake | 1 + 1 file changed, 1 insertion(+) diff --git a/utilities.cake b/utilities.cake index a131932d5..d53ee4cd3 100644 --- a/utilities.cake +++ b/utilities.cake @@ -212,6 +212,7 @@ Task ("spell-check") "J2Objc", "CheckerFramework", "CheckerQual", + "Installreferrer", }; var dictionary_custom = WeCantSpell.Hunspell.WordList.CreateFromWords(words); From 8ad85980a7e53e34491046c04658ab30ddda2eb0 Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 26 May 2022 09:39:43 +0200 Subject: [PATCH 14/58] Update published-namespaces.txt --- published-namespaces.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/published-namespaces.txt b/published-namespaces.txt index 7fa6a7329..7e540e79e 100644 --- a/published-namespaces.txt +++ b/published-namespaces.txt @@ -439,7 +439,11 @@ ReactiveX.Subjects ReactiveX.Subscribers System.Runtime.CompilerServices System.Runtime.Versioning +Xamarin.Android.InstallReferrer +Xamarin.Android.InstallReferrer.Api +Xamarin.Android.InstallReferrer.Commons Xamarin.Android.ReactiveStreams +Xamarin.Google.Android.Finsky.ExternalReferrer Xamarin.Google.Crypto.Tink Xamarin.Google.Crypto.Tink.Aead Xamarin.Google.Crypto.Tink.Aead.Subtle From a40688e861c9a528234c408e58130713eb6364e0 Mon Sep 17 00:00:00 2001 From: moljac Date: Thu, 26 May 2022 09:47:18 +0200 Subject: [PATCH 15/58] namespace verification by default and some love for users --- utilities.cake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/utilities.cake b/utilities.cake index 54a2f5a8b..b6e4a52b9 100644 --- a/utilities.cake +++ b/utilities.cake @@ -760,6 +760,7 @@ Task ("read-analysis-files") .IsDependentOn ("api-diff-analysis") .IsDependentOn ("list-artifacts") .IsDependentOn ("nuget-structure-analysis") + .IsDependentOn ("verify-namespace-file") .Does ( () => @@ -866,7 +867,13 @@ Task("verify-namespace-file") } if (unhandled_changes) - throw new Exception ("Namespaces were added or removed."); + { + StringBuilder sb = new StringBuilder(); + sb.AppendLine($"Namespaces were added or removed."); + sb.AppendLine($"please run:"); + sb.AppendLine($" dotnet cake utilities.cake -t=generate-namespace-file"); + throw new Exception (sb.ToString()); + } } ); From c084a582e3e44a46b2415ca4cedb189136a4d916 Mon Sep 17 00:00:00 2001 From: moljac Date: Fri, 27 May 2022 09:09:30 +0200 Subject: [PATCH 16/58] Update config.json --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index 8c70f74e3..421f2743a 100644 --- a/config.json +++ b/config.json @@ -1604,7 +1604,7 @@ "artifactId": "installreferrer", "version": "1.0", "nugetVersion": "1.0.0", - "nugetId": "Xamarin.Google.Android.Installreferrer", + "nugetId": "Xamarin.Google.Android.InstallReferrer", "dependencyOnly": false, "templateSet": "installreferrer" }, From 388a9c3d4dbec1479529e6f38876b96f5cd92ce3 Mon Sep 17 00:00:00 2001 From: moljac Date: Fri, 27 May 2022 09:09:35 +0200 Subject: [PATCH 17/58] Update Project.cshtml --- templates/installreferrer/Project.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/installreferrer/Project.cshtml b/templates/installreferrer/Project.cshtml index 3dadb31c3..5f02e11fb 100644 --- a/templates/installreferrer/Project.cshtml +++ b/templates/installreferrer/Project.cshtml @@ -3,7 +3,7 @@ MonoAndroid12.0;net6.0-android true Annotations - Xamarin.Google.Android.Installreferrer + Xamarin.Google.Android.InstallReferrer + 0618;0109;0114;0628;0108;0809 + + + + class-parse + XAJavaInterop1 + + + + @(Model.NuGetPackageId) + com.android.installreferrer:installrefererrer for Xamarin.Android + + Xamarin.Android bindings for com.android.installreferrer:installrefererrer + Google Play Store's Install Referrer API to securely retrieve referral content from Google Play + + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + https://go.microsoft.com/fwlink/?linkid=2091414 + https://aka.ms/AAdvoow + true + @(Model.NuGetVersion) + + + + + + + + + + + + @foreach (var art in @Model.MavenArtifacts) { + + + } + + + + @foreach (var dep in @Model.NuGetDependencies) { + if (dep.IsProjectReference) { + + } else { + + } + } + + + + + + + + From a23327d519c00b23b2f2245c85a88b7cb65597b7 Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 18 May 2022 09:17:28 +0200 Subject: [PATCH 21/58] spellcheck fix --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index cc3779e14..734ff02ec 100644 --- a/config.json +++ b/config.json @@ -1603,7 +1603,7 @@ "artifactId": "installreferrer", "version": "1.0", "nugetVersion": "1.0.0", - "nugetId": "Xamarin.Google.Android.Installeferer", + "nugetId": "Xamarin.Google.Android.Installeferrer", "dependencyOnly": false, "templateSet": "installreferrer" }, From da82d7cf2174718291b1ca1b129e37abb8f3824d Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 18 May 2022 09:17:42 +0200 Subject: [PATCH 22/58] metadata initial commit --- .../installreferrer/Additions/Additions.cs | 4 ++++ .../installreferrer/Transforms/EnumFields.xml | 2 ++ .../installreferrer/Transforms/EnumMethods.xml | 2 ++ .../Transforms/Metadata.Namespaces.xml | 15 +++++++++++++++ .../Transforms/Metadata.ParameterNames.xml | 2 ++ .../installreferrer/Transforms/Metadata.xml | 3 +++ 6 files changed, 28 insertions(+) create mode 100644 source/com.android.installreferrer/installreferrer/Additions/Additions.cs create mode 100644 source/com.android.installreferrer/installreferrer/Transforms/EnumFields.xml create mode 100644 source/com.android.installreferrer/installreferrer/Transforms/EnumMethods.xml create mode 100644 source/com.android.installreferrer/installreferrer/Transforms/Metadata.Namespaces.xml create mode 100644 source/com.android.installreferrer/installreferrer/Transforms/Metadata.ParameterNames.xml create mode 100644 source/com.android.installreferrer/installreferrer/Transforms/Metadata.xml diff --git a/source/com.android.installreferrer/installreferrer/Additions/Additions.cs b/source/com.android.installreferrer/installreferrer/Additions/Additions.cs new file mode 100644 index 000000000..127606d41 --- /dev/null +++ b/source/com.android.installreferrer/installreferrer/Additions/Additions.cs @@ -0,0 +1,4 @@ +using System; +using Android.Views; +using Android.Widget; +using Android.Graphics; diff --git a/source/com.android.installreferrer/installreferrer/Transforms/EnumFields.xml b/source/com.android.installreferrer/installreferrer/Transforms/EnumFields.xml new file mode 100644 index 000000000..f8105b317 --- /dev/null +++ b/source/com.android.installreferrer/installreferrer/Transforms/EnumFields.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/source/com.android.installreferrer/installreferrer/Transforms/EnumMethods.xml b/source/com.android.installreferrer/installreferrer/Transforms/EnumMethods.xml new file mode 100644 index 000000000..501e4827b --- /dev/null +++ b/source/com.android.installreferrer/installreferrer/Transforms/EnumMethods.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/source/com.android.installreferrer/installreferrer/Transforms/Metadata.Namespaces.xml b/source/com.android.installreferrer/installreferrer/Transforms/Metadata.Namespaces.xml new file mode 100644 index 000000000..ffa6ed20c --- /dev/null +++ b/source/com.android.installreferrer/installreferrer/Transforms/Metadata.Namespaces.xml @@ -0,0 +1,15 @@ + + + AndroidX.DataStore.Core + + + AndroidX.DataStore.Core.Handlers + + + \ No newline at end of file diff --git a/source/com.android.installreferrer/installreferrer/Transforms/Metadata.ParameterNames.xml b/source/com.android.installreferrer/installreferrer/Transforms/Metadata.ParameterNames.xml new file mode 100644 index 000000000..f5da9828b --- /dev/null +++ b/source/com.android.installreferrer/installreferrer/Transforms/Metadata.ParameterNames.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/source/com.android.installreferrer/installreferrer/Transforms/Metadata.xml b/source/com.android.installreferrer/installreferrer/Transforms/Metadata.xml new file mode 100644 index 000000000..9495e200d --- /dev/null +++ b/source/com.android.installreferrer/installreferrer/Transforms/Metadata.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file From e78a6e43c13670ce9999827d9e4dbb69cd1728b4 Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 18 May 2022 09:17:51 +0200 Subject: [PATCH 23/58] template fix --- templates/installreferrer/Project.cshtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/installreferrer/Project.cshtml b/templates/installreferrer/Project.cshtml index e55217eec..60e89b68f 100644 --- a/templates/installreferrer/Project.cshtml +++ b/templates/installreferrer/Project.cshtml @@ -3,7 +3,7 @@ MonoAndroid12.0;net6.0-android true Annotations - Xamarin.Google.Android.Installeferer + Xamarin.Google.Android.Installeferrer + + Kotlin.Time.ITimeMark + + + Kotlin.Time.ITimeMark + + + kotlin.time.TimeMark + + + Kotlin.Time.ITimeMark + + + + kotlin.time.TimeMark + + + kotlin.time.TimeMark + + + + + From 3d4f4485f9016fee6088e47f4255857d6983f4b6 Mon Sep 17 00:00:00 2001 From: moljac Date: Mon, 11 Jul 2022 09:13:05 +0200 Subject: [PATCH 40/58] .NET 6.0.301 --- azure-pipelines.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 21569c609..b293ff12d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -9,7 +9,7 @@ variables: AndroidBinderatorVersion: 0.5.4 AndroidXMigrationVersion: 1.0.9 BootsVersion: 1.1.0.712-preview2 - DotNetVersion: 6.0.300 + DotNetVersion: 6.0.301 DotNet6Source: https://aka.ms/dotnet6/nuget/index.json NuGetOrgSource: https://api.nuget.org/v3/index.json XamarinDotNetWorkloadSource: https://aka.ms/dotnet/maui/rc.3.json @@ -41,8 +41,8 @@ jobs: macosImage: # the name of the macOS VM image (BigSur) - Disabled until we have newer XA classic packages windowsAgentPoolName: android-win-2022 xcode: 13.3.1 - dotnet: '6.0.300' # the version of .NET Core to use - dotnetStable: '6.0.300' # the stable version of .NET Core to use + dotnet: '6.0.301' # the version of .NET Core to use + dotnetStable: '6.0.301' # the stable version of .NET Core to use initSteps: - task: UseDotNet@2 displayName: install .NET $(DotNetVersion) From 76f5eaeaeb061f2b23002af5bcdfd8d3519d2c79 Mon Sep 17 00:00:00 2001 From: moljac Date: Mon, 11 Jul 2022 09:13:19 +0200 Subject: [PATCH 41/58] .NET SDK 6.0.301 --- global.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/global.json b/global.json index 492bdd768..7309aaf27 100644 --- a/global.json +++ b/global.json @@ -1,4 +1,8 @@ { + "sdk": + { + "version": "6.0.301" + }, "msbuild-sdks": { "MSBuild.Sdk.Extras": "3.0.44", From a223c951ea24a409314ed1074f9451c10eb917c5 Mon Sep 17 00:00:00 2001 From: moljac Date: Mon, 11 Jul 2022 09:13:37 +0200 Subject: [PATCH 42/58] AndroidLibrary instead of LibraryProjectZip --- templates/installreferrer/Project.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/installreferrer/Project.cshtml b/templates/installreferrer/Project.cshtml index a64483678..b9a45a624 100644 --- a/templates/installreferrer/Project.cshtml +++ b/templates/installreferrer/Project.cshtml @@ -45,7 +45,7 @@ @foreach (var art in @Model.MavenArtifacts) { - + } From d00f034f9adbfd918f1f9111e9e562220ad1f5b6 Mon Sep 17 00:00:00 2001 From: moljac Date: Wed, 13 Jul 2022 09:26:10 +0200 Subject: [PATCH 43/58] .NET SDK 6.0.300, xcode 13.2.1 et al --- azure-pipelines.yml | 6 +++--- global.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 31c727eec..cd97a4e7b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -7,9 +7,9 @@ pr: variables: AndroidBinderatorVersion: 0.5.4 - AndroidXMigrationVersion: 1.0.9 + AndroidXMigrationVersion: 1.0.10 BootsVersion: 1.1.0.712-preview2 - DotNetVersion: 6.0.301 + DotNetVersion: 6.0.300 DotNet6Source: https://aka.ms/dotnet6/nuget/index.json NuGetOrgSource: https://api.nuget.org/v3/index.json XamarinDotNetWorkloadSource: https://aka.ms/dotnet/maui/rc.3.json @@ -40,7 +40,7 @@ jobs: areaPath: 'DevDiv\VS Client - Runtime SDKs\Android' macosImage: macOS-11 # the name of the macOS VM image (BigSur) windowsAgentPoolName: android-win-2022 - xcode: 13.3.1 + xcode: 13.2.1 dotnet: '6.0.300' # the version of .NET Core to use dotnetStable: '6.0.300' # the stable version of .NET Core to use initSteps: diff --git a/global.json b/global.json index 7309aaf27..939520936 100644 --- a/global.json +++ b/global.json @@ -1,7 +1,7 @@ { "sdk": { - "version": "6.0.301" + "version": "6.0.300" }, "msbuild-sdks": { From 3b1f9f58ca21ce8199c6fa7edd8af28666cddb1f Mon Sep 17 00:00:00 2001 From: moljac Date: Fri, 15 Jul 2022 17:29:40 +0200 Subject: [PATCH 44/58] kotlin 1.7.0 fixes --- source/AndroidXProject.cshtml | 3 +- .../Kotlin.Ranges.UIntProgression.cs | 28 +++++++++++++++++++ .../Additions/Kotlin.Ranges.UIntRange.cs | 26 +++++++++++++++++ .../Kotlin.Ranges.ULongProgression.cs | 28 +++++++++++++++++++ .../Additions/Kotlin.Ranges.ULongRange.cs | 26 +++++++++++++++++ .../Additions/Kotlin.UByteArray.cs | 26 +++++++++++++++++ .../Additions/Kotlin.UIntArray.cs | 26 +++++++++++++++++ .../Additions/Kotlin.ULongArray.cs | 26 +++++++++++++++++ .../Additions/Kotlin.UShortArray.cs | 26 +++++++++++++++++ .../Transforms/Metadata.xml | 28 +++++++++++++++++-- 10 files changed, 240 insertions(+), 3 deletions(-) create mode 100644 source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.UIntProgression.cs create mode 100644 source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.UIntRange.cs create mode 100644 source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.ULongProgression.cs create mode 100644 source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.ULongRange.cs create mode 100644 source/Xamarin.Kotlin.StdLib/Additions/Kotlin.UByteArray.cs create mode 100644 source/Xamarin.Kotlin.StdLib/Additions/Kotlin.UIntArray.cs create mode 100644 source/Xamarin.Kotlin.StdLib/Additions/Kotlin.ULongArray.cs create mode 100644 source/Xamarin.Kotlin.StdLib/Additions/Kotlin.UShortArray.cs diff --git a/source/AndroidXProject.cshtml b/source/AndroidXProject.cshtml index a8c2fdbcc..849c75603 100644 --- a/source/AndroidXProject.cshtml +++ b/source/AndroidXProject.cshtml @@ -19,8 +19,9 @@ - CS0628: 'member' : new protected member declared in sealed class - CS0108: 'member1' hides inherited member 'member2'. Use the new keyword if hiding was intended. - CS0809: Obsolete member 'member' overrides non-obsolete member 'member' + - CS1572: XML comment has a param tag for '', but there is no parameter by that name --> - 0618;0109;0114;0628;0108;0809 + 0618;0109;0114;0628;0108;0809;1572 @{ diff --git a/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.UIntProgression.cs b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.UIntProgression.cs new file mode 100644 index 000000000..5e22426a7 --- /dev/null +++ b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.UIntProgression.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using Android.Runtime; +using Java.Interop; + +namespace Kotlin.Ranges +{ + // Metadata.xml XPath class reference: path="/api/package[@name='kotlin.ranges']/class[@name='UIntProgression']" + // [global::Android.Runtime.Register ("kotlin/ranges/UIntProgression", DoNotGenerateAcw=true)] + public partial class UIntProgression // : global::Java.Lang.Object, global::Java.Lang.IIterable, global::Kotlin.Jvm.Internal.Markers.IKMappedMarker + { + // Metadata.xml XPath method reference: path="/api/package[@name='kotlin.ranges']/class[@name='UIntProgression.Companion']/method[@name='fromClosedRange-Nkh28Cs' and count(parameter)=3 and parameter[1][@type='uint'] and parameter[2][@type='uint'] and parameter[3][@type='int']]" + [Register ("fromClosedRange-Nkh28Cs", "(III)Lkotlin/ranges/UIntProgression;", "")] + public unsafe global::Kotlin.Ranges.UIntProgression FromClosedRange (uint? rangeStart, uint? rangeEnd, int step) + { + const string __id = "fromClosedRange-Nkh28Cs.(III)Lkotlin/ranges/UIntProgression;"; + try { + JniArgumentValue* __args = stackalloc JniArgumentValue [3]; + __args [0] = new JniArgumentValue (rangeStart.Value); + __args [1] = new JniArgumentValue (rangeEnd.Value); + __args [2] = new JniArgumentValue (step); + var __rm = _members.InstanceMethods.InvokeNonvirtualObjectMethod (__id, this, __args); + return global::Java.Lang.Object.GetObject (__rm.Handle, JniHandleOwnership.TransferLocalRef)!; + } finally { + } + } + } +} \ No newline at end of file diff --git a/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.UIntRange.cs b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.UIntRange.cs new file mode 100644 index 000000000..e962a9c8c --- /dev/null +++ b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.UIntRange.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Android.Runtime; +using Java.Interop; + +namespace Kotlin.Ranges +{ + // Metadata.xml XPath class reference: path="/api/package[@name='kotlin.ranges']/class[@name='UIntRange']" + // [global::Android.Runtime.Register ("kotlin/ranges/UIntRange", DoNotGenerateAcw=true)] + public sealed partial class UIntRange // : global::Kotlin.Ranges.UIntProgression + { + // Metadata.xml XPath method reference: path="/api/package[@name='kotlin.ranges']/class[@name='UIntRange']/method[@name='contains-WZ4Q5Ns' and count(parameter)=1 and parameter[1][@type='uint']]" + [Register ("contains-WZ4Q5Ns", "(I)Z", "")] + public unsafe bool Contains (uint? value) + { + const string __id = "contains-WZ4Q5Ns.(I)Z"; + try { + JniArgumentValue* __args = stackalloc JniArgumentValue [1]; + __args [0] = new JniArgumentValue (value.Value); + var __rm = _members.InstanceMethods.InvokeNonvirtualBooleanMethod (__id, this, __args); + return __rm; + } finally { + } + } + } +} \ No newline at end of file diff --git a/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.ULongProgression.cs b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.ULongProgression.cs new file mode 100644 index 000000000..3bfbbe733 --- /dev/null +++ b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.ULongProgression.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using Android.Runtime; +using Java.Interop; + +namespace Kotlin.Ranges +{ + // Metadata.xml XPath class reference: path="/api/package[@name='kotlin.ranges']/class[@name='ULongProgression']" + // [global::Android.Runtime.Register ("kotlin/ranges/ULongProgression", DoNotGenerateAcw=true)] + public partial class ULongProgression // : global::Java.Lang.Object, global::Java.Lang.IIterable, global::Kotlin.Jvm.Internal.Markers.IKMappedMarker + { + // Metadata.xml XPath method reference: path="/api/package[@name='kotlin.ranges']/class[@name='ULongProgression.Companion']/method[@name='fromClosedRange-7ftBX0g' and count(parameter)=3 and parameter[1][@type='ulong'] and parameter[2][@type='ulong'] and parameter[3][@type='long']]" + [Register ("fromClosedRange-7ftBX0g", "(JJJ)Lkotlin/ranges/ULongProgression;", "")] + public unsafe global::Kotlin.Ranges.ULongProgression FromClosedRange (ulong? rangeStart, ulong? rangeEnd, long step) + { + const string __id = "fromClosedRange-7ftBX0g.(JJJ)Lkotlin/ranges/ULongProgression;"; + try { + JniArgumentValue* __args = stackalloc JniArgumentValue [3]; + __args [0] = new JniArgumentValue (rangeStart.Value); + __args [1] = new JniArgumentValue (rangeEnd.Value); + __args [2] = new JniArgumentValue (step); + var __rm = _members.InstanceMethods.InvokeNonvirtualObjectMethod (__id, this, __args); + return global::Java.Lang.Object.GetObject (__rm.Handle, JniHandleOwnership.TransferLocalRef)!; + } finally { + } + } + } +} \ No newline at end of file diff --git a/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.ULongRange.cs b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.ULongRange.cs new file mode 100644 index 000000000..f5de59424 --- /dev/null +++ b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.Ranges.ULongRange.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Android.Runtime; +using Java.Interop; + +namespace Kotlin.Ranges +{ + // Metadata.xml XPath class reference: path="/api/package[@name='kotlin.ranges']/class[@name='ULongRange']" + // [global::Android.Runtime.Register ("kotlin/ranges/ULongRange", DoNotGenerateAcw=true)] + public sealed partial class ULongRange // : global::Kotlin.Ranges.ULongProgression + { + // Metadata.xml XPath method reference: path="/api/package[@name='kotlin.ranges']/class[@name='ULongRange']/method[@name='contains-VKZWuLQ' and count(parameter)=1 and parameter[1][@type='ulong']]" + [Register ("contains-VKZWuLQ", "(J)Z", "")] + public unsafe bool Contains (ulong? value) + { + const string __id = "contains-VKZWuLQ.(J)Z"; + try { + JniArgumentValue* __args = stackalloc JniArgumentValue [1]; + __args [0] = new JniArgumentValue (value.Value); + var __rm = _members.InstanceMethods.InvokeNonvirtualBooleanMethod (__id, this, __args); + return __rm; + } finally { + } + } + } +} \ No newline at end of file diff --git a/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.UByteArray.cs b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.UByteArray.cs new file mode 100644 index 000000000..7050ab389 --- /dev/null +++ b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.UByteArray.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Android.Runtime; +using Java.Interop; + +namespace Kotlin +{ + // Metadata.xml XPath class reference: path="/api/package[@name='kotlin']/class[@name='UByteArray']" + // [global::Android.Runtime.Register ("kotlin/UByteArray", DoNotGenerateAcw=true)] + public sealed partial class UByteArray // : global::Java.Lang.Object, global::Kotlin.Jvm.Internal.Markers.IKMappedMarker + { + // Metadata.xml XPath method reference: path="/api/package[@name='kotlin']/class[@name='UByteArray']/method[@name='contains-7apg3OU' and count(parameter)=1 and parameter[1][@type='ubyte']]" + [Register ("contains-7apg3OU", "(B)Z", "")] + public unsafe bool Contains (byte? element) + { + const string __id = "contains-7apg3OU.(B)Z"; + try { + JniArgumentValue* __args = stackalloc JniArgumentValue [1]; + __args [0] = new JniArgumentValue (element.Value); + var __rm = _members.InstanceMethods.InvokeNonvirtualBooleanMethod (__id, this, __args); + return __rm; + } finally { + } + } + } +} \ No newline at end of file diff --git a/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.UIntArray.cs b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.UIntArray.cs new file mode 100644 index 000000000..7368ddceb --- /dev/null +++ b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.UIntArray.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Android.Runtime; +using Java.Interop; + +namespace Kotlin +{ + // Metadata.xml XPath class reference: path="/api/package[@name='kotlin']/class[@name='UIntArray']" + // [global::Android.Runtime.Register ("kotlin/UIntArray", DoNotGenerateAcw=true)] + public sealed partial class UIntArray // : global::Java.Lang.Object, global::Kotlin.Jvm.Internal.Markers.IKMappedMarker + { + // Metadata.xml XPath method reference: path="/api/package[@name='kotlin']/class[@name='UIntArray']/method[@name='contains-WZ4Q5Ns' and count(parameter)=1 and parameter[1][@type='uint']]" + [Register ("contains-WZ4Q5Ns", "(I)Z", "")] + public unsafe bool Contains (uint? element) + { + const string __id = "contains-WZ4Q5Ns.(I)Z"; + try { + JniArgumentValue* __args = stackalloc JniArgumentValue [1]; + __args [0] = new JniArgumentValue (element.Value); + var __rm = _members.InstanceMethods.InvokeNonvirtualBooleanMethod (__id, this, __args); + return __rm; + } finally { + } + } + } +} \ No newline at end of file diff --git a/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.ULongArray.cs b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.ULongArray.cs new file mode 100644 index 000000000..a7dc573da --- /dev/null +++ b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.ULongArray.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Android.Runtime; +using Java.Interop; + +namespace Kotlin +{ + // Metadata.xml XPath class reference: path="/api/package[@name='kotlin']/class[@name='ULongArray']" + // [global::Android.Runtime.Register ("kotlin/ULongArray", DoNotGenerateAcw=true)] + public sealed partial class ULongArray // : global::Java.Lang.Object, global::Kotlin.Jvm.Internal.Markers.IKMappedMarker + { + // Metadata.xml XPath method reference: path="/api/package[@name='kotlin']/class[@name='ULongArray']/method[@name='contains-VKZWuLQ' and count(parameter)=1 and parameter[1][@type='ulong']]" + [Register ("contains-VKZWuLQ", "(J)Z", "")] + public unsafe bool Contains (ulong? element) + { + const string __id = "contains-VKZWuLQ.(J)Z"; + try { + JniArgumentValue* __args = stackalloc JniArgumentValue [1]; + __args [0] = new JniArgumentValue (element.Value); + var __rm = _members.InstanceMethods.InvokeNonvirtualBooleanMethod (__id, this, __args); + return __rm; + } finally { + } + } + } +} \ No newline at end of file diff --git a/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.UShortArray.cs b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.UShortArray.cs new file mode 100644 index 000000000..d3ebdaba6 --- /dev/null +++ b/source/Xamarin.Kotlin.StdLib/Additions/Kotlin.UShortArray.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Android.Runtime; +using Java.Interop; + +namespace Kotlin +{ + // Metadata.xml XPath class reference: path="/api/package[@name='kotlin']/class[@name='UShortArray']" + // [global::Android.Runtime.Register ("kotlin/UShortArray", DoNotGenerateAcw=true)] + public sealed partial class UShortArray // : global::Java.Lang.Object, global::Kotlin.Jvm.Internal.Markers.IKMappedMarker + { + // Metadata.xml XPath method reference: path="/api/package[@name='kotlin']/class[@name='UShortArray']/method[@name='contains-xj2QHRw' and count(parameter)=1 and parameter[1][@type='ushort']]" + [Register ("contains-xj2QHRw", "(S)Z", "")] + public unsafe bool Contains (ushort? element) + { + const string __id = "contains-xj2QHRw.(S)Z"; + try { + JniArgumentValue* __args = stackalloc JniArgumentValue [1]; + __args [0] = new JniArgumentValue (element.Value); + var __rm = _members.InstanceMethods.InvokeNonvirtualBooleanMethod (__id, this, __args); + return __rm; + } finally { + } + } + } +} \ No newline at end of file diff --git a/source/Xamarin.Kotlin.StdLib/Transforms/Metadata.xml b/source/Xamarin.Kotlin.StdLib/Transforms/Metadata.xml index 83b464f42..7bd54e4bb 100644 --- a/source/Xamarin.Kotlin.StdLib/Transforms/Metadata.xml +++ b/source/Xamarin.Kotlin.StdLib/Transforms/Metadata.xml @@ -478,16 +478,40 @@ > ElapsedNow + + + + + + + + + + From fb3590ed413dcee53c31953a7e40c5cc99d63326 Mon Sep 17 00:00:00 2001 From: moljac Date: Fri, 15 Jul 2022 17:30:01 +0200 Subject: [PATCH 45/58] samples refactored --- build.cake | 68 +++++-- .../BuildAllDotNet/AndroidManifest.xml | 6 - .../BuildAllDotNet/BuildAllDotNet.csproj | 26 --- .../BuildAll/BuildAllDotNet/MainActivity.cs | 13 -- .../Resources/AboutResources.txt | 44 ----- .../Resources/layout/activity_main.xml | 13 -- .../mipmap-anydpi-v26/ic_launcher.xml | 5 - .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 - .../Resources/mipmap-hdpi/ic_launcher.png | Bin 1634 -> 0 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 1441 -> 0 bytes .../mipmap-hdpi/ic_launcher_round.png | Bin 3552 -> 0 bytes .../Resources/mipmap-mdpi/ic_launcher.png | Bin 1362 -> 0 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 958 -> 0 bytes .../mipmap-mdpi/ic_launcher_round.png | Bin 2413 -> 0 bytes .../Resources/mipmap-xhdpi/ic_launcher.png | Bin 2307 -> 0 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 2056 -> 0 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 4858 -> 0 bytes .../Resources/mipmap-xxhdpi/ic_launcher.png | Bin 3871 -> 0 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 3403 -> 0 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 8001 -> 0 bytes .../Resources/mipmap-xxxhdpi/ic_launcher.png | Bin 5016 -> 0 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 4889 -> 0 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 10893 -> 0 bytes .../values/ic_launcher_background.xml | 4 - .../Resources/values/strings.xml | 4 - .../BuildAll/ClassLibrary/ClassLibrary.csproj | 4 - .../NetStandardLibrary.SDKShortStyle.csproj | 2 +- .../BuildMinimalMaterial.sln | 6 - .../ BuildMinimalMaterial.csproj | 2 +- .../NetStandardLibrary.SDKShortStyle.csproj | 11 +- .../BuildMinimalMaterialAppCompat.sln | 6 - .../BuildMinimalMaterialAppCompat.csproj | 159 ++++++++++++++++ .../ClassLibrary/ClassLibrary.csproj | 171 ++++++++++++++---- .../ClassLibrary/packages.config | 90 +++++---- .../NetStandardLibrary.SDKShortStyle.csproj | 15 +- .../BuildXamarinFormsApp.Android.csproj | 7 +- .../Properties/AndroidManifest.xml | 10 +- .../BuildXamarinFormsApp.iOS.csproj | 11 +- .../BuildXamarinFormsApp.csproj | 8 +- samples/NuGet.config | 36 ++++ 40 files changed, 479 insertions(+), 247 deletions(-) delete mode 100644 samples/BuildAll/BuildAllDotNet/AndroidManifest.xml delete mode 100644 samples/BuildAll/BuildAllDotNet/BuildAllDotNet.csproj delete mode 100644 samples/BuildAll/BuildAllDotNet/MainActivity.cs delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/AboutResources.txt delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/layout/activity_main.xml delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher.xml delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher_round.xml delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher_foreground.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher_round.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-mdpi/ic_launcher.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-mdpi/ic_launcher_foreground.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-mdpi/ic_launcher_round.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-xhdpi/ic_launcher.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-xhdpi/ic_launcher_foreground.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher_foreground.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-xxxhdpi/ic_launcher_foreground.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/values/ic_launcher_background.xml delete mode 100644 samples/BuildAll/BuildAllDotNet/Resources/values/strings.xml diff --git a/build.cake b/build.cake index 8e1bd5786..ac49299b1 100644 --- a/build.cake +++ b/build.cake @@ -549,7 +549,6 @@ System.Xml.XmlDocument xmldoc = null; System.Xml.XmlNamespaceManager ns = null; Task("metadata-verify") - .IsDependentOn("binderate") .Does ( () => @@ -629,7 +628,7 @@ Task("libs") .IsDependentOn("libs-native") .Does(() => { - var settings = new DotNetMSBuildSettings() + DotNetMSBuildSettings settings = new DotNetMSBuildSettings() .SetConfiguration(CONFIGURATION) .SetMaxCpuCount(0) .EnableBinaryLogger($"./output/libs.{CONFIGURATION}.binlog") @@ -689,7 +688,7 @@ Task("samples-generate-all-targets") // make a big .targets file that pulls in everything var xmlns = (XNamespace)"http://schemas.microsoft.com/developer/msbuild/2003"; var itemGroup = new XElement(xmlns + "ItemGroup"); - foreach (var nupkg in GetFiles("./output/*.nupkg")) { + foreach (var nupkg in GetFiles("./output/*.nupkg").OrderBy(fp => fp.FullPath)) { Information($"NuGet package = {nupkg}"); // Skip Wear as it has special implications requiring more packages to be used properly in an app @@ -704,7 +703,7 @@ Task("samples-generate-all-targets") var filename = nupkg.GetFilenameWithoutExtension(); var match = Regex.Match(filename.ToString(), @"(.+?)\.(\d+[\.0-9\-a-zA-Z]+)"); - itemGroup.Add(new XElement(xmlns + "PackageReference", + itemGroup.Add(new XElement(xmlns + "PackageVersion", new XAttribute("Include", match.Groups[1]), new XAttribute("Version", match.Groups[2]))); @@ -725,23 +724,39 @@ Task("samples") CleanDirectories(packagesPath); // build the samples - var settings = new MSBuildSettings() + MSBuildSettings settings_msbuild = new MSBuildSettings() .SetConfiguration(CONFIGURATION) .SetVerbosity(VERBOSITY) .SetMaxCpuCount(0) - .EnableBinaryLogger($"./output/samples.{CONFIGURATION}.binlog") + .EnableBinaryLogger($"./output/samples.{CONFIGURATION}.msbuild.{DateTime.Now.ToString("yyyyMMddHHmmss")}.binlog") .WithRestore() .WithProperty("RestorePackagesPath", packagesPath) .WithProperty("DesignTimeBuild", "false") .WithProperty("AndroidSdkBuildToolsVersion", $"{AndroidSdkBuildTools}"); if (!string.IsNullOrEmpty(ANDROID_HOME)) - settings.WithProperty("AndroidSdkDirectory", $"{ANDROID_HOME}"); + settings_msbuild.WithProperty("AndroidSdkDirectory", $"{ANDROID_HOME}"); if (!string.IsNullOrEmpty(MSBUILD_PATH)) - settings.ToolPath = MSBUILD_PATH; - - MSBuild("./samples/BuildAll/BuildAll.sln", settings); + settings_msbuild.ToolPath = MSBUILD_PATH; + + Information($"====================================================================================================="); + Information("MSBuild ./samples/BuildAll/BuildAll.sln"); + MSBuild("./samples/BuildAll/BuildAll.sln", settings_msbuild); + Information($"====================================================================================================="); + Information("MSBuild ./samples/BuildXamarinFormsApp/BuildXamarinFormsApp.sln"); + // MSBuild("./samples/BuildXamarinFormsApp/BuildXamarinFormsApp.sln", settings_msbuild); + Information($"====================================================================================================="); + Information("MSBuild ./samples/BuildMinimalMaterial/BuildMinimalMaterial.sln"); + MSBuild("./samples/BuildMinimalMaterial/BuildMinimalMaterial.sln", settings_msbuild); + Information($"====================================================================================================="); + // Information("MSBuild ./samples/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat.sln "); + // MSBuild("./samples/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat.sln ", settings_msbuild); + Information($"====================================================================================================="); + // Information("MSBuild ./samples/dotnet/BuildAllDotNet.sln"); + // MSBuild("./samples/dotnet/BuildAllDotNet.sln", settings_msbuild); + + return; }); Task("samples-dotnet") @@ -765,12 +780,39 @@ Task("samples-dotnet") if (!string.IsNullOrEmpty(ANDROID_HOME)) settings.WithProperty("AndroidSdkDirectory", $"{ANDROID_HOME}"); - DotNetRestore("./samples/BuildAll/BuildAllDotNet.sln", new DotNetRestoreSettings + Information($"====================================================================================================="); + Information("DotNetBuild ./samples/dotnet/BuildAllDotNet.sln"); + DotNetRestore("./samples/dotnet/BuildAllDotNet.sln", new DotNetRestoreSettings { MSBuildSettings = settings.EnableBinaryLogger("./output/samples-dotnet-restore.binlog") }); - - DotNetMSBuild("./samples/BuildAll/BuildAllDotNet.sln", settings); + DotNetMSBuild("./samples/dotnet/BuildAllDotNet.sln", settings); + + if + ( + ! BuildSystem.GitHubActions.IsRunningOnGitHubActions + && + ! BuildSystem.AzurePipelines.IsRunningOnAzurePipelines + ) + { + Information($"====================================================================================================="); + Information("DotNetBuild ./samples/dotnet/BuildAllMauiApp.sln"); + DotNetRestore("./samples/dotnet/BuildAllMauiApp.sln", new DotNetRestoreSettings + { + MSBuildSettings = settings.EnableBinaryLogger("./output/samples-dotnet-restore.binlog") + }); + DotNetMSBuild("./samples/dotnet/BuildAllMauiApp.sln", settings); + Information($"====================================================================================================="); + Information("DotNetBuild ./samples/dotnet/BuildAllXamarinForms.sln"); + DotNetRestore("./samples/dotnet/BuildAllXamarinForms.sln", new DotNetRestoreSettings + { + MSBuildSettings = settings.EnableBinaryLogger("./output/samples-dotnet-restore.binlog") + }); + // DotNetMSBuild("./samples/dotnet/BuildAllXamarinForms.sln", settings); + // Information($"====================================================================================================="); + // Information("DotNetBuild ./samples/dotnet/BuildAllXamarinForms.sln"); + // DotNetBuild("./samples/dotnet/BuildAllXamarinForms.sln", settings_dotnet); + } }); Task("api-diff") diff --git a/samples/BuildAll/BuildAllDotNet/AndroidManifest.xml b/samples/BuildAll/BuildAllDotNet/AndroidManifest.xml deleted file mode 100644 index 1811bb4fc..000000000 --- a/samples/BuildAll/BuildAllDotNet/AndroidManifest.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/samples/BuildAll/BuildAllDotNet/BuildAllDotNet.csproj b/samples/BuildAll/BuildAllDotNet/BuildAllDotNet.csproj deleted file mode 100644 index 51df5bad9..000000000 --- a/samples/BuildAll/BuildAllDotNet/BuildAllDotNet.csproj +++ /dev/null @@ -1,26 +0,0 @@ - - - - net6.0-android - - - 28 - Exe - enable - enable - com.companyname.BuildAllDotNet - 1 - 1.0 - - - true - - - False - False - - - - - - \ No newline at end of file diff --git a/samples/BuildAll/BuildAllDotNet/MainActivity.cs b/samples/BuildAll/BuildAllDotNet/MainActivity.cs deleted file mode 100644 index 0776a0e19..000000000 --- a/samples/BuildAll/BuildAllDotNet/MainActivity.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace BuildAllDotNet; - -[Activity(Label = "@string/app_name", MainLauncher = true)] -public class MainActivity : Activity -{ - protected override void OnCreate(Bundle? savedInstanceState) - { - base.OnCreate(savedInstanceState); - - // Set our view from the "main" layout resource - SetContentView(Resource.Layout.activity_main); - } -} \ No newline at end of file diff --git a/samples/BuildAll/BuildAllDotNet/Resources/AboutResources.txt b/samples/BuildAll/BuildAllDotNet/Resources/AboutResources.txt deleted file mode 100644 index 219f42544..000000000 --- a/samples/BuildAll/BuildAllDotNet/Resources/AboutResources.txt +++ /dev/null @@ -1,44 +0,0 @@ -Images, layout descriptions, binary blobs and string dictionaries can be included -in your application as resource files. Various Android APIs are designed to -operate on the resource IDs instead of dealing with images, strings or binary blobs -directly. - -For example, a sample Android app that contains a user interface layout (main.xml), -an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) -would keep its resources in the "Resources" directory of the application: - -Resources/ - drawable/ - icon.png - - layout/ - main.xml - - values/ - strings.xml - -In order to get the build system to recognize Android resources, set the build action to -"AndroidResource". The native Android APIs do not operate directly with filenames, but -instead operate on resource IDs. When you compile an Android application that uses resources, -the build system will package the resources for distribution and generate a class called "Resource" -(this is an Android convention) that contains the tokens for each one of the resources -included. For example, for the above Resources layout, this is what the Resource class would expose: - -public class Resource { - public class Drawable { - public const int icon = 0x123; - } - - public class Layout { - public const int main = 0x456; - } - - public class Strings { - public const int first_string = 0xabc; - public const int second_string = 0xbcd; - } -} - -You would then use Resource.Drawable.icon to reference the drawable/icon.png file, or -Resource.Layout.main to reference the layout/main.xml file, or Resource.Strings.first_string -to reference the first string in the dictionary file values/strings.xml. \ No newline at end of file diff --git a/samples/BuildAll/BuildAllDotNet/Resources/layout/activity_main.xml b/samples/BuildAll/BuildAllDotNet/Resources/layout/activity_main.xml deleted file mode 100644 index f94985291..000000000 --- a/samples/BuildAll/BuildAllDotNet/Resources/layout/activity_main.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - \ No newline at end of file diff --git a/samples/BuildAll/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher.xml b/samples/BuildAll/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index 036d09bc5..000000000 --- a/samples/BuildAll/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/samples/BuildAll/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher_round.xml b/samples/BuildAll/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher_round.xml deleted file mode 100644 index 036d09bc5..000000000 --- a/samples/BuildAll/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher_round.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/samples/BuildAll/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher.png b/samples/BuildAll/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 2531cb31efc3a0a3de6113ab9c7845dc1d9654e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1634 zcmV-o2A%ndP)B+Z3$1(8#|f~9B42Y^N-3=o2YCq0YUY$Zu=pM;#hG{lHi%n~Vh z1d1vN#EDO19X?u$`cV z!a}AKG@Bb*#1cdYg8af_;jP69b`k%G1n?0=F^8bI^o>wg-vEliK^U}y^!D|^p|ax; zC|pK=f+FHp!RUAhtlpGGUxJb|wm^5! z<1r%$<$TR02wajxKZ4MiR#aAxDLE(##UNyD|ABr4WoGRF*?@e^2|~Hq(gurSSJH*;Q~5lw{J5A_(PCXBWhzZE${qgzv0{dk-F( z1<}>r181tLiEla&f1j&?p2xjbfp2cTt-c1Ox~?9EhK9`cJ9Vatf)loIoQ@#h&}cIGD>Z#QLE}&(bMo@7Ff|7f#Nm^$PJpVcbj+v~K7wfVwF}=) zRQsc+`=A-+C)vrRvaIC-5u>|;3h z*G4-u#RI<_vuSN~vZ6{|I~q5FFk3%de#+*>UFG>&bq6~ zUEMZ~FIOmFO=kA^5rkp-Msw?^63xvdXVZ-rv@{6{iVO}M!}^Je%2BPbi+(L<5<%~h z2v^D+f<|j%7~cJjOzg*!GPQ{%uE{i%YgcZhuZh{yNlQ}RhaU1jd=K+AopVKP+D}&} zZ3y$llqZiln=Z_A$!qzkGbX0D{?l(v5@1|`QyCvCnQ`eKI>|zj_zo%y#fKf85VhQ} zP)y&j4P*nR3q{-o35iV6nx7QDqq<;WDVIt}|N%`!dgv*y3va8eLNj zU9x(?ieweHfQ*yXk8|=ssZ~qJEz^QoKJ|iGa>ge_Vm_8l}S+UvJ{8g4jr+o#aTSFsz1W;PDP zW765JXGU#3JL>SlIl3NRV2{7B2dLO1cIP)a4ZRYL|MBD36O1#oSgAf}APz5@;x=_U-<=y)Py7*}O5(uu7BL_eLe6Ek7pH|G zMq)FrF1EFq&yruS5b=F=w)fVVoPd(oeRyTFym_Uwyn~L=OL(O?cf^2L5R(SmjORx6 z%nmZf^W=3pkvT*>@osUNi>DULH1hL;y`JGQX$onRCr_U0=H~Viodq!<7Q{3rPk~{G gu#IhOV;e2n|1(WJB~7~kivR!s07*qoM6N<$g7lUVaR2}S diff --git a/samples/BuildAll/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher_foreground.png b/samples/BuildAll/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher_foreground.png deleted file mode 100644 index 7a859c25556af7a2e46e22a2220eaded55628e9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1441 zcma)+`#%#30L6FjMQg%tuA0%p#0??L`*E=rD#U2F4L5n@F+O9Sp;(QwEQy7+?sX?r zCWN(!Hg`+j5k8*H@|yQEtnAi*(D{7M`Tlf1=eKjq)BUsp2nqrK01B=yNUv`!`EH=x zx8$xJQUd^Fuec%|(TT&0V}4orr_==mmCnEuzD+ff8Pg>pJRqsWsD{#?eGPaCu0(sEH_2RG@<6-Nt<8 ztPMUmmAz9Ga$23Y9~p9dqJSgJJ#Jk_r@o13^%d-Xf46i+Lrmz3 zy9(DUDVXj;Zny7nO+yn&W2flEX=C!8&D0zI`G# z8;XmlonoghgRFUY*$+7pPLa}Uy)onw>TT9t(FTV6#BV8&lXWDPRvQW_n~xZ|yLcZjX>m$Eaf1)dwXS`&E^ zkNjO;%;fWywchc=+w4utQ0Vbn%B>b~yy4I#D{?1!P`$P>Wdo+ljCo(tYia04JTc=$$u+IbzDVPFYpm8+AQj+ zGKH zfS{{hN%W)kF+(26oZpkURD5Q_G_z97F6{Jval+TOj-;5y)*Rdo3a$^^k~q5gpTzmp1q@+2X9O z;_VUF>;s~C1~gpFrFoh?{aQ|LlBIYz!z^P~lndX5-ES)p#+9GW*|-WBTzQ*&gKOE` zM##bUaWl`6rZBXw0!~_oUhf+H$tNc@lLZCj0bZT^KSo@C|P?7YR8dP0se1jj z9aA0|7MONf(ZYaLZs$s}r*05fx25-iN6mZe_*Rq%uyz(+^-k;t`!R`?uf~rn#1ZC7 zuv3}UrmMzcBbo4jym@fS5%I+G`GJIC1s$)MQs3Vhld?a2U;w}$@V%dC@%qpO7+3#$ N&GnQ!lI8SQ#{X#Iv!eh2 diff --git a/samples/BuildAll/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher_round.png b/samples/BuildAll/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index b8d35b3a1cfe5308bb099a5a1429555c41417e36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3552 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 diff --git a/samples/BuildAll/BuildAllDotNet/Resources/mipmap-mdpi/ic_launcher_round.png b/samples/BuildAll/BuildAllDotNet/Resources/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 8f56909cddfa86f1387074bf43003f36d6e67be1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2413 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 b;}yxl--Ss53i@>Q4YQuNcebmsMJN0NT!aL! diff --git a/samples/BuildAll/BuildAllDotNet/Resources/mipmap-xhdpi/ic_launcher_round.png b/samples/BuildAll/BuildAllDotNet/Resources/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 9737d79c0492b2c8a811621660eba33e79fab959..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4858 zcmVxlCBHiW_rSgI3_J^MKwHqJEz|i*Sg*YtOHn%!8|O@U|xT*V!1aH) zx9aT)+OT1e6*I^fro))}A|t%nqOC49C*uh}iznRD0RVt(Fkci3aF-cE^~v-{jirSe z8y+KDRrXqA%?3VAUmJ!e`Y4{{Db{MI)J1oI-WfBjRTVY1Q!rK-v!l86id7G;UWZ3x z7~0LnZOuZ2xjo$KBiYmM_`2d z5?SVjnV>hVk!Z_9*%?FywwjSrU-z}DU~qVkNCML#z4GhV z_dS*4ib?_|4A~&o6c6ZDCNLfVt@G)TDg@Pe&InwDu_Y44rH_jqbYt zQQk%w?14PLdL_onhlQI!tDo8~G_ws5=fN6HW6)RMZ1xE78Tw}PR+Lk5El;CNtD@BG z@-c!)0b@`g>cgGvV&(C9t(F;co=4};U+^dfw6xu|4X@RormvOYhELMs z#n0=>EFFekYFvrh+S)vl0br1y$L?uHF?ZLL#>k8mg*7cHSw;nCRmALvD)pwhLaqK` zH{FAdpJ?$&@EJOEIG%e~S}30iDZGsfvTJYqebn^#ei9&%5{a3h)`)uHexhMfx2GC}a7&+PSj;~z&<#NnP097H+5#qe^HCa1jY34dHKXo8 zyY}pNY0`(An$dSZ{AfkZ$4_A9@iVII_BL<*2^~Fl!lh?HY6o9?8_(#NGRALVO#8VI z9n&Hr&MA(;4gAX2_<|07{q29d4A%Yse8#Sg>u#G&F@_8Hz`UC4@30;drblKka481` z?((Z|zQ@@uWsI@Bpz3gpTq7nHw%?y+JiTRw)x(8QKjZG6LV@5aU|(2+QR(aE^IiQA zbbY#Ry<58f_jBjbjM>lIwKaI;ZD{|mhuvbp&fR-a)yVM<(;)5!g71B_7Ufosrv7ZTPIz#p-Luu#-A?Iq&cPX$ zzM1o0ayvrq*fGO)ASt78v{QGK(f{&-ng{so_ts*sjO@u0Q~!L6QwtMIG_TAibnspej~MaY~_~X)&16cA3OA}Uc)}S zZIuHg0l)fIxZO8!t8bb(l>-Cnku0bDbBiIiN=wjhmPbZL24MzlVdpYjrNWx)(Pv+N zBWOAR3??M;Y<>CqF?UmT!q$5#$Hw0_5S%iz0WXT*1g|T5HRZin>UI=?a+d@J@ z!s*q|QbSDkGb%|Ptu~nUaAClGGv)}o`WafkaSJLkjkN=I!IBjnQqbDkiW**Ov@?)k zGq(Qtv*2Socm6z@IOPdFd$xCn2c|3a@PedtiB%Y-T!Ns zB*nm2J}l((;v)h?(g?ET>{yU|?VjUA$|Z5Ar4z zy&(!+?I)a55qI7%Xw>;RW~l8%Ar-Om{WT5^Y~x$+J4{7<@%1J_QxP{h$Tzu?ijZcP zKq?}fVC`eW07@i+F8B>mD^4f z)ZCiSzUcJ1kJo--m#qXTfHz@!FdhAeQdfr()df(n8{lw5hWt__$<&YXgbf+9gAJMc zW<2fEh74^Wt)GRe=bqeL_c`r8F zZ%NkP(2@K3Gurh1b{rks2WKzipslrswj^bFgIglwlMH~dvpP|4vRM$R(A9m*hXM4a z{4CC!@(@?pZpuIQ%!_Vq%1@oy;BZ@V_r3$1Hs$Z-xhbElE&Cp0JBVQHxI|GZmG;L! z!cy}pUl5`!WzA<_x?Ps?(38*EwFT+}D%{)w4WeKG+_o)f-(4r+oe$Td9FAov)Yh)P z4vEusup1UeF!pl7fNJ<-5Wab=5QSObu{0lZy)X+3VhwhMS;IIMX0@RgaIog6Fbk?C zTx|!ur{OpMjaOloqObP-sLfq@n$Z3)UV(sl1(Orr_5onOR78jzqW7(*JljLXv( z@h(qS6x5&?Y5JXjX{Y+%Mhyk@@83TeKfIkwUdT~|ykpm%Uc~^Yq_8a%b~pV1Kc(8z zoqm3P3c4D?#dpPGV`HIoB1)QRoC#7O#GxDz9Gw!NHm6%&QMzz}Dm~%)iV{ zGPeP+B$&E(5j7MN5)+rJ)D3A8;w8Q8Ui6aQr~h3q$V+_zR@JpD!O z6@t8|oswO4Y(T`I62MR_7K=EYk`fUS0Y|&XC1n`qz>CL1NP%Y`Rj{AeQ3cHE2i+g9 z$XNi`5e&JWnnKxva6i8wwX9(94k6-#zI|8+z44N)E#Bqp8<0hBzPP9Rok_u<_*BiE zpx1Fxs=hMmM6B-%{ zA2dja5v#^23aZ50BUK|xXAp(ZNxW`U&_!XEVU zV=I}8Hxwt!nhV$vjJo7JX>U56>IHQz@}zXb3SyKmUA_mmg3DQhUCz8!fC<4Spew($ z;e$P^5VEzFCeakFf!%)Me)ZWyyPbef8C|hjw-#fOPGdr0)8${-=*QRtI6OT$v*@eK zi3wKVrx$(=1tndn_noPttFW$%gmXQxy3=ANthcD6zW40_8=X((d6Lp}-{86D0tN(& zZvEtyH_Ip|VaiO>7(QVPGkrcnp8}qJ7#~Vh7lPV>GV>&s(e3sxEJ25Ufq{YWg(3I~ zU4}R<|4n&8b;l=6`T`RyF%KQ(#w&8b;KGpu5;Awcp8UKO#RMXPAPH&lO6_b}ZskR& zg{195@012Qu|}yJD!-GOQ*kj)rU6$ojja60o(A8hpey)lFE0@=K^2{-xJ8;-yobph z^)_i>uX^gpvCN{qQFM@{qUQ*6_423>yD?RDp(2q8PKHwW2Z!m!s={|bY(W~B4{CZc zBgoh~q*j(U7>QN+?}>s2z^;~p%x!?DfzM_FxM6|*{{Hd!XA1bo10~8y5>4?As19Hv zXJVxP@Fdrg9#hA8pGcxH?u+Cm=y&w<~fq{a`3jA*+9(;bhBKtXM zc3BhSDM86L(XTyXBiK5gjD@OThB3w~vQ@?l6Mli8uULbAMT{ygP>eX7*m2G=arDK$ZBF}Q^?qZJyqqn zs*>=^35vw}6AZKrL^?D)sxnTNIS&VL+rdVVNZLw8F)D#!iaU&9?q|O7!fuc02hQ(- zzF`b;shJHS;gMBD-N@*%QeKXzH>ez!B4=8E21biSp%TJ~G+$re+-R|EVxl_lZE05N zewrCWSdzj1Rt=>p+F4)5ZfAgH|Bktj4K}mVfzc4B;J)@jpU^iRLmpZ2GJ0&3x(V#= z$hNy|1Bh}U=v3lSfND}<5Hf;-29ykx$R{Nza~qR044YE3%a6(Os;LcbSgo`tWz85z zM6Y}k^$a{K&#$=z^*PCz#!b*R^Z|WApR`-)l>%cSdOonz`u#q}hyd`Xv7U{CH=~GD zr~w#EIbjjeb+AI?Q?+vvl=*LnGxVQHGK)8-Xv==V%sG^rS9w&PS9u%={+*grehB`C zwp4sK%tv;}Pv(A9KbA_?6$<gpmV|K5zk3V^6LOr zItEUINek*iBnmPHhK5%JV^9ZN9bXRw|Aya*M8O8Qhuo_nI$cfLl0w_GVWsqY5b3*L zUsE+)7~w;7ZhxW%!r+Bw@V#kOMM+39QCTtqD3F3ha`Lwn`d*O)o`p8Z%h6$^?f#@M zpUWM1R~X_)cHscHP`c6}I0E!FfNDe0@HbM85K5l$Cv98-oF_vVruYz*(T{-2Cg%4( gUP6AytBbGy15leQhEvp{>;M1&07*qoM6N<$g7ZLQy#N3J diff --git a/samples/BuildAll/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher.png b/samples/BuildAll/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 9133e31b43252d00767a6a3806df9ba68de2d265..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3871 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 diff --git a/samples/BuildAll/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher_round.png b/samples/BuildAll/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index c3ae5f5ccdecc01a9b17a2a0c2b1bb20602f0151..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8001 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 z 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 F@PB1o0BisN diff --git a/samples/BuildAll/BuildAllDotNet/Resources/mipmap-xxxhdpi/ic_launcher_round.png b/samples/BuildAll/BuildAllDotNet/Resources/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index ef89bd5215ffcc38c68b119a7495a77a7084543b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10893 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 diff --git a/samples/BuildAll/BuildAllDotNet/Resources/values/ic_launcher_background.xml b/samples/BuildAll/BuildAllDotNet/Resources/values/ic_launcher_background.xml deleted file mode 100644 index 6ec24e641..000000000 --- a/samples/BuildAll/BuildAllDotNet/Resources/values/ic_launcher_background.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - #2C3E50 - \ No newline at end of file diff --git a/samples/BuildAll/BuildAllDotNet/Resources/values/strings.xml b/samples/BuildAll/BuildAllDotNet/Resources/values/strings.xml deleted file mode 100644 index d9abae429..000000000 --- a/samples/BuildAll/BuildAllDotNet/Resources/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - BuildAllDotNet - Hello, Android! - diff --git a/samples/BuildAll/ClassLibrary/ClassLibrary.csproj b/samples/BuildAll/ClassLibrary/ClassLibrary.csproj index ad838ef2c..87037b98f 100644 --- a/samples/BuildAll/ClassLibrary/ClassLibrary.csproj +++ b/samples/BuildAll/ClassLibrary/ClassLibrary.csproj @@ -54,20 +54,16 @@ - 29.0.0 - 1.0.1.4 - 1.0.0.4 - 1.6.0.3 diff --git a/samples/BuildMinimalAppCompat/NetStandardLibrary.SDKShortStyle/NetStandardLibrary.SDKShortStyle.csproj b/samples/BuildMinimalAppCompat/NetStandardLibrary.SDKShortStyle/NetStandardLibrary.SDKShortStyle.csproj index 90a7881ef..190effb77 100644 --- a/samples/BuildMinimalAppCompat/NetStandardLibrary.SDKShortStyle/NetStandardLibrary.SDKShortStyle.csproj +++ b/samples/BuildMinimalAppCompat/NetStandardLibrary.SDKShortStyle/NetStandardLibrary.SDKShortStyle.csproj @@ -5,6 +5,6 @@ - + diff --git a/samples/BuildMinimalMaterial/BuildMinimalMaterial.sln b/samples/BuildMinimalMaterial/BuildMinimalMaterial.sln index bb779c91b..0d0a5c8fb 100644 --- a/samples/BuildMinimalMaterial/BuildMinimalMaterial.sln +++ b/samples/BuildMinimalMaterial/BuildMinimalMaterial.sln @@ -7,8 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassLibrary", "ClassLibrar EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = " BuildMinimalMaterial", "BuildMinimalMaterial\ BuildMinimalMaterial.csproj", "{F47B1471-0F85-4690-B8A7-09F86ABBB1F6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetStandardLibrary.SDKShortStyle", "NetStandardLibrary.SDKShortStyle\NetStandardLibrary.SDKShortStyle.csproj", "{B9788E82-E704-407C-8A9D-F4461B0645AF}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -23,10 +21,6 @@ Global {F47B1471-0F85-4690-B8A7-09F86ABBB1F6}.Debug|Any CPU.Build.0 = Debug|Any CPU {F47B1471-0F85-4690-B8A7-09F86ABBB1F6}.Release|Any CPU.ActiveCfg = Release|Any CPU {F47B1471-0F85-4690-B8A7-09F86ABBB1F6}.Release|Any CPU.Build.0 = Release|Any CPU - {B9788E82-E704-407C-8A9D-F4461B0645AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B9788E82-E704-407C-8A9D-F4461B0645AF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B9788E82-E704-407C-8A9D-F4461B0645AF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B9788E82-E704-407C-8A9D-F4461B0645AF}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/samples/BuildMinimalMaterial/BuildMinimalMaterial/ BuildMinimalMaterial.csproj b/samples/BuildMinimalMaterial/BuildMinimalMaterial/ BuildMinimalMaterial.csproj index b48072671..e53d33d63 100644 --- a/samples/BuildMinimalMaterial/BuildMinimalMaterial/ BuildMinimalMaterial.csproj +++ b/samples/BuildMinimalMaterial/BuildMinimalMaterial/ BuildMinimalMaterial.csproj @@ -17,7 +17,7 @@ Resources\Resource.designer.cs Resource Off - v10.0 + v12.0 Properties\AndroidManifest.xml Resources Assets diff --git a/samples/BuildMinimalMaterial/NetStandardLibrary.SDKShortStyle/NetStandardLibrary.SDKShortStyle.csproj b/samples/BuildMinimalMaterial/NetStandardLibrary.SDKShortStyle/NetStandardLibrary.SDKShortStyle.csproj index ec2e766a3..0b966caf3 100644 --- a/samples/BuildMinimalMaterial/NetStandardLibrary.SDKShortStyle/NetStandardLibrary.SDKShortStyle.csproj +++ b/samples/BuildMinimalMaterial/NetStandardLibrary.SDKShortStyle/NetStandardLibrary.SDKShortStyle.csproj @@ -1,10 +1,15 @@ - + - monoandroid120 + monoandroid12 - + diff --git a/samples/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat.sln b/samples/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat.sln index 87ed0f0d3..737c51dae 100644 --- a/samples/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat.sln +++ b/samples/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat.sln @@ -5,8 +5,6 @@ VisualStudioVersion = 16.0.28606.126 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassLibrary", "ClassLibrary\ClassLibrary.csproj", "{49B04B11-434E-4579-AB17-D636343568AC}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassLibrary.ClassicLegacy", "ClassLibrary.ClassicLegacy\ClassLibrary.ClassicLegacy.csproj", "{37879374-26D4-4BF2-8FA7-B9A002EB6890}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetStandardLibrary.SDKShortStyle", "NetStandardLibrary.SDKShortStyle\NetStandardLibrary.SDKShortStyle.csproj", "{2546650F-AC59-4778-96C3-FF9BA173E182}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildMinimalMaterialAppCompat", "BuildMinimalMaterialAppCompat\BuildMinimalMaterialAppCompat.csproj", "{F47B1471-0F85-4690-B8A7-09F86ABBB1F6}" @@ -21,10 +19,6 @@ Global {49B04B11-434E-4579-AB17-D636343568AC}.Debug|Any CPU.Build.0 = Debug|Any CPU {49B04B11-434E-4579-AB17-D636343568AC}.Release|Any CPU.ActiveCfg = Release|Any CPU {49B04B11-434E-4579-AB17-D636343568AC}.Release|Any CPU.Build.0 = Release|Any CPU - {37879374-26D4-4BF2-8FA7-B9A002EB6890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {37879374-26D4-4BF2-8FA7-B9A002EB6890}.Debug|Any CPU.Build.0 = Debug|Any CPU - {37879374-26D4-4BF2-8FA7-B9A002EB6890}.Release|Any CPU.ActiveCfg = Release|Any CPU - {37879374-26D4-4BF2-8FA7-B9A002EB6890}.Release|Any CPU.Build.0 = Release|Any CPU {2546650F-AC59-4778-96C3-FF9BA173E182}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2546650F-AC59-4778-96C3-FF9BA173E182}.Debug|Any CPU.Build.0 = Debug|Any CPU {2546650F-AC59-4778-96C3-FF9BA173E182}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/samples/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat.csproj b/samples/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat.csproj index 502abf194..3b0502018 100644 --- a/samples/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat.csproj +++ b/samples/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat/BuildMinimalMaterialAppCompat.csproj @@ -1,5 +1,6 @@  + Debug AnyCPU @@ -65,6 +66,124 @@ + + ..\packages\Xamarin.AndroidX.Annotation.Experimental.1.2.0.2\lib\monoandroid12.0\Xamarin.AndroidX.Annotation.Experimental.dll + + + + + + + ..\packages\Xamarin.AndroidX.MultiDex.2.0.1.13\lib\monoandroid12.0\Xamarin.AndroidX.MultiDex.dll + + + ..\packages\Xamarin.AndroidX.Annotation.1.3.0.4\lib\monoandroid12.0\Xamarin.AndroidX.Annotation.dll + + + ..\packages\Xamarin.AndroidX.Arch.Core.Common.2.1.0.15\lib\monoandroid12.0\Xamarin.AndroidX.Arch.Core.Common.dll + + + ..\packages\Xamarin.AndroidX.Arch.Core.Runtime.2.1.0.15\lib\monoandroid12.0\Xamarin.AndroidX.Arch.Core.Runtime.dll + + + ..\packages\Xamarin.AndroidX.Collection.1.2.0.4\lib\monoandroid12.0\Xamarin.AndroidX.Collection.dll + + + ..\packages\Xamarin.AndroidX.CursorAdapter.1.0.0.14\lib\monoandroid12.0\Xamarin.AndroidX.CursorAdapter.dll + + + ..\packages\Xamarin.AndroidX.Interpolator.1.0.0.14\lib\monoandroid12.0\Xamarin.AndroidX.Interpolator.dll + + + ..\packages\Xamarin.AndroidX.Lifecycle.Common.2.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Lifecycle.Common.dll + + + ..\packages\Xamarin.AndroidX.Lifecycle.LiveData.Core.2.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Lifecycle.LiveData.Core.dll + + + ..\packages\Xamarin.AndroidX.Lifecycle.Runtime.2.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Lifecycle.Runtime.dll + + + ..\packages\Xamarin.AndroidX.ResourceInspection.Annotation.1.0.1.2\lib\monoandroid12.0\Xamarin.AndroidX.ResourceInspection.Annotation.dll + + + ..\packages\Xamarin.AndroidX.SavedState.1.1.0.8\lib\monoandroid12.0\Xamarin.AndroidX.SavedState.dll + + + ..\packages\Xamarin.AndroidX.Tracing.Tracing.1.1.0.1\lib\monoandroid12.0\Xamarin.AndroidX.Tracing.Tracing.dll + + + ..\packages\Xamarin.AndroidX.Startup.StartupRuntime.1.1.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Startup.StartupRuntime.dll + + + ..\packages\Xamarin.AndroidX.Lifecycle.Process.2.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Lifecycle.Process.dll + + + ..\packages\Xamarin.AndroidX.VersionedParcelable.1.1.1.14\lib\monoandroid12.0\Xamarin.AndroidX.VersionedParcelable.dll + + + ..\packages\Xamarin.Google.Guava.ListenableFuture.1.0.0.9\lib\monoandroid12.0\Xamarin.Google.Guava.ListenableFuture.dll + + + ..\packages\Xamarin.AndroidX.Concurrent.Futures.1.1.0.9\lib\monoandroid12.0\Xamarin.AndroidX.Concurrent.Futures.dll + + + ..\packages\Xamarin.AndroidX.Core.1.8.0.1\lib\monoandroid12.0\Xamarin.AndroidX.Core.dll + + + ..\packages\Xamarin.AndroidX.CustomView.1.1.0.13\lib\monoandroid12.0\Xamarin.AndroidX.CustomView.dll + + + ..\packages\Xamarin.AndroidX.DrawerLayout.1.1.1.9\lib\monoandroid12.0\Xamarin.AndroidX.DrawerLayout.dll + + + ..\packages\Xamarin.AndroidX.Emoji2.1.1.0.2\lib\monoandroid12.0\Xamarin.AndroidX.Emoji2.dll + + + ..\packages\Xamarin.AndroidX.Emoji2.ViewsHelper.1.1.0.2\lib\monoandroid12.0\Xamarin.AndroidX.Emoji2.ViewsHelper.dll + + + ..\packages\Xamarin.AndroidX.VectorDrawable.1.1.0.14\lib\monoandroid12.0\Xamarin.AndroidX.VectorDrawable.dll + + + ..\packages\Xamarin.AndroidX.VectorDrawable.Animated.1.1.0.14\lib\monoandroid12.0\Xamarin.AndroidX.VectorDrawable.Animated.dll + + + ..\packages\Xamarin.AndroidX.AppCompat.AppCompatResources.1.4.2.1\lib\monoandroid12.0\Xamarin.AndroidX.AppCompat.AppCompatResources.dll + + + ..\packages\Xamarin.AndroidX.ViewPager.1.0.0.14\lib\monoandroid12.0\Xamarin.AndroidX.ViewPager.dll + + + ..\packages\Xamarin.Jetbrains.Annotations.23.0.0.4\lib\monoandroid12.0\Xamarin.Jetbrains.Annotations.dll + + + ..\packages\Xamarin.Kotlin.StdLib.Common.1.7.0\lib\monoandroid12.0\Xamarin.Kotlin.StdLib.Common.dll + + + ..\packages\Xamarin.Kotlin.StdLib.1.7.0\lib\monoandroid12.0\Xamarin.Kotlin.StdLib.dll + + + ..\packages\Xamarin.AndroidX.Core.Core.Ktx.1.8.0.1\lib\monoandroid12.0\Xamarin.AndroidX.Core.Core.Ktx.dll + + + ..\packages\Xamarin.AndroidX.Lifecycle.ViewModel.2.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Lifecycle.ViewModel.dll + + + ..\packages\Xamarin.AndroidX.Lifecycle.ViewModelSavedState.2.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll + + + ..\packages\Xamarin.AndroidX.Activity.1.4.0.4\lib\monoandroid12.0\Xamarin.AndroidX.Activity.dll + + + ..\packages\Xamarin.AndroidX.Loader.1.1.0.14\lib\monoandroid12.0\Xamarin.AndroidX.Loader.dll + + + ..\packages\Xamarin.AndroidX.Fragment.1.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Fragment.dll + + + ..\packages\Xamarin.AndroidX.AppCompat.1.4.2.1\lib\monoandroid12.0\Xamarin.AndroidX.AppCompat.dll + @@ -73,6 +192,7 @@ + @@ -113,4 +233,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/samples/BuildMinimalMaterialAppCompat/ClassLibrary/ClassLibrary.csproj b/samples/BuildMinimalMaterialAppCompat/ClassLibrary/ClassLibrary.csproj index dbcd02382..5ac8ee12d 100644 --- a/samples/BuildMinimalMaterialAppCompat/ClassLibrary/ClassLibrary.csproj +++ b/samples/BuildMinimalMaterialAppCompat/ClassLibrary/ClassLibrary.csproj @@ -1,5 +1,6 @@  + Debug @@ -45,119 +46,163 @@ - ..\packages\Xamarin.AndroidX.Annotation.Experimental.1.0.0.9\lib\monoandroid120\Xamarin.AndroidX.Annotation.Experimental.dll + ..\packages\Xamarin.AndroidX.Annotation.Experimental.1.2.0.2\lib\monoandroid12.0\Xamarin.AndroidX.Annotation.Experimental.dll ..\packages\Xamarin.AndroidX.ConstraintLayout.Solver.2.0.4.2\lib\monoandroid120\Xamarin.AndroidX.ConstraintLayout.Solver.dll - ..\packages\Xamarin.AndroidX.MultiDex.2.0.1.7\lib\monoandroid120\Xamarin.AndroidX.MultiDex.dll + ..\packages\Xamarin.AndroidX.MultiDex.2.0.1.13\lib\monoandroid12.0\Xamarin.AndroidX.MultiDex.dll - ..\packages\Xamarin.AndroidX.Annotation.1.1.0.9\lib\monoandroid120\Xamarin.AndroidX.Annotation.dll + ..\packages\Xamarin.AndroidX.Annotation.1.3.0.4\lib\monoandroid12.0\Xamarin.AndroidX.Annotation.dll - ..\packages\Xamarin.AndroidX.Arch.Core.Common.2.1.0.8\lib\monoandroid120\Xamarin.AndroidX.Arch.Core.Common.dll + ..\packages\Xamarin.AndroidX.Arch.Core.Common.2.1.0.15\lib\monoandroid12.0\Xamarin.AndroidX.Arch.Core.Common.dll - ..\packages\Xamarin.AndroidX.CardView.1.0.0.8\lib\monoandroid120\Xamarin.AndroidX.CardView.dll + ..\packages\Xamarin.AndroidX.CardView.1.0.0.16\lib\monoandroid12.0\Xamarin.AndroidX.CardView.dll - ..\packages\Xamarin.AndroidX.Collection.1.1.0.7\lib\monoandroid120\Xamarin.AndroidX.Collection.dll + ..\packages\Xamarin.AndroidX.Collection.1.2.0.4\lib\monoandroid12.0\Xamarin.AndroidX.Collection.dll - ..\packages\Xamarin.AndroidX.CursorAdapter.1.0.0.7\lib\monoandroid120\Xamarin.AndroidX.CursorAdapter.dll + ..\packages\Xamarin.AndroidX.CursorAdapter.1.0.0.14\lib\monoandroid12.0\Xamarin.AndroidX.CursorAdapter.dll - ..\packages\Xamarin.AndroidX.DocumentFile.1.0.1.7\lib\monoandroid120\Xamarin.AndroidX.DocumentFile.dll + ..\packages\Xamarin.AndroidX.DocumentFile.1.0.1.14\lib\monoandroid12.0\Xamarin.AndroidX.DocumentFile.dll - ..\packages\Xamarin.AndroidX.Interpolator.1.0.0.7\lib\monoandroid120\Xamarin.AndroidX.Interpolator.dll + ..\packages\Xamarin.AndroidX.Interpolator.1.0.0.14\lib\monoandroid12.0\Xamarin.AndroidX.Interpolator.dll - ..\packages\Xamarin.AndroidX.Lifecycle.Common.2.3.0.1\lib\monoandroid120\Xamarin.AndroidX.Lifecycle.Common.dll + ..\packages\Xamarin.AndroidX.Lifecycle.Common.2.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Lifecycle.Common.dll - ..\packages\Xamarin.AndroidX.Lifecycle.LiveData.Core.2.3.0.1\lib\monoandroid120\Xamarin.AndroidX.Lifecycle.LiveData.Core.dll + ..\packages\Xamarin.AndroidX.Lifecycle.LiveData.Core.2.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Lifecycle.LiveData.Core.dll - ..\packages\Xamarin.AndroidX.Lifecycle.Runtime.2.3.0.1\lib\monoandroid120\Xamarin.AndroidX.Lifecycle.Runtime.dll + ..\packages\Xamarin.AndroidX.Lifecycle.Runtime.2.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Lifecycle.Runtime.dll - ..\packages\Xamarin.AndroidX.Lifecycle.ViewModel.2.3.0.1\lib\monoandroid120\Xamarin.AndroidX.Lifecycle.ViewModel.dll + ..\packages\Xamarin.AndroidX.Lifecycle.ViewModel.2.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Lifecycle.ViewModel.dll - ..\packages\Xamarin.AndroidX.LocalBroadcastManager.1.0.0.7\lib\monoandroid120\Xamarin.AndroidX.LocalBroadcastManager.dll + ..\packages\Xamarin.AndroidX.LocalBroadcastManager.1.1.0.2\lib\monoandroid12.0\Xamarin.AndroidX.LocalBroadcastManager.dll - ..\packages\Xamarin.AndroidX.Print.1.0.0.7\lib\monoandroid120\Xamarin.AndroidX.Print.dll + ..\packages\Xamarin.AndroidX.Print.1.0.0.14\lib\monoandroid12.0\Xamarin.AndroidX.Print.dll - ..\packages\Xamarin.AndroidX.SavedState.1.1.0.1\lib\monoandroid120\Xamarin.AndroidX.SavedState.dll + ..\packages\Xamarin.AndroidX.SavedState.1.1.0.8\lib\monoandroid12.0\Xamarin.AndroidX.SavedState.dll - ..\packages\Xamarin.AndroidX.Lifecycle.ViewModelSavedState.2.3.0.1\lib\monoandroid120\Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll + ..\packages\Xamarin.AndroidX.Lifecycle.ViewModelSavedState.2.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll - ..\packages\Xamarin.AndroidX.VersionedParcelable.1.1.1.7\lib\monoandroid120\Xamarin.AndroidX.VersionedParcelable.dll + ..\packages\Xamarin.AndroidX.VersionedParcelable.1.1.1.14\lib\monoandroid12.0\Xamarin.AndroidX.VersionedParcelable.dll - ..\packages\Xamarin.AndroidX.Core.1.3.2.3\lib\monoandroid120\Xamarin.AndroidX.Core.dll + ..\packages\Xamarin.AndroidX.Core.1.8.0.1\lib\monoandroid12.0\Xamarin.AndroidX.Core.dll - ..\packages\Xamarin.AndroidX.Activity.1.2.0.1\lib\monoandroid120\Xamarin.AndroidX.Activity.dll + ..\packages\Xamarin.AndroidX.Activity.1.4.0.4\lib\monoandroid12.0\Xamarin.AndroidX.Activity.dll - ..\packages\Xamarin.AndroidX.CustomView.1.1.0.6\lib\monoandroid120\Xamarin.AndroidX.CustomView.dll + ..\packages\Xamarin.AndroidX.CustomView.1.1.0.13\lib\monoandroid12.0\Xamarin.AndroidX.CustomView.dll - ..\packages\Xamarin.AndroidX.CoordinatorLayout.1.1.0.7\lib\monoandroid120\Xamarin.AndroidX.CoordinatorLayout.dll + ..\packages\Xamarin.AndroidX.CoordinatorLayout.1.2.0.2\lib\monoandroid12.0\Xamarin.AndroidX.CoordinatorLayout.dll - ..\packages\Xamarin.AndroidX.DrawerLayout.1.1.1.2\lib\monoandroid120\Xamarin.AndroidX.DrawerLayout.dll + ..\packages\Xamarin.AndroidX.DrawerLayout.1.1.1.9\lib\monoandroid12.0\Xamarin.AndroidX.DrawerLayout.dll - ..\packages\Xamarin.AndroidX.Loader.1.1.0.7\lib\monoandroid120\Xamarin.AndroidX.Loader.dll + ..\packages\Xamarin.AndroidX.Loader.1.1.0.14\lib\monoandroid12.0\Xamarin.AndroidX.Loader.dll - ..\packages\Xamarin.AndroidX.Legacy.Support.Core.Utils.1.0.0.7\lib\monoandroid120\Xamarin.AndroidX.Legacy.Support.Core.Utils.dll + ..\packages\Xamarin.AndroidX.Legacy.Support.Core.Utils.1.0.0.14\lib\monoandroid12.0\Xamarin.AndroidX.Legacy.Support.Core.Utils.dll - ..\packages\Xamarin.AndroidX.DynamicAnimation.1.0.0.7\lib\monoandroid120\Xamarin.AndroidX.DynamicAnimation.dll + ..\packages\Xamarin.AndroidX.DynamicAnimation.1.0.0.14\lib\monoandroid12.0\Xamarin.AndroidX.DynamicAnimation.dll - ..\packages\Xamarin.AndroidX.RecyclerView.1.1.0.8\lib\monoandroid120\Xamarin.AndroidX.RecyclerView.dll + ..\packages\Xamarin.AndroidX.RecyclerView.1.2.1.7\lib\monoandroid12.0\Xamarin.AndroidX.RecyclerView.dll - ..\packages\Xamarin.AndroidX.VectorDrawable.1.1.0.7\lib\monoandroid120\Xamarin.AndroidX.VectorDrawable.dll + ..\packages\Xamarin.AndroidX.VectorDrawable.1.1.0.14\lib\monoandroid12.0\Xamarin.AndroidX.VectorDrawable.dll - ..\packages\Xamarin.AndroidX.VectorDrawable.Animated.1.1.0.7\lib\monoandroid120\Xamarin.AndroidX.VectorDrawable.Animated.dll + ..\packages\Xamarin.AndroidX.VectorDrawable.Animated.1.1.0.14\lib\monoandroid12.0\Xamarin.AndroidX.VectorDrawable.Animated.dll - ..\packages\Xamarin.AndroidX.AppCompat.AppCompatResources.1.2.0.7\lib\monoandroid120\Xamarin.AndroidX.AppCompat.AppCompatResources.dll + ..\packages\Xamarin.AndroidX.AppCompat.AppCompatResources.1.4.2.1\lib\monoandroid12.0\Xamarin.AndroidX.AppCompat.AppCompatResources.dll - ..\packages\Xamarin.AndroidX.ViewPager.1.0.0.7\lib\monoandroid120\Xamarin.AndroidX.ViewPager.dll + ..\packages\Xamarin.AndroidX.ViewPager.1.0.0.14\lib\monoandroid12.0\Xamarin.AndroidX.ViewPager.dll - ..\packages\Xamarin.AndroidX.Fragment.1.3.0.1\lib\monoandroid120\Xamarin.AndroidX.Fragment.dll + ..\packages\Xamarin.AndroidX.Fragment.1.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Fragment.dll - ..\packages\Xamarin.AndroidX.AppCompat.1.2.0.7\lib\monoandroid120\Xamarin.AndroidX.AppCompat.dll + ..\packages\Xamarin.AndroidX.AppCompat.1.4.2.1\lib\monoandroid12.0\Xamarin.AndroidX.AppCompat.dll - ..\packages\Xamarin.AndroidX.ConstraintLayout.2.0.4.2\lib\monoandroid120\Xamarin.AndroidX.ConstraintLayout.dll + ..\packages\Xamarin.AndroidX.ConstraintLayout.2.1.4.1\lib\monoandroid12.0\Xamarin.AndroidX.ConstraintLayout.dll - ..\packages\Xamarin.AndroidX.Transition.1.4.0.1\lib\monoandroid120\Xamarin.AndroidX.Transition.dll + ..\packages\Xamarin.AndroidX.Transition.1.4.1.7\lib\monoandroid12.0\Xamarin.AndroidX.Transition.dll - ..\packages\Xamarin.AndroidX.ViewPager2.1.0.0.9\lib\monoandroid120\Xamarin.AndroidX.ViewPager2.dll + ..\packages\Xamarin.AndroidX.ViewPager2.1.0.0.16\lib\monoandroid12.0\Xamarin.AndroidX.ViewPager2.dll - ..\packages\Xamarin.Google.Android.Material.1.3.0.1\lib\monoandroid120\Xamarin.Google.Android.Material.dll + ..\packages\Xamarin.Google.Android.Material.1.6.1.1\lib\monoandroid12.0\Xamarin.Google.Android.Material.dll + + + + + ..\packages\Xamarin.AndroidX.ConstraintLayout.Core.1.0.4.1\lib\monoandroid12.0\Xamarin.AndroidX.ConstraintLayout.Core.dll + + + ..\packages\Xamarin.AndroidX.Arch.Core.Runtime.2.1.0.15\lib\monoandroid12.0\Xamarin.AndroidX.Arch.Core.Runtime.dll + + + ..\packages\Xamarin.AndroidX.ResourceInspection.Annotation.1.0.1.2\lib\monoandroid12.0\Xamarin.AndroidX.ResourceInspection.Annotation.dll + + + ..\packages\Xamarin.AndroidX.Tracing.Tracing.1.1.0.1\lib\monoandroid12.0\Xamarin.AndroidX.Tracing.Tracing.dll + + + ..\packages\Xamarin.AndroidX.Startup.StartupRuntime.1.1.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Startup.StartupRuntime.dll + + + ..\packages\Xamarin.AndroidX.Lifecycle.Process.2.4.1.2\lib\monoandroid12.0\Xamarin.AndroidX.Lifecycle.Process.dll + + + ..\packages\Xamarin.Google.Guava.ListenableFuture.1.0.0.9\lib\monoandroid12.0\Xamarin.Google.Guava.ListenableFuture.dll + + + ..\packages\Xamarin.AndroidX.Concurrent.Futures.1.1.0.9\lib\monoandroid12.0\Xamarin.AndroidX.Concurrent.Futures.dll + + + ..\packages\Xamarin.AndroidX.Emoji2.1.1.0.2\lib\monoandroid12.0\Xamarin.AndroidX.Emoji2.dll + + + ..\packages\Xamarin.AndroidX.Emoji2.ViewsHelper.1.1.0.2\lib\monoandroid12.0\Xamarin.AndroidX.Emoji2.ViewsHelper.dll + + + ..\packages\Xamarin.Jetbrains.Annotations.23.0.0.4\lib\monoandroid12.0\Xamarin.Jetbrains.Annotations.dll + + + ..\packages\Xamarin.Kotlin.StdLib.Common.1.7.0\lib\monoandroid12.0\Xamarin.Kotlin.StdLib.Common.dll + + + ..\packages\Xamarin.Kotlin.StdLib.1.7.0\lib\monoandroid12.0\Xamarin.Kotlin.StdLib.dll + + + ..\packages\Xamarin.AndroidX.Core.Core.Ktx.1.8.0.1\lib\monoandroid12.0\Xamarin.AndroidX.Core.Core.Ktx.dll @@ -210,4 +255,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/samples/BuildMinimalMaterialAppCompat/ClassLibrary/packages.config b/samples/BuildMinimalMaterialAppCompat/ClassLibrary/packages.config index 0a8197cfb..197a00ec1 100644 --- a/samples/BuildMinimalMaterialAppCompat/ClassLibrary/packages.config +++ b/samples/BuildMinimalMaterialAppCompat/ClassLibrary/packages.config @@ -1,42 +1,56 @@  - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/samples/BuildMinimalMaterialAppCompat/NetStandardLibrary.SDKShortStyle/NetStandardLibrary.SDKShortStyle.csproj b/samples/BuildMinimalMaterialAppCompat/NetStandardLibrary.SDKShortStyle/NetStandardLibrary.SDKShortStyle.csproj index 06603bebc..6f44809a1 100644 --- a/samples/BuildMinimalMaterialAppCompat/NetStandardLibrary.SDKShortStyle/NetStandardLibrary.SDKShortStyle.csproj +++ b/samples/BuildMinimalMaterialAppCompat/NetStandardLibrary.SDKShortStyle/NetStandardLibrary.SDKShortStyle.csproj @@ -1,11 +1,18 @@ - + + - monoandroid120 + monoandroid12.0 - - + + + + + + diff --git a/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.Android/BuildXamarinFormsApp.Android.csproj b/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.Android/BuildXamarinFormsApp.Android.csproj index 637ef383e..bba5fdc14 100644 --- a/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.Android/BuildXamarinFormsApp.Android.csproj +++ b/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.Android/BuildXamarinFormsApp.Android.csproj @@ -16,7 +16,6 @@ Properties\AndroidManifest.xml Resources Assets - false v12.0 true true @@ -54,8 +53,8 @@ - - + + @@ -88,7 +87,7 @@ - {9147554D-1842-47FE-B9F5-ABF8414B0676} + {0762E7E2-F0CE-4390-915F-26B9B8A40B59} BuildXamarinFormsApp diff --git a/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.Android/Properties/AndroidManifest.xml b/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.Android/Properties/AndroidManifest.xml index 6016501e6..2c6d657ee 100644 --- a/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.Android/Properties/AndroidManifest.xml +++ b/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.Android/Properties/AndroidManifest.xml @@ -1,9 +1,9 @@ - + - - - - + + + + \ No newline at end of file diff --git a/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.iOS/BuildXamarinFormsApp.iOS.csproj b/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.iOS/BuildXamarinFormsApp.iOS.csproj index 541c07d13..4267e856c 100644 --- a/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.iOS/BuildXamarinFormsApp.iOS.csproj +++ b/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.iOS/BuildXamarinFormsApp.iOS.csproj @@ -27,6 +27,7 @@ x86_64 None true + 8.0 none @@ -36,6 +37,7 @@ 4 None x86_64 + 8.0 true @@ -51,6 +53,7 @@ Entitlements.plist None -all + 8.0 none @@ -61,6 +64,8 @@ ARM64 iPhone Developer Entitlements.plist + SdkOnly + 8.0 @@ -132,13 +137,13 @@ - - + + - {9147554D-1842-47FE-B9F5-ABF8414B0676} + {0762E7E2-F0CE-4390-915F-26B9B8A40B59} BuildXamarinFormsApp diff --git a/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.csproj b/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.csproj index 0fb75ec81..8998d6f72 100644 --- a/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.csproj +++ b/samples/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp/BuildXamarinFormsApp.csproj @@ -8,10 +8,14 @@ portable true + 8.0 + + 8.0 + - - + + \ No newline at end of file diff --git a/samples/NuGet.config b/samples/NuGet.config index 46ebed954..2dde3cba2 100644 --- a/samples/NuGet.config +++ b/samples/NuGet.config @@ -7,6 +7,42 @@ + + + + + + + + + + + + + + + + + + + + + From cfd3897cd2b576a2bab544b70c309ec864658e77 Mon Sep 17 00:00:00 2001 From: moljac Date: Fri, 15 Jul 2022 19:30:04 +0200 Subject: [PATCH 46/58] dotnet (modern/new) samples --- samples/.gitignore | 2 + samples/dotnet/BuildAllDotNet.sln | 27 ++ .../dotnet/BuildAllDotNet/AndroidManifest.xml | 6 + .../BuildAllDotNet/BuildAllDotNet.csproj | 26 ++ samples/dotnet/BuildAllDotNet/MainActivity.cs | 13 + .../Resources/AboutResources.txt | 44 ++ .../Resources/layout/activity_main.xml | 13 + .../mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../Resources/mipmap-hdpi/ic_launcher.png | Bin 0 -> 1634 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 1441 bytes .../mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 3552 bytes .../Resources/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1362 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 958 bytes .../mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2413 bytes .../Resources/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 2307 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 2056 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 4858 bytes .../Resources/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 3871 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 3403 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 8001 bytes .../Resources/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 5016 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 4889 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 10893 bytes .../values/ic_launcher_background.xml | 4 + .../Resources/values/strings.xml | 4 + samples/dotnet/BuildAllMauiApp.sln | 27 ++ samples/dotnet/BuildAllMauiApp/App.xaml | 14 + samples/dotnet/BuildAllMauiApp/App.xaml.cs | 11 + samples/dotnet/BuildAllMauiApp/AppShell.xaml | 14 + .../dotnet/BuildAllMauiApp/AppShell.xaml.cs | 9 + .../BuildAllMauiApp/BuildAllMauiApp.csproj | 53 +++ samples/dotnet/BuildAllMauiApp/MainPage.xaml | 41 ++ .../dotnet/BuildAllMauiApp/MainPage.xaml.cs | 24 ++ samples/dotnet/BuildAllMauiApp/MauiProgram.cs | 18 + .../Platforms/Android/AndroidManifest.xml | 6 + .../Platforms/Android/MainActivity.cs | 10 + .../Platforms/Android/MainApplication.cs | 15 + .../Android/Resources/values/colors.xml | 6 + .../Platforms/MacCatalyst/AppDelegate.cs | 9 + .../Platforms/MacCatalyst/Info.plist | 30 ++ .../Platforms/MacCatalyst/Program.cs | 15 + .../BuildAllMauiApp/Platforms/Tizen/Main.cs | 16 + .../Platforms/Tizen/tizen-manifest.xml | 15 + .../Platforms/Windows/App.xaml | 8 + .../Platforms/Windows/App.xaml.cs | 24 ++ .../Platforms/Windows/Package.appxmanifest | 43 ++ .../Platforms/Windows/app.manifest | 15 + .../Platforms/iOS/AppDelegate.cs | 9 + .../BuildAllMauiApp/Platforms/iOS/Info.plist | 32 ++ .../BuildAllMauiApp/Platforms/iOS/Program.cs | 15 + .../Resources/AppIcon/appicon.svg | 4 + .../Resources/AppIcon/appiconfg.svg | 8 + .../Resources/Fonts/OpenSans-Regular.ttf | Bin 0 -> 107140 bytes .../Resources/Fonts/OpenSans-Semibold.ttf | Bin 0 -> 111028 bytes .../Resources/Images/dotnet_bot.svg | 93 +++++ .../Resources/Raw/AboutAssets.txt | 15 + .../Resources/Splash/splash.svg | 8 + .../Resources/Styles/Colors.xaml | 44 ++ .../Resources/Styles/Styles.xaml | 384 ++++++++++++++++++ samples/dotnet/BuildAllXamarinForms.sln | 62 +++ .../Assets/AboutAssets.txt | 20 + .../BuildAllXamarinForms.Android.csproj | 120 ++++++ .../MainActivity.cs | 28 ++ .../Properties/AndroidManifest.xml | 6 + .../Properties/AssemblyInfo.cs | 31 ++ .../Resources/AboutResources.txt | 51 +++ .../Resources/mipmap-anydpi-v26/icon.xml | 5 + .../mipmap-anydpi-v26/icon_round.xml | 5 + .../Resources/mipmap-hdpi/icon.png | Bin 0 -> 4754 bytes .../mipmap-hdpi/launcher_foreground.png | Bin 0 -> 11695 bytes .../Resources/mipmap-mdpi/icon.png | Bin 0 -> 2807 bytes .../mipmap-mdpi/launcher_foreground.png | Bin 0 -> 6439 bytes .../Resources/mipmap-xhdpi/icon.png | Bin 0 -> 7028 bytes .../mipmap-xhdpi/launcher_foreground.png | Bin 0 -> 17898 bytes .../Resources/mipmap-xxhdpi/icon.png | Bin 0 -> 12827 bytes .../mipmap-xxhdpi/launcher_foreground.png | Bin 0 -> 33484 bytes .../Resources/mipmap-xxxhdpi/icon.png | Bin 0 -> 19380 bytes .../mipmap-xxxhdpi/launcher_foreground.png | Bin 0 -> 52285 bytes .../Resources/values/colors.xml | 8 + .../Resources/values/styles.xml | 18 + .../BuildAllXamarinForms.iOS/AppDelegate.cs | 32 ++ .../AppIcon.appiconset/Contents.json | 117 ++++++ .../AppIcon.appiconset/Icon1024.png | Bin 0 -> 70429 bytes .../AppIcon.appiconset/Icon120.png | Bin 0 -> 3773 bytes .../AppIcon.appiconset/Icon152.png | Bin 0 -> 4750 bytes .../AppIcon.appiconset/Icon167.png | Bin 0 -> 4692 bytes .../AppIcon.appiconset/Icon180.png | Bin 0 -> 5192 bytes .../AppIcon.appiconset/Icon20.png | Bin 0 -> 1313 bytes .../AppIcon.appiconset/Icon29.png | Bin 0 -> 845 bytes .../AppIcon.appiconset/Icon40.png | Bin 0 -> 1101 bytes .../AppIcon.appiconset/Icon58.png | Bin 0 -> 1761 bytes .../AppIcon.appiconset/Icon60.png | Bin 0 -> 2537 bytes .../AppIcon.appiconset/Icon76.png | Bin 0 -> 2332 bytes .../AppIcon.appiconset/Icon80.png | Bin 0 -> 2454 bytes .../AppIcon.appiconset/Icon87.png | Bin 0 -> 2758 bytes .../BuildAllXamarinForms.iOS.csproj | 181 +++++++++ .../Entitlements.plist | 7 + .../BuildAllXamarinForms.iOS/Info.plist | 38 ++ .../BuildAllXamarinForms.iOS/Main.cs | 21 + .../Resources/Default-568h@2x.png | Bin 0 -> 8884 bytes .../Resources/Default-Portrait.png | Bin 0 -> 10710 bytes .../Resources/Default-Portrait@2x.png | Bin 0 -> 34540 bytes .../Resources/Default.png | Bin 0 -> 7243 bytes .../Resources/Default@2x.png | Bin 0 -> 8368 bytes .../Resources/LaunchScreen.storyboard | 40 ++ .../BuildAllXamarinForms/App.xaml | 8 + .../BuildAllXamarinForms/App.xaml.cs | 29 ++ .../BuildAllXamarinForms/AssemblyInfo.cs | 3 + .../BuildAllXamarinForms.csproj | 21 + .../BuildAllXamarinForms/MainPage.xaml | 25 ++ .../BuildAllXamarinForms/MainPage.xaml.cs | 19 + samples/dotnet/Directory.Packages.AX.props | 3 + samples/dotnet/Directory.Packages.props | 4 + .../dotnet/Directory.Packages.samples.props | 30 ++ 115 files changed, 2116 insertions(+) create mode 100644 samples/.gitignore create mode 100644 samples/dotnet/BuildAllDotNet.sln create mode 100644 samples/dotnet/BuildAllDotNet/AndroidManifest.xml create mode 100644 samples/dotnet/BuildAllDotNet/BuildAllDotNet.csproj create mode 100644 samples/dotnet/BuildAllDotNet/MainActivity.cs create mode 100644 samples/dotnet/BuildAllDotNet/Resources/AboutResources.txt create mode 100644 samples/dotnet/BuildAllDotNet/Resources/layout/activity_main.xml create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher_round.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-mdpi/ic_launcher.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-mdpi/ic_launcher_round.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-xhdpi/ic_launcher.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-xhdpi/ic_launcher_round.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-xxxhdpi/ic_launcher.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 samples/dotnet/BuildAllDotNet/Resources/values/ic_launcher_background.xml create mode 100644 samples/dotnet/BuildAllDotNet/Resources/values/strings.xml create mode 100644 samples/dotnet/BuildAllMauiApp.sln create mode 100644 samples/dotnet/BuildAllMauiApp/App.xaml create mode 100644 samples/dotnet/BuildAllMauiApp/App.xaml.cs create mode 100644 samples/dotnet/BuildAllMauiApp/AppShell.xaml create mode 100644 samples/dotnet/BuildAllMauiApp/AppShell.xaml.cs create mode 100644 samples/dotnet/BuildAllMauiApp/BuildAllMauiApp.csproj create mode 100644 samples/dotnet/BuildAllMauiApp/MainPage.xaml create mode 100644 samples/dotnet/BuildAllMauiApp/MainPage.xaml.cs create mode 100644 samples/dotnet/BuildAllMauiApp/MauiProgram.cs create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/Android/AndroidManifest.xml create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/Android/MainActivity.cs create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/Android/MainApplication.cs create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/Android/Resources/values/colors.xml create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/MacCatalyst/AppDelegate.cs create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/MacCatalyst/Info.plist create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/MacCatalyst/Program.cs create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/Tizen/Main.cs create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/Tizen/tizen-manifest.xml create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/Windows/App.xaml create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/Windows/App.xaml.cs create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/Windows/Package.appxmanifest create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/Windows/app.manifest create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/iOS/AppDelegate.cs create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/iOS/Info.plist create mode 100644 samples/dotnet/BuildAllMauiApp/Platforms/iOS/Program.cs create mode 100644 samples/dotnet/BuildAllMauiApp/Resources/AppIcon/appicon.svg create mode 100644 samples/dotnet/BuildAllMauiApp/Resources/AppIcon/appiconfg.svg create mode 100644 samples/dotnet/BuildAllMauiApp/Resources/Fonts/OpenSans-Regular.ttf create mode 100644 samples/dotnet/BuildAllMauiApp/Resources/Fonts/OpenSans-Semibold.ttf create mode 100644 samples/dotnet/BuildAllMauiApp/Resources/Images/dotnet_bot.svg create mode 100644 samples/dotnet/BuildAllMauiApp/Resources/Raw/AboutAssets.txt create mode 100644 samples/dotnet/BuildAllMauiApp/Resources/Splash/splash.svg create mode 100644 samples/dotnet/BuildAllMauiApp/Resources/Styles/Colors.xaml create mode 100644 samples/dotnet/BuildAllMauiApp/Resources/Styles/Styles.xaml create mode 100644 samples/dotnet/BuildAllXamarinForms.sln create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Assets/AboutAssets.txt create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/BuildAllXamarinForms.Android.csproj create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/MainActivity.cs create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Properties/AndroidManifest.xml create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Properties/AssemblyInfo.cs create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/AboutResources.txt create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/mipmap-anydpi-v26/icon.xml create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/mipmap-anydpi-v26/icon_round.xml create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/mipmap-hdpi/icon.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/mipmap-hdpi/launcher_foreground.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/mipmap-mdpi/icon.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/mipmap-mdpi/launcher_foreground.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/mipmap-xhdpi/icon.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/mipmap-xhdpi/launcher_foreground.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/mipmap-xxhdpi/icon.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/mipmap-xxhdpi/launcher_foreground.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/mipmap-xxxhdpi/icon.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/mipmap-xxxhdpi/launcher_foreground.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/values/colors.xml create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.Android/Resources/values/styles.xml create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/AppDelegate.cs create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon1024.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon120.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon152.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon167.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon180.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon20.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon29.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon40.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon58.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon60.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon76.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon80.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Assets.xcassets/AppIcon.appiconset/Icon87.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/BuildAllXamarinForms.iOS.csproj create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Entitlements.plist create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Info.plist create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Main.cs create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Resources/Default-568h@2x.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Resources/Default-Portrait.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Resources/Default-Portrait@2x.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Resources/Default.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Resources/Default@2x.png create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms.iOS/Resources/LaunchScreen.storyboard create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms/App.xaml create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms/App.xaml.cs create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms/AssemblyInfo.cs create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms/BuildAllXamarinForms.csproj create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms/MainPage.xaml create mode 100644 samples/dotnet/BuildAllXamarinForms/BuildAllXamarinForms/MainPage.xaml.cs create mode 100644 samples/dotnet/Directory.Packages.AX.props create mode 100644 samples/dotnet/Directory.Packages.props create mode 100644 samples/dotnet/Directory.Packages.samples.props diff --git a/samples/.gitignore b/samples/.gitignore new file mode 100644 index 000000000..18c2406ad --- /dev/null +++ b/samples/.gitignore @@ -0,0 +1,2 @@ +packages/ +packages-dotnet/ \ No newline at end of file diff --git a/samples/dotnet/BuildAllDotNet.sln b/samples/dotnet/BuildAllDotNet.sln new file mode 100644 index 000000000..23cb9a4a6 --- /dev/null +++ b/samples/dotnet/BuildAllDotNet.sln @@ -0,0 +1,27 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.28606.126 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildAllDotNet", "BuildAllDotNet\BuildAllDotNet.csproj", "{7CA41D33-5A33-4968-AEBD-9A76B7E83BB7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7CA41D33-5A33-4968-AEBD-9A76B7E83BB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7CA41D33-5A33-4968-AEBD-9A76B7E83BB7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7CA41D33-5A33-4968-AEBD-9A76B7E83BB7}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {7CA41D33-5A33-4968-AEBD-9A76B7E83BB7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7CA41D33-5A33-4968-AEBD-9A76B7E83BB7}.Release|Any CPU.Build.0 = Release|Any CPU + {7CA41D33-5A33-4968-AEBD-9A76B7E83BB7}.Release|Any CPU.Deploy.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {47AA0B75-DCFB-4D55-AFC5-DB072FDDCCB1} + EndGlobalSection +EndGlobal diff --git a/samples/dotnet/BuildAllDotNet/AndroidManifest.xml b/samples/dotnet/BuildAllDotNet/AndroidManifest.xml new file mode 100644 index 000000000..1811bb4fc --- /dev/null +++ b/samples/dotnet/BuildAllDotNet/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/samples/dotnet/BuildAllDotNet/BuildAllDotNet.csproj b/samples/dotnet/BuildAllDotNet/BuildAllDotNet.csproj new file mode 100644 index 000000000..51df5bad9 --- /dev/null +++ b/samples/dotnet/BuildAllDotNet/BuildAllDotNet.csproj @@ -0,0 +1,26 @@ + + + + net6.0-android + + + 28 + Exe + enable + enable + com.companyname.BuildAllDotNet + 1 + 1.0 + + + true + + + False + False + + + + + + \ No newline at end of file diff --git a/samples/dotnet/BuildAllDotNet/MainActivity.cs b/samples/dotnet/BuildAllDotNet/MainActivity.cs new file mode 100644 index 000000000..0776a0e19 --- /dev/null +++ b/samples/dotnet/BuildAllDotNet/MainActivity.cs @@ -0,0 +1,13 @@ +namespace BuildAllDotNet; + +[Activity(Label = "@string/app_name", MainLauncher = true)] +public class MainActivity : Activity +{ + protected override void OnCreate(Bundle? savedInstanceState) + { + base.OnCreate(savedInstanceState); + + // Set our view from the "main" layout resource + SetContentView(Resource.Layout.activity_main); + } +} \ No newline at end of file diff --git a/samples/dotnet/BuildAllDotNet/Resources/AboutResources.txt b/samples/dotnet/BuildAllDotNet/Resources/AboutResources.txt new file mode 100644 index 000000000..219f42544 --- /dev/null +++ b/samples/dotnet/BuildAllDotNet/Resources/AboutResources.txt @@ -0,0 +1,44 @@ +Images, layout descriptions, binary blobs and string dictionaries can be included +in your application as resource files. Various Android APIs are designed to +operate on the resource IDs instead of dealing with images, strings or binary blobs +directly. + +For example, a sample Android app that contains a user interface layout (main.xml), +an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) +would keep its resources in the "Resources" directory of the application: + +Resources/ + drawable/ + icon.png + + layout/ + main.xml + + values/ + strings.xml + +In order to get the build system to recognize Android resources, set the build action to +"AndroidResource". The native Android APIs do not operate directly with filenames, but +instead operate on resource IDs. When you compile an Android application that uses resources, +the build system will package the resources for distribution and generate a class called "Resource" +(this is an Android convention) that contains the tokens for each one of the resources +included. For example, for the above Resources layout, this is what the Resource class would expose: + +public class Resource { + public class Drawable { + public const int icon = 0x123; + } + + public class Layout { + public const int main = 0x456; + } + + public class Strings { + public const int first_string = 0xabc; + public const int second_string = 0xbcd; + } +} + +You would then use Resource.Drawable.icon to reference the drawable/icon.png file, or +Resource.Layout.main to reference the layout/main.xml file, or Resource.Strings.first_string +to reference the first string in the dictionary file values/strings.xml. \ No newline at end of file diff --git a/samples/dotnet/BuildAllDotNet/Resources/layout/activity_main.xml b/samples/dotnet/BuildAllDotNet/Resources/layout/activity_main.xml new file mode 100644 index 000000000..f94985291 --- /dev/null +++ b/samples/dotnet/BuildAllDotNet/Resources/layout/activity_main.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/samples/dotnet/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher.xml b/samples/dotnet/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 000000000..036d09bc5 --- /dev/null +++ b/samples/dotnet/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/samples/dotnet/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher_round.xml b/samples/dotnet/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 000000000..036d09bc5 --- /dev/null +++ b/samples/dotnet/BuildAllDotNet/Resources/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/samples/dotnet/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher.png b/samples/dotnet/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..2531cb31efc3a0a3de6113ab9c7845dc1d9654e4 GIT binary patch literal 1634 zcmV-o2A%ndP)B+Z3$1(8#|f~9B42Y^N-3=o2YCq0YUY$Zu=pM;#hG{lHi%n~Vh z1d1vN#EDO19X?u$`cV z!a}AKG@Bb*#1cdYg8af_;jP69b`k%G1n?0=F^8bI^o>wg-vEliK^U}y^!D|^p|ax; zC|pK=f+FHp!RUAhtlpGGUxJb|wm^5! z<1r%$<$TR02wajxKZ4MiR#aAxDLE(##UNyD|ABr4WoGRF*?@e^2|~Hq(gurSSJH*;Q~5lw{J5A_(PCXBWhzZE${qgzv0{dk-F( z1<}>r181tLiEla&f1j&?p2xjbfp2cTt-c1Ox~?9EhK9`cJ9Vatf)loIoQ@#h&}cIGD>Z#QLE}&(bMo@7Ff|7f#Nm^$PJpVcbj+v~K7wfVwF}=) zRQsc+`=A-+C)vrRvaIC-5u>|;3h z*G4-u#RI<_vuSN~vZ6{|I~q5FFk3%de#+*>UFG>&bq6~ zUEMZ~FIOmFO=kA^5rkp-Msw?^63xvdXVZ-rv@{6{iVO}M!}^Je%2BPbi+(L<5<%~h z2v^D+f<|j%7~cJjOzg*!GPQ{%uE{i%YgcZhuZh{yNlQ}RhaU1jd=K+AopVKP+D}&} zZ3y$llqZiln=Z_A$!qzkGbX0D{?l(v5@1|`QyCvCnQ`eKI>|zj_zo%y#fKf85VhQ} zP)y&j4P*nR3q{-o35iV6nx7QDqq<;WDVIt}|N%`!dgv*y3va8eLNj zU9x(?ieweHfQ*yXk8|=ssZ~qJEz^QoKJ|iGa>ge_Vm_8l}S+UvJ{8g4jr+o#aTSFsz1W;PDP zW765JXGU#3JL>SlIl3NRV2{7B2dLO1cIP)a4ZRYL|MBD36O1#oSgAf}APz5@;x=_U-<=y)Py7*}O5(uu7BL_eLe6Ek7pH|G zMq)FrF1EFq&yruS5b=F=w)fVVoPd(oeRyTFym_Uwyn~L=OL(O?cf^2L5R(SmjORx6 z%nmZf^W=3pkvT*>@osUNi>DULH1hL;y`JGQX$onRCr_U0=H~Viodq!<7Q{3rPk~{G gu#IhOV;e2n|1(WJB~7~kivR!s07*qoM6N<$g7lUVaR2}S literal 0 HcmV?d00001 diff --git a/samples/dotnet/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher_foreground.png b/samples/dotnet/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..7a859c25556af7a2e46e22a2220eaded55628e9f GIT binary patch literal 1441 zcma)+`#%#30L6FjMQg%tuA0%p#0??L`*E=rD#U2F4L5n@F+O9Sp;(QwEQy7+?sX?r zCWN(!Hg`+j5k8*H@|yQEtnAi*(D{7M`Tlf1=eKjq)BUsp2nqrK01B=yNUv`!`EH=x zx8$xJQUd^Fuec%|(TT&0V}4orr_==mmCnEuzD+ff8Pg>pJRqsWsD{#?eGPaCu0(sEH_2RG@<6-Nt<8 ztPMUmmAz9Ga$23Y9~p9dqJSgJJ#Jk_r@o13^%d-Xf46i+Lrmz3 zy9(DUDVXj;Zny7nO+yn&W2flEX=C!8&D0zI`G# z8;XmlonoghgRFUY*$+7pPLa}Uy)onw>TT9t(FTV6#BV8&lXWDPRvQW_n~xZ|yLcZjX>m$Eaf1)dwXS`&E^ zkNjO;%;fWywchc=+w4utQ0Vbn%B>b~yy4I#D{?1!P`$P>Wdo+ljCo(tYia04JTc=$$u+IbzDVPFYpm8+AQj+ zGKH zfS{{hN%W)kF+(26oZpkURD5Q_G_z97F6{Jval+TOj-;5y)*Rdo3a$^^k~q5gpTzmp1q@+2X9O z;_VUF>;s~C1~gpFrFoh?{aQ|LlBIYz!z^P~lndX5-ES)p#+9GW*|-WBTzQ*&gKOE` zM##bUaWl`6rZBXw0!~_oUhf+H$tNc@lLZCj0bZT^KSo@C|P?7YR8dP0se1jj z9aA0|7MONf(ZYaLZs$s}r*05fx25-iN6mZe_*Rq%uyz(+^-k;t`!R`?uf~rn#1ZC7 zuv3}UrmMzcBbo4jym@fS5%I+G`GJIC1s$)MQs3Vhld?a2U;w}$@V%dC@%qpO7+3#$ N&GnQ!lI8SQ#{X#Iv!eh2 literal 0 HcmV?d00001 diff --git a/samples/dotnet/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher_round.png b/samples/dotnet/BuildAllDotNet/Resources/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..b8d35b3a1cfe5308bb099a5a1429555c41417e36 GIT binary patch literal 3552 zcmV<64IlD}P)o8zx62qSGZVDjFcw zmxU;G#z^HzQ!GXJ-*69pbEeNn;$q%9`<^_ve6S+hkfX>pEmUTks+2m@VN4e=-BfB# zcQM@~beFnE|8|&qR$IOR+Cm@fKKV*xuU`Zdvl=LK4a4vxD=}@uREG)CWaLRqJ5ybP zu6!%iC+?fAzSb|q<0OVH@(J1H8ThTgk0;W=21TJYwd22S48?0q?Ql<_H9oW?Q#<^| zeirUq0oDLxz*ubc^EioOzd5Deq{k}q4=YI_6Qm}Lx&A|+|0D}zEJqe60pgP7hwE|CF z@#G3rLLN!=hY3#Mncm#=bNubjDVN#!%R!#+yMuUTdtd@=nOZsg2kv6qi*x zzDFd9=@0{x|A>LZ;?=}}RP0ia7?F(2EK$;G^~ix^1(KmvlA1T%Me0V!5Mp(azrt*g z`GKR#Hle}^)6nEOi&5p=B`&3>XD&k7hNpOg6rWXgIVwRD#GYff08(lhSI*BM130r6 ztwLvix`bL=@1gtm@4J-l-fc!-e{&2~Oqs{qaK~p9f7wxs>V|45HOAS_daGw5xEuU;CIJ+92}tg z4<4ZP8$L$Eb4K%sldwI?Dr*+0^Cav!^8yGXz0q0enY&~)R;yOG00dN1dkvL6IfJJZ zVXu}^_&HPQzwpQx>^t=9m8u@|rU zGZkWRl_Ic3Qgwcn12rQ-p|)rUPVR0xZ|g z#6I?<=DMiep91ftqa7MkB{^?D-ZoQ_q4o#Zz5>gjTpeUp0 z3G@w~C|7{qc>5!&4by(n%Jp`iuf291jemANFJmoJ=kLN8bXoMLmT3fvj9{#fSNW<} zPWfc?!`YwgG7Mhr!;M=hJH@mEk5k`p+aWlYYie<%{DirkwsaCDMRv!-QbfD`F`U&* zo>5d65*-)D#>B#V$@hY}ZNj;cW4C_i&aXIcn%mJeYW9gE&#PbekM-NS=wn4l1Pv@ zMzD%cy$ABGjazr~@-TOPy^E&IU2N`Sc+MEK;iFAm2A0h&E$DX(ms?2dx_7F01)(i1 zt(1M_?Cw+ZHd@;uW{XK*Y{?Ju0ch5um8c1;jWfXy;v{GISLTsgmo00A* z8#H~vA1NDj?m{&xWtC4M{&ANL0wWz5DipHQ4JPOCWyT?wRHhZzZ zeZJFjg#>%C8}$u6=EclzKE2=~#v<4nARyoPtdc`q14SwhI__K?1o_n~Yb@iSRqNli zs3kSrZnRJbh=V@m8MSxBLHE(SRrcc`CQy{7<{rUV_*?AJCSmpCIGg>1Pb59_r4>#^ z(nn96vdGRMk_L&gj-oWj!lL9s60`o2)KQE1 zB&*KmVz3NtmJIw>|N6;iRC%JSJZi=ZuUXilH+U`xaL>hXvZ^UVLRHpEz@n>UwO_O{ zvxM&!UB21;HmhtN?84Q$8@99YqbIS1J!uhfSMyjD;F8UQWTYp=gUt@U%M2UX5p%4Kzf zcJbV2CClLAM^#U{Xz6L zJdsKRtEu5+&Ybs{fi3b28WN?!`q@NF5kI%@$vey#&m~jmHwA`7A1U07i4e+zpQNm|hsmsx_shxjsk(;ai>lwhlEheA0qLHoISKxd?ut+1!iOjA0S8%WxDr|ybBIOiWdU3lm z`-eQ?oQ5>5uzjd7ej1)jB$<=TK2p#pFi;o>wmV#sI7_BxK%(~=dnzy;Aqovnm`E`X z<`57N71R@7aPSTY2!M`7!(!s5%GHI9gb|Mfi808OJ5S4R8Y+~7+uvURZz0;p z$0s#rxNa}R6fBi{*o(kCWK;@xicx9yVII?fSHiQ~j)?aO3JQYL#1XJ5KSG|e0(*zs zOa;K*K(T=V9)Oo{S<-6w00i(zcy;?%WAK3C1Mvl$9;N=lVFfV>njP|tB6AU(uC?@> z>XDSeeB2Vo7A9ow#Js=(UMbBR<;r{YlREwU{QN+-qoC#%8Y!79O45D}o{p&oU}|T; z>W*ZQ?|P6=Q;;J~SYlu-7;}g~TnRh?FN7zL`Pd01O}@Uq@HG|@9IGE37W1SqA>&g? zTHZBSPGLzE$?Ht!kDJ76DBvsz?sa_Jgn8b?lwYVN8t5Cwz+*wV0=BG(XdZfBYHVG7 zgM)+piP`~Bia~<{b0Q>(OJWkWdn9S2YM^=t1#;S6S%7Af;8{qR!SG`HQiJ>24Sho2 zL}ElRCX5X{JPMx?>I+FAk*G-6f(-`qF+V?Th(J13AWvQ!t;+aJJVO7iBze?19H-RE z(+le5=|zn+71YB$_zj+cXCrYNXbXK1X@NeYU<{IQJ~|&+Vuu8n20(yGz=FMhv2fZG zydQSKNf0W)qyvJ7=KBu`Edqjn!#(_43OobPk~Yv*0DY05b$~lvw>!Y<4{sZy*+GK_ z4fXQ!4TV}T0S=6OG@&SRFASc6XQ2&|l>WaZP#hR`YNGwS5C*yUv?lc$Zn7uu(=Jd zBQr(wEwogv4g_{iFq~uA3k~Z|L@DvE#_JQ>CKxj(Q|L@;_pg7{hnT!9|ZQb+#ochnl1kg9D@G4hNk|1@c1c) z{PkOR|2qXG{Wo$7`M-9{ZVdTtdk+0Kb_u1e2S8@7a?0x`-IJ*AtKYskrENiB%2SAk%zG8F7zQf=Uw)BkpfBE_?MDjX& z@xO&fB(T^G|G)3ZNu2smpTF|o#wUh09?%1ZEU4JTml;2Q`T9S*q6Mrzuc{3gQ-A*d z{Q2vDYEeB{thm1G|F`eoaq0)fT1(#ya4b^Y1D+8X|DV5nO|V2c3(TM(uHGc5|Nf&V|J{K3i0U2yrD0-<#2-I@{x5Ip1M7*&D*x{joegF;bWbC? z(kra(q`n6-N}I4|UUdBS-G~1{3Hjh;&W{YUBz~nhg z|9eJe{4Z(f##+{cVkED+{l6Db&737`v6TNa;pIQg8*`u<_1?qB7^TPOFJHjLD9$4G z$4`iwAE;_BU%Le^B3KtGndh}^?w7N zp&3LI9GX_%Z^hMgm2i3hX^M$M&D3?3wyocP$TZWyV~|^v4II`1-Ns4G92qkYkC3*q zq5Vcp3$J%tR^A_hzW)HC>4{->YFc`|Q_{EF#LX=TNWTIEGZ*dOIh!!#7am`0)iN z!-Y*JzdqP8rN&2Y&y2(+EtA?m9-5+}#BXAw@$*D;zxcf=lRhYP2`ZYNoGdU|=;=Y1 z!-o@UOzpBVHoTpyopyF#@i)8YcdVaV?2ljDUj6>w?`yyA*Pf5cUSE9b6wq26;8J@~ z){!@7GpTmNE>2kO_POn1zf8`~}P?%{85(;s&nc+C&;t$4D5$+f9? z-8>e~Z&%(_OwrVd==PGc4mhTFjVafjdCqsM|EvEe$2)U;a9s0IGofbtHcpKz;cJR= z`DNzVI-iMtrg<$r*EFejE8l0oMM3e)a|=o;x>Mhk@*n)xx%2Rrt=4TnivwP5zpS-& z@5h3w<{9>vH!6KP74q!po!oh)$BI~jUu}4P|5ofvi@(2i9NyELbZ$qD}PI&+JJ3+^f2=YEuP zjpepXu;`->)%n@lB|b@Iv$k0qhJJp%S?O9t?)zjLwwY?z@=v^12)=lt^ZcwNoye^x z_uu*-x}ntY`mc3S`yMaaHuurqE~e`{G_IsMZdhw*{kDDS9h3WSQa;8d3vwO)d?WE+ z%*LAIs=2#$t=BZmPTP}xMpj0I9ti9_c{r`p zu+;ELV)~|tmk}}-GjAWQO5U<}Lr?bB5UX>pYf5~UOnY%ZTQR${nq6YQOHc15>q%#$ zl8$8k_1fsCw;<~OiJ-OiE?f7RJWt%N`#e!y=2`BhIqju|a?kW5QupmV#wx6HrSs?J z&nJroVy6i|*Og1U`{c;a^^dPvTfNJjdCg1nUS<*OC dK7&Kx57tYsZ49$p7vBM?@pScbS?83{1OVHE%8UR2 literal 0 HcmV?d00001 diff --git a/samples/dotnet/BuildAllDotNet/Resources/mipmap-mdpi/ic_launcher_round.png b/samples/dotnet/BuildAllDotNet/Resources/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..8f56909cddfa86f1387074bf43003f36d6e67be1 GIT binary patch literal 2413 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 b;}yxl--Ss53i@>Q4YQuNcebmsMJN0NT!aL! literal 0 HcmV?d00001 diff --git a/samples/dotnet/BuildAllDotNet/Resources/mipmap-xhdpi/ic_launcher_round.png b/samples/dotnet/BuildAllDotNet/Resources/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..9737d79c0492b2c8a811621660eba33e79fab959 GIT binary patch literal 4858 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 literal 0 HcmV?d00001 diff --git a/samples/dotnet/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher.png b/samples/dotnet/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..9133e31b43252d00767a6a3806df9ba68de2d265 GIT binary patch literal 3871 zcmZ{n_dgVX|Hs|AGwx({M)uw%qjECNKBIFkWs_{OPG-hgIT;-yd++QJvW2om=tM|& z%H9e2)c5=2=ka+x9`E=2^#{BjugCKpi$>{Of^a}6C@3!JA~i98FX7+NQ2pIx?Ufb^ z3VM>RrkZg8anp*{)c6w{ua@Q=_bH*Cuxq%LI*7AGBwto)H-4!zzcekaq&2morKG}n zDqW!T*L~Hk*w&fLWkN_%TRacHzZw}4ksU%uD{7=< z4l@F>pf_Cn{g0o4;i*1H;#1e1-8Sexy}Xv7sq#ll}DbR&61Jz5)YqB}ZOJOXIqaqfl-_k@P*k!*Y-1 zd(EHAJP_%kR{C}E1hMnU!7Nn5&Xc@ zOW#dX-a7S(bXQ1)GD`E2+dA)roFGLZ$YG!>vm17Q#~qSAB*6DaQd9MaCo|S}wqb6S9B=T`wCw7@qZA zHbS^wMo*b2CVh9inNqd!C^;{$*8EGWf1W{RE8+5O2vQgbd8Q|#Z&D)~7#LW|`W&2L z_SyasQE5fzr8$fM0Zn_(DI~(K;s=4IGw}=5`M4LXXw%?Zd&A4B^1?jOnMXtv(4tuj zATG@Fl~sFhQWT1;`B1D2SSa~}-c~CzLg>+!-;3#7J?rnfA!~pBo zKQ;tVz*}4Grw3mfA+SZK^Sp%H{@X6r2psg~wG{kKWi$fIuTaUYJFc+AxB^Hw2(({r z_$0>HdR@Wy8L4?wi;8`FQFPbpt2#h8fmG`&B8tlM5!2hu3~W9;Mqv1GU+Z^bFm_b1!BHQjAzk$7fP& z^+rYz zVHe?I`XfV!78$8wvEthV$qSmS@AMbm$$^&CjwO*XiO*z1y?$BvZ^Zy5u4Q%*GwkuJ zdFhfDJOt}_7~rgd?V5#_fpC@U$k32TWQE{Z8>ywyPzxH=>)UDGWYnmX(Fb+@_3Ou~ zQDTc)-$8tyLf$*#c|I%opcN|Iwpi0aok4zEm|`s&mJ65u`O9-E$2vwO(g>l&pPd{? zI9B0e|2d$nht>or~UhZeZIs-;+8ZZsPv$1!{ zYkPAaeuiW<{zM*KV2e#>&FcN2K4-DYi+?kum$EY&dVq(b3UTbt^ZQoV{Tc2LA1UkH zBDgQD|M3jlVG2yoaJX%Fc+A2)TcRrG(d02quX~s4`tA9wYJVi4r|&{VIdWAu+b+UA z#D3m-q-AvGK>23Q=g)azqn6sg=~2SRnnXB}qwnBEf5Uu;3xhb1FkS2>9B6<#$v z+I*^>7jCs&{@h8Xi&E&$>jvHrN8I$!dUD8y^dULVQL)&{Q)}2As z6ZABSIMYqKkCm6M88j7N7xMEnC=gP0B;)u<9N5J_^%K> z*Az(p>9S5q8>$rgQhLa55;4pZ@2)^uB#99mJgk77uj5uN@6N-r{5Kqr_FZfZn6e>E zMKrwhrfKE?wa}r(M@=2{P1P+!6EZHVN8En4Y$L|dv>Hq!)_bP6R<9P9Z+s)zWA1ZLM5a4U@vGOf?w{MXFOt75#wAKL`?v{8Z z2$CP5w&Nu%jIM|Y`!>T(^5aPpEoX`FS-)HwHbD2~koRV8oR{Pw_kcl$MO)6=mgjSH zJOy6jb(-j$fYY8!!fUd0a{B6GJg=I-%O55W&rE6;7-8tgVgNNM$J3gSXW1RDNrc`< z#EedInYups6;GLd*K%^%^(uFYd}~YO@Pn8*O${mw51{s)%zn$Xe8Tw$jrbimPq!j@ z*0hIk!_i#DC*e{3zI}+oXk5SK3{#2$i0fjXjyAD@XI7?hYbeL?%@JI|d{iPK+D;kU zAGrkYsTV4sy%%Fpsx5N3qUfu8zQb<=cHoraH_Wcb!Be`WTwXmH$d*nUW=?wA`7A*o z<$A_%p{1zExsocwhl5+^BZ7UC(?%+H-|=fBd84jpK2*0vZeZ@aHO+a=(5;8Fo1F*_ z7RSB%61GElZ1qOkvK)2fds zr|EHY#3AP!54Lr49m8x=u<$D_mjj);=htK~crq~|t5E*iV`o5kN?WK~+ZqF}?4J$H zv}QvA=s4<%i2K&VtXgZaO8Ms1*eS~zW+p=i7$u=S>f_zrw*1VNnSd%QD5Ld9GloR@ z!RGDZ;LYg)_qUoX6EbZ+bRpGHNO_Amy#j~eears);u62C)Pop$=F&pnhKuVt<9*Lb z?nVO)Ox`p6+Av1SIzi?lPB(g!XG2>cRqRKpF!pYXQbOkpo6~W zr&=N0>J^NPXAK2RFFNLfEK14=LkgiktE^_fHiodhKBaCS?pvH=RXEy7)7Ti}-?jEIQaxkB@s8-7H- zP;(ydFBF&_M6q_x@*Z^2#u{9pR5^)lPzX{gM$vuoWl3qjG#5OA%3@B`+&<>FRM^PC zWW9q9)v=x=jPRaaR^-m!qmI4WkhVcz@g9E%FIcZE>S&@yl_Km=!FC07xZifd9I{B-wJj#*1$wX$TWLs} zW>O+MrpYyMN_z+l7V6hGU1{?UzdbnDyiF1yiScCsbS&~iYSa2Dxvf%yF1Ht2_{bD)hkvE@C;YuC|PRtV+*rJ3zu@>WdieCbY z?L^FvNcnD!@PR3HUfFE^DlHs`fbA*K=ESgH0kVN(Z1z9DXjS&W6nWMJh5SO~{z05N z<{!_&82``b;~4+n|06yAf6#}v1q4#xD5R7rz%^dWXP=7mZKrFXMV3LOsc-r0Lk^B* z*yW56L{@?c^6?B*`jZ<~_QxMRW>kP5*-MV8m7gjrZoRXShrUmLUhI4a(VdYLK&55r zU17e^C&gz4hl7mom-*BpFI2V{+7D6eAZ|2Ia^Vg3{euGU;>50HzV8hj<1S`qAmbwK zgfaxem$ENrvVy=#$6Q$PJ?>joXo~5|7K;K?OOeXFuh!s`y~S?fuBg-`eZ<(kO5=j5+?q5CtBYHR53EePl$zzHN=tqL zAT0t%Q#&;$Lw9BKz-ifw&RNE#LZ zm*Y}tqURdR>_s30cr0Kmm)t7#DrItL=Pr-fY-&x>r8OIyN>b?!<#VU$BR9WtYus|C zlb3z7)3d0E&l3aF=W^2M+}x|R0NK52~QqMAdhKneJ)#) zT7732cAbz3<9Y0*qG%PU`g=RHJ)IFk*+PLD`Ld=IP?Njd>VtWBR4-Ck3Hv18U0)!W|c+cna{BX_>&pGEgpL3q?d1PmE6?8)S1P>1n$m*K8 zJrB=+%>Ow8{6`kgrK{~n_TQ|`%^YJ!R>os1-7RDQVJEyvrcBr0ehYLHwGuyhJjGN~ zQXoUXRri!muH=&aB?U>1OjA+1iSjX(KbG?{YAz~fDVtjrlxYNBasKe~oczl_x-QJz zn1EG=Of|76+r|3xXyZ;!Z#<{CvwOP))l;nhw({7K_y2yigJ{x8djHV!Bv%QD>fEfn zfz7)UQ4*qUMrsKoLSX)X$^#u-A&fe$U;?hE?p+_>xKL~AEW=Jiw}Ig1U5_U2-(%P{ zVuCJ~0vp6K{QrLUB2JkBR01uDv@prICoZtsfk#L4hb)YP$ub z2f9S)(JaQXb)^RXnn$j9bIlTy>rIX8d>-`yHuPE_>g`J>+u2H@?_8)`5+VCZ zJ))x}d%#qT1tl9I{o=s%XS2qeFG8n-U=;5i1zPYMWY#Ugl?PL<R0Zs;GS;0v_6v|OQ7krpYk?2}6+_J=VtUfeH}yzAF?`>jymCe2|@ zE_!x#kL0VTIc#d=NsJts=|t#hKG7`BXUl1oZJd_+s<~+jSG10sdI~p`>Jt@dIcTpk z(+P)ir{VKA-gi;l0w;XuaaL!nE0S~vh;JiqLTbE!c-KbPyJn}btB~-;)~zTHI%j4>7N~5ed{XR z@TZds;|W5p9zFJm>%npX+g!M9-SBG5(G~tQGju$$?s0-M z8i{z)9_@-4y_s8w1hG#2@)W_Gy`H>H z1(d8CvggX8%}7F>|ssPHeOOsARfk+ZD^pYf)6t1o(2N$(!|C3zU zKVISCDIohzMA{jmuTCd^jW{UlZ$_&zLFp%t%IE;0FwLK?#ax}NpTM<$q)21(kCO9! zGpf@W(epS!5)H+%??hxpeW;?j?=^Kx@14o;v>D$b zP3}=kUhhy?LR;HsWjGv4-gwx;eMyAYB>R4dzEaq-um1|WJnV8v=BH2uq{=Ra}$`B~FqCs(3MAh~Os%v8)w@H|$ zg_VdKV5wp)xMzX1n-Aq)qtzsSvg8&rYXn#G^LI*Y0sB7>ahs^vmy6?mVu=E+y!JAN z5Rs7_hhWn4Qq_83d83=(=BI7B;w7}P(UN8DBje-KB^6X-(dB&4#=Gk3w33Z^13Vz^+onWncA9w z(g&H0obtZ)6)!pW`V<`$gqKxoEgjz&DqaANl+$flu$NrTO{3h64C%W0B;?ouck96dmECiAOSgLnquRi9Ym#7^c6o~jg+`g&QG`y*p>^QNEFvFbx#g?K>dd!xLd zU!VLLVCqKEaYcdFkz(29DqDUND9U`_MP5;~M8NDZJ{He zk;dXH>Gi=$mAUP>>#=XK+FLL<+9m%$bTL7G$*)s0vPk|*NW^D;OB0FWJfG;aDGZh45jcb_Cddp0TATTx{GhEf+8 z3l`4EwxKT|wDEFu&Myr;v?plbH}IOkcsT!?;7kqVc;2d18*~;A#|N$}@zDiw&S#j=gj`+r|E;^PI_ZH=jFp;u-UdtX}q` zj-?WO|B5n$u>6n*B%x9^s1-Kn{cc?G1k-7&_ zwLF-TR~=5;R@=Z2NwwPKCSgF7O1wGY-E8<5&pZ7LU!^fnH;;349_Fiq9MLPqL(a(1 zsJU#*xX>qFWvC{9H`&spGA2)U=!YvASswAtl)`#Cl6djQ)aS#)TQu(&_ZlpyGBU-6 zwwZrgbwTZOwC5=DeSszp9I!ofeq!n(g&FKS(1Nw?A9sU4Xo@8?jg}jHWSc;ah7@UF z!a6IuaM)$~{`s-R$Bkjl%MTJAEUX{;0kXY4gfi>o{;XVoaP-18)r%V-8@eao=x#;V z&_;=bQT9U+Y2#e!85O7%wlOF^fRGsaHY|A~NbO_jj3r2x#>t<5>fN6oxdPwT)wY@k zjG*q7<$OBOx{2Jc{J{y5j(4mUq)3g63bh^BLnu=PtaH8mc*y65raYYl^^Np@Ai-Zc zkTIC6gZl)25##?-#KR`pzbe_6H{51vh|TX@ZD9!ks)+YKQ!R0du6^#S+~RdCJoWy7aJfJRHzVpyJev>2KCjz-n}~JO-6wq?+T3 zD((}AdNA$siA#~3{9V3}&=P7T~8-+~>bR`# zRZ&K76n;#4L<`&WSZl%QoU8^V&8PZb#MOy#SEuqXEy72o-RWQLim{Eou}@A*-=?qF zjh$uG)&yVg!V35577^rL==DB-34u*!*^Oy22FV_Ip<+%Rr=v3Zcn?7BGD!C$9;oz* zt$J0B^1P_&>J^z1UJ8#GKNY literal 0 HcmV?d00001 diff --git a/samples/dotnet/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher_round.png b/samples/dotnet/BuildAllDotNet/Resources/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..c3ae5f5ccdecc01a9b17a2a0c2b1bb20602f0151 GIT binary patch literal 8001 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 z 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 F@PB1o0BisN literal 0 HcmV?d00001 diff --git a/samples/dotnet/BuildAllDotNet/Resources/mipmap-xxxhdpi/ic_launcher_round.png b/samples/dotnet/BuildAllDotNet/Resources/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..ef89bd5215ffcc38c68b119a7495a77a7084543b GIT binary patch literal 10893 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 literal 0 HcmV?d00001 diff --git a/samples/dotnet/BuildAllDotNet/Resources/values/ic_launcher_background.xml b/samples/dotnet/BuildAllDotNet/Resources/values/ic_launcher_background.xml new file mode 100644 index 000000000..6ec24e641 --- /dev/null +++ b/samples/dotnet/BuildAllDotNet/Resources/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #2C3E50 + \ No newline at end of file diff --git a/samples/dotnet/BuildAllDotNet/Resources/values/strings.xml b/samples/dotnet/BuildAllDotNet/Resources/values/strings.xml new file mode 100644 index 000000000..d9abae429 --- /dev/null +++ b/samples/dotnet/BuildAllDotNet/Resources/values/strings.xml @@ -0,0 +1,4 @@ + + BuildAllDotNet + Hello, Android! + diff --git a/samples/dotnet/BuildAllMauiApp.sln b/samples/dotnet/BuildAllMauiApp.sln new file mode 100644 index 000000000..b8d3dad50 --- /dev/null +++ b/samples/dotnet/BuildAllMauiApp.sln @@ -0,0 +1,27 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31611.283 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildAllMauiApp", ".\BuildAllMauiApp\BuildAllMauiApp.csproj", "{8F9A1049-3B67-4327-A677-EBBF0AFC5032}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8F9A1049-3B67-4327-A677-EBBF0AFC5032}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8F9A1049-3B67-4327-A677-EBBF0AFC5032}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8F9A1049-3B67-4327-A677-EBBF0AFC5032}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {8F9A1049-3B67-4327-A677-EBBF0AFC5032}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8F9A1049-3B67-4327-A677-EBBF0AFC5032}.Release|Any CPU.Build.0 = Release|Any CPU + {8F9A1049-3B67-4327-A677-EBBF0AFC5032}.Release|Any CPU.Deploy.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {61F7FB11-1E47-470C-91E2-47F8143E1572} + EndGlobalSection +EndGlobal diff --git a/samples/dotnet/BuildAllMauiApp/App.xaml b/samples/dotnet/BuildAllMauiApp/App.xaml new file mode 100644 index 000000000..5726654ee --- /dev/null +++ b/samples/dotnet/BuildAllMauiApp/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/samples/dotnet/BuildAllMauiApp/App.xaml.cs b/samples/dotnet/BuildAllMauiApp/App.xaml.cs new file mode 100644 index 000000000..bd2ef988e --- /dev/null +++ b/samples/dotnet/BuildAllMauiApp/App.xaml.cs @@ -0,0 +1,11 @@ +namespace BuildAllMauiApp; + +public partial class App : Application +{ + public App() + { + InitializeComponent(); + + MainPage = new AppShell(); + } +} diff --git a/samples/dotnet/BuildAllMauiApp/AppShell.xaml b/samples/dotnet/BuildAllMauiApp/AppShell.xaml new file mode 100644 index 000000000..a8f03488d --- /dev/null +++ b/samples/dotnet/BuildAllMauiApp/AppShell.xaml @@ -0,0 +1,14 @@ + + + + + + diff --git a/samples/dotnet/BuildAllMauiApp/AppShell.xaml.cs b/samples/dotnet/BuildAllMauiApp/AppShell.xaml.cs new file mode 100644 index 000000000..4a466d0c9 --- /dev/null +++ b/samples/dotnet/BuildAllMauiApp/AppShell.xaml.cs @@ -0,0 +1,9 @@ +namespace BuildAllMauiApp; + +public partial class AppShell : Shell +{ + public AppShell() + { + InitializeComponent(); + } +} diff --git a/samples/dotnet/BuildAllMauiApp/BuildAllMauiApp.csproj b/samples/dotnet/BuildAllMauiApp/BuildAllMauiApp.csproj new file mode 100644 index 000000000..b15aa2c3a --- /dev/null +++ b/samples/dotnet/BuildAllMauiApp/BuildAllMauiApp.csproj @@ -0,0 +1,53 @@ + + + + net6.0-android;net6.0-ios;net6.0-maccatalyst + $(TargetFrameworks);net6.0-windows10.0.19041.0 + + + Exe + BuildAllMauiApp + true + true + enable + + + BuildAllMauiApp + + + com.companyname.buildallmauiapp + bf82dcee-2471-4ec8-856a-a3d17e578c8e + + + 1.0 + 1 + + 14.2 + 14.0 + 21.0 + 10.0.17763.0 + 10.0.17763.0 + 6.5 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/dotnet/BuildAllMauiApp/MainPage.xaml b/samples/dotnet/BuildAllMauiApp/MainPage.xaml new file mode 100644 index 000000000..c24171c45 --- /dev/null +++ b/samples/dotnet/BuildAllMauiApp/MainPage.xaml @@ -0,0 +1,41 @@ + + + + + + + + +