зеркало из https://github.com/DeGsoft/maui-linux.git
Rename all of the things... All of them. (#13847)
* Rename all the things! * Fix sln on cake * targets * Rename all the things! * Fix sln on cake * Add this back so the build works * Added .nuspec\* back * Remove Core from XamlC * Update Build.Tasks * Fix ErrorMessages * Try fix build * Update gitignore * Update Microsoft.Maui-net6.sln * Fix controlgallery reference * Fix Maui reference on iOS sample * Fix ControLGallery sln * Fix xaml unit tests * Fix Maps references * Fix ControlGallery * Don't build gallery * Compile 462 for new * Dont build UAP * AndroidUseIntermediateDesignerFile * Fix UAP * Don't build control gallery for now Co-authored-by: Rui Marinho <me@ruimarinho.net> Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
This commit is contained in:
Родитель
253053e9e2
Коммит
ac201994f2
|
@ -1,86 +1,364 @@
|
|||
bin
|
||||
obj
|
||||
classic_bin
|
||||
classic_obj
|
||||
*.dll
|
||||
*.mdb
|
||||
*.exe
|
||||
*.log
|
||||
*.userprefs
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
##
|
||||
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||
|
||||
.nuspec/
|
||||
|
||||
# User-specific files
|
||||
*.rsuser
|
||||
*.suo
|
||||
_docs.xml
|
||||
UpgradeLog*
|
||||
docs/*.xml
|
||||
.nuspec/*.nupkg
|
||||
*UpgradeReport*
|
||||
*.user
|
||||
*.DS_Store
|
||||
*.ide
|
||||
.vs
|
||||
*.designer.cs
|
||||
*project.lock.json
|
||||
!*ControlResources*.designer.cs
|
||||
!*Resources.Designer.cs
|
||||
!Xamarin.Forms.VSTemplate/**/*.designer.cs
|
||||
!NuGet.exe
|
||||
*test-results*
|
||||
*/PerfLogs/*
|
||||
*.sap
|
||||
/packages
|
||||
!.xamarin-component/**
|
||||
*.xam
|
||||
Components/
|
||||
!GooglePlayServices/**
|
||||
.irb-history
|
||||
screenshot_*
|
||||
!Xamarin.Forms.Addin/libs/**
|
||||
!Xamarin.Forms.Addin/Packages/Xamarin.Forms.*.nupkg
|
||||
*.remove
|
||||
*/.metadata/*
|
||||
**/AndroidNative/FormsViewGroup/gen/com/xamarin/formsviewgroup/R.java
|
||||
**/AndroidNative/FormsViewGroup/gen/com/xamarin/formsviewgroup/BuildConfig.java
|
||||
*.psess
|
||||
TestResults/
|
||||
**/Xamarin.Forms.UITest.Validator/UITestCoverage/index.html
|
||||
!**/Xamarin.Forms.UITest.TestCloud/test-cloud.exe
|
||||
**/Xamarin.Forms.ControlGallery.Windows/AppPackages/
|
||||
**/Xamarin.Forms.ControlGallery.WindowsPhone/AppPackages/
|
||||
**/Xamarin.Forms.ControlGallery.WindowsUniversal/AppPackages/
|
||||
**/Xamarin.Forms.ControlGallery.WindowsUniversal/BundleArtifacts/
|
||||
**/Xamarin.Forms.Controls/secrets.txt
|
||||
**/Xamarin.Forms.Controls/controlgallery.config
|
||||
**/Xamarin.Forms.ControlGallery.Android/Properties/MapsKey.cs
|
||||
*.tss
|
||||
*.bak
|
||||
**/AndroidNative/local.properties
|
||||
**/AndroidNative/FormsViewGroup/build/
|
||||
**/AndroidNative/build/
|
||||
**/AndroidNative/.gradle/
|
||||
!**/AndroidNative/gradlew
|
||||
!**/AndroidNative/gradlew.bat
|
||||
!**/EmbeddingTestBeds/Embedding.iOS/*.designer.cs
|
||||
!**/DualScreen.Mac/*.designer.cs
|
||||
*.nupkg
|
||||
*.pdb
|
||||
# temporary vim files
|
||||
*.swp
|
||||
/eng/tools/*
|
||||
!/eng/tools/mdoc/
|
||||
!/eng/tools/mdoc/**/*
|
||||
caketools/
|
||||
*.binlog
|
||||
.ionide/**
|
||||
/.nuspec
|
||||
.XamarinFormsVersionFile.txt
|
||||
.idea
|
||||
Visual Studio 2019/**
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Mono auto generated files
|
||||
mono_crash.*
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
[Ww][Ii][Nn]32/
|
||||
[Aa][Rr][Mm]/
|
||||
[Aa][Rr][Mm]64/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Ll]og/
|
||||
[Ll]ogs/
|
||||
|
||||
# Visual Studio 2015/2017 cache/options directory
|
||||
.vs/
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
# Visual Studio 2017 auto generated files
|
||||
Generated\ Files/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUnit
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
**/build/packages
|
||||
WriteDevopsVariables.csproj
|
||||
!**/Xamarin.Forms.Platform.GTK/Libs/**/*
|
||||
!**/Xamarin.Forms.Build.Tasks/ErrorMessages.Designer.cs
|
||||
!**/Xamarin.Forms.Maps.WPF/Properties/Settings.Designer.cs
|
||||
!**/Xamarin.Forms.Maps.GTK/Libs/**/*
|
||||
/tools
|
||||
nunit-*.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
# Benchmark Results
|
||||
BenchmarkDotNet.Artifacts/
|
||||
|
||||
# .NET Core
|
||||
project.lock.json
|
||||
project.fragment.lock.json
|
||||
artifacts/
|
||||
|
||||
# ASP.NET Scaffolding
|
||||
ScaffoldingReadMe.txt
|
||||
|
||||
# StyleCop
|
||||
StyleCopReport.xml
|
||||
|
||||
# Files built by Visual Studio
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_h.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.iobj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.ipdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*_wpftmp.csproj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
launchSettings.json
|
||||
*.scc
|
||||
|
||||
# Chutzpah Test files
|
||||
_Chutzpah*
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opendb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
*.VC.db
|
||||
*.VC.VC.opendb
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# Visual Studio Trace Files
|
||||
*.e2e
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# AxoCover is a Code Coverage Tool
|
||||
.axoCover/*
|
||||
!.axoCover/settings.json
|
||||
|
||||
# Coverlet is a free, cross platform Code Coverage Tool
|
||||
coverage*.json
|
||||
coverage*.xml
|
||||
coverage*.info
|
||||
|
||||
# Visual Studio code coverage results
|
||||
*.coverage
|
||||
*.coveragexml
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
nCrunchTemp_*
|
||||
|
||||
# MightyMoose
|
||||
*.mm.*
|
||||
AutoTest.Net/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||
# but database connection strings (with potential passwords) will be unencrypted
|
||||
*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||
# in these scripts will be unencrypted
|
||||
PublishScripts/
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# NuGet Symbol Packages
|
||||
*.snupkg
|
||||
# The packages folder can be ignored because of Package Restore
|
||||
**/[Pp]ackages/*
|
||||
# except build/, which is used as an MSBuild target.
|
||||
!**/[Pp]ackages/build/
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/[Pp]ackages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignorable files
|
||||
*.nuget.props
|
||||
*.nuget.targets
|
||||
|
||||
# Microsoft Azure Build Output
|
||||
csx/
|
||||
*.build.csdef
|
||||
|
||||
# Microsoft Azure Emulator
|
||||
ecf/
|
||||
rcf/
|
||||
|
||||
# Windows Store app package directories and files
|
||||
AppPackages/
|
||||
BundleArtifacts/
|
||||
Package.StoreAssociation.xml
|
||||
_pkginfo.txt
|
||||
*.appx
|
||||
*.appxbundle
|
||||
*.appxupload
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!?*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.jfm
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
orleans.codegen.cs
|
||||
|
||||
# Including strong name files can present a security risk
|
||||
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||
#*.snk
|
||||
|
||||
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||
#bower_components/
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
ServiceFabricBackup/
|
||||
*.rptproj.bak
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
*.ndf
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
*.rptproj.rsuser
|
||||
*- [Bb]ackup.rdl
|
||||
*- [Bb]ackup ([0-9]).rdl
|
||||
*- [Bb]ackup ([0-9][0-9]).rdl
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
# GhostDoc plugin setting file
|
||||
*.GhostDoc.xml
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
node_modules/
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||
*.vbw
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/ModelManifest.xml
|
||||
**/*.Server/GeneratedArtifacts
|
||||
**/*.Server/ModelManifest.xml
|
||||
_Pvt_Extensions
|
||||
|
||||
# Paket dependency manager
|
||||
.paket/paket.exe
|
||||
paket-files/
|
||||
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
|
||||
# CodeRush personal settings
|
||||
.cr/personal
|
||||
|
||||
# Python Tools for Visual Studio (PTVS)
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
# Cake - Uncomment if you are using it
|
||||
# tools/**
|
||||
# !tools/packages.config
|
||||
|
||||
# Tabs Studio
|
||||
*.tss
|
||||
|
||||
# Telerik's JustMock configuration file
|
||||
*.jmconfig
|
||||
|
||||
# BizTalk build output
|
||||
*.btp.cs
|
||||
*.btm.cs
|
||||
*.odx.cs
|
||||
*.xsd.cs
|
||||
|
||||
# OpenCover UI analysis results
|
||||
OpenCover/
|
||||
|
||||
# Azure Stream Analytics local run output
|
||||
ASALocalRun/
|
||||
|
||||
# MSBuild Binary and Structured Log
|
||||
*.binlog
|
||||
|
||||
# NVidia Nsight GPU debugger configuration file
|
||||
*.nvuser
|
||||
|
||||
# MFractors (Xamarin productivity tool) working folder
|
||||
.mfractor/
|
||||
|
||||
# Local History for Visual Studio
|
||||
.localhistory/
|
||||
|
||||
# BeatPulse healthcheck temp database
|
||||
healthchecksdb
|
||||
|
||||
# Backup folder for Package Reference Convert tool in Visual Studio 2017
|
||||
MigrationBackup/
|
||||
|
||||
# Ionide (cross platform F# VS Code tools) working folder
|
||||
.ionide/
|
||||
|
||||
# Fody - auto-generated XML schema
|
||||
FodyWeavers.xsd
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0"?>
|
||||
<package >
|
||||
<metadata>
|
||||
<id>Xamarin.Forms.Visual.Material</id>
|
||||
<version>$version$</version>
|
||||
<authors>Microsoft</authors>
|
||||
<owners>microsoft xamarin</owners>
|
||||
<tags>xamarin forms visual material xamarinforms xamarinformsvisualmaterial xamarin.forms.visual.material</tags>
|
||||
<license type="expression">MIT</license>
|
||||
<icon>Assets\xamarin_128x128.png</icon>
|
||||
<projectUrl>http://xamarin.com/forms</projectUrl>
|
||||
<repository type="git" url="https://github.com/xamarin/xamarin.forms"/>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<description>Material renderers for Xamarin.Forms</description>
|
||||
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
|
||||
<dependencies>
|
||||
<group>
|
||||
<dependency id="Xamarin.Forms" version="$version$"/>
|
||||
</group>
|
||||
<group targetFramework="MonoAndroid10">
|
||||
<dependency id="Xamarin.Forms" version="$version$"/>
|
||||
</group>
|
||||
|
||||
<group targetFramework="MonoAndroid10.0">
|
||||
<dependency id="Xamarin.AndroidX.Lifecycle.LiveData" version="2.2.0.4" />
|
||||
<dependency id="Xamarin.Google.Android.Material" version="1.2.1.1" />
|
||||
</group>
|
||||
<group targetFramework="Xamarin.iOS10">
|
||||
<dependency id="Xamarin.iOS.MaterialComponents" version="92.0.0"/>
|
||||
</group>
|
||||
<group targetFramework="tizen40">
|
||||
<dependency id="Tizen.NET" version="4.0.0"/>
|
||||
<dependency id="Tizen.NET.MaterialComponents" version="0.9.7-preview"/>
|
||||
</group>
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<!--Icon-->
|
||||
<file src="..\Assets\xamarin_128x128.png" target="Assets\" />
|
||||
<!--netstandard-->
|
||||
<file src="_._" target="lib\netstandard1.0\_._" />
|
||||
|
||||
<!--Android 10-->
|
||||
<file src="_._" target="lib\MonoAndroid10\_._" />
|
||||
<file src="Microsoft.Maui.Controls.Compatibility.Visual.Material.targets" target="build\MonoAndroid10\Microsoft.Maui.Controls.Compatibility.Visual.Material.targets" />
|
||||
|
||||
<!--Android 10 buildTransitive-->
|
||||
<file src="Microsoft.Maui.Controls.Compatibility.Visual.Material.targets" target="buildTransitive\MonoAndroid10\Microsoft.Maui.Controls.Compatibility.Visual.Material.targets" />
|
||||
|
||||
<!--Android 10.0-->
|
||||
<file src="..\Xamarin.Forms.Material.Android\bin\$Configuration$\monoandroid10.0\Xamarin.Forms.Material.dll" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\Xamarin.Forms.Material.Android\bin\$Configuration$\monoandroid10.0\Xamarin.Forms.Material.*pdb" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\Xamarin.Forms.Material.Android\bin\$Configuration$\monoandroid10.0\Xamarin.Forms.Material.*mdb" target="lib\MonoAndroid10.0" />
|
||||
|
||||
<!--iOS-->
|
||||
<file src="..\Xamarin.Forms.Material.iOS\bin\$Configuration$\Xamarin.Forms.Material.dll" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\Xamarin.Forms.Material.iOS\bin\$Configuration$\Xamarin.Forms.Material.*pdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\Xamarin.Forms.Material.iOS\bin\$Configuration$\Xamarin.Forms.Material.*mdb" target="lib\Xamarin.iOS10" />
|
||||
|
||||
<!--Tizen-->
|
||||
<file src="..\Xamarin.Forms.Material.Tizen\bin\$Configuration$\tizen40\Xamarin.Forms.Material.dll" target="lib\tizen40" />
|
||||
<file src="..\Xamarin.Forms.Material.Tizen\bin\$Configuration$\tizen40\Xamarin.Forms.Material.*pdb" target="lib\tizen40" />
|
||||
|
||||
</files>
|
||||
</package>
|
|
@ -0,0 +1,275 @@
|
|||
<?xml version="1.0"?>
|
||||
<package >
|
||||
<metadata>
|
||||
<id>Microsoft.Maui.Controls</id>
|
||||
<version>$version$</version>
|
||||
<authors>Microsoft</authors>
|
||||
<owners>microsoft xamarin</owners>
|
||||
<tags>xamarin forms xamarinforms xamarin.forms</tags>
|
||||
<license type="expression">MIT</license>
|
||||
<icon>Assets\xamarin_128x128.png</icon>
|
||||
<projectUrl>http://xamarin.com/forms</projectUrl>
|
||||
<repository type="git" url="https://github.com/xamarin/xamarin.forms"/>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<description>Build native UIs for iOS, Android, UWP, macOS, Tizen and many more from a single, shared C# codebase</description>
|
||||
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
|
||||
<dependencies>
|
||||
<group targetFramework="MonoAndroid10.0">
|
||||
<dependency id="Xamarin.AndroidX.Lifecycle.LiveData" version="2.2.0.4" />
|
||||
<dependency id="Xamarin.Google.Android.Material" version="1.2.1.1" />
|
||||
<dependency id="Xamarin.AndroidX.Legacy.Support.V4" version="1.0.0.6" />
|
||||
<dependency id="Xamarin.AndroidX.Browser" version="1.3.0" />
|
||||
</group>
|
||||
<!--<group targetFramework="net6.0-windows10.0.18362.0">
|
||||
<dependency id="Microsoft.WinUI" version="3.0.0-preview3.201113.0" />
|
||||
</group>-->
|
||||
<group targetFramework="netstandard2.0">
|
||||
</group>
|
||||
<group targetFramework="Xamarin.iOS10">
|
||||
</group>
|
||||
<!-- <group targetFramework="tizen40">
|
||||
<dependency id="Tizen.NET" version="4.0.0"/>
|
||||
<dependency id="SkiaSharp.Views" version="2.80.2"/>
|
||||
</group> -->
|
||||
</dependencies>
|
||||
|
||||
<!-- DO NOT DELETE THESE REFERENCES -->
|
||||
<!-- IF YOU DELETE THESE REFERENCES THE PACKAGE WILL NOT WORK ON MAC -->
|
||||
<!-- https://github.com/xamarin/Xamarin.Forms/pull/2575 -->
|
||||
<!-- DO NOT DELETE THESE REFERENCES -->
|
||||
<references>
|
||||
<group>
|
||||
<reference file="Xamarin.Forms.Core.dll" />
|
||||
<reference file="Xamarin.Forms.Xaml.dll" />
|
||||
<reference file="Xamarin.Platform.dll" />
|
||||
</group>
|
||||
<group targetFramework="Xamarin.iOS10">
|
||||
<reference file="Xamarin.Forms.Core.dll" />
|
||||
<reference file="Xamarin.Forms.Xaml.dll" />
|
||||
<reference file="Xamarin.Forms.Platform.iOS.dll" />
|
||||
<reference file="Xamarin.Platform.dll" />
|
||||
</group>
|
||||
<group targetFramework="MonoAndroid10.0">
|
||||
<reference file="Xamarin.Forms.Core.dll" />
|
||||
<reference file="Xamarin.Forms.Xaml.dll" />
|
||||
<reference file="FormsViewGroup.dll" />
|
||||
<reference file="Xamarin.Forms.Platform.Android.dll" />
|
||||
<reference file="Xamarin.Platform.dll" />
|
||||
</group>
|
||||
<!--<group targetFramework="net6.0-windows10.0.18362.0">
|
||||
<reference file="Xamarin.Forms.Core.dll" />
|
||||
<reference file="Xamarin.Forms.Xaml.dll" />
|
||||
<reference file="Xamarin.Forms.Platform.UAP.dll" />
|
||||
<reference file="Xamarin.Platform.dll" />
|
||||
</group>-->
|
||||
<!-- <group targetFramework="tizen40">
|
||||
<reference file="Xamarin.Forms.Core.dll" />
|
||||
<reference file="Xamarin.Forms.Platform.Tizen.dll" />
|
||||
<reference file="Xamarin.Forms.Platform.dll" />
|
||||
<reference file="Xamarin.Forms.Xaml.dll" />
|
||||
</group> -->
|
||||
</references>
|
||||
</metadata>
|
||||
|
||||
<files>
|
||||
<!--Icon-->
|
||||
<file src="..\Assets\xamarin_128x128.png" target="Assets\" />
|
||||
|
||||
<!--netstandard-->
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*pdb" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*mdb" target="lib\netstandard2.0" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Core.xml" target="lib\netstandard2.0" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Xaml.xml" target="lib\netstandard2.0" />
|
||||
<file src="..\eng\docs\**\Xamarin.Forms.Core.xml" target="lib\netstandard2.0" />
|
||||
<file src="..\eng\docs\**\Xamarin.Forms.Xaml.xml" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*pdb" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*mdb" target="lib\netstandard2.0" />
|
||||
|
||||
|
||||
|
||||
<!--Handlers-->
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\netstandard2.0\Xamarin.Platform.dll" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\netstandard2.0\Xamarin.Platform.*pdb" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\netstandard2.0\Xamarin.Platform.*mdb" target="lib\netstandard2.0" />
|
||||
|
||||
<!--Xamlc stuff-->
|
||||
<file src="Microsoft.Maui.targets" target="build" />
|
||||
<file src="Microsoft.Maui.props" target="build" />
|
||||
<file src="Microsoft.Maui.Controls.DefaultItems.targets" target="build" />
|
||||
<file src="Microsoft.Maui.Controls.DefaultItems.props" target="build" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Build.Tasks.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Mdb.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Pdb.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Rocks.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\System.CodeDom.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Xamarin.Forms.Build.Tasks.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Xamarin.Forms.Core.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Xamarin.Forms.Xaml.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.Mdb.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.Pdb.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.Rocks.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\System.ValueTuple.dll" target="build\net462" />
|
||||
|
||||
<!--Xamlc stuff buildTransitive-->
|
||||
<file src="Microsoft.Maui.targets" target="buildTransitive" />
|
||||
<file src="Microsoft.Maui.props" target="buildTransitive" />
|
||||
<file src="Microsoft.Maui.Controls.DefaultItems.targets" target="buildTransitive" />
|
||||
<file src="Microsoft.Maui.Controls.DefaultItems.props" target="buildTransitive" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Build.Tasks.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Mdb.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Pdb.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Rocks.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\System.CodeDom.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Xamarin.Forms.Build.Tasks.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Xamarin.Forms.Core.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Xamarin.Forms.Xaml.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.Mdb.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.Pdb.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.Rocks.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\System.ValueTuple.dll" target="buildTransitive\net462" />
|
||||
|
||||
<!-- Xaml Design-time Stuff -->
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\netstandard2.0\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\netstandard2.0\Design" />
|
||||
<!-- <file src="..\src\Forms\src\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\netstandard1.0\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\netstandard1.0\Design" /> -->
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\MonoAndroid10.0\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\MonoAndroid10.0\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\Xamarin.iOS10\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\Xamarin.iOS10\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\net5.0-windows10.0.18362.0\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\net5.0-windows10.0.18362.0\Design" />
|
||||
<!-- <file src="..\src\Forms\src\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\tizen40\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\tizen40\Design" /> -->
|
||||
|
||||
<!--Android 10-->
|
||||
<file src="proguard.cfg" target="build\MonoAndroid10\proguard.cfg" />
|
||||
<file src="proguard.cfg" target="buildTransitive\MonoAndroid10\proguard.cfg" />
|
||||
|
||||
<!--Android 10-->
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid10.0\Xamarin.Forms.Platform.Android.dll" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid10.0\Xamarin.Forms.Platform.Android.*pdb" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Android.FormsViewGroup\bin\$Configuration$\FormsViewGroup.dll" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Android.FormsViewGroup\bin\$Configuration$\FormsViewGroup.*pdb" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*pdb" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Core.xml" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Xaml.xml" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\eng\docs\**\Xamarin.Forms.Core.xml" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\eng\docs\**\Xamarin.Forms.Xaml.xml" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*pdb" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\monoandroid10.0\Xamarin.Platform.dll" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\monoandroid10.0\Xamarin.Platform.*pdb" target="lib\MonoAndroid10.0" />
|
||||
|
||||
<!--iPhone Unified-->
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\Xamarin.Forms.Platform.iOS.dll" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\Xamarin.Forms.Platform.iOS.*pdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\Xamarin.Forms.Platform.iOS.*mdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*pdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*mdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Core.xml" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Xaml.xml" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\eng\docs\**\Xamarin.Forms.Core.xml" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\eng\docs\**\Xamarin.Forms.Xaml.xml" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*pdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*mdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\Xamarin.iOS10\Xamarin.Platform.dll" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\Xamarin.iOS10\Xamarin.Platform.*pdb" target="lib\Xamarin.iOS10" />
|
||||
|
||||
<!--net5.0-windows10.0.18362.0-->
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.UAP\bin\$Configuration$\net5.0-windows10.0.18362.0\Xamarin.Forms.Platform.UAP.dll" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.UAP\bin\$Configuration$\net5.0-windows10.0.18362.0\Xamarin.Forms.Platform.UAP.*pdb" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.UAP\bin\$Configuration$\net5.0-windows10.0.18362.0\Xamarin.Forms.Platform.UAP.*pri" target="runtimes\net5.0-windows10.0.18362.0\native" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*pdb" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Core.xml" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*pdb" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Xaml.xml" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\netstandard2.0\Xamarin.Platform.dll" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\netstandard2.0\Xamarin.Platform.*pdb" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.UAP\bin\$Configuration$\net5.0-windows10.0.18362.0\Xamarin.Forms.Platform.UAP\**\*.xaml" target="lib\net5.0-windows10.0.18362.0\Xamarin.Forms.Platform.UAP" />
|
||||
|
||||
<!-- iOS Localized String Resource Assemblies -->
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ar\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ar" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ca\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ca" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\cs\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\cs" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\da\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\da" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\de\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\de" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\el\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\el" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\es\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\es" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\fi\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\fi" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\fr\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\fr" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\he\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\he" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\hi\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\hi" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\hr\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\hr" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\hu\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\hu" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\id\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\id" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\it\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\it" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ja\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ja" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ko\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ko" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ms\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ms" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\nb\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\nb" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\nl\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\nl" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\pl\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\pl" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\pt-BR\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\pt-BR" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\pt\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\pt" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ro\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ro" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ru\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ru" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\sk\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\sk" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\sv\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\sv" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\th\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\th" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\tr\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\tr" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\uk\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\uk" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\vi\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\vi" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\zh-Hans\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\zh-Hans" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\zh-Hant\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\zh-Hant" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\zh-HK\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\zh-HK" />
|
||||
|
||||
<!--Tizen-->
|
||||
<!-- <file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Tizen\bin\$Configuration$\tizen40\Xamarin.Forms.Platform.Tizen.dll" target="lib\tizen40" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Tizen\bin\$Configuration$\tizen40\Xamarin.Forms.Platform.Tizen.*pdb" target="lib\tizen40" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Tizen\bin\$Configuration$\tizen40\Xamarin.Forms.Platform.Tizen.dll" target="lib\tizen40" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="lib\tizen40" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*pdb" target="lib\tizen40" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Core.xml" target="lib\tizen40" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="lib\tizen40" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*pdb" target="lib\tizen40" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Xaml.xml" target="lib\tizen40" /> -->
|
||||
|
||||
|
||||
|
||||
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid10.0\Xamarin.Forms.Platform.Android.dll" target="ref\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Android.FormsViewGroup\bin\$Configuration$\FormsViewGroup.dll" target="ref\MonoAndroid10.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="ref\MonoAndroid10.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="ref\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\monoandroid10.0\Xamarin.Platform.dll" target="ref\MonoAndroid10.0" />
|
||||
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\Xamarin.Forms.Platform.iOS.dll" target="ref\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="ref\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="ref\Xamarin.iOS10" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\xamarin.ios10\Xamarin.Platform.dll" target="ref\Xamarin.iOS10" />
|
||||
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.UAP\bin\$Configuration$\net5.0-windows10.0.18362.0\Xamarin.Forms.Platform.UAP.dll" target="ref\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="ref\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="ref\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\netstandard2.0\Xamarin.Platform.dll" target="ref\net5.0-windows10.0.18362.0" />
|
||||
|
||||
|
||||
</files>
|
||||
|
||||
</package>
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<!--
|
||||
When using Sdk-style projects and default embedded resource items are enabled, automatically
|
||||
add the XAML files and fix up item metadata to pair them with code files.
|
||||
This is in the props file, not the targets file, so that projects can remove/update these items.
|
||||
The default value for EnableDefaultXamlItems is set in the targets, which works because
|
||||
the property evaluation pass comes before the item evaluation pass.
|
||||
The actual item groups are in a separate conditionally-imported file as they use constructs that
|
||||
are not compatible with older MSBuild versions.
|
||||
-->
|
||||
<Import Project="$(MSBuildThisFileDirectory)Microsoft.Maui.Controls.DefaultItems.props" Condition="'$(MSBuildSDKsPath)'!=''" />
|
||||
|
||||
<PropertyGroup>
|
||||
<_IsHotRestartDefined>$([System.Text.RegularExpressions.Regex]::IsMatch('$(DefineConstants.Trim())', '(^|;)HOTRESTART($|;)'))</_IsHotRestartDefined>
|
||||
<DefineConstants Condition="!$(_IsHotRestartDefined) And '$(IsHotRestartBuild)' == 'true'">HOTRESTART;$(DefineConstants)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,212 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<_MauiBuildTasksLocation Condition="'$(_MauiBuildTasksLocation)' == '' AND '$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)netstandard2.0\</_MauiBuildTasksLocation>
|
||||
<_MauiBuildTasksLocation Condition="'$(_MauiBuildTasksLocation)' == ''">$(MSBuildThisFileDirectory)net462\</_MauiBuildTasksLocation>
|
||||
</PropertyGroup>
|
||||
|
||||
<UsingTask TaskName="Microsoft.Maui.Controls.Build.Tasks.XamlGTask" AssemblyFile="$(_MauiBuildTasksLocation)Microsoft.Maui.Controls.Build.Tasks.dll" />
|
||||
<UsingTask TaskName="Microsoft.Maui.Controls.Build.Tasks.CssGTask" AssemblyFile="$(_MauiBuildTasksLocation)Microsoft.Maui.Controls.Build.Tasks.dll" />
|
||||
<UsingTask TaskName="Microsoft.Maui.Controls.Build.Tasks.XamlCTask" AssemblyFile="$(_MauiBuildTasksLocation)Microsoft.Maui.Controls.Build.Tasks.dll" />
|
||||
|
||||
<PropertyGroup>
|
||||
<SynthesizeLinkMetadata>true</SynthesizeLinkMetadata>
|
||||
<EnableDefaultXamlItems Condition="'$(EnableDefaultXamlItems)'==''">True</EnableDefaultXamlItems>
|
||||
<_DefaultXamlItemsEnabled>False</_DefaultXamlItemsEnabled>
|
||||
<EnableDefaultCssItems Condition="'$(EnableDefaultCssItems)'==''">True</EnableDefaultCssItems>
|
||||
<_DefaultCssItemsEnabled>False</_DefaultCssItemsEnabled>
|
||||
<!-- The WINUI check for this only runs when there is an empty string so I just convert false to an empty string to fall in line with our other properties -->
|
||||
<SkipMicrosoftUIXamlCheckTargetPlatformVersion Condition="'$(SkipMicrosoftUIXamlCheckTargetPlatformVersion)'==''">true</SkipMicrosoftUIXamlCheckTargetPlatformVersion>
|
||||
<SkipMicrosoftUIXamlCheckTargetPlatformVersion Condition="'$(SkipMicrosoftUIXamlCheckTargetPlatformVersion)'=='false'"></SkipMicrosoftUIXamlCheckTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(MSBuildThisFileDirectory)Microsoft.Maui.Controls.DefaultItems.targets" Condition="'$(MSBuildSDKsPath)'!=''" />
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectCapability Include="XamarinForms" />
|
||||
<ProjectCapability Include="Maui" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Check Tasks ABI and other validations -->
|
||||
<PropertyGroup>
|
||||
<_MauiTargetsImportedAgain Condition="'$(_MauiTargetsImported)'=='True'">True</_MauiTargetsImportedAgain>
|
||||
<_MauiTargetsImported>True</_MauiTargetsImported>
|
||||
<IsXBuild Condition="'$(MSBuildRuntimeType)' == ''">true</IsXBuild>
|
||||
<IsXBuild Condition="'$(MSBuildRuntimeType)' != ''">false</IsXBuild>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="_ValidateMauiTasks" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(MauiDisableTargetsValidation)' != 'True'">
|
||||
<Error Code="XF001"
|
||||
Text="Microsoft.Maui targets have been imported multiple times. Please check your project file and remove the duplicate import(s)."
|
||||
Condition="'$(_MauiTargetsImportedAgain)' == 'True'" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_ValidateMSBuild" BeforeTargets="_CheckForInvalidConfigurationAndPlatform">
|
||||
<Error Code="XF003"
|
||||
Text="Microsoft.Maui requires msbuild. xbuild is no longer supported."
|
||||
Condition="'$(IsXBuild)' == 'true'" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_ValidateNETFrameworkVersion"
|
||||
BeforeTargets="_CheckForInvalidConfigurationAndPlatform"
|
||||
Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' AND '$(TargetFrameworkVersion.Substring(1))' < '4.6.1' AND '$(MauiDisableFrameworkVersionValidation)' != 'True'">
|
||||
<Error Code="XF004"
|
||||
Text="Microsoft.Maui requires .NETFramework >= v4.6.1. You have '$(TargetFrameworkVersion)'" />
|
||||
</Target>
|
||||
|
||||
<!-- XamlG -->
|
||||
<Target
|
||||
Name="UpdateDesignTimeXaml"
|
||||
DependsOnTargets="XamlG"/>
|
||||
|
||||
<PropertyGroup>
|
||||
<CoreCompileDependsOn>
|
||||
XamlG;
|
||||
$(CoreCompileDependsOn);
|
||||
</CoreCompileDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target
|
||||
Name="_FindXamlGFiles"
|
||||
DependsOnTargets="PrepareResourceNames">
|
||||
<ItemGroup>
|
||||
<_XamlGInputs
|
||||
Include="@(EmbeddedResource)"
|
||||
Condition="'%(Extension)' == '.xaml' AND '$(DefaultLanguageSourceExtension)' == '.cs' AND '%(TargetPath)' != ''" />
|
||||
<_XamlGOutputs
|
||||
Include="@(_XamlGInputs->'$(IntermediateOutputPath)%(TargetPath).g.cs')" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target
|
||||
Name="XamlG"
|
||||
BeforeTargets="BeforeCompile"
|
||||
DependsOnTargets="_FindXamlGFiles; PrepareResourceNames; AfterResolveReferences"
|
||||
Inputs="@(_XamlGInputs)"
|
||||
Outputs="@(_XamlGOutputs)">
|
||||
<PropertyGroup>
|
||||
<ReferencedAssemblies>@(ReferencePath)</ReferencedAssemblies>
|
||||
</PropertyGroup>
|
||||
<XamlGTask
|
||||
XamlFiles="@(_XamlGInputs)"
|
||||
OutputFiles="@(_XamlGOutputs)"
|
||||
Language="$(Language)"
|
||||
References = "$(ReferencedAssemblies)"
|
||||
AssemblyName="$(AssemblyName)" />
|
||||
<ItemGroup>
|
||||
<FileWrites Include="@(_XamlGOutputs)" />
|
||||
<Compile Include="@(_XamlGOutputs)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!-- XamlC -->
|
||||
<PropertyGroup>
|
||||
<CompileDependsOn>
|
||||
$(CompileDependsOn);
|
||||
XamlC;
|
||||
</CompileDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="XamlC"
|
||||
AfterTargets="AfterCompile"
|
||||
DependsOnTargets="_FindXamlGFiles"
|
||||
Inputs="$(IntermediateOutputPath)$(TargetFileName)"
|
||||
Outputs="$(IntermediateOutputPath)XamlC.stamp"
|
||||
Condition=" '$(DesignTimeBuild)' != 'True' AND '@(_XamlGInputs->Count())' != '0' ">
|
||||
<PropertyGroup>
|
||||
<_MauiXamlCValidateOnly>$(MauiXamlCValidateOnly)</_MauiXamlCValidateOnly>
|
||||
<_MauiXamlCValidateOnly Condition="'$(BuildingForLiveUnitTesting)' == 'True' ">True</_MauiXamlCValidateOnly>
|
||||
</PropertyGroup>
|
||||
<XamlCTask
|
||||
Assembly = "$(IntermediateOutputPath)$(TargetFileName)"
|
||||
ReferencePath = "@(ReferencePath)"
|
||||
OptimizeIL = "true"
|
||||
DebugSymbols = "$(DebugSymbols)"
|
||||
DebugType = "$(DebugType)"
|
||||
ValidateOnly = "$(_MauiXamlCValidateOnly)"
|
||||
KeepXamlResources = "$(MauiKeepXamlResources)" />
|
||||
<Touch Files="$(IntermediateOutputPath)XamlC.stamp" AlwaysCreate="True" />
|
||||
<ItemGroup>
|
||||
<FileWrites Include="$(IntermediateOutputPath)XamlC.stamp" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!-- CssG -->
|
||||
<PropertyGroup>
|
||||
<CoreCompileDependsOn>
|
||||
CssG;
|
||||
$(CoreCompileDependsOn);
|
||||
</CoreCompileDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="_FindCSSFiles" DependsOnTargets="PrepareResourceNames">
|
||||
<ItemGroup>
|
||||
<_CSSInputs Include="@(EmbeddedResource)" Condition="'%(Extension)' == '.css' AND '$(DefaultLanguageSourceExtension)' == '.cs' AND '%(TargetPath)' != ''" />
|
||||
<_CSSOutputs Include="@(_CSSInputs->'$(IntermediateOutputPath)%(TargetPath).g.cs')" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="CssG" BeforeTargets="BeforeCompile" DependsOnTargets="_FindCSSFiles" Inputs="@(_CSSInputs)" Outputs="@(_CSSOutputs)">
|
||||
<CssGTask
|
||||
CSSFiles="@(_CSSInputs)"
|
||||
OutputFiles="@(_CSSOutputs)"
|
||||
Language = "$(Language)"
|
||||
AssemblyName = "$(AssemblyName)" />
|
||||
<ItemGroup>
|
||||
<FileWrites Include="@(_CSSOutputs)" />
|
||||
<Compile Include="@(_CSSOutputs)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Platform Specific Targets.
|
||||
We can't use a framework specific targets file because it breaks shared projects i.e. /build/MonoAndroid10/Microsoft.Maui.Controls.targets
|
||||
-->
|
||||
|
||||
<!-- MonoAndroid targets. -->
|
||||
<PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == 'MonoAndroid'">
|
||||
<CoreCompileDependsOn>
|
||||
IncludeProguardForAndroid;
|
||||
$(CoreCompileDependsOn);
|
||||
</CoreCompileDependsOn>
|
||||
<PrepareForBuildDependsOn>
|
||||
ValidateTargetFrameworkVersionForMaui;
|
||||
$(PrepareForBuildDependsOn);
|
||||
</PrepareForBuildDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="IncludeProguardForAndroid" Condition="'$(MauiDisableDefaultProguardConfiguration)' != 'True'">
|
||||
<ItemGroup>
|
||||
<ProguardConfiguration Include="$(MSBuildThisFileDirectory)MonoAndroid10\proguard.cfg" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="ValidateTargetFrameworkVersionForMaui" Condition="'$(MauiDisableTargetFrameworkValidation)' != 'True'">
|
||||
<PropertyGroup>
|
||||
<MinTargetFrameworkVersionForMaui>10.0</MinTargetFrameworkVersionForMaui>
|
||||
<TargetFrameworkVersionWithoutV>$(TargetFrameworkVersion.TrimStart('vV'))</TargetFrameworkVersionWithoutV>
|
||||
</PropertyGroup>
|
||||
<Error Code="XF005" Condition="$(TargetFrameworkVersionWithoutV) < $(MinTargetFrameworkVersionForMaui)"
|
||||
Text="The %24(TargetFrameworkVersion) for $(ProjectName) ($(TargetFrameworkVersion)) is less than the minimum required %24(TargetFrameworkVersion) for Microsoft.Maui ($(MinTargetFrameworkVersionForMaui)). You need to increase the %24(TargetFrameworkVersion) for $(ProjectName)." />
|
||||
</Target>
|
||||
|
||||
<!-- UWP Targets-->
|
||||
<Target Name="WinUICheckTargetPlatformVersion" BeforeTargets="PrepareForBuild"
|
||||
Condition="'$(TargetPlatformIdentifier)' == 'UAP' AND '$(TargetPlatformVersion)' != '' AND '$(TargetPlatformMinVersion)' != ''">
|
||||
<PropertyGroup>
|
||||
<MicrosoftUIXamlTargetPlatformMinCheckValue>$([System.Version]::Parse('$(TargetPlatformMinVersion)').Build)</MicrosoftUIXamlTargetPlatformMinCheckValue>
|
||||
</PropertyGroup>
|
||||
<Warning
|
||||
Text="Microsoft.Maui recommends TargetPlatformMinVersion >= 10.0.15063.0 (current project is $(MicrosoftUIXamlTargetPlatformMinCheckValue))"
|
||||
Condition="$(MicrosoftUIXamlTargetPlatformMinCheckValue) < 15063" />
|
||||
<PropertyGroup>
|
||||
<MicrosoftUIXamlTargetPlatformCheckValue>$([System.Version]::Parse('$(TargetPlatformVersion)').Build)</MicrosoftUIXamlTargetPlatformCheckValue>
|
||||
</PropertyGroup>
|
||||
<Warning
|
||||
Text="Microsoft.Maui recommends TargetPlatformVersion >= 10.0.18362.0 (current project is $(MicrosoftUIXamlTargetPlatformCheckValue))"
|
||||
Condition="$(MicrosoftUIXamlTargetPlatformCheckValue) < 18362 AND '$(OutputType)'!='Library'" />
|
||||
<Warning
|
||||
Text="Microsoft.Maui recommends TargetPlatformVersion >= 10.0.14393.0 (current project is $(MicrosoftUIXamlTargetPlatformCheckValue))"
|
||||
Condition="$(MicrosoftUIXamlTargetPlatformCheckValue) < 14393 AND '$(OutputType)'=='Library'" />
|
||||
</Target>
|
||||
</Project>
|
|
@ -1,65 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<package >
|
||||
<metadata>
|
||||
<id>Xamarin.Forms.Visual.Material</id>
|
||||
<version>$version$</version>
|
||||
<authors>Microsoft</authors>
|
||||
<owners>microsoft xamarin</owners>
|
||||
<tags>xamarin forms visual material xamarinforms xamarinformsvisualmaterial xamarin.forms.visual.material</tags>
|
||||
<license type="expression">MIT</license>
|
||||
<icon>Assets\xamarin_128x128.png</icon>
|
||||
<projectUrl>http://xamarin.com/forms</projectUrl>
|
||||
<repository type="git" url="https://github.com/xamarin/xamarin.forms"/>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<description>Material renderers for Xamarin.Forms</description>
|
||||
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
|
||||
<dependencies>
|
||||
<group>
|
||||
<dependency id="Xamarin.Forms" version="$version$"/>
|
||||
</group>
|
||||
<group targetFramework="MonoAndroid10">
|
||||
<dependency id="Xamarin.Forms" version="$version$"/>
|
||||
</group>
|
||||
|
||||
<group targetFramework="MonoAndroid10.0">
|
||||
<dependency id="Xamarin.AndroidX.Lifecycle.LiveData" version="2.2.0.4" />
|
||||
<dependency id="Xamarin.Google.Android.Material" version="1.2.1.1" />
|
||||
</group>
|
||||
<group targetFramework="Xamarin.iOS10">
|
||||
<dependency id="Xamarin.iOS.MaterialComponents" version="92.0.0"/>
|
||||
</group>
|
||||
<group targetFramework="tizen40">
|
||||
<dependency id="Tizen.NET" version="4.0.0"/>
|
||||
<dependency id="Tizen.NET.MaterialComponents" version="0.9.7-preview"/>
|
||||
</group>
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<!--Icon-->
|
||||
<file src="..\Assets\xamarin_128x128.png" target="Assets\" />
|
||||
<!--netstandard-->
|
||||
<file src="_._" target="lib\netstandard1.0\_._" />
|
||||
|
||||
<!--Android 10-->
|
||||
<file src="_._" target="lib\MonoAndroid10\_._" />
|
||||
<file src="Xamarin.Forms.Visual.Material.targets" target="build\MonoAndroid10\Xamarin.Forms.Visual.Material.targets" />
|
||||
|
||||
<!--Android 10 buildTransitive-->
|
||||
<file src="Xamarin.Forms.Visual.Material.targets" target="buildTransitive\MonoAndroid10\Xamarin.Forms.Visual.Material.targets" />
|
||||
|
||||
<!--Android 10.0-->
|
||||
<file src="..\Xamarin.Forms.Material.Android\bin\$Configuration$\monoandroid10.0\Xamarin.Forms.Material.dll" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\Xamarin.Forms.Material.Android\bin\$Configuration$\monoandroid10.0\Xamarin.Forms.Material.*pdb" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\Xamarin.Forms.Material.Android\bin\$Configuration$\monoandroid10.0\Xamarin.Forms.Material.*mdb" target="lib\MonoAndroid10.0" />
|
||||
|
||||
<!--iOS-->
|
||||
<file src="..\Xamarin.Forms.Material.iOS\bin\$Configuration$\Xamarin.Forms.Material.dll" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\Xamarin.Forms.Material.iOS\bin\$Configuration$\Xamarin.Forms.Material.*pdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\Xamarin.Forms.Material.iOS\bin\$Configuration$\Xamarin.Forms.Material.*mdb" target="lib\Xamarin.iOS10" />
|
||||
|
||||
<!--Tizen-->
|
||||
<file src="..\Xamarin.Forms.Material.Tizen\bin\$Configuration$\tizen40\Xamarin.Forms.Material.dll" target="lib\tizen40" />
|
||||
<file src="..\Xamarin.Forms.Material.Tizen\bin\$Configuration$\tizen40\Xamarin.Forms.Material.*pdb" target="lib\tizen40" />
|
||||
|
||||
</files>
|
||||
</package>
|
|
@ -1,275 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<package >
|
||||
<metadata>
|
||||
<id>Xamarin.Forms</id>
|
||||
<version>$version$</version>
|
||||
<authors>Microsoft</authors>
|
||||
<owners>microsoft xamarin</owners>
|
||||
<tags>xamarin forms xamarinforms xamarin.forms</tags>
|
||||
<license type="expression">MIT</license>
|
||||
<icon>Assets\xamarin_128x128.png</icon>
|
||||
<projectUrl>http://xamarin.com/forms</projectUrl>
|
||||
<repository type="git" url="https://github.com/xamarin/xamarin.forms"/>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<description>Build native UIs for iOS, Android, UWP, macOS, Tizen and many more from a single, shared C# codebase</description>
|
||||
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
|
||||
<dependencies>
|
||||
<group targetFramework="MonoAndroid10.0">
|
||||
<dependency id="Xamarin.AndroidX.Lifecycle.LiveData" version="2.2.0.4" />
|
||||
<dependency id="Xamarin.Google.Android.Material" version="1.2.1.1" />
|
||||
<dependency id="Xamarin.AndroidX.Legacy.Support.V4" version="1.0.0.6" />
|
||||
<dependency id="Xamarin.AndroidX.Browser" version="1.3.0" />
|
||||
</group>
|
||||
<!--<group targetFramework="net6.0-windows10.0.18362.0">
|
||||
<dependency id="Microsoft.WinUI" version="3.0.0-preview3.201113.0" />
|
||||
</group>-->
|
||||
<group targetFramework="netstandard2.0">
|
||||
</group>
|
||||
<group targetFramework="Xamarin.iOS10">
|
||||
</group>
|
||||
<!-- <group targetFramework="tizen40">
|
||||
<dependency id="Tizen.NET" version="4.0.0"/>
|
||||
<dependency id="SkiaSharp.Views" version="2.80.2"/>
|
||||
</group> -->
|
||||
</dependencies>
|
||||
|
||||
<!-- DO NOT DELETE THESE REFERENCES -->
|
||||
<!-- IF YOU DELETE THESE REFERENCES THE PACKAGE WILL NOT WORK ON MAC -->
|
||||
<!-- https://github.com/xamarin/Xamarin.Forms/pull/2575 -->
|
||||
<!-- DO NOT DELETE THESE REFERENCES -->
|
||||
<references>
|
||||
<group>
|
||||
<reference file="Xamarin.Forms.Core.dll" />
|
||||
<reference file="Xamarin.Forms.Xaml.dll" />
|
||||
<reference file="Xamarin.Platform.dll" />
|
||||
</group>
|
||||
<group targetFramework="Xamarin.iOS10">
|
||||
<reference file="Xamarin.Forms.Core.dll" />
|
||||
<reference file="Xamarin.Forms.Xaml.dll" />
|
||||
<reference file="Xamarin.Forms.Platform.iOS.dll" />
|
||||
<reference file="Xamarin.Platform.dll" />
|
||||
</group>
|
||||
<group targetFramework="MonoAndroid10.0">
|
||||
<reference file="Xamarin.Forms.Core.dll" />
|
||||
<reference file="Xamarin.Forms.Xaml.dll" />
|
||||
<reference file="FormsViewGroup.dll" />
|
||||
<reference file="Xamarin.Forms.Platform.Android.dll" />
|
||||
<reference file="Xamarin.Platform.dll" />
|
||||
</group>
|
||||
<!--<group targetFramework="net6.0-windows10.0.18362.0">
|
||||
<reference file="Xamarin.Forms.Core.dll" />
|
||||
<reference file="Xamarin.Forms.Xaml.dll" />
|
||||
<reference file="Xamarin.Forms.Platform.UAP.dll" />
|
||||
<reference file="Xamarin.Platform.dll" />
|
||||
</group>-->
|
||||
<!-- <group targetFramework="tizen40">
|
||||
<reference file="Xamarin.Forms.Core.dll" />
|
||||
<reference file="Xamarin.Forms.Platform.Tizen.dll" />
|
||||
<reference file="Xamarin.Forms.Platform.dll" />
|
||||
<reference file="Xamarin.Forms.Xaml.dll" />
|
||||
</group> -->
|
||||
</references>
|
||||
</metadata>
|
||||
|
||||
<files>
|
||||
<!--Icon-->
|
||||
<file src="..\Assets\xamarin_128x128.png" target="Assets\" />
|
||||
|
||||
<!--netstandard-->
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*pdb" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*mdb" target="lib\netstandard2.0" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Core.xml" target="lib\netstandard2.0" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Xaml.xml" target="lib\netstandard2.0" />
|
||||
<file src="..\eng\docs\**\Xamarin.Forms.Core.xml" target="lib\netstandard2.0" />
|
||||
<file src="..\eng\docs\**\Xamarin.Forms.Xaml.xml" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*pdb" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*mdb" target="lib\netstandard2.0" />
|
||||
|
||||
|
||||
|
||||
<!--Handlers-->
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\netstandard2.0\Xamarin.Platform.dll" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\netstandard2.0\Xamarin.Platform.*pdb" target="lib\netstandard2.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\netstandard2.0\Xamarin.Platform.*mdb" target="lib\netstandard2.0" />
|
||||
|
||||
<!--Xamlc stuff-->
|
||||
<file src="Xamarin.Forms.targets" target="build" />
|
||||
<file src="Xamarin.Forms.props" target="build" />
|
||||
<file src="Xamarin.Forms.DefaultItems.targets" target="build" />
|
||||
<file src="Xamarin.Forms.DefaultItems.props" target="build" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Build.Tasks.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Mdb.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Pdb.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Rocks.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\System.CodeDom.dll" target="build\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Xamarin.Forms.Build.Tasks.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Xamarin.Forms.Core.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Xamarin.Forms.Xaml.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.Mdb.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.Pdb.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.Rocks.dll" target="build\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\System.ValueTuple.dll" target="build\net462" />
|
||||
|
||||
<!--Xamlc stuff buildTransitive-->
|
||||
<file src="Xamarin.Forms.targets" target="buildTransitive" />
|
||||
<file src="Xamarin.Forms.props" target="buildTransitive" />
|
||||
<file src="Xamarin.Forms.DefaultItems.targets" target="buildTransitive" />
|
||||
<file src="Xamarin.Forms.DefaultItems.props" target="buildTransitive" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Build.Tasks.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Mdb.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Pdb.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\Mono.Cecil.Rocks.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\netstandard2.0\System.CodeDom.dll" target="buildTransitive\netstandard2.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Xamarin.Forms.Build.Tasks.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Xamarin.Forms.Core.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Xamarin.Forms.Xaml.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.Mdb.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.Pdb.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\Mono.Cecil.Rocks.dll" target="buildTransitive\net462" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Build.Tasks\bin\$Configuration$\net462\System.ValueTuple.dll" target="buildTransitive\net462" />
|
||||
|
||||
<!-- Xaml Design-time Stuff -->
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\netstandard2.0\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\netstandard2.0\Design" />
|
||||
<!-- <file src="..\src\Forms\src\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\netstandard1.0\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\netstandard1.0\Design" /> -->
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\MonoAndroid10.0\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\MonoAndroid10.0\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\Xamarin.iOS10\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\Xamarin.iOS10\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\net5.0-windows10.0.18362.0\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\net5.0-windows10.0.18362.0\Design" />
|
||||
<!-- <file src="..\src\Forms\src\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\tizen40\Design" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\tizen40\Design" /> -->
|
||||
|
||||
<!--Android 10-->
|
||||
<file src="proguard.cfg" target="build\MonoAndroid10\proguard.cfg" />
|
||||
<file src="proguard.cfg" target="buildTransitive\MonoAndroid10\proguard.cfg" />
|
||||
|
||||
<!--Android 10-->
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid10.0\Xamarin.Forms.Platform.Android.dll" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid10.0\Xamarin.Forms.Platform.Android.*pdb" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Android.FormsViewGroup\bin\$Configuration$\FormsViewGroup.dll" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Android.FormsViewGroup\bin\$Configuration$\FormsViewGroup.*pdb" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*pdb" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Core.xml" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Xaml.xml" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\eng\docs\**\Xamarin.Forms.Core.xml" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\eng\docs\**\Xamarin.Forms.Xaml.xml" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*pdb" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\monoandroid10.0\Xamarin.Platform.dll" target="lib\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\monoandroid10.0\Xamarin.Platform.*pdb" target="lib\MonoAndroid10.0" />
|
||||
|
||||
<!--iPhone Unified-->
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\Xamarin.Forms.Platform.iOS.dll" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\Xamarin.Forms.Platform.iOS.*pdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\Xamarin.Forms.Platform.iOS.*mdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*pdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*mdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Core.xml" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Xaml.xml" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\eng\docs\**\Xamarin.Forms.Core.xml" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\eng\docs\**\Xamarin.Forms.Xaml.xml" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*pdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*mdb" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\Xamarin.iOS10\Xamarin.Platform.dll" target="lib\Xamarin.iOS10" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\Xamarin.iOS10\Xamarin.Platform.*pdb" target="lib\Xamarin.iOS10" />
|
||||
|
||||
<!--net5.0-windows10.0.18362.0-->
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.UAP\bin\$Configuration$\net5.0-windows10.0.18362.0\Xamarin.Forms.Platform.UAP.dll" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.UAP\bin\$Configuration$\net5.0-windows10.0.18362.0\Xamarin.Forms.Platform.UAP.*pdb" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.UAP\bin\$Configuration$\net5.0-windows10.0.18362.0\Xamarin.Forms.Platform.UAP.*pri" target="runtimes\net5.0-windows10.0.18362.0\native" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*pdb" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Core.xml" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*pdb" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Xaml.xml" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\netstandard2.0\Xamarin.Platform.dll" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\netstandard2.0\Xamarin.Platform.*pdb" target="lib\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.UAP\bin\$Configuration$\net5.0-windows10.0.18362.0\Xamarin.Forms.Platform.UAP\**\*.xaml" target="lib\net5.0-windows10.0.18362.0\Xamarin.Forms.Platform.UAP" />
|
||||
|
||||
<!-- iOS Localized String Resource Assemblies -->
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ar\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ar" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ca\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ca" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\cs\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\cs" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\da\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\da" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\de\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\de" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\el\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\el" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\es\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\es" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\fi\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\fi" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\fr\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\fr" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\he\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\he" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\hi\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\hi" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\hr\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\hr" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\hu\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\hu" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\id\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\id" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\it\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\it" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ja\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ja" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ko\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ko" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ms\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ms" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\nb\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\nb" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\nl\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\nl" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\pl\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\pl" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\pt-BR\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\pt-BR" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\pt\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\pt" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ro\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ro" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\ru\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\ru" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\sk\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\sk" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\sv\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\sv" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\th\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\th" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\tr\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\tr" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\uk\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\uk" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\vi\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\vi" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\zh-Hans\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\zh-Hans" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\zh-Hant\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\zh-Hant" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\zh-HK\Xamarin.Forms.Platform.iOS.resources.dll" target="lib\Xamarin.iOS10\zh-HK" />
|
||||
|
||||
<!--Tizen-->
|
||||
<!-- <file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Tizen\bin\$Configuration$\tizen40\Xamarin.Forms.Platform.Tizen.dll" target="lib\tizen40" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Tizen\bin\$Configuration$\tizen40\Xamarin.Forms.Platform.Tizen.*pdb" target="lib\tizen40" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Tizen\bin\$Configuration$\tizen40\Xamarin.Forms.Platform.Tizen.dll" target="lib\tizen40" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="lib\tizen40" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*pdb" target="lib\tizen40" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Core.xml" target="lib\tizen40" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="lib\tizen40" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*pdb" target="lib\tizen40" />
|
||||
<file src="..\eng\docs\Xamarin.Forms.Xaml.xml" target="lib\tizen40" /> -->
|
||||
|
||||
|
||||
|
||||
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid10.0\Xamarin.Forms.Platform.Android.dll" target="ref\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.Android.FormsViewGroup\bin\$Configuration$\FormsViewGroup.dll" target="ref\MonoAndroid10.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="ref\MonoAndroid10.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="ref\MonoAndroid10.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\monoandroid10.0\Xamarin.Platform.dll" target="ref\MonoAndroid10.0" />
|
||||
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\bin\$Configuration$\Xamarin.Forms.Platform.iOS.dll" target="ref\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="ref\Xamarin.iOS10" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="ref\Xamarin.iOS10" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\xamarin.ios10\Xamarin.Platform.dll" target="ref\Xamarin.iOS10" />
|
||||
|
||||
<file src="..\src\Platform.Renderers\src\Xamarin.Forms.Platform.UAP\bin\$Configuration$\net5.0-windows10.0.18362.0\Xamarin.Forms.Platform.UAP.dll" target="ref\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="ref\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Forms\src\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="ref\net5.0-windows10.0.18362.0" />
|
||||
<file src="..\src\Platform.Handlers\src\Xamarin.Platform.Handlers\bin\$Configuration$\netstandard2.0\Xamarin.Platform.dll" target="ref\net5.0-windows10.0.18362.0" />
|
||||
|
||||
|
||||
</files>
|
||||
|
||||
</package>
|
|
@ -1,19 +0,0 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<!--
|
||||
When using Sdk-style projects and default embedded resource items are enabled, automatically
|
||||
add the XAML files and fix up item metadata to pair them with code files.
|
||||
This is in the props file, not the targets file, so that projects can remove/update these items.
|
||||
The default value for EnableDefaultXamlItems is set in the targets, which works because
|
||||
the property evaluation pass comes before the item evaluation pass.
|
||||
|
||||
The actual item groups are in a separate conditionally-imported file as they use constructs that
|
||||
are not compatible with older MSBuild versions.
|
||||
-->
|
||||
<Import Project="$(MSBuildThisFileDirectory)Xamarin.Forms.DefaultItems.props" Condition="'$(MSBuildSDKsPath)'!=''" />
|
||||
|
||||
<PropertyGroup>
|
||||
<_IsHotRestartDefined>$([System.Text.RegularExpressions.Regex]::IsMatch('$(DefineConstants.Trim())', '(^|;)HOTRESTART($|;)'))</_IsHotRestartDefined>
|
||||
<DefineConstants Condition="!$(_IsHotRestartDefined) And '$(IsHotRestartBuild)' == 'true'">HOTRESTART;$(DefineConstants)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,211 +0,0 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<_XFBuildTasksLocation Condition="'$(_XFBuildTasksLocation)' == '' AND '$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)netstandard2.0\</_XFBuildTasksLocation>
|
||||
<_XFBuildTasksLocation Condition="'$(_XFBuildTasksLocation)' == ''">$(MSBuildThisFileDirectory)net462\</_XFBuildTasksLocation>
|
||||
</PropertyGroup>
|
||||
|
||||
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlGTask" AssemblyFile="$(_XFBuildTasksLocation)Xamarin.Forms.Build.Tasks.dll" />
|
||||
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.CssGTask" AssemblyFile="$(_XFBuildTasksLocation)Xamarin.Forms.Build.Tasks.dll" />
|
||||
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlCTask" AssemblyFile="$(_XFBuildTasksLocation)Xamarin.Forms.Build.Tasks.dll" />
|
||||
|
||||
<PropertyGroup>
|
||||
<SynthesizeLinkMetadata>true</SynthesizeLinkMetadata>
|
||||
<EnableDefaultXamlItems Condition="'$(EnableDefaultXamlItems)'==''">True</EnableDefaultXamlItems>
|
||||
<_DefaultXamlItemsEnabled>False</_DefaultXamlItemsEnabled>
|
||||
<EnableDefaultCssItems Condition="'$(EnableDefaultCssItems)'==''">True</EnableDefaultCssItems>
|
||||
<_DefaultCssItemsEnabled>False</_DefaultCssItemsEnabled>
|
||||
<!-- The WINUI check for this only runs when there is an empty string so I just convert false to an empty string to fall in line with our other properties -->
|
||||
<SkipMicrosoftUIXamlCheckTargetPlatformVersion Condition="'$(SkipMicrosoftUIXamlCheckTargetPlatformVersion)'==''">true</SkipMicrosoftUIXamlCheckTargetPlatformVersion>
|
||||
<SkipMicrosoftUIXamlCheckTargetPlatformVersion Condition="'$(SkipMicrosoftUIXamlCheckTargetPlatformVersion)'=='false'"></SkipMicrosoftUIXamlCheckTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(MSBuildThisFileDirectory)Xamarin.Forms.DefaultItems.targets" Condition="'$(MSBuildSDKsPath)'!=''" />
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectCapability Include="XamarinForms" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Check Tasks ABI and other validations -->
|
||||
<PropertyGroup>
|
||||
<_XFTargetsImportedAgain Condition="'$(_XFTargetsImported)'=='True'">True</_XFTargetsImportedAgain>
|
||||
<_XFTargetsImported>True</_XFTargetsImported>
|
||||
<IsXBuild Condition="'$(MSBuildRuntimeType)' == ''">true</IsXBuild>
|
||||
<IsXBuild Condition="'$(MSBuildRuntimeType)' != ''">false</IsXBuild>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="_ValidateXFTasks" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(XFDisableTargetsValidation)' != 'True'">
|
||||
<Error Code="XF001"
|
||||
Text="Xamarin.Forms targets have been imported multiple times. Please check your project file and remove the duplicate import(s)."
|
||||
Condition="'$(_XFTargetsImportedAgain)' == 'True'" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_ValidateMSBuild" BeforeTargets="_CheckForInvalidConfigurationAndPlatform">
|
||||
<Error Code="XF003"
|
||||
Text="Xamarin.Forms require msbuild. xbuild is no longer supported."
|
||||
Condition="'$(IsXBuild)' == 'true'" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_ValidateNETFrameworkVersion"
|
||||
BeforeTargets="_CheckForInvalidConfigurationAndPlatform"
|
||||
Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' AND '$(TargetFrameworkVersion.Substring(1))' < '4.6.1' AND '$(XFDisableFrameworkVersionValidation)' != 'True'">
|
||||
<Error Code="XF004"
|
||||
Text="XF requires .NETFramework >= v4.6.1. You have '$(TargetFrameworkVersion)'" />
|
||||
</Target>
|
||||
|
||||
<!-- XamlG -->
|
||||
<Target
|
||||
Name="UpdateDesignTimeXaml"
|
||||
DependsOnTargets="XamlG"/>
|
||||
|
||||
<PropertyGroup>
|
||||
<CoreCompileDependsOn>
|
||||
XamlG;
|
||||
$(CoreCompileDependsOn);
|
||||
</CoreCompileDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target
|
||||
Name="_FindXamlGFiles"
|
||||
DependsOnTargets="PrepareResourceNames">
|
||||
<ItemGroup>
|
||||
<_XamlGInputs
|
||||
Include="@(EmbeddedResource)"
|
||||
Condition="'%(Extension)' == '.xaml' AND '$(DefaultLanguageSourceExtension)' == '.cs' AND '%(TargetPath)' != ''" />
|
||||
<_XamlGOutputs
|
||||
Include="@(_XamlGInputs->'$(IntermediateOutputPath)%(TargetPath).g.cs')" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target
|
||||
Name="XamlG"
|
||||
BeforeTargets="BeforeCompile"
|
||||
DependsOnTargets="_FindXamlGFiles; PrepareResourceNames; AfterResolveReferences"
|
||||
Inputs="@(_XamlGInputs)"
|
||||
Outputs="@(_XamlGOutputs)">
|
||||
<PropertyGroup>
|
||||
<ReferencedAssemblies>@(ReferencePath)</ReferencedAssemblies>
|
||||
</PropertyGroup>
|
||||
<XamlGTask
|
||||
XamlFiles="@(_XamlGInputs)"
|
||||
OutputFiles="@(_XamlGOutputs)"
|
||||
Language="$(Language)"
|
||||
References = "$(ReferencedAssemblies)"
|
||||
AssemblyName="$(AssemblyName)" />
|
||||
<ItemGroup>
|
||||
<FileWrites Include="@(_XamlGOutputs)" />
|
||||
<Compile Include="@(_XamlGOutputs)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!-- XamlC -->
|
||||
<PropertyGroup>
|
||||
<CompileDependsOn>
|
||||
$(CompileDependsOn);
|
||||
XamlC;
|
||||
</CompileDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="XamlC"
|
||||
AfterTargets="AfterCompile"
|
||||
DependsOnTargets="_FindXamlGFiles"
|
||||
Inputs="$(IntermediateOutputPath)$(TargetFileName)"
|
||||
Outputs="$(IntermediateOutputPath)XamlC.stamp"
|
||||
Condition=" '$(DesignTimeBuild)' != 'True' AND '@(_XamlGInputs->Count())' != '0' ">
|
||||
<PropertyGroup>
|
||||
<_XFXamlCValidateOnly>$(XFXamlCValidateOnly)</_XFXamlCValidateOnly>
|
||||
<_XFXamlCValidateOnly Condition="'$(BuildingForLiveUnitTesting)' == 'True' ">True</_XFXamlCValidateOnly>
|
||||
</PropertyGroup>
|
||||
<XamlCTask
|
||||
Assembly = "$(IntermediateOutputPath)$(TargetFileName)"
|
||||
ReferencePath = "@(ReferencePath)"
|
||||
OptimizeIL = "true"
|
||||
DebugSymbols = "$(DebugSymbols)"
|
||||
DebugType = "$(DebugType)"
|
||||
ValidateOnly = "$(_XFXamlCValidateOnly)"
|
||||
KeepXamlResources = "$(XFKeepXamlResources)" />
|
||||
<Touch Files="$(IntermediateOutputPath)XamlC.stamp" AlwaysCreate="True" />
|
||||
<ItemGroup>
|
||||
<FileWrites Include="$(IntermediateOutputPath)XamlC.stamp" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!-- CssG -->
|
||||
<PropertyGroup>
|
||||
<CoreCompileDependsOn>
|
||||
CssG;
|
||||
$(CoreCompileDependsOn);
|
||||
</CoreCompileDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="_FindCSSFiles" DependsOnTargets="PrepareResourceNames">
|
||||
<ItemGroup>
|
||||
<_CSSInputs Include="@(EmbeddedResource)" Condition="'%(Extension)' == '.css' AND '$(DefaultLanguageSourceExtension)' == '.cs' AND '%(TargetPath)' != ''" />
|
||||
<_CSSOutputs Include="@(_CSSInputs->'$(IntermediateOutputPath)%(TargetPath).g.cs')" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="CssG" BeforeTargets="BeforeCompile" DependsOnTargets="_FindCSSFiles" Inputs="@(_CSSInputs)" Outputs="@(_CSSOutputs)">
|
||||
<CssGTask
|
||||
CSSFiles="@(_CSSInputs)"
|
||||
OutputFiles="@(_CSSOutputs)"
|
||||
Language = "$(Language)"
|
||||
AssemblyName = "$(AssemblyName)" />
|
||||
<ItemGroup>
|
||||
<FileWrites Include="@(_CSSOutputs)" />
|
||||
<Compile Include="@(_CSSOutputs)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Platform Specific Targets.
|
||||
We can't use a framework specific targets file because it breaks shared projects i.e. /build/MonoAndroid10/Xamarin.Forms.targets
|
||||
-->
|
||||
|
||||
<!-- MonoAndroid targets. -->
|
||||
<PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == 'MonoAndroid'">
|
||||
<CoreCompileDependsOn>
|
||||
IncludeProguardForAndroid;
|
||||
$(CoreCompileDependsOn);
|
||||
</CoreCompileDependsOn>
|
||||
<PrepareForBuildDependsOn>
|
||||
ValidateTargetFrameworkVersionForForms;
|
||||
$(PrepareForBuildDependsOn);
|
||||
</PrepareForBuildDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="IncludeProguardForAndroid" Condition="'$(XFDisableDefaultProguardConfiguration)' != 'True'">
|
||||
<ItemGroup>
|
||||
<ProguardConfiguration Include="$(MSBuildThisFileDirectory)MonoAndroid10\proguard.cfg" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="ValidateTargetFrameworkVersionForForms" Condition="'$(XFDisableTargetFrameworkValidation)' != 'True'">
|
||||
<PropertyGroup>
|
||||
<MinTargetFrameworkVersionForForms>10.0</MinTargetFrameworkVersionForForms>
|
||||
<TargetFrameworkVersionWithoutV>$(TargetFrameworkVersion.TrimStart('vV'))</TargetFrameworkVersionWithoutV>
|
||||
</PropertyGroup>
|
||||
<Error Code="XF005" Condition="$(TargetFrameworkVersionWithoutV) < $(MinTargetFrameworkVersionForForms)"
|
||||
Text="The %24(TargetFrameworkVersion) for $(ProjectName) ($(TargetFrameworkVersion)) is less than the minimum required %24(TargetFrameworkVersion) for Xamarin.Forms ($(MinTargetFrameworkVersionForForms)). You need to increase the %24(TargetFrameworkVersion) for $(ProjectName)." />
|
||||
</Target>
|
||||
|
||||
<!-- UWP Targets-->
|
||||
<Target Name="WinUICheckTargetPlatformVersion" BeforeTargets="PrepareForBuild"
|
||||
Condition="'$(TargetPlatformIdentifier)' == 'UAP' AND '$(TargetPlatformVersion)' != '' AND '$(TargetPlatformMinVersion)' != ''">
|
||||
<PropertyGroup>
|
||||
<MicrosoftUIXamlTargetPlatformMinCheckValue>$([System.Version]::Parse('$(TargetPlatformMinVersion)').Build)</MicrosoftUIXamlTargetPlatformMinCheckValue>
|
||||
</PropertyGroup>
|
||||
<Warning
|
||||
Text="Xamarin.Forms recommends TargetPlatformMinVersion >= 10.0.15063.0 (current project is $(MicrosoftUIXamlTargetPlatformMinCheckValue))"
|
||||
Condition="$(MicrosoftUIXamlTargetPlatformMinCheckValue) < 15063" />
|
||||
<PropertyGroup>
|
||||
<MicrosoftUIXamlTargetPlatformCheckValue>$([System.Version]::Parse('$(TargetPlatformVersion)').Build)</MicrosoftUIXamlTargetPlatformCheckValue>
|
||||
</PropertyGroup>
|
||||
<Warning
|
||||
Text="Xamarin.Forms recommends TargetPlatformVersion >= 10.0.18362.0 (current project is $(MicrosoftUIXamlTargetPlatformCheckValue))"
|
||||
Condition="$(MicrosoftUIXamlTargetPlatformCheckValue) < 18362 AND '$(OutputType)'!='Library'" />
|
||||
<Warning
|
||||
Text="Xamarin.Forms recommends TargetPlatformVersion >= 10.0.14393.0 (current project is $(MicrosoftUIXamlTargetPlatformCheckValue))"
|
||||
Condition="$(MicrosoftUIXamlTargetPlatformCheckValue) < 14393 AND '$(OutputType)'=='Library'" />
|
||||
</Target>
|
||||
</Project>
|
|
@ -0,0 +1,971 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30503.244
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Controls", "Controls", "{9AD757F5-E57A-459D-A0A7-E0675E045B84}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Compatibility", "Compatibility", "{29AC50BF-B4FB-450B-9386-0C5AD4B84226}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Android", "src\Compatibility\Core\src\Android\Compatibility.Android.csproj", "{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuspec", ".nuspec", "{7E12C50D-A570-4DF1-94E1-8599843FA87C}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.nuspec\Microsoft.Maui.Controls.Compatibility.AppLinks.nuspec = .nuspec\Microsoft.Maui.Controls.Compatibility.AppLinks.nuspec
|
||||
.nuspec\Microsoft.Maui.Controls.Compatibility.GTK.nuspec = .nuspec\Microsoft.Maui.Controls.Compatibility.GTK.nuspec
|
||||
.nuspec\Microsoft.Maui.Controls.Compatibility.Maps.GTK.nuspec = .nuspec\Microsoft.Maui.Controls.Compatibility.Maps.GTK.nuspec
|
||||
.nuspec\Microsoft.Maui.Controls.Compatibility.Maps.nuspec = .nuspec\Microsoft.Maui.Controls.Compatibility.Maps.nuspec
|
||||
.nuspec\Microsoft.Maui.Controls.Compatibility.Maps.WPF.nuspec = .nuspec\Microsoft.Maui.Controls.Compatibility.Maps.WPF.nuspec
|
||||
.nuspec\Microsoft.Maui.Controls.Compatibility.WPF.nuspec = .nuspec\Microsoft.Maui.Controls.Compatibility.WPF.nuspec
|
||||
.nuspec\Microsoft.Maui.Controls.Debug.targets = .nuspec\Microsoft.Maui.Controls.Debug.targets
|
||||
.nuspec\Microsoft.Maui.Controls.DefaultItems.props = .nuspec\Microsoft.Maui.Controls.DefaultItems.props
|
||||
.nuspec\Microsoft.Maui.Controls.DefaultItems.targets = .nuspec\Microsoft.Maui.Controls.DefaultItems.targets
|
||||
.nuspec\Microsoft.Maui.Controls.DualScreen.nuspec = .nuspec\Microsoft.Maui.Controls.DualScreen.nuspec
|
||||
.nuspec\Microsoft.Maui.Controls.MultiTargeting.targets = .nuspec\Microsoft.Maui.Controls.MultiTargeting.targets
|
||||
.nuspec\Microsoft.Maui.Controls.nuspec = .nuspec\Microsoft.Maui.Controls.nuspec
|
||||
.nuspec\Microsoft.Maui.Controls.props = .nuspec\Microsoft.Maui.Controls.props
|
||||
.nuspec\Microsoft.Maui.Controls.targets = .nuspec\Microsoft.Maui.Controls.targets
|
||||
.nuspec\Microsoft.Maui.Controls.Visual.Material.nuspec = .nuspec\Microsoft.Maui.Controls.Visual.Material.nuspec
|
||||
.nuspec\Microsoft.Maui.Controls.Visual.Material.targets = .nuspec\Microsoft.Maui.Controls.Visual.Material.targets
|
||||
.nuspec\proguard.cfg = .nuspec\proguard.cfg
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Core", "src\Controls\src\Core\Controls.Core.csproj", "{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Handlers", "Handlers", "{31721EFD-3238-462B-B501-41F3D2B50E92}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Controls", "Controls", "{97FA536A-675D-41C7-A90E-97E2F79D1AE2}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{423C21C8-84CB-4A3C-BEB9-1C23D752D90F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{2ACC7FFA-238F-44FD-93CB-4D9B17D8C4BA}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core", "src\Core\src\Core.csproj", "{29913989-0F70-48D8-8EDE-B1DD217F21D1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compatibility.Android.FormsViewGroup", "src\Compatibility\Core\src\Android.FormsViewGroup\Compatibility.Android.FormsViewGroup.csproj", "{3B72465B-ACAE-43AE-9327-10F372FE5F80}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compatibility.iOS", "src\Compatibility\Core\src\iOS\Compatibility.iOS.csproj", "{271193C1-6E7C-429C-A36D-3F1BE5267231}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{D5B986A3-7FC9-437E-8030-349AA4698DFD}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{75A2CD30-BB85-4CA6-AC95-86A8A538A690}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Core.UnitTests", "src\Controls\tests\Core.UnitTests\Controls.Core.UnitTests.csproj", "{00259593-A283-47A5-ACB7-9C3819B16364}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Xaml", "src\Controls\src\Xaml\Controls.Xaml.csproj", "{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Maps", "src\Controls\Maps\src\Controls.Maps.csproj", "{F137FAC5-3385-4B19-988B-4A14ED84CCC6}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Build.Tasks", "src\Controls\src\Build.Tasks\Controls.Build.Tasks.csproj", "{C328C538-B69F-43D2-80EE-3C1EB8254CBA}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core.UnitTests", "src\Core\tests\UnitTests\Core.UnitTests.csproj", "{7A753001-1C3D-404D-A421-2E052A545EAC}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Control Gallery", "Control Gallery", "{F07FDC58-64A0-42DA-8556-09742721F15E}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Xamarin.Forms.Controls.Issues.Shared", "src\ControlGallery\src\Xamarin.Forms.Controls.Issues.Shared\Xamarin.Forms.Controls.Issues.Shared.shproj", "{0F0DB9CC-EA65-429C-9363-38624BF8F49C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Controls", "src\ControlGallery\src\Xamarin.Forms.Controls\Xamarin.Forms.Controls.csproj", "{7AD93806-111D-4FDC-B48D-9566765185FF}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.ControlGallery.Android", "src\ControlGallery\src\Xamarin.Forms.ControlGallery.Android\Xamarin.Forms.ControlGallery.Android.csproj", "{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Compatibility.Maps", "Compatibility.Maps", "{8A70C15D-86D3-4086-A8C5-E17B299EA970}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Maps.Android", "src\Compatibility\Maps\src\Android\Compatibility.Maps.Android.csproj", "{1D11EC11-4734-47D4-9B62-4D03CFF67090}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Controls.Xaml", "Controls.Xaml", "{E7F90170-B71B-4730-A082-1DF4E4F04420}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Controls.Xaml.Design", "src\Controls\src\Xaml.Design\Controls.Xaml.Design.csproj", "{65BC4888-CC59-428A-9B75-540CF1C09480}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Xaml.UnitTests", "src\Controls\tests\Xaml.UnitTests\Controls.Xaml.UnitTests.csproj", "{5997F786-4526-4A4B-BFC6-3832091D6544}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Controls.Core.Design", "src\Controls\src\Core.Design\Controls.Core.Design.csproj", "{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Android.AppLinks", "src\Compatibility\Core\src\Android.AppLinks\Compatibility.Android.AppLinks.csproj", "{10553575-8E27-4E2C-9E88-90B015E80F1C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.CustomAttributes", "src\Controls\tests\CustomAttributes\Controls.CustomAttributes.csproj", "{2964F669-7CD9-4D78-B4D9-804A965D58C0}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{B5E27729-44E8-4BE6-A62E-45FF27449B8F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{5CE892DB-8CA2-42E4-8130-2836D28AD8DB}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compatibility.Android.UnitTests", "src\Compatibility\Core\tests\Android\Compatibility.Android.UnitTests.csproj", "{A4C57790-71D1-467C-A69E-2BD84CB6666C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.ControlGallery.iOS", "src\ControlGallery\src\Xamarin.Forms.ControlGallery.iOS\Xamarin.Forms.ControlGallery.iOS.csproj", "{C7131F14-274F-4B55-ACA9-E81731AD012F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compatibility.iOS.UnitTests", "src\Compatibility\Core\tests\iOS\Compatibility.iOS.UnitTests.csproj", "{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compatibility.Maps.iOS", "src\Compatibility\Maps\src\iOS\Compatibility.Maps.iOS.csproj", "{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{52963C98-6AD9-4B57-924F-BE58DC36D746}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{FFCE9E2C-327C-46E7-8AC1-18CB2E982C2E}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Core.iOS.UITests", "src\ControlGallery\test\Xamarin.Forms.Core.iOS.UITests\Xamarin.Forms.Core.iOS.UITests.csproj", "{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Xamarin.Forms.Core.UITests.Shared", "src\ControlGallery\src\Xamarin.Forms.Core.UITests.Shared\Xamarin.Forms.Core.UITests.Shared.shproj", "{E175485B-3C8C-47D7-8DD5-F7FED627EB25}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Core.Android.UITests", "src\ControlGallery\test\Xamarin.Forms.Core.Android.UITests\Xamarin.Forms.Core.Android.UITests.csproj", "{A34EBE01-25BF-4E69-A2DC-2288DC625541}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.UAP", "src\Compatibility\Core\src\UAP\Compatibility.UAP.csproj", "{DD10263D-D580-4241-9E21-EB5DE0FC83C3}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.ControlGallery.WindowsUniversal", "src\ControlGallery\src\Xamarin.Forms.ControlGallery.WindowsUniversal\Xamarin.Forms.ControlGallery.WindowsUniversal.csproj", "{AC257966-9368-478A-9DF4-F0D28E320FE3}"
|
||||
EndProject
|
||||
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "Xamarin.Forms.ControlGallery.WindowsUniversal (Package)", "src\ControlGallery\src\Xamarin.Forms.ControlGallery.WindowsUniversal (Package)\Xamarin.Forms.ControlGallery.WindowsUniversal (Package).wapproj", "{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.UAP.UnitTests", "src\Compatibility\Core\tests\UAP\Compatibility.UAP.UnitTests.csproj", "{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
src\ControlGallery\src\Xamarin.Forms.Controls.Issues.Shared\Xamarin.Forms.Controls.Issues.Shared.projitems*{0f0db9cc-ea65-429c-9363-38624bf8f49c}*SharedItemsImports = 13
|
||||
src\ControlGallery\src\Xamarin.Forms.Controls.Issues.Shared\Xamarin.Forms.Controls.Issues.Shared.projitems*{7ad93806-111d-4fdc-b48d-9566765185ff}*SharedItemsImports = 5
|
||||
src\ControlGallery\src\Xamarin.Forms.Controls.Issues.Shared\Xamarin.Forms.Controls.Issues.Shared.projitems*{a34ebe01-25bf-4e69-a2dc-2288dc625541}*SharedItemsImports = 4
|
||||
src\ControlGallery\src\Xamarin.Forms.Core.UITests.Shared\Xamarin.Forms.Core.UITests.projitems*{a34ebe01-25bf-4e69-a2dc-2288dc625541}*SharedItemsImports = 4
|
||||
src\ControlGallery\src\Xamarin.Forms.Core.UITests.Shared\Xamarin.Forms.Core.UITests.projitems*{e175485b-3c8c-47d7-8dd5-f7fed627eb25}*SharedItemsImports = 13
|
||||
src\ControlGallery\src\Xamarin.Forms.Controls.Issues.Shared\Xamarin.Forms.Controls.Issues.Shared.projitems*{eadd8100-b3ae-4a31-92c4-267a64a1c6eb}*SharedItemsImports = 4
|
||||
src\ControlGallery\src\Xamarin.Forms.Core.UITests.Shared\Xamarin.Forms.Core.UITests.projitems*{eadd8100-b3ae-4a31-92c4-267a64a1c6eb}*SharedItemsImports = 4
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|ARM = Debug|ARM
|
||||
Debug|ARM64 = Debug|ARM64
|
||||
Debug|iPhone = Debug|iPhone
|
||||
Debug|iPhoneSimulator = Debug|iPhoneSimulator
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|ARM = Release|ARM
|
||||
Release|ARM64 = Release|ARM64
|
||||
Release|iPhone = Release|iPhone
|
||||
Release|iPhoneSimulator = Release|iPhoneSimulator
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|x64.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|x86.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|x64.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|x86.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|x64.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|x86.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|x64.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|x86.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|x64.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|x86.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|x64.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|x86.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|x64.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|ARM.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|ARM64.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|iPhone.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|x64.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|x86.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|ARM.Deploy.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|ARM64.Deploy.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|iPhone.Deploy.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|x64.Deploy.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|x86.Deploy.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|x86.Build.0 = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|x64.Build.0 = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|x86.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|x64.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|x86.Build.0 = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|x64.Build.0 = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|x64.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|x86.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|ARM64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|iPhone.Deploy.0 = Debug|iPhone
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|ARM.ActiveCfg = Release|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|ARM64.ActiveCfg = Release|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|iPhone.ActiveCfg = Release|iPhone
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|iPhone.Build.0 = Release|iPhone
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|x64.ActiveCfg = Release|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|x86.ActiveCfg = Release|iPhoneSimulator
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|x64.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|x86.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|x64.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|x86.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|x64.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|x86.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|x64.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|x86.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|x64.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|x86.Build.0 = Release|Any CPU
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|ARM.Deploy.0 = Debug|ARM
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|ARM64.ActiveCfg = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|iPhone.ActiveCfg = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|x64.Build.0 = Debug|x64
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|x86.Build.0 = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|x86.Deploy.0 = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|ARM.Build.0 = Release|ARM
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|ARM.Deploy.0 = Release|ARM
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|ARM64.ActiveCfg = Release|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|iPhone.ActiveCfg = Release|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|iPhoneSimulator.ActiveCfg = Release|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|x64.ActiveCfg = Release|x64
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|x64.Build.0 = Release|x64
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|x64.Deploy.0 = Release|x64
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|x86.ActiveCfg = Release|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|x86.Build.0 = Release|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|x86.Deploy.0 = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|ARM.ActiveCfg = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|ARM64.ActiveCfg = Debug|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|ARM64.Build.0 = Debug|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|ARM64.Deploy.0 = Debug|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|iPhone.ActiveCfg = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x64.Build.0 = Debug|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x86.Build.0 = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x86.Deploy.0 = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|ARM.ActiveCfg = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|ARM64.ActiveCfg = Release|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|ARM64.Build.0 = Release|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|ARM64.Deploy.0 = Release|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|iPhone.ActiveCfg = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|iPhoneSimulator.ActiveCfg = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x64.ActiveCfg = Release|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x64.Build.0 = Release|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x64.Deploy.0 = Release|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x86.ActiveCfg = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x86.Build.0 = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x86.Deploy.0 = Release|x86
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{9AD757F5-E57A-459D-A0A7-E0675E045B84} = {97FA536A-675D-41C7-A90E-97E2F79D1AE2}
|
||||
{29AC50BF-B4FB-450B-9386-0C5AD4B84226} = {97FA536A-675D-41C7-A90E-97E2F79D1AE2}
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A} = {B5E27729-44E8-4BE6-A62E-45FF27449B8F}
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC} = {D5B986A3-7FC9-437E-8030-349AA4698DFD}
|
||||
{423C21C8-84CB-4A3C-BEB9-1C23D752D90F} = {31721EFD-3238-462B-B501-41F3D2B50E92}
|
||||
{2ACC7FFA-238F-44FD-93CB-4D9B17D8C4BA} = {31721EFD-3238-462B-B501-41F3D2B50E92}
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1} = {423C21C8-84CB-4A3C-BEB9-1C23D752D90F}
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80} = {B5E27729-44E8-4BE6-A62E-45FF27449B8F}
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231} = {B5E27729-44E8-4BE6-A62E-45FF27449B8F}
|
||||
{D5B986A3-7FC9-437E-8030-349AA4698DFD} = {9AD757F5-E57A-459D-A0A7-E0675E045B84}
|
||||
{75A2CD30-BB85-4CA6-AC95-86A8A538A690} = {9AD757F5-E57A-459D-A0A7-E0675E045B84}
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364} = {75A2CD30-BB85-4CA6-AC95-86A8A538A690}
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27} = {E7F90170-B71B-4730-A082-1DF4E4F04420}
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6} = {8A70C15D-86D3-4086-A8C5-E17B299EA970}
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA} = {E7F90170-B71B-4730-A082-1DF4E4F04420}
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC} = {2ACC7FFA-238F-44FD-93CB-4D9B17D8C4BA}
|
||||
{0F0DB9CC-EA65-429C-9363-38624BF8F49C} = {52963C98-6AD9-4B57-924F-BE58DC36D746}
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF} = {52963C98-6AD9-4B57-924F-BE58DC36D746}
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E} = {52963C98-6AD9-4B57-924F-BE58DC36D746}
|
||||
{8A70C15D-86D3-4086-A8C5-E17B299EA970} = {97FA536A-675D-41C7-A90E-97E2F79D1AE2}
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090} = {8A70C15D-86D3-4086-A8C5-E17B299EA970}
|
||||
{E7F90170-B71B-4730-A082-1DF4E4F04420} = {97FA536A-675D-41C7-A90E-97E2F79D1AE2}
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480} = {E7F90170-B71B-4730-A082-1DF4E4F04420}
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544} = {E7F90170-B71B-4730-A082-1DF4E4F04420}
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF} = {D5B986A3-7FC9-437E-8030-349AA4698DFD}
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C} = {B5E27729-44E8-4BE6-A62E-45FF27449B8F}
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0} = {75A2CD30-BB85-4CA6-AC95-86A8A538A690}
|
||||
{B5E27729-44E8-4BE6-A62E-45FF27449B8F} = {29AC50BF-B4FB-450B-9386-0C5AD4B84226}
|
||||
{5CE892DB-8CA2-42E4-8130-2836D28AD8DB} = {29AC50BF-B4FB-450B-9386-0C5AD4B84226}
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C} = {5CE892DB-8CA2-42E4-8130-2836D28AD8DB}
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F} = {52963C98-6AD9-4B57-924F-BE58DC36D746}
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE} = {5CE892DB-8CA2-42E4-8130-2836D28AD8DB}
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491} = {8A70C15D-86D3-4086-A8C5-E17B299EA970}
|
||||
{52963C98-6AD9-4B57-924F-BE58DC36D746} = {F07FDC58-64A0-42DA-8556-09742721F15E}
|
||||
{FFCE9E2C-327C-46E7-8AC1-18CB2E982C2E} = {F07FDC58-64A0-42DA-8556-09742721F15E}
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB} = {FFCE9E2C-327C-46E7-8AC1-18CB2E982C2E}
|
||||
{E175485B-3C8C-47D7-8DD5-F7FED627EB25} = {FFCE9E2C-327C-46E7-8AC1-18CB2E982C2E}
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541} = {FFCE9E2C-327C-46E7-8AC1-18CB2E982C2E}
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3} = {B5E27729-44E8-4BE6-A62E-45FF27449B8F}
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3} = {52963C98-6AD9-4B57-924F-BE58DC36D746}
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6} = {52963C98-6AD9-4B57-924F-BE58DC36D746}
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D} = {5CE892DB-8CA2-42E4-8130-2836D28AD8DB}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {650AE971-2F29-46A8-822C-FB4FCDC6A9A0}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -10,7 +10,7 @@
|
|||
<IncludeSymbols>true</IncludeSymbols>
|
||||
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
|
||||
<Company>Microsoft</Company>
|
||||
<Product>Xamarin.Forms</Product>
|
||||
<Product>Microsoft.Maui</Product>
|
||||
<ProduceReferenceAssembly Condition="'$(UsingMicrosoftNETSdk)' == 'True' AND '$(Configuration)' == 'Debug'">True</ProduceReferenceAssembly>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
|
|
81
Maui.sln
81
Maui.sln
|
@ -1,81 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30926.220
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Platform.Handlers-net6", "src\Platform.Handlers\src\Xamarin.Platform.Handlers\Xamarin.Platform.Handlers-net6.csproj", "{95BA42B5-B00E-4986-B9B5-517140378452}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Files", "Files", "{449F6071-A74F-4309-8D7B-7038CFD1B17B}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
README.md = README.md
|
||||
.nuspec\Xamarin.Forms.MultiTargeting.targets = .nuspec\Xamarin.Forms.MultiTargeting.targets
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Core-net6", "src\Forms\src\Xamarin.Forms.Core\Xamarin.Forms.Core-net6.csproj", "{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Compatibility-net6", "src\Platform.Renderers\src\Maui.Controls.Compatibility\Maui.Controls.Compatibility-net6.csproj", "{00A11C2F-969F-4964-8557-91ADF4B1523D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Platform.Android.FormsViewGroup-net6", "src\Platform.Renderers\src\Xamarin.Forms.Platform.Android.FormsViewGroup\Xamarin.Forms.Platform.Android.FormsViewGroup-net6.csproj", "{EB956381-F3E6-437C-9069-36B8BF5C6E2F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Maui.Controls", "Maui.Controls", "{459BF674-83CB-46F6-881F-A2D2117DBF4D}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{E1082E26-D700-4127-9329-66D673FD2D55}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample-net6", "src\Forms\samples\Maui.Controls.Sample\Maui.Controls.Sample-net6.csproj", "{B8DC1324-977C-46F1-B697-9064ADE6099A}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample.Droid-net6", "src\Forms\samples\Maui.Controls.Sample.Droid\Maui.Controls.Sample.Droid-net6.csproj", "{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample.iOS-net6", "src\Forms\samples\Maui.Controls.Sample.iOS\Maui.Controls.Sample.iOS-net6.csproj", "{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EB956381-F3E6-437C-9069-36B8BF5C6E2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EB956381-F3E6-437C-9069-36B8BF5C6E2F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EB956381-F3E6-437C-9069-36B8BF5C6E2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EB956381-F3E6-437C-9069-36B8BF5C6E2F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{EB956381-F3E6-437C-9069-36B8BF5C6E2F} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{E1082E26-D700-4127-9329-66D673FD2D55} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {0B8ABEAD-D2B5-4370-A187-62B5ABE4EE50}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -0,0 +1,80 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30926.220
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core-net6", "src\Core\src\Core-net6.csproj", "{95BA42B5-B00E-4986-B9B5-517140378452}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Files", "Files", "{449F6071-A74F-4309-8D7B-7038CFD1B17B}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.nuspec\Microsoft.Maui.Controls.MultiTargeting.targets = .nuspec\Microsoft.Maui.Controls.MultiTargeting.targets
|
||||
README.md = README.md
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controls.Core-net6", "src\Controls\src\Core\Controls.Core-net6.csproj", "{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility-net6", "src\Compatibility\Core\src\Compatibility-net6.csproj", "{00A11C2F-969F-4964-8557-91ADF4B1523D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compatibility.Android.FormsViewGroup-net6", "src\Compatibility\Core\src\Android.FormsViewGroup\Compatibility.Android.FormsViewGroup-net6.csproj", "{EB956381-F3E6-437C-9069-36B8BF5C6E2F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Maui.Controls", "Maui.Controls", "{459BF674-83CB-46F6-881F-A2D2117DBF4D}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{E1082E26-D700-4127-9329-66D673FD2D55}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample-net6", "src\Controls\samples\Controls.Sample\Maui.Controls.Sample-net6.csproj", "{B8DC1324-977C-46F1-B697-9064ADE6099A}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample.Droid-net6", "src\Controls\samples\Controls.Sample.Droid\Maui.Controls.Sample.Droid-net6.csproj", "{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Maui.Controls.Sample.iOS-net6", "src\Controls\samples\Controls.Sample.iOS\Maui.Controls.Sample.iOS-net6.csproj", "{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{95BA42B5-B00E-4986-B9B5-517140378452}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EB956381-F3E6-437C-9069-36B8BF5C6E2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EB956381-F3E6-437C-9069-36B8BF5C6E2F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EB956381-F3E6-437C-9069-36B8BF5C6E2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EB956381-F3E6-437C-9069-36B8BF5C6E2F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{AF64451F-E2BD-41C2-B083-F60C26AE2A9F} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{00A11C2F-969F-4964-8557-91ADF4B1523D} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{EB956381-F3E6-437C-9069-36B8BF5C6E2F} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{E1082E26-D700-4127-9329-66D673FD2D55} = {459BF674-83CB-46F6-881F-A2D2117DBF4D}
|
||||
{B8DC1324-977C-46F1-B697-9064ADE6099A} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{BE50FAEF-4096-48B5-B9CE-EE0C38F15A18} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
{1C3439E6-73D7-4F8E-A64A-5448F5CB18DE} = {E1082E26-D700-4127-9329-66D673FD2D55}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {0B8ABEAD-D2B5-4370-A187-62B5ABE4EE50}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -0,0 +1,435 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30503.244
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{7E12E071-51C0-4668-9FF3-E2DE9DC51962}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials", "src\Essentials\src\Essentials.csproj", "{8CB95D25-8442-42BC-82BE-319D21138549}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.UnitTests", "src\Essentials\test\UnitTests\Essentials.UnitTests.csproj", "{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials.DeviceTests.Android", "src\Essentials\test\DeviceTests.Android\Essentials.DeviceTests.Android.csproj", "{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials.DeviceTests.iOS", "src\Essentials\test\DeviceTests.iOS\Essentials.DeviceTests.iOS.csproj", "{B73EB308-70BE-49FD-91A7-1D1495663D6D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Essentials.DeviceTests.Shared", "src\Essentials\test\DeviceTests.Shared\Essentials.DeviceTests.Shared.csproj", "{81128D28-CFC8-4EA4-B68D-9939339C461A}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{5817A848-0B04-4035-9F7E-B8621B61CBDD}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.UWP", "src\Essentials\samples\Samples.UWP\Samples.UWP.csproj", "{5A1D97F2-6703-4278-BBF2-12C065F7E94A}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.Tizen", "src\Essentials\samples\Samples.Tizen\Samples.Tizen.csproj", "{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.Mac", "src\Essentials\samples\Samples.Mac\Samples.Mac.csproj", "{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.iOS", "src\Essentials\samples\Samples.iOS\Samples.iOS.csproj", "{AB6242B7-634F-4839-A991-7629D0D2C636}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.Android", "src\Essentials\samples\Samples.Android\Samples.Android.csproj", "{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples", "src\Essentials\samples\Samples\Samples.csproj", "{2C69EB76-02C4-4921-96A1-4D70CB7CE744}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sample.Server.WebAuthenticator", "src\Essentials\samples\Sample.Server.WebAuthenticator\Sample.Server.WebAuthenticator.csproj", "{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|ARM = Debug|ARM
|
||||
Debug|ARM64 = Debug|ARM64
|
||||
Debug|iPhone = Debug|iPhone
|
||||
Debug|iPhoneSimulator = Debug|iPhoneSimulator
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|ARM = Release|ARM
|
||||
Release|ARM64 = Release|ARM64
|
||||
Release|iPhone = Release|iPhone
|
||||
Release|iPhoneSimulator = Release|iPhoneSimulator
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|x64.Build.0 = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|x86.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|x64.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|x86.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM64.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhone.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x64.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x86.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM64.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhone.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x64.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x64.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x86.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x86.Deploy.0 = Release|Any CPU
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|ARM64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhone.Deploy.0 = Debug|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|x64.Build.0 = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|x64.Deploy.0 = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|ARM.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|ARM64.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|iPhone.ActiveCfg = Release|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|iPhone.Build.0 = Release|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|x64.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|x86.ActiveCfg = Release|iPhoneSimulator
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|Any CPU.Build.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|Any CPU.Deploy.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|ARM.Deploy.0 = Debug|ARM
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|iPhone.ActiveCfg = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|iPhone.Build.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|iPhone.Deploy.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|iPhoneSimulator.Build.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|iPhoneSimulator.Deploy.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|x64.Build.0 = Debug|x64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|x86.Build.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|x86.Deploy.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|ARM.Build.0 = Release|ARM
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|ARM.Deploy.0 = Release|ARM
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|iPhone.ActiveCfg = Release|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|iPhoneSimulator.ActiveCfg = Release|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|x64.ActiveCfg = Release|x64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|x64.Build.0 = Release|x64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|x64.Deploy.0 = Release|x64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|x86.ActiveCfg = Release|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|x86.Build.0 = Release|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|x86.Deploy.0 = Release|x86
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|x64.Build.0 = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|x86.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|x64.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|x86.Build.0 = Release|Any CPU
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|ARM64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhone.Deploy.0 = Debug|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|x64.Build.0 = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|x64.Deploy.0 = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|ARM.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|ARM64.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|iPhone.ActiveCfg = Release|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|iPhone.Build.0 = Release|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|x64.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|x86.ActiveCfg = Release|iPhoneSimulator
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM64.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhone.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x64.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x86.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM64.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhone.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x64.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x86.Deploy.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|x64.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|x86.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549} = {7E12E071-51C0-4668-9FF3-E2DE9DC51962}
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {650AE971-2F29-46A8-822C-FB4FCDC6A9A0}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,435 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30503.244
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{7E12E071-51C0-4668-9FF3-E2DE9DC51962}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Essentials", "src\Essentials\src\Xamarin.Essentials\Xamarin.Essentials.csproj", "{8CB95D25-8442-42BC-82BE-319D21138549}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Essentials.UnitTests", "src\Essentials\test\UnitTests\Xamarin.Essentials.UnitTests.csproj", "{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Essentials.DeviceTests.Android", "src\Essentials\test\DeviceTests.Android\Xamarin.Essentials.DeviceTests.Android.csproj", "{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Essentials.DeviceTests.iOS", "src\Essentials\test\DeviceTests.iOS\Xamarin.Essentials.DeviceTests.iOS.csproj", "{B73EB308-70BE-49FD-91A7-1D1495663D6D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Essentials.DeviceTests.Shared", "src\Essentials\test\DeviceTests.Shared\Xamarin.Essentials.DeviceTests.Shared.csproj", "{81128D28-CFC8-4EA4-B68D-9939339C461A}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{5817A848-0B04-4035-9F7E-B8621B61CBDD}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.UWP", "src\Essentials\samples\Samples.UWP\Samples.UWP.csproj", "{5A1D97F2-6703-4278-BBF2-12C065F7E94A}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.Tizen", "src\Essentials\samples\Samples.Tizen\Samples.Tizen.csproj", "{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.Mac", "src\Essentials\samples\Samples.Mac\Samples.Mac.csproj", "{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.iOS", "src\Essentials\samples\Samples.iOS\Samples.iOS.csproj", "{AB6242B7-634F-4839-A991-7629D0D2C636}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Samples.Android", "src\Essentials\samples\Samples.Android\Samples.Android.csproj", "{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples", "src\Essentials\samples\Samples\Samples.csproj", "{2C69EB76-02C4-4921-96A1-4D70CB7CE744}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sample.Server.WebAuthenticator", "src\Essentials\samples\Sample.Server.WebAuthenticator\Sample.Server.WebAuthenticator.csproj", "{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|ARM = Debug|ARM
|
||||
Debug|ARM64 = Debug|ARM64
|
||||
Debug|iPhone = Debug|iPhone
|
||||
Debug|iPhoneSimulator = Debug|iPhoneSimulator
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|ARM = Release|ARM
|
||||
Release|ARM64 = Release|ARM64
|
||||
Release|iPhone = Release|iPhone
|
||||
Release|iPhoneSimulator = Release|iPhoneSimulator
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|x64.Build.0 = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549}.Release|x86.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|x64.Build.0 = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886}.Release|x86.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|ARM64.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhone.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x64.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Debug|x86.Deploy.0 = Debug|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|ARM64.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhone.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x64.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x64.Deploy.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x86.Build.0 = Release|Any CPU
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1}.Release|x86.Deploy.0 = Release|Any CPU
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|ARM64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhone.Deploy.0 = Debug|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|x64.Build.0 = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|x64.Deploy.0 = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|ARM.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|ARM64.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|iPhone.ActiveCfg = Release|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|iPhone.Build.0 = Release|iPhone
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|x64.ActiveCfg = Release|iPhoneSimulator
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D}.Release|x86.ActiveCfg = Release|iPhoneSimulator
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|Any CPU.Build.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|Any CPU.Deploy.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|ARM.Deploy.0 = Debug|ARM
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|ARM64.Deploy.0 = Debug|ARM64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|iPhone.ActiveCfg = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|iPhone.Build.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|iPhone.Deploy.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|iPhoneSimulator.Build.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|iPhoneSimulator.Deploy.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|x64.Build.0 = Debug|x64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|x86.Build.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Debug|x86.Deploy.0 = Debug|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|ARM.Build.0 = Release|ARM
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|ARM.Deploy.0 = Release|ARM
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|ARM64.Build.0 = Release|ARM64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|ARM64.Deploy.0 = Release|ARM64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|iPhone.ActiveCfg = Release|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|iPhoneSimulator.ActiveCfg = Release|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|x64.ActiveCfg = Release|x64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|x64.Build.0 = Release|x64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|x64.Deploy.0 = Release|x64
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|x86.ActiveCfg = Release|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|x86.Build.0 = Release|x86
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A}.Release|x86.Deploy.0 = Release|x86
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|x64.Build.0 = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348}.Release|x86.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|x64.Build.0 = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5}.Release|x86.Build.0 = Release|Any CPU
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|ARM64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhone.Deploy.0 = Debug|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|x64.Build.0 = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|x64.Deploy.0 = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|ARM.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|ARM64.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|iPhone.ActiveCfg = Release|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|iPhone.Build.0 = Release|iPhone
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|x64.ActiveCfg = Release|iPhoneSimulator
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636}.Release|x86.ActiveCfg = Release|iPhoneSimulator
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|ARM64.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhone.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x64.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Debug|x86.Deploy.0 = Debug|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|ARM64.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhone.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x64.Deploy.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C}.Release|x86.Deploy.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|x64.Build.0 = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744}.Release|x86.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{8CB95D25-8442-42BC-82BE-319D21138549} = {7E12E071-51C0-4668-9FF3-E2DE9DC51962}
|
||||
{2E0EB4A3-3C4A-4A5E-8D2F-F77C62464886} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{CB2072E0-A437-4811-AE17-16CAE0DDA1B1} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{B73EB308-70BE-49FD-91A7-1D1495663D6D} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{81128D28-CFC8-4EA4-B68D-9939339C461A} = {99FDF6CA-DCF8-4CB2-B2EA-E24CCB601232}
|
||||
{5A1D97F2-6703-4278-BBF2-12C065F7E94A} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{CFBEEB38-D3E8-4100-8CFB-E0A9C4FC0348} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{89899D16-4BD1-49B1-9903-9F6BB26C5DC5} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{AB6242B7-634F-4839-A991-7629D0D2C636} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{3C0CDEF3-495E-45F4-8B12-0E05EF11295C} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{2C69EB76-02C4-4921-96A1-4D70CB7CE744} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
{0C1B038F-F5CD-4E3C-B9D7-040F020BA44C} = {5817A848-0B04-4035-9F7E-B8621B61CBDD}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {650AE971-2F29-46A8-822C-FB4FCDC6A9A0}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1,972 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30503.244
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Xamarin.Forms", "Xamarin.Forms", "{9AD757F5-E57A-459D-A0A7-E0675E045B84}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Platform.Renderers", "Platform.Renderers", "{29AC50BF-B4FB-450B-9386-0C5AD4B84226}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Platform.Android", "src\Platform.Renderers\src\Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android.csproj", "{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuspec", ".nuspec", "{7E12C50D-A570-4DF1-94E1-8599843FA87C}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.nuspec\proguard.cfg = .nuspec\proguard.cfg
|
||||
.nuspec\Xamarin.Forms.AppLinks.nuspec = .nuspec\Xamarin.Forms.AppLinks.nuspec
|
||||
.nuspec\Xamarin.Forms.Debug.targets = .nuspec\Xamarin.Forms.Debug.targets
|
||||
.nuspec\Xamarin.Forms.DefaultItems.props = .nuspec\Xamarin.Forms.DefaultItems.props
|
||||
.nuspec\Xamarin.Forms.DefaultItems.targets = .nuspec\Xamarin.Forms.DefaultItems.targets
|
||||
.nuspec\Xamarin.Forms.DualScreen.nuspec = .nuspec\Xamarin.Forms.DualScreen.nuspec
|
||||
.nuspec\Xamarin.Forms.Maps.GTK.nuspec = .nuspec\Xamarin.Forms.Maps.GTK.nuspec
|
||||
.nuspec\Xamarin.Forms.Maps.nuspec = .nuspec\Xamarin.Forms.Maps.nuspec
|
||||
.nuspec\Xamarin.Forms.Maps.WPF.nuspec = .nuspec\Xamarin.Forms.Maps.WPF.nuspec
|
||||
.nuspec\Xamarin.Forms.MultiTargeting.targets = .nuspec\Xamarin.Forms.MultiTargeting.targets
|
||||
.nuspec\Xamarin.Forms.nuspec = .nuspec\Xamarin.Forms.nuspec
|
||||
.nuspec\Xamarin.Forms.Platform.GTK.nuspec = .nuspec\Xamarin.Forms.Platform.GTK.nuspec
|
||||
.nuspec\Xamarin.Forms.Platform.WPF.nuspec = .nuspec\Xamarin.Forms.Platform.WPF.nuspec
|
||||
.nuspec\Xamarin.Forms.props = .nuspec\Xamarin.Forms.props
|
||||
.nuspec\Xamarin.Forms.targets = .nuspec\Xamarin.Forms.targets
|
||||
.nuspec\Xamarin.Forms.Visual.Material.nuspec = .nuspec\Xamarin.Forms.Visual.Material.nuspec
|
||||
.nuspec\Xamarin.Forms.Visual.Material.targets = .nuspec\Xamarin.Forms.Visual.Material.targets
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Core", "src\Forms\src\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj", "{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Platform.Handlers", "Platform.Handlers", "{31721EFD-3238-462B-B501-41F3D2B50E92}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Forms", "Forms", "{97FA536A-675D-41C7-A90E-97E2F79D1AE2}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{423C21C8-84CB-4A3C-BEB9-1C23D752D90F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{2ACC7FFA-238F-44FD-93CB-4D9B17D8C4BA}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Platform.Handlers", "src\Platform.Handlers\src\Xamarin.Platform.Handlers\Xamarin.Platform.Handlers.csproj", "{29913989-0F70-48D8-8EDE-B1DD217F21D1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Platform.Android.FormsViewGroup", "src\Platform.Renderers\src\Xamarin.Forms.Platform.Android.FormsViewGroup\Xamarin.Forms.Platform.Android.FormsViewGroup.csproj", "{3B72465B-ACAE-43AE-9327-10F372FE5F80}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Platform.iOS", "src\Platform.Renderers\src\Xamarin.Forms.Platform.iOS\Xamarin.Forms.Platform.iOS.csproj", "{271193C1-6E7C-429C-A36D-3F1BE5267231}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{D5B986A3-7FC9-437E-8030-349AA4698DFD}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{75A2CD30-BB85-4CA6-AC95-86A8A538A690}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Core.UnitTests", "src\Forms\test\Xamarin.Forms.Core.UnitTests\Xamarin.Forms.Core.UnitTests.csproj", "{00259593-A283-47A5-ACB7-9C3819B16364}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Xaml", "src\Forms\src\Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj", "{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Maps", "src\Controls\Maps\src\Xamarin.Forms.Maps\Xamarin.Forms.Maps.csproj", "{F137FAC5-3385-4B19-988B-4A14ED84CCC6}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Build.Tasks", "src\Forms\src\Xamarin.Forms.Build.Tasks\Xamarin.Forms.Build.Tasks.csproj", "{C328C538-B69F-43D2-80EE-3C1EB8254CBA}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Platform.Handlers.UnitTests", "src\Platform.Handlers\tests\Xamarin.Platform.Handlers.UnitTests\Xamarin.Platform.Handlers.UnitTests.csproj", "{7A753001-1C3D-404D-A421-2E052A545EAC}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Control Gallery", "Control Gallery", "{F07FDC58-64A0-42DA-8556-09742721F15E}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Xamarin.Forms.Controls.Issues.Shared", "src\ControlGallery\src\Xamarin.Forms.Controls.Issues.Shared\Xamarin.Forms.Controls.Issues.Shared.shproj", "{0F0DB9CC-EA65-429C-9363-38624BF8F49C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Controls", "src\ControlGallery\src\Xamarin.Forms.Controls\Xamarin.Forms.Controls.csproj", "{7AD93806-111D-4FDC-B48D-9566765185FF}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.ControlGallery.Android", "src\ControlGallery\src\Xamarin.Forms.ControlGallery.Android\Xamarin.Forms.ControlGallery.Android.csproj", "{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Xamarin.Forms.Maps", "Xamarin.Forms.Maps", "{8A70C15D-86D3-4086-A8C5-E17B299EA970}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Maps.Android", "src\Controls\Maps\src\Xamarin.Forms.Maps.Android\Xamarin.Forms.Maps.Android.csproj", "{1D11EC11-4734-47D4-9B62-4D03CFF67090}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Xamarin.Forms.Xaml", "Xamarin.Forms.Xaml", "{E7F90170-B71B-4730-A082-1DF4E4F04420}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Xaml.Design", "src\Forms\src\Xamarin.Forms.Xaml.Design\Xamarin.Forms.Xaml.Design.csproj", "{65BC4888-CC59-428A-9B75-540CF1C09480}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Xaml.UnitTests", "src\Forms\test\Xamarin.Forms.Xaml.UnitTests\Xamarin.Forms.Xaml.UnitTests.csproj", "{5997F786-4526-4A4B-BFC6-3832091D6544}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Core.Design", "src\Forms\src\Xamarin.Forms.Core.Design\Xamarin.Forms.Core.Design.csproj", "{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Platform.Android.AppLinks", "src\Platform.Renderers\src\Xamarin.Forms.Platform.Android.AppLinks\Xamarin.Forms.Platform.Android.AppLinks.csproj", "{10553575-8E27-4E2C-9E88-90B015E80F1C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.CustomAttributes", "src\Forms\test\Xamarin.Forms.CustomAttributes\Xamarin.Forms.CustomAttributes.csproj", "{2964F669-7CD9-4D78-B4D9-804A965D58C0}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{B5E27729-44E8-4BE6-A62E-45FF27449B8F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{5CE892DB-8CA2-42E4-8130-2836D28AD8DB}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Platform.Android.UnitTests", "src\Platform.Renderers\test\Xamarin.Forms.Platform.Android.UnitTests\Xamarin.Forms.Platform.Android.UnitTests.csproj", "{A4C57790-71D1-467C-A69E-2BD84CB6666C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.ControlGallery.iOS", "src\ControlGallery\src\Xamarin.Forms.ControlGallery.iOS\Xamarin.Forms.ControlGallery.iOS.csproj", "{C7131F14-274F-4B55-ACA9-E81731AD012F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Platform.iOS.UnitTests", "src\Platform.Renderers\test\Xamarin.Forms.Platform.iOS.UnitTests\Xamarin.Forms.Platform.iOS.UnitTests.csproj", "{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Maps.iOS", "src\Controls\Maps\src\Xamarin.Forms.Maps.iOS\Xamarin.Forms.Maps.iOS.csproj", "{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{52963C98-6AD9-4B57-924F-BE58DC36D746}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{FFCE9E2C-327C-46E7-8AC1-18CB2E982C2E}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Core.iOS.UITests", "src\ControlGallery\test\Xamarin.Forms.Core.iOS.UITests\Xamarin.Forms.Core.iOS.UITests.csproj", "{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Xamarin.Forms.Core.UITests.Shared", "src\ControlGallery\src\Xamarin.Forms.Core.UITests.Shared\Xamarin.Forms.Core.UITests.Shared.shproj", "{E175485B-3C8C-47D7-8DD5-F7FED627EB25}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Core.Android.UITests", "src\ControlGallery\test\Xamarin.Forms.Core.Android.UITests\Xamarin.Forms.Core.Android.UITests.csproj", "{A34EBE01-25BF-4E69-A2DC-2288DC625541}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Platform.UAP", "src\Platform.Renderers\src\Xamarin.Forms.Platform.UAP\Xamarin.Forms.Platform.UAP.csproj", "{DD10263D-D580-4241-9E21-EB5DE0FC83C3}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.ControlGallery.WindowsUniversal", "src\ControlGallery\src\Xamarin.Forms.ControlGallery.WindowsUniversal\Xamarin.Forms.ControlGallery.WindowsUniversal.csproj", "{AC257966-9368-478A-9DF4-F0D28E320FE3}"
|
||||
EndProject
|
||||
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "Xamarin.Forms.ControlGallery.WindowsUniversal (Package)", "src\ControlGallery\src\Xamarin.Forms.ControlGallery.WindowsUniversal (Package)\Xamarin.Forms.ControlGallery.WindowsUniversal (Package).wapproj", "{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Forms.Platform.UAP.UnitTests", "src\Platform.Renderers\test\Xamarin.Forms.Platform.UAP.UnitTests\Xamarin.Forms.Platform.UAP.UnitTests.csproj", "{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
src\ControlGallery\src\Xamarin.Forms.Controls.Issues.Shared\Xamarin.Forms.Controls.Issues.Shared.projitems*{0f0db9cc-ea65-429c-9363-38624bf8f49c}*SharedItemsImports = 13
|
||||
src\ControlGallery\src\Xamarin.Forms.Controls.Issues.Shared\Xamarin.Forms.Controls.Issues.Shared.projitems*{7ad93806-111d-4fdc-b48d-9566765185ff}*SharedItemsImports = 5
|
||||
src\ControlGallery\src\Xamarin.Forms.Controls.Issues.Shared\Xamarin.Forms.Controls.Issues.Shared.projitems*{a34ebe01-25bf-4e69-a2dc-2288dc625541}*SharedItemsImports = 4
|
||||
src\ControlGallery\src\Xamarin.Forms.Core.UITests.Shared\Xamarin.Forms.Core.UITests.projitems*{a34ebe01-25bf-4e69-a2dc-2288dc625541}*SharedItemsImports = 4
|
||||
src\ControlGallery\src\Xamarin.Forms.Core.UITests.Shared\Xamarin.Forms.Core.UITests.projitems*{e175485b-3c8c-47d7-8dd5-f7fed627eb25}*SharedItemsImports = 13
|
||||
src\ControlGallery\src\Xamarin.Forms.Controls.Issues.Shared\Xamarin.Forms.Controls.Issues.Shared.projitems*{eadd8100-b3ae-4a31-92c4-267a64a1c6eb}*SharedItemsImports = 4
|
||||
src\ControlGallery\src\Xamarin.Forms.Core.UITests.Shared\Xamarin.Forms.Core.UITests.projitems*{eadd8100-b3ae-4a31-92c4-267a64a1c6eb}*SharedItemsImports = 4
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|ARM = Debug|ARM
|
||||
Debug|ARM64 = Debug|ARM64
|
||||
Debug|iPhone = Debug|iPhone
|
||||
Debug|iPhoneSimulator = Debug|iPhoneSimulator
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|ARM = Release|ARM
|
||||
Release|ARM64 = Release|ARM64
|
||||
Release|iPhone = Release|iPhone
|
||||
Release|iPhoneSimulator = Release|iPhoneSimulator
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|x64.Build.0 = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}.Release|x86.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|x64.Build.0 = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1}.Release|x86.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|x64.Build.0 = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80}.Release|x86.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|x64.Build.0 = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231}.Release|x86.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|x64.Build.0 = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364}.Release|x86.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|x64.Build.0 = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6}.Release|x86.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|x64.Build.0 = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|ARM.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|ARM64.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|iPhone.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|x64.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Debug|x86.Deploy.0 = Debug|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|ARM.Deploy.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|ARM64.Deploy.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|iPhone.Deploy.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|x64.Deploy.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E}.Release|x86.Deploy.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090}.Release|x86.Build.0 = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|x64.Build.0 = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480}.Release|x86.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|x64.Build.0 = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544}.Release|x86.Build.0 = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|x64.Build.0 = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|x64.Build.0 = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0}.Release|x86.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|ARM64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|iPhone.Deploy.0 = Debug|iPhone
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|ARM.ActiveCfg = Release|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|ARM64.ActiveCfg = Release|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|iPhone.ActiveCfg = Release|iPhone
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|iPhone.Build.0 = Release|iPhone
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|x64.ActiveCfg = Release|iPhoneSimulator
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F}.Release|x86.ActiveCfg = Release|iPhoneSimulator
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|x64.Build.0 = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE}.Release|x86.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|x64.Build.0 = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491}.Release|x86.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|x64.Build.0 = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB}.Release|x86.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|x64.Build.0 = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541}.Release|x86.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|x64.Build.0 = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3}.Release|x86.Build.0 = Release|Any CPU
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|ARM.Deploy.0 = Debug|ARM
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|ARM64.ActiveCfg = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|iPhone.ActiveCfg = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|x64.Build.0 = Debug|x64
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|x86.Build.0 = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Debug|x86.Deploy.0 = Debug|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|ARM.Build.0 = Release|ARM
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|ARM.Deploy.0 = Release|ARM
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|ARM64.ActiveCfg = Release|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|iPhone.ActiveCfg = Release|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|iPhoneSimulator.ActiveCfg = Release|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|x64.ActiveCfg = Release|x64
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|x64.Build.0 = Release|x64
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|x64.Deploy.0 = Release|x64
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|x86.ActiveCfg = Release|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|x86.Build.0 = Release|x86
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3}.Release|x86.Deploy.0 = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|ARM.ActiveCfg = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|ARM64.ActiveCfg = Debug|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|ARM64.Build.0 = Debug|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|ARM64.Deploy.0 = Debug|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|iPhone.ActiveCfg = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x64.Build.0 = Debug|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x86.Build.0 = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Debug|x86.Deploy.0 = Debug|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|ARM.ActiveCfg = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|ARM64.ActiveCfg = Release|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|ARM64.Build.0 = Release|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|ARM64.Deploy.0 = Release|arm64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|iPhone.ActiveCfg = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|iPhoneSimulator.ActiveCfg = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x64.ActiveCfg = Release|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x64.Build.0 = Release|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x64.Deploy.0 = Release|x64
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x86.ActiveCfg = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x86.Build.0 = Release|x86
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6}.Release|x86.Deploy.0 = Release|x86
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{9AD757F5-E57A-459D-A0A7-E0675E045B84} = {97FA536A-675D-41C7-A90E-97E2F79D1AE2}
|
||||
{29AC50BF-B4FB-450B-9386-0C5AD4B84226} = {97FA536A-675D-41C7-A90E-97E2F79D1AE2}
|
||||
{0E16E70A-D6DD-4323-AD5D-363ABFF42D6A} = {B5E27729-44E8-4BE6-A62E-45FF27449B8F}
|
||||
{57B8B73D-C3B5-4C42-869E-7B2F17D354AC} = {D5B986A3-7FC9-437E-8030-349AA4698DFD}
|
||||
{423C21C8-84CB-4A3C-BEB9-1C23D752D90F} = {31721EFD-3238-462B-B501-41F3D2B50E92}
|
||||
{2ACC7FFA-238F-44FD-93CB-4D9B17D8C4BA} = {31721EFD-3238-462B-B501-41F3D2B50E92}
|
||||
{29913989-0F70-48D8-8EDE-B1DD217F21D1} = {423C21C8-84CB-4A3C-BEB9-1C23D752D90F}
|
||||
{3B72465B-ACAE-43AE-9327-10F372FE5F80} = {B5E27729-44E8-4BE6-A62E-45FF27449B8F}
|
||||
{271193C1-6E7C-429C-A36D-3F1BE5267231} = {B5E27729-44E8-4BE6-A62E-45FF27449B8F}
|
||||
{D5B986A3-7FC9-437E-8030-349AA4698DFD} = {9AD757F5-E57A-459D-A0A7-E0675E045B84}
|
||||
{75A2CD30-BB85-4CA6-AC95-86A8A538A690} = {9AD757F5-E57A-459D-A0A7-E0675E045B84}
|
||||
{00259593-A283-47A5-ACB7-9C3819B16364} = {75A2CD30-BB85-4CA6-AC95-86A8A538A690}
|
||||
{BB98A559-62C4-4C98-90A0-9E4D8DF1CA27} = {E7F90170-B71B-4730-A082-1DF4E4F04420}
|
||||
{F137FAC5-3385-4B19-988B-4A14ED84CCC6} = {8A70C15D-86D3-4086-A8C5-E17B299EA970}
|
||||
{C328C538-B69F-43D2-80EE-3C1EB8254CBA} = {E7F90170-B71B-4730-A082-1DF4E4F04420}
|
||||
{7A753001-1C3D-404D-A421-2E052A545EAC} = {2ACC7FFA-238F-44FD-93CB-4D9B17D8C4BA}
|
||||
{0F0DB9CC-EA65-429C-9363-38624BF8F49C} = {52963C98-6AD9-4B57-924F-BE58DC36D746}
|
||||
{7AD93806-111D-4FDC-B48D-9566765185FF} = {52963C98-6AD9-4B57-924F-BE58DC36D746}
|
||||
{1346A7F1-4457-4BB4-A371-2C8E28BBD53E} = {52963C98-6AD9-4B57-924F-BE58DC36D746}
|
||||
{8A70C15D-86D3-4086-A8C5-E17B299EA970} = {97FA536A-675D-41C7-A90E-97E2F79D1AE2}
|
||||
{1D11EC11-4734-47D4-9B62-4D03CFF67090} = {8A70C15D-86D3-4086-A8C5-E17B299EA970}
|
||||
{E7F90170-B71B-4730-A082-1DF4E4F04420} = {97FA536A-675D-41C7-A90E-97E2F79D1AE2}
|
||||
{65BC4888-CC59-428A-9B75-540CF1C09480} = {E7F90170-B71B-4730-A082-1DF4E4F04420}
|
||||
{5997F786-4526-4A4B-BFC6-3832091D6544} = {E7F90170-B71B-4730-A082-1DF4E4F04420}
|
||||
{98637471-8E5C-4DDE-89CA-2EAA664FB0EF} = {D5B986A3-7FC9-437E-8030-349AA4698DFD}
|
||||
{10553575-8E27-4E2C-9E88-90B015E80F1C} = {B5E27729-44E8-4BE6-A62E-45FF27449B8F}
|
||||
{2964F669-7CD9-4D78-B4D9-804A965D58C0} = {75A2CD30-BB85-4CA6-AC95-86A8A538A690}
|
||||
{B5E27729-44E8-4BE6-A62E-45FF27449B8F} = {29AC50BF-B4FB-450B-9386-0C5AD4B84226}
|
||||
{5CE892DB-8CA2-42E4-8130-2836D28AD8DB} = {29AC50BF-B4FB-450B-9386-0C5AD4B84226}
|
||||
{A4C57790-71D1-467C-A69E-2BD84CB6666C} = {5CE892DB-8CA2-42E4-8130-2836D28AD8DB}
|
||||
{C7131F14-274F-4B55-ACA9-E81731AD012F} = {52963C98-6AD9-4B57-924F-BE58DC36D746}
|
||||
{52C50E88-7F15-45FE-A63C-8E7C76CA2BAE} = {5CE892DB-8CA2-42E4-8130-2836D28AD8DB}
|
||||
{ABA078C4-F9BB-4924-8B2B-10FE0D2F5491} = {8A70C15D-86D3-4086-A8C5-E17B299EA970}
|
||||
{52963C98-6AD9-4B57-924F-BE58DC36D746} = {F07FDC58-64A0-42DA-8556-09742721F15E}
|
||||
{FFCE9E2C-327C-46E7-8AC1-18CB2E982C2E} = {F07FDC58-64A0-42DA-8556-09742721F15E}
|
||||
{EADD8100-B3AE-4A31-92C4-267A64A1C6EB} = {FFCE9E2C-327C-46E7-8AC1-18CB2E982C2E}
|
||||
{E175485B-3C8C-47D7-8DD5-F7FED627EB25} = {FFCE9E2C-327C-46E7-8AC1-18CB2E982C2E}
|
||||
{A34EBE01-25BF-4E69-A2DC-2288DC625541} = {FFCE9E2C-327C-46E7-8AC1-18CB2E982C2E}
|
||||
{DD10263D-D580-4241-9E21-EB5DE0FC83C3} = {B5E27729-44E8-4BE6-A62E-45FF27449B8F}
|
||||
{AC257966-9368-478A-9DF4-F0D28E320FE3} = {52963C98-6AD9-4B57-924F-BE58DC36D746}
|
||||
{9784DA17-DAEF-455C-8CFB-BA4B4119C1B6} = {52963C98-6AD9-4B57-924F-BE58DC36D746}
|
||||
{73AD22E5-7E3A-4D1B-A604-687AB40FCC4D} = {5CE892DB-8CA2-42E4-8130-2836D28AD8DB}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {650AE971-2F29-46A8-822C-FB4FCDC6A9A0}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
1035
Xamarin.Forms.sln
1035
Xamarin.Forms.sln
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
60
build.cake
60
build.cake
|
@ -65,7 +65,7 @@ var ANDROID_CONTROLGALLERY_PROJ = $"{ANDROID_CONTROLGALLERY}Xamarin.Forms.Contro
|
|||
var ANDROID_RENDERERS = Argument("ANDROID_RENDERERS", "FAST");
|
||||
var ANDROID_TEST_PROJ = "./src/ControlGallery/test/Xamarin.Forms.Core.Android.UITests/Xamarin.Forms.Core.Android.UITests.csproj";
|
||||
|
||||
var BUILD_TASKS_PROJ ="src/Forms/src/Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj";
|
||||
var BUILD_TASKS_PROJ ="src/Controls/src/Build.Tasks/Controls.Build.Tasks.csproj";
|
||||
|
||||
var XamarinFormsVersion = Argument("XamarinFormsVersion", "");
|
||||
var packageVersion = Argument("packageVersion", "");
|
||||
|
@ -74,6 +74,10 @@ releaseChannelArg = EnvironmentVariable("CHANNEL") ?? releaseChannelArg;
|
|||
var teamProject = Argument("TeamProject", "");
|
||||
bool isHostedAgent = agentName.StartsWith("Azure Pipelines") || agentName.StartsWith("Hosted Agent");
|
||||
|
||||
var MAUI_SLN = "./Microsoft.Maui.sln";
|
||||
|
||||
var CONTROLGALLERY_SLN = "./ControlGallery.sln";
|
||||
|
||||
string defaultUnitTestWhere = "";
|
||||
|
||||
if(target.ToLower().Contains("uwp"))
|
||||
|
@ -703,11 +707,11 @@ Task("_NuGetPack")
|
|||
});
|
||||
|
||||
Task("Restore")
|
||||
.Description("Restore target on Xamarin.Forms.sln")
|
||||
.Description($"Restore target on {MAUI_SLN}")
|
||||
.Does(() =>
|
||||
{
|
||||
try{
|
||||
MSBuild("./Xamarin.Forms.sln", GetMSBuildSettings().WithTarget("restore"));
|
||||
MSBuild(MAUI_SLN, GetMSBuildSettings().WithTarget("restore"));
|
||||
}
|
||||
catch{
|
||||
// ignore restore errors that come from uwp
|
||||
|
@ -742,8 +746,8 @@ Task("BuildForNuget")
|
|||
};
|
||||
|
||||
msbuildSettings.BinaryLogger = binaryLogger;
|
||||
binaryLogger.FileName = $"{artifactStagingDirectory}/Xamarin.Forms-{configuration}.binlog";
|
||||
MSBuild("./Xamarin.Forms.sln", msbuildSettings.WithRestore());
|
||||
binaryLogger.FileName = $"{artifactStagingDirectory}/Maui.Controls-{configuration}.binlog";
|
||||
MSBuild(MAUI_SLN, msbuildSettings.WithRestore());
|
||||
|
||||
// // This currently fails on CI will revisit later
|
||||
// if(isCIBuild)
|
||||
|
@ -752,7 +756,7 @@ Task("BuildForNuget")
|
|||
// MSBuild("./Xamarin.Forms.Xaml.UnitTests/Xamarin.Forms.Xaml.UnitTests.csproj", GetMSBuildSettings());
|
||||
// }
|
||||
|
||||
// MSBuild("./Xamarin.Forms.sln", GetMSBuildSettings().WithTarget("Restore"));
|
||||
// MSBuild(MAUI_SLN, GetMSBuildSettings().WithTarget("Restore"));
|
||||
// MSBuild("./Xamarin.Forms.DualScreen.sln", GetMSBuildSettings().WithTarget("Restore"));
|
||||
|
||||
// if(isCIBuild)
|
||||
|
@ -768,7 +772,7 @@ Task("BuildForNuget")
|
|||
// }
|
||||
// }
|
||||
|
||||
// MSBuild("./Xamarin.Forms.sln", GetMSBuildSettings().WithTarget("Restore"));
|
||||
// MSBuild(MAUI_SLN, GetMSBuildSettings().WithTarget("Restore"));
|
||||
// MSBuild("./Xamarin.Forms.DualScreen.sln", GetMSBuildSettings().WithTarget("Restore"));
|
||||
|
||||
// msbuildSettings.BinaryLogger = binaryLogger;
|
||||
|
@ -807,13 +811,13 @@ Task("BuildForNuget")
|
|||
|
||||
|
||||
// XAML Tests are currently having issues compiling in Release Mode
|
||||
if(configuration == "Debug")
|
||||
{
|
||||
msbuildSettings = GetMSBuildSettings();
|
||||
msbuildSettings.BinaryLogger = binaryLogger;
|
||||
binaryLogger.FileName = $"{artifactStagingDirectory}/Xamarin.Forms.ControlGallery-{configuration}.binlog";
|
||||
MSBuild("./Xamarin.Forms.ControlGallery.sln", msbuildSettings.WithRestore());
|
||||
}
|
||||
// if(configuration == "Debug")
|
||||
// {
|
||||
// msbuildSettings = GetMSBuildSettings();
|
||||
// msbuildSettings.BinaryLogger = binaryLogger;
|
||||
// binaryLogger.FileName = $"{artifactStagingDirectory}/ControlGallery-{configuration}.binlog";
|
||||
// MSBuild(CONTROLGALLERY_SLN, msbuildSettings.WithRestore());
|
||||
// }
|
||||
|
||||
if(IsRunningOnWindows())
|
||||
{
|
||||
|
@ -834,15 +838,15 @@ Task("BuildForNuget")
|
|||
// .WithProperty("UwpMinTargetFrameworks", "uap10.0.14393")
|
||||
// .WithRestore());
|
||||
|
||||
msbuildSettings = GetMSBuildSettings();
|
||||
msbuildSettings.BinaryLogger = binaryLogger;
|
||||
binaryLogger.FileName = $"{artifactStagingDirectory}/win-{configuration}-csproj.binlog";
|
||||
MSBuild("./src/Platform.Renderers/src/Xamarin.Forms.Platform.UAP/Xamarin.Forms.Platform.UAP.csproj",
|
||||
msbuildSettings
|
||||
.WithRestore()
|
||||
.WithTarget("rebuild")
|
||||
.WithProperty("DisableEmbeddedXbf", "false")
|
||||
.WithProperty("EnableTypeInfoReflection", "false"));
|
||||
// msbuildSettings = GetMSBuildSettings();
|
||||
// msbuildSettings.BinaryLogger = binaryLogger;
|
||||
// binaryLogger.FileName = $"{artifactStagingDirectory}/win-{configuration}-csproj.binlog";
|
||||
// MSBuild("./src/Compatibility/Core/src/UAP/Compatibility.UAP.csproj",
|
||||
// msbuildSettings
|
||||
// .WithRestore()
|
||||
// .WithTarget("rebuild")
|
||||
// .WithProperty("DisableEmbeddedXbf", "false")
|
||||
// .WithProperty("EnableTypeInfoReflection", "false"));
|
||||
|
||||
// msbuildSettings = GetMSBuildSettings();
|
||||
// msbuildSettings.BinaryLogger = binaryLogger;
|
||||
|
@ -880,7 +884,7 @@ Task("Build")
|
|||
.Does(() =>
|
||||
{
|
||||
try{
|
||||
MSBuild("./Xamarin.Forms.sln", GetMSBuildSettings().WithRestore());
|
||||
MSBuild(MAUI_SLN, GetMSBuildSettings().WithRestore());
|
||||
}
|
||||
catch(Exception)
|
||||
{
|
||||
|
@ -893,7 +897,7 @@ Task("Android100")
|
|||
.Description("Builds Monodroid10.0 targets")
|
||||
.Does(() =>
|
||||
{
|
||||
MSBuild("Xamarin.Forms.sln",
|
||||
MSBuild(MAUI_SLN,
|
||||
GetMSBuildSettings()
|
||||
.WithRestore()
|
||||
.WithProperty("AndroidTargetFrameworks", "MonoAndroid10.0"));
|
||||
|
@ -1154,15 +1158,15 @@ T GetBuildVariable<T>(string key, T defaultValue)
|
|||
return Argument(key, EnvironmentVariable(key, upperCaseReturnValue));
|
||||
}
|
||||
|
||||
void StartVisualStudio(string sln = "Xamarin.Forms.sln")
|
||||
void StartVisualStudio(string sln = "./Microsoft.Maui.sln")
|
||||
{
|
||||
if(isCIBuild)
|
||||
return;
|
||||
|
||||
if(IsRunningOnWindows())
|
||||
StartProcess("start", new ProcessSettings{ Arguments = "Xamarin.Forms.sln" });
|
||||
StartProcess("start", new ProcessSettings{ Arguments = MAUI_SLN });
|
||||
else
|
||||
StartProcess("open", new ProcessSettings{ Arguments = "Xamarin.Forms.sln" });
|
||||
StartProcess("open", new ProcessSettings{ Arguments = MAUI_SLN });
|
||||
}
|
||||
|
||||
MSBuildSettings GetMSBuildSettings(PlatformTarget? platformTarget = PlatformTarget.MSIL, string buildConfiguration = null)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<NightlyTag>nightly</NightlyTag>
|
||||
<RegexPre>pre\d</RegexPre>
|
||||
|
|
|
@ -79,48 +79,48 @@ stages:
|
|||
parameters:
|
||||
provisionatorPath : '/build/provisioning/provisioning.csx'
|
||||
|
||||
- stage: build_osx
|
||||
displayName: iOS
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- job: ios
|
||||
workspace:
|
||||
clean: all
|
||||
displayName: Build ControlGallery iOS
|
||||
timeoutInMinutes: 120
|
||||
pool:
|
||||
name: $(macOSXVmPool)
|
||||
vmImage: $(macOSXVmImage)
|
||||
demands:
|
||||
- sh
|
||||
- Xamarin.iOS
|
||||
variables:
|
||||
provisionator.xcode : '$(System.DefaultWorkingDirectory)/eng/provisioning/xcode.csx'
|
||||
provisionator.path : '$(System.DefaultWorkingDirectory)/eng/provisioning/provisioning.csx'
|
||||
provisionator.extraArguments : '--v'
|
||||
steps:
|
||||
- template: common/controlgallery-ios.yml
|
||||
# - stage: build_osx
|
||||
# displayName: iOS
|
||||
# dependsOn: []
|
||||
# jobs:
|
||||
# - job: ios
|
||||
# workspace:
|
||||
# clean: all
|
||||
# displayName: Build ControlGallery iOS
|
||||
# timeoutInMinutes: 120
|
||||
# pool:
|
||||
# name: $(macOSXVmPool)
|
||||
# vmImage: $(macOSXVmImage)
|
||||
# demands:
|
||||
# - sh
|
||||
# - Xamarin.iOS
|
||||
# variables:
|
||||
# provisionator.xcode : '$(System.DefaultWorkingDirectory)/eng/provisioning/xcode.csx'
|
||||
# provisionator.path : '$(System.DefaultWorkingDirectory)/eng/provisioning/provisioning.csx'
|
||||
# provisionator.extraArguments : '--v'
|
||||
# steps:
|
||||
# - template: common/controlgallery-ios.yml
|
||||
|
||||
- stage: build_android
|
||||
displayName: Android
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- job: android
|
||||
workspace:
|
||||
clean: all
|
||||
displayName: Build ControlGallery Android
|
||||
timeoutInMinutes: 120
|
||||
pool:
|
||||
name: $(macOSXVmPool)
|
||||
vmImage: $(macOSXVmImage)
|
||||
variables:
|
||||
renderers: 'FAST'
|
||||
outputfolder: 'newRenderers'
|
||||
provisionator.xcode : '$(System.DefaultWorkingDirectory)/eng/provisioning/xcode.csx'
|
||||
provisionator.path : '$(System.DefaultWorkingDirectory)/eng/provisioning/provisioning.csx'
|
||||
provisionator.extraArguments : '--v'
|
||||
steps:
|
||||
- template: common/controlgallery-android.yml
|
||||
# - stage: build_android
|
||||
# displayName: Android
|
||||
# dependsOn: []
|
||||
# jobs:
|
||||
# - job: android
|
||||
# workspace:
|
||||
# clean: all
|
||||
# displayName: Build ControlGallery Android
|
||||
# timeoutInMinutes: 120
|
||||
# pool:
|
||||
# name: $(macOSXVmPool)
|
||||
# vmImage: $(macOSXVmImage)
|
||||
# variables:
|
||||
# renderers: 'FAST'
|
||||
# outputfolder: 'newRenderers'
|
||||
# provisionator.xcode : '$(System.DefaultWorkingDirectory)/eng/provisioning/xcode.csx'
|
||||
# provisionator.path : '$(System.DefaultWorkingDirectory)/eng/provisioning/provisioning.csx'
|
||||
# provisionator.extraArguments : '--v'
|
||||
# steps:
|
||||
# - template: common/controlgallery-android.yml
|
||||
|
||||
- stage: build_net6_windows
|
||||
displayName: NET6 Windows
|
||||
|
@ -156,9 +156,9 @@ stages:
|
|||
errorActionPreference: stop
|
||||
|
||||
- powershell: |
|
||||
& dotnet restore Maui.sln
|
||||
& dotnet build Maui.sln -c Debug -bl:$(LogDirectory)\Debug.binlog
|
||||
& dotnet build Maui.sln -c Release -bl:$(LogDirectory)\Release.binlog
|
||||
& dotnet restore Microsoft.Maui-net6.sln
|
||||
& dotnet build Microsoft.Maui-net6.sln -c Debug -bl:$(LogDirectory)\Debug.binlog
|
||||
& dotnet build Microsoft.Maui-net6.sln -c Release -bl:$(LogDirectory)\Release.binlog
|
||||
displayName: build samples
|
||||
errorActionPreference: stop
|
||||
|
||||
|
@ -219,9 +219,9 @@ stages:
|
|||
displayName: configure vsmac xcode
|
||||
|
||||
- bash: |
|
||||
dotnet restore Maui.sln &&
|
||||
dotnet build Maui.sln -c Debug -bl:$(LogDirectory)/Debug.binlog &&
|
||||
dotnet build Maui.sln -c Release -bl:$(LogDirectory)/Release.binlog
|
||||
dotnet restore Microsoft.Maui-net6.sln &&
|
||||
dotnet build Microsoft.Maui-net6.sln -c Debug -bl:$(LogDirectory)/Debug.binlog &&
|
||||
dotnet build Microsoft.Maui-net6.sln -c Release -bl:$(LogDirectory)/Release.binlog
|
||||
displayName: build samples
|
||||
|
||||
- task: PublishPipelineArtifact@1
|
||||
|
|
|
@ -1,266 +0,0 @@
|
|||
variables:
|
||||
- name: DefaultBuildPlatform
|
||||
value: 'any cpu'
|
||||
- name: ApkName
|
||||
value: AndroidControlGallery.AndroidControlGallery.apk
|
||||
- name: SolutionFile
|
||||
value: Xamarin.Forms.sln
|
||||
- name: BuildVersion
|
||||
value: $[counter('nuget-counter', 126)]
|
||||
- name: NUGET_VERSION
|
||||
value: 5.6.0
|
||||
- name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
|
||||
value: true
|
||||
- name: DOTNET_VERSION
|
||||
value: 5.0.102
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: xamarin-templates
|
||||
type: github
|
||||
name: xamarin/yaml-templates
|
||||
endpoint: xamarin
|
||||
ref: refs/heads/main # still defaults to master even though main is the main branch
|
||||
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
- main-handler
|
||||
tags:
|
||||
include:
|
||||
- '*'
|
||||
paths:
|
||||
exclude:
|
||||
- README.md
|
||||
|
||||
pr:
|
||||
autoCancel: false
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
- 3.*
|
||||
- 4.*
|
||||
- 5.*
|
||||
|
||||
schedules:
|
||||
- cron: "0 0 * * *"
|
||||
displayName: Daily midnight build
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
|
||||
stages:
|
||||
- stage: windows
|
||||
displayName: Build Windows
|
||||
jobs:
|
||||
- job: win_hosted
|
||||
condition: eq(variables['vs2019VmPool'], 'Azure Pipelines')
|
||||
workspace:
|
||||
clean: all
|
||||
displayName: Build Windows Phase
|
||||
timeoutInMinutes: 60
|
||||
pool:
|
||||
name: $(vs2019VmPool)
|
||||
vmImage: $(vs2019VmImage)
|
||||
demands:
|
||||
msbuild
|
||||
strategy:
|
||||
matrix:
|
||||
debug:
|
||||
BuildConfiguration: 'Debug'
|
||||
release:
|
||||
BuildConfiguration: 'Release'
|
||||
steps:
|
||||
- template: build/steps/build-windows.yml
|
||||
parameters:
|
||||
provisionatorPath : 'build/provisioning/provisioning.csx'
|
||||
|
||||
# - job: nuget_pack_hosted
|
||||
# workspace:
|
||||
# clean: all
|
||||
# displayName: Nuget Phase
|
||||
# dependsOn:
|
||||
# - win_hosted
|
||||
# condition: succeeded()
|
||||
# pool:
|
||||
# name: $(vs2019VmPool)
|
||||
# vmImage: $(vs2019VmImage)
|
||||
# demands:
|
||||
# msbuild
|
||||
# variables:
|
||||
# FormsIdAppend: ''
|
||||
# buildConfiguration: $(DefaultBuildConfiguration)
|
||||
# nugetPackageVersion : $[ dependencies.win_hosted.outputs['debug.winbuild.xamarinformspackageversion'] ]
|
||||
# steps:
|
||||
# - template: build/steps/build-nuget.yml
|
||||
- job: win_bots
|
||||
condition: ne(variables['vs2019VmPool'], 'Azure Pipelines')
|
||||
workspace:
|
||||
clean: all
|
||||
displayName: Build Windows Phase Bots
|
||||
timeoutInMinutes: 60
|
||||
pool:
|
||||
name: $(vs2019VmPool)
|
||||
vmImage: $(vs2019VmImage)
|
||||
demands:
|
||||
- Agent.OS -equals Windows_NT
|
||||
- msbuild
|
||||
strategy:
|
||||
matrix:
|
||||
debug:
|
||||
BuildConfiguration: 'Debug'
|
||||
release:
|
||||
BuildConfiguration: 'Release'
|
||||
steps:
|
||||
- template: build/steps/build-windows.yml
|
||||
parameters:
|
||||
provisionatorPath : 'build/provisioning/provisioning.csx'
|
||||
# - job: nuget_pack_bots
|
||||
# workspace:
|
||||
# clean: all
|
||||
# displayName: Nuget Phase
|
||||
# dependsOn:
|
||||
# - win_bots
|
||||
# condition: succeeded()
|
||||
# pool:
|
||||
# name: $(vs2019VmPool)
|
||||
# vmImage: $(vs2019VmImage)
|
||||
# demands:
|
||||
# - Agent.OS -equals Windows_NT
|
||||
# - msbuild
|
||||
# variables:
|
||||
# FormsIdAppend: ''
|
||||
# buildConfiguration: $(DefaultBuildConfiguration)
|
||||
# nugetPackageVersion : $[ dependencies.win_bots.outputs['debug.winbuild.xamarinformspackageversion'] ]
|
||||
# steps:
|
||||
# - template: build/steps/build-nuget.yml
|
||||
|
||||
# - stage: android
|
||||
# displayName: Build Android
|
||||
# ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
|
||||
# dependsOn: windows
|
||||
# ${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
# dependsOn: []
|
||||
# jobs:
|
||||
# - template: build/steps/build-android.yml
|
||||
# parameters:
|
||||
# vmPool: $[coalesce(variables.macAndroid2019VmPool, 'Azure Pipelines')]
|
||||
# vmImage: $[coalesce(variables.macAndroid2019VmImage, 'macOS-10.15')]
|
||||
# provisionatorPath : 'build/provisioning/provisioning.csx'
|
||||
# buildConfiguration: $(DefaultBuildConfiguration)
|
||||
# ${{ if ne(variables['MSBuildArguments_cg_android'], '') }}:
|
||||
# MSBuildArguments_cg_android: $(MSBuildArguments_cg_android)
|
||||
|
||||
# - stage: build_osx
|
||||
# displayName: Build OSX
|
||||
# ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
|
||||
# dependsOn: windows
|
||||
# ${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
# dependsOn: []
|
||||
# jobs:
|
||||
# - job: osx
|
||||
# workspace:
|
||||
# clean: all
|
||||
# displayName: OSX Phase
|
||||
# timeoutInMinutes: 120
|
||||
# pool:
|
||||
# name: $(osx2019VmPool)
|
||||
# vmImage: $(macOSXVmImage)
|
||||
# demands:
|
||||
# - sh
|
||||
# - Xamarin.iOS
|
||||
# variables:
|
||||
# provisionator.osxPath : 'build/provisioning/provisioning.csx'
|
||||
# buildConfiguration: $(DefaultBuildConfiguration)
|
||||
# iOSCertSecureFileName: 'Xamarin Forms iOS Certificate.p12'
|
||||
# iOSProvisioningSecureFileName: 'Xamarin Forms iOS Provisioning.mobileprovision'
|
||||
# steps:
|
||||
# - template: build/steps/build-osx.yml
|
||||
|
||||
- stage: PoliCheck
|
||||
displayName: 'Code Analysis'
|
||||
dependsOn: windows
|
||||
jobs:
|
||||
- job: run_poli_check
|
||||
displayName: 'Policheck And Credentials Compliance'
|
||||
pool:
|
||||
name: $(vs2019VmPool)
|
||||
vmImage: $(vs2019VmImage)
|
||||
timeoutInMinutes: 60
|
||||
cancelTimeoutInMinutes: 5
|
||||
steps:
|
||||
- checkout: self
|
||||
|
||||
- template: security/policheck/v1.yml@xamarin-templates
|
||||
|
||||
- template: security/credscan/v2.yml@xamarin-templates
|
||||
parameters:
|
||||
suppressionsFile: $(System.DefaultWorkingDirectory)\build\automation\CredScanSuppressions.json
|
||||
|
||||
- task: securedevelopmentteam.vss-secure-development-tools.build-task-antimalware.AntiMalware@3
|
||||
displayName: Run AntiMalware (Defender) Scan
|
||||
inputs:
|
||||
FileDirPath: $(System.DefaultWorkingDirectory)
|
||||
EnableServices: true
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- task: securedevelopmentteam.vss-secure-development-tools.build-task-report.SdtReport@1
|
||||
displayName: Create Security Analysis Report
|
||||
inputs:
|
||||
CredScan: true
|
||||
PoliCheck: true
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- task: securedevelopmentteam.vss-secure-development-tools.build-task-publishsecurityanalysislogs.PublishSecurityAnalysisLogs@2
|
||||
displayName: Publish Security Analysis Logs
|
||||
inputs:
|
||||
ArtifactName: CodeAnalysisLogs
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- task: securedevelopmentteam.vss-secure-development-tools.build-task-postanalysis.PostAnalysis@1
|
||||
displayName: Fail Job if Security Issues are Detected
|
||||
inputs:
|
||||
CredScan: true
|
||||
PoliCheck: true
|
||||
condition: succeededOrFailed()
|
||||
|
||||
# - job: api_scan
|
||||
# displayName: APIScan Compliance
|
||||
# pool:
|
||||
# name: $(corpVmImage)
|
||||
# steps:
|
||||
# - checkout: none
|
||||
# clean: true
|
||||
|
||||
# - task: DownloadBuildArtifacts@0
|
||||
# displayName: 'Download build artifact win_build'
|
||||
# inputs:
|
||||
# artifactName: win_build
|
||||
# downloadPath: $(Build.StagingDirectory)
|
||||
|
||||
# - task: securedevelopmentteam.vss-secure-development-tools.build-task-apiscan.APIScan@2
|
||||
# displayName: 'Run APIScan'
|
||||
# inputs:
|
||||
# softwareFolder: '$(Build.StagingDirectory)\win_build'
|
||||
# softwareName: Xamarin.Forms
|
||||
# softwareVersionNum: $(Build.BuildNumber)
|
||||
# isLargeApp: false
|
||||
|
||||
# only sign using the private server and not sigining Maui for now
|
||||
# - ${{ if and(eq(variables['System.TeamProject'], 'devdiv'), ne(variables['System.DefinitionId'], '13330')) }}:
|
||||
# - stage: nuget_signing
|
||||
# dependsOn: windows
|
||||
# displayName: Sign Nuget
|
||||
# jobs:
|
||||
# - job: nuget_sign
|
||||
# displayName: Sign Phase
|
||||
# pool:
|
||||
# name: $(signVmImage)
|
||||
# demands:
|
||||
# msbuild
|
||||
# steps:
|
||||
# - template: build/steps/build-sign.yml
|
||||
# condition: and(succeeded(), ne(variables['signVmImage'], ''), or(eq(variables['Sign'], 'true'), or(eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'],'refs/tags/'))))
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
using Android.Gms.Tasks;
|
||||
|
@ -9,7 +9,7 @@ using Actions = Firebase.AppIndexing.Builders.Actions;
|
|||
using GMSTask = Android.Gms.Tasks.Task;
|
||||
using IndexingAction = Firebase.AppIndexing.IAction;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android.AppLinks
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppLinks
|
||||
{
|
||||
[Preserve(AllMembers = true)]
|
||||
public class AndroidAppLinks : IAppLinks, IDisposable
|
|
@ -0,0 +1,29 @@
|
|||
<Project Sdk="MSBuild.Sdk.Extras">
|
||||
<PropertyGroup>
|
||||
<Description>Android AppLinks support for Xamarin.Forms</Description>
|
||||
<AssemblyName>Microsoft.Maui.Controls.Compatibility.Android.AppLinks</AssemblyName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>$(AndroidTargetFrameworks)</TargetFrameworks>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<RootNamespace>Microsoft.Maui.Controls.Compatibility.Android.AppLinks</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)'=='Debug' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<None Remove="Resources\values\Strings.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AndroidResource Include="Resources\values\Strings.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Xamarin.Firebase.AppIndexing" Version="119.1.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'MonoAndroid10.0'">
|
||||
<ProjectReference Include="..\..\..\..\Controls\src\Core\Controls.Core.csproj" />
|
||||
<PackageReference Include="Xamarin.AndroidX.Lifecycle.LiveData" Version="2.2.0.4" />
|
||||
<PackageReference Include="Xamarin.AndroidX.Legacy.Support.V4" Version="1.0.0.6" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,22 @@
|
|||
using Android.Content;
|
||||
using AActivity = Android.App.Activity;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppLinks
|
||||
{
|
||||
internal static class ContextExtensions
|
||||
{
|
||||
public static AActivity GetActivity(this Context context)
|
||||
{
|
||||
if (context == null)
|
||||
return null;
|
||||
|
||||
if (context is AActivity activity)
|
||||
return activity;
|
||||
|
||||
if (context is ContextWrapper contextWrapper)
|
||||
return contextWrapper.BaseContext.GetActivity();
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net6.0-android</TargetFrameworks>
|
||||
<RootNamespace>Microsoft.Maui.Controls.Android</RootNamespace>
|
||||
<AssemblyName>Microsoft.Maui.Controls.Android.FormsViewGroup</AssemblyName>
|
||||
<OutputType>Library</OutputType>
|
||||
<Nullable>disable</Nullable>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Remove="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedJar Include="Jars\formsviewgroup.jar" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<TransformFile Include="Transforms\Metadata.xml" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<AndroidCodeGenTarget>XAJavaInterop1</AndroidCodeGenTarget>
|
||||
<RootNamespace>Microsoft.Maui.Controls.Android</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{3B72465B-ACAE-43AE-9327-10F372FE5F80}</ProjectGuid>
|
||||
<ProjectTypeGuids>{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>FormsViewGroup</RootNamespace>
|
||||
<AssemblyName>FormsViewGroup</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkVersion>v10.0</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>portable</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS0109</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>portable</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS0109</NoWarn>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Mono.Android" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedJar Include="Jars\formsviewgroup.jar" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<TransformFile Include="Transforms\Metadata.xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.Bindings.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -0,0 +1,6 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle ("FormsViewGroup")]
|
||||
[assembly: AssemblyDescription ("")]
|
||||
[assembly: ComVisible (false)]
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<metadata>
|
||||
<!--
|
||||
This sample removes the class: android.support.v4.content.AsyncTaskLoader.LoadTask:
|
||||
<remove-node path="/api/package[@name='android.support.v4.content']/class[@name='AsyncTaskLoader.LoadTask']" />
|
||||
|
||||
This sample removes the method: android.support.v4.content.CursorLoader.loadInBackground:
|
||||
<remove-node path="/api/package[@name='android.support.v4.content']/class[@name='CursorLoader']/method[@name='loadInBackground']" />
|
||||
-->
|
||||
|
||||
<attr path="/api/package[@name='com.xamarin.forms.platform.android']" name="managedName">Microsoft.Maui.Controls.Android</attr>
|
||||
<attr path="/api/package[@name='com.xamarin.formsviewgroup']" name="managedName">Microsoft.Maui.Controls.Android</attr>
|
||||
</metadata>
|
|
@ -1,9 +1,9 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public static class ActivityResultCallbackRegistry
|
||||
{
|
|
@ -0,0 +1,23 @@
|
|||
using System;
|
||||
using Android.Content;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class AndroidAppIndexProvider : IAppIndexingProvider
|
||||
{
|
||||
public AndroidAppIndexProvider(Context context)
|
||||
{
|
||||
var fullyQualifiedName = $"{AppLinksAssemblyName}.{AppLinksClassName}, {AppLinksAssemblyName}";
|
||||
var type = Type.GetType(fullyQualifiedName, throwOnError: false);
|
||||
if (type != null)
|
||||
{
|
||||
AppLinks = Activator.CreateInstance(type, new object[] { context }, null) as IAppLinks;
|
||||
}
|
||||
}
|
||||
|
||||
public IAppLinks AppLinks { get; }
|
||||
|
||||
const string AppLinksAssemblyName = "Microsoft.Maui.Controls.Compatibility.Platform.Android.AppLinks";
|
||||
const string AppLinksClassName = "AndroidAppLinks";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
internal enum AndroidApplicationLifecycleState
|
||||
{
|
||||
Uninitialized,
|
||||
OnCreate,
|
||||
OnStart,
|
||||
OnResume,
|
||||
OnPause,
|
||||
OnStop,
|
||||
OnRestart,
|
||||
OnDestroy
|
||||
}
|
||||
}
|
|
@ -2,11 +2,11 @@ using System;
|
|||
using Android.Animation;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Xamarin.Forms.Internals;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using GlobalSettings = Android.Provider.Settings.Global;
|
||||
using SystemSettings = Android.Provider.Settings.System;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
internal class AndroidTicker : Ticker, IDisposable
|
||||
{
|
|
@ -0,0 +1,8 @@
|
|||
namespace Microsoft.Maui.Controls.Compatibility
|
||||
{
|
||||
public enum AndroidTitleBarVisibility
|
||||
{
|
||||
Default = 0,
|
||||
Never = 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,219 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using Android.Content;
|
||||
using Android.Graphics;
|
||||
using Android.Util;
|
||||
using Android.Views;
|
||||
using AndroidX.AppCompat.Widget;
|
||||
using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;
|
||||
using AColor = Android.Graphics.Color;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
public class ButtonRenderer : ViewRenderer<Button, AppCompatButton>,
|
||||
AView.IOnAttachStateChangeListener, AView.IOnClickListener, AView.IOnTouchListener,
|
||||
IBorderVisualElementRenderer, IButtonLayoutRenderer, IDisposedState
|
||||
{
|
||||
BorderBackgroundManager _backgroundTracker;
|
||||
TextColorSwitcher _textColorSwitcher;
|
||||
float _defaultFontSize;
|
||||
Typeface _defaultTypeface;
|
||||
bool _isDisposed;
|
||||
ButtonLayoutManager _buttonLayoutManager;
|
||||
|
||||
public ButtonRenderer(Context context) : base(context)
|
||||
{
|
||||
AutoPackage = false;
|
||||
_backgroundTracker = new BorderBackgroundManager(this);
|
||||
_buttonLayoutManager = new ButtonLayoutManager(this);
|
||||
}
|
||||
|
||||
global::Android.Widget.Button NativeButton => Control;
|
||||
|
||||
protected override void SetContentDescription()
|
||||
=> base.SetContentDescription(false);
|
||||
|
||||
public override SizeRequest GetDesiredSize(int widthConstraint, int heightConstraint)
|
||||
{
|
||||
return _buttonLayoutManager.GetDesiredSize(widthConstraint, heightConstraint);
|
||||
}
|
||||
|
||||
void AView.IOnAttachStateChangeListener.OnViewAttachedToWindow(AView attachedView) =>
|
||||
_buttonLayoutManager?.OnViewAttachedToWindow(attachedView);
|
||||
|
||||
void AView.IOnAttachStateChangeListener.OnViewDetachedFromWindow(AView detachedView) =>
|
||||
_buttonLayoutManager?.OnViewDetachedFromWindow(detachedView);
|
||||
|
||||
protected override void OnLayout(bool changed, int l, int t, int r, int b)
|
||||
{
|
||||
_buttonLayoutManager?.OnLayout(changed, l, t, r, b);
|
||||
base.OnLayout(changed, l, t, r, b);
|
||||
}
|
||||
|
||||
protected override AppCompatButton CreateNativeControl()
|
||||
{
|
||||
return new AppCompatButton(Context);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (_isDisposed)
|
||||
return;
|
||||
|
||||
_isDisposed = true;
|
||||
|
||||
if (disposing)
|
||||
{
|
||||
if (Control != null)
|
||||
{
|
||||
Control.SetOnClickListener(null);
|
||||
Control.SetOnTouchListener(null);
|
||||
Control.RemoveOnAttachStateChangeListener(this);
|
||||
_textColorSwitcher = null;
|
||||
}
|
||||
_backgroundTracker?.Dispose();
|
||||
_backgroundTracker = null;
|
||||
_buttonLayoutManager?.Dispose();
|
||||
_buttonLayoutManager = null;
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
|
||||
{
|
||||
base.OnElementChanged(e);
|
||||
|
||||
if (e.NewElement != null)
|
||||
{
|
||||
if (Control == null)
|
||||
{
|
||||
AppCompatButton button = CreateNativeControl();
|
||||
|
||||
button.SetOnClickListener(this);
|
||||
button.SetOnTouchListener(this);
|
||||
button.AddOnAttachStateChangeListener(this);
|
||||
_textColorSwitcher = new TextColorSwitcher(button.TextColors, e.NewElement.UseLegacyColorManagement());
|
||||
|
||||
SetNativeControl(button);
|
||||
}
|
||||
|
||||
_defaultFontSize = 0f;
|
||||
|
||||
_buttonLayoutManager?.Update();
|
||||
UpdateAll();
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (this.IsDisposed())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.PropertyName == Button.TextColorProperty.PropertyName)
|
||||
UpdateTextColor();
|
||||
else if (e.PropertyName == VisualElement.IsEnabledProperty.PropertyName)
|
||||
UpdateEnabled();
|
||||
else if (e.PropertyName == Button.FontProperty.PropertyName)
|
||||
UpdateFont();
|
||||
else if (e.PropertyName == Button.CharacterSpacingProperty.PropertyName)
|
||||
UpdateCharacterSpacing();
|
||||
|
||||
base.OnElementPropertyChanged(sender, e);
|
||||
}
|
||||
|
||||
[PortHandler]
|
||||
protected override void UpdateBackgroundColor()
|
||||
{
|
||||
if (Element == null || Control == null)
|
||||
return;
|
||||
|
||||
_backgroundTracker?.UpdateDrawable();
|
||||
}
|
||||
|
||||
void UpdateAll()
|
||||
{
|
||||
UpdateFont();
|
||||
UpdateTextColor();
|
||||
UpdateEnabled();
|
||||
UpdateBackgroundColor();
|
||||
UpdateCharacterSpacing();
|
||||
}
|
||||
|
||||
void UpdateEnabled()
|
||||
{
|
||||
Control.Enabled = Element.IsEnabled;
|
||||
}
|
||||
|
||||
void UpdateFont()
|
||||
{
|
||||
Button button = Element;
|
||||
Font font = button.Font;
|
||||
|
||||
if (font == Font.Default && _defaultFontSize == 0f)
|
||||
return;
|
||||
|
||||
if (_defaultFontSize == 0f)
|
||||
{
|
||||
_defaultTypeface = NativeButton.Typeface;
|
||||
_defaultFontSize = NativeButton.TextSize;
|
||||
}
|
||||
|
||||
if (font == Font.Default)
|
||||
{
|
||||
NativeButton.Typeface = _defaultTypeface;
|
||||
NativeButton.SetTextSize(ComplexUnitType.Px, _defaultFontSize);
|
||||
}
|
||||
else
|
||||
{
|
||||
NativeButton.Typeface = font.ToTypeface();
|
||||
NativeButton.SetTextSize(ComplexUnitType.Sp, font.ToScaledPixel());
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateTextColor()
|
||||
{
|
||||
_textColorSwitcher?.UpdateTextColor(Control, Element.TextColor);
|
||||
}
|
||||
|
||||
void UpdateCharacterSpacing()
|
||||
{
|
||||
if (Forms.IsLollipopOrNewer)
|
||||
{
|
||||
NativeButton.LetterSpacing = Element.CharacterSpacing.ToEm();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void IOnClickListener.OnClick(AView v) => ButtonElementManager.OnClick(Element, Element, v);
|
||||
|
||||
bool IOnTouchListener.OnTouch(AView v, MotionEvent e) => ButtonElementManager.OnTouch(Element, Element, v, e);
|
||||
|
||||
float IBorderVisualElementRenderer.ShadowRadius => Control.ShadowRadius;
|
||||
float IBorderVisualElementRenderer.ShadowDx => Control.ShadowDx;
|
||||
float IBorderVisualElementRenderer.ShadowDy => Control.ShadowDy;
|
||||
AColor IBorderVisualElementRenderer.ShadowColor => Control.ShadowColor;
|
||||
bool IBorderVisualElementRenderer.UseDefaultPadding() => Element.OnThisPlatform().UseDefaultPadding();
|
||||
bool IBorderVisualElementRenderer.UseDefaultShadow() => Element.OnThisPlatform().UseDefaultShadow();
|
||||
bool IBorderVisualElementRenderer.IsShadowEnabled() => true;
|
||||
VisualElement IBorderVisualElementRenderer.Element => Element;
|
||||
AView IBorderVisualElementRenderer.View => Control;
|
||||
event EventHandler<VisualElementChangedEventArgs> IBorderVisualElementRenderer.ElementChanged
|
||||
{
|
||||
add => ((IVisualElementRenderer)this).ElementChanged += value;
|
||||
remove => ((IVisualElementRenderer)this).ElementChanged -= value;
|
||||
}
|
||||
|
||||
event EventHandler<VisualElementChangedEventArgs> IButtonLayoutRenderer.ElementChanged
|
||||
{
|
||||
add => ((IVisualElementRenderer)this).ElementChanged += value;
|
||||
remove => ((IVisualElementRenderer)this).ElementChanged -= value;
|
||||
}
|
||||
|
||||
AppCompatButton IButtonLayoutRenderer.View => Control;
|
||||
bool IDisposedState.IsDisposed => _isDisposed || !Control.IsAlive();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,194 @@
|
|||
using System.Collections.Specialized;
|
||||
using System.ComponentModel;
|
||||
using Android.Content;
|
||||
using Android.Views;
|
||||
using AndroidX.Fragment.App;
|
||||
using AndroidX.ViewPager.Widget;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
|
||||
public class CarouselPageRenderer : VisualElementRenderer<CarouselPage>, ViewPager.IOnPageChangeListener, IManageFragments
|
||||
{
|
||||
bool _disposed;
|
||||
FormsViewPager _viewPager;
|
||||
Page _previousPage;
|
||||
FragmentManager _fragmentManager;
|
||||
|
||||
public CarouselPageRenderer(Context context) : base(context)
|
||||
{
|
||||
AutoPackage = false;
|
||||
}
|
||||
|
||||
void ViewPager.IOnPageChangeListener.OnPageScrolled(int position, float positionOffset, int positionOffsetPixels)
|
||||
{
|
||||
}
|
||||
|
||||
void ViewPager.IOnPageChangeListener.OnPageScrollStateChanged(int state)
|
||||
{
|
||||
}
|
||||
|
||||
IPageController PageController => Element as IPageController;
|
||||
|
||||
FragmentManager FragmentManager => _fragmentManager ?? (_fragmentManager = Context.GetFragmentManager());
|
||||
|
||||
void IManageFragments.SetFragmentManager(FragmentManager childFragmentManager)
|
||||
{
|
||||
if (_fragmentManager == null)
|
||||
_fragmentManager = childFragmentManager;
|
||||
}
|
||||
|
||||
void ViewPager.IOnPageChangeListener.OnPageSelected(int position)
|
||||
{
|
||||
Element.CurrentPage = Element.Children[position];
|
||||
if (_previousPage != Element.CurrentPage)
|
||||
{
|
||||
_previousPage?.SendDisappearing();
|
||||
_previousPage = Element.CurrentPage;
|
||||
}
|
||||
Element.CurrentPage.SendAppearing();
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && !_disposed)
|
||||
{
|
||||
_disposed = true;
|
||||
|
||||
if (Element != null)
|
||||
PageController.InternalChildren.CollectionChanged -= OnChildrenCollectionChanged;
|
||||
|
||||
if (_viewPager != null)
|
||||
{
|
||||
RemoveView(_viewPager);
|
||||
|
||||
_viewPager.ClearOnPageChangeListeners();
|
||||
_viewPager.Adapter.Dispose();
|
||||
_viewPager.Dispose();
|
||||
_viewPager = null;
|
||||
}
|
||||
|
||||
RemoveAllViews();
|
||||
|
||||
_previousPage = null;
|
||||
_fragmentManager = null;
|
||||
|
||||
if (Element?.Children != null)
|
||||
{
|
||||
foreach (ContentPage pageToRemove in Element.Children)
|
||||
{
|
||||
IVisualElementRenderer pageRenderer = Platform.GetRenderer(pageToRemove);
|
||||
if (pageRenderer != null)
|
||||
{
|
||||
pageRenderer.View.RemoveFromParent();
|
||||
pageRenderer.Dispose();
|
||||
}
|
||||
|
||||
pageToRemove.ClearValue(Platform.RendererProperty);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
protected override void OnAttachedToWindow()
|
||||
{
|
||||
base.OnAttachedToWindow();
|
||||
if (Parent is PageContainer pageContainer && (pageContainer.IsInFragment || pageContainer.Visibility == ViewStates.Gone))
|
||||
return;
|
||||
PageController.SendAppearing();
|
||||
Element.CurrentPage?.SendAppearing();
|
||||
}
|
||||
|
||||
protected override void OnDetachedFromWindow()
|
||||
{
|
||||
base.OnDetachedFromWindow();
|
||||
if (Parent is PageContainer pageContainer && pageContainer.IsInFragment)
|
||||
return;
|
||||
Element.CurrentPage?.SendDisappearing();
|
||||
PageController.SendDisappearing();
|
||||
}
|
||||
|
||||
protected override void OnElementChanged(ElementChangedEventArgs<CarouselPage> e)
|
||||
{
|
||||
base.OnElementChanged(e);
|
||||
|
||||
var activity = (FormsAppCompatActivity)Context.GetActivity();
|
||||
|
||||
if (e.OldElement != null)
|
||||
((IPageController)e.OldElement).InternalChildren.CollectionChanged -= OnChildrenCollectionChanged;
|
||||
|
||||
if (e.NewElement != null)
|
||||
{
|
||||
if (_viewPager != null)
|
||||
{
|
||||
_viewPager.RemoveOnPageChangeListener(this);
|
||||
|
||||
ViewGroup.RemoveView(_viewPager);
|
||||
|
||||
_viewPager.Dispose();
|
||||
}
|
||||
|
||||
FormsViewPager pager = _viewPager = new FormsViewPager(activity)
|
||||
{
|
||||
OverScrollMode = OverScrollMode.Never,
|
||||
EnableGesture = true,
|
||||
LayoutParameters = new LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent),
|
||||
Adapter = new FormsFragmentPagerAdapter<ContentPage>(e.NewElement, FragmentManager) { CountOverride = e.NewElement.Children.Count }
|
||||
};
|
||||
pager.Id = Platform.GenerateViewId();
|
||||
pager.AddOnPageChangeListener(this);
|
||||
|
||||
ViewGroup.AddView(pager);
|
||||
CarouselPage carouselPage = e.NewElement;
|
||||
if (carouselPage.CurrentPage != null)
|
||||
{
|
||||
_previousPage = carouselPage.CurrentPage;
|
||||
ScrollToCurrentPage();
|
||||
}
|
||||
|
||||
((IPageController)carouselPage).InternalChildren.CollectionChanged += OnChildrenCollectionChanged;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
base.OnElementPropertyChanged(sender, e);
|
||||
|
||||
if (e.PropertyName == nameof(Element.CurrentPage))
|
||||
ScrollToCurrentPage();
|
||||
}
|
||||
|
||||
protected override void OnLayout(bool changed, int l, int t, int r, int b)
|
||||
{
|
||||
FormsViewPager pager = _viewPager;
|
||||
Context context = Context;
|
||||
int width = r - l;
|
||||
int height = b - t;
|
||||
|
||||
pager.Measure(MeasureSpecFactory.MakeMeasureSpec(width, MeasureSpecMode.AtMost), MeasureSpecFactory.MakeMeasureSpec(height, MeasureSpecMode.AtMost));
|
||||
|
||||
if (width > 0 && height > 0)
|
||||
{
|
||||
PageController.ContainerArea = new Rectangle(0, 0, context.FromPixels(width), context.FromPixels(height));
|
||||
pager.Layout(0, 0, width, b);
|
||||
}
|
||||
|
||||
base.OnLayout(changed, l, t, r, b);
|
||||
}
|
||||
|
||||
void OnChildrenCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
|
||||
{
|
||||
FormsViewPager pager = _viewPager;
|
||||
|
||||
((FormsFragmentPagerAdapter<ContentPage>)pager.Adapter).CountOverride = Element.Children.Count;
|
||||
pager.Adapter.NotifyDataSetChanged();
|
||||
}
|
||||
|
||||
void ScrollToCurrentPage()
|
||||
{
|
||||
_viewPager.SetCurrentItem(Element.Children.IndexOf(Element.CurrentPage), true);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
using System;
|
||||
using Android.Content;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class CheckBoxRenderer : CheckBoxRendererBase
|
||||
{
|
||||
public CheckBoxRenderer(Context context) : base(context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,281 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using Android.Content;
|
||||
using Android.Content.Res;
|
||||
using Android.Graphics;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using AndroidX.AppCompat.Widget;
|
||||
using AndroidX.Core.Widget;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using Microsoft.Maui.Controls.Compatibility.Platform.Android.FastRenderers;
|
||||
using AAttribute = Android.Resource.Attribute;
|
||||
using AColor = Android.Graphics.Color;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class CheckBoxRendererBase :
|
||||
AppCompatCheckBox,
|
||||
IVisualElementRenderer,
|
||||
AView.IOnFocusChangeListener,
|
||||
CompoundButton.IOnCheckedChangeListener,
|
||||
ITabStop
|
||||
{
|
||||
bool _disposed;
|
||||
int? _defaultLabelFor;
|
||||
VisualElementTracker _tracker;
|
||||
VisualElementRenderer _visualElementRenderer;
|
||||
IPlatformElementConfiguration<PlatformConfiguration.Android, CheckBox> _platformElementConfiguration;
|
||||
CheckBox _checkBox;
|
||||
|
||||
static int[][] _checkedStates = new int[][]
|
||||
{
|
||||
new int[] { AAttribute.StateEnabled, AAttribute.StateChecked },
|
||||
new int[] { AAttribute.StateEnabled, -AAttribute.StateChecked },
|
||||
new int[] { -AAttribute.StateEnabled, AAttribute.StateChecked },
|
||||
new int[] { -AAttribute.StateEnabled, -AAttribute.StatePressed },
|
||||
};
|
||||
|
||||
public event EventHandler<VisualElementChangedEventArgs> ElementChanged;
|
||||
public event EventHandler<PropertyChangedEventArgs> ElementPropertyChanged;
|
||||
|
||||
public CheckBoxRendererBase(Context context) : base(context) => Init();
|
||||
|
||||
public CheckBoxRendererBase(Context context, int defStyleAttr) : base(context, null, defStyleAttr) => Init();
|
||||
|
||||
void Init()
|
||||
{
|
||||
SoundEffectsEnabled = false;
|
||||
SetOnCheckedChangeListener(this);
|
||||
Tag = this;
|
||||
OnFocusChangeListener = this;
|
||||
|
||||
this.SetClipToOutline(true);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (_disposed)
|
||||
return;
|
||||
|
||||
_disposed = true;
|
||||
if (disposing)
|
||||
{
|
||||
_disposed = true;
|
||||
_tracker?.Dispose();
|
||||
_tracker = null;
|
||||
SetOnCheckedChangeListener(null);
|
||||
OnFocusChangeListener = null;
|
||||
|
||||
if (Element != null)
|
||||
{
|
||||
Element.PropertyChanged -= OnElementPropertyChanged;
|
||||
|
||||
if (AppCompat.Platform.GetRenderer(Element) == this)
|
||||
{
|
||||
Element.ClearValue(AppCompat.Platform.RendererProperty);
|
||||
}
|
||||
|
||||
Element = null;
|
||||
}
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
Size MinimumSize()
|
||||
{
|
||||
return Size.Zero;
|
||||
}
|
||||
|
||||
SizeRequest IVisualElementRenderer.GetDesiredSize(int widthConstraint, int heightConstraint)
|
||||
{
|
||||
if (_disposed)
|
||||
{
|
||||
return new SizeRequest();
|
||||
}
|
||||
Measure(widthConstraint, heightConstraint);
|
||||
return new SizeRequest(new Size(MeasuredWidth, MeasuredHeight), MinimumSize());
|
||||
}
|
||||
|
||||
void IVisualElementRenderer.SetElement(VisualElement element)
|
||||
{
|
||||
if (element == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
}
|
||||
|
||||
if (!(element is CheckBox checkBox))
|
||||
{
|
||||
throw new ArgumentException("Element is not of type " + typeof(CheckBox), nameof(element));
|
||||
}
|
||||
|
||||
CheckBox oldElement = Element;
|
||||
Element = checkBox;
|
||||
|
||||
Performance.Start(out string reference);
|
||||
|
||||
if (oldElement != null)
|
||||
{
|
||||
oldElement.PropertyChanged -= OnElementPropertyChanged;
|
||||
}
|
||||
|
||||
element.PropertyChanged += OnElementPropertyChanged;
|
||||
|
||||
if (_tracker == null)
|
||||
{
|
||||
_tracker = new VisualElementTracker(this);
|
||||
}
|
||||
|
||||
if (_visualElementRenderer == null)
|
||||
{
|
||||
_visualElementRenderer = new VisualElementRenderer(this);
|
||||
}
|
||||
|
||||
OnElementChanged(new ElementChangedEventArgs<CheckBox>(oldElement as CheckBox, Element));
|
||||
Element?.SendViewInitialized(Control);
|
||||
Performance.Stop(reference);
|
||||
}
|
||||
|
||||
protected virtual void OnElementChanged(ElementChangedEventArgs<CheckBox> e)
|
||||
{
|
||||
if (e.NewElement != null && !_disposed)
|
||||
{
|
||||
this.EnsureId();
|
||||
|
||||
UpdateOnColor();
|
||||
UpdateIsChecked();
|
||||
UpdateBackgroundColor();
|
||||
UpdateBackground();
|
||||
}
|
||||
|
||||
ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement));
|
||||
}
|
||||
|
||||
protected virtual void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (this.IsDisposed())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.PropertyName == CheckBox.ColorProperty.PropertyName)
|
||||
{
|
||||
UpdateOnColor();
|
||||
}
|
||||
else if (e.PropertyName == CheckBox.IsCheckedProperty.PropertyName)
|
||||
{
|
||||
UpdateIsChecked();
|
||||
}
|
||||
else if (e.PropertyName == VisualElement.BackgroundColorProperty.PropertyName)
|
||||
{
|
||||
UpdateBackgroundColor();
|
||||
}
|
||||
else if (e.PropertyName == VisualElement.BackgroundProperty.PropertyName)
|
||||
{
|
||||
UpdateBackground();
|
||||
}
|
||||
|
||||
ElementPropertyChanged?.Invoke(this, e);
|
||||
}
|
||||
|
||||
void IOnCheckedChangeListener.OnCheckedChanged(CompoundButton buttonView, bool isChecked)
|
||||
{
|
||||
((IElementController)Element).SetValueFromRenderer(CheckBox.IsCheckedProperty, isChecked);
|
||||
}
|
||||
|
||||
void UpdateIsChecked()
|
||||
{
|
||||
if (Element == null || Control == null)
|
||||
return;
|
||||
|
||||
Checked = Element.IsChecked;
|
||||
}
|
||||
|
||||
protected virtual ColorStateList GetColorStateList()
|
||||
{
|
||||
var tintColor = Element.Color == Color.Default ? Color.Accent.ToAndroid() : Element.Color.ToAndroid();
|
||||
|
||||
var list = new ColorStateList(
|
||||
_checkedStates,
|
||||
new int[]
|
||||
{
|
||||
tintColor,
|
||||
tintColor,
|
||||
tintColor,
|
||||
tintColor
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
void UpdateBackgroundColor()
|
||||
{
|
||||
if (Element.BackgroundColor == Color.Default)
|
||||
SetBackgroundColor(AColor.Transparent);
|
||||
else
|
||||
SetBackgroundColor(Element.BackgroundColor.ToAndroid());
|
||||
}
|
||||
|
||||
void UpdateBackground()
|
||||
{
|
||||
Brush background = Element.Background;
|
||||
|
||||
this.UpdateBackground(background);
|
||||
}
|
||||
|
||||
void UpdateOnColor()
|
||||
{
|
||||
if (Element == null || Control == null)
|
||||
return;
|
||||
|
||||
var mode = PorterDuff.Mode.SrcIn;
|
||||
|
||||
|
||||
CompoundButtonCompat.SetButtonTintList(Control, GetColorStateList());
|
||||
CompoundButtonCompat.SetButtonTintMode(Control, mode);
|
||||
}
|
||||
|
||||
void IOnFocusChangeListener.OnFocusChange(AView v, bool hasFocus)
|
||||
{
|
||||
((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, hasFocus);
|
||||
}
|
||||
|
||||
IPlatformElementConfiguration<PlatformConfiguration.Android, CheckBox> OnThisPlatform()
|
||||
{
|
||||
if (_platformElementConfiguration == null)
|
||||
_platformElementConfiguration = Element.OnThisPlatform();
|
||||
|
||||
return _platformElementConfiguration;
|
||||
}
|
||||
|
||||
public void SetLabelFor(int? id)
|
||||
{
|
||||
if (_defaultLabelFor == null)
|
||||
_defaultLabelFor = LabelFor;
|
||||
|
||||
LabelFor = (int)(id ?? _defaultLabelFor);
|
||||
}
|
||||
|
||||
void IVisualElementRenderer.UpdateLayout() => _tracker?.UpdateLayout();
|
||||
VisualElement IVisualElementRenderer.Element => Element;
|
||||
AView IVisualElementRenderer.View => this;
|
||||
ViewGroup IVisualElementRenderer.ViewGroup => null;
|
||||
VisualElementTracker IVisualElementRenderer.Tracker => _tracker;
|
||||
|
||||
protected CheckBox Element
|
||||
{
|
||||
get => _checkBox;
|
||||
private set
|
||||
{
|
||||
_checkBox = value;
|
||||
_platformElementConfiguration = null;
|
||||
}
|
||||
}
|
||||
|
||||
protected AppCompatCheckBox Control => this;
|
||||
|
||||
AView ITabStop.TabStop => this;
|
||||
}
|
||||
}
|
|
@ -2,15 +2,15 @@ using Android.App;
|
|||
using Android.Content;
|
||||
using Android.Content.Res;
|
||||
using Android.Views;
|
||||
using Xamarin.Forms.Internals;
|
||||
using Xamarin.Forms.Platform.Android.AppCompat;
|
||||
using APlatform = Xamarin.Forms.Platform.Android.AppCompat.Platform;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat;
|
||||
using APlatform = Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat.Platform;
|
||||
using Fragment = AndroidX.Fragment.App.Fragment;
|
||||
using FragmentContainer = Xamarin.Forms.Platform.Android.AppCompat.FragmentContainer;
|
||||
using FragmentContainer = Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat.FragmentContainer;
|
||||
using FragmentManager = AndroidX.Fragment.App.FragmentManager;
|
||||
using FragmentTransaction = AndroidX.Fragment.App.FragmentTransaction;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
internal class FlyoutPageContainer : ViewGroup, IManageFragments
|
||||
{
|
|
@ -0,0 +1,508 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Threading.Tasks;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Android.Views;
|
||||
using AndroidX.DrawerLayout.Widget;
|
||||
using AndroidX.Fragment.App;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
using Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat;
|
||||
using Microsoft.Maui.Controls.Compatibility.Platform.Android.FastRenderers;
|
||||
|
||||
public class FlyoutPageRenderer : DrawerLayout, IVisualElementRenderer, DrawerLayout.IDrawerListener, IManageFragments, ILifeCycleState
|
||||
{
|
||||
#region Statics
|
||||
|
||||
//from Android source code
|
||||
const uint DefaultScrimColor = 0x99000000;
|
||||
|
||||
#endregion
|
||||
|
||||
int _currentLockMode = -1;
|
||||
FlyoutPageContainer _detailLayout;
|
||||
FlyoutPageContainer _flyoutLayout;
|
||||
bool _disposed;
|
||||
bool _isPresentingFromCore;
|
||||
bool _presented;
|
||||
bool _defaultAutomationSet;
|
||||
VisualElementTracker _tracker;
|
||||
FragmentManager _fragmentManager;
|
||||
string _defaultContentDescription;
|
||||
|
||||
public FlyoutPageRenderer(Context context) : base(context)
|
||||
{
|
||||
}
|
||||
|
||||
FlyoutPage Element { get; set; }
|
||||
|
||||
IFlyoutPageController FlyoutPageController => Element as IFlyoutPageController;
|
||||
|
||||
bool Presented
|
||||
{
|
||||
get { return _presented; }
|
||||
set
|
||||
{
|
||||
if (value == _presented)
|
||||
return;
|
||||
UpdateSplitViewLayout();
|
||||
_presented = value;
|
||||
if (Element.FlyoutLayoutBehavior == FlyoutLayoutBehavior.Default && FlyoutPageController.ShouldShowSplitMode)
|
||||
return;
|
||||
if (_presented)
|
||||
OpenDrawer(_flyoutLayout);
|
||||
else
|
||||
CloseDrawer(_flyoutLayout);
|
||||
}
|
||||
}
|
||||
|
||||
IPageController FlyoutPagePageController => Element.Flyout as IPageController;
|
||||
IPageController DetailPageController => Element.Detail as IPageController;
|
||||
IPageController PageController => Element as IPageController;
|
||||
|
||||
void IDrawerListener.OnDrawerClosed(global::Android.Views.View drawerView)
|
||||
{
|
||||
}
|
||||
|
||||
void IDrawerListener.OnDrawerOpened(global::Android.Views.View drawerView)
|
||||
{
|
||||
}
|
||||
|
||||
void IDrawerListener.OnDrawerSlide(global::Android.Views.View drawerView, float slideOffset)
|
||||
{
|
||||
}
|
||||
|
||||
void IDrawerListener.OnDrawerStateChanged(int newState)
|
||||
{
|
||||
_presented = IsDrawerVisible(_flyoutLayout);
|
||||
UpdateIsPresented();
|
||||
}
|
||||
|
||||
void IManageFragments.SetFragmentManager(FragmentManager fragmentManager)
|
||||
{
|
||||
if (_fragmentManager == null)
|
||||
_fragmentManager = fragmentManager;
|
||||
}
|
||||
|
||||
VisualElement IVisualElementRenderer.Element => Element;
|
||||
|
||||
event EventHandler<VisualElementChangedEventArgs> IVisualElementRenderer.ElementChanged
|
||||
{
|
||||
add { ElementChanged += value; }
|
||||
remove { ElementChanged -= value; }
|
||||
}
|
||||
|
||||
event EventHandler<PropertyChangedEventArgs> IVisualElementRenderer.ElementPropertyChanged
|
||||
{
|
||||
add { ElementPropertyChanged += value; }
|
||||
remove { ElementPropertyChanged -= value; }
|
||||
}
|
||||
|
||||
SizeRequest IVisualElementRenderer.GetDesiredSize(int widthConstraint, int heightConstraint)
|
||||
{
|
||||
Measure(widthConstraint, heightConstraint);
|
||||
return new SizeRequest(new Size(MeasuredWidth, MeasuredHeight));
|
||||
}
|
||||
|
||||
void IVisualElementRenderer.SetElement(VisualElement element)
|
||||
{
|
||||
FlyoutPage oldElement = Element;
|
||||
FlyoutPage newElement = Element = element as FlyoutPage;
|
||||
|
||||
if (oldElement != null)
|
||||
{
|
||||
Device.Info.PropertyChanged -= DeviceInfoPropertyChanged;
|
||||
|
||||
((IFlyoutPageController)oldElement).BackButtonPressed -= OnBackButtonPressed;
|
||||
|
||||
oldElement.PropertyChanged -= HandlePropertyChanged;
|
||||
oldElement.Appearing -= FlyoutPageAppearing;
|
||||
oldElement.Disappearing -= FlyoutPageDisappearing;
|
||||
|
||||
RemoveDrawerListener(this);
|
||||
|
||||
if (_detailLayout != null)
|
||||
{
|
||||
RemoveView(_detailLayout);
|
||||
}
|
||||
|
||||
if (_flyoutLayout != null)
|
||||
{
|
||||
RemoveView(_flyoutLayout);
|
||||
}
|
||||
}
|
||||
|
||||
if (newElement != null)
|
||||
{
|
||||
if (_detailLayout == null)
|
||||
{
|
||||
_detailLayout = new FlyoutPageContainer(newElement, false, Context)
|
||||
{
|
||||
LayoutParameters = new LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent)
|
||||
};
|
||||
|
||||
_flyoutLayout = new FlyoutPageContainer(newElement, true, Context)
|
||||
{
|
||||
LayoutParameters = new LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent) { Gravity = (int)GravityFlags.Start }
|
||||
};
|
||||
|
||||
if (_fragmentManager != null)
|
||||
{
|
||||
_detailLayout.SetFragmentManager(_fragmentManager);
|
||||
_flyoutLayout.SetFragmentManager(_fragmentManager);
|
||||
}
|
||||
|
||||
AddView(_detailLayout);
|
||||
AddView(_flyoutLayout);
|
||||
|
||||
Device.Info.PropertyChanged += DeviceInfoPropertyChanged;
|
||||
|
||||
AddDrawerListener(this);
|
||||
}
|
||||
|
||||
UpdateBackgroundColor(newElement);
|
||||
UpdateBackgroundImage(newElement);
|
||||
|
||||
UpdateFlyout();
|
||||
UpdateDetail();
|
||||
|
||||
UpdateFlowDirection();
|
||||
|
||||
((IFlyoutPageController)newElement).BackButtonPressed += OnBackButtonPressed;
|
||||
newElement.PropertyChanged += HandlePropertyChanged;
|
||||
newElement.Appearing += FlyoutPageAppearing;
|
||||
newElement.Disappearing += FlyoutPageDisappearing;
|
||||
|
||||
SetGestureState();
|
||||
|
||||
Presented = newElement.IsPresented;
|
||||
|
||||
newElement.SendViewInitialized(this);
|
||||
}
|
||||
|
||||
OnElementChanged(oldElement, newElement);
|
||||
|
||||
// Make sure to initialize this AFTER event is fired
|
||||
if (_tracker == null)
|
||||
_tracker = new VisualElementTracker(this);
|
||||
|
||||
if (element != null && !string.IsNullOrEmpty(element.AutomationId))
|
||||
SetAutomationId(element.AutomationId);
|
||||
|
||||
SetContentDescription();
|
||||
}
|
||||
|
||||
void IVisualElementRenderer.SetLabelFor(int? id) => LabelFor = id ?? LabelFor;
|
||||
|
||||
VisualElementTracker IVisualElementRenderer.Tracker => _tracker;
|
||||
|
||||
void IVisualElementRenderer.UpdateLayout()
|
||||
{
|
||||
_tracker?.UpdateLayout();
|
||||
}
|
||||
|
||||
ViewGroup IVisualElementRenderer.ViewGroup => this;
|
||||
|
||||
AView IVisualElementRenderer.View => this;
|
||||
|
||||
bool ILifeCycleState.MarkedForDispose { get; set; } = false;
|
||||
|
||||
void SetupAutomationDefaults()
|
||||
{
|
||||
if (!_defaultAutomationSet)
|
||||
{
|
||||
_defaultAutomationSet = true;
|
||||
AutomationPropertiesProvider.SetupDefaults(this, ref _defaultContentDescription);
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void SetAutomationId(string id)
|
||||
{
|
||||
SetupAutomationDefaults();
|
||||
AutomationPropertiesProvider.SetAutomationId(this, Element, id);
|
||||
}
|
||||
|
||||
protected virtual void SetContentDescription()
|
||||
{
|
||||
SetupAutomationDefaults();
|
||||
AutomationPropertiesProvider.SetContentDescription(this, Element, _defaultContentDescription, null);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (_disposed)
|
||||
return;
|
||||
|
||||
_disposed = true;
|
||||
|
||||
if (disposing)
|
||||
{
|
||||
Device.Info.PropertyChanged -= DeviceInfoPropertyChanged;
|
||||
|
||||
if (Element != null)
|
||||
{
|
||||
FlyoutPageController.BackButtonPressed -= OnBackButtonPressed;
|
||||
Element.PropertyChanged -= HandlePropertyChanged;
|
||||
Element.Appearing -= FlyoutPageAppearing;
|
||||
Element.Disappearing -= FlyoutPageDisappearing;
|
||||
}
|
||||
|
||||
if (_flyoutLayout?.ChildView != null)
|
||||
_flyoutLayout.ChildView.PropertyChanged -= HandleFlyoutPropertyChanged;
|
||||
|
||||
if (!this.IsDisposed())
|
||||
RemoveDrawerListener(this);
|
||||
|
||||
if (_tracker != null)
|
||||
{
|
||||
_tracker.Dispose();
|
||||
_tracker = null;
|
||||
}
|
||||
|
||||
if (_detailLayout != null)
|
||||
{
|
||||
RemoveView(_detailLayout);
|
||||
_detailLayout.Dispose();
|
||||
_detailLayout = null;
|
||||
}
|
||||
|
||||
if (_flyoutLayout != null)
|
||||
{
|
||||
RemoveView(_flyoutLayout);
|
||||
_flyoutLayout.Dispose();
|
||||
_flyoutLayout = null;
|
||||
}
|
||||
|
||||
if (Element != null)
|
||||
{
|
||||
Element.ClearValue(Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat.Platform.RendererProperty);
|
||||
Element = null;
|
||||
}
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
protected override void OnAttachedToWindow()
|
||||
{
|
||||
base.OnAttachedToWindow();
|
||||
PageController.SendAppearing();
|
||||
}
|
||||
|
||||
protected override void OnDetachedFromWindow()
|
||||
{
|
||||
base.OnDetachedFromWindow();
|
||||
PageController?.SendDisappearing();
|
||||
}
|
||||
|
||||
protected virtual void OnElementChanged(VisualElement oldElement, VisualElement newElement)
|
||||
{
|
||||
ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(oldElement, newElement));
|
||||
}
|
||||
|
||||
protected override void OnLayout(bool changed, int l, int t, int r, int b)
|
||||
{
|
||||
base.OnLayout(changed, l, t, r, b);
|
||||
//hack to make the split layout handle touches the full width
|
||||
if (FlyoutPageController.ShouldShowSplitMode && _flyoutLayout != null)
|
||||
_flyoutLayout.Right = r;
|
||||
}
|
||||
|
||||
async void DeviceInfoPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (nameof(Device.Info.CurrentOrientation) == e.PropertyName)
|
||||
{
|
||||
if (!FlyoutPageController.ShouldShowSplitMode && Presented)
|
||||
{
|
||||
FlyoutPageController.CanChangeIsPresented = true;
|
||||
//hack : when the orientation changes and we try to close the Flyout on Android
|
||||
//sometimes Android picks the width of the screen previous to the rotation
|
||||
//this leaves a little of the flyout visible, the hack is to delay for 100ms closing the drawer
|
||||
await Task.Delay(100);
|
||||
|
||||
//Renderer may have been disposed during the delay
|
||||
if (_disposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
CloseDrawer(_flyoutLayout);
|
||||
}
|
||||
|
||||
UpdateSplitViewLayout();
|
||||
}
|
||||
}
|
||||
|
||||
event EventHandler<VisualElementChangedEventArgs> ElementChanged;
|
||||
event EventHandler<PropertyChangedEventArgs> ElementPropertyChanged;
|
||||
|
||||
bool HasAncestorNavigationPage(Element element)
|
||||
{
|
||||
if (element.Parent == null)
|
||||
return false;
|
||||
else if (element.Parent is NavigationPage)
|
||||
return true;
|
||||
else
|
||||
return HasAncestorNavigationPage(element.Parent);
|
||||
}
|
||||
|
||||
void HandleFlyoutPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
void HandlePropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
ElementPropertyChanged?.Invoke(this, e);
|
||||
if (e.PropertyName == "Flyout")
|
||||
UpdateFlyout();
|
||||
else if (e.PropertyName == "Detail")
|
||||
UpdateDetail();
|
||||
else if (e.PropertyName == FlyoutPage.IsGestureEnabledProperty.PropertyName)
|
||||
SetGestureState();
|
||||
else if (e.PropertyName == FlyoutPage.IsPresentedProperty.PropertyName)
|
||||
{
|
||||
_isPresentingFromCore = true;
|
||||
Presented = Element.IsPresented;
|
||||
_isPresentingFromCore = false;
|
||||
}
|
||||
else if (e.PropertyName == Page.BackgroundImageSourceProperty.PropertyName)
|
||||
UpdateBackgroundImage(Element);
|
||||
else if (e.PropertyName == VisualElement.BackgroundColorProperty.PropertyName)
|
||||
UpdateBackgroundColor(Element);
|
||||
else if (e.PropertyName == VisualElement.FlowDirectionProperty.PropertyName)
|
||||
UpdateFlowDirection();
|
||||
}
|
||||
|
||||
void FlyoutPageAppearing(object sender, EventArgs e)
|
||||
{
|
||||
FlyoutPagePageController?.SendAppearing();
|
||||
DetailPageController?.SendAppearing();
|
||||
}
|
||||
|
||||
void FlyoutPageDisappearing(object sender, EventArgs e)
|
||||
{
|
||||
FlyoutPagePageController?.SendDisappearing();
|
||||
DetailPageController?.SendDisappearing();
|
||||
}
|
||||
|
||||
void OnBackButtonPressed(object sender, BackButtonPressedEventArgs backButtonPressedEventArgs)
|
||||
{
|
||||
if (!IsDrawerOpen((int)GravityFlags.Start) || _currentLockMode == LockModeLockedOpen)
|
||||
return;
|
||||
|
||||
CloseDrawer((int)GravityFlags.Start);
|
||||
backButtonPressedEventArgs.Handled = true;
|
||||
}
|
||||
|
||||
void SetGestureState()
|
||||
{
|
||||
SetDrawerLockMode(Element.IsGestureEnabled ? LockModeUnlocked : LockModeLockedClosed);
|
||||
}
|
||||
|
||||
void SetLockMode(int lockMode)
|
||||
{
|
||||
if (_currentLockMode != lockMode)
|
||||
{
|
||||
SetDrawerLockMode(lockMode);
|
||||
_currentLockMode = lockMode;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateBackgroundColor(Page view)
|
||||
{
|
||||
Color backgroundColor = view.BackgroundColor;
|
||||
if (backgroundColor.IsDefault)
|
||||
SetBackgroundColor(backgroundColor.ToAndroid());
|
||||
}
|
||||
|
||||
void UpdateBackgroundImage(Page view)
|
||||
{
|
||||
_ = this.ApplyDrawableAsync(view, Page.BackgroundImageSourceProperty, Context, drawable =>
|
||||
{
|
||||
if (drawable != null)
|
||||
this.SetBackground(drawable);
|
||||
});
|
||||
}
|
||||
|
||||
void UpdateDetail()
|
||||
{
|
||||
if (_detailLayout.ChildView == null)
|
||||
Update();
|
||||
else
|
||||
// Queue up disposal of the previous renderers after the current layout updates have finished
|
||||
new Handler(Looper.MainLooper).Post(Update);
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (_detailLayout == null || _detailLayout.IsDisposed())
|
||||
return;
|
||||
|
||||
Context.HideKeyboard(this);
|
||||
_detailLayout.ChildView = Element.Detail;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateFlowDirection()
|
||||
{
|
||||
this.UpdateFlowDirection(Element);
|
||||
_detailLayout.UpdateFlowDirection();
|
||||
}
|
||||
|
||||
void UpdateIsPresented()
|
||||
{
|
||||
if (_isPresentingFromCore)
|
||||
return;
|
||||
if (Presented != Element.IsPresented)
|
||||
((IElementController)Element).SetValueFromRenderer(FlyoutPage.IsPresentedProperty, Presented);
|
||||
}
|
||||
|
||||
void UpdateFlyout()
|
||||
{
|
||||
if (_flyoutLayout.ChildView == null)
|
||||
Update();
|
||||
else
|
||||
// Queue up disposal of the previous renderers after the current layout updates have finished
|
||||
new Handler(Looper.MainLooper).Post(Update);
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (_flyoutLayout == null || _flyoutLayout.IsDisposed())
|
||||
return;
|
||||
|
||||
if (_flyoutLayout.ChildView != null)
|
||||
_flyoutLayout.ChildView.PropertyChanged -= HandleFlyoutPropertyChanged;
|
||||
|
||||
_flyoutLayout.ChildView = Element.Flyout;
|
||||
|
||||
if (_flyoutLayout.ChildView != null)
|
||||
_flyoutLayout.ChildView.PropertyChanged += HandleFlyoutPropertyChanged;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateSplitViewLayout()
|
||||
{
|
||||
if (Device.Idiom == TargetIdiom.Tablet)
|
||||
{
|
||||
bool isShowingSplit = FlyoutPageController.ShouldShowSplitMode || (FlyoutPageController.ShouldShowSplitMode && Element.FlyoutLayoutBehavior != FlyoutLayoutBehavior.Default && Element.IsPresented);
|
||||
SetLockMode(isShowingSplit ? LockModeLockedOpen : LockModeUnlocked);
|
||||
unchecked
|
||||
{
|
||||
SetScrimColor(isShowingSplit ? Color.Transparent.ToAndroid() : (int)DefaultScrimColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
public class MasterDetailPageRenderer : FlyoutPageRenderer
|
||||
{
|
||||
public MasterDetailPageRenderer(Context context) : base(context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
|
@ -9,15 +9,15 @@ using Android.OS;
|
|||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using AndroidX.AppCompat.App;
|
||||
using Xamarin.Forms.Internals;
|
||||
using Xamarin.Forms.Platform.Android.AppCompat;
|
||||
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
|
||||
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat;
|
||||
using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;
|
||||
using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific.AppCompat;
|
||||
using AColor = Android.Graphics.Color;
|
||||
using ARelativeLayout = Android.Widget.RelativeLayout;
|
||||
using AToolbar = AndroidX.AppCompat.Widget.Toolbar;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
[Flags]
|
||||
public enum ActivationFlags : long
|
||||
|
@ -81,7 +81,7 @@ namespace Xamarin.Forms.Platform.Android
|
|||
base.OnConfigurationChanged(newConfig);
|
||||
ConfigurationChanged?.Invoke(this, new EventArgs());
|
||||
|
||||
Xamarin.Forms.Application.Current?.TriggerThemeChanged(new AppThemeChangedEventArgs(Xamarin.Forms.Application.Current.RequestedTheme));
|
||||
Microsoft.Maui.Controls.Application.Current?.TriggerThemeChanged(new AppThemeChangedEventArgs(Microsoft.Maui.Controls.Application.Current.RequestedTheme));
|
||||
}
|
||||
|
||||
public override bool OnOptionsItemSelected(IMenuItem item)
|
||||
|
@ -147,10 +147,10 @@ namespace Xamarin.Forms.Platform.Android
|
|||
((IApplicationController)application).SetAppIndexingProvider(new AndroidAppIndexProvider(this));
|
||||
|
||||
Profile.FramePartition("SetCurrentApplication");
|
||||
Xamarin.Forms.Application.SetCurrentApplication(application);
|
||||
Microsoft.Maui.Controls.Application.SetCurrentApplication(application);
|
||||
|
||||
Profile.FramePartition("SetSoftInputMode");
|
||||
if (Xamarin.Forms.Application.Current.OnThisPlatform().GetWindowSoftInputModeAdjust() != WindowSoftInputModeAdjust.Unspecified)
|
||||
if (Microsoft.Maui.Controls.Application.Current.OnThisPlatform().GetWindowSoftInputModeAdjust() != WindowSoftInputModeAdjust.Unspecified)
|
||||
SetSoftInputMode();
|
||||
|
||||
Profile.FramePartition("CheckForAppLink");
|
||||
|
@ -241,7 +241,7 @@ namespace Xamarin.Forms.Platform.Android
|
|||
SetContentView(_layout);
|
||||
|
||||
Profile.FramePartition("OnStateChanged");
|
||||
Xamarin.Forms.Application.ClearCurrent();
|
||||
Microsoft.Maui.Controls.Application.ClearCurrent();
|
||||
|
||||
_previousState = _currentState;
|
||||
_currentState = AndroidApplicationLifecycleState.OnCreate;
|
||||
|
@ -502,9 +502,9 @@ namespace Xamarin.Forms.Platform.Android
|
|||
{
|
||||
var adjust = SoftInput.AdjustPan;
|
||||
|
||||
if (Xamarin.Forms.Application.Current != null)
|
||||
if (Microsoft.Maui.Controls.Application.Current != null)
|
||||
{
|
||||
WindowSoftInputModeAdjust elementValue = Xamarin.Forms.Application.Current.OnThisPlatform().GetWindowSoftInputModeAdjust();
|
||||
WindowSoftInputModeAdjust elementValue = Microsoft.Maui.Controls.Application.Current.OnThisPlatform().GetWindowSoftInputModeAdjust();
|
||||
switch (elementValue)
|
||||
{
|
||||
case WindowSoftInputModeAdjust.Resize:
|
|
@ -2,10 +2,10 @@ using System.Collections.Generic;
|
|||
using Android.OS;
|
||||
using AndroidX.Fragment.App;
|
||||
using Java.Lang;
|
||||
using Xamarin.Forms.Internals;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using FragmentTransit = Android.App.FragmentTransit;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android.AppCompat
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
internal class FormsFragmentPagerAdapter<T> : FragmentPagerAdapter where T : Page
|
||||
{
|
|
@ -5,7 +5,7 @@ using Android.Util;
|
|||
using Android.Views;
|
||||
using AndroidX.ViewPager.Widget;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android.AppCompat
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
internal class FormsViewPager : ViewPager
|
||||
{
|
|
@ -4,10 +4,10 @@ using Android.OS;
|
|||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using AndroidX.Fragment.App;
|
||||
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat;
|
||||
using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific.AppCompat;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android.AppCompat
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
internal class FragmentContainer : Fragment
|
||||
{
|
|
@ -0,0 +1,14 @@
|
|||
using Android.Content;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
// This version of FrameRenderer is here for backward compatibility with anyone referencing
|
||||
// FrameRenderer from this namespace
|
||||
public class FrameRenderer : FastRenderers.FrameRenderer
|
||||
{
|
||||
public FrameRenderer(Context context) : base(context)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
@ -10,7 +10,7 @@ using Android.Runtime;
|
|||
using Android.Views;
|
||||
using Android.Widget;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
internal interface ILifeCycleState
|
||||
{
|
|
@ -1,6 +1,6 @@
|
|||
using AndroidX.Fragment.App;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android.AppCompat
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
/// <summary>
|
||||
/// Allows the platform to inject child fragment managers for renderers
|
|
@ -0,0 +1,345 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using Android.Content;
|
||||
using Android.Graphics;
|
||||
using Android.Graphics.Drawables;
|
||||
using Android.Views;
|
||||
using AndroidX.AppCompat.Widget;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using Microsoft.Maui.Controls.Compatibility.Platform.Android.FastRenderers;
|
||||
using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;
|
||||
using AColor = Android.Graphics.Color;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class ImageButtonRenderer :
|
||||
AppCompatImageButton,
|
||||
IVisualElementRenderer,
|
||||
IBorderVisualElementRenderer,
|
||||
IImageRendererController,
|
||||
AView.IOnFocusChangeListener,
|
||||
AView.IOnClickListener,
|
||||
AView.IOnTouchListener,
|
||||
ILayoutChanges,
|
||||
IDisposedState
|
||||
{
|
||||
bool _hasLayoutOccurred;
|
||||
bool _inputTransparent;
|
||||
bool _disposed;
|
||||
bool _skipInvalidate;
|
||||
int? _defaultLabelFor;
|
||||
VisualElementTracker _tracker;
|
||||
VisualElementRenderer _visualElementRenderer;
|
||||
BorderBackgroundManager _backgroundTracker;
|
||||
IPlatformElementConfiguration<PlatformConfiguration.Android, ImageButton> _platformElementConfiguration;
|
||||
ImageButton _imageButton;
|
||||
|
||||
public event EventHandler<VisualElementChangedEventArgs> ElementChanged;
|
||||
public event EventHandler<PropertyChangedEventArgs> ElementPropertyChanged;
|
||||
|
||||
void IVisualElementRenderer.UpdateLayout() => _tracker?.UpdateLayout();
|
||||
VisualElement IVisualElementRenderer.Element => Element;
|
||||
AView IVisualElementRenderer.View => this;
|
||||
ViewGroup IVisualElementRenderer.ViewGroup => null;
|
||||
VisualElementTracker IVisualElementRenderer.Tracker => _tracker;
|
||||
bool IDisposedState.IsDisposed => ((IImageRendererController)this).IsDisposed;
|
||||
|
||||
public ImageButton Element
|
||||
{
|
||||
get => _imageButton;
|
||||
private set
|
||||
{
|
||||
_imageButton = value;
|
||||
_platformElementConfiguration = null;
|
||||
}
|
||||
}
|
||||
|
||||
void IImageRendererController.SkipInvalidate() => _skipInvalidate = true;
|
||||
bool IImageRendererController.IsDisposed => _disposed || !Control.IsAlive();
|
||||
|
||||
AppCompatImageButton Control => this;
|
||||
public ImageButtonRenderer(Context context) : base(context)
|
||||
{
|
||||
// These set the defaults so visually it matches up with other platforms
|
||||
SetPadding(0, 0, 0, 0);
|
||||
SoundEffectsEnabled = false;
|
||||
SetOnClickListener(this);
|
||||
SetOnTouchListener(this);
|
||||
OnFocusChangeListener = this;
|
||||
|
||||
// Setting the tag will break Glide
|
||||
// Tag = this;
|
||||
|
||||
_backgroundTracker = new BorderBackgroundManager(this, false);
|
||||
}
|
||||
|
||||
protected override void OnLayout(bool changed, int left, int top, int right, int bottom)
|
||||
{
|
||||
base.OnLayout(changed, left, top, right, bottom);
|
||||
_hasLayoutOccurred = true;
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (_disposed)
|
||||
return;
|
||||
|
||||
_disposed = true;
|
||||
|
||||
if (disposing)
|
||||
{
|
||||
if (Element != null)
|
||||
{
|
||||
Element.PropertyChanged -= OnElementPropertyChanged;
|
||||
}
|
||||
|
||||
SetOnClickListener(null);
|
||||
SetOnTouchListener(null);
|
||||
OnFocusChangeListener = null;
|
||||
|
||||
ImageElementManager.Dispose(this);
|
||||
|
||||
_tracker?.Dispose();
|
||||
_tracker = null;
|
||||
|
||||
_backgroundTracker?.Dispose();
|
||||
_backgroundTracker = null;
|
||||
|
||||
if (Element != null)
|
||||
{
|
||||
if (AppCompat.Platform.GetRenderer(Element) == this)
|
||||
{
|
||||
Element.ClearValue(AppCompat.Platform.RendererProperty);
|
||||
}
|
||||
|
||||
Element = null;
|
||||
}
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
public override void Invalidate()
|
||||
{
|
||||
if (_skipInvalidate)
|
||||
{
|
||||
_skipInvalidate = false;
|
||||
return;
|
||||
}
|
||||
|
||||
base.Invalidate();
|
||||
}
|
||||
|
||||
Size MinimumSize()
|
||||
{
|
||||
return new Size();
|
||||
}
|
||||
|
||||
SizeRequest IVisualElementRenderer.GetDesiredSize(int widthConstraint, int heightConstraint)
|
||||
{
|
||||
if (_disposed)
|
||||
{
|
||||
return new SizeRequest();
|
||||
}
|
||||
Measure(widthConstraint, heightConstraint);
|
||||
return new SizeRequest(new Size(MeasuredWidth, MeasuredHeight), MinimumSize());
|
||||
}
|
||||
|
||||
void IVisualElementRenderer.SetElement(VisualElement element)
|
||||
{
|
||||
|
||||
if (element == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
}
|
||||
|
||||
if (!(element is ImageButton image))
|
||||
{
|
||||
throw new ArgumentException("Element is not of type " + typeof(ImageButton), nameof(element));
|
||||
}
|
||||
|
||||
ImageButton oldElement = Element;
|
||||
Element = image;
|
||||
|
||||
Performance.Start(out string reference);
|
||||
|
||||
if (oldElement != null)
|
||||
{
|
||||
oldElement.PropertyChanged -= OnElementPropertyChanged;
|
||||
}
|
||||
|
||||
element.PropertyChanged += OnElementPropertyChanged;
|
||||
|
||||
if (_tracker == null)
|
||||
{
|
||||
_tracker = new VisualElementTracker(this);
|
||||
ImageElementManager.Init(this);
|
||||
|
||||
}
|
||||
|
||||
if (_visualElementRenderer == null)
|
||||
{
|
||||
_visualElementRenderer = new VisualElementRenderer(this);
|
||||
}
|
||||
|
||||
Performance.Stop(reference);
|
||||
this.EnsureId();
|
||||
|
||||
UpdateInputTransparent();
|
||||
UpdatePadding();
|
||||
|
||||
OnElementChanged(new ElementChangedEventArgs<ImageButton>(oldElement, Element));
|
||||
Element?.SendViewInitialized(Control);
|
||||
}
|
||||
|
||||
protected virtual void OnElementChanged(ElementChangedEventArgs<ImageButton> e)
|
||||
{
|
||||
ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement));
|
||||
}
|
||||
|
||||
public override void Draw(Canvas canvas)
|
||||
{
|
||||
if (Element == null)
|
||||
return;
|
||||
|
||||
canvas.ClipShape(Context, Element);
|
||||
|
||||
var backgroundDrawable = _backgroundTracker?.BackgroundDrawable;
|
||||
RectF drawableBounds = null;
|
||||
|
||||
if (Drawable != null)
|
||||
{
|
||||
if ((int)Forms.SdkInt >= 18 && backgroundDrawable != null)
|
||||
{
|
||||
var outlineBounds = backgroundDrawable.GetPaddingBounds(canvas.Width, canvas.Height);
|
||||
var width = (float)canvas.Width;
|
||||
var height = (float)canvas.Height;
|
||||
var widthRatio = 1f;
|
||||
var heightRatio = 1f;
|
||||
|
||||
if (Element.Aspect == Aspect.AspectFill && OnThisPlatform().GetIsShadowEnabled())
|
||||
Internals.Log.Warning(nameof(ImageButtonRenderer), "AspectFill isn't fully supported when using shadows. Image may be clipped incorrectly to Border");
|
||||
|
||||
switch (Element.Aspect)
|
||||
{
|
||||
case Aspect.Fill:
|
||||
break;
|
||||
case Aspect.AspectFill:
|
||||
case Aspect.AspectFit:
|
||||
heightRatio = (float)Drawable.IntrinsicHeight / height;
|
||||
widthRatio = (float)Drawable.IntrinsicWidth / width;
|
||||
break;
|
||||
}
|
||||
|
||||
drawableBounds = new RectF(outlineBounds.Left * widthRatio, outlineBounds.Top * heightRatio, outlineBounds.Right * widthRatio, outlineBounds.Bottom * heightRatio);
|
||||
}
|
||||
|
||||
if (drawableBounds != null)
|
||||
Drawable.SetBounds((int)drawableBounds.Left, (int)drawableBounds.Top, (int)drawableBounds.Right, (int)drawableBounds.Bottom);
|
||||
}
|
||||
|
||||
if (_backgroundTracker?.BackgroundDrawable != null)
|
||||
{
|
||||
_backgroundTracker.BackgroundDrawable.DrawCircle(canvas, canvas.Width, canvas.Height, base.Draw);
|
||||
_backgroundTracker.BackgroundDrawable.DrawOutline(canvas, canvas.Width, canvas.Height);
|
||||
}
|
||||
else
|
||||
{
|
||||
base.Draw(canvas);
|
||||
}
|
||||
}
|
||||
|
||||
void IVisualElementRenderer.SetLabelFor(int? id)
|
||||
{
|
||||
if (_defaultLabelFor == null)
|
||||
_defaultLabelFor = LabelFor;
|
||||
|
||||
LabelFor = (int)(id ?? _defaultLabelFor);
|
||||
}
|
||||
|
||||
public override bool OnTouchEvent(MotionEvent e)
|
||||
{
|
||||
if (!Enabled || (_inputTransparent && Enabled))
|
||||
return false;
|
||||
|
||||
return base.OnTouchEvent(e);
|
||||
}
|
||||
|
||||
|
||||
void UpdatePadding()
|
||||
{
|
||||
SetPadding(
|
||||
(int)(Context.ToPixels(Element.Padding.Left)),
|
||||
(int)(Context.ToPixels(Element.Padding.Top)),
|
||||
(int)(Context.ToPixels(Element.Padding.Right)),
|
||||
(int)(Context.ToPixels(Element.Padding.Bottom))
|
||||
);
|
||||
}
|
||||
|
||||
void UpdateInputTransparent()
|
||||
{
|
||||
if (Element == null || _disposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_inputTransparent = Element.InputTransparent;
|
||||
}
|
||||
|
||||
protected virtual void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (this.IsDisposed())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.PropertyName == VisualElement.InputTransparentProperty.PropertyName)
|
||||
UpdateInputTransparent();
|
||||
else if (e.PropertyName == ImageButton.PaddingProperty.PropertyName)
|
||||
UpdatePadding();
|
||||
|
||||
ElementPropertyChanged?.Invoke(this, e);
|
||||
}
|
||||
|
||||
// general state related
|
||||
void IOnFocusChangeListener.OnFocusChange(AView v, bool hasFocus)
|
||||
{
|
||||
((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, hasFocus);
|
||||
}
|
||||
// general state related
|
||||
|
||||
|
||||
// Button related
|
||||
void IOnClickListener.OnClick(AView v) =>
|
||||
ButtonElementManager.OnClick(Element, Element, v);
|
||||
|
||||
bool IOnTouchListener.OnTouch(AView v, MotionEvent e) =>
|
||||
ButtonElementManager.OnTouch(Element, Element, v, e);
|
||||
// Button related
|
||||
|
||||
float IBorderVisualElementRenderer.ShadowRadius => Context.ToPixels(OnThisPlatform().GetShadowRadius());
|
||||
float IBorderVisualElementRenderer.ShadowDx => Context.ToPixels(OnThisPlatform().GetShadowOffset().Width);
|
||||
float IBorderVisualElementRenderer.ShadowDy => Context.ToPixels(OnThisPlatform().GetShadowOffset().Height);
|
||||
AColor IBorderVisualElementRenderer.ShadowColor => OnThisPlatform().GetShadowColor().ToAndroid();
|
||||
bool IBorderVisualElementRenderer.IsShadowEnabled() => OnThisPlatform().GetIsShadowEnabled();
|
||||
bool IBorderVisualElementRenderer.UseDefaultPadding() => false;
|
||||
bool IBorderVisualElementRenderer.UseDefaultShadow() => false;
|
||||
VisualElement IBorderVisualElementRenderer.Element => Element;
|
||||
AView IBorderVisualElementRenderer.View => this;
|
||||
|
||||
bool ILayoutChanges.HasLayoutOccurred => _hasLayoutOccurred;
|
||||
|
||||
IPlatformElementConfiguration<PlatformConfiguration.Android, ImageButton> OnThisPlatform()
|
||||
{
|
||||
if (_platformElementConfiguration == null)
|
||||
_platformElementConfiguration = Element.OnThisPlatform();
|
||||
|
||||
return _platformElementConfiguration;
|
||||
}
|
||||
|
||||
void IImageRendererController.SetFormsAnimationDrawable(IFormsAnimationDrawable value)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,115 @@
|
|||
using System;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Android.Views;
|
||||
using Fragment = AndroidX.Fragment.App.Fragment;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public static class PageExtensions
|
||||
{
|
||||
class EmbeddedFragment : Fragment
|
||||
{
|
||||
readonly ViewGroup _content;
|
||||
readonly AppCompat.Platform _platform;
|
||||
bool _disposed;
|
||||
|
||||
// ReSharper disable once UnusedMember.Local (Android uses this on configuration change
|
||||
public EmbeddedFragment()
|
||||
{
|
||||
}
|
||||
|
||||
public EmbeddedFragment(ViewGroup content, AppCompat.Platform platform)
|
||||
{
|
||||
_content = content;
|
||||
_platform = platform;
|
||||
}
|
||||
|
||||
public override global::Android.Views.View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
|
||||
{
|
||||
return _content;
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (_disposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_disposed = true;
|
||||
|
||||
if (disposing)
|
||||
{
|
||||
(_platform as IDisposable)?.Dispose();
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
}
|
||||
#pragma warning restore 618
|
||||
|
||||
public static Fragment CreateSupportFragment(this ContentPage view, Context context)
|
||||
{
|
||||
if (!Forms.IsInitialized)
|
||||
throw new InvalidOperationException("call Forms.Init() before this");
|
||||
|
||||
if (!(view.RealParent is Application))
|
||||
{
|
||||
Application app = new DefaultApplication();
|
||||
app.MainPage = view;
|
||||
}
|
||||
|
||||
var platform = new AppCompat.Platform(context, true);
|
||||
platform.SetPage(view);
|
||||
|
||||
var vg = platform.GetViewGroup();
|
||||
|
||||
return new EmbeddedSupportFragment(vg, platform);
|
||||
}
|
||||
|
||||
class DefaultApplication : Application
|
||||
{
|
||||
}
|
||||
|
||||
class EmbeddedSupportFragment : Fragment
|
||||
{
|
||||
readonly ViewGroup _content;
|
||||
readonly AppCompat.Platform _platform;
|
||||
bool _disposed;
|
||||
|
||||
// ReSharper disable once UnusedMember.Local (Android uses this on configuration change
|
||||
public EmbeddedSupportFragment()
|
||||
{
|
||||
}
|
||||
|
||||
public EmbeddedSupportFragment(ViewGroup content, AppCompat.Platform platform)
|
||||
{
|
||||
_content = content;
|
||||
_platform = platform;
|
||||
}
|
||||
|
||||
public override global::Android.Views.View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
|
||||
{
|
||||
return _content;
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (_disposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_disposed = true;
|
||||
|
||||
if (disposing)
|
||||
{
|
||||
(_platform as IDisposable)?.Dispose();
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,227 @@
|
|||
using System;
|
||||
using System.Collections.Specialized;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
using Android.Text;
|
||||
using Android.Text.Style;
|
||||
using Android.Util;
|
||||
using Android.Widget;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
public abstract class PickerRendererBase<TControl> : ViewRenderer<Picker, TControl>, IPickerRenderer
|
||||
where TControl : global::Android.Views.View
|
||||
{
|
||||
AlertDialog _dialog;
|
||||
bool _disposed;
|
||||
EntryAccessibilityDelegate _pickerAccessibilityDelegate;
|
||||
|
||||
public PickerRendererBase(Context context) : base(context)
|
||||
{
|
||||
AutoPackage = false;
|
||||
}
|
||||
|
||||
protected abstract EditText EditText { get; }
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && !_disposed)
|
||||
{
|
||||
_disposed = true;
|
||||
|
||||
((INotifyCollectionChanged)Element.Items).CollectionChanged -= RowsCollectionChanged;
|
||||
|
||||
_pickerAccessibilityDelegate?.Dispose();
|
||||
_pickerAccessibilityDelegate = null;
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
|
||||
{
|
||||
if (e.OldElement != null)
|
||||
((INotifyCollectionChanged)e.OldElement.Items).CollectionChanged -= RowsCollectionChanged;
|
||||
|
||||
if (e.NewElement != null)
|
||||
{
|
||||
((INotifyCollectionChanged)e.NewElement.Items).CollectionChanged += RowsCollectionChanged;
|
||||
if (Control == null)
|
||||
{
|
||||
var textField = CreateNativeControl();
|
||||
|
||||
SetNativeControl(textField);
|
||||
|
||||
ControlUsedForAutomation.SetAccessibilityDelegate(_pickerAccessibilityDelegate = new EntryAccessibilityDelegate(Element));
|
||||
}
|
||||
UpdateFont();
|
||||
UpdatePicker();
|
||||
UpdateTextColor();
|
||||
UpdateCharacterSpacing();
|
||||
UpdateGravity();
|
||||
}
|
||||
|
||||
base.OnElementChanged(e);
|
||||
}
|
||||
|
||||
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (this.IsDisposed())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
base.OnElementPropertyChanged(sender, e);
|
||||
|
||||
if (e.PropertyName == Picker.TitleProperty.PropertyName || e.PropertyName == Picker.TitleColorProperty.PropertyName)
|
||||
UpdatePicker();
|
||||
else if (e.PropertyName == Picker.SelectedIndexProperty.PropertyName)
|
||||
UpdatePicker();
|
||||
else if (e.PropertyName == Picker.CharacterSpacingProperty.PropertyName)
|
||||
UpdateCharacterSpacing();
|
||||
else if (e.PropertyName == Picker.TextColorProperty.PropertyName)
|
||||
UpdateTextColor();
|
||||
else if (e.PropertyName == Picker.FontAttributesProperty.PropertyName || e.PropertyName == Picker.FontFamilyProperty.PropertyName || e.PropertyName == Picker.FontSizeProperty.PropertyName)
|
||||
UpdateFont();
|
||||
else if (e.PropertyName == Picker.HorizontalTextAlignmentProperty.PropertyName || e.PropertyName == Picker.VerticalTextAlignmentProperty.PropertyName)
|
||||
UpdateGravity();
|
||||
}
|
||||
|
||||
protected override void OnFocusChangeRequested(object sender, VisualElement.FocusRequestArgs e)
|
||||
{
|
||||
base.OnFocusChangeRequested(sender, e);
|
||||
|
||||
if (e.Focus)
|
||||
{
|
||||
if (Clickable)
|
||||
CallOnClick();
|
||||
else
|
||||
((IPickerRenderer)this)?.OnClick();
|
||||
}
|
||||
else if (_dialog != null)
|
||||
{
|
||||
_dialog.Hide();
|
||||
((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false);
|
||||
Control.ClearFocus();
|
||||
_dialog = null;
|
||||
}
|
||||
}
|
||||
|
||||
void IPickerRenderer.OnClick()
|
||||
{
|
||||
Picker model = Element;
|
||||
if (_dialog == null)
|
||||
{
|
||||
using (var builder = new AlertDialog.Builder(Context))
|
||||
{
|
||||
if (!Element.IsSet(Picker.TitleColorProperty))
|
||||
{
|
||||
builder.SetTitle(model.Title ?? "");
|
||||
}
|
||||
else
|
||||
{
|
||||
var title = new SpannableString(model.Title ?? "");
|
||||
title.SetSpan(new ForegroundColorSpan(model.TitleColor.ToAndroid()), 0, title.Length(), SpanTypes.ExclusiveExclusive);
|
||||
|
||||
builder.SetTitle(title);
|
||||
}
|
||||
|
||||
string[] items = model.Items.ToArray();
|
||||
builder.SetItems(items, (s, e) => ((IElementController)model).SetValueFromRenderer(Picker.SelectedIndexProperty, e.Which));
|
||||
|
||||
builder.SetNegativeButton(global::Android.Resource.String.Cancel, (o, args) => { });
|
||||
|
||||
((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, true);
|
||||
|
||||
_dialog = builder.Create();
|
||||
}
|
||||
_dialog.SetCanceledOnTouchOutside(true);
|
||||
_dialog.DismissEvent += (sender, args) =>
|
||||
{
|
||||
(Element as IElementController)?.SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, false);
|
||||
_dialog?.Dispose();
|
||||
_dialog = null;
|
||||
};
|
||||
|
||||
_dialog.Show();
|
||||
}
|
||||
}
|
||||
|
||||
void RowsCollectionChanged(object sender, EventArgs e)
|
||||
{
|
||||
UpdatePicker();
|
||||
}
|
||||
|
||||
void UpdateFont()
|
||||
{
|
||||
EditText.Typeface = Element.ToTypeface();
|
||||
EditText.SetTextSize(ComplexUnitType.Sp, (float)Element.FontSize);
|
||||
}
|
||||
|
||||
protected void UpdateCharacterSpacing()
|
||||
{
|
||||
if (Forms.IsLollipopOrNewer)
|
||||
{
|
||||
EditText.LetterSpacing = Element.CharacterSpacing.ToEm();
|
||||
}
|
||||
}
|
||||
|
||||
void UpdatePicker()
|
||||
{
|
||||
UpdatePlaceHolderText();
|
||||
UpdateTitleColor();
|
||||
|
||||
if (Element.SelectedIndex == -1 || Element.Items == null || Element.SelectedIndex >= Element.Items.Count)
|
||||
EditText.Text = null;
|
||||
else
|
||||
EditText.Text = Element.Items[Element.SelectedIndex];
|
||||
|
||||
_pickerAccessibilityDelegate.ValueText = EditText.Text;
|
||||
}
|
||||
|
||||
abstract protected void UpdateTextColor();
|
||||
abstract protected void UpdateTitleColor();
|
||||
abstract protected void UpdatePlaceHolderText();
|
||||
abstract protected void UpdateGravity();
|
||||
}
|
||||
|
||||
public class PickerRenderer : PickerRendererBase<EditText>
|
||||
{
|
||||
TextColorSwitcher _textColorSwitcher;
|
||||
TextColorSwitcher _hintColorSwitcher;
|
||||
|
||||
public PickerRenderer(Context context) : base(context)
|
||||
{
|
||||
}
|
||||
|
||||
protected override EditText CreateNativeControl()
|
||||
{
|
||||
return new PickerEditText(Context);
|
||||
}
|
||||
|
||||
protected override EditText EditText => Control;
|
||||
|
||||
protected override void UpdateTitleColor()
|
||||
{
|
||||
_hintColorSwitcher = _hintColorSwitcher ?? new TextColorSwitcher(EditText.HintTextColors, Element.UseLegacyColorManagement());
|
||||
_hintColorSwitcher.UpdateTextColor(EditText, Element.TitleColor, EditText.SetHintTextColor);
|
||||
}
|
||||
|
||||
protected override void UpdateTextColor()
|
||||
{
|
||||
_textColorSwitcher = _textColorSwitcher ?? new TextColorSwitcher(EditText.TextColors, Element.UseLegacyColorManagement());
|
||||
_textColorSwitcher.UpdateTextColor(EditText, Element.TextColor);
|
||||
}
|
||||
protected override void UpdatePlaceHolderText()
|
||||
{
|
||||
EditText.Hint = Element.Title;
|
||||
}
|
||||
|
||||
protected override void UpdateGravity()
|
||||
{
|
||||
EditText.Gravity = Element.HorizontalTextAlignment.ToHorizontalGravityFlags() | Element.VerticalTextAlignment.ToVerticalGravityFlags();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,853 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Android.Views;
|
||||
using Android.Views.Animations;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
internal class Platform : BindableObject, IPlatformLayout, INavigation, IDisposable
|
||||
{
|
||||
readonly Context _context;
|
||||
readonly PlatformRenderer _renderer;
|
||||
bool _disposed;
|
||||
bool _navAnimationInProgress;
|
||||
NavigationModel _navModel = new NavigationModel();
|
||||
NavigationModel _previousNavModel = null;
|
||||
readonly bool _embedded;
|
||||
|
||||
internal static string PackageName { get; private set; }
|
||||
internal static string GetPackageName() => PackageName;
|
||||
|
||||
internal const string CloseContextActionsSignalName = "Xamarin.CloseContextActions";
|
||||
|
||||
internal static readonly BindableProperty RendererProperty = BindableProperty.CreateAttached("Renderer", typeof(IVisualElementRenderer), typeof(Platform), default(IVisualElementRenderer),
|
||||
propertyChanged: (bindable, oldvalue, newvalue) =>
|
||||
{
|
||||
var view = bindable as VisualElement;
|
||||
if (view != null)
|
||||
view.IsPlatformEnabled = newvalue != null;
|
||||
});
|
||||
|
||||
public Platform(Context context) : this(context, false)
|
||||
{
|
||||
}
|
||||
|
||||
public Platform(Context context, bool embedded)
|
||||
{
|
||||
_embedded = embedded;
|
||||
_context = context;
|
||||
PackageName = context?.PackageName;
|
||||
_renderer = new PlatformRenderer(context, this);
|
||||
var activity = _context.GetActivity();
|
||||
|
||||
if (embedded && activity != null)
|
||||
{
|
||||
// Set up handling of DisplayAlert/DisplayActionSheet/UpdateProgressBarVisibility
|
||||
if (_context == null)
|
||||
{
|
||||
// Can't show dialogs if it's not an activity
|
||||
return;
|
||||
}
|
||||
|
||||
PopupManager.Subscribe(_context.GetActivity());
|
||||
return;
|
||||
}
|
||||
|
||||
FormsAppCompatActivity.BackPressed += HandleBackPressed;
|
||||
}
|
||||
|
||||
internal bool NavAnimationInProgress
|
||||
{
|
||||
get { return _navAnimationInProgress; }
|
||||
set
|
||||
{
|
||||
if (_navAnimationInProgress == value)
|
||||
return;
|
||||
_navAnimationInProgress = value;
|
||||
if (value)
|
||||
MessagingCenter.Send(this, CloseContextActionsSignalName);
|
||||
}
|
||||
}
|
||||
|
||||
Page Page { get; set; }
|
||||
|
||||
IPageController CurrentPageController => _navModel.CurrentPage;
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_disposed)
|
||||
return;
|
||||
_disposed = true;
|
||||
|
||||
FormsAppCompatActivity.BackPressed -= HandleBackPressed;
|
||||
|
||||
SetPage(null);
|
||||
|
||||
var activity = _context?.GetActivity();
|
||||
if (_embedded && activity != null)
|
||||
{
|
||||
PopupManager.Unsubscribe(activity);
|
||||
}
|
||||
}
|
||||
|
||||
void INavigation.InsertPageBefore(Page page, Page before)
|
||||
{
|
||||
throw new InvalidOperationException("InsertPageBefore is not supported globally on Android, please use a NavigationPage.");
|
||||
}
|
||||
|
||||
IReadOnlyList<Page> INavigation.ModalStack => _navModel.Modals.ToList();
|
||||
|
||||
IReadOnlyList<Page> INavigation.NavigationStack => new List<Page>();
|
||||
|
||||
Task<Page> INavigation.PopAsync()
|
||||
{
|
||||
return ((INavigation)this).PopAsync(true);
|
||||
}
|
||||
|
||||
Task<Page> INavigation.PopAsync(bool animated)
|
||||
{
|
||||
throw new InvalidOperationException("PopAsync is not supported globally on Android, please use a NavigationPage.");
|
||||
}
|
||||
|
||||
Task<Page> INavigation.PopModalAsync()
|
||||
{
|
||||
return ((INavigation)this).PopModalAsync(true);
|
||||
}
|
||||
|
||||
Task<Page> INavigation.PopModalAsync(bool animated)
|
||||
{
|
||||
Page modal = _navModel.PopModal();
|
||||
((IPageController)modal).SendDisappearing();
|
||||
var source = new TaskCompletionSource<Page>();
|
||||
|
||||
IVisualElementRenderer modalRenderer = GetRenderer(modal);
|
||||
if (modalRenderer != null)
|
||||
{
|
||||
var modalContainer = modalRenderer.View.Parent as ModalContainer;
|
||||
if (animated)
|
||||
{
|
||||
modalContainer.Animate().TranslationY(_renderer.Height).SetInterpolator(new AccelerateInterpolator(1)).SetDuration(300).SetListener(new GenericAnimatorListener
|
||||
{
|
||||
OnEnd = a =>
|
||||
{
|
||||
modalContainer.RemoveFromParent();
|
||||
modalContainer.Dispose();
|
||||
source.TrySetResult(modal);
|
||||
CurrentPageController?.SendAppearing();
|
||||
modalContainer = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
modalContainer.RemoveFromParent();
|
||||
modalContainer.Dispose();
|
||||
source.TrySetResult(modal);
|
||||
CurrentPageController?.SendAppearing();
|
||||
}
|
||||
}
|
||||
|
||||
UpdateAccessibilityImportance(CurrentPageController as Page, ImportantForAccessibility.Auto, true);
|
||||
|
||||
return source.Task;
|
||||
}
|
||||
|
||||
Task INavigation.PopToRootAsync()
|
||||
{
|
||||
return ((INavigation)this).PopToRootAsync(true);
|
||||
}
|
||||
|
||||
Task INavigation.PopToRootAsync(bool animated)
|
||||
{
|
||||
throw new InvalidOperationException("PopToRootAsync is not supported globally on Android, please use a NavigationPage.");
|
||||
}
|
||||
|
||||
Task INavigation.PushAsync(Page root)
|
||||
{
|
||||
return ((INavigation)this).PushAsync(root, true);
|
||||
}
|
||||
|
||||
Task INavigation.PushAsync(Page root, bool animated)
|
||||
{
|
||||
throw new InvalidOperationException("PushAsync is not supported globally on Android, please use a NavigationPage.");
|
||||
}
|
||||
|
||||
Task INavigation.PushModalAsync(Page modal)
|
||||
{
|
||||
return ((INavigation)this).PushModalAsync(modal, true);
|
||||
}
|
||||
|
||||
async Task INavigation.PushModalAsync(Page modal, bool animated)
|
||||
{
|
||||
CurrentPageController?.SendDisappearing();
|
||||
UpdateAccessibilityImportance(CurrentPageController as Page, ImportantForAccessibility.NoHideDescendants, false);
|
||||
|
||||
_navModel.PushModal(modal);
|
||||
|
||||
Task presentModal = PresentModal(modal, animated);
|
||||
|
||||
await presentModal;
|
||||
|
||||
UpdateAccessibilityImportance(modal, ImportantForAccessibility.Auto, true);
|
||||
|
||||
// Verify that the modal is still on the stack
|
||||
if (_navModel.CurrentPage == modal)
|
||||
((IPageController)modal).SendAppearing();
|
||||
}
|
||||
|
||||
void INavigation.RemovePage(Page page)
|
||||
{
|
||||
throw new InvalidOperationException("RemovePage is not supported globally on Android, please use a NavigationPage.");
|
||||
}
|
||||
|
||||
public static SizeRequest GetNativeSize(VisualElement view, double widthConstraint, double heightConstraint)
|
||||
{
|
||||
Performance.Start(out string reference);
|
||||
|
||||
IVisualElementRenderer visualElementRenderer = GetRenderer(view);
|
||||
|
||||
if (visualElementRenderer == null || visualElementRenderer.View.IsDisposed())
|
||||
{
|
||||
return new SizeRequest(Size.Zero, Size.Zero);
|
||||
}
|
||||
|
||||
var context = visualElementRenderer.View.Context;
|
||||
|
||||
// negative numbers have special meanings to android they don't to us
|
||||
widthConstraint = widthConstraint <= -1 ? double.PositiveInfinity : context.ToPixels(widthConstraint);
|
||||
heightConstraint = heightConstraint <= -1 ? double.PositiveInfinity : context.ToPixels(heightConstraint);
|
||||
|
||||
bool widthConstrained = !double.IsPositiveInfinity(widthConstraint);
|
||||
bool heightConstrained = !double.IsPositiveInfinity(heightConstraint);
|
||||
|
||||
int widthMeasureSpec = widthConstrained
|
||||
? MeasureSpecFactory.MakeMeasureSpec((int)widthConstraint, MeasureSpecMode.AtMost)
|
||||
: MeasureSpecFactory.MakeMeasureSpec(0, MeasureSpecMode.Unspecified);
|
||||
|
||||
int heightMeasureSpec = heightConstrained
|
||||
? MeasureSpecFactory.MakeMeasureSpec((int)heightConstraint, MeasureSpecMode.AtMost)
|
||||
: MeasureSpecFactory.MakeMeasureSpec(0, MeasureSpecMode.Unspecified);
|
||||
|
||||
SizeRequest rawResult = visualElementRenderer.GetDesiredSize(widthMeasureSpec, heightMeasureSpec);
|
||||
if (rawResult.Minimum == Size.Zero)
|
||||
rawResult.Minimum = rawResult.Request;
|
||||
var result = new SizeRequest(new Size(context.FromPixels(rawResult.Request.Width), context.FromPixels(rawResult.Request.Height)),
|
||||
new Size(context.FromPixels(rawResult.Minimum.Width), context.FromPixels(rawResult.Minimum.Height)));
|
||||
|
||||
if ((widthConstrained && result.Request.Width < widthConstraint)
|
||||
|| (heightConstrained && result.Request.Height < heightConstraint))
|
||||
{
|
||||
// Do a final exact measurement in case the native control needs to fill the container
|
||||
(visualElementRenderer as IViewRenderer)?.MeasureExactly();
|
||||
}
|
||||
|
||||
Performance.Stop(reference);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static void ClearRenderer(AView renderedView)
|
||||
{
|
||||
var element = (renderedView as IVisualElementRenderer)?.Element;
|
||||
var view = element as View;
|
||||
if (view != null)
|
||||
{
|
||||
var renderer = GetRenderer(view);
|
||||
if (renderer == renderedView)
|
||||
element.ClearValue(RendererProperty);
|
||||
renderer?.Dispose();
|
||||
renderer = null;
|
||||
}
|
||||
var layout = view as IVisualElementRenderer;
|
||||
layout?.Dispose();
|
||||
layout = null;
|
||||
}
|
||||
|
||||
internal static IVisualElementRenderer CreateRenderer(VisualElement element, Context context)
|
||||
{
|
||||
IVisualElementRenderer renderer = null;
|
||||
|
||||
// temporary hack to fix the following issues
|
||||
// https://github.com/xamarin/Microsoft.Maui.Controls.Compatibility/issues/13261
|
||||
// https://github.com/xamarin/Microsoft.Maui.Controls.Compatibility/issues/12484
|
||||
if (element is RadioButton tv && tv.ResolveControlTemplate() != null)
|
||||
{
|
||||
renderer = new DefaultRenderer(context);
|
||||
}
|
||||
|
||||
// This code is duplicated across all platforms currently
|
||||
// So if any changes are made here please make sure to apply them to other platform.cs files
|
||||
if (renderer == null)
|
||||
{
|
||||
IViewHandler handler = null;
|
||||
|
||||
//TODO: Handle this with AppBuilderHost
|
||||
//try
|
||||
//{
|
||||
// handler = Xamarin.Platform.Registrar.Handlers.GetHandler(element.GetType());
|
||||
//}
|
||||
//catch
|
||||
//{
|
||||
// // TODO define better catch response or define if this is needed?
|
||||
//}
|
||||
|
||||
if (handler == null)
|
||||
{
|
||||
renderer = Registrar.Registered.GetHandlerForObject<IVisualElementRenderer>(element, context)
|
||||
?? new DefaultRenderer(context);
|
||||
}
|
||||
// This means the only thing registered is the RendererToHandlerShim
|
||||
// Which is only used when you are running a .NET MAUI app
|
||||
// This indicates that the user hasn't registered a specific handler for this given type
|
||||
else if (handler is RendererToHandlerShim shim)
|
||||
{
|
||||
renderer = shim.VisualElementRenderer;
|
||||
|
||||
if (renderer == null)
|
||||
{
|
||||
renderer = Registrar.Registered.GetHandlerForObject<IVisualElementRenderer>(element, context)
|
||||
?? new DefaultRenderer(context);
|
||||
}
|
||||
}
|
||||
else if (handler is IVisualElementRenderer ver)
|
||||
renderer = ver;
|
||||
else if (handler is IAndroidViewHandler vh)
|
||||
{
|
||||
vh.SetContext(context);
|
||||
renderer = new HandlerToRendererShim(vh);
|
||||
}
|
||||
}
|
||||
|
||||
renderer.SetElement(element);
|
||||
return renderer;
|
||||
}
|
||||
|
||||
internal static IVisualElementRenderer CreateRenderer(VisualElement element, AndroidX.Fragment.App.FragmentManager fragmentManager, Context context)
|
||||
{
|
||||
IVisualElementRenderer renderer = Registrar.Registered.GetHandlerForObject<IVisualElementRenderer>(element, context) ?? new DefaultRenderer(context);
|
||||
|
||||
var managesFragments = renderer as IManageFragments;
|
||||
managesFragments?.SetFragmentManager(fragmentManager);
|
||||
|
||||
renderer.SetElement(element);
|
||||
|
||||
return renderer;
|
||||
}
|
||||
|
||||
public static IVisualElementRenderer CreateRendererWithContext(VisualElement element, Context context)
|
||||
{
|
||||
// This is an interim method to allow public access to CreateRenderer(element, context), which we
|
||||
// can't make public yet because it will break the previewer
|
||||
return CreateRenderer(element, context);
|
||||
}
|
||||
|
||||
public static IVisualElementRenderer GetRenderer(VisualElement bindable)
|
||||
{
|
||||
return (IVisualElementRenderer)bindable?.GetValue(RendererProperty);
|
||||
}
|
||||
|
||||
public static void SetRenderer(VisualElement bindable, IVisualElementRenderer value)
|
||||
{
|
||||
bindable.SetValue(RendererProperty, value);
|
||||
}
|
||||
|
||||
internal ViewGroup GetViewGroup()
|
||||
{
|
||||
return _renderer;
|
||||
}
|
||||
|
||||
void IPlatformLayout.OnLayout(bool changed, int l, int t, int r, int b)
|
||||
{
|
||||
if (Page == null)
|
||||
return;
|
||||
|
||||
if (changed)
|
||||
{
|
||||
LayoutRootPage(Page, r - l, b - t);
|
||||
}
|
||||
|
||||
GetRenderer(Page)?.UpdateLayout();
|
||||
|
||||
for (var i = 0; i < _renderer.ChildCount; i++)
|
||||
{
|
||||
AView child = _renderer.GetChildAt(i);
|
||||
if (child is ModalContainer)
|
||||
{
|
||||
child.Measure(MeasureSpecFactory.MakeMeasureSpec(r - l, MeasureSpecMode.Exactly), MeasureSpecFactory.MakeMeasureSpec(t - b, MeasureSpecMode.Exactly));
|
||||
child.Layout(l, t, r, b);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnBindingContextChanged()
|
||||
{
|
||||
SetInheritedBindingContext(Page, BindingContext);
|
||||
|
||||
base.OnBindingContextChanged();
|
||||
}
|
||||
|
||||
internal void SettingNewPage()
|
||||
{
|
||||
if (Page != null)
|
||||
{
|
||||
_previousNavModel = _navModel;
|
||||
_navModel = new NavigationModel();
|
||||
}
|
||||
}
|
||||
|
||||
internal void SetPage(Page newRoot)
|
||||
{
|
||||
if (Page == newRoot)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (Page != null)
|
||||
{
|
||||
var navModel = (_previousNavModel ?? _navModel);
|
||||
foreach (var rootPage in navModel.Roots)
|
||||
{
|
||||
if (GetRenderer(rootPage) is ILifeCycleState nr)
|
||||
nr.MarkedForDispose = true;
|
||||
}
|
||||
|
||||
var viewsToRemove = new List<AView>();
|
||||
var renderersToDispose = new List<IVisualElementRenderer>();
|
||||
|
||||
for (int i = 0; i < _renderer.ChildCount; i++)
|
||||
viewsToRemove.Add(_renderer.GetChildAt(i));
|
||||
|
||||
foreach (var root in navModel.Roots)
|
||||
renderersToDispose.Add(GetRenderer(root));
|
||||
|
||||
SetPageInternal(newRoot);
|
||||
|
||||
Cleanup(viewsToRemove, renderersToDispose);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetPageInternal(newRoot);
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAccessibilityImportance(Page page, ImportantForAccessibility importantForAccessibility, bool forceFocus)
|
||||
{
|
||||
|
||||
var pageRenderer = GetRenderer(page);
|
||||
if (pageRenderer?.View == null)
|
||||
return;
|
||||
pageRenderer.View.ImportantForAccessibility = importantForAccessibility;
|
||||
if (forceFocus)
|
||||
pageRenderer.View.SendAccessibilityEvent(global::Android.Views.Accessibility.EventTypes.ViewFocused);
|
||||
|
||||
}
|
||||
|
||||
void SetPageInternal(Page newRoot)
|
||||
{
|
||||
var layout = false;
|
||||
|
||||
if (Page != null)
|
||||
{
|
||||
// if _previousNavModel has been set than _navModel has already been reinitialized
|
||||
if (_previousNavModel != null)
|
||||
{
|
||||
_previousNavModel = null;
|
||||
if (_navModel == null)
|
||||
_navModel = new NavigationModel();
|
||||
}
|
||||
else
|
||||
_navModel = new NavigationModel();
|
||||
|
||||
layout = true;
|
||||
}
|
||||
|
||||
if (newRoot == null)
|
||||
{
|
||||
Page = null;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
_navModel.Push(newRoot, null);
|
||||
|
||||
Page = newRoot;
|
||||
|
||||
AddChild(Page, layout);
|
||||
|
||||
Application.Current.NavigationProxy.Inner = this;
|
||||
}
|
||||
|
||||
void Cleanup(List<AView> viewsToRemove, List<IVisualElementRenderer> renderersToDispose)
|
||||
{
|
||||
// If trigger by dispose, cleanup now, otherwise queue it for later
|
||||
if (_disposed)
|
||||
{
|
||||
DoCleanup();
|
||||
}
|
||||
else
|
||||
{
|
||||
new Handler(Looper.MainLooper).Post(DoCleanup);
|
||||
}
|
||||
|
||||
void DoCleanup()
|
||||
{
|
||||
for (int i = 0; i < viewsToRemove.Count; i++)
|
||||
{
|
||||
AView view = viewsToRemove[i];
|
||||
_renderer?.RemoveView(view);
|
||||
}
|
||||
|
||||
for (int i = 0; i < renderersToDispose.Count; i++)
|
||||
{
|
||||
IVisualElementRenderer rootRenderer = renderersToDispose[i];
|
||||
rootRenderer?.Element.ClearValue(RendererProperty);
|
||||
rootRenderer?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AddChild(Page page, bool layout = false)
|
||||
{
|
||||
if (page == null)
|
||||
return;
|
||||
|
||||
if (GetRenderer(page) != null)
|
||||
return;
|
||||
|
||||
IVisualElementRenderer renderView = CreateRenderer(page, _context);
|
||||
SetRenderer(page, renderView);
|
||||
|
||||
if (layout)
|
||||
LayoutRootPage(page, _renderer.Width, _renderer.Height);
|
||||
|
||||
_renderer.AddView(renderView.View);
|
||||
}
|
||||
|
||||
bool HandleBackPressed(object sender, EventArgs e)
|
||||
{
|
||||
if (NavAnimationInProgress)
|
||||
return true;
|
||||
|
||||
Page root = _navModel.Roots.LastOrDefault();
|
||||
bool handled = root?.SendBackButtonPressed() ?? false;
|
||||
|
||||
return handled;
|
||||
}
|
||||
|
||||
void LayoutRootPage(Page page, int width, int height)
|
||||
{
|
||||
page.Layout(new Rectangle(0, 0, _context.FromPixels(width), _context.FromPixels(height)));
|
||||
}
|
||||
|
||||
Task PresentModal(Page modal, bool animated)
|
||||
{
|
||||
var modalContainer = new ModalContainer(_context, modal);
|
||||
|
||||
_renderer.AddView(modalContainer);
|
||||
|
||||
var source = new TaskCompletionSource<bool>();
|
||||
NavAnimationInProgress = true;
|
||||
if (animated)
|
||||
{
|
||||
modalContainer.TranslationY = _renderer.Height;
|
||||
modalContainer.Animate().TranslationY(0).SetInterpolator(new DecelerateInterpolator(1)).SetDuration(300).SetListener(new GenericAnimatorListener
|
||||
{
|
||||
OnEnd = a =>
|
||||
{
|
||||
source.TrySetResult(false);
|
||||
modalContainer = null;
|
||||
},
|
||||
OnCancel = a =>
|
||||
{
|
||||
source.TrySetResult(true);
|
||||
modalContainer = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
source.TrySetResult(true);
|
||||
}
|
||||
|
||||
return source.Task.ContinueWith(task => NavAnimationInProgress = false);
|
||||
}
|
||||
|
||||
sealed class ModalContainer : ViewGroup
|
||||
{
|
||||
AView _backgroundView;
|
||||
bool _disposed;
|
||||
Page _modal;
|
||||
IVisualElementRenderer _renderer;
|
||||
|
||||
public ModalContainer(Context context, Page modal) : base(context)
|
||||
{
|
||||
_modal = modal;
|
||||
|
||||
_backgroundView = new AView(context);
|
||||
UpdateBackgroundColor();
|
||||
AddView(_backgroundView);
|
||||
|
||||
_renderer = CreateRenderer(modal, context);
|
||||
SetRenderer(modal, _renderer);
|
||||
|
||||
AddView(_renderer.View);
|
||||
|
||||
Id = Platform.GenerateViewId();
|
||||
|
||||
_modal.PropertyChanged += OnModalPagePropertyChanged;
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (_disposed)
|
||||
return;
|
||||
|
||||
if (disposing)
|
||||
{
|
||||
RemoveAllViews();
|
||||
if (_renderer != null)
|
||||
{
|
||||
_renderer.Dispose();
|
||||
_renderer = null;
|
||||
_modal.ClearValue(RendererProperty);
|
||||
_modal.PropertyChanged -= OnModalPagePropertyChanged;
|
||||
_modal = null;
|
||||
}
|
||||
|
||||
if (_backgroundView != null)
|
||||
{
|
||||
_backgroundView.Dispose();
|
||||
_backgroundView = null;
|
||||
}
|
||||
}
|
||||
|
||||
_disposed = true;
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
protected override void OnLayout(bool changed, int l, int t, int r, int b)
|
||||
{
|
||||
if (changed)
|
||||
{
|
||||
_modal.Layout(new Rectangle(0, 0, Context.FromPixels(r - l), Context.FromPixels(b - t)));
|
||||
_backgroundView.Layout(0, 0, r - l, b - t);
|
||||
}
|
||||
|
||||
_renderer.UpdateLayout();
|
||||
}
|
||||
|
||||
void OnModalPagePropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == Page.BackgroundColorProperty.PropertyName)
|
||||
UpdateBackgroundColor();
|
||||
}
|
||||
|
||||
void UpdateBackgroundColor()
|
||||
{
|
||||
Color modalBkgndColor = _modal.BackgroundColor;
|
||||
if (modalBkgndColor.IsDefault)
|
||||
_backgroundView.SetWindowBackground();
|
||||
else
|
||||
_backgroundView.SetBackgroundColor(modalBkgndColor.ToAndroid());
|
||||
}
|
||||
}
|
||||
|
||||
internal static int GenerateViewId()
|
||||
{
|
||||
// getting unique Id's is an art, and I consider myself the Jackson Pollock of the field
|
||||
if ((int)Forms.SdkInt >= 17)
|
||||
return global::Android.Views.View.GenerateViewId();
|
||||
|
||||
// Numbers higher than this range reserved for xml
|
||||
// If we roll over, it can be exceptionally problematic for the user if they are still retaining things, android's internal implementation is
|
||||
// basically identical to this except they do a lot of locking we don't have to because we know we only do this
|
||||
// from the UI thread
|
||||
if (s_id >= 0x00ffffff)
|
||||
s_id = 0x00000400;
|
||||
|
||||
return s_id++;
|
||||
}
|
||||
|
||||
static int s_id = 0x00000400;
|
||||
|
||||
#region Statics
|
||||
|
||||
public static implicit operator ViewGroup(Platform canvas)
|
||||
{
|
||||
return canvas._renderer;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Previewer Stuff
|
||||
|
||||
internal static readonly BindableProperty PageContextProperty =
|
||||
BindableProperty.CreateAttached("PageContext", typeof(Context), typeof(Platform), null);
|
||||
|
||||
internal static void SetPageContext(BindableObject bindable, Context context)
|
||||
{
|
||||
// Set a context for this page and its child controls
|
||||
bindable.SetValue(PageContextProperty, context);
|
||||
}
|
||||
|
||||
static Context GetPreviewerContext(Element element)
|
||||
{
|
||||
// Walk up the tree and find the Page this element is hosted in
|
||||
Element parent = element;
|
||||
while (!Application.IsApplicationOrNull(parent.RealParent))
|
||||
{
|
||||
parent = parent.RealParent;
|
||||
}
|
||||
|
||||
// If a page is found, return the PageContext set by the previewer for that page (if any)
|
||||
return (parent as Page)?.GetValue(PageContextProperty) as Context;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
internal class DefaultRenderer : VisualElementRenderer<View>, ILayoutChanges
|
||||
{
|
||||
public bool NotReallyHandled { get; private set; }
|
||||
|
||||
IOnTouchListener _touchListener;
|
||||
bool _disposed;
|
||||
bool _hasLayoutOccurred;
|
||||
|
||||
readonly MotionEventHelper _motionEventHelper = new MotionEventHelper();
|
||||
|
||||
public DefaultRenderer(Context context) : base(context)
|
||||
{
|
||||
ChildrenDrawingOrderEnabled = true;
|
||||
}
|
||||
|
||||
internal void NotifyFakeHandling()
|
||||
{
|
||||
NotReallyHandled = true;
|
||||
}
|
||||
|
||||
public override bool OnTouchEvent(MotionEvent e)
|
||||
{
|
||||
if (base.OnTouchEvent(e))
|
||||
return true;
|
||||
|
||||
return _motionEventHelper.HandleMotionEvent(Parent, e);
|
||||
}
|
||||
|
||||
protected override void OnElementChanged(ElementChangedEventArgs<View> e)
|
||||
{
|
||||
base.OnElementChanged(e);
|
||||
|
||||
_motionEventHelper.UpdateElement(e.NewElement);
|
||||
}
|
||||
|
||||
public override bool DispatchTouchEvent(MotionEvent e)
|
||||
{
|
||||
#region Excessive explanation
|
||||
// Normally dispatchTouchEvent feeds the touch events to its children one at a time, top child first,
|
||||
// (and only to the children in the hit-test area of the event) stopping as soon as one of them has handled
|
||||
// the event.
|
||||
|
||||
// But to be consistent across the platforms, we don't want this behavior; if an element is not input transparent
|
||||
// we don't want an event to "pass through it" and be handled by an element "behind/under" it. We just want the processing
|
||||
// to end after the first non-transparent child, regardless of whether the event has been handled.
|
||||
|
||||
// This is only an issue for a couple of controls; the interactive controls (switch, button, slider, etc) already "handle" their touches
|
||||
// and the events don't propagate to other child controls. But for image, label, and box that doesn't happen. We can't have those controls
|
||||
// lie about their events being handled because then the events won't propagate to *parent* controls (e.g., a frame with a label in it would
|
||||
// never get a tap gesture from the label). In other words, we *want* parent propagation, but *do not want* sibling propagation. So we need to short-circuit
|
||||
// base.DispatchTouchEvent here, but still return "false".
|
||||
|
||||
// Duplicating the logic of ViewGroup.dispatchTouchEvent and modifying it slightly for our purposes is a non-starter; the method is too
|
||||
// complex and does a lot of micro-optimization. Instead, we provide a signalling mechanism for the controls which don't already "handle" touch
|
||||
// events to tell us that they will be lying about handling their event; they then return "true" to short-circuit base.DispatchTouchEvent.
|
||||
|
||||
// The container gets this message and after it gets the "handled" result from dispatchTouchEvent,
|
||||
// it then knows to ignore that result and return false/unhandled. This allows the event to propagate up the tree.
|
||||
#endregion
|
||||
|
||||
NotReallyHandled = false;
|
||||
|
||||
var result = base.DispatchTouchEvent(e);
|
||||
|
||||
if (result && NotReallyHandled)
|
||||
{
|
||||
// If the child control returned true from its touch event handler but signalled that it was a fake "true", then we
|
||||
// don't consider the event truly "handled" yet.
|
||||
// Since a child control short-circuited the normal dispatchTouchEvent stuff, this layout never got the chance for
|
||||
// IOnTouchListener.OnTouch and the OnTouchEvent override to try handling the touches; we'll do that now
|
||||
// Any associated Touch Listeners are called from DispatchTouchEvents if all children of this view return false
|
||||
// So here we are simulating both calls that would have typically been called from inside DispatchTouchEvent
|
||||
// but were not called due to the fake "true"
|
||||
result = _touchListener?.OnTouch(this, e) ?? false;
|
||||
return result || OnTouchEvent(e);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public override void SetOnTouchListener(IOnTouchListener l)
|
||||
{
|
||||
_touchListener = l;
|
||||
base.SetOnTouchListener(l);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (_disposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_disposed = true;
|
||||
|
||||
if (disposing)
|
||||
SetOnTouchListener(null);
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
bool ILayoutChanges.HasLayoutOccurred => _hasLayoutOccurred;
|
||||
|
||||
protected override void OnLayout(bool changed, int left, int top, int right, int bottom)
|
||||
{
|
||||
base.OnLayout(changed, left, top, right, bottom);
|
||||
_hasLayoutOccurred = true;
|
||||
}
|
||||
}
|
||||
|
||||
internal static string ResolveMsAppDataUri(Uri uri)
|
||||
{
|
||||
if (uri.Scheme == "ms-appdata")
|
||||
{
|
||||
string filePath = string.Empty;
|
||||
|
||||
if (uri.LocalPath.StartsWith("/local"))
|
||||
{
|
||||
filePath = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments), uri.LocalPath.Substring(7));
|
||||
}
|
||||
else if (uri.LocalPath.StartsWith("/temp"))
|
||||
{
|
||||
filePath = System.IO.Path.Combine(System.IO.Path.GetTempPath(), uri.LocalPath.Substring(6));
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new ArgumentException("Invalid Uri", "Source");
|
||||
}
|
||||
|
||||
return filePath;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new ArgumentException("uri");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,339 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using Android.Content;
|
||||
using Android.Graphics;
|
||||
using Android.Util;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using AndroidX.AppCompat.Widget;
|
||||
using AndroidX.Core.View;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using Microsoft.Maui.Controls.Compatibility.Platform.Android.FastRenderers;
|
||||
using AColor = Android.Graphics.Color;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class RadioButtonRenderer : AppCompatRadioButton,
|
||||
IBorderVisualElementRenderer, IVisualElementRenderer, IViewRenderer, ITabStop,
|
||||
AView.IOnFocusChangeListener,
|
||||
CompoundButton.IOnCheckedChangeListener
|
||||
{
|
||||
float _defaultFontSize;
|
||||
int? _defaultLabelFor;
|
||||
Typeface _defaultTypeface;
|
||||
bool _isDisposed;
|
||||
bool _inputTransparent;
|
||||
Lazy<TextColorSwitcher> _textColorSwitcher;
|
||||
AutomationPropertiesProvider _automationPropertiesProvider;
|
||||
VisualElementTracker _tracker;
|
||||
VisualElementRenderer _visualElementRenderer;
|
||||
BorderBackgroundManager _backgroundTracker;
|
||||
IPlatformElementConfiguration<PlatformConfiguration.Android, RadioButton> _platformElementConfiguration;
|
||||
|
||||
public event EventHandler<VisualElementChangedEventArgs> ElementChanged;
|
||||
public event EventHandler<PropertyChangedEventArgs> ElementPropertyChanged;
|
||||
|
||||
public RadioButtonRenderer(Context context) : base(context)
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
protected RadioButton Element { get; set; }
|
||||
protected AppCompatRadioButton Control => this;
|
||||
|
||||
VisualElement IBorderVisualElementRenderer.Element => Element;
|
||||
|
||||
VisualElement IVisualElementRenderer.Element => Element;
|
||||
AView IVisualElementRenderer.View => this;
|
||||
ViewGroup IVisualElementRenderer.ViewGroup => null;
|
||||
VisualElementTracker IVisualElementRenderer.Tracker => _tracker;
|
||||
|
||||
AView ITabStop.TabStop => this;
|
||||
|
||||
void IOnFocusChangeListener.OnFocusChange(AView v, bool hasFocus)
|
||||
{
|
||||
((IElementController)Element).SetValueFromRenderer(VisualElement.IsFocusedPropertyKey, hasFocus);
|
||||
}
|
||||
|
||||
SizeRequest IVisualElementRenderer.GetDesiredSize(int widthConstraint, int heightConstraint)
|
||||
{
|
||||
Measure(widthConstraint, heightConstraint);
|
||||
return new SizeRequest(new Size(MeasuredWidth, MeasuredHeight));
|
||||
}
|
||||
|
||||
void IVisualElementRenderer.SetElement(VisualElement element)
|
||||
{
|
||||
if (element == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(element));
|
||||
}
|
||||
|
||||
if (!(element is RadioButton))
|
||||
{
|
||||
throw new ArgumentException($"{nameof(element)} must be of type {nameof(RadioButton)}");
|
||||
}
|
||||
|
||||
RadioButton oldElement = Element;
|
||||
Element = (RadioButton)element;
|
||||
|
||||
Performance.Start(out string reference);
|
||||
|
||||
if (oldElement != null)
|
||||
{
|
||||
oldElement.PropertyChanged -= OnElementPropertyChanged;
|
||||
}
|
||||
|
||||
element.PropertyChanged += OnElementPropertyChanged;
|
||||
|
||||
if (_tracker == null)
|
||||
{
|
||||
// Can't set up the tracker in the constructor because it access the Element (for now)
|
||||
SetTracker(new VisualElementTracker(this));
|
||||
}
|
||||
if (_visualElementRenderer == null)
|
||||
{
|
||||
_visualElementRenderer = new VisualElementRenderer(this);
|
||||
}
|
||||
|
||||
OnElementChanged(new ElementChangedEventArgs<RadioButton>(oldElement, Element));
|
||||
|
||||
SendVisualElementInitialized(element, this);
|
||||
|
||||
Performance.Stop(reference);
|
||||
}
|
||||
|
||||
void IVisualElementRenderer.SetLabelFor(int? id)
|
||||
{
|
||||
if (_defaultLabelFor == null)
|
||||
{
|
||||
_defaultLabelFor = ViewCompat.GetLabelFor(this);
|
||||
}
|
||||
|
||||
ViewCompat.SetLabelFor(this, (int)(id ?? _defaultLabelFor));
|
||||
}
|
||||
|
||||
void IVisualElementRenderer.UpdateLayout() => _tracker?.UpdateLayout();
|
||||
|
||||
void IViewRenderer.MeasureExactly()
|
||||
{
|
||||
ViewRenderer.MeasureExactly(this, Element, Context);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (_isDisposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_isDisposed = true;
|
||||
|
||||
if (disposing)
|
||||
{
|
||||
SetOnClickListener(null);
|
||||
SetOnTouchListener(null);
|
||||
OnFocusChangeListener = null;
|
||||
SetOnCheckedChangeListener(null);
|
||||
|
||||
if (Element != null)
|
||||
{
|
||||
Element.PropertyChanged -= OnElementPropertyChanged;
|
||||
}
|
||||
|
||||
_automationPropertiesProvider?.Dispose();
|
||||
_tracker?.Dispose();
|
||||
_visualElementRenderer?.Dispose();
|
||||
_backgroundTracker?.Dispose();
|
||||
_backgroundTracker = null;
|
||||
|
||||
if (Element != null)
|
||||
{
|
||||
if (AppCompat.Platform.GetRenderer(Element) == this)
|
||||
Element.ClearValue(AppCompat.Platform.RendererProperty);
|
||||
}
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
public override bool OnTouchEvent(MotionEvent e)
|
||||
{
|
||||
if (!Enabled || (_inputTransparent && Enabled))
|
||||
return false;
|
||||
|
||||
return base.OnTouchEvent(e);
|
||||
}
|
||||
|
||||
protected virtual void OnElementChanged(ElementChangedEventArgs<RadioButton> e)
|
||||
{
|
||||
if (e.NewElement != null && !_isDisposed)
|
||||
{
|
||||
this.EnsureId();
|
||||
|
||||
_textColorSwitcher = new Lazy<TextColorSwitcher>(
|
||||
() => new TextColorSwitcher(TextColors, e.NewElement.UseLegacyColorManagement()));
|
||||
|
||||
UpdateFont();
|
||||
UpdateTextColor();
|
||||
UpdateInputTransparent();
|
||||
UpdateBackgroundColor();
|
||||
UpdateIsChecked();
|
||||
UpdateContent();
|
||||
ElevationHelper.SetElevation(this, e.NewElement);
|
||||
}
|
||||
|
||||
ElementChanged?.Invoke(this, new VisualElementChangedEventArgs(e.OldElement, e.NewElement));
|
||||
}
|
||||
|
||||
protected virtual void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == RadioButton.TextColorProperty.PropertyName)
|
||||
{
|
||||
UpdateTextColor();
|
||||
}
|
||||
else if (e.IsOneOf(RadioButton.FontAttributesProperty, RadioButton.FontFamilyProperty, RadioButton.FontSizeProperty))
|
||||
{
|
||||
UpdateFont();
|
||||
}
|
||||
else if (e.PropertyName == VisualElement.InputTransparentProperty.PropertyName)
|
||||
{
|
||||
UpdateInputTransparent();
|
||||
}
|
||||
else if (e.PropertyName == RadioButton.IsCheckedProperty.PropertyName)
|
||||
{
|
||||
UpdateIsChecked();
|
||||
}
|
||||
else if (e.PropertyName == RadioButton.ContentProperty.PropertyName)
|
||||
{
|
||||
UpdateContent();
|
||||
}
|
||||
|
||||
ElementPropertyChanged?.Invoke(this, e);
|
||||
}
|
||||
|
||||
void SetTracker(VisualElementTracker tracker)
|
||||
{
|
||||
_tracker = tracker;
|
||||
}
|
||||
|
||||
void UpdateBackgroundColor()
|
||||
{
|
||||
_backgroundTracker?.UpdateDrawable();
|
||||
}
|
||||
|
||||
internal void OnNativeFocusChanged(bool hasFocus)
|
||||
{
|
||||
}
|
||||
|
||||
internal void SendVisualElementInitialized(VisualElement element, AView nativeView)
|
||||
{
|
||||
element.SendViewInitialized(nativeView);
|
||||
}
|
||||
|
||||
void Initialize()
|
||||
{
|
||||
_automationPropertiesProvider = new AutomationPropertiesProvider(this);
|
||||
_backgroundTracker = new BorderBackgroundManager(this);
|
||||
|
||||
SoundEffectsEnabled = false;
|
||||
OnFocusChangeListener = this;
|
||||
SetOnCheckedChangeListener(this);
|
||||
|
||||
Tag = this;
|
||||
}
|
||||
|
||||
void UpdateFont()
|
||||
{
|
||||
if (Element == null || _isDisposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Font font = Font.OfSize(Element.FontFamily, Element.FontSize).WithAttributes(Element.FontAttributes);
|
||||
|
||||
if (font == Font.Default && _defaultFontSize == 0f)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (_defaultFontSize == 0f)
|
||||
{
|
||||
_defaultTypeface = Typeface;
|
||||
_defaultFontSize = TextSize;
|
||||
}
|
||||
|
||||
if (font == Font.Default)
|
||||
{
|
||||
Typeface = _defaultTypeface;
|
||||
SetTextSize(ComplexUnitType.Px, _defaultFontSize);
|
||||
}
|
||||
else
|
||||
{
|
||||
Typeface = font.ToTypeface();
|
||||
SetTextSize(ComplexUnitType.Sp, font.ToScaledPixel());
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateInputTransparent()
|
||||
{
|
||||
if (Element == null || _isDisposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_inputTransparent = Element.InputTransparent;
|
||||
}
|
||||
|
||||
void UpdateTextColor()
|
||||
{
|
||||
if (Element == null || _isDisposed || _textColorSwitcher == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_textColorSwitcher.Value.UpdateTextColor(this, Element.TextColor);
|
||||
}
|
||||
|
||||
void UpdateIsChecked()
|
||||
{
|
||||
if (Element == null || Control == null)
|
||||
return;
|
||||
|
||||
Checked = ((RadioButton)Element).IsChecked;
|
||||
}
|
||||
|
||||
void UpdateContent()
|
||||
{
|
||||
if (Element == null || Control == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Control.Text = Element.ContentAsString();
|
||||
}
|
||||
|
||||
void IOnCheckedChangeListener.OnCheckedChanged(CompoundButton buttonView, bool isChecked)
|
||||
{
|
||||
((IElementController)Element).SetValueFromRenderer(RadioButton.IsCheckedProperty, isChecked);
|
||||
}
|
||||
|
||||
float IBorderVisualElementRenderer.ShadowRadius => ShadowRadius;
|
||||
float IBorderVisualElementRenderer.ShadowDx => ShadowDx;
|
||||
float IBorderVisualElementRenderer.ShadowDy => ShadowDy;
|
||||
AColor IBorderVisualElementRenderer.ShadowColor => ShadowColor;
|
||||
bool IBorderVisualElementRenderer.IsShadowEnabled() => true;
|
||||
AView IBorderVisualElementRenderer.View => this;
|
||||
|
||||
IPlatformElementConfiguration<PlatformConfiguration.Android, RadioButton> OnThisPlatform()
|
||||
{
|
||||
if (_platformElementConfiguration == null)
|
||||
_platformElementConfiguration = Element.OnThisPlatform();
|
||||
|
||||
return _platformElementConfiguration;
|
||||
}
|
||||
|
||||
bool IBorderVisualElementRenderer.UseDefaultPadding() => true;
|
||||
bool IBorderVisualElementRenderer.UseDefaultShadow() => true;
|
||||
}
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
using Android.Runtime;
|
||||
|
||||
[assembly: ResourceDesigner("Xamarin.Forms.Platform.Android.Resource", IsApplication = false)]
|
||||
[assembly: ResourceDesigner("Microsoft.Maui.Controls.Compatibility.Platform.Android.Resource", IsApplication = false)]
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class Resource
|
||||
{
|
|
@ -6,7 +6,7 @@ using Android.Views;
|
|||
using AView = Android.Views.View;
|
||||
using LP = Android.Views.ViewGroup.LayoutParams;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android.AppCompat
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
internal class ShellFragmentContainer : FragmentContainer
|
||||
{
|
|
@ -0,0 +1,168 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using Android.Content;
|
||||
using Android.Graphics.Drawables;
|
||||
using Android.Widget;
|
||||
using AndroidX.AppCompat.Widget;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
public class SwitchRenderer : ViewRenderer<Switch, SwitchCompat>, CompoundButton.IOnCheckedChangeListener
|
||||
{
|
||||
bool _disposed;
|
||||
Drawable _defaultTrackDrawable;
|
||||
bool _changedThumbColor;
|
||||
|
||||
public SwitchRenderer(Context context) : base(context)
|
||||
{
|
||||
AutoPackage = false;
|
||||
}
|
||||
|
||||
protected override void SetContentDescription() =>
|
||||
base.SetContentDescription(false);
|
||||
|
||||
[PortHandler]
|
||||
void CompoundButton.IOnCheckedChangeListener.OnCheckedChanged(CompoundButton buttonView, bool isChecked)
|
||||
{
|
||||
((IViewController)Element).SetValueFromRenderer(Switch.IsToggledProperty, isChecked);
|
||||
UpdateOnColor();
|
||||
}
|
||||
|
||||
[PortHandler]
|
||||
public override SizeRequest GetDesiredSize(int widthConstraint, int heightConstraint)
|
||||
{
|
||||
SizeRequest sizeConstraint = base.GetDesiredSize(widthConstraint, heightConstraint);
|
||||
|
||||
if (sizeConstraint.Request.Width == 0)
|
||||
{
|
||||
int width = widthConstraint;
|
||||
if (widthConstraint <= 0)
|
||||
width = (int)Context.GetThemeAttributeDp(global::Android.Resource.Attribute.SwitchMinWidth);
|
||||
|
||||
sizeConstraint = new SizeRequest(new Size(width, sizeConstraint.Request.Height), new Size(width, sizeConstraint.Minimum.Height));
|
||||
}
|
||||
|
||||
return sizeConstraint;
|
||||
}
|
||||
|
||||
[PortHandler]
|
||||
protected override SwitchCompat CreateNativeControl()
|
||||
{
|
||||
return new SwitchCompat(Context);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && !_disposed)
|
||||
{
|
||||
_disposed = true;
|
||||
|
||||
if (Element != null)
|
||||
Element.Toggled -= HandleToggled;
|
||||
|
||||
Control?.SetOnCheckedChangeListener(null);
|
||||
|
||||
_defaultTrackDrawable?.Dispose();
|
||||
_defaultTrackDrawable = null;
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
protected override void OnElementChanged(ElementChangedEventArgs<Switch> e)
|
||||
{
|
||||
base.OnElementChanged(e);
|
||||
|
||||
if (e.OldElement != null)
|
||||
e.OldElement.Toggled -= HandleToggled;
|
||||
|
||||
if (e.NewElement != null)
|
||||
{
|
||||
if (Control == null)
|
||||
{
|
||||
SwitchCompat aswitch = CreateNativeControl();
|
||||
aswitch.SetOnCheckedChangeListener(this);
|
||||
SetNativeControl(aswitch);
|
||||
_defaultTrackDrawable = aswitch.TrackDrawable;
|
||||
}
|
||||
else
|
||||
UpdateEnabled(); // Normally set by SetNativeControl, but not when the Control is reused.
|
||||
|
||||
e.NewElement.Toggled += HandleToggled;
|
||||
Control.Checked = e.NewElement.IsToggled;
|
||||
UpdateOnColor();
|
||||
UpdateThumbColor();
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (this.IsDisposed())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
base.OnElementPropertyChanged(sender, e);
|
||||
|
||||
if (e.PropertyName == Switch.OnColorProperty.PropertyName)
|
||||
UpdateOnColor();
|
||||
else if (e.PropertyName == Slider.ThumbColorProperty.PropertyName)
|
||||
UpdateThumbColor();
|
||||
}
|
||||
|
||||
[PortHandler]
|
||||
void UpdateOnColor()
|
||||
{
|
||||
if (Element == null || Control == null)
|
||||
return;
|
||||
|
||||
if (Control.Checked)
|
||||
{
|
||||
if (Element.OnColor == Color.Default)
|
||||
{
|
||||
Control.TrackDrawable = _defaultTrackDrawable;
|
||||
}
|
||||
else
|
||||
{
|
||||
Control.TrackDrawable?.SetColorFilter(Element.OnColor, FilterMode.SrcAtop);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Control.TrackDrawable?.ClearColorFilter();
|
||||
}
|
||||
}
|
||||
|
||||
[PortHandler]
|
||||
void UpdateThumbColor()
|
||||
{
|
||||
if (Element == null)
|
||||
return;
|
||||
|
||||
if (Element.ThumbColor != Color.Default)
|
||||
{
|
||||
Control.ThumbDrawable?.SetColorFilter(Element.ThumbColor, FilterMode.SrcAtop);
|
||||
_changedThumbColor = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_changedThumbColor)
|
||||
{
|
||||
Control.ThumbDrawable?.ClearColorFilter();
|
||||
_changedThumbColor = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[PortHandler]
|
||||
void HandleToggled(object sender, EventArgs e)
|
||||
{
|
||||
Control.Checked = Element.IsToggled;
|
||||
}
|
||||
|
||||
void UpdateEnabled()
|
||||
{
|
||||
Control.Enabled = Element.IsEnabled;
|
||||
}
|
||||
}
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -0,0 +1,11 @@
|
|||
using Android.Content;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.AppCompat
|
||||
{
|
||||
public abstract class ViewRenderer<TView, TControl> : Android.ViewRenderer<TView, TControl> where TView : View where TControl : global::Android.Views.View
|
||||
{
|
||||
protected ViewRenderer(Context context) : base(context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using Xamarin.Forms.Internals;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
internal static class BackgroundManager
|
||||
{
|
|
@ -4,9 +4,9 @@ using Android.Content.Res;
|
|||
using Android.Graphics.Drawables;
|
||||
using AColor = Android.Graphics.Color;
|
||||
using AView = Android.Views.View;
|
||||
using Specifics = Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
|
||||
using Specifics = Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
internal class BorderBackgroundManager : IDisposable
|
||||
{
|
|
@ -0,0 +1,28 @@
|
|||
using Android.Views;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public static class ButtonElementManager
|
||||
{
|
||||
public static bool OnTouch(VisualElement element, IButtonController buttonController, AView v, MotionEvent e)
|
||||
{
|
||||
switch (e.ActionMasked)
|
||||
{
|
||||
case MotionEventActions.Down:
|
||||
buttonController?.SendPressed();
|
||||
break;
|
||||
case MotionEventActions.Up:
|
||||
buttonController?.SendReleased();
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void OnClick(VisualElement element, IButtonController buttonController, AView v)
|
||||
{
|
||||
buttonController?.SendClicked();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,383 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using Android.Content;
|
||||
using Android.Graphics.Drawables;
|
||||
using Android.Text.Method;
|
||||
using AndroidX.Core.View;
|
||||
using AndroidX.Core.Widget;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using AButton = Android.Widget.Button;
|
||||
using ARect = Android.Graphics.Rect;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
// TODO: Currently the drawable is reloaded if the text or the layout changes.
|
||||
// This is obviously not great, but it works. An optimization should
|
||||
// be made to find the drawable in the view and just re-position.
|
||||
// If we do this, we must remember to undo the offset in OnLayout.
|
||||
|
||||
public class ButtonLayoutManager : IDisposable
|
||||
{
|
||||
// we use left/right as this does not resize the button when there is no text
|
||||
Button.ButtonContentLayout _imageOnlyLayout = new Button.ButtonContentLayout(Button.ButtonContentLayout.ImagePosition.Left, 0);
|
||||
|
||||
// reuse this instance to save on allocations
|
||||
ARect _drawableBounds = new ARect();
|
||||
|
||||
bool _disposed;
|
||||
IButtonLayoutRenderer _renderer;
|
||||
Thickness? _defaultPaddingPix;
|
||||
Button _element;
|
||||
bool _alignIconWithText;
|
||||
bool _preserveInitialPadding;
|
||||
bool _borderAdjustsPadding;
|
||||
bool _maintainLegacyMeasurements;
|
||||
bool _hasLayoutOccurred;
|
||||
ITransformationMethod _defaultTransformationMethod;
|
||||
bool _elementAlreadyChanged = false;
|
||||
|
||||
public ButtonLayoutManager(IButtonLayoutRenderer renderer)
|
||||
: this(renderer, false, false, false, true)
|
||||
{
|
||||
}
|
||||
|
||||
public ButtonLayoutManager(IButtonLayoutRenderer renderer,
|
||||
bool alignIconWithText,
|
||||
bool preserveInitialPadding,
|
||||
bool borderAdjustsPadding,
|
||||
bool maintainLegacyMeasurements)
|
||||
{
|
||||
_renderer = renderer ?? throw new ArgumentNullException(nameof(renderer));
|
||||
_renderer.ElementChanged += OnElementChanged;
|
||||
_alignIconWithText = alignIconWithText;
|
||||
_preserveInitialPadding = preserveInitialPadding;
|
||||
_borderAdjustsPadding = borderAdjustsPadding;
|
||||
_maintainLegacyMeasurements = maintainLegacyMeasurements;
|
||||
}
|
||||
|
||||
AButton View => _renderer?.View ?? _renderer as AButton;
|
||||
|
||||
Context Context => _renderer?.View?.Context;
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
}
|
||||
|
||||
protected virtual void Dispose(bool disposing)
|
||||
{
|
||||
if (!_disposed)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
if (_renderer != null)
|
||||
{
|
||||
if (_element != null)
|
||||
{
|
||||
_element.PropertyChanged -= OnElementPropertyChanged;
|
||||
}
|
||||
|
||||
_renderer.ElementChanged -= OnElementChanged;
|
||||
_renderer = null;
|
||||
}
|
||||
}
|
||||
_disposed = true;
|
||||
}
|
||||
}
|
||||
|
||||
internal SizeRequest GetDesiredSize(int widthConstraint, int heightConstraint)
|
||||
{
|
||||
var previousHeight = View.MeasuredHeight;
|
||||
var previousWidth = View.MeasuredWidth;
|
||||
|
||||
View.Measure(widthConstraint, heightConstraint);
|
||||
|
||||
// if the measure of the view has changed then trigger a request for layout
|
||||
// if the measure hasn't changed then force a layout of the button
|
||||
if (previousHeight != View.MeasuredHeight || previousWidth != View.MeasuredWidth)
|
||||
View.MaybeRequestLayout();
|
||||
else
|
||||
View.ForceLayout();
|
||||
|
||||
return new SizeRequest(new Size(View.MeasuredWidth, View.MeasuredHeight), Size.Zero);
|
||||
}
|
||||
|
||||
public void OnLayout(bool changed, int left, int top, int right, int bottom)
|
||||
{
|
||||
if (_disposed || _renderer == null || _element == null)
|
||||
return;
|
||||
|
||||
AButton view = View;
|
||||
if (view == null)
|
||||
return;
|
||||
|
||||
Drawable drawable = null;
|
||||
Drawable[] drawables = TextViewCompat.GetCompoundDrawablesRelative(view);
|
||||
if (drawables != null)
|
||||
{
|
||||
foreach (var compoundDrawable in drawables)
|
||||
{
|
||||
if (compoundDrawable != null)
|
||||
{
|
||||
drawable = compoundDrawable;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (drawable != null)
|
||||
{
|
||||
int iconWidth = drawable.IntrinsicWidth;
|
||||
drawable.CopyBounds(_drawableBounds);
|
||||
|
||||
// Center the drawable in the button if there is no text.
|
||||
// We do not need to undo this as when we get some text, the drawable recreated
|
||||
if (string.IsNullOrEmpty(_element.Text))
|
||||
{
|
||||
var newLeft = (right - left - iconWidth) / 2 - view.PaddingLeft;
|
||||
|
||||
_drawableBounds.Set(newLeft, _drawableBounds.Top, newLeft + iconWidth, _drawableBounds.Bottom);
|
||||
drawable.Bounds = _drawableBounds;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_alignIconWithText && _element.ContentLayout.IsHorizontal())
|
||||
{
|
||||
var buttonText = view.TextFormatted;
|
||||
|
||||
// if text is transformed, add that transformation to to ensure correct calculation of icon padding
|
||||
if (view.TransformationMethod != null)
|
||||
buttonText = view.TransformationMethod.GetTransformationFormatted(buttonText, view);
|
||||
|
||||
var measuredTextWidth = view.Paint.MeasureText(buttonText, 0, buttonText.Length());
|
||||
var textWidth = Math.Min((int)measuredTextWidth, view.Layout.Width);
|
||||
var contentsWidth = ViewCompat.GetPaddingStart(view) + iconWidth + view.CompoundDrawablePadding + textWidth + ViewCompat.GetPaddingEnd(view);
|
||||
|
||||
var newLeft = (view.MeasuredWidth - contentsWidth) / 2;
|
||||
if (_element.ContentLayout.Position == Button.ButtonContentLayout.ImagePosition.Right)
|
||||
newLeft = -newLeft;
|
||||
if (ViewCompat.GetLayoutDirection(view) == ViewCompat.LayoutDirectionRtl)
|
||||
newLeft = -newLeft;
|
||||
|
||||
_drawableBounds.Set(newLeft, _drawableBounds.Top, newLeft + iconWidth, _drawableBounds.Bottom);
|
||||
drawable.Bounds = _drawableBounds;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_hasLayoutOccurred = true;
|
||||
}
|
||||
|
||||
public void OnViewAttachedToWindow(AView attachedView)
|
||||
{
|
||||
Update();
|
||||
}
|
||||
|
||||
public void OnViewDetachedFromWindow(AView detachedView)
|
||||
{
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (View?.LayoutParameters == null && _hasLayoutOccurred)
|
||||
return;
|
||||
|
||||
if (View != null && !_elementAlreadyChanged)
|
||||
{
|
||||
_defaultTransformationMethod = View.TransformationMethod;
|
||||
_elementAlreadyChanged = true;
|
||||
}
|
||||
|
||||
if (!UpdateTextAndImage())
|
||||
UpdateImage();
|
||||
|
||||
UpdatePadding();
|
||||
UpdateLineBreakMode();
|
||||
}
|
||||
|
||||
void OnElementChanged(object sender, VisualElementChangedEventArgs e)
|
||||
{
|
||||
if (_element != null)
|
||||
{
|
||||
_element.PropertyChanged -= OnElementPropertyChanged;
|
||||
_element = null;
|
||||
}
|
||||
|
||||
if (e.NewElement is Button button)
|
||||
{
|
||||
_element = button;
|
||||
_element.PropertyChanged += OnElementPropertyChanged;
|
||||
}
|
||||
|
||||
Update();
|
||||
}
|
||||
|
||||
void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (_disposed || _renderer == null || _element == null)
|
||||
return;
|
||||
|
||||
if (e.PropertyName == Button.PaddingProperty.PropertyName)
|
||||
UpdatePadding();
|
||||
else if (e.PropertyName == Button.ImageSourceProperty.PropertyName || e.PropertyName == Button.ContentLayoutProperty.PropertyName)
|
||||
UpdateImage();
|
||||
else if (e.IsOneOf(Button.TextProperty, VisualElement.IsVisibleProperty, Button.TextTransformProperty))
|
||||
UpdateTextAndImage();
|
||||
else if (e.PropertyName == Button.BorderWidthProperty.PropertyName && _borderAdjustsPadding)
|
||||
_element.InvalidateMeasureNonVirtual(InvalidationTrigger.MeasureChanged);
|
||||
else if (e.PropertyName == Button.LineBreakModeProperty.PropertyName)
|
||||
UpdateLineBreakMode();
|
||||
}
|
||||
|
||||
void UpdatePadding()
|
||||
{
|
||||
AButton view = View;
|
||||
if (view == null)
|
||||
return;
|
||||
|
||||
if (_disposed || _renderer == null || _element == null)
|
||||
return;
|
||||
|
||||
if (!_defaultPaddingPix.HasValue)
|
||||
_defaultPaddingPix = new Thickness(view.PaddingLeft, view.PaddingTop, view.PaddingRight, view.PaddingBottom);
|
||||
|
||||
// Currently the Padding Bindable property uses a creator factory so once it is set it can't become unset
|
||||
// I would say this is currently a bug but it's a bug that exists already in the code base.
|
||||
// Having this comment and this code more accurately demonstrates behavior then
|
||||
// having an else clause for when the PaddingProperty isn't set
|
||||
if (!_element.IsSet(Button.PaddingProperty))
|
||||
return;
|
||||
|
||||
var padding = _element.Padding;
|
||||
var adjustment = 0.0;
|
||||
if (_borderAdjustsPadding && _element is IBorderElement borderElement && borderElement.IsBorderWidthSet() && borderElement.BorderWidth != borderElement.BorderWidthDefaultValue)
|
||||
adjustment = borderElement.BorderWidth;
|
||||
|
||||
var defaultPadding = _preserveInitialPadding && _defaultPaddingPix.HasValue
|
||||
? _defaultPaddingPix.Value
|
||||
: new Thickness();
|
||||
|
||||
view.SetPadding(
|
||||
(int)(Context.ToPixels(padding.Left + adjustment) + defaultPadding.Left),
|
||||
(int)(Context.ToPixels(padding.Top + adjustment) + defaultPadding.Top),
|
||||
(int)(Context.ToPixels(padding.Right + adjustment) + defaultPadding.Right),
|
||||
(int)(Context.ToPixels(padding.Bottom + adjustment) + defaultPadding.Bottom));
|
||||
}
|
||||
|
||||
bool UpdateTextAndImage()
|
||||
{
|
||||
|
||||
if (_disposed || _renderer?.View == null || _element == null)
|
||||
return false;
|
||||
|
||||
if (View?.LayoutParameters == null && _hasLayoutOccurred)
|
||||
return false;
|
||||
|
||||
AButton view = View;
|
||||
if (view == null)
|
||||
return false;
|
||||
|
||||
UpdateTransformationMethod(view);
|
||||
|
||||
string oldText = view.Text;
|
||||
view.Text = _element.UpdateFormsText(_element.Text, _element.TextTransform);
|
||||
|
||||
// If we went from or to having no text, we need to update the image position
|
||||
if (string.IsNullOrEmpty(oldText) != string.IsNullOrEmpty(view.Text))
|
||||
{
|
||||
UpdateImage();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void UpdateTransformationMethod(AButton view)
|
||||
{
|
||||
// Use defaults only when user hasn't specified alternative TextTransform settings
|
||||
if (_element.TextTransform == TextTransform.Default)
|
||||
view.TransformationMethod = _defaultTransformationMethod;
|
||||
else
|
||||
view.TransformationMethod = null;
|
||||
}
|
||||
|
||||
void UpdateImage()
|
||||
{
|
||||
if (_disposed || _renderer == null || _element == null)
|
||||
return;
|
||||
|
||||
AButton view = View;
|
||||
if (view == null)
|
||||
return;
|
||||
|
||||
ImageSource elementImage = _element.ImageSource;
|
||||
|
||||
if (elementImage == null || elementImage.IsEmpty)
|
||||
{
|
||||
view.SetCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
|
||||
return;
|
||||
}
|
||||
|
||||
// No text, so no need for relative position; just center the image
|
||||
// There's no option for just plain-old centering, so we'll use Top
|
||||
// (which handles the horizontal centering) and some tricksy padding (in OnLayout)
|
||||
// to handle the vertical centering
|
||||
var layout = string.IsNullOrEmpty(_element.Text) ? _imageOnlyLayout : _element.ContentLayout;
|
||||
|
||||
if (_maintainLegacyMeasurements)
|
||||
view.CompoundDrawablePadding = (int)layout.Spacing;
|
||||
else
|
||||
view.CompoundDrawablePadding = (int)Context.ToPixels(layout.Spacing);
|
||||
|
||||
Drawable existingImage = null;
|
||||
var images = TextViewCompat.GetCompoundDrawablesRelative(view);
|
||||
for (int i = 0; i < images.Length; i++)
|
||||
if (images[i] != null)
|
||||
{
|
||||
existingImage = images[i];
|
||||
break;
|
||||
}
|
||||
|
||||
if (_renderer is IVisualElementRenderer visualElementRenderer)
|
||||
{
|
||||
visualElementRenderer.ApplyDrawableAsync(Button.ImageSourceProperty, Context, image =>
|
||||
{
|
||||
if (image == existingImage)
|
||||
return;
|
||||
|
||||
switch (layout.Position)
|
||||
{
|
||||
case Button.ButtonContentLayout.ImagePosition.Top:
|
||||
TextViewCompat.SetCompoundDrawablesRelativeWithIntrinsicBounds(view, null, image, null, null);
|
||||
break;
|
||||
case Button.ButtonContentLayout.ImagePosition.Right:
|
||||
TextViewCompat.SetCompoundDrawablesRelativeWithIntrinsicBounds(view, null, null, image, null);
|
||||
break;
|
||||
case Button.ButtonContentLayout.ImagePosition.Bottom:
|
||||
TextViewCompat.SetCompoundDrawablesRelativeWithIntrinsicBounds(view, null, null, null, image);
|
||||
break;
|
||||
default:
|
||||
// Defaults to image on the left
|
||||
TextViewCompat.SetCompoundDrawablesRelativeWithIntrinsicBounds(view, image, null, null, null);
|
||||
break;
|
||||
}
|
||||
|
||||
if (_hasLayoutOccurred)
|
||||
_element?.InvalidateMeasureNonVirtual(InvalidationTrigger.MeasureChanged);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateLineBreakMode()
|
||||
{
|
||||
AButton view = View;
|
||||
|
||||
if (view == null || _element == null || _renderer?.View == null)
|
||||
return;
|
||||
|
||||
view.SetLineBreakMode(_element);
|
||||
UpdateTransformationMethod(view);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -15,7 +15,7 @@ using AMenu = Android.Views.IMenu;
|
|||
using AMenu = Android.Views.Menu;
|
||||
#endif
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public abstract class CellAdapter : BaseAdapter<object>, AdapterView.IOnItemLongClickListener, ActionMode.ICallback, AdapterView.IOnItemClickListener, AActionMode.ICallback
|
||||
{
|
|
@ -4,10 +4,10 @@ using Android.Text;
|
|||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using AndroidX.Core.Widget;
|
||||
using Xamarin.Forms.Internals;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class BaseCellView : LinearLayout, INativeElementView
|
||||
{
|
|
@ -1,10 +1,10 @@
|
|||
using Android.Content;
|
||||
using Android.Views;
|
||||
using Xamarin.Forms.Internals;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using AListView = Android.Widget.ListView;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public static class CellFactory
|
||||
{
|
|
@ -0,0 +1,153 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using Android.Content;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using AView = Android.Views.View;
|
||||
using Object = Java.Lang.Object;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class CellRenderer : IRegisterable
|
||||
{
|
||||
static readonly PropertyChangedEventHandler PropertyChangedHandler = OnGlobalCellPropertyChanged;
|
||||
|
||||
static readonly BindableProperty RendererProperty = BindableProperty.CreateAttached("Renderer", typeof(CellRenderer), typeof(Cell), null);
|
||||
|
||||
EventHandler _onForceUpdateSizeRequested;
|
||||
|
||||
public View ParentView { get; set; }
|
||||
|
||||
protected Cell Cell { get; set; }
|
||||
|
||||
public AView GetCell(Cell item, AView convertView, ViewGroup parent, Context context)
|
||||
{
|
||||
Performance.Start(out string reference);
|
||||
|
||||
Cell = item;
|
||||
Cell.PropertyChanged -= PropertyChangedHandler;
|
||||
|
||||
SetRenderer(Cell, this);
|
||||
|
||||
if (convertView != null)
|
||||
{
|
||||
Object tag = convertView.Tag;
|
||||
CellRenderer renderer = (tag as RendererHolder)?.Renderer;
|
||||
|
||||
Cell oldCell = renderer?.Cell;
|
||||
|
||||
if (oldCell != null)
|
||||
{
|
||||
((ICellController)oldCell).SendDisappearing();
|
||||
|
||||
if (Cell != oldCell)
|
||||
{
|
||||
SetRenderer(oldCell, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AView view = GetCellCore(item, convertView, parent, context);
|
||||
|
||||
WireUpForceUpdateSizeRequested(item, view);
|
||||
|
||||
var holder = view.Tag as RendererHolder;
|
||||
if (holder == null)
|
||||
view.Tag = new RendererHolder(this);
|
||||
else
|
||||
holder.Renderer = this;
|
||||
|
||||
Cell.PropertyChanged += PropertyChangedHandler;
|
||||
((ICellController)Cell).SendAppearing();
|
||||
|
||||
Performance.Stop(reference);
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
protected virtual AView GetCellCore(Cell item, AView convertView, ViewGroup parent, Context context)
|
||||
{
|
||||
Performance.Start(out string reference, "GetCellCore");
|
||||
|
||||
LayoutInflater inflater = LayoutInflater.FromContext(context);
|
||||
const int type = global::Android.Resource.Layout.SimpleListItem1;
|
||||
AView view = inflater.Inflate(type, null);
|
||||
|
||||
var textView = view.FindViewById<TextView>(global::Android.Resource.Id.Text1);
|
||||
textView.Text = item.ToString();
|
||||
textView.SetBackgroundColor(global::Android.Graphics.Color.Transparent);
|
||||
view.SetBackgroundColor(global::Android.Graphics.Color.Black);
|
||||
|
||||
Performance.Stop(reference, "GetCellCore");
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
protected virtual void OnCellPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void WireUpForceUpdateSizeRequested(Cell cell, AView nativeCell)
|
||||
{
|
||||
ICellController cellController = cell;
|
||||
cellController.ForceUpdateSizeRequested -= _onForceUpdateSizeRequested;
|
||||
|
||||
_onForceUpdateSizeRequested = (sender, e) =>
|
||||
{
|
||||
if (nativeCell.Handle == IntPtr.Zero)
|
||||
return;
|
||||
// RenderHeight may not be changed, but that's okay, since we
|
||||
// don't actually use the height argument in the OnMeasure override.
|
||||
nativeCell.Measure(nativeCell.Width, (int)cell.RenderHeight);
|
||||
nativeCell.SetMinimumHeight(nativeCell.MeasuredHeight);
|
||||
nativeCell.SetMinimumWidth(nativeCell.MeasuredWidth);
|
||||
};
|
||||
|
||||
cellController.ForceUpdateSizeRequested += _onForceUpdateSizeRequested;
|
||||
}
|
||||
|
||||
internal static CellRenderer GetRenderer(BindableObject cell)
|
||||
{
|
||||
return (CellRenderer)cell.GetValue(RendererProperty);
|
||||
}
|
||||
|
||||
internal static void SetRenderer(BindableObject cell, CellRenderer renderer)
|
||||
{
|
||||
cell.SetValue(RendererProperty, renderer);
|
||||
}
|
||||
|
||||
static void OnGlobalCellPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
var cell = (Cell)sender;
|
||||
CellRenderer renderer = GetRenderer(cell);
|
||||
if (renderer == null)
|
||||
{
|
||||
cell.PropertyChanged -= PropertyChangedHandler;
|
||||
return;
|
||||
}
|
||||
|
||||
renderer.OnCellPropertyChanged(sender, e);
|
||||
}
|
||||
|
||||
class RendererHolder : Object
|
||||
{
|
||||
readonly WeakReference<CellRenderer> _rendererRef;
|
||||
|
||||
public RendererHolder(CellRenderer renderer)
|
||||
{
|
||||
_rendererRef = new WeakReference<CellRenderer>(renderer);
|
||||
}
|
||||
|
||||
public CellRenderer Renderer
|
||||
{
|
||||
get
|
||||
{
|
||||
CellRenderer renderer;
|
||||
return _rendererRef.TryGetTarget(out renderer) ? renderer : null;
|
||||
}
|
||||
set { _rendererRef.SetTarget(value); }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,7 +4,7 @@ using Android.Views;
|
|||
using Android.Widget;
|
||||
using ARect = Android.Graphics.Rect;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public sealed class EntryCellEditText : EditText
|
||||
{
|
|
@ -0,0 +1,160 @@
|
|||
using System.ComponentModel;
|
||||
using Android.Content;
|
||||
using Android.Text;
|
||||
using Android.Text.Method;
|
||||
using Android.Views;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class EntryCellRenderer : CellRenderer
|
||||
{
|
||||
EntryCellView _view;
|
||||
|
||||
protected override global::Android.Views.View GetCellCore(Cell item, global::Android.Views.View convertView, ViewGroup parent, Context context)
|
||||
{
|
||||
if ((_view = convertView as EntryCellView) == null)
|
||||
_view = new EntryCellView(context, item);
|
||||
else
|
||||
{
|
||||
_view.TextChanged = null;
|
||||
_view.FocusChanged = null;
|
||||
_view.EditingCompleted = null;
|
||||
}
|
||||
|
||||
UpdateLabel();
|
||||
UpdateLabelColor();
|
||||
UpdatePlaceholder();
|
||||
UpdateKeyboard();
|
||||
UpdateHorizontalTextAlignment();
|
||||
UpdateVerticalTextAlignment();
|
||||
UpdateText();
|
||||
UpdateIsEnabled();
|
||||
UpdateHeight();
|
||||
UpdateFlowDirection();
|
||||
|
||||
_view.TextChanged = OnTextChanged;
|
||||
_view.EditingCompleted = OnEditingCompleted;
|
||||
|
||||
return _view;
|
||||
}
|
||||
|
||||
protected override void OnCellPropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (!_view.IsAlive())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
base.OnCellPropertyChanged(sender, e);
|
||||
|
||||
if (e.PropertyName == EntryCell.LabelProperty.PropertyName)
|
||||
UpdateLabel();
|
||||
else if (e.PropertyName == EntryCell.TextProperty.PropertyName)
|
||||
UpdateText();
|
||||
else if (e.PropertyName == EntryCell.PlaceholderProperty.PropertyName)
|
||||
UpdatePlaceholder();
|
||||
else if (e.PropertyName == EntryCell.KeyboardProperty.PropertyName)
|
||||
UpdateKeyboard();
|
||||
else if (e.PropertyName == EntryCell.LabelColorProperty.PropertyName)
|
||||
UpdateLabelColor();
|
||||
else if (e.PropertyName == EntryCell.HorizontalTextAlignmentProperty.PropertyName)
|
||||
UpdateHorizontalTextAlignment();
|
||||
else if (e.PropertyName == EntryCell.VerticalTextAlignmentProperty.PropertyName)
|
||||
UpdateVerticalTextAlignment();
|
||||
else if (e.PropertyName == Cell.IsEnabledProperty.PropertyName)
|
||||
UpdateIsEnabled();
|
||||
else if (e.PropertyName == "RenderHeight")
|
||||
UpdateHeight();
|
||||
else if (e.PropertyName == VisualElement.FlowDirectionProperty.PropertyName)
|
||||
{
|
||||
UpdateFlowDirection();
|
||||
UpdateHorizontalTextAlignment();
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual NumberKeyListener GetDigitsKeyListener(InputTypes inputTypes)
|
||||
{
|
||||
// Override this in a custom renderer to use a different NumberKeyListener
|
||||
// or to filter out input types you don't want to allow
|
||||
// (e.g., inputTypes &= ~InputTypes.NumberFlagSigned to disallow the sign)
|
||||
return LocalizedDigitsKeyListener.Create(inputTypes);
|
||||
}
|
||||
|
||||
void OnEditingCompleted()
|
||||
{
|
||||
var entryCell = (IEntryCellController)Cell;
|
||||
entryCell.SendCompleted();
|
||||
}
|
||||
|
||||
void OnTextChanged(string text)
|
||||
{
|
||||
var entryCell = (EntryCell)Cell;
|
||||
entryCell.Text = text;
|
||||
}
|
||||
|
||||
void UpdateHeight()
|
||||
{
|
||||
_view.SetRenderHeight(Cell.RenderHeight);
|
||||
}
|
||||
|
||||
void UpdateHorizontalTextAlignment()
|
||||
{
|
||||
var entryCell = (EntryCell)Cell;
|
||||
_view.EditText.UpdateHorizontalAlignment(entryCell.HorizontalTextAlignment, _view.Context.HasRtlSupport());
|
||||
}
|
||||
|
||||
void UpdateVerticalTextAlignment()
|
||||
{
|
||||
var entryCell = (EntryCell)Cell;
|
||||
_view.EditText.UpdateVerticalAlignment(entryCell.VerticalTextAlignment);
|
||||
}
|
||||
|
||||
void UpdateIsEnabled()
|
||||
{
|
||||
var entryCell = (EntryCell)Cell;
|
||||
_view.EditText.Enabled = entryCell.IsEnabled;
|
||||
}
|
||||
|
||||
void UpdateKeyboard()
|
||||
{
|
||||
var entryCell = (EntryCell)Cell;
|
||||
var keyboard = entryCell.Keyboard;
|
||||
_view.EditText.InputType = keyboard.ToInputType();
|
||||
|
||||
if (keyboard == Keyboard.Numeric)
|
||||
{
|
||||
_view.EditText.KeyListener = GetDigitsKeyListener(_view.EditText.InputType);
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateLabel()
|
||||
{
|
||||
_view.LabelText = ((EntryCell)Cell).Label;
|
||||
}
|
||||
|
||||
void UpdateLabelColor()
|
||||
{
|
||||
_view.SetLabelTextColor(((EntryCell)Cell).LabelColor, global::Android.Resource.Attribute.TextColor);
|
||||
}
|
||||
|
||||
void UpdateFlowDirection()
|
||||
{
|
||||
_view.UpdateFlowDirection(ParentView);
|
||||
}
|
||||
|
||||
void UpdatePlaceholder()
|
||||
{
|
||||
var entryCell = (EntryCell)Cell;
|
||||
_view.EditText.Hint = entryCell.Placeholder;
|
||||
}
|
||||
|
||||
void UpdateText()
|
||||
{
|
||||
var entryCell = (EntryCell)Cell;
|
||||
if (_view.EditText.Text == entryCell.Text)
|
||||
return;
|
||||
|
||||
_view.EditText.Text = entryCell.Text;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -7,7 +7,7 @@ using Android.Widget;
|
|||
using AndroidX.Core.Widget;
|
||||
using Java.Lang;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public sealed class EntryCellView : LinearLayout, ITextWatcher, global::Android.Views.View.IOnFocusChangeListener, TextView.IOnEditorActionListener, INativeElementView
|
||||
{
|
|
@ -0,0 +1,45 @@
|
|||
using System.ComponentModel;
|
||||
using Android.Content;
|
||||
using Android.Views;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class ImageCellRenderer : TextCellRenderer
|
||||
{
|
||||
protected override global::Android.Views.View GetCellCore(Cell item, global::Android.Views.View convertView, ViewGroup parent, Context context)
|
||||
{
|
||||
var result = (BaseCellView)base.GetCellCore(item, convertView, parent, context);
|
||||
|
||||
UpdateImage();
|
||||
UpdateFlowDirection();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
protected override void OnCellPropertyChanged(object sender, PropertyChangedEventArgs args)
|
||||
{
|
||||
base.OnCellPropertyChanged(sender, args);
|
||||
if (args.PropertyName == ImageCell.ImageSourceProperty.PropertyName)
|
||||
UpdateImage();
|
||||
else if (args.PropertyName == VisualElement.FlowDirectionProperty.PropertyName)
|
||||
UpdateFlowDirection();
|
||||
}
|
||||
|
||||
void UpdateImage()
|
||||
{
|
||||
var cell = (ImageCell)Cell;
|
||||
if (cell.ImageSource != null)
|
||||
{
|
||||
View.SetImageVisible(true);
|
||||
View.SetImageSource(cell.ImageSource);
|
||||
}
|
||||
else
|
||||
View.SetImageVisible(false);
|
||||
}
|
||||
|
||||
void UpdateFlowDirection()
|
||||
{
|
||||
View.UpdateFlowDirection(ParentView);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
using System.ComponentModel;
|
||||
using Android.Content;
|
||||
using Android.Graphics;
|
||||
using Android.Graphics.Drawables;
|
||||
using Android.OS;
|
||||
using Android.Views;
|
||||
using ASwitch = Android.Widget.Switch;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class SwitchCellRenderer : CellRenderer
|
||||
{
|
||||
SwitchCellView _view;
|
||||
Drawable _defaultTrackDrawable;
|
||||
|
||||
protected override AView GetCellCore(Cell item, AView convertView, ViewGroup parent, Context context)
|
||||
{
|
||||
var cell = (SwitchCell)Cell;
|
||||
|
||||
if ((_view = convertView as SwitchCellView) == null)
|
||||
_view = new SwitchCellView(context, item);
|
||||
|
||||
_view.Cell = cell;
|
||||
|
||||
var aSwitch = _view.AccessoryView as ASwitch;
|
||||
if (aSwitch != null)
|
||||
_defaultTrackDrawable = aSwitch.TrackDrawable;
|
||||
|
||||
UpdateText();
|
||||
UpdateChecked();
|
||||
UpdateHeight();
|
||||
UpdateIsEnabled(_view, cell);
|
||||
UpdateFlowDirection();
|
||||
UpdateOnColor(_view, cell);
|
||||
|
||||
return _view;
|
||||
}
|
||||
|
||||
protected override void OnCellPropertyChanged(object sender, PropertyChangedEventArgs args)
|
||||
{
|
||||
if (args.PropertyName == SwitchCell.TextProperty.PropertyName)
|
||||
UpdateText();
|
||||
else if (args.PropertyName == SwitchCell.OnProperty.PropertyName)
|
||||
{
|
||||
UpdateChecked();
|
||||
UpdateOnColor(_view, (SwitchCell)sender);
|
||||
}
|
||||
else if (args.PropertyName == "RenderHeight")
|
||||
UpdateHeight();
|
||||
else if (args.PropertyName == Cell.IsEnabledProperty.PropertyName)
|
||||
UpdateIsEnabled(_view, (SwitchCell)sender);
|
||||
else if (args.PropertyName == VisualElement.FlowDirectionProperty.PropertyName)
|
||||
UpdateFlowDirection();
|
||||
else if (args.PropertyName == SwitchCell.OnColorProperty.PropertyName)
|
||||
UpdateOnColor(_view, (SwitchCell)sender);
|
||||
}
|
||||
|
||||
void UpdateChecked()
|
||||
{
|
||||
((ASwitch)_view.AccessoryView).Checked = ((SwitchCell)Cell).On;
|
||||
}
|
||||
|
||||
void UpdateIsEnabled(SwitchCellView cell, SwitchCell switchCell)
|
||||
{
|
||||
cell.Enabled = switchCell.IsEnabled;
|
||||
var aSwitch = cell.AccessoryView as ASwitch;
|
||||
if (aSwitch != null)
|
||||
aSwitch.Enabled = switchCell.IsEnabled;
|
||||
}
|
||||
|
||||
void UpdateFlowDirection()
|
||||
{
|
||||
_view.UpdateFlowDirection(ParentView);
|
||||
}
|
||||
|
||||
void UpdateHeight()
|
||||
{
|
||||
_view.SetRenderHeight(Cell.RenderHeight);
|
||||
}
|
||||
|
||||
void UpdateText()
|
||||
{
|
||||
_view.MainText = ((SwitchCell)Cell).Text;
|
||||
}
|
||||
|
||||
void UpdateOnColor(SwitchCellView cell, SwitchCell switchCell)
|
||||
{
|
||||
var aSwitch = cell.AccessoryView as ASwitch;
|
||||
if (aSwitch != null)
|
||||
{
|
||||
if (switchCell.On)
|
||||
{
|
||||
if (switchCell.OnColor == Color.Default)
|
||||
{
|
||||
aSwitch.TrackDrawable = _defaultTrackDrawable;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Forms.SdkInt >= BuildVersionCodes.JellyBean)
|
||||
{
|
||||
aSwitch.TrackDrawable.SetColorFilter(switchCell.OnColor, FilterMode.Multiply);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
aSwitch.TrackDrawable.ClearColorFilter();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
using Android.Content;
|
||||
using Android.Widget;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class SwitchCellView : BaseCellView, CompoundButton.IOnCheckedChangeListener
|
||||
{
|
|
@ -0,0 +1,100 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using Android.Content;
|
||||
using Android.Views;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class TextCellRenderer : CellRenderer
|
||||
{
|
||||
internal TextCellView View { get; private set; }
|
||||
|
||||
protected override AView GetCellCore(Cell item, AView convertView, ViewGroup parent, Context context)
|
||||
{
|
||||
if ((View = convertView as TextCellView) == null)
|
||||
View = new TextCellView(context, item);
|
||||
|
||||
UpdateMainText();
|
||||
UpdateDetailText();
|
||||
UpdateHeight();
|
||||
UpdateIsEnabled();
|
||||
UpdateFlowDirection();
|
||||
UpdateAutomationId();
|
||||
View.SetImageVisible(false);
|
||||
|
||||
return View;
|
||||
}
|
||||
|
||||
protected override void OnCellPropertyChanged(object sender, PropertyChangedEventArgs args)
|
||||
{
|
||||
if (View.IsDisposed())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (args.PropertyName == TextCell.TextProperty.PropertyName || args.PropertyName == TextCell.TextColorProperty.PropertyName)
|
||||
UpdateMainText();
|
||||
else if (args.PropertyName == TextCell.DetailProperty.PropertyName || args.PropertyName == TextCell.DetailColorProperty.PropertyName)
|
||||
UpdateDetailText();
|
||||
else if (args.PropertyName == Cell.IsEnabledProperty.PropertyName)
|
||||
UpdateIsEnabled();
|
||||
else if (args.PropertyName == "RenderHeight")
|
||||
UpdateHeight();
|
||||
else if (args.PropertyName == VisualElement.FlowDirectionProperty.PropertyName)
|
||||
UpdateFlowDirection();
|
||||
else if (args.PropertyName == VisualElement.AutomationIdProperty.PropertyName)
|
||||
UpdateAutomationId();
|
||||
}
|
||||
|
||||
void UpdateAutomationId()
|
||||
{
|
||||
View.ContentDescription = Cell.AutomationId;
|
||||
}
|
||||
|
||||
void UpdateDetailText()
|
||||
{
|
||||
var cell = (TextCell)Cell;
|
||||
View.DetailText = cell.Detail;
|
||||
View.SetDetailTextColor(cell.DetailColor);
|
||||
}
|
||||
|
||||
void UpdateHeight()
|
||||
{
|
||||
View.SetRenderHeight(Cell.RenderHeight);
|
||||
}
|
||||
|
||||
void UpdateIsEnabled()
|
||||
{
|
||||
var cell = (TextCell)Cell;
|
||||
View.SetIsEnabled(cell.IsEnabled);
|
||||
}
|
||||
|
||||
void UpdateFlowDirection()
|
||||
{
|
||||
View.UpdateFlowDirection(ParentView);
|
||||
}
|
||||
|
||||
void UpdateMainText()
|
||||
{
|
||||
var cell = (TextCell)Cell;
|
||||
View.MainText = cell.Text;
|
||||
|
||||
if (!cell.GetIsGroupHeader<ItemsView<Cell>, Cell>())
|
||||
View.SetDefaultMainTextColor(Color.Accent);
|
||||
else
|
||||
View.SetDefaultMainTextColor(Color.Default);
|
||||
|
||||
View.SetMainTextColor(cell.TextColor);
|
||||
}
|
||||
|
||||
// ensure we don't get other people's BaseCellView's
|
||||
internal class TextCellView : BaseCellView
|
||||
{
|
||||
public TextCellView(Context context, Cell cell) : base(context, cell)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,412 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using Android.Content;
|
||||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using Microsoft.Maui.Controls.Internals;
|
||||
using Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class ViewCellRenderer : CellRenderer
|
||||
{
|
||||
protected override AView GetCellCore(Cell item, AView convertView, ViewGroup parent, Context context)
|
||||
{
|
||||
Performance.Start(out string reference, "GetCellCore");
|
||||
var cell = (ViewCell)item;
|
||||
|
||||
var container = convertView as ViewCellContainer;
|
||||
if (container != null)
|
||||
{
|
||||
container.Update(cell);
|
||||
Performance.Stop(reference, "GetCellCore");
|
||||
return container;
|
||||
}
|
||||
|
||||
BindableProperty unevenRows = null, rowHeight = null;
|
||||
if (ParentView is TableView)
|
||||
{
|
||||
unevenRows = TableView.HasUnevenRowsProperty;
|
||||
rowHeight = TableView.RowHeightProperty;
|
||||
}
|
||||
else if (ParentView is ListView)
|
||||
{
|
||||
cell.IsContextActionsLegacyModeEnabled = item.On<PlatformConfiguration.Android>().GetIsContextActionsLegacyModeEnabled();
|
||||
|
||||
unevenRows = ListView.HasUnevenRowsProperty;
|
||||
rowHeight = ListView.RowHeightProperty;
|
||||
}
|
||||
|
||||
if (cell.View == null)
|
||||
throw new InvalidOperationException($"ViewCell must have a {nameof(cell.View)}");
|
||||
|
||||
IVisualElementRenderer view = AppCompat.Platform.CreateRenderer(cell.View, context);
|
||||
AppCompat.Platform.SetRenderer(cell.View, view);
|
||||
cell.View.IsPlatformEnabled = true;
|
||||
var c = new ViewCellContainer(context, view, cell, ParentView, unevenRows, rowHeight);
|
||||
|
||||
Performance.Stop(reference, "GetCellCore");
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
internal class ViewCellContainer : ViewGroup, INativeElementView
|
||||
{
|
||||
readonly View _parent;
|
||||
readonly BindableProperty _rowHeight;
|
||||
readonly BindableProperty _unevenRows;
|
||||
IVisualElementRenderer _view;
|
||||
ViewCell _viewCell;
|
||||
GestureDetector _tapGestureDetector;
|
||||
GestureDetector _longPressGestureDetector;
|
||||
ListViewRenderer _listViewRenderer;
|
||||
bool _watchForLongPress;
|
||||
|
||||
ListViewRenderer ListViewRenderer
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_listViewRenderer != null)
|
||||
{
|
||||
return _listViewRenderer;
|
||||
}
|
||||
|
||||
var listView = _parent as ListView;
|
||||
|
||||
if (listView == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
_listViewRenderer = AppCompat.Platform.GetRenderer(listView) as ListViewRenderer;
|
||||
|
||||
return _listViewRenderer;
|
||||
}
|
||||
}
|
||||
|
||||
GestureDetector TapGestureDetector
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_tapGestureDetector != null)
|
||||
{
|
||||
return _tapGestureDetector;
|
||||
}
|
||||
|
||||
_tapGestureDetector = new GestureDetector(Context, new TapGestureListener(TriggerClick));
|
||||
return _tapGestureDetector;
|
||||
}
|
||||
}
|
||||
|
||||
GestureDetector LongPressGestureDetector
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_longPressGestureDetector != null)
|
||||
{
|
||||
return _longPressGestureDetector;
|
||||
}
|
||||
|
||||
_longPressGestureDetector = new GestureDetector(Context, new LongPressGestureListener(TriggerLongClick));
|
||||
return _longPressGestureDetector;
|
||||
}
|
||||
}
|
||||
|
||||
public ViewCellContainer(IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer)
|
||||
{
|
||||
// Added default constructor to prevent crash when accessing selected row in ListViewAdapter.Dispose
|
||||
}
|
||||
|
||||
public ViewCellContainer(Context context, IVisualElementRenderer view, ViewCell viewCell, View parent,
|
||||
BindableProperty unevenRows, BindableProperty rowHeight) : base(context)
|
||||
{
|
||||
_view = view;
|
||||
_parent = parent;
|
||||
_unevenRows = unevenRows;
|
||||
_rowHeight = rowHeight;
|
||||
_viewCell = viewCell;
|
||||
AddView(view.View);
|
||||
UpdateIsEnabled();
|
||||
UpdateWatchForLongPress();
|
||||
}
|
||||
|
||||
protected bool ParentHasUnevenRows
|
||||
{
|
||||
get { return (bool)_parent.GetValue(_unevenRows); }
|
||||
}
|
||||
|
||||
protected int ParentRowHeight
|
||||
{
|
||||
get { return (int)_parent.GetValue(_rowHeight); }
|
||||
}
|
||||
|
||||
public Element Element
|
||||
{
|
||||
get { return _viewCell; }
|
||||
}
|
||||
|
||||
public override bool OnInterceptTouchEvent(MotionEvent ev)
|
||||
{
|
||||
if (!Enabled)
|
||||
return true;
|
||||
|
||||
return base.OnInterceptTouchEvent(ev);
|
||||
}
|
||||
|
||||
public override bool DispatchTouchEvent(MotionEvent e)
|
||||
{
|
||||
// Give the child controls a shot at the event (in case they've get Tap gestures and such
|
||||
var handled = base.DispatchTouchEvent(e);
|
||||
|
||||
if (_watchForLongPress)
|
||||
{
|
||||
// Feed the gesture through the LongPress detector; for this to work we *must* return true
|
||||
// afterward (or the LPGD goes nuts and immediately fires onLongPress)
|
||||
LongPressGestureDetector.OnTouchEvent(e);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (WatchForSwipeViewTap())
|
||||
{
|
||||
TapGestureDetector.OnTouchEvent(e);
|
||||
return true;
|
||||
}
|
||||
|
||||
return handled;
|
||||
}
|
||||
|
||||
public void Update(ViewCell cell)
|
||||
{
|
||||
Performance.Start(out string reference);
|
||||
var renderer = GetChildAt(0) as IVisualElementRenderer;
|
||||
var viewHandlerType = Registrar.Registered.GetHandlerTypeForObject(cell.View) ?? typeof(AppCompat.Platform.DefaultRenderer);
|
||||
var reflectableType = renderer as System.Reflection.IReflectableType;
|
||||
var rendererType = reflectableType != null ? reflectableType.GetTypeInfo().AsType() : (renderer != null ? renderer.GetType() : typeof(System.Object));
|
||||
if (renderer != null && rendererType == viewHandlerType)
|
||||
{
|
||||
Performance.Start(reference, "Reuse");
|
||||
_viewCell = cell;
|
||||
|
||||
cell.View.DisableLayout = true;
|
||||
foreach (VisualElement c in cell.View.Descendants())
|
||||
c.DisableLayout = true;
|
||||
|
||||
Performance.Start(reference, "Reuse.SetElement");
|
||||
renderer.SetElement(cell.View);
|
||||
Performance.Stop(reference, "Reuse.SetElement");
|
||||
|
||||
AppCompat.Platform.SetRenderer(cell.View, _view);
|
||||
|
||||
cell.View.DisableLayout = false;
|
||||
foreach (VisualElement c in cell.View.Descendants())
|
||||
c.DisableLayout = false;
|
||||
|
||||
var viewAsLayout = cell.View as Layout;
|
||||
if (viewAsLayout != null)
|
||||
viewAsLayout.ForceLayout();
|
||||
|
||||
Invalidate();
|
||||
|
||||
Performance.Stop(reference, "Reuse");
|
||||
Performance.Stop(reference);
|
||||
return;
|
||||
}
|
||||
|
||||
RemoveView(_view.View);
|
||||
AppCompat.Platform.SetRenderer(_viewCell.View, null);
|
||||
_viewCell.View.IsPlatformEnabled = false;
|
||||
_view.View.Dispose();
|
||||
|
||||
_viewCell = cell;
|
||||
_view = AppCompat.Platform.CreateRenderer(_viewCell.View, Context);
|
||||
|
||||
AppCompat.Platform.SetRenderer(_viewCell.View, _view);
|
||||
AddView(_view.View);
|
||||
|
||||
UpdateIsEnabled();
|
||||
UpdateWatchForLongPress();
|
||||
|
||||
Performance.Stop(reference);
|
||||
}
|
||||
|
||||
public void UpdateIsEnabled()
|
||||
{
|
||||
Enabled = _viewCell.IsEnabled;
|
||||
}
|
||||
|
||||
protected override void OnLayout(bool changed, int l, int t, int r, int b)
|
||||
{
|
||||
Performance.Start(out string reference);
|
||||
|
||||
double width = Context.FromPixels(r - l);
|
||||
double height = Context.FromPixels(b - t);
|
||||
|
||||
Performance.Start(reference, "Element.Layout");
|
||||
Microsoft.Maui.Controls.Layout.LayoutChildIntoBoundingRegion(_view.Element, new Rectangle(0, 0, width, height));
|
||||
Performance.Stop(reference, "Element.Layout");
|
||||
|
||||
_view.UpdateLayout();
|
||||
Performance.Stop(reference);
|
||||
}
|
||||
|
||||
protected override void OnMeasure(int widthMeasureSpec, int heightMeasureSpec)
|
||||
{
|
||||
Performance.Start(out string reference);
|
||||
|
||||
int width = MeasureSpec.GetSize(widthMeasureSpec);
|
||||
int height;
|
||||
|
||||
if (ParentHasUnevenRows)
|
||||
{
|
||||
SizeRequest measure = _view.Element.Measure(Context.FromPixels(width), double.PositiveInfinity, MeasureFlags.IncludeMargins);
|
||||
height = (int)Context.ToPixels(_viewCell.Height > 0 ? _viewCell.Height : measure.Request.Height);
|
||||
}
|
||||
else
|
||||
height = (int)Context.ToPixels(ParentRowHeight == -1 ? BaseCellView.DefaultMinHeight : ParentRowHeight);
|
||||
|
||||
SetMeasuredDimension(width, height);
|
||||
|
||||
Performance.Stop(reference);
|
||||
}
|
||||
|
||||
bool WatchForSwipeViewTap()
|
||||
{
|
||||
if (!(_view.Element is SwipeView swipeView))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// If the cell contains a SwipeView, we will have conflicts capturing the touch.
|
||||
// So we need to watch locally for Tap and if we see it (and the SwipeView is open),
|
||||
// trigger the Click manually.
|
||||
if (!((ISwipeViewController)swipeView).IsOpen)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void UpdateWatchForLongPress()
|
||||
{
|
||||
var vw = _view.Element as Microsoft.Maui.Controls.View;
|
||||
if (vw == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// If the view cell has any context actions and the View itself has any Tap Gestures, they're going
|
||||
// to conflict with one another - the Tap Gesture handling will prevent the ListViewAdapter's
|
||||
// LongClick handling from happening. So we need to watch locally for LongPress and if we see it,
|
||||
// trigger the LongClick manually.
|
||||
_watchForLongPress = _viewCell.ContextActions.Count > 0
|
||||
&& HasTapGestureRecognizers(vw);
|
||||
}
|
||||
|
||||
static bool HasTapGestureRecognizers(View view)
|
||||
{
|
||||
return view.GestureRecognizers.Any(t => t is TapGestureRecognizer)
|
||||
|| view.LogicalChildren.OfType<View>().Any(HasTapGestureRecognizers);
|
||||
}
|
||||
|
||||
void TriggerClick()
|
||||
{
|
||||
ListViewRenderer?.ClickOn(this);
|
||||
}
|
||||
|
||||
void TriggerLongClick()
|
||||
{
|
||||
ListViewRenderer?.LongClickOn(this);
|
||||
}
|
||||
|
||||
internal class TapGestureListener : Java.Lang.Object, GestureDetector.IOnGestureListener
|
||||
{
|
||||
readonly Action _onClick;
|
||||
|
||||
internal TapGestureListener(Action onClick)
|
||||
{
|
||||
_onClick = onClick;
|
||||
}
|
||||
|
||||
internal TapGestureListener(IntPtr handle, JniHandleOwnership ownership) : base(handle, ownership)
|
||||
{
|
||||
}
|
||||
|
||||
public bool OnDown(MotionEvent e)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool OnFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public void OnLongPress(MotionEvent e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public bool OnScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public void OnShowPress(MotionEvent e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public bool OnSingleTapUp(MotionEvent e)
|
||||
{
|
||||
_onClick();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
internal class LongPressGestureListener : Java.Lang.Object, GestureDetector.IOnGestureListener
|
||||
{
|
||||
readonly Action _onLongClick;
|
||||
|
||||
internal LongPressGestureListener(Action onLongClick)
|
||||
{
|
||||
_onLongClick = onLongClick;
|
||||
}
|
||||
|
||||
internal LongPressGestureListener(IntPtr handle, JniHandleOwnership ownership) : base(handle, ownership)
|
||||
{
|
||||
}
|
||||
|
||||
public bool OnDown(MotionEvent e)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool OnFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public void OnLongPress(MotionEvent e)
|
||||
{
|
||||
_onLongClick();
|
||||
}
|
||||
|
||||
public bool OnScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public void OnShowPress(MotionEvent e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public bool OnSingleTapUp(MotionEvent e)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
using AndroidX.RecyclerView.Widget;
|
||||
using AndroidX.RecyclerView.Widget;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
// Passes change notifications directly through to a RecyclerView.Adapter
|
||||
internal class AdapterNotifier : ICollectionChangedNotifier
|
|
@ -1,10 +1,10 @@
|
|||
using System;
|
||||
using System;
|
||||
using AndroidX.RecyclerView.Widget;
|
||||
using ARect = Android.Graphics.Rect;
|
||||
using AView = Android.Views.View;
|
||||
using FormsCarouselView = Xamarin.Forms.CarouselView;
|
||||
using FormsCarouselView = Microsoft.Maui.Controls.CarouselView;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class CarouselSpacingItemDecoration : RecyclerView.ItemDecoration
|
||||
{
|
|
@ -1,9 +1,9 @@
|
|||
using System;
|
||||
using System;
|
||||
using Android.Content;
|
||||
using AndroidX.RecyclerView.Widget;
|
||||
using static Xamarin.Forms.Platform.Android.CarouselViewRenderer;
|
||||
using static Microsoft.Maui.Controls.Compatibility.Platform.Android.CarouselViewRenderer;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android.CollectionView
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android.CollectionView
|
||||
{
|
||||
public class CarouselViewAdapter<TItemsView, TItemsViewSource> : ItemsViewAdapter<TItemsView, TItemsViewSource>
|
||||
where TItemsView : ItemsView
|
|
@ -0,0 +1,748 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Threading.Tasks;
|
||||
using Android.Content;
|
||||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using AndroidX.RecyclerView.Widget;
|
||||
using Microsoft.Maui.Controls.Compatibility.Platform.Android.CollectionView;
|
||||
using FormsCarouselView = Microsoft.Maui.Controls.CarouselView;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class CarouselViewRenderer : ItemsViewRenderer<ItemsView, ItemsViewAdapter<ItemsView, IItemsViewSource>, IItemsViewSource>
|
||||
{
|
||||
protected FormsCarouselView Carousel => ItemsView as FormsCarouselView;
|
||||
ItemDecoration _itemDecoration;
|
||||
CarouselViewLoopManager _carouselViewLoopManager;
|
||||
bool _isSwipeEnabled;
|
||||
int _oldPosition;
|
||||
int _gotoPosition = -1;
|
||||
bool _noNeedForScroll;
|
||||
bool _initialized;
|
||||
bool _isVisible;
|
||||
bool _disposed;
|
||||
|
||||
List<View> _oldViews;
|
||||
CarouselViewwOnGlobalLayoutListener _carouselViewLayoutListener;
|
||||
|
||||
public CarouselViewRenderer(Context context) : base(context)
|
||||
{
|
||||
_oldViews = new List<View>();
|
||||
_carouselViewLoopManager = new CarouselViewLoopManager();
|
||||
}
|
||||
|
||||
public override bool OnInterceptTouchEvent(MotionEvent ev)
|
||||
{
|
||||
if (!_isSwipeEnabled)
|
||||
return false;
|
||||
|
||||
return base.OnInterceptTouchEvent(ev);
|
||||
}
|
||||
|
||||
protected virtual bool IsHorizontal => (Carousel?.ItemsLayout)?.Orientation == ItemsLayoutOrientation.Horizontal;
|
||||
|
||||
protected override int DetermineTargetPosition(ScrollToRequestEventArgs args)
|
||||
{
|
||||
if (args.Mode == ScrollToMode.Element)
|
||||
return ItemsViewAdapter.GetPositionForItem(args.Item);
|
||||
|
||||
if (!Carousel.Loop)
|
||||
return args.Index;
|
||||
|
||||
if (_carouselViewLoopManager == null)
|
||||
return -1;
|
||||
|
||||
var carouselPosition = GetCarouselViewCurrentIndex(Carousel.Position);
|
||||
var getGoIndex = _carouselViewLoopManager.GetGoToIndex(this, carouselPosition, args.Index);
|
||||
|
||||
return getGoIndex;
|
||||
}
|
||||
|
||||
public override bool OnTouchEvent(MotionEvent e)
|
||||
{
|
||||
if (Carousel.Loop)
|
||||
_carouselViewLoopManager.CenterIfNeeded(this, IsHorizontal);
|
||||
|
||||
return base.OnTouchEvent(e);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && !_disposed)
|
||||
{
|
||||
_disposed = true;
|
||||
_carouselViewLoopManager?.SetItemsSource(null);
|
||||
_carouselViewLoopManager = null;
|
||||
|
||||
if (_itemDecoration != null)
|
||||
{
|
||||
_itemDecoration.Dispose();
|
||||
_itemDecoration = null;
|
||||
}
|
||||
|
||||
ClearLayoutListener();
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
protected override void SetUpNewElement(ItemsView newElement)
|
||||
{
|
||||
base.SetUpNewElement(newElement);
|
||||
|
||||
if (newElement == null)
|
||||
return;
|
||||
|
||||
AddLayoutListener();
|
||||
UpdateIsSwipeEnabled();
|
||||
UpdateIsBounceEnabled();
|
||||
UpdateItemSpacing();
|
||||
UpdateInitialPosition();
|
||||
}
|
||||
|
||||
protected override RecyclerViewScrollListener<ItemsView, IItemsViewSource> CreateScrollListener()
|
||||
{
|
||||
return new CarouselViewOnScrollListener(ItemsView, ItemsViewAdapter, _carouselViewLoopManager);
|
||||
}
|
||||
|
||||
protected override void TearDownOldElement(ItemsView oldElement)
|
||||
{
|
||||
if (Carousel != null)
|
||||
Carousel.Scrolled -= CarouselViewScrolled;
|
||||
|
||||
ClearLayoutListener();
|
||||
base.TearDownOldElement(oldElement);
|
||||
}
|
||||
|
||||
protected override void UpdateAdapter()
|
||||
{
|
||||
// By default the CollectionViewAdapter creates the items at whatever size the template calls for
|
||||
// But for the Carousel, we want it to create the items to fit the width/height of the viewport
|
||||
// So we give it an alternate delegate for creating the views
|
||||
|
||||
var oldItemViewAdapter = ItemsViewAdapter;
|
||||
UnsubscribeCollectionItemsSourceChanged(oldItemViewAdapter);
|
||||
if (oldItemViewAdapter != null)
|
||||
{
|
||||
Carousel.SetValueFromRenderer(FormsCarouselView.PositionProperty, 0);
|
||||
Carousel.SetValueFromRenderer(FormsCarouselView.CurrentItemProperty, null);
|
||||
}
|
||||
|
||||
ItemsViewAdapter = new CarouselViewAdapter<ItemsView, IItemsViewSource>(Carousel,
|
||||
(view, context) => new SizedItemContentView(Context, GetItemWidth, GetItemHeight));
|
||||
|
||||
_gotoPosition = -1;
|
||||
|
||||
SwapAdapter(ItemsViewAdapter, false);
|
||||
|
||||
UpdateInitialPosition();
|
||||
|
||||
if (ItemsViewAdapter?.ItemsSource is ObservableItemsSource observableItemsSource)
|
||||
observableItemsSource.CollectionItemsSourceChanged += CollectionItemsSourceChanged;
|
||||
|
||||
oldItemViewAdapter?.Dispose();
|
||||
}
|
||||
|
||||
protected override void UpdateItemsSource()
|
||||
{
|
||||
UpdateAdapter();
|
||||
UpdateEmptyView();
|
||||
_carouselViewLoopManager.SetItemsSource(ItemsViewAdapter.ItemsSource);
|
||||
}
|
||||
|
||||
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs changedProperty)
|
||||
{
|
||||
base.OnElementPropertyChanged(sender, changedProperty);
|
||||
|
||||
if (changedProperty.Is(FormsCarouselView.PeekAreaInsetsProperty))
|
||||
UpdatePeekAreaInsets();
|
||||
else if (changedProperty.Is(FormsCarouselView.IsSwipeEnabledProperty))
|
||||
UpdateIsSwipeEnabled();
|
||||
else if (changedProperty.Is(FormsCarouselView.IsBounceEnabledProperty))
|
||||
UpdateIsBounceEnabled();
|
||||
else if (changedProperty.Is(LinearItemsLayout.ItemSpacingProperty))
|
||||
UpdateItemSpacing();
|
||||
else if (changedProperty.Is(FormsCarouselView.PositionProperty))
|
||||
UpdateFromPosition();
|
||||
else if (changedProperty.Is(FormsCarouselView.CurrentItemProperty))
|
||||
UpdateFromCurrentItem();
|
||||
else if (changedProperty.Is(FormsCarouselView.LoopProperty))
|
||||
UpdateAdapter();
|
||||
}
|
||||
|
||||
protected override ItemDecoration CreateSpacingDecoration(IItemsLayout itemsLayout)
|
||||
{
|
||||
return new CarouselSpacingItemDecoration(itemsLayout, Carousel);
|
||||
}
|
||||
|
||||
protected override void UpdateItemSpacing()
|
||||
{
|
||||
if (ItemsLayout == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
UpdateItemDecoration();
|
||||
|
||||
var adapter = GetAdapter();
|
||||
|
||||
if (adapter != null)
|
||||
{
|
||||
adapter.NotifyItemChanged(_oldPosition);
|
||||
}
|
||||
|
||||
base.UpdateItemSpacing();
|
||||
}
|
||||
|
||||
protected override IItemsLayout GetItemsLayout() => Carousel.ItemsLayout;
|
||||
|
||||
protected override void ScrollTo(ScrollToRequestEventArgs args)
|
||||
{
|
||||
var position = DetermineTargetPosition(args);
|
||||
|
||||
if (_carouselViewLoopManager == null)
|
||||
return;
|
||||
|
||||
// Special case here
|
||||
// We could have a race condition where we are scrolling our collection to center the first item
|
||||
// And at the same time the user is requesting we go to a particular item
|
||||
if (position == -1)
|
||||
{
|
||||
if (Carousel.Loop)
|
||||
_carouselViewLoopManager.AddPendingScrollTo(args);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (args.IsAnimated)
|
||||
{
|
||||
ScrollHelper.AnimateScrollToPosition(position, args.ScrollToPosition);
|
||||
}
|
||||
else
|
||||
{
|
||||
ScrollHelper.JumpScrollToPosition(position, args.ScrollToPosition);
|
||||
}
|
||||
}
|
||||
|
||||
int GetItemWidth()
|
||||
{
|
||||
var itemWidth = Width;
|
||||
|
||||
if (ItemsLayout is LinearItemsLayout listItemsLayout && listItemsLayout.Orientation == ItemsLayoutOrientation.Horizontal)
|
||||
itemWidth = (int)(Width - Context?.ToPixels(Carousel.PeekAreaInsets.Left) - Context?.ToPixels(Carousel.PeekAreaInsets.Right) - Context?.ToPixels(listItemsLayout.ItemSpacing));
|
||||
|
||||
return itemWidth;
|
||||
}
|
||||
|
||||
int GetItemHeight()
|
||||
{
|
||||
var itemHeight = Height;
|
||||
|
||||
if (ItemsLayout is LinearItemsLayout listItemsLayout && listItemsLayout.Orientation == ItemsLayoutOrientation.Vertical)
|
||||
itemHeight = (int)(Height - Context?.ToPixels(Carousel.PeekAreaInsets.Top) - Context?.ToPixels(Carousel.PeekAreaInsets.Bottom) - Context?.ToPixels(listItemsLayout.ItemSpacing));
|
||||
|
||||
return itemHeight;
|
||||
}
|
||||
|
||||
void UpdateIsSwipeEnabled() => _isSwipeEnabled = Carousel?.IsSwipeEnabled ?? false;
|
||||
|
||||
void UpdateIsBounceEnabled() => OverScrollMode = Carousel?.IsBounceEnabled == true ? OverScrollMode.Always : OverScrollMode.Never;
|
||||
|
||||
void UpdatePeekAreaInsets() => UpdateAdapter();
|
||||
|
||||
void UnsubscribeCollectionItemsSourceChanged(ItemsViewAdapter<ItemsView, IItemsViewSource> oldItemViewAdapter)
|
||||
{
|
||||
if (oldItemViewAdapter?.ItemsSource is ObservableItemsSource oldObservableItemsSource)
|
||||
oldObservableItemsSource.CollectionItemsSourceChanged -= CollectionItemsSourceChanged;
|
||||
}
|
||||
|
||||
void CollectionItemsSourceChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
||||
{
|
||||
if (!(ItemsViewAdapter?.ItemsSource is IItemsViewSource observableItemsSource))
|
||||
return;
|
||||
|
||||
var carouselPosition = Carousel.Position;
|
||||
var currentItemPosition = observableItemsSource.GetPosition(Carousel.CurrentItem);
|
||||
var count = observableItemsSource.Count;
|
||||
|
||||
bool removingCurrentElement = currentItemPosition == -1;
|
||||
bool removingLastElement = e.OldStartingIndex == count;
|
||||
bool removingFirstElement = e.OldStartingIndex == 0;
|
||||
bool removingAnyPrevious =
|
||||
e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove
|
||||
&& e.OldStartingIndex < carouselPosition;
|
||||
|
||||
_noNeedForScroll = true;
|
||||
_gotoPosition = -1;
|
||||
|
||||
if (removingCurrentElement)
|
||||
{
|
||||
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Reset)
|
||||
{
|
||||
carouselPosition = 0;
|
||||
}
|
||||
|
||||
if (removingFirstElement)
|
||||
carouselPosition = 0;
|
||||
else if (removingLastElement)
|
||||
carouselPosition = Carousel.Position - 1;
|
||||
|
||||
if (Carousel.Loop)
|
||||
{
|
||||
UpdateAdapter();
|
||||
ScrollToPosition(carouselPosition);
|
||||
}
|
||||
}
|
||||
//If we are adding a new item make sure to maintain the CurrentItemPosition
|
||||
else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add
|
||||
&& currentItemPosition != -1)
|
||||
{
|
||||
carouselPosition = currentItemPosition;
|
||||
}
|
||||
|
||||
// Queue the rest up for later after the Adapter has finished processing item change notifications
|
||||
|
||||
if (removingAnyPrevious)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Device.BeginInvokeOnMainThread(() =>
|
||||
{
|
||||
|
||||
SetCurrentItem(carouselPosition);
|
||||
UpdatePosition(carouselPosition);
|
||||
|
||||
//If we are adding or removing the last item we need to update
|
||||
//the inset that we give to items so they are centered
|
||||
if (e.NewStartingIndex == count - 1 || removingLastElement)
|
||||
{
|
||||
UpdateItemDecoration();
|
||||
}
|
||||
|
||||
UpdateVisualStates();
|
||||
});
|
||||
}
|
||||
|
||||
void UpdateItemDecoration()
|
||||
{
|
||||
if (_itemDecoration != null)
|
||||
RemoveItemDecoration(_itemDecoration);
|
||||
_itemDecoration = CreateSpacingDecoration(ItemsLayout);
|
||||
AddItemDecoration(_itemDecoration);
|
||||
}
|
||||
|
||||
void UpdateInitialPosition()
|
||||
{
|
||||
int itemCount = 0;
|
||||
int position;
|
||||
|
||||
if (Carousel.CurrentItem != null)
|
||||
{
|
||||
var carouselEnumerator = Carousel.ItemsSource.GetEnumerator();
|
||||
var items = new List<object>();
|
||||
|
||||
while (carouselEnumerator.MoveNext())
|
||||
{
|
||||
items.Add(carouselEnumerator.Current);
|
||||
itemCount++;
|
||||
}
|
||||
|
||||
position = items.IndexOf(Carousel.CurrentItem);
|
||||
Carousel.Position = position;
|
||||
}
|
||||
else
|
||||
position = Carousel.Position;
|
||||
|
||||
_oldPosition = position;
|
||||
|
||||
SetCurrentItem(_oldPosition);
|
||||
|
||||
var index = Carousel.Loop ? LoopedPosition(itemCount) + _oldPosition : _oldPosition;
|
||||
ScrollHelper.JumpScrollToPosition(index, Microsoft.Maui.Controls.ScrollToPosition.Center);
|
||||
_gotoPosition = -1;
|
||||
}
|
||||
|
||||
int LoopedPosition(int itemCount)
|
||||
{
|
||||
if (itemCount == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
var loopScale = CarouselViewLoopManager.LoopScale / 2;
|
||||
return loopScale - (loopScale % itemCount);
|
||||
}
|
||||
|
||||
void UpdatePositionFromVisibilityChanges()
|
||||
{
|
||||
if (_isVisible != Carousel.IsVisible)
|
||||
UpdateInitialPosition();
|
||||
|
||||
_isVisible = Carousel.IsVisible;
|
||||
}
|
||||
|
||||
void UpdateVisualStates()
|
||||
{
|
||||
if (!(GetLayoutManager() is LinearLayoutManager layoutManager))
|
||||
return;
|
||||
|
||||
var first = layoutManager.FindFirstVisibleItemPosition();
|
||||
var last = layoutManager.FindLastVisibleItemPosition();
|
||||
|
||||
|
||||
if (first == -1)
|
||||
return;
|
||||
|
||||
var newViews = new List<View>();
|
||||
var carouselPosition = this.CalculateCenterItemIndex(first, layoutManager, false);
|
||||
var previousPosition = carouselPosition - 1;
|
||||
var nextPosition = carouselPosition + 1;
|
||||
|
||||
for (int i = first; i <= last; i++)
|
||||
{
|
||||
var cell = layoutManager.FindViewByPosition(i);
|
||||
if (!((cell as ItemContentView)?.VisualElementRenderer?.Element is View itemView))
|
||||
return;
|
||||
|
||||
if (i == carouselPosition)
|
||||
{
|
||||
VisualStateManager.GoToState(itemView, FormsCarouselView.CurrentItemVisualState);
|
||||
}
|
||||
else if (i == previousPosition)
|
||||
{
|
||||
VisualStateManager.GoToState(itemView, FormsCarouselView.PreviousItemVisualState);
|
||||
}
|
||||
else if (i == nextPosition)
|
||||
{
|
||||
VisualStateManager.GoToState(itemView, FormsCarouselView.NextItemVisualState);
|
||||
}
|
||||
else
|
||||
{
|
||||
VisualStateManager.GoToState(itemView, FormsCarouselView.DefaultItemVisualState);
|
||||
}
|
||||
|
||||
newViews.Add(itemView);
|
||||
|
||||
if (!Carousel.VisibleViews.Contains(itemView))
|
||||
{
|
||||
Carousel.VisibleViews.Add(itemView);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var itemView in _oldViews)
|
||||
{
|
||||
if (!newViews.Contains(itemView))
|
||||
{
|
||||
VisualStateManager.GoToState(itemView, FormsCarouselView.DefaultItemVisualState);
|
||||
if (Carousel.VisibleViews.Contains(itemView))
|
||||
{
|
||||
Carousel.VisibleViews.Remove(itemView);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_oldViews = newViews;
|
||||
}
|
||||
|
||||
void CarouselViewScrolled(object sender, ItemsViewScrolledEventArgs e)
|
||||
{
|
||||
if (!_initialized || !_isVisible)
|
||||
return;
|
||||
|
||||
_noNeedForScroll = false;
|
||||
var index = e.CenterItemIndex;
|
||||
if (Carousel?.Loop == true)
|
||||
{
|
||||
index = GetCarouselViewCurrentIndex(index);
|
||||
}
|
||||
|
||||
if (index == -1)
|
||||
return;
|
||||
|
||||
UpdatePosition(index);
|
||||
UpdateVisualStates();
|
||||
}
|
||||
|
||||
int GetCarouselViewCurrentIndex(int index)
|
||||
{
|
||||
var centeredView = this.GetCenteredView();
|
||||
|
||||
if (centeredView is ItemContentView templatedCell)
|
||||
{
|
||||
var bContext = templatedCell?.Element?.BindingContext;
|
||||
index = ItemsViewAdapter.GetPositionForItem(bContext);
|
||||
}
|
||||
else
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
return index;
|
||||
}
|
||||
|
||||
void UpdatePosition(int position)
|
||||
{
|
||||
var carouselPosition = Carousel.Position;
|
||||
|
||||
// We arrived center
|
||||
if (position == _gotoPosition)
|
||||
_gotoPosition = -1;
|
||||
|
||||
if (_gotoPosition == -1 && carouselPosition != position)
|
||||
Carousel.SetValueFromRenderer(FormsCarouselView.PositionProperty, position);
|
||||
}
|
||||
|
||||
void SetCurrentItem(int carouselPosition)
|
||||
{
|
||||
if (ItemsViewAdapter?.ItemsSource?.Count == 0)
|
||||
return;
|
||||
|
||||
var item = ItemsViewAdapter.ItemsSource.GetItem(carouselPosition);
|
||||
Carousel.SetValueFromRenderer(FormsCarouselView.CurrentItemProperty, item);
|
||||
}
|
||||
|
||||
void UpdateFromCurrentItem()
|
||||
{
|
||||
var currentItemPosition = ItemsViewAdapter.ItemsSource.GetPosition(Carousel.CurrentItem);
|
||||
var carouselPosition = Carousel.Position;
|
||||
|
||||
if (_gotoPosition == -1 && currentItemPosition != carouselPosition)
|
||||
{
|
||||
_gotoPosition = currentItemPosition;
|
||||
Carousel.ScrollTo(currentItemPosition, position: Microsoft.Maui.Controls.ScrollToPosition.Center, animate: Carousel.AnimateCurrentItemChanges);
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateFromPosition()
|
||||
{
|
||||
if (!_initialized)
|
||||
{
|
||||
_carouselViewLoopManager.AddPendingScrollTo(new ScrollToRequestEventArgs(Carousel.Position, -1, Microsoft.Maui.Controls.ScrollToPosition.Center, false));
|
||||
}
|
||||
|
||||
var itemCount = ItemsViewAdapter?.ItemsSource.Count ?? 0;
|
||||
var carouselPosition = Carousel.Position;
|
||||
|
||||
if (itemCount == 0)
|
||||
{
|
||||
//we are trying to set a position but our Collection doesn't have items still
|
||||
_oldPosition = carouselPosition;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (carouselPosition >= itemCount || carouselPosition < 0)
|
||||
throw new IndexOutOfRangeException($"Can't set CarouselView to position {carouselPosition}. ItemsSource has {itemCount} items.");
|
||||
|
||||
if (carouselPosition == _gotoPosition)
|
||||
_gotoPosition = -1;
|
||||
|
||||
if (_noNeedForScroll)
|
||||
{
|
||||
_noNeedForScroll = false;
|
||||
return;
|
||||
}
|
||||
|
||||
var centerPosition = GetCarouselViewCurrentIndex(carouselPosition);
|
||||
if (_gotoPosition == -1 && !Carousel.IsDragging && !Carousel.IsScrolling && centerPosition != carouselPosition)
|
||||
{
|
||||
_gotoPosition = carouselPosition;
|
||||
|
||||
Carousel.ScrollTo(carouselPosition, position: Microsoft.Maui.Controls.ScrollToPosition.Center, animate: Carousel.AnimatePositionChanges);
|
||||
}
|
||||
SetCurrentItem(carouselPosition);
|
||||
}
|
||||
|
||||
void AddLayoutListener()
|
||||
{
|
||||
if (_carouselViewLayoutListener != null)
|
||||
return;
|
||||
|
||||
_carouselViewLayoutListener = new CarouselViewwOnGlobalLayoutListener();
|
||||
_carouselViewLayoutListener.LayoutReady += LayoutReady;
|
||||
|
||||
ViewTreeObserver.AddOnGlobalLayoutListener(_carouselViewLayoutListener);
|
||||
}
|
||||
|
||||
void LayoutReady(object sender, EventArgs e)
|
||||
{
|
||||
if (!_initialized)
|
||||
{
|
||||
Carousel.Scrolled += CarouselViewScrolled;
|
||||
if (Carousel.Loop)
|
||||
{
|
||||
_carouselViewLoopManager.CenterIfNeeded(this, IsHorizontal);
|
||||
_carouselViewLoopManager.CheckPendingScrollToEvents(this);
|
||||
}
|
||||
_initialized = true;
|
||||
_isVisible = Carousel.IsVisible;
|
||||
}
|
||||
|
||||
UpdatePositionFromVisibilityChanges();
|
||||
UpdateVisualStates();
|
||||
}
|
||||
|
||||
void ClearLayoutListener()
|
||||
{
|
||||
if (_carouselViewLayoutListener == null)
|
||||
return;
|
||||
|
||||
ViewTreeObserver?.RemoveOnGlobalLayoutListener(_carouselViewLayoutListener);
|
||||
_carouselViewLayoutListener.LayoutReady -= LayoutReady;
|
||||
_carouselViewLayoutListener = null;
|
||||
}
|
||||
|
||||
class CarouselViewOnScrollListener : RecyclerViewScrollListener<ItemsView, IItemsViewSource>
|
||||
{
|
||||
readonly FormsCarouselView _carouselView;
|
||||
readonly CarouselViewLoopManager _carouselViewLoopManager;
|
||||
|
||||
public CarouselViewOnScrollListener(ItemsView itemsView, ItemsViewAdapter<ItemsView, IItemsViewSource> itemsViewAdapter, CarouselViewLoopManager carouselViewLoopManager) : base(itemsView, itemsViewAdapter, true)
|
||||
{
|
||||
_carouselView = itemsView as FormsCarouselView;
|
||||
_carouselViewLoopManager = carouselViewLoopManager;
|
||||
}
|
||||
|
||||
public override void OnScrollStateChanged(RecyclerView recyclerView, int state)
|
||||
{
|
||||
base.OnScrollStateChanged(recyclerView, state);
|
||||
|
||||
if (_carouselView.IsSwipeEnabled)
|
||||
{
|
||||
if (state == ScrollStateDragging)
|
||||
_carouselView.SetIsDragging(true);
|
||||
else
|
||||
_carouselView.SetIsDragging(false);
|
||||
}
|
||||
|
||||
_carouselView.IsScrolling = state != ScrollStateIdle;
|
||||
}
|
||||
|
||||
public override void OnScrolled(RecyclerView recyclerView, int dx, int dy)
|
||||
{
|
||||
base.OnScrolled(recyclerView, dx, dy);
|
||||
|
||||
if (_carouselView.Loop)
|
||||
{
|
||||
//We could have a race condition where we are scrolling our collection to center the first item
|
||||
//We save that ScrollToEventARgs and call it again
|
||||
_carouselViewLoopManager.CheckPendingScrollToEvents(recyclerView);
|
||||
}
|
||||
}
|
||||
|
||||
protected override (int First, int Center, int Last) GetVisibleItemsIndex(RecyclerView recyclerView)
|
||||
{
|
||||
var firstVisibleItemIndex = -1;
|
||||
var lastVisibleItemIndex = -1;
|
||||
var centerItemIndex = -1;
|
||||
|
||||
if (recyclerView.GetLayoutManager() is LinearLayoutManager linearLayoutManager)
|
||||
{
|
||||
var firstView = recyclerView.FindViewHolderForAdapterPosition(linearLayoutManager.FindFirstVisibleItemPosition());
|
||||
var lastView = recyclerView.FindViewHolderForAdapterPosition(linearLayoutManager.FindLastVisibleItemPosition());
|
||||
var centerView = recyclerView.GetCenteredView();
|
||||
firstVisibleItemIndex = GetIndexFromTemplatedCell(firstView?.ItemView);
|
||||
lastVisibleItemIndex = GetIndexFromTemplatedCell(lastView?.ItemView);
|
||||
centerItemIndex = GetIndexFromTemplatedCell(centerView);
|
||||
}
|
||||
|
||||
return (firstVisibleItemIndex, centerItemIndex, lastVisibleItemIndex);
|
||||
}
|
||||
|
||||
int GetIndexFromTemplatedCell(global::Android.Views.View view)
|
||||
{
|
||||
int itemIndex = -1;
|
||||
|
||||
if (view is ItemContentView templatedCell)
|
||||
{
|
||||
var bContext = templatedCell?.Element?.BindingContext;
|
||||
itemIndex = ItemsViewAdapter.GetPositionForItem(bContext);
|
||||
}
|
||||
|
||||
return itemIndex;
|
||||
}
|
||||
}
|
||||
|
||||
class CarouselViewwOnGlobalLayoutListener : Java.Lang.Object, ViewTreeObserver.IOnGlobalLayoutListener
|
||||
{
|
||||
public EventHandler<EventArgs> LayoutReady;
|
||||
public void OnGlobalLayout()
|
||||
{
|
||||
LayoutReady?.Invoke(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
|
||||
internal class CarouselViewLoopManager
|
||||
{
|
||||
public const int LoopScale = 16384;
|
||||
|
||||
IItemsViewSource _itemsSource;
|
||||
readonly Queue<ScrollToRequestEventArgs> _pendingScrollTo = new Queue<ScrollToRequestEventArgs>();
|
||||
|
||||
public void CenterIfNeeded(RecyclerView recyclerView, bool isHorizontal)
|
||||
{
|
||||
if (!(recyclerView.GetLayoutManager() is LinearLayoutManager linearLayoutManager))
|
||||
return;
|
||||
|
||||
var itemSourceCount = _itemsSource.Count;
|
||||
|
||||
var firstCompletelyItemVisible = linearLayoutManager.FindFirstCompletelyVisibleItemPosition();
|
||||
|
||||
var offSet = recyclerView.ComputeHorizontalScrollOffset();
|
||||
|
||||
if (!isHorizontal)
|
||||
offSet = recyclerView.ComputeVerticalScrollOffset();
|
||||
|
||||
if (firstCompletelyItemVisible == 0)
|
||||
linearLayoutManager.ScrollToPositionWithOffset(itemSourceCount, -offSet);
|
||||
}
|
||||
|
||||
public void CheckPendingScrollToEvents(RecyclerView recyclerView)
|
||||
{
|
||||
if (!(recyclerView is CarouselViewRenderer carouselViewRenderer))
|
||||
return;
|
||||
|
||||
if (_pendingScrollTo.TryDequeue(out ScrollToRequestEventArgs scrollToRequestEventArgs))
|
||||
carouselViewRenderer.ScrollTo(scrollToRequestEventArgs);
|
||||
}
|
||||
|
||||
public void AddPendingScrollTo(ScrollToRequestEventArgs args) => _pendingScrollTo.Enqueue(args);
|
||||
|
||||
public int GetGoToIndex(RecyclerView recyclerView, int carouselPosition, int newPosition)
|
||||
{
|
||||
if (!(recyclerView.GetLayoutManager() is LinearLayoutManager linearLayoutManager))
|
||||
return -1;
|
||||
|
||||
var currentCarouselPosition = carouselPosition;
|
||||
var itemSourceCount = _itemsSource.Count;
|
||||
|
||||
var diffToStart = currentCarouselPosition + (itemSourceCount - newPosition);
|
||||
var diffToEnd = itemSourceCount - currentCarouselPosition + newPosition;
|
||||
var centerView = recyclerView.GetCenteredView();
|
||||
|
||||
if (centerView == null)
|
||||
return -1;
|
||||
|
||||
var centerPosition = linearLayoutManager.GetPosition(centerView);
|
||||
var increment = currentCarouselPosition - newPosition;
|
||||
var incrementAbs = System.Math.Abs(increment);
|
||||
|
||||
int goToPosition;
|
||||
if (diffToStart < incrementAbs)
|
||||
goToPosition = centerPosition - diffToStart;
|
||||
else if (diffToEnd < incrementAbs)
|
||||
goToPosition = centerPosition + diffToEnd;
|
||||
else
|
||||
goToPosition = centerPosition - increment;
|
||||
|
||||
return goToPosition;
|
||||
}
|
||||
|
||||
public void SetItemsSource(IItemsViewSource itemsSource) => _itemsSource = itemsSource;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
using AndroidX.RecyclerView.Widget;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
internal class CenterSnapHelper : NongreedySnapHelper
|
||||
{
|
||||
public override AView FindSnapView(RecyclerView.LayoutManager layoutManager)
|
||||
{
|
||||
if (!CanSnap)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return base.FindSnapView(layoutManager);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using Android.Content;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
public class CollectionViewRenderer : GroupableItemsViewRenderer<GroupableItemsView, GroupableItemsViewAdapter<GroupableItemsView, IGroupableItemsViewSource>, IGroupableItemsViewSource>
|
||||
{
|
||||
public CollectionViewRenderer(Context context) : base(context)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
|
@ -3,7 +3,7 @@ using AndroidX.RecyclerView.Widget;
|
|||
using static AndroidX.RecyclerView.Widget.RecyclerView;
|
||||
using Object = Java.Lang.Object;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
internal class DataChangeObserver : RecyclerView.AdapterDataObserver
|
||||
{
|
|
@ -2,7 +2,7 @@ using AndroidX.RecyclerView.Widget;
|
|||
using ALayoutDirection = Android.Views.LayoutDirection;
|
||||
using AView = Android.Views.View;
|
||||
|
||||
namespace Xamarin.Forms.Platform.Android
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
internal abstract class EdgeSnapHelper : NongreedySnapHelper
|
||||
{
|
|
@ -0,0 +1,47 @@
|
|||
using System;
|
||||
|
||||
namespace Microsoft.Maui.Controls.Compatibility.Platform.Android
|
||||
{
|
||||
sealed internal class EmptySource : IItemsViewSource
|
||||
{
|
||||
public int Count => 0;
|
||||
|
||||
public bool HasHeader { get; set; }
|
||||
public bool HasFooter { get; set; }
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public bool IsHeader(int index)
|
||||
{
|
||||
return HasHeader && index == 0;
|
||||
}
|
||||
|
||||
public bool IsFooter(int index)
|
||||
{
|
||||
if (!HasFooter)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (HasHeader)
|
||||
{
|
||||
return index == 1;
|
||||
}
|
||||
|
||||
return index == 0;
|
||||
}
|
||||
|
||||
public int GetPosition(object item)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
public object GetItem(int position)
|
||||
{
|
||||
throw new IndexOutOfRangeException("IItemsViewSource is empty");
|
||||
}
|
||||
}
|
||||
}
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче