diff --git a/.azurepipelines/build-release-packages-1es.yml b/.azurepipelines/build-release-packages-1es.yml
index f09d6542c..63ff31a69 100644
--- a/.azurepipelines/build-release-packages-1es.yml
+++ b/.azurepipelines/build-release-packages-1es.yml
@@ -28,8 +28,74 @@ extends:
sdl:
sourceAnalysisPool: 1ES-PT-Windows-2022
stages:
+
+ - stage: DownloadExternalPipelineArtifacts
+ pool:
+ name: Azure Pipelines
+ image: macos-14
+ os: macOS
+ jobs:
+ - job: downloadExternalArtifacts
+ displayName: DownloadExternalPipelineArtifacts
+ templateContext:
+ outputs:
+ - output: pipelineArtifact
+ displayName: 'Publish Artifact: framework'
+ path: '$(Build.ArtifactStagingDirectory)'
+ artifactName: external-artifacts
+ steps:
+ - checkout: self
+ fetchTags: false
+
+ - task: DownloadPipelineArtifact@2
+ displayName: 'Download apple artifacts'
+ inputs:
+ buildType: 'specific'
+ project: 'SDK'
+ pipeline: 'AppCenter-SDK-Apple Build Frameworks and Documentation 1ES'
+ buildVersionToDownload: 'latestFromBranch'
+ patterns: '**/Release/!(*carthage*)*.zip'
+ targetPath: '$(Build.SourcesDirectory)/externals/apple_unflattened'
+
+ - task: DownloadPipelineArtifact@2
+ displayName: 'Download android artifacts'
+ inputs:
+ buildType: 'specific'
+ project: 'SDK'
+ buildVersionToDownload: 'latestFromBranch'
+ pipeline: 'AppCenter-SDK-Android Publish Maven 1ES'
+ patterns: '**/Release/appcenter/**/*.aar'
+ targetPath: '$(Build.SourcesDirectory)/externals/android_unflattened'
+
+ - task: Bash@3
+ displayName: 'Flatten Android artifacts'
+ inputs:
+ targetType: 'inline'
+ script: |
+ echo "Flattening Android artifacts:"
+ mkdir -p $(Build.SourcesDirectory)/externals/android
+ find $(Build.SourcesDirectory)/externals/android_unflattened -name '*.aar' -exec mv {} $(Build.SourcesDirectory)/externals/android/ \;
+ rm -rf $(Build.SourcesDirectory)/externals/android_unflattened
+
+ - task: Bash@3
+ displayName: 'Flatten Apple artifacts'
+ inputs:
+ targetType: 'inline'
+ script: |
+ echo "Flattening Apple artifacts:"
+ mkdir -p $(Build.SourcesDirectory)/externals/apple
+ find $(Build.SourcesDirectory)/externals/apple_unflattened -name '*.zip' -exec mv {} $(Build.SourcesDirectory)/externals/apple/ \;
+ rm -rf $(Build.SourcesDirectory)/externals/apple_unflattened
+
+ - task: CopyFiles@2
+ displayName: 'Copy artifacts'
+ inputs:
+ SourceFolder: '$(Build.SourcesDirectory)/externals'
+ TargetFolder: '$(Build.ArtifactStagingDirectory)'
+
- stage: BuildWindowsAssemblies
- dependsOn: []
+ dependsOn:
+ - DownloadExternalPipelineArtifacts
jobs:
- job: sdkBuildJob
displayName: BuildWindowsAssemblies
@@ -44,12 +110,11 @@ extends:
- checkout: self
fetchTags: false
- - task: AzureKeyVault@2
+ - task: DownloadPipelineArtifact@2
inputs:
- azureSubscription: 'AC - Dev Infra & Build Pool'
- KeyVaultName: 'mobile-center-sdk'
- SecretsFilter: 'appcenter-sdk-blob-storage-access-secret'
- RunAsPreJob: false
+ artifact: 'external-artifacts'
+ targetPath: '$(Build.SourcesDirectory)/externals'
+ displayName: 'Download pipeline artifacts'
- task: PowerShell@2
displayName: 'Set Release Version'
@@ -62,10 +127,8 @@ extends:
displayName: 'Prepare Assemblies'
inputs:
target: PrepareAssemblies
- arguments: '--StorageAuthParams="$(appcenter-sdk-blob-storage-access-secret)"'
Version: 2.2.0
-
- task: CopyFiles@2
displayName: 'Copy Assemblies'
inputs:
@@ -73,10 +136,11 @@ extends:
TargetFolder: '$(Build.ArtifactStagingDirectory)'
- stage: BuildDotNetAssemblies
- dependsOn: []
+ dependsOn:
+ - DownloadExternalPipelineArtifacts
pool:
name: Azure Pipelines
- image: macos-12
+ image: macos-14
os: macOS
demands:
- msbuild
@@ -92,6 +156,12 @@ extends:
- checkout: self
fetchTags: false
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ artifact: 'external-artifacts'
+ targetPath: '$(Build.SourcesDirectory)/externals'
+ displayName: 'Download pipeline artifacts'
+
- task: Bash@3
displayName: 'Set Release Version'
inputs:
@@ -106,13 +176,6 @@ extends:
jdkArchitectureOption: x64
jdkSourceOption: PreInstalled
- - task: AzureKeyVault@2
- inputs:
- azureSubscription: 'AC - Dev Infra & Build Pool'
- KeyVaultName: 'mobile-center-sdk'
- SecretsFilter: 'appcenter-sdk-blob-storage-access-secret'
- RunAsPreJob: false
-
- task: UseDotNet@2
displayName: 'Install .NET SDK'
inputs:
@@ -126,7 +189,6 @@ extends:
displayName: 'Prepare DotNet Assemblies'
inputs:
target: PrepareAssemblies
- arguments: '--StorageAuthParams="$(appcenter-sdk-blob-storage-access-secret)"'
Version: 2.2.0
- task: Bash@3
@@ -146,7 +208,7 @@ extends:
displayName: 'Prepare Xamarin Assemblies'
inputs:
target: PrepareAssemblies
- arguments: '--MacPlatformId="mac-xamarin" --StorageAuthParams="$(appcenter-sdk-blob-storage-access-secret)"'
+ arguments: '--MacPlatformId="mac-xamarin"'
Version: 2.2.0
- task: CopyFiles@2
@@ -223,16 +285,25 @@ extends:
.\scripts\strong-named-sign.cmd "$(Build.ArtifactStagingDirectory)\assemblies" "$(Agent.TempDirectory)\appcenter-pair-key.snk"
displayName: 'Sign assemblies with strong naming'
+ - task: AzureKeyVault@2
+ displayName: 'Get MSI Client and Tenant IDs for App Center - Code Signing (PME) Service Connection'
+ inputs:
+ azureSubscription: AC - Dev Infra & Build Pool
+ keyVaultName: mobile-center-sdk
+ secretsFilter: codesigning-esrp-client-id, codesigning-msi-client-id, codesigning-msi-tenant-id
+ runAsPreJob: false
+
- task: EsrpCodeSigning@5
displayName: 'Sign Assemblies'
inputs:
- ConnectedServiceName: 'App Center - Code Signing (WIF)'
+ ConnectedServiceName: 'App Center - Code Signing (PME)'
FolderPath: '$(Build.ArtifactStagingDirectory)\assemblies'
- AppRegistrationClientId: '56ecf8eb-6143-4da0-9a53-716e9c2e6e86'
- AppRegistrationTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47'
- AuthAKVName: 'code-signing-poduction'
- AuthCertName: 'appcenter-codesigning-auth'
- AuthSignCertName: 'CodeSigning-Certificate-Managed'
+ UseMSIAuthentication: true
+ AppRegistrationClientId: $(codesigning-msi-client-id)
+ AppRegistrationTenantId: $(codesigning-msi-tenant-id)
+ EsrpClientId: $(codesigning-esrp-client-id)
+ AuthAKVName: 'ac-code-signing'
+ AuthSignCertName: 'CodeSigning-Certificate-Managed'
Pattern: '*.dll,*.winmd'
signConfigType: inlineSignParams
inlineOperation: |
@@ -302,13 +373,6 @@ extends:
env:
AzureServicesAuthConnectionString: 'runAs=App;AppId=$(appcenter-sdk-managed-identity-clientid)'
- - task: AzureKeyVault@2
- inputs:
- azureSubscription: 'AC - Dev Infra & Build Pool'
- KeyVaultName: 'mobile-center-sdk'
- SecretsFilter: 'appcenter-sdk-blob-storage-access-secret'
- RunAsPreJob: false
-
- task: Cake@2
displayName: 'Pack NuGets'
inputs:
@@ -320,12 +384,13 @@ extends:
displayName: 'Sign Packages'
enabled: true
inputs:
- ConnectedServiceName: 'App Center - Code Signing (WIF)'
- AppRegistrationClientId: '56ecf8eb-6143-4da0-9a53-716e9c2e6e86'
- AppRegistrationTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47'
- AuthAKVName: 'code-signing-poduction'
- AuthCertName: 'appcenter-codesigning-auth'
- AuthSignCertName: 'CodeSigning-Certificate-Managed'
+ ConnectedServiceName: 'App Center - Code Signing (PME)'
+ UseMSIAuthentication: true
+ AppRegistrationClientId: $(codesigning-msi-client-id)
+ AppRegistrationTenantId: $(codesigning-msi-tenant-id)
+ EsrpClientId: $(codesigning-esrp-client-id)
+ AuthAKVName: 'ac-code-signing'
+ AuthSignCertName: 'CodeSigning-Certificate-Managed'
FolderPath: '$(System.DefaultWorkingDirectory)/'
Pattern: 'Microsoft.AppCenter*.nupkg'
signConfigType: inlineSignParams
diff --git a/AppCenter-Demo.sln b/AppCenter-Demo.sln
index 5d94cad25..ca9ab8a4a 100644
--- a/AppCenter-Demo.sln
+++ b/AppCenter-Demo.sln
@@ -5,22 +5,10 @@ VisualStudioVersion = 16.0.29209.152
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Apps", "Apps", "{274AB35C-68B4-4EFA-803B-8A7CFEC25EFC}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Contoso.Forms.Demo", "Contoso.Forms.Demo", "{91CEE2C9-F64C-45C9-9353-B1EC87D13C6D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.Forms.Demo", "Apps\Contoso.Forms.Demo\Contoso.Forms.Demo\Contoso.Forms.Demo.csproj", "{8E7B51FC-8A9B-49F7-A40D-4D12BBF893B6}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.Forms.Demo.Droid", "Apps\Contoso.Forms.Demo\Contoso.Forms.Demo.Droid\Contoso.Forms.Demo.Droid.csproj", "{3B39B339-86C4-47EF-8F85-811220494CA6}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.Forms.Demo.iOS", "Apps\Contoso.Forms.Demo\Contoso.Forms.Demo.iOS\Contoso.Forms.Demo.iOS.csproj", "{EB8F7B8E-5013-4C0C-9C32-59ADC5FDFDBD}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.Forms.Demo.UWP", "Apps\Contoso.Forms.Demo\Contoso.Forms.Demo.UWP\Contoso.Forms.Demo.UWP.csproj", "{665362D9-5EE2-45DE-A907-25DC86999A68}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Contoso.UtilClassLibrary", "Apps\Contoso.UtilClassLibrary\Contoso.UtilClassLibrary.csproj", "{2AF3281C-D928-4886-9C68-775DADA56789}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.UWP.Demo", "Apps\Contoso.UWP.Demo\Contoso.UWP.Demo.csproj", "{612D30FE-E1F1-4CEE-8256-911C03A16890}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.Forms.Demo.MacOS", "Apps\Contoso.Forms.Demo\Contoso.Forms.Demo.MacOS\Contoso.Forms.Demo.MacOS.csproj", "{85B05946-0E5A-4AFE-88E8-079D6AA9D3D6}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
diff --git a/AppCenter-Mac.sln b/AppCenter-Mac.sln
index 7a368e671..afc90df48 100644
--- a/AppCenter-Mac.sln
+++ b/AppCenter-Mac.sln
@@ -21,18 +21,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AppCenter.Crashes
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Apps", "Apps", "{274AB35C-68B4-4EFA-803B-8A7CFEC25EFC}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Contoso.Forms.Puppet", "Contoso.Forms.Puppet", "{088DA4BA-0AFB-4690-A639-7559BE14D0C8}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Contoso.Forms.Puppet", "Apps\Contoso.Forms.Puppet\Contoso.Forms.Puppet\Contoso.Forms.Puppet.csproj", "{92313C69-3BC4-4276-A1C8-100C86183F12}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.Forms.Puppet.Droid", "Apps\Contoso.Forms.Puppet\Contoso.Forms.Puppet.Droid\Contoso.Forms.Puppet.Droid.csproj", "{CBA94940-CBFA-4342-AA71-856FD863DDD0}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.Forms.Puppet.iOS", "Apps\Contoso.Forms.Puppet\Contoso.Forms.Puppet.iOS\Contoso.Forms.Puppet.iOS.csproj", "{B4CF8897-4030-445F-81C4-6DBA81F26AAC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.Android.Puppet", "Apps\Contoso.Android.Puppet\Contoso.Android.Puppet.csproj", "{B189FF90-B901-4DA6-98EE-34474032FFCC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.iOS.Puppet", "Apps\Contoso.iOS.Puppet\Contoso.iOS.Puppet.csproj", "{7595F47D-11D6-4716-BDE6-264C1AFBFFB5}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AppCenterDistribute", "AppCenterDistribute", "{B0562DBB-3784-4F1C-A355-61CFD44ED963}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AppCenter.Distribute.Android", "SDK\AppCenterDistribute\Microsoft.AppCenter.Distribute.Android\Microsoft.AppCenter.Distribute.Android.csproj", "{AD38DEE9-8A74-4B04-93C3-0831B55E7254}"
@@ -41,10 +29,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AppCenter.Distrib
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Contoso.UtilClassLibrary", "Apps\Contoso.UtilClassLibrary\Contoso.UtilClassLibrary.csproj", "{D0FC73E2-AE97-495B-B41B-61CD422A8AE9}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.MacOS.Puppet", "Apps\Contoso.MacOS.Puppet\Contoso.MacOS.Puppet.csproj", "{83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.Forms.Puppet.MacOS", "Apps\Contoso.Forms.Puppet\Contoso.Forms.Puppet.MacOS\Contoso.Forms.Puppet.MacOS.csproj", "{C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AppCenter.Android", "SDK\AppCenter\Microsoft.AppCenter.Android\Microsoft.AppCenter.Android.csproj", "{B4868C2D-9475-4AF9-9E23-5501EA6468E7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AppCenter.Android.Mono", "SDK\AppCenter\Microsoft.AppCenter.Android\Microsoft.AppCenter.Android.Mono.csproj", "{D2D22A09-FF21-4861-839D-CF388EBF8767}"
@@ -351,310 +335,6 @@ Global
{D6DB87CA-B8EC-4A38-805F-AFDC7FEC38EB}.Release|x64.Build.0 = Release|Any CPU
{D6DB87CA-B8EC-4A38-805F-AFDC7FEC38EB}.Release|x86.ActiveCfg = Release|Any CPU
{D6DB87CA-B8EC-4A38-805F-AFDC7FEC38EB}.Release|x86.Build.0 = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.AppStore|Any CPU.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.AppStore|ARM.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.AppStore|ARM.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.AppStore|iPhone.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.AppStore|x64.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.AppStore|x64.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.AppStore|x86.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.AppStore|x86.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Debug|ARM.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Debug|iPhone.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Debug|x64.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Debug|x64.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Debug|x86.ActiveCfg = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Debug|x86.Build.0 = Debug|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.GooglePlay|Any CPU.ActiveCfg = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.GooglePlay|Any CPU.Build.0 = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.GooglePlay|ARM.ActiveCfg = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.GooglePlay|ARM.Build.0 = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.GooglePlay|iPhone.ActiveCfg = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.GooglePlay|iPhone.Build.0 = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.GooglePlay|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.GooglePlay|iPhoneSimulator.Build.0 = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.GooglePlay|x64.ActiveCfg = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.GooglePlay|x64.Build.0 = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.GooglePlay|x86.ActiveCfg = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.GooglePlay|x86.Build.0 = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Release|Any CPU.Build.0 = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Release|ARM.ActiveCfg = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Release|ARM.Build.0 = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Release|iPhone.ActiveCfg = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Release|iPhone.Build.0 = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Release|x64.ActiveCfg = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Release|x64.Build.0 = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Release|x86.ActiveCfg = Release|Any CPU
- {92313C69-3BC4-4276-A1C8-100C86183F12}.Release|x86.Build.0 = Release|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.AppStore|Any CPU.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.AppStore|ARM.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.AppStore|ARM.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.AppStore|iPhone.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.AppStore|x64.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.AppStore|x64.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.AppStore|x86.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.AppStore|x86.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Debug|ARM.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Debug|iPhone.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Debug|x64.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Debug|x64.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Debug|x86.ActiveCfg = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Debug|x86.Build.0 = Debug|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|Any CPU.ActiveCfg = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|Any CPU.Build.0 = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|ARM.ActiveCfg = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|ARM.Build.0 = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|ARM.Deploy.0 = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|iPhone.ActiveCfg = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|iPhone.Build.0 = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|iPhone.Deploy.0 = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|iPhoneSimulator.ActiveCfg = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|iPhoneSimulator.Build.0 = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|iPhoneSimulator.Deploy.0 = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|x64.ActiveCfg = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|x64.Build.0 = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|x86.ActiveCfg = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.GooglePlay|x86.Build.0 = GooglePlay|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Release|Any CPU.Build.0 = Release|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Release|ARM.ActiveCfg = Release|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Release|ARM.Build.0 = Release|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Release|iPhone.ActiveCfg = Release|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Release|iPhone.Build.0 = Release|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Release|x64.ActiveCfg = Release|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Release|x64.Build.0 = Release|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Release|x86.ActiveCfg = Release|Any CPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}.Release|x86.Build.0 = Release|Any CPU
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Ad-Hoc|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Ad-Hoc|Any CPU.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Ad-Hoc|ARM.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Ad-Hoc|ARM.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Ad-Hoc|x64.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Ad-Hoc|x64.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Ad-Hoc|x86.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Ad-Hoc|x86.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.AppStore|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.AppStore|Any CPU.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.AppStore|ARM.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.AppStore|ARM.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.AppStore|iPhone.ActiveCfg = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.AppStore|iPhone.Build.0 = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.AppStore|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.AppStore|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.AppStore|x64.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.AppStore|x64.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.AppStore|x86.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.AppStore|x86.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Debug|ARM.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Debug|iPhone.ActiveCfg = Debug|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Debug|iPhone.Build.0 = Debug|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Debug|x64.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Debug|x86.Build.0 = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.GooglePlay|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.GooglePlay|ARM.ActiveCfg = Release|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.GooglePlay|ARM.Build.0 = Release|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.GooglePlay|iPhone.ActiveCfg = Debug|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.GooglePlay|iPhone.Build.0 = Debug|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.GooglePlay|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.GooglePlay|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.GooglePlay|x64.ActiveCfg = Release|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.GooglePlay|x64.Build.0 = Release|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.GooglePlay|x86.ActiveCfg = Release|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.GooglePlay|x86.Build.0 = Release|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Release|Any CPU.ActiveCfg = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Release|Any CPU.Build.0 = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Release|ARM.ActiveCfg = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Release|ARM.Build.0 = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Release|iPhone.ActiveCfg = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Release|iPhone.Build.0 = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Release|x64.ActiveCfg = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Release|x64.Build.0 = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Release|x86.ActiveCfg = Release|iPhone
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}.Release|x86.Build.0 = Release|iPhone
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.AppStore|Any CPU.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.AppStore|ARM.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.AppStore|ARM.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.AppStore|iPhone.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.AppStore|x64.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.AppStore|x64.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.AppStore|x86.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.AppStore|x86.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Debug|ARM.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Debug|iPhone.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Debug|x64.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Debug|x64.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Debug|x86.ActiveCfg = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Debug|x86.Build.0 = Debug|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|Any CPU.ActiveCfg = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|Any CPU.Build.0 = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|ARM.ActiveCfg = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|ARM.Build.0 = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|ARM.Deploy.0 = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|iPhone.ActiveCfg = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|iPhone.Build.0 = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|iPhone.Deploy.0 = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|iPhoneSimulator.ActiveCfg = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|iPhoneSimulator.Build.0 = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|iPhoneSimulator.Deploy.0 = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|x64.ActiveCfg = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|x64.Build.0 = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|x86.ActiveCfg = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.GooglePlay|x86.Build.0 = GooglePlay|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Release|Any CPU.Build.0 = Release|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Release|ARM.ActiveCfg = Release|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Release|ARM.Build.0 = Release|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Release|iPhone.ActiveCfg = Release|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Release|iPhone.Build.0 = Release|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Release|x64.ActiveCfg = Release|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Release|x64.Build.0 = Release|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Release|x86.ActiveCfg = Release|Any CPU
- {B189FF90-B901-4DA6-98EE-34474032FFCC}.Release|x86.Build.0 = Release|Any CPU
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Ad-Hoc|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Ad-Hoc|Any CPU.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Ad-Hoc|ARM.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Ad-Hoc|ARM.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Ad-Hoc|x64.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Ad-Hoc|x64.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Ad-Hoc|x86.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Ad-Hoc|x86.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.AppStore|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.AppStore|Any CPU.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.AppStore|ARM.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.AppStore|ARM.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.AppStore|iPhone.ActiveCfg = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.AppStore|iPhone.Build.0 = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.AppStore|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.AppStore|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.AppStore|x64.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.AppStore|x64.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.AppStore|x86.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.AppStore|x86.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Debug|ARM.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Debug|iPhone.ActiveCfg = Debug|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Debug|iPhone.Build.0 = Debug|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Debug|x64.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Debug|x86.Build.0 = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.GooglePlay|Any CPU.ActiveCfg = Debug|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.GooglePlay|ARM.ActiveCfg = Release|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.GooglePlay|ARM.Build.0 = Release|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.GooglePlay|iPhone.ActiveCfg = Debug|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.GooglePlay|iPhone.Build.0 = Debug|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.GooglePlay|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.GooglePlay|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.GooglePlay|x64.ActiveCfg = Release|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.GooglePlay|x64.Build.0 = Release|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.GooglePlay|x86.ActiveCfg = Release|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.GooglePlay|x86.Build.0 = Release|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Release|Any CPU.ActiveCfg = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Release|Any CPU.Build.0 = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Release|ARM.ActiveCfg = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Release|ARM.Build.0 = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Release|iPhone.ActiveCfg = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Release|iPhone.Build.0 = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Release|x64.ActiveCfg = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Release|x64.Build.0 = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Release|x86.ActiveCfg = Release|iPhone
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}.Release|x86.Build.0 = Release|iPhone
{AD38DEE9-8A74-4B04-93C3-0831B55E7254}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
{AD38DEE9-8A74-4B04-93C3-0831B55E7254}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
{AD38DEE9-8A74-4B04-93C3-0831B55E7254}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
@@ -835,126 +515,6 @@ Global
{D0FC73E2-AE97-495B-B41B-61CD422A8AE9}.Release|x64.Build.0 = Release|Any CPU
{D0FC73E2-AE97-495B-B41B-61CD422A8AE9}.Release|x86.ActiveCfg = Release|Any CPU
{D0FC73E2-AE97-495B-B41B-61CD422A8AE9}.Release|x86.Build.0 = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.AppStore|Any CPU.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.AppStore|ARM.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.AppStore|ARM.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.AppStore|iPhone.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.AppStore|x64.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.AppStore|x64.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.AppStore|x86.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.AppStore|x86.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Debug|ARM.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Debug|iPhone.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Debug|x64.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Debug|x64.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Debug|x86.ActiveCfg = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Debug|x86.Build.0 = Debug|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.GooglePlay|Any CPU.ActiveCfg = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.GooglePlay|Any CPU.Build.0 = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.GooglePlay|ARM.ActiveCfg = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.GooglePlay|ARM.Build.0 = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.GooglePlay|iPhone.ActiveCfg = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.GooglePlay|iPhone.Build.0 = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.GooglePlay|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.GooglePlay|iPhoneSimulator.Build.0 = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.GooglePlay|x64.ActiveCfg = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.GooglePlay|x64.Build.0 = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.GooglePlay|x86.ActiveCfg = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.GooglePlay|x86.Build.0 = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Release|Any CPU.Build.0 = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Release|ARM.ActiveCfg = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Release|ARM.Build.0 = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Release|iPhone.ActiveCfg = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Release|iPhone.Build.0 = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Release|x64.ActiveCfg = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Release|x64.Build.0 = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Release|x86.ActiveCfg = Release|Any CPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}.Release|x86.Build.0 = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Ad-Hoc|x64.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Ad-Hoc|x86.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.AppStore|Any CPU.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.AppStore|ARM.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.AppStore|ARM.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.AppStore|iPhone.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.AppStore|iPhone.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.AppStore|x64.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.AppStore|x64.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.AppStore|x86.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.AppStore|x86.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Debug|ARM.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Debug|iPhone.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Debug|x64.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Debug|x64.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Debug|x86.ActiveCfg = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Debug|x86.Build.0 = Debug|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.GooglePlay|Any CPU.ActiveCfg = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.GooglePlay|Any CPU.Build.0 = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.GooglePlay|ARM.ActiveCfg = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.GooglePlay|ARM.Build.0 = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.GooglePlay|iPhone.ActiveCfg = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.GooglePlay|iPhone.Build.0 = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.GooglePlay|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.GooglePlay|iPhoneSimulator.Build.0 = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.GooglePlay|x64.ActiveCfg = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.GooglePlay|x64.Build.0 = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.GooglePlay|x86.ActiveCfg = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.GooglePlay|x86.Build.0 = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Release|Any CPU.Build.0 = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Release|ARM.ActiveCfg = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Release|ARM.Build.0 = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Release|iPhone.ActiveCfg = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Release|iPhone.Build.0 = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Release|x64.ActiveCfg = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Release|x64.Build.0 = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Release|x86.ActiveCfg = Release|Any CPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}.Release|x86.Build.0 = Release|Any CPU
{B4868C2D-9475-4AF9-9E23-5501EA6468E7}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
{B4868C2D-9475-4AF9-9E23-5501EA6468E7}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
{B4868C2D-9475-4AF9-9E23-5501EA6468E7}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU
@@ -1927,18 +1487,10 @@ Global
{0F13E444-717E-460A-BDE7-8AD537F0A418} = {C4C63221-60D5-412B-92CC-D59A8EA62E23}
{302F0881-77AE-4CCE-ACF4-930AD5D4FB08} = {7FAAA086-4453-4B62-AD9A-2E2ED216E3C4}
{D6DB87CA-B8EC-4A38-805F-AFDC7FEC38EB} = {7FAAA086-4453-4B62-AD9A-2E2ED216E3C4}
- {088DA4BA-0AFB-4690-A639-7559BE14D0C8} = {274AB35C-68B4-4EFA-803B-8A7CFEC25EFC}
- {92313C69-3BC4-4276-A1C8-100C86183F12} = {088DA4BA-0AFB-4690-A639-7559BE14D0C8}
- {CBA94940-CBFA-4342-AA71-856FD863DDD0} = {088DA4BA-0AFB-4690-A639-7559BE14D0C8}
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC} = {088DA4BA-0AFB-4690-A639-7559BE14D0C8}
- {B189FF90-B901-4DA6-98EE-34474032FFCC} = {274AB35C-68B4-4EFA-803B-8A7CFEC25EFC}
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5} = {274AB35C-68B4-4EFA-803B-8A7CFEC25EFC}
{B0562DBB-3784-4F1C-A355-61CFD44ED963} = {8CDD4942-2E48-4CF7-AC99-85718F238455}
{AD38DEE9-8A74-4B04-93C3-0831B55E7254} = {B0562DBB-3784-4F1C-A355-61CFD44ED963}
{41FEBC72-C12B-47E1-B6F6-51D50158C825} = {B0562DBB-3784-4F1C-A355-61CFD44ED963}
{D0FC73E2-AE97-495B-B41B-61CD422A8AE9} = {274AB35C-68B4-4EFA-803B-8A7CFEC25EFC}
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8} = {274AB35C-68B4-4EFA-803B-8A7CFEC25EFC}
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481} = {088DA4BA-0AFB-4690-A639-7559BE14D0C8}
{B4868C2D-9475-4AF9-9E23-5501EA6468E7} = {13744327-9529-490B-A970-06A1D3144117}
{D2D22A09-FF21-4861-839D-CF388EBF8767} = {13744327-9529-490B-A970-06A1D3144117}
{0FA36642-1B28-48E7-8371-17EBA11556C1} = {13744327-9529-490B-A970-06A1D3144117}
diff --git a/AppCenter-Windows.sln b/AppCenter-Windows.sln
index 34bd284de..c93ac0c8e 100644
--- a/AppCenter-Windows.sln
+++ b/AppCenter-Windows.sln
@@ -51,12 +51,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AppCenter.Test.Wi
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.AppCenter.Test.WindowsDesktop.Shared", "Tests\Microsoft.AppCenter.Test.WindowsDesktop.Shared\Microsoft.AppCenter.Test.WindowsDesktop.Shared.shproj", "{09F38506-8DEF-431D-A749-DF7E73A719F0}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Contoso.Forms.Puppet", "Contoso.Forms.Puppet", "{AC1B688C-2519-4C40-9F23-D4021C30E115}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Contoso.Forms.Puppet", "Apps\Contoso.Forms.Puppet\Contoso.Forms.Puppet\Contoso.Forms.Puppet.csproj", "{92313C69-3BC4-4276-A1C8-100C86183F12}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.Forms.Puppet.UWP", "Apps\Contoso.Forms.Puppet\Contoso.Forms.Puppet.UWP\Contoso.Forms.Puppet.UWP.csproj", "{F2E21B65-DF87-40F0-BB2E-E67E728B86DA}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.UWP.Demo", "Apps\Contoso.UWP.Demo\Contoso.UWP.Demo.csproj", "{612D30FE-E1F1-4CEE-8256-911C03A16890}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contoso.UWP.Puppet", "Apps\Contoso.UWP.Puppet\Contoso.UWP.Puppet.csproj", "{2F81AF7B-06FC-4163-859A-979F375330FF}"
diff --git a/Apps/Contoso.Android.Puppet/Assets/AboutAssets.txt b/Apps/Contoso.Android.Puppet/Assets/AboutAssets.txt
deleted file mode 100644
index ee3988629..000000000
--- a/Apps/Contoso.Android.Puppet/Assets/AboutAssets.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-Any raw assets you want to be deployed with your application can be placed in
-this directory (and child directories) and given a Build Action of "AndroidAsset".
-
-These files will be deployed with you package and will be accessible using Android's
-AssetManager, like this:
-
-public class ReadAsset : Activity
-{
- protected override void OnCreate (Bundle bundle)
- {
- base.OnCreate (bundle);
-
- InputStream input = Assets.Open ("my_asset.txt");
- }
-}
-
-Additionally, some Android functions will automatically load asset files:
-
-Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
\ No newline at end of file
diff --git a/Apps/Contoso.Android.Puppet/Constants.cs b/Apps/Contoso.Android.Puppet/Constants.cs
deleted file mode 100644
index 70711ba91..000000000
--- a/Apps/Contoso.Android.Puppet/Constants.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.Android.Puppet
-{
- public static class Constants
- {
- public const string Verbose = "Verbose";
- public const string Debug = "Debug";
- public const string Info = "Info";
- public const string Warning = "Warning";
- public const string Error = "Error";
- public const string StorageSizeKey = "StorageSizeKey";
- public const string EnableManualSessionTrackerKey = "EnableManualSessionTrackerKey";
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/Contoso.Android.Puppet.csproj b/Apps/Contoso.Android.Puppet/Contoso.Android.Puppet.csproj
deleted file mode 100644
index a6da483c6..000000000
--- a/Apps/Contoso.Android.Puppet/Contoso.Android.Puppet.csproj
+++ /dev/null
@@ -1,320 +0,0 @@
-
-
-
-
-
- Debug
- AnyCPU
- 8.0.30703
- 2.0
- {B189FF90-B901-4DA6-98EE-34474032FFCC}
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Library
- Properties
- Contoso.Android.Puppet
- Contoso.Android.Puppet
- 512
- true
- Resources\Resource.Designer.cs
- Off
- v11.0
- Properties\AndroidManifest.xml
-
-
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- True
- None
- r8
-
-
-
- true
- bin\Release\
- TRACE
- prompt
- 4
- False
- Full
- true
- r8
-
-
-
- true
- bin\GooglePlay
- TRACE
- prompt
- 4
- False
- Full
- true
- r8
-
-
- am start -e "XAMARIN_ANDROID_INT" "{XAMARIN_ANDROID_INT}" -n "com.microsoft.appcenter.xamarin.puppet/Contoso.Android.Puppet.MainActivity"
-
-
-
-
-
-
-
-
-
- ..\..\packages\Xamarin.AndroidX.Annotation.Experimental.1.1.0.1\lib\monoandroid90\Xamarin.AndroidX.Annotation.Experimental.dll
-
-
-
-
- ..\..\packages\Xamarin.AndroidX.MultiDex.2.0.1.5\lib\monoandroid90\Xamarin.AndroidX.MultiDex.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Annotation.1.2.0.1\lib\monoandroid90\Xamarin.AndroidX.Annotation.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Arch.Core.Common.2.1.0.9\lib\monoandroid90\Xamarin.AndroidX.Arch.Core.Common.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Arch.Core.Runtime.2.1.0.9\lib\monoandroid90\Xamarin.AndroidX.Arch.Core.Runtime.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Collection.1.1.0.8\lib\monoandroid90\Xamarin.AndroidX.Collection.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Lifecycle.Common.2.3.1.1\lib\monoandroid90\Xamarin.AndroidX.Lifecycle.Common.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Lifecycle.Runtime.2.3.1.2\lib\monoandroid90\Xamarin.AndroidX.Lifecycle.Runtime.dll
-
-
- ..\..\packages\Xamarin.AndroidX.VersionedParcelable.1.1.1.8\lib\monoandroid90\Xamarin.AndroidX.VersionedParcelable.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Core.1.6.0.1\lib\monoandroid90\Xamarin.AndroidX.Core.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Lifecycle.LiveData.Core.2.3.1.1\lib\monoandroid90\Xamarin.AndroidX.Lifecycle.LiveData.Core.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Lifecycle.ViewModel.2.3.1.1\lib\monoandroid90\Xamarin.AndroidX.Lifecycle.ViewModel.dll
-
-
- ..\..\packages\Xamarin.AndroidX.SavedState.1.1.0.2\lib\monoandroid90\Xamarin.AndroidX.SavedState.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Lifecycle.ViewModelSavedState.2.3.1.1\lib\monoandroid90\Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Tracing.Tracing.1.0.0.1\lib\monoandroid90\Xamarin.AndroidX.Tracing.Tracing.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Activity.1.3.1\lib\monoandroid90\Xamarin.AndroidX.Activity.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Loader.1.1.0.8\lib\monoandroid90\Xamarin.AndroidX.Loader.dll
-
-
- ..\..\packages\Xamarin.AndroidX.CustomView.1.1.0.7\lib\monoandroid90\Xamarin.AndroidX.CustomView.dll
-
-
- ..\..\packages\Xamarin.AndroidX.ViewPager.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.ViewPager.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Fragment.1.3.6.1\lib\monoandroid90\Xamarin.AndroidX.Fragment.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Interpolator.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.Interpolator.dll
-
-
- ..\..\packages\Xamarin.AndroidX.CursorAdapter.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.CursorAdapter.dll
-
-
- ..\..\packages\Xamarin.AndroidX.RecyclerView.1.2.1.1\lib\monoandroid90\Xamarin.AndroidX.RecyclerView.dll
-
-
- ..\..\packages\Xamarin.AndroidX.DrawerLayout.1.1.1.3\lib\monoandroid90\Xamarin.AndroidX.DrawerLayout.dll
-
-
- ..\..\packages\Xamarin.AndroidX.VectorDrawable.1.1.0.8\lib\monoandroid90\Xamarin.AndroidX.VectorDrawable.dll
-
-
- ..\..\packages\Xamarin.AndroidX.VectorDrawable.Animated.1.1.0.8\lib\monoandroid90\Xamarin.AndroidX.VectorDrawable.Animated.dll
-
-
- ..\..\packages\Xamarin.AndroidX.AppCompat.AppCompatResources.1.3.1.1\lib\monoandroid90\Xamarin.AndroidX.AppCompat.AppCompatResources.dll
-
-
- ..\..\packages\Xamarin.AndroidX.AppCompat.1.3.1.1\lib\monoandroid90\Xamarin.AndroidX.AppCompat.dll
-
-
- ..\..\packages\Xamarin.AndroidX.CoordinatorLayout.1.1.0.8\lib\monoandroid90\Xamarin.AndroidX.CoordinatorLayout.dll
-
-
- ..\..\packages\Xamarin.AndroidX.ConstraintLayout.Core.1.0.0\lib\monoandroid90\Xamarin.AndroidX.ConstraintLayout.Core.dll
-
-
- ..\..\packages\Xamarin.AndroidX.ConstraintLayout.2.1.0\lib\monoandroid90\Xamarin.AndroidX.ConstraintLayout.dll
-
-
- ..\..\packages\Xamarin.AndroidX.CardView.1.0.0.9\lib\monoandroid90\Xamarin.AndroidX.CardView.dll
-
-
- ..\..\packages\Xamarin.AndroidX.DocumentFile.1.0.1.8\lib\monoandroid90\Xamarin.AndroidX.DocumentFile.dll
-
-
- ..\..\packages\Xamarin.AndroidX.LocalBroadcastManager.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.LocalBroadcastManager.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Print.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.Print.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Legacy.Support.Core.Utils.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.Legacy.Support.Core.Utils.dll
-
-
- ..\..\packages\Xamarin.AndroidX.DynamicAnimation.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.DynamicAnimation.dll
-
-
- ..\..\packages\Xamarin.AndroidX.Transition.1.4.1.1\lib\monoandroid90\Xamarin.AndroidX.Transition.dll
-
-
- ..\..\packages\Xamarin.AndroidX.ViewPager2.1.0.0.10\lib\monoandroid90\Xamarin.AndroidX.ViewPager2.dll
-
-
- ..\..\packages\Xamarin.Google.Android.Material.1.4.0.2\lib\monoandroid90\Xamarin.Google.Android.Material.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Designer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Microsoft.AppCenter.Analytics.Android.Mono
-
-
- Microsoft.AppCenter.Android.Mono
-
-
- Microsoft.AppCenter.Crashes.Android.Mono
-
-
-
-
- Microsoft.AppCenter.Distribute.AndroidPlay.Mono
-
-
-
-
- Microsoft.AppCenter.Distribute.Android.Mono
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Android.Puppet/CrashActivity.cs b/Apps/Contoso.Android.Puppet/CrashActivity.cs
deleted file mode 100644
index a2caf5c5f..000000000
--- a/Apps/Contoso.Android.Puppet/CrashActivity.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Android.App;
-using Android.OS;
-
-namespace Contoso.Android.Puppet
-{
- [Activity(Label = "CrashActivity")]
- public class CrashActivity : Activity
- {
- protected override void OnCreate(Bundle savedInstanceState)
- {
- // will crash with super not called, a pure Java exception with no .NET crash handler.
- }
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/FakeService.cs b/Apps/Contoso.Android.Puppet/FakeService.cs
deleted file mode 100644
index 973f67283..000000000
--- a/Apps/Contoso.Android.Puppet/FakeService.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.IO;
-using System.Threading.Tasks;
-
-namespace Contoso.Android.Puppet
-{
- static class FakeService
- {
- internal async static Task DoStuffInBackground()
- {
- await Task.Run(() => { throw new IOException("Server did not respond"); });
- }
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/LogLevelActivity.cs b/Apps/Contoso.Android.Puppet/LogLevelActivity.cs
deleted file mode 100644
index aa8b849a9..000000000
--- a/Apps/Contoso.Android.Puppet/LogLevelActivity.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Android.App;
-using Android.Content;
-using Android.OS;
-using Android.Views;
-using Android.Widget;
-
-namespace Contoso.Android.Puppet
-{
- [Activity(Label = "LogLevelActivity")]
- public class LogLevelActivity : ListActivity
- {
- private static readonly string[] Levels = {
- Constants.Verbose,
- Constants.Debug,
- Constants.Info,
- Constants.Warning,
- Constants.Error
- };
-
- protected override void OnCreate(Bundle savedInstanceState)
- {
- base.OnCreate(savedInstanceState);
- ListAdapter = new ArrayAdapter(this, global::Android.Resource.Layout.SimpleListItem1, Levels);
- }
-
- protected override void OnListItemClick(ListView l, View v, int position, long id)
- {
- var intent = new Intent();
- intent.PutExtra("log_level", position);
- SetResult(Result.Ok, intent);
- Finish();
- }
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/MainActivity.cs b/Apps/Contoso.Android.Puppet/MainActivity.cs
deleted file mode 100644
index 5e267b39d..000000000
--- a/Apps/Contoso.Android.Puppet/MainActivity.cs
+++ /dev/null
@@ -1,193 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Linq;
-using Android.Content;
-using Android.Content.PM;
-using Android.OS;
-using Android.App;
-using AndroidX.AppCompat.App;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics;
-using Microsoft.AppCenter.Crashes;
-using Microsoft.AppCenter.Distribute;
-using Google.Android.Material.BottomNavigation;
-using Android.Views;
-
-namespace Contoso.Android.Puppet
-{
- using AlertDialog = global::Android.App.AlertDialog;
-
- [Activity(Label = "SXPuppet", Icon = "@drawable/icon", Theme = "@style/PuppetTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
- [System.Obsolete]
- public class MainActivity : AppCompatActivity, BottomNavigationView.IOnNavigationItemSelectedListener
- {
- const string LogTag = "AppCenterXamarinPuppet";
-
- protected override void OnCreate(Bundle savedInstanceState)
- {
- base.OnCreate(savedInstanceState);
-
- // Set our view from the "main" layout resource
- SetContentView(Resource.Layout.Main);
-
- // Init bottom menu.
- BottomNavigationView navigation = FindViewById(Resource.Id.bottom_navigation);
- navigation.SetOnNavigationItemSelectedListener(this);
- UpdateFragment(new AppCenterFragment(), Resource.String.AppCenterTitle);
-
- // App Center integration
- AppCenterLog.Assert(LogTag, "AppCenter.LogLevel=" + AppCenter.LogLevel);
- AppCenter.LogLevel = LogLevel.Verbose;
- AppCenterLog.Info(LogTag, "AppCenter.LogLevel=" + AppCenter.LogLevel);
- AppCenterLog.Info(LogTag, "AppCenter.Configured=" + AppCenter.Configured);
-
- // Set event handlers
- Crashes.SendingErrorReport += SendingErrorReportHandler;
- Crashes.SentErrorReport += SentErrorReportHandler;
- Crashes.FailedToSendErrorReport += FailedToSendErrorReportHandler;
- // Set callbacks
- Crashes.ShouldProcessErrorReport = ShouldProcess;
- Crashes.ShouldAwaitUserConfirmation = ConfirmationHandler;
-
- Distribute.ReleaseAvailable = OnReleaseAvailable;
- Distribute.NoReleaseAvailable = OnNoReleaseAvailable;
- AppCenterLog.Assert(LogTag, "AppCenter.Configured=" + AppCenter.Configured);
- AppCenter.SetLogUrl("https://in-integration.dev.avalanch.es");
- var prefs = GetSharedPreferences("AppCenter", FileCreationMode.Private);
- var storageSizeValue = prefs.GetLong(Constants.StorageSizeKey, 0);
- if (storageSizeValue > 0)
- {
- AppCenter.SetMaxStorageSizeAsync(storageSizeValue);
- }
- if (prefs.GetBoolean(Constants.EnableManualSessionTrackerKey, false))
- {
- Analytics.EnableManualSessionTracker();
- }
- Distribute.SetInstallUrl("https://install.portal-server-core-integration.dev.avalanch.es");
- Distribute.SetApiUrl("https://asgard-int.trafficmanager.net/api/v0.1");
- var appCenterSecret = Intent.GetStringExtra("XAMARIN_ANDROID_INT");
- AppCenter.Start(appCenterSecret, typeof(Analytics), typeof(Crashes), typeof(Distribute));
- AppCenter.IsEnabledAsync().ContinueWith(enabled =>
- {
- AppCenterLog.Info(LogTag, "AppCenter.Enabled=" + enabled.Result);
- });
- AppCenter.GetInstallIdAsync().ContinueWith(installId =>
- {
- AppCenterLog.Info(LogTag, "AppCenter.InstallId=" + installId.Result);
- });
- Crashes.HasCrashedInLastSessionAsync().ContinueWith(hasCrashed =>
- {
- AppCenterLog.Info(LogTag, "Crashes.HasCrashedInLastSession=" + hasCrashed.Result);
- });
- Crashes.GetLastSessionCrashReportAsync().ContinueWith(report =>
- {
- AppCenterLog.Info(LogTag, "Crashes.LastSessionCrashReport.DotNetStackTrace=" + report.Result?.StackTrace);
- AppCenterLog.Info(LogTag, "Crashes.LastSessionCrashReport.JavaStackTrace=" + report.Result?.AndroidDetails?.StackTrace);
- });
- }
-
- void SendingErrorReportHandler(object sender, SendingErrorReportEventArgs e)
- {
- AppCenterLog.Info(LogTag, "Sending error report");
- }
-
- void SentErrorReportHandler(object sender, SentErrorReportEventArgs e)
- {
- AppCenterLog.Info(LogTag, "Sent error report");
- }
-
- void FailedToSendErrorReportHandler(object sender, FailedToSendErrorReportEventArgs e)
- {
- AppCenterLog.Info(LogTag, "Failed to send error report");
- }
-
- bool ShouldProcess(ErrorReport report)
- {
- AppCenterLog.Info(LogTag, "Determining whether to process error report");
- return true;
- }
-
- bool ConfirmationHandler()
- {
- var builder = new AlertDialog.Builder(this);
- builder.SetTitle(Resource.String.crash_confirmation_dialog_title);
- builder.SetMessage(Resource.String.crash_confirmation_dialog_message);
- builder.SetPositiveButton(Resource.String.crash_confirmation_dialog_send_button, delegate
- {
- Crashes.NotifyUserConfirmation(UserConfirmation.Send);
- });
- builder.SetNegativeButton(Resource.String.crash_confirmation_dialog_not_send_button, delegate
- {
- Crashes.NotifyUserConfirmation(UserConfirmation.DontSend);
- });
- builder.SetNeutralButton(Resource.String.crash_confirmation_dialog_always_send_button, delegate
- {
- Crashes.NotifyUserConfirmation(UserConfirmation.AlwaysSend);
- });
- builder.Create().Show();
- return true;
- }
-
- void OnNoReleaseAvailable()
- {
- AppCenterLog.Info(LogTag, "No release available callback invoked.");
- }
-
- bool OnReleaseAvailable(ReleaseDetails releaseDetails)
- {
- AppCenterLog.Info(LogTag, "OnReleaseAvailable id=" + releaseDetails.Id
- + " version=" + releaseDetails.Version
- + " releaseNotesUrl=" + releaseDetails.ReleaseNotesUrl);
- var custom = releaseDetails.ReleaseNotes?.ToLowerInvariant().Contains("custom") ?? false;
- if (custom)
- {
- var builder = new AlertDialog.Builder(this);
- builder.SetTitle(string.Format(GetString(Resource.String.version_x_available), releaseDetails.ShortVersion));
- builder.SetMessage(releaseDetails.ReleaseNotes);
- builder.SetPositiveButton(Resource.String.appcenter_distribute_update_dialog_download, delegate
- {
- Distribute.NotifyUpdateAction(UpdateAction.Update);
- });
- builder.SetCancelable(false);
- if (!releaseDetails.MandatoryUpdate)
- {
- builder.SetNegativeButton(Resource.String.appcenter_distribute_update_dialog_postpone, delegate
- {
- Distribute.NotifyUpdateAction(UpdateAction.Postpone);
- });
- }
- builder.Create().Show();
- }
- return custom;
- }
-
- public bool OnNavigationItemSelected(IMenuItem item)
- {
- switch (item.ItemId)
- {
- case Resource.Id.navigation_core:
- UpdateFragment(new AppCenterFragment(), Resource.String.AppCenterTitle);
- return true;
- case Resource.Id.navigation_analytics:
- UpdateFragment(new AnalyticsFragment(), Resource.String.AnalyticsTitle);
- return true;
- case Resource.Id.navigation_crashes:
- UpdateFragment(new CrashesFragment(), Resource.String.CrashesTitle);
- return true;
- case Resource.Id.navigation_other:
- UpdateFragment(new OthersFragment(), Resource.String.OthersTitle);
- return true;
- }
- return false;
- }
-
- private void UpdateFragment(PageFragment page, int titleId)
- {
- Title = Resources.GetString(titleId);
- SupportFragmentManager.BeginTransaction()
- .Replace(Resource.Id.content_frame, page)
- .Commit();
- }
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/ModulePages/AnalyticsFragment.cs b/Apps/Contoso.Android.Puppet/ModulePages/AnalyticsFragment.cs
deleted file mode 100644
index 440bb63aa..000000000
--- a/Apps/Contoso.Android.Puppet/ModulePages/AnalyticsFragment.cs
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Android.Content;
-using Android.OS;
-using Android.Views;
-using Android.Widget;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics;
-
-namespace Contoso.Android.Puppet
-{
- using AlertDialog = global::Android.App.AlertDialog;
-
- public class AnalyticsFragment : PageFragment
- {
- private readonly IDictionary mEventProperties = new Dictionary();
-
- private Switch AnalyticsEnabledSwitch;
- private Switch EnableManualSessionTrackerSwitch;
- private EditText EventNameText;
- private TextView PropertiesCountLabel;
- private Button AddPropertyButton;
- private Button TrackEventButton;
- private Button StartSessionButton;
-
- public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
- {
- return inflater.Inflate(Resource.Layout.Analytics, container, false);
- }
-
- public override void OnViewCreated(View view, Bundle savedInstanceState)
- {
- base.OnViewCreated(view, savedInstanceState);
-
- // Find views.
- AnalyticsEnabledSwitch = view.FindViewById(Resource.Id.enabled_analytics) as Switch;
- EnableManualSessionTrackerSwitch = view.FindViewById(Resource.Id.enable_manual_session_tracker_switch) as Switch;
- EventNameText = view.FindViewById(Resource.Id.event_name) as EditText;
- PropertiesCountLabel = view.FindViewById(Resource.Id.properties_count) as TextView;
- AddPropertyButton = view.FindViewById(Resource.Id.add_property) as Button;
- TrackEventButton = view.FindViewById(Resource.Id.track_event) as Button;
- StartSessionButton = view.FindViewById(Resource.Id.start_session_button) as Button;
-
- // Subscribe to events.
- AnalyticsEnabledSwitch.CheckedChange += UpdateEnabled;
- EnableManualSessionTrackerSwitch.CheckedChange += EnableManualSessionUpdate;
- ((View)PropertiesCountLabel.Parent).Click += Properties;
- AddPropertyButton.Click += AddProperty;
- TrackEventButton.Click += TrackEvent;
- StartSessionButton.Click += StartSessionButtonClick;
-
- UpdateState();
- }
-
- protected override async void UpdateState()
- {
- AnalyticsEnabledSwitch.CheckedChange -= UpdateEnabled;
- AnalyticsEnabledSwitch.Enabled = true;
- AnalyticsEnabledSwitch.Checked = await Analytics.IsEnabledAsync();
- AnalyticsEnabledSwitch.Enabled = await AppCenter.IsEnabledAsync();
- AnalyticsEnabledSwitch.CheckedChange += UpdateEnabled;
- EnableManualSessionTrackerSwitch.CheckedChange -= EnableManualSessionUpdate;
-
- // Set manual session tracker value.
- var prefs = Context.GetSharedPreferences("AppCenter", FileCreationMode.Private);
- EnableManualSessionTrackerSwitch.Checked = prefs.GetBoolean(Constants.EnableManualSessionTrackerKey, false);
- EnableManualSessionTrackerSwitch.CheckedChange += EnableManualSessionUpdate;
- PropertiesCountLabel.Text = mEventProperties.Count.ToString();
- }
-
- private async void UpdateEnabled(object sender, CompoundButton.CheckedChangeEventArgs e)
- {
- await Analytics.SetEnabledAsync(e.IsChecked);
- AnalyticsEnabledSwitch.Checked = await Analytics.IsEnabledAsync();
- }
-
- private void Properties(object sender, EventArgs e)
- {
- var intent = new Intent(Activity, typeof(PropertiesActivity));
- intent.PutExtra("properties", mEventProperties.Select(i => i.Key + ": " + i.Value).ToArray());
- StartActivity(intent);
- }
-
- private void AddProperty(object sender, EventArgs e)
- {
- var builder = new AlertDialog.Builder(Activity);
- builder.SetTitle(Resource.String.add_property_dialog_title);
- builder.SetMessage(Resource.String.add_property_dialog_message);
- var layoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent,
- ViewGroup.LayoutParams.WrapContent);
- var keyText = new EditText(Activity) { LayoutParameters = layoutParameters, Hint = "Property Name" };
- var valueText = new EditText(Activity) { LayoutParameters = layoutParameters, Hint = "Property Value" };
- var view = new LinearLayout(Activity) { Orientation = Orientation.Vertical };
- view.AddView(keyText);
- view.AddView(valueText);
- builder.SetView(view);
- builder.SetPositiveButton(Resource.String.add_property_dialog_add_button, delegate
- {
- mEventProperties.Add(keyText.Text, valueText.Text);
- PropertiesCountLabel.Text = mEventProperties.Count.ToString();
- });
- builder.SetNegativeButton(Resource.String.add_property_dialog_cancel_button, delegate
- {
- });
- builder.Create().Show();
- }
-
- private void TrackEvent(object sender, EventArgs e)
- {
- Analytics.TrackEvent(EventNameText.Text, mEventProperties.Count > 0 ? mEventProperties : null);
- mEventProperties.Clear();
- PropertiesCountLabel.Text = mEventProperties.Count.ToString();
- }
-
- private void EnableManualSessionUpdate(object sender, CompoundButton.CheckedChangeEventArgs e)
- {
- var prefs = Context.GetSharedPreferences("AppCenter", FileCreationMode.Private);
- var prefEditor = prefs.Edit();
- prefEditor.PutBoolean(Constants.EnableManualSessionTrackerKey, e.IsChecked);
- prefEditor.Commit();
- }
-
- private void StartSessionButtonClick(object sender, EventArgs e)
- {
- Analytics.StartSession();
- }
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/ModulePages/AppCenterFragment.cs b/Apps/Contoso.Android.Puppet/ModulePages/AppCenterFragment.cs
deleted file mode 100644
index 777928f50..000000000
--- a/Apps/Contoso.Android.Puppet/ModulePages/AppCenterFragment.cs
+++ /dev/null
@@ -1,176 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using Android.Content;
-using Android.OS;
-using Android.Views;
-using Android.Widget;
-using Microsoft.AppCenter;
-
-namespace Contoso.Android.Puppet
-{
- using Result = global::Android.App.Result;
-
- public class AppCenterFragment : PageFragment
- {
- const string LogTag = "AppCenterXamarinPuppet";
-
- private static readonly IDictionary> LogFunctions = new Dictionary> {
- { LogLevel.Verbose, AppCenterLog.Verbose },
- { LogLevel.Debug, AppCenterLog.Debug },
- { LogLevel.Info, AppCenterLog.Info },
- { LogLevel.Warn, AppCenterLog.Warn },
- { LogLevel.Error, AppCenterLog.Error }
- };
- private static readonly IDictionary LogLevelNames = new Dictionary {
- { LogLevel.Verbose, Constants.Verbose },
- { LogLevel.Debug, Constants.Debug },
- { LogLevel.Info, Constants.Info },
- { LogLevel.Warn, Constants.Warning },
- { LogLevel.Error, Constants.Error }
- };
- private LogLevel mLogWriteLevel = LogLevel.Verbose;
-
- private Switch AppCenterEnabledSwitch;
- private Switch AppCenterNetworkRequestsAllowedSwitch;
- private TextView LogLevelLabel;
- private EditText LogWriteMessageText;
- private EditText LogWriteTagText;
- private TextView LogWriteLevelLabel;
- private Button LogWriteButton;
- private EditText UserIdText;
- private Button SaveStorageSizeButton;
- private EditText StorageSizeText;
-
- public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
- {
- return inflater.Inflate(Resource.Layout.AppCenter, container, false);
- }
-
- public override void OnViewCreated(View view, Bundle savedInstanceState)
- {
- base.OnViewCreated(view, savedInstanceState);
-
- // Find views.
- AppCenterEnabledSwitch = view.FindViewById(Resource.Id.enabled_app_center) as Switch;
- AppCenterNetworkRequestsAllowedSwitch = view.FindViewById(Resource.Id.appcenter_network_requests_allowed) as Switch;
- LogLevelLabel = view.FindViewById(Resource.Id.log_level) as TextView;
- LogWriteMessageText = view.FindViewById(Resource.Id.write_log_message) as EditText;
- LogWriteTagText = view.FindViewById(Resource.Id.write_log_tag) as EditText;
- LogWriteLevelLabel = view.FindViewById(Resource.Id.write_log_level) as TextView;
- LogWriteButton = view.FindViewById(Resource.Id.write_log) as Button;
- UserIdText = view.FindViewById(Resource.Id.write_user_id) as EditText;
- SaveStorageSizeButton = view.FindViewById(Resource.Id.save_storage_size) as Button;
- StorageSizeText = view.FindViewById(Resource.Id.write_storage_size) as EditText;
-
- // Subscribe to events.
- AppCenterEnabledSwitch.CheckedChange += UpdateEnabled;
- AppCenterNetworkRequestsAllowedSwitch.CheckedChange += NetworkRequestAllowedChange;
- ((View)LogLevelLabel.Parent).Click += LogLevelClicked;
- ((View)LogWriteLevelLabel.Parent).Click += LogWriteLevelClicked;
- LogWriteButton.Click += WriteLog;
- SaveStorageSizeButton.Click += SaveStorageSize;
- UserIdText.KeyPress += UserIdTextKeyPressedHandler;
-
- // Set max storage size value.
- var prefs = Context.GetSharedPreferences("AppCenter", FileCreationMode.Private);
- var storageSizeValue = prefs.GetLong(Constants.StorageSizeKey, 0);
- if (storageSizeValue > 0)
- {
- StorageSizeText.Text = storageSizeValue.ToString();
- }
- UpdateState();
- }
-
- protected override async void UpdateState()
- {
- AppCenterEnabledSwitch.CheckedChange -= UpdateEnabled;
- AppCenterEnabledSwitch.Checked = await AppCenter.IsEnabledAsync();
- AppCenterEnabledSwitch.CheckedChange += UpdateEnabled;
- AppCenterNetworkRequestsAllowedSwitch.CheckedChange -= NetworkRequestAllowedChange;
- AppCenterNetworkRequestsAllowedSwitch.Checked = AppCenter.IsNetworkRequestsAllowed;
- AppCenterNetworkRequestsAllowedSwitch.CheckedChange += NetworkRequestAllowedChange;
- LogLevelLabel.Text = LogLevelNames[AppCenter.LogLevel];
- LogWriteLevelLabel.Text = LogLevelNames[mLogWriteLevel];
- }
-
- public override void OnActivityResult(int requestCode, int resultCode, Intent data)
- {
- base.OnActivityResult(requestCode, resultCode, data);
- if (resultCode != (int)Result.Ok || data == null)
- {
- return;
- }
- var logLevel = (LogLevel)data.GetIntExtra("log_level", (int)LogLevel.Verbose);
- switch (requestCode)
- {
- case 0:
- AppCenter.LogLevel = logLevel;
- LogLevelLabel.Text = LogLevelNames[AppCenter.LogLevel];
- break;
- case 1:
- mLogWriteLevel = logLevel;
- LogWriteLevelLabel.Text = LogLevelNames[mLogWriteLevel];
- break;
- }
- }
-
- private async void UpdateEnabled(object sender, CompoundButton.CheckedChangeEventArgs e)
- {
- await AppCenter.SetEnabledAsync(e.IsChecked);
- AppCenterEnabledSwitch.Checked = await AppCenter.IsEnabledAsync();
- }
-
- private void NetworkRequestAllowedChange(object sender, CompoundButton.CheckedChangeEventArgs e)
- {
- AppCenter.IsNetworkRequestsAllowed = e.IsChecked;
- }
-
- private void LogLevelClicked(object sender, EventArgs e)
- {
- var intent = new Intent(Activity.ApplicationContext, typeof(LogLevelActivity));
- StartActivityForResult(intent, 0);
- }
-
- private void LogWriteLevelClicked(object sender, EventArgs e)
- {
- var intent = new Intent(Activity.ApplicationContext, typeof(LogLevelActivity));
- StartActivityForResult(intent, 1);
- }
-
- private void UserIdTextKeyPressedHandler(object sender, View.KeyEventArgs e)
- {
- if (e.Event.Action == KeyEventActions.Up)
- {
- var text = string.IsNullOrEmpty(UserIdText.Text) ? null : UserIdText.Text;
- AppCenter.SetUserId(text);
- }
- }
-
- private void WriteLog(object sender, EventArgs e)
- {
- string message = LogWriteMessageText.Text;
- string tag = LogWriteTagText.Text;
- LogFunctions[mLogWriteLevel](tag, message);
- }
-
- private void SaveStorageSize(object sender, EventArgs e)
- {
- var inputText = StorageSizeText.Text;
- if (long.TryParse(inputText, out var result))
- {
- AppCenter.SetMaxStorageSizeAsync(result);
- var prefs = Context.GetSharedPreferences("AppCenter", FileCreationMode.Private);
- var prefEditor = prefs.Edit();
- prefEditor.PutLong(Constants.StorageSizeKey, result);
- prefEditor.Commit();
- }
- else
- {
- AppCenterLog.Error(LogTag, "Wrong number value for the max storage size.");
- }
- }
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/ModulePages/CrashesFragment.cs b/Apps/Contoso.Android.Puppet/ModulePages/CrashesFragment.cs
deleted file mode 100644
index 61e0b9310..000000000
--- a/Apps/Contoso.Android.Puppet/ModulePages/CrashesFragment.cs
+++ /dev/null
@@ -1,184 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.IO;
-using System.Threading;
-using Android.Content;
-using Android.OS;
-using Android.Views;
-using Android.Widget;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Crashes;
-using Uri = Android.Net.Uri;
-
-namespace Contoso.Android.Puppet
-{
- public class CrashesFragment : PageFragment
- {
- private Switch CrashesEnabledSwitch;
- private Button TestCrashButton;
- private Button DivideByZeroButton;
- private Button CrashWithAggregateExceptionButton;
- private Button CrashWithNullReferenceExceptionButton;
- private Button CatchNullReferenceExceptionButton;
- private Button CrashAsyncButton;
- private Button CrashDotNetThreadButton;
- private Button CrashSuperNotCalledButton;
- private Button CrashJavaFromDotNetButton;
-
- public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
- {
- return inflater.Inflate(Resource.Layout.Crashes, container, false);
- }
-
- public override void OnViewCreated(View view, Bundle savedInstanceState)
- {
- base.OnViewCreated(view, savedInstanceState);
-
- // Find views.
- CrashesEnabledSwitch = view.FindViewById(Resource.Id.enabled_crashes) as Switch;
- TestCrashButton = view.FindViewById(Resource.Id.test_crash) as Button;
- DivideByZeroButton = view.FindViewById(Resource.Id.divide_by_zero) as Button;
- CrashWithAggregateExceptionButton = view.FindViewById(Resource.Id.crash_with_aggregate_exception) as Button;
- CrashWithNullReferenceExceptionButton = view.FindViewById(Resource.Id.crash_with_null_reference_exception) as Button;
- CatchNullReferenceExceptionButton = view.FindViewById(Resource.Id.catch_null_reference_exception) as Button;
- CrashAsyncButton = view.FindViewById(Resource.Id.crash_async) as Button;
- CrashDotNetThreadButton = view.FindViewById(Resource.Id.crash_from_dotnet_thread) as Button;
- CrashSuperNotCalledButton = view.FindViewById(Resource.Id.crash_super_not_called) as Button;
- CrashJavaFromDotNetButton = view.FindViewById(Resource.Id.crash_java_from_dotnet) as Button;
-
- // Subscribe to events.
- CrashesEnabledSwitch.CheckedChange += UpdateEnabled;
- TestCrashButton.Click += TestCrash;
- DivideByZeroButton.Click += DivideByZero;
- CrashWithAggregateExceptionButton.Click += CrashWithAggregateException;
- CrashWithNullReferenceExceptionButton.Click += CrashWithNullReferenceException;
- CatchNullReferenceExceptionButton.Click += CatchNullReferenceException;
- CrashAsyncButton.Click += CrashAsync;
- CrashDotNetThreadButton.Click += CrashDotNetThread;
- CrashSuperNotCalledButton.Click += CrashSuperNotCalled;
- CrashJavaFromDotNetButton.Click += CrashJavaFromDotNet;
-
- UpdateState();
- }
-
- protected override async void UpdateState()
- {
- CrashesEnabledSwitch.CheckedChange -= UpdateEnabled;
- CrashesEnabledSwitch.Enabled = true;
- CrashesEnabledSwitch.Checked = await Crashes.IsEnabledAsync();
- CrashesEnabledSwitch.Enabled = await AppCenter.IsEnabledAsync();
- CrashesEnabledSwitch.CheckedChange += UpdateEnabled;
- }
-
- private async void UpdateEnabled(object sender, CompoundButton.CheckedChangeEventArgs e)
- {
- await Crashes.SetEnabledAsync(e.IsChecked);
- CrashesEnabledSwitch.Checked = await Crashes.IsEnabledAsync();
- }
-
- private void TestCrash(object sender, EventArgs e)
- {
- Crashes.GenerateTestCrash();
- }
-
- private void DivideByZero(object sender, EventArgs e)
- {
- /* This is supposed to cause a crash, so we don't care that the variable 'x' is never used */
-#pragma warning disable CS0219
- int x = (42 / int.Parse("0"));
-#pragma warning restore CS0219
- }
-
- private void CatchNullReferenceException(object sender, EventArgs e)
- {
- try
- {
- TriggerNullReferenceException();
- }
- catch (NullReferenceException)
- {
- System.Diagnostics.Debug.WriteLine("null reference exception");
- }
- }
-
- private void CrashWithNullReferenceException(object sender, EventArgs e)
- {
- TriggerNullReferenceException();
- }
-
- private void TriggerNullReferenceException()
- {
- string[] values = { "one", null, "two" };
- for (int ctr = 0; ctr <= values.GetUpperBound(0); ctr++)
- {
- var val = values[ctr].Trim();
- var separator = ctr == values.GetUpperBound(0) ? "" : ", ";
- System.Diagnostics.Debug.WriteLine("{0}{1}", val, separator);
- }
- System.Diagnostics.Debug.WriteLine("");
- }
-
- private void CrashWithAggregateException(object sender, EventArgs e)
- {
- throw PrepareException();
- }
-
- async private void CrashAsync(object sender, EventArgs e)
- {
- await FakeService.DoStuffInBackground();
- }
-
- private void CrashDotNetThread(object sender, EventArgs e)
- {
- new Thread(() => throw new Exception("oops")).Start();
- }
-
- private void CrashSuperNotCalled(object sender, EventArgs e)
- {
- StartActivity(new Intent(Activity, typeof(CrashActivity)));
- }
-
- private void CrashJavaFromDotNet(object sender, EventArgs e)
- {
- Uri.Parse(null);
- }
-
- static Exception PrepareException()
- {
- try
- {
- throw new AggregateException(SendHttp(), new ArgumentException("Invalid parameter", ValidateLength()));
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- static Exception SendHttp()
- {
- try
- {
- throw new IOException("Network down");
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- static Exception ValidateLength()
- {
- try
- {
- throw new ArgumentOutOfRangeException(null, "It's over 9000!");
- }
- catch (Exception e)
- {
- return e;
- }
- }
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/ModulePages/OthersFragment.cs b/Apps/Contoso.Android.Puppet/ModulePages/OthersFragment.cs
deleted file mode 100644
index bd10d63a5..000000000
--- a/Apps/Contoso.Android.Puppet/ModulePages/OthersFragment.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Android.OS;
-using Android.Views;
-using Android.Widget;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Distribute;
-
-namespace Contoso.Android.Puppet
-{
- public class OthersFragment : PageFragment
- {
- private Switch DistributeEnabledSwitch;
-
- public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
- {
- return inflater.Inflate(Resource.Layout.Others, container, false);
- }
-
- public override void OnViewCreated(View view, Bundle savedInstanceState)
- {
- base.OnViewCreated(view, savedInstanceState);
-
- // Find views.
- DistributeEnabledSwitch = view.FindViewById(Resource.Id.enabled_distribute) as Switch;
-
- // Subscribe to events.
- DistributeEnabledSwitch.CheckedChange += UpdateDistributeEnabled;
- UpdateState();
- }
-
- protected override async void UpdateState()
- {
- DistributeEnabledSwitch.CheckedChange -= UpdateDistributeEnabled;
- DistributeEnabledSwitch.Enabled = true;
- DistributeEnabledSwitch.Checked = await Distribute.IsEnabledAsync();
- DistributeEnabledSwitch.Enabled = await AppCenter.IsEnabledAsync();
- DistributeEnabledSwitch.CheckedChange += UpdateDistributeEnabled;
- }
-
- private async void UpdateDistributeEnabled(object sender, CompoundButton.CheckedChangeEventArgs e)
- {
- await Distribute.SetEnabledAsync(e.IsChecked);
- DistributeEnabledSwitch.Checked = await Distribute.IsEnabledAsync();
- }
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/ModulePages/PageFragment.cs b/Apps/Contoso.Android.Puppet/ModulePages/PageFragment.cs
deleted file mode 100644
index 7a01fb5ba..000000000
--- a/Apps/Contoso.Android.Puppet/ModulePages/PageFragment.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using AndroidX.Fragment.App;
-
-namespace Contoso.Android.Puppet
-{
- public abstract class PageFragment : Fragment
- {
- public override void SetInitialSavedState(SavedState state)
- {
- // Prevent set saved state
- }
-
- public override bool UserVisibleHint
- {
- get { return base.UserVisibleHint; }
- set
- {
- base.UserVisibleHint = value;
- if (value && IsResumed)
- UpdateState();
- }
- }
-
- protected abstract void UpdateState();
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/PagerAdapter.cs b/Apps/Contoso.Android.Puppet/PagerAdapter.cs
deleted file mode 100644
index ed51d6a25..000000000
--- a/Apps/Contoso.Android.Puppet/PagerAdapter.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Android.Content;
-using AndroidX.Fragment.App;
-using Java.Lang;
-
-namespace Contoso.Android.Puppet
-{
- public class PagerAdapter : FragmentStatePagerAdapter
- {
- private readonly Context mContext;
-
- public PagerAdapter(FragmentManager fragmentManager, Context context) : base(fragmentManager)
- {
- mContext = context;
- }
-
- public override int Count
- {
- get { return 4; }
- }
-
- public override Fragment GetItem(int position)
- {
- switch (position)
- {
- case 0: return new AppCenterFragment();
- case 1: return new AnalyticsFragment();
- case 2: return new CrashesFragment();
- case 3: return new OthersFragment();
- default: return null;
- }
- }
-
- public override ICharSequence GetPageTitleFormatted(int position)
- {
- switch (position)
- {
- case 0: return new String(mContext.GetString(Resource.String.AppCenterTitle));
- case 1: return new String(mContext.GetString(Resource.String.AnalyticsTitle));
- case 2: return new String(mContext.GetString(Resource.String.CrashesTitle));
- case 3: return new String(mContext.GetString(Resource.String.OthersTitle));
- default: return null;
- }
- }
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/Preferences.cs b/Apps/Contoso.Android.Puppet/Preferences.cs
deleted file mode 100644
index 1acb436f9..000000000
--- a/Apps/Contoso.Android.Puppet/Preferences.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using Android.App;
-using Android.Content;
-
-namespace Contoso.Android.Puppet
-{
- public static class Preferences
- {
- private const string SharedPreferencesName = "ContosoAppPrefs";
-
- public static ISharedPreferences SharedPreferences =>
- Application.Context.GetSharedPreferences(SharedPreferencesName, FileCreationMode.Private);
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/Properties/AndroidManifest.xml b/Apps/Contoso.Android.Puppet/Properties/AndroidManifest.xml
deleted file mode 100644
index f2f5eb116..000000000
--- a/Apps/Contoso.Android.Puppet/Properties/AndroidManifest.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Android.Puppet/Properties/AssemblyInfo.cs b/Apps/Contoso.Android.Puppet/Properties/AssemblyInfo.cs
deleted file mode 100644
index 4f5b92d29..000000000
--- a/Apps/Contoso.Android.Puppet/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Contoso.Android.Puppet")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Microsoft Corporation")]
-[assembly: AssemblyProduct("Contoso.Android.Puppet")]
-[assembly: AssemblyCopyright("Microsoft Corp. All rights reserved.")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-[assembly: ComVisible(false)]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6-SNAPSHOT")]
diff --git a/Apps/Contoso.Android.Puppet/PropertiesActivity.cs b/Apps/Contoso.Android.Puppet/PropertiesActivity.cs
deleted file mode 100644
index b3afbf8cc..000000000
--- a/Apps/Contoso.Android.Puppet/PropertiesActivity.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Android.App;
-using Android.Content;
-using Android.OS;
-using Android.Widget;
-
-namespace Contoso.Android.Puppet
-{
- [Activity(Label = "PropertiesActivity")]
- public class PropertiesActivity : ListActivity
- {
- protected override void OnCreate(Bundle savedInstanceState)
- {
- base.OnCreate(savedInstanceState);
- var properties = Intent.GetStringArrayExtra("properties");
- ListAdapter = new ArrayAdapter(this, global::Android.Resource.Layout.SimpleListItem1, properties);
- }
- }
-}
diff --git a/Apps/Contoso.Android.Puppet/Resources/AboutResources.txt b/Apps/Contoso.Android.Puppet/Resources/AboutResources.txt
deleted file mode 100644
index c2bca974c..000000000
--- a/Apps/Contoso.Android.Puppet/Resources/AboutResources.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-Images, layout descriptions, binary blobs and string dictionaries can be included
-in your application as resource files. Various Android APIs are designed to
-operate on the resource IDs instead of dealing with images, strings or binary blobs
-directly.
-
-For example, a sample Android app that contains a user interface layout (main.axml),
-an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
-would keep its resources in the "Resources" directory of the application:
-
-Resources/
- drawable/
- icon.png
-
- layout/
- main.axml
-
- values/
- strings.xml
-
-In order to get the build system to recognize Android resources, set the build action to
-"AndroidResource". The native Android APIs do not operate directly with filenames, but
-instead operate on resource IDs. When you compile an Android application that uses resources,
-the build system will package the resources for distribution and generate a class called "R"
-(this is an Android convention) that contains the tokens for each one of the resources
-included. For example, for the above Resources layout, this is what the R class would expose:
-
-public class R {
- public class drawable {
- public const int icon = 0x123;
- }
-
- public class layout {
- public const int main = 0x456;
- }
-
- public class strings {
- public const int first_string = 0xabc;
- public const int second_string = 0xbcd;
- }
-}
-
-You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main
-to reference the layout/main.axml file, or R.strings.first_string to reference the first
-string in the dictionary file values/strings.xml.
\ No newline at end of file
diff --git a/Apps/Contoso.Android.Puppet/Resources/drawable-hdpi/icon.png b/Apps/Contoso.Android.Puppet/Resources/drawable-hdpi/icon.png
deleted file mode 100644
index 964f110ab..000000000
Binary files a/Apps/Contoso.Android.Puppet/Resources/drawable-hdpi/icon.png and /dev/null differ
diff --git a/Apps/Contoso.Android.Puppet/Resources/drawable-xhdpi/icon.png b/Apps/Contoso.Android.Puppet/Resources/drawable-xhdpi/icon.png
deleted file mode 100644
index 3c01e60ce..000000000
Binary files a/Apps/Contoso.Android.Puppet/Resources/drawable-xhdpi/icon.png and /dev/null differ
diff --git a/Apps/Contoso.Android.Puppet/Resources/drawable-xxhdpi/icon.png b/Apps/Contoso.Android.Puppet/Resources/drawable-xxhdpi/icon.png
deleted file mode 100644
index 0d8c1c57d..000000000
Binary files a/Apps/Contoso.Android.Puppet/Resources/drawable-xxhdpi/icon.png and /dev/null differ
diff --git a/Apps/Contoso.Android.Puppet/Resources/drawable/icon.png b/Apps/Contoso.Android.Puppet/Resources/drawable/icon.png
deleted file mode 100644
index b0ba7150f..000000000
Binary files a/Apps/Contoso.Android.Puppet/Resources/drawable/icon.png and /dev/null differ
diff --git a/Apps/Contoso.Android.Puppet/Resources/layout/Analytics.axml b/Apps/Contoso.Android.Puppet/Resources/layout/Analytics.axml
deleted file mode 100644
index 6979cf08c..000000000
--- a/Apps/Contoso.Android.Puppet/Resources/layout/Analytics.axml
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Android.Puppet/Resources/layout/AppCenter.axml b/Apps/Contoso.Android.Puppet/Resources/layout/AppCenter.axml
deleted file mode 100644
index 1c74cfe54..000000000
--- a/Apps/Contoso.Android.Puppet/Resources/layout/AppCenter.axml
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Android.Puppet/Resources/layout/Crashes.axml b/Apps/Contoso.Android.Puppet/Resources/layout/Crashes.axml
deleted file mode 100644
index 444e2cc98..000000000
--- a/Apps/Contoso.Android.Puppet/Resources/layout/Crashes.axml
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Android.Puppet/Resources/layout/Main.axml b/Apps/Contoso.Android.Puppet/Resources/layout/Main.axml
deleted file mode 100644
index 58dbcc8fb..000000000
--- a/Apps/Contoso.Android.Puppet/Resources/layout/Main.axml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Android.Puppet/Resources/layout/Others.axml b/Apps/Contoso.Android.Puppet/Resources/layout/Others.axml
deleted file mode 100644
index 1ce442c04..000000000
--- a/Apps/Contoso.Android.Puppet/Resources/layout/Others.axml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Android.Puppet/Resources/menu/navigation.xml b/Apps/Contoso.Android.Puppet/Resources/menu/navigation.xml
deleted file mode 100644
index 868a3867f..000000000
--- a/Apps/Contoso.Android.Puppet/Resources/menu/navigation.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
\ No newline at end of file
diff --git a/Apps/Contoso.Android.Puppet/Resources/values/Strings.xml b/Apps/Contoso.Android.Puppet/Resources/values/Strings.xml
deleted file mode 100644
index ee2ae77e2..000000000
--- a/Apps/Contoso.Android.Puppet/Resources/values/Strings.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
- App Center Puppet
- App Center
- Analytics
- Crashes
- Others
- App Center Enabled
- Log Level
- Log Message
- Log Tag
- Write Log
- Write User Id
- User Id
- Analytics Enabled
- Allow network requests
- Event Name
- Properties
- Add Property
- Track Event
- Crashes Enabled
- Generate Test Crash
- Divide 42 by 0
- Crash With Aggregate Exception
- Crash With NullReferenceException
- Test Catching NullReferenceException
- Crash Inside Async Task
- Crash Inside .NET Thread
- Crash Pure Java: SuperNotCalledException
- Crash Java from .NET
- Distribute Enabled
- Unexpected crash found
- Would you like to send an anonymous report so we can fix the problem?
- Don\'t Send
- Always Send
- Send
- Version {0} available!
- Add Property
- Please enter a property values to add to the event
- Add Property
- Cancel
- Save
- Change Storage Size
- Enable Manual Session Tracker
- Start Session
-
\ No newline at end of file
diff --git a/Apps/Contoso.Android.Puppet/Resources/values/styles.xml b/Apps/Contoso.Android.Puppet/Resources/values/styles.xml
deleted file mode 100644
index 5832b859e..000000000
--- a/Apps/Contoso.Android.Puppet/Resources/values/styles.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Android.Puppet/packages.config b/Apps/Contoso.Android.Puppet/packages.config
deleted file mode 100644
index c23bbb36e..000000000
--- a/Apps/Contoso.Android.Puppet/packages.config
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Android.Puppet/proguard.cfg b/Apps/Contoso.Android.Puppet/proguard.cfg
deleted file mode 100644
index 861246752..000000000
--- a/Apps/Contoso.Android.Puppet/proguard.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
--dontwarn com.microsoft.appcenter.**
--dontwarn com.google.android.gms.**
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/AndroidEnvironment.cfg b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/AndroidEnvironment.cfg
deleted file mode 100644
index 066909a14..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/AndroidEnvironment.cfg
+++ /dev/null
@@ -1 +0,0 @@
- XA_BROKEN_EXCEPTION_TRANSITIONS=true
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Assets/AboutAssets.txt b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Assets/AboutAssets.txt
deleted file mode 100644
index a9b0638eb..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Assets/AboutAssets.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-Any raw assets you want to be deployed with your application can be placed in
-this directory (and child directories) and given a Build Action of "AndroidAsset".
-
-These files will be deployed with your package and will be accessible using Android's
-AssetManager, like this:
-
-public class ReadAsset : Activity
-{
- protected override void OnCreate (Bundle bundle)
- {
- base.OnCreate (bundle);
-
- InputStream input = Assets.Open ("my_asset.txt");
- }
-}
-
-Additionally, some Android functions will automatically load asset files:
-
-Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Contoso.Forms.Demo.Droid.csproj b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Contoso.Forms.Demo.Droid.csproj
deleted file mode 100644
index 0dd47dee3..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Contoso.Forms.Demo.Droid.csproj
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
- Debug
- AnyCPU
- {3B39B339-86C4-47EF-8F85-811220494CA6}
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Library
- Contoso.Forms.Demo.Droid
- Contoso.Forms.Demo.Droid
- v11.0
- True
- Resources\Resource.designer.cs
- Resource
- Properties\AndroidManifest.xml
- Resources
- Assets
-
-
- false
-
-
- true
- full
- false
- bin\Debug
- DEBUG;
- prompt
- 4
- None
- false
- arm64-v8a;armeabi-v7a;x86;x86_64
- true
- true
-
-
- true
- pdbonly
- true
- bin\Release
- prompt
- 4
- true
- Full
- Microsoft.AppCenter.Crashes
- true
- armeabi-v7a;x86;arm64-v8a;x86_64
- true
- false
- r8
-
-
- true
- pdbonly
- true
- bin\GooglePlay
- 4
- false
- apk
- true
- d8
- r8
- true
- armeabi-v7a;x86;arm64-v8a;x86_64
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {8E7B51FC-8A9B-49F7-A40D-4D12BBF893B6}
- Contoso.Forms.Demo
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/FilePicker.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/FilePicker.cs
deleted file mode 100644
index 2ad2ee5f1..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/FilePicker.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.IO;
-using System.Threading.Tasks;
-using Android.Content;
-using Android.OS;
-using Android.Provider;
-using Android.Text.Format;
-using Android.Webkit;
-using Contoso.Forms.Demo.Droid;
-using Xamarin.Forms;
-
-// Make this class visible to the DependencyService manager.
-[assembly: Dependency(typeof(FilePicker))]
-
-namespace Contoso.Forms.Demo.Droid
-{
- public class FilePicker : IFilePicker
- {
- public Task PickFile()
- {
- Intent intent = new Intent(Intent.ActionOpenDocument);
- intent.AddCategory(Intent.CategoryOpenable);
- intent.SetType("*/*");
- var activity = Xamarin.Forms.Forms.Context as MainActivity;
- activity.StartActivityForResult(Intent.CreateChooser(intent, "Select attachment file"), MainActivity.FileAttachmentId);
- activity.FileAttachmentTaskCompletionSource = new TaskCompletionSource();
- return activity.FileAttachmentTaskCompletionSource.Task;
- }
-
- public Tuple ReadFile(string file)
- {
- var uri = Android.Net.Uri.Parse(file);
- var activity = Xamarin.Forms.Forms.Context as MainActivity;
-
- // Data
- byte[] data = null;
- using (var inputStream = activity.ContentResolver.OpenInputStream(uri))
- using (var memoryStream = new MemoryStream())
- {
- inputStream.CopyTo(memoryStream);
- data = memoryStream.ToArray();
- }
-
- // Name
- string name = "";
- var cursor = activity.ContentResolver.Query(uri, null, null, null, null);
- try
- {
- if (cursor != null && cursor.MoveToFirst())
- {
- var nameIndex = cursor.GetColumnIndex(OpenableColumns.DisplayName);
- if (!cursor.IsNull(nameIndex))
- {
- name = cursor.GetString(nameIndex);
- }
- }
- }
- finally
- {
- cursor?.Close();
- }
-
- // Mime
- string mime = null;
- if (uri.Scheme == ContentResolver.SchemeContent)
- {
- mime = activity.ContentResolver.GetType(uri);
- }
- else
- {
- var extension = MimeTypeMap.GetFileExtensionFromUrl(file);
- mime = MimeTypeMap.Singleton.GetMimeTypeFromExtension(extension.ToLower());
- }
- return new Tuple(data, name, mime);
- }
-
- public string GetFileDescription(string file)
- {
- if (string.IsNullOrEmpty(file))
- {
- return null;
- }
- var uri = Android.Net.Uri.Parse(file);
- var activity = Xamarin.Forms.Forms.Context as MainActivity;
-
- string name = null;
- string size = null;
- var cursor = activity.ContentResolver.Query(uri, null, null, null, null);
- try
- {
- if (cursor != null && cursor.MoveToFirst())
- {
- var nameIndex = cursor.GetColumnIndex(OpenableColumns.DisplayName);
- var sizeIndex = cursor.GetColumnIndex(OpenableColumns.Size);
- if (!cursor.IsNull(nameIndex))
- {
- name = cursor.GetString(nameIndex);
- }
- if (!cursor.IsNull(sizeIndex))
- {
- size = Formatter.FormatFileSize(activity, cursor.GetLong(sizeIndex));
- }
- }
- }
- finally
- {
- cursor?.Close();
- }
-
- string result = "";
- if (name != null)
- {
- result += "File: " + name;
- }
- if (size != null)
- {
- result += " Size: " + size;
- }
- return result;
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/MainActivity.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/MainActivity.cs
deleted file mode 100644
index dd402e89b..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/MainActivity.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Threading.Tasks;
-using Android.App;
-using Android.Content;
-using Android.Content.PM;
-using Android.OS;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics.Android.Channel;
-using Microsoft.AppCenter.Android.Ingestion.Models;
-using AndroidAnalytics = Microsoft.AppCenter.Analytics.Android.Analytics;
-using Xamarin.Forms;
-using Contoso.Forms.Demo.Droid;
-
-[assembly: Dependency(typeof(MainActivity))]
-namespace Contoso.Forms.Demo.Droid
-{
-
- [Activity(Label = "ACFDemo", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation, LaunchMode = LaunchMode.SingleTop)]
- public class MainActivity : Xamarin.Forms.Platform.Android.FormsAppCompatActivity, IClearCrashClick
- {
- public static readonly int FileAttachmentId = 1;
-
- private const string CrashesUserConfirmationStorageKey = "com.microsoft.appcenter.crashes.always.send";
-
- public TaskCompletionSource FileAttachmentTaskCompletionSource { set; get; }
-
- protected override void OnCreate(Bundle savedInstanceState)
- {
- TabLayoutResource = Resource.Layout.Tabbar;
- ToolbarResource = Resource.Layout.Toolbar;
-
- base.OnCreate(savedInstanceState);
-
- Xamarin.Forms.Forms.Init(this, savedInstanceState);
-
- AndroidAnalytics.SetListener(new AndroidAnalyticsListener());
- LoadApplication(new App());
- }
-
- protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
- {
- base.OnActivityResult(requestCode, resultCode, data);
- if (requestCode == FileAttachmentId)
- {
- var uri = resultCode == Result.Ok && data != null ? data.Data : null;
- if (uri != null)
- {
- ContentResolver.TakePersistableUriPermission(uri, data.Flags & ActivityFlags.GrantReadUriPermission);
- }
- FileAttachmentTaskCompletionSource.SetResult(uri?.ToString());
- }
- }
-
- public void ClearCrashButton()
- {
- ISharedPreferences appCenterPreferences = Android.App.Application.Context.GetSharedPreferences("AppCenter", FileCreationMode.Private);
- appCenterPreferences.Edit().Remove(CrashesUserConfirmationStorageKey).Apply();
- }
- }
-
- public class AndroidAnalyticsListener : Java.Lang.Object, IAnalyticsListener
- {
- public void OnSendingFailed(ILog log, Java.Lang.Exception e)
- {
- AppCenterLog.Debug(App.LogTag, "Analytics listener OnSendingFailed with exception: " + e);
- }
-
- public void OnSendingSucceeded(ILog log)
- {
- AppCenterLog.Debug(App.LogTag, "Analytics listener OnSendingSucceeded");
- }
-
- public void OnBeforeSending(ILog log)
- {
- AppCenterLog.Debug(App.LogTag, "Analytics listener OnBeforeSendingEventLog");
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Properties/AndroidManifest.xml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Properties/AndroidManifest.xml
deleted file mode 100644
index 319c08c51..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Properties/AndroidManifest.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Properties/AssemblyInfo.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Properties/AssemblyInfo.cs
deleted file mode 100644
index 87cdada1a..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using Android.App;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle("Contoso.Forms.Demo.Droid")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6")]
-
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/AboutResources.txt b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/AboutResources.txt
deleted file mode 100644
index 10f52d460..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/AboutResources.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-Images, layout descriptions, binary blobs and string dictionaries can be included
-in your application as resource files. Various Android APIs are designed to
-operate on the resource IDs instead of dealing with images, strings or binary blobs
-directly.
-
-For example, a sample Android app that contains a user interface layout (main.axml),
-an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
-would keep its resources in the "Resources" directory of the application:
-
-Resources/
- drawable/
- icon.png
-
- layout/
- main.axml
-
- values/
- strings.xml
-
-In order to get the build system to recognize Android resources, set the build action to
-"AndroidResource". The native Android APIs do not operate directly with filenames, but
-instead operate on resource IDs. When you compile an Android application that uses resources,
-the build system will package the resources for distribution and generate a class called "R"
-(this is an Android convention) that contains the tokens for each one of the resources
-included. For example, for the above Resources layout, this is what the R class would expose:
-
-public class R {
- public class drawable {
- public const int icon = 0x123;
- }
-
- public class layout {
- public const int main = 0x456;
- }
-
- public class strings {
- public const int first_string = 0xabc;
- public const int second_string = 0xbcd;
- }
-}
-
-You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main
-to reference the layout/main.axml file, or R.strings.first_string to reference the first
-string in the dictionary file values/strings.xml.
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable-hdpi/icon.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable-hdpi/icon.png
deleted file mode 100644
index 964f110ab..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable-hdpi/icon.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable-xhdpi/icon.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable-xhdpi/icon.png
deleted file mode 100644
index 3c01e60ce..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable-xhdpi/icon.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable-xxhdpi/icon.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable-xxhdpi/icon.png
deleted file mode 100644
index 0d8c1c57d..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable-xxhdpi/icon.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable/ic_appcenter_logo.xml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable/ic_appcenter_logo.xml
deleted file mode 100644
index 71534290d..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable/ic_appcenter_logo.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable/icon.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable/icon.png
deleted file mode 100644
index b0ba7150f..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/drawable/icon.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/layout/Tabbar.axml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/layout/Tabbar.axml
deleted file mode 100644
index 6c8a9d134..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/layout/Tabbar.axml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/layout/Toolbar.axml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/layout/Toolbar.axml
deleted file mode 100644
index 8c1bf7e63..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/layout/Toolbar.axml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/values/colors.xml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/values/colors.xml
deleted file mode 100644
index 36f3476a1..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/values/colors.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- #CB2E62
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/values/styles.xml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/values/styles.xml
deleted file mode 100644
index 3dc5ef6ba..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/Resources/values/styles.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/appcenter-post-clone.sh b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/appcenter-post-clone.sh
deleted file mode 100755
index 38c684a41..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/appcenter-post-clone.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT License.
-
-#!/usr/bin/env bash
-echo "Executing post clone script in `pwd`"
-pushd $APPCENTER_SOURCE_DIRECTORY
-nugetFileName="../../../NuGet.config"
-contentValue="
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "
-
-if [ -e $nugetFileName ]; then
- rm $nugetFileName
-fi
-echo $contentValue >> $nugetFileName
-./scripts/update-app-secrets.sh PROD
-./build.sh -t=externals-android
-popd
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/proguard.cfg b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/proguard.cfg
deleted file mode 100644
index 79dc95bcf..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.Droid/proguard.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
--dontwarn com.microsoft.appcenter.**
--dontwarn com.google.android.gms.**
--dontwarn com.nimbusds.**
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/AppDelegate.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/AppDelegate.cs
deleted file mode 100644
index 7c0bff0b9..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/AppDelegate.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using AppKit;
-using Foundation;
-using Xamarin.Forms.Platform.MacOS;
-using Xamarin.Forms;
-using Contoso.Forms.Demo.MacOS;
-
-[assembly: Dependency(typeof(AppDelegate))]
-namespace Contoso.Forms.Demo.MacOS
-{
- [Register("AppDelegate")]
- public class AppDelegate : FormsApplicationDelegate, IClearCrashClick
- {
- private const string CrashesUserConfirmationStorageKey = "MSAppCenterCrashesUserConfirmation";
- private const string ApplicationCrashOnExceptionsKey = "NSApplicationCrashOnExceptions";
-
- NSPanel window;
- public AppDelegate()
- {
- var style = NSWindowStyle.Closable | NSWindowStyle.Resizable | NSWindowStyle.Titled;
- var rect = new CoreGraphics.CGRect(200, 1000, 1024, 768);
- window = new NSPanel(rect, style, NSBackingStore.Buffered, false);
- window.Title = "App Center Xamarin.Forms on Mac!";
- window.TitleVisibility = NSWindowTitleVisibility.Hidden;
- var plist = NSUserDefaults.StandardUserDefaults;
- var dictionary = new NSDictionary(NSObject.FromObject(true), new NSString(ApplicationCrashOnExceptionsKey));
- plist.RegisterDefaults(dictionary);
- }
-
- public override NSWindow MainWindow
- {
- get { return window; }
- }
-
- public override void DidFinishLaunching(NSNotification notification)
- {
- Xamarin.Forms.Forms.Init();
- LoadApplication(new App());
- base.DidFinishLaunching(notification);
- }
-
- public void ClearCrashButton()
- {
- NSUserDefaults.StandardUserDefaults.RemoveObject(CrashesUserConfirmationStorageKey);
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png
deleted file mode 100644
index d0b5a8098..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png
deleted file mode 100644
index f4c8d2904..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png
deleted file mode 100644
index ebb5a0fe4..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png
deleted file mode 100644
index 0986d31be..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png
deleted file mode 100644
index f4c8d2904..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png
deleted file mode 100644
index a142c83fb..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png
deleted file mode 100644
index 0986d31be..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png
deleted file mode 100644
index 412d6ca9b..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png
deleted file mode 100644
index a142c83fb..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png
deleted file mode 100644
index e99022ae8..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 6b2854529..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "images": [
- {
- "filename": "AppIcon-16.png",
- "size": "16x16",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-16@2x.png",
- "size": "16x16",
- "scale": "2x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-32.png",
- "size": "32x32",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-32@2x.png",
- "size": "32x32",
- "scale": "2x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-128.png",
- "size": "128x128",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-128@2x.png",
- "size": "128x128",
- "scale": "2x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-256.png",
- "size": "256x256",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-256@2x.png",
- "size": "256x256",
- "scale": "2x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-512.png",
- "size": "512x512",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-512@2x.png",
- "size": "512x512",
- "scale": "2x",
- "idiom": "mac"
- }
- ],
- "info": {
- "version": 1,
- "author": "xcode"
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/Contents.json b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/Contents.json
deleted file mode 100644
index 4caf392f9..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Assets.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Contoso.Forms.Demo.MacOS.csproj b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Contoso.Forms.Demo.MacOS.csproj
deleted file mode 100644
index 4eb2be5f4..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Contoso.Forms.Demo.MacOS.csproj
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-
- Debug
- AnyCPU
- {85B05946-0E5A-4AFE-88E8-079D6AA9D3D6}
- {A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Exe
- Contoso.Forms.Demo.MacOS
- Contoso.Forms.Demo.MacOS
- v2.0
- Xamarin.Mac
- Resources
-
-
- true
- full
- false
- bin\Debug
- DEBUG;
- prompt
- 4
- false
- Mac Developer
- false
- false
- false
- true
- true
- true
-
-
-
- pdbonly
- true
- bin\Release
-
- prompt
- 4
- false
- true
- false
- true
- true
- true
- Entitlements.plist
- SdkOnly
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ViewController.cs
-
-
-
-
-
-
-
-
- {8E7B51FC-8A9B-49F7-A40D-4D12BBF893B6}
- Contoso.Forms.Demo
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Entitlements.plist b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Entitlements.plist
deleted file mode 100644
index 9ae599370..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Entitlements.plist
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/FilePicker.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/FilePicker.cs
deleted file mode 100644
index 5e10d83d3..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/FilePicker.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Runtime.InteropServices;
-using System.Threading.Tasks;
-using Contoso.Forms.Demo.MacOS;
-using Foundation;
-using MobileCoreServices;
-using Xamarin.Forms;
-
-// Make this class visible to the DependencyService manager.
-[assembly: Dependency(typeof(FilePicker))]
-
-namespace Contoso.Forms.Demo.MacOS
-{
- public class FilePicker : IFilePicker
- {
- private string mockUri = "file://mock.url";
-
- public FilePicker()
- {
- }
-
- public string GetFileDescription(string file)
- {
- if (string.IsNullOrEmpty(file))
- {
- return null;
- }
- var fileSize = file.Length;
- return NSByteCountFormatter.Format(fileSize, NSByteCountFormatterCountStyle.Binary);
- }
-
- public async Task PickFile()
- {
- var taskCompletionSource = new TaskCompletionSource();
- taskCompletionSource.SetResult(mockUri);
- return await taskCompletionSource.Task;
- }
-
- public Tuple ReadFile(string file)
- {
- var dataUti = file;
- var data = new NSData(file, NSDataBase64DecodingOptions.None);
- var extension = "txt";
- var uti = UTType.CreatePreferredIdentifier(UTType.TagClassFilenameExtension, extension, null);
- var mime = UTType.GetPreferredTag(uti, UTType.TagClassMIMEType);
- var dataBytes = new byte[data.Length];
- Marshal.Copy(data.Bytes, dataBytes, 0, Convert.ToInt32(data.Length));
- var result = new Tuple(dataBytes, dataUti, mime);
- return result;
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Info.plist b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Info.plist
deleted file mode 100644
index 0897b6f84..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Info.plist
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
- CFBundleName
- Contoso.Forms.Demo.MacOS
- CFBundleIdentifier
- com.microsoft.appcenter.Contoso-Forms-Demo-MacOS
- CFBundleShortVersionString
- 5.0.6
- CFBundleVersion
- 5.0.6
- LSMinimumSystemVersion
- 10.14
- CFBundleDevelopmentRegion
- en
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundlePackageType
- APPL
- CFBundleSignature
- ????
- NSHumanReadableCopyright
- ${AuthorCopyright:HtmlEncode}
- NSPrincipalClass
- NSApplication
- NSMainStoryboardFile
- Main
- XSAppIconAssets
- Assets.xcassets/AppIcon.appiconset
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Main.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Main.cs
deleted file mode 100644
index 27ef00964..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Main.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using AppKit;
-
-namespace Contoso.Forms.Demo.MacOS
-{
- static class MainClass
- {
- static void Main(string[] args)
- {
- NSApplication.Init();
- NSApplication.SharedApplication.Delegate = new AppDelegate(); // add this line
- NSApplication.Main(args);
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Main.storyboard b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Main.storyboard
deleted file mode 100644
index 7562e1f6e..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/Main.storyboard
+++ /dev/null
@@ -1,719 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/ViewController.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/ViewController.cs
deleted file mode 100644
index 44cc84bbb..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/ViewController.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-
-using AppKit;
-using Foundation;
-
-namespace Contoso.Forms.Demo.MacOS
-{
- public partial class ViewController : NSViewController
- {
- public ViewController(IntPtr handle) : base(handle)
- {
- }
-
- public override void ViewDidLoad()
- {
- base.ViewDidLoad();
-
- // Do any additional setup after loading the view.
- }
-
- public override NSObject RepresentedObject
- {
- get
- {
- return base.RepresentedObject;
- }
- set
- {
- base.RepresentedObject = value;
- // Update the view, if already loaded.
- }
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/ViewController.designer.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/ViewController.designer.cs
deleted file mode 100644
index 7134d1cbb..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.MacOS/ViewController.designer.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Foundation;
-
-namespace Contoso.Forms.Demo.MacOS
-{
- [Register("ViewController")]
- partial class ViewController
- {
- void ReleaseDesignerOutlets()
- {
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/App.xaml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/App.xaml
deleted file mode 100644
index b7f297863..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/App.xaml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/App.xaml.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/App.xaml.cs
deleted file mode 100644
index f34767084..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/App.xaml.cs
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Diagnostics;
-using System.Runtime.InteropServices;
-using System.Threading.Tasks;
-using Microsoft.AppCenter;
-using Windows.ApplicationModel;
-using Windows.ApplicationModel.Activation;
-using Windows.Devices.Geolocation;
-using Windows.Globalization;
-using Windows.Services.Maps;
-using Windows.UI.Xaml;
-using Windows.UI.Xaml.Controls;
-using Windows.UI.Xaml.Navigation;
-
-namespace Contoso.Forms.Demo.UWP
-{
- ///
- /// Provides application-specific behavior to supplement the default Application class.
- ///
- sealed partial class App : Application
- {
- private const string LogTag = "AppCenterXamarinDemo";
-
- ///
- /// Initializes the singleton application object. This is the first line of authored code
- /// executed, and as such is the logical equivalent of main() or WinMain().
- ///
- public App()
- {
- // Set the country/region before initialization occurs so App Center can send the field to the backend.
- // We do not use await here because we don't need to wait for this task to complete,
- // and await would block the UI in App constructor.
- _ = SetCountryCode();
- EventFilterHolder.Implementation = new EventFilterWrapper();
- InitializeComponent();
- Suspending += OnSuspending;
- }
-
- private static async Task SetCountryCode()
- {
- // The following country code is used only as a fallback for the main implementation.
- // This fallback country code does not reflect the physical device location, but rather the
- // country/region that corresponds to the culture it uses.
- var countryCode = new GeographicRegion().CodeTwoLetter;
- var accessStatus = await Geolocator.RequestAccessAsync();
- switch (accessStatus)
- {
- case GeolocationAccessStatus.Allowed:
- var geoLocator = new Geolocator
- {
- DesiredAccuracyInMeters = 100
- };
- var position = await geoLocator.GetGeopositionAsync();
- var myLocation = new BasicGeoposition
- {
- Longitude = position.Coordinate.Point.Position.Longitude,
- Latitude = position.Coordinate.Point.Position.Latitude
- };
- var pointToReverseGeocode = new Geopoint(myLocation);
- try
- {
- MapService.ServiceToken = Constants.BingMapsAuthKey;
- }
- catch (SEHException)
- {
- AppCenterLog.Info(LogTag, "Please provide a valid Bing Maps authentication key. For more info see: https://docs.microsoft.com/en-us/windows/uwp/maps-and-location/authentication-key");
- }
- var result = await MapLocationFinder.FindLocationsAtAsync(pointToReverseGeocode);
- if (result.Status != MapLocationFinderStatus.Success || result.Locations == null || result.Locations.Count == 0)
- {
- break;
- }
-
- // The returned country code is in 3-letter format (ISO 3166-1 alpha-3).
- // Below we convert it to ISO 3166-1 alpha-2 (two letter).
- var alpha3CountryCode = result.Locations[0].Address.CountryCode;
- countryCode = new GeographicRegion(alpha3CountryCode).CodeTwoLetter;
- break;
- case GeolocationAccessStatus.Denied:
- AppCenterLog.Info(LogTag, "Geolocation access denied. In order to set country code in App Center, enable location service in Windows 10.");
- break;
- case GeolocationAccessStatus.Unspecified:
- break;
- }
- AppCenter.SetCountryCode(countryCode);
- }
-
- ///
- /// Invoked when the application is launched normally by the end user. Other entry points
- /// will be used such as when the application is launched to open a specific file.
- ///
- /// Details about the launch request and process.
- protected override void OnLaunched(LaunchActivatedEventArgs e)
- {
-#if DEBUG
- if (Debugger.IsAttached)
- {
- DebugSettings.EnableFrameRateCounter = true;
- }
-#endif
-
- Frame rootFrame = Window.Current.Content as Frame;
-
- // Do not repeat app initialization when the Window already has content,
- // just ensure that the window is active
- if (rootFrame == null)
- {
- // Create a Frame to act as the navigation context and navigate to the first page
- rootFrame = new Frame();
-
- rootFrame.NavigationFailed += OnNavigationFailed;
-
- Xamarin.Forms.Forms.Init(e);
-
- if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
- {
- //TODO: Load state from previously suspended application
- }
-
- // Place the frame in the current Window
- Window.Current.Content = rootFrame;
- }
- if (e.PrelaunchActivated == false)
- {
- if (rootFrame.Content == null)
- {
- // When the navigation stack isn't restored navigate to the first page,
- // configuring the new page by passing required information as a navigation
- // parameter
- rootFrame.Navigate(typeof(MainPage), e.Arguments);
- }
- // Ensure the current window is active
- Window.Current.Activate();
- }
- }
-
- ///
- /// Invoked when Navigation to a certain page fails
- ///
- /// The Frame which failed navigation
- /// Details about the navigation failure
- private void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
- {
- throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
- }
-
- ///
- /// Invoked when application execution is being suspended. Application state is saved
- /// without knowing whether the application will be terminated or resumed with the contents
- /// of memory still intact.
- ///
- /// The source of the suspend request.
- /// Details about the suspend request.
- private void OnSuspending(object sender, SuspendingEventArgs e)
- {
- var deferral = e.SuspendingOperation.GetDeferral();
- //TODO: Save application state and stop any background activity
- deferral.Complete();
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/LockScreenLogo.scale-200.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/LockScreenLogo.scale-200.png
deleted file mode 100644
index f911b0659..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/LockScreenLogo.scale-200.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/SplashScreen.scale-200.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/SplashScreen.scale-200.png
deleted file mode 100644
index e0ec91acf..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/SplashScreen.scale-200.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/Square150x150Logo.scale-200.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/Square150x150Logo.scale-200.png
deleted file mode 100644
index 73dacc1d1..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/Square150x150Logo.scale-200.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/Square44x44Logo.scale-200.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/Square44x44Logo.scale-200.png
deleted file mode 100644
index 9c1920375..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/Square44x44Logo.scale-200.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
deleted file mode 100644
index 589b046de..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/StoreLogo.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/StoreLogo.png
deleted file mode 100644
index 84e2f38cd..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/StoreLogo.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/Wide310x150Logo.scale-200.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/Wide310x150Logo.scale-200.png
deleted file mode 100644
index 6fd2e7c40..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Assets/Wide310x150Logo.scale-200.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/ClearCrashes.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/ClearCrashes.cs
deleted file mode 100644
index 56cf546f5..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/ClearCrashes.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Contoso.Forms.Demo.UWP;
-using Xamarin.Forms;
-
-[assembly: Dependency(typeof(ClearCrashes))]
-namespace Contoso.Forms.Demo.UWP
-{
- public class ClearCrashes : IClearCrashClick
- {
- private const string CrashesUserConfirmationStorageKey = "AppCenterCrashesAlwaysSend";
-
- public void ClearCrashButton()
- {
- Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
- localSettings.Values.Remove(CrashesUserConfirmationStorageKey);
- }
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Contoso.Forms.Demo.UWP.csproj b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Contoso.Forms.Demo.UWP.csproj
deleted file mode 100644
index 27e5dc645..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Contoso.Forms.Demo.UWP.csproj
+++ /dev/null
@@ -1,174 +0,0 @@
-
-
-
-
- Debug
- x86
- {665362D9-5EE2-45DE-A907-25DC86999A68}
- AppContainerExe
- Properties
- Contoso.Forms.Demo.UWP
- Contoso.Forms.Demo.UWP
- en-US
- UAP
- 10.0.17763.0
- 10.0.16299.0
- 14
- 512
- {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Contoso.Forms.Demo.UWP_StoreKey.pfx
- 38B6CE0261101093067141A5B20EABF6A091738F
- win10-arm;win10-arm-aot;win10-arm64;win10-arm64-aot;win10-x86;win10-x86-aot;win10-x64;win10-x64-aot
-
-
- true
- bin\x86\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
- ;2008
- full
- x86
- false
- prompt
- true
-
-
- bin\x86\Release\
- TRACE;NETFX_CORE;WINDOWS_UWP
- true
- ;2008
- pdbonly
- x86
- false
- prompt
- true
- true
-
-
- true
- bin\ARM\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
- ;2008
- full
- ARM
- false
- prompt
- true
-
-
- bin\ARM\Release\
- TRACE;NETFX_CORE;WINDOWS_UWP
- true
- ;2008
- pdbonly
- ARM
- false
- prompt
- true
- true
-
-
- true
- bin\x64\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
- ;2008
- full
- x64
- false
- prompt
- true
-
-
- bin\x64\Release\
- TRACE;NETFX_CORE;WINDOWS_UWP
- true
- ;2008
- pdbonly
- x64
- false
- prompt
- true
- true
-
-
-
- App.xaml
-
-
-
-
-
-
- MainPage.xaml
-
-
-
-
-
- Designer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MSBuild:Compile
- Designer
-
-
- MSBuild:Compile
- Designer
-
-
-
-
- {8e7b51fc-8a9b-49f7-a40d-4d12bbf893b6}
- Contoso.Forms.Demo
-
-
-
-
-
-
-
-
-
-
- 14.0
-
-
- true
- bin\ARM64\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS
- ;2008
- true
- full
- ARM64
- false
- prompt
- MinimumRecommendedRules.ruleset
- true
-
-
- bin\ARM64\Release\
- TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS
- true
- ;2008
- true
- pdbonly
- ARM64
- false
- prompt
- MinimumRecommendedRules.ruleset
- true
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/EventFilter.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/EventFilter.cs
deleted file mode 100644
index 919bef702..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/EventFilter.cs
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics.Ingestion.Models;
-using Microsoft.AppCenter.Channel;
-using System;
-using System.Threading.Tasks;
-
-namespace Contoso.Forms.Demo.UWP
-{
- public class EventFilter : AppCenterService
- {
- #region static
-
- private static readonly object EventFilterLock = new object();
-
- private static EventFilter _instanceField;
-
- public static EventFilter Instance
- {
- get
- {
- lock (EventFilterLock)
- {
- return _instanceField ?? (_instanceField = new EventFilter());
- }
- }
- set
- {
- lock (EventFilterLock)
- {
- _instanceField = value; //for testing
- }
- }
- }
-
- ///
- /// Check whether the EventFilter service is enabled or not.
- ///
- /// A task with result being true if enabled, false if disabled.
- public static Task IsEnabledAsync()
- {
- lock (EventFilterLock)
- {
- return Task.FromResult(Instance.InstanceEnabled);
- }
- }
-
- ///
- /// Enable or disable the EventFilter service.
- ///
- /// A task to monitor the operation.
- public static Task SetEnabledAsync(bool enabled)
- {
- lock (EventFilterLock)
- {
- Instance.InstanceEnabled = enabled;
- return Task.FromResult(default(object));
- }
- }
-
- #endregion
-
- #region instance
-
- public override bool InstanceEnabled
- {
- get
- {
- return base.InstanceEnabled;
- }
-
- set
- {
- lock (_serviceLock)
- {
- var prevValue = InstanceEnabled;
- base.InstanceEnabled = value;
- if (value != prevValue)
- {
- ApplyEnabledState(value);
- }
- }
- }
- }
-
- protected override string ChannelName => "event_filter";
-
- public override string ServiceName => "EventFilter";
-
- public Type BindingType { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
-
- public override void OnChannelGroupReady(IChannelGroup channelGroup, string appSecret)
- {
- lock (_serviceLock)
- {
- base.OnChannelGroupReady(channelGroup, appSecret);
- ApplyEnabledState(InstanceEnabled);
- }
- }
-
- private void ApplyEnabledState(bool enabled)
- {
- lock (_serviceLock)
- {
- if (ChannelGroup != null)
- {
- if (enabled)
- {
- ChannelGroup.FilteringLog += FilterLog;
- }
- else
- {
- ChannelGroup.FilteringLog -= FilterLog;
- }
- }
- }
- }
-
- private void FilterLog(object sender, FilteringLogEventArgs e)
- {
- if (e.Log is EventLog)
- {
- e.FilterRequested = true;
- }
- }
-
- #endregion
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/EventFilterWrapper.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/EventFilterWrapper.cs
deleted file mode 100644
index 95dafc5ba..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/EventFilterWrapper.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Threading.Tasks;
-
-namespace Contoso.Forms.Demo.UWP
-{
- internal class EventFilterWrapper : EventFilterHolder.IImplementation
- {
- public Type BindingType => typeof(EventFilter);
-
- public Task IsEnabledAsync() => EventFilter.IsEnabledAsync();
-
- public Task SetEnabledAsync(bool enabled) => EventFilter.SetEnabledAsync(enabled);
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/FilePicker.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/FilePicker.cs
deleted file mode 100644
index 6a306ac82..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/FilePicker.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Runtime.InteropServices.WindowsRuntime;
-using System.Threading.Tasks;
-using Contoso.Forms.Demo;
-using Contoso.Forms.Puppet.UWP;
-using Windows.Storage;
-using Windows.Storage.Pickers;
-using Xamarin.Forms;
-
-[assembly: Dependency(typeof(FilePicker))]
-namespace Contoso.Forms.Puppet.UWP
-{
- public class FilePicker : IFilePicker
- {
- async Task IFilePicker.PickFile()
- {
- FileOpenPicker openPicker = new FileOpenPicker
- {
- SuggestedStartLocation = PickerLocationId.PicturesLibrary
- };
-
- // FileTypeFilter is required for FileOpenPicker.PickSingleFileAsync to work.
- // UWP app will crash without specifying FileTypeFilter.
- openPicker.FileTypeFilter.Add("*");
- var file = await openPicker.PickSingleFileAsync();
- return file?.Path;
- }
-
- Tuple IFilePicker.ReadFile(string file)
- {
- var storageFileTask = StorageFile.GetFileFromPathAsync(file).AsTask();
- var storageFile = storageFileTask.GetAwaiter().GetResult();
- var bufferTask = FileIO.ReadBufferAsync(storageFile).AsTask();
- var buffer = bufferTask.GetAwaiter().GetResult();
- byte[] bytes = buffer.ToArray();
- return new Tuple(bytes, storageFile.Name, storageFile.ContentType);
- }
-
- string IFilePicker.GetFileDescription(string file)
- {
- throw new NotImplementedException();
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/MainPage.xaml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/MainPage.xaml
deleted file mode 100644
index 2cf41ec65..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/MainPage.xaml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/MainPage.xaml.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/MainPage.xaml.cs
deleted file mode 100644
index 6b569cd3e..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/MainPage.xaml.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
-
-namespace Contoso.Forms.Demo.UWP
-{
- ///
- /// An empty page that can be used on its own or navigated to within a Frame.
- ///
- public sealed partial class MainPage
- {
- public MainPage()
- {
- this.InitializeComponent();
- LoadApplication(new Demo.App());
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Package.StoreAssociation.xml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Package.StoreAssociation.xml
deleted file mode 100644
index c216fb468..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Package.StoreAssociation.xml
+++ /dev/null
@@ -1,456 +0,0 @@
-
-
- CN=B2D1C358-6AF8-4416-BF73-129CC1F3C152
- Azure Mobile Team
- http://www.w3.org/2001/04/xmlenc#sha256
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 10805zumoTestUser.AppCenter-Contoso.Forms.Demo.UWP
-
- AppCenter-Contoso.Forms.Demo.UWP
-
-
-
- 10805zumoTestUser.AppCenter-Contoso.Forms.Demo.UWP
- 10805zumoTestUser.AppCenter-Contoso.UWP.Puppet
- 10805zumoTestUser.AppCenter-Contso.Forms.Puppet.UW
- 10805zumoTestUser.ClientSdkDotNetApp
- 10805zumoTestUser.ClientSdkNodeApp
- 10805zumoTestUser.DanceFever
- 10805zumoTestUser.DanceFever1
- 10805zumoTestUser.Dec02zumotest
- 10805zumoTestUser.dihei-0421
- 10805zumoTestUser.dihei-e2e
- 10805zumoTestUser.dihei-e2e-2
- 10805zumoTestUser.dihei-e2e-3
- 10805zumoTestUser.dihei-empty-node
- 10805zumoTestUser.e2eappautomation3
- 10805zumoTestUser.e2eauth-21
- 10805zumoTestUser.e2eauth-23
- 10805zumoTestUser.e2efabio
- 10805zumoTestUser.e2esherry
- 10805zumoTestUser.e2etestccd
- 10805zumoTestUser.e2etestccdnet
- 10805zumoTestUser.e2etest-dotnet2
- 10805zumoTestUser.e2etest-dotnet-v2
- 10805zumoTestUser.e2etest-node2
- 10805zumoTestUser.ExistingAppBluCurrent
- 10805zumoTestUser.ExistingAppBluNext
- 10805zumoTestUser.ExistingAppBluPreview
- 10805zumoTestUser.ExistingAppDB3Current
- 10805zumoTestUser.ExistingAppDB3Next
- 10805zumoTestUser.ExistingAppDB3Preview
- 10805zumoTestUser.existingappnhtest1
- 10805zumoTestUser.FastForwardDanceFever
- 10805zumoTestUser.FieldEngineer
- 10805zumoTestUser.FieldEngineerManager
- CNB2D1C358-6AF8-4416-BF73.MobileCenterPuppetUnity
- 10805zumoTestUser.MobileCenter-Forms-UWP-Demo
- 10805zumoTestUser.MobileCenter-Forms-UWP-Puppet
- 10805zumoTestUser.MobileCenter-Unity-Demo
- 10805zumoTestUser.MobileCenter-UWP-Puppet
- 10805zumoTestUser.MobileSherryJS
- 10805zumoTestUser.MobileSherryNet
- 10805zumoTestUser.mysalesassociateapp
- 10805zumoTestUser.Nov164vteste2e
- 10805zumoTestUser.nov18test4v
- 10805zumoTestUser.OfflineTestDotNet
- 10805zumoTestUser.OfflineTestNode
- 10805zumoTestUser.OGFApp-Net
- 10805zumoTestUser.OGFExistingAppBluTC
- 10805zumoTestUser.pgopaDotNetV2
- 10805zumoTestUser.pgopae2eauthdotnet
- 10805zumoTestUser.pgopaEasyAuth1
- 10805zumoTestUser.pgopaLiveSDKAuth
- 10805zumoTestUser.pgopaLiveSDKAuth1
- 10805zumoTestUser.pgopapushtest
- 10805zumoTestUser.pgopaPushV2
- 10805zumoTestUser.pgopav1e2e
- 10805zumoTestUser.ProdBayZumo
- 10805zumoTestUser.ProdBluZumo
- 10805zumoTestUser.ProdDB3Zumo
- 10805zumoTestUser.ProdHK1Zumo
- 10805zumoTestUser.SalesAssistant
- 10805zumoTestUser.SalesAssociate
- 10805zumoTestUser.SalesAssociateApp514
- 10805zumoTestUser.StageBayZumo
- 10805zumoTestUser.StageBluZumo
- 10805zumoTestUser.StageDB3Zumo
- 10805zumoTestUser.StoreManager
- 10805zumoTestUser.TestE2EAppCurrentRedeploy1
- 10805zumoTestUser.TestE2EAppNextRedeploy1
- 10805zumoTestUser.teste2eapppreview1
- 10805zumoTestUser.teste2eapppreviewredeploy1
- 10805zumoTestUser.teste2eapppreviewredeploy3
- 10805zumoTestUser.VicsE2e
- 10805zumoTestUser.ws---fullscaletest
- 10805zumoTestUser.ZumoClientSDKReleaseE2ETestApp
- 10805zumoTestUser.ZumoClientSDKReleseE2ETestApp
- 10805zumoTestUser.ZumoNHTest1
- 10805zumoTestUser.ZumoPhoneBlu
- 10805zumoTestUser.zumotestblu1
- 10805zumoTestUser.zumotestblu2
- 10805zumoTestUser.zumotestblu3
- 10805zumoTestUser.zumotestblu4
- 10805zumoTestUser.zumotestblu5
- 10805zumoTestUser.zumotestdb1
- 10805zumoTestUser.zumotestdb2
- 10805zumoTestUser.zumotestdb3
- 10805zumoTestUser.zumotestdb4
- 10805zumoTestUser.zumotestdb5
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Package.appxmanifest b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Package.appxmanifest
deleted file mode 100644
index 5397ca8b0..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Package.appxmanifest
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
- AppCenter-Contoso.Forms.Demo.UWP
- Azure Mobile Team
- Assets\StoreLogo.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Properties/AssemblyInfo.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Properties/AssemblyInfo.cs
deleted file mode 100644
index 769ba54d2..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Contoso.Forms.Demo.UWP")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Contoso.Forms.Demo.UWP")]
-[assembly: AssemblyCopyright("Copyright © 2016")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: ComVisible(false)]
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Properties/Default.rd.xml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Properties/Default.rd.xml
deleted file mode 100644
index 80a960ce3..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.UWP/Properties/Default.rd.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/AppDelegate.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/AppDelegate.cs
deleted file mode 100644
index f66591ac7..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/AppDelegate.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using Contoso.Forms.Demo.iOS;
-using Foundation;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics.Apple.Bindings;
-using Microsoft.AppCenter.Distribute;
-using UIKit;
-using Xamarin.Forms;
-
-[assembly: Dependency(typeof(AppDelegate))]
-namespace Contoso.Forms.Demo.iOS
-{
- [Register("AppDelegate")]
- public class AppDelegate : Xamarin.Forms.Platform.iOS.FormsApplicationDelegate, IClearCrashClick
- {
- private const string CrashesUserConfirmationStorageKey = "MSAppCenterCrashesUserConfirmation";
-
- public override bool FinishedLaunching(UIApplication uiApplication, NSDictionary launchOptions)
- {
- Xamarin.Forms.Forms.Init();
- Distribute.DontCheckForUpdatesInDebug();
- MSACAnalytics.SetDelegate(new AnalyticsDelegate());
- LoadApplication(new App());
- UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
- return base.FinishedLaunching(uiApplication, launchOptions);
- }
-
- public override void WillEnterForeground(UIApplication uiApplication)
- {
- base.WillEnterForeground(uiApplication);
- UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
- }
-
- public void ClearCrashButton()
- {
- NSUserDefaults.StandardUserDefaults.RemoveObject(CrashesUserConfirmationStorageKey);
- }
- }
-
- public class AnalyticsDelegate : MSACAnalyticsDelegate
- {
- public override void WillSendEventLog(MSACAnalytics analytics, MSACEventLog eventLog)
- {
- AppCenterLog.Debug(App.LogTag, "Will send event");
- }
-
- public override void DidSucceedSendingEventLog(MSACAnalytics analytics, MSACEventLog eventLog)
- {
- AppCenterLog.Debug(App.LogTag, "Did send event");
- }
-
- public override void DidFailSendingEventLog(MSACAnalytics analytics, MSACEventLog eventLog, NSError error)
- {
- AppCenterLog.Debug(App.LogTag, "Failed to send event with error: " + error);
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 4e646784c..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,157 +0,0 @@
-{
- "images": [
- {
- "idiom": "iphone",
- "size": "29x29",
- "scale": "1x"
- },
- {
- "idiom": "iphone",
- "size": "29x29",
- "scale": "2x"
- },
- {
- "idiom": "iphone",
- "size": "29x29",
- "scale": "3x"
- },
- {
- "idiom": "iphone",
- "size": "40x40",
- "scale": "2x"
- },
- {
- "idiom": "iphone",
- "size": "40x40",
- "scale": "3x"
- },
- {
- "idiom": "iphone",
- "size": "57x57",
- "scale": "1x"
- },
- {
- "idiom": "iphone",
- "size": "57x57",
- "scale": "2x"
- },
- {
- "idiom": "iphone",
- "size": "60x60",
- "scale": "2x"
- },
- {
- "idiom": "iphone",
- "size": "60x60",
- "scale": "3x"
- },
- {
- "idiom": "ipad",
- "size": "29x29",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "29x29",
- "scale": "2x"
- },
- {
- "idiom": "ipad",
- "size": "40x40",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "40x40",
- "scale": "2x"
- },
- {
- "idiom": "ipad",
- "size": "50x50",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "50x50",
- "scale": "2x"
- },
- {
- "idiom": "ipad",
- "size": "72x72",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "72x72",
- "scale": "2x"
- },
- {
- "idiom": "ipad",
- "size": "76x76",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "76x76",
- "scale": "2x"
- },
- {
- "size": "24x24",
- "idiom": "watch",
- "scale": "2x",
- "role": "notificationCenter",
- "subtype": "38mm"
- },
- {
- "size": "27.5x27.5",
- "idiom": "watch",
- "scale": "2x",
- "role": "notificationCenter",
- "subtype": "42mm"
- },
- {
- "size": "29x29",
- "idiom": "watch",
- "role": "companionSettings",
- "scale": "2x"
- },
- {
- "size": "29x29",
- "idiom": "watch",
- "role": "companionSettings",
- "scale": "3x"
- },
- {
- "size": "40x40",
- "idiom": "watch",
- "scale": "2x",
- "role": "appLauncher",
- "subtype": "38mm"
- },
- {
- "size": "44x44",
- "idiom": "watch",
- "scale": "2x",
- "role": "longLook",
- "subtype": "42mm"
- },
- {
- "size": "86x86",
- "idiom": "watch",
- "scale": "2x",
- "role": "quickLook",
- "subtype": "38mm"
- },
- {
- "size": "98x98",
- "idiom": "watch",
- "scale": "2x",
- "role": "quickLook",
- "subtype": "42mm"
- }
- ],
- "info": {
- "version": 1,
- "author": "xcode"
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Assets.xcassets/Contents.json b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Assets.xcassets/Contents.json
deleted file mode 100644
index 4caf392f9..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Assets.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Contoso.Forms.Demo.iOS.csproj b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Contoso.Forms.Demo.iOS.csproj
deleted file mode 100644
index 85aa9bca0..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Contoso.Forms.Demo.iOS.csproj
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
-
- Debug
- iPhoneSimulator
- {EB8F7B8E-5013-4C0C-9C32-59ADC5FDFDBD}
- {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Exe
- Contoso.Forms.Demo.iOS
- Contoso.Forms.Demo.iOS
- Resources
-
-
- true
- full
- false
- bin\iPhoneSimulator\Debug
- DEBUG;ENABLE_TEST_CLOUD;
- prompt
- 4
- iPhone Developer: Microsoft Corporation
- true
- true
- None
- x86_64
- HttpClientHandler
- Default
- false
- Entitlements-debug.plist
- appcenter xamarin forms ios demo df Dist
-
-
- true
- bin\iPhone\Release
-
-
- prompt
- 4
- iPhone Developer: Microsoft Corporation
- true
- Entitlements-release.plist
- SdkOnly
- ARM64
- HttpClientHandler
- Default
- appcenter xamarin forms ios demo df Dist
-
-
- pdbonly
- true
- bin\iPhoneSimulator\Release
-
-
- prompt
- 4
- iPhone Developer: Microsoft Corporation
- None
- i386, x86_64
- HttpClientHandler
- Default
- appcenter xamarin forms ios demo df Dist
-
-
- true
- full
- false
- bin\iPhone\Debug
- DEBUG;ENABLE_TEST_CLOUD;
- prompt
- 4
- iPhone Developer: Microsoft Corporation
- true
- true
- false
- true
- Entitlements-debug.plist
- SdkOnly
- ARM64
- HttpClientHandler
- Default
- appcenter xamarin forms ios demo df Dist
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
-
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {8E7B51FC-8A9B-49F7-A40D-4D12BBF893B6}
- Contoso.Forms.Demo
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Entitlements-debug.plist b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Entitlements-debug.plist
deleted file mode 100644
index 86d9db386..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Entitlements-debug.plist
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- aps-environment
- production
- keychain-access-groups
-
- $(AppIdentifierPrefix)com.microsoft.adalcache
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Entitlements-release.plist b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Entitlements-release.plist
deleted file mode 100644
index 86d9db386..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Entitlements-release.plist
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- aps-environment
- production
- keychain-access-groups
-
- $(AppIdentifierPrefix)com.microsoft.adalcache
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/FilePicker.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/FilePicker.cs
deleted file mode 100644
index 5b4fec5c4..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/FilePicker.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Runtime.InteropServices;
-using System.Threading.Tasks;
-using Contoso.Forms.Demo.iOS;
-using Foundation;
-using MobileCoreServices;
-using Photos;
-using UIKit;
-using Xamarin.Forms;
-
-// Make this class visible to the DependencyService manager.
-[assembly: Dependency(typeof(FilePicker))]
-
-namespace Contoso.Forms.Demo.iOS
-{
- public class FilePicker : IFilePicker
- {
- public async Task PickFile()
- {
- var status = await PHPhotoLibrary.RequestAuthorizationAsync();
- if (status != PHAuthorizationStatus.Authorized)
- {
- return null;
- }
- var taskCompletionSource = new TaskCompletionSource();
- var imagePicker = new UIImagePickerController();
- imagePicker.FinishedPickingMedia += (sender, args) => {
- taskCompletionSource.SetResult(args.ReferenceUrl?.AbsoluteString);
- imagePicker.DismissModalViewController(true);
- };
- imagePicker.Canceled += (sender, args) => {
- taskCompletionSource.SetResult(null);
- imagePicker.DismissModalViewController(true);
- };
- UIWindow window = UIApplication.SharedApplication.KeyWindow;
- var viewController = window.RootViewController;
- viewController.PresentModalViewController(imagePicker, true);
- return await taskCompletionSource.Task;
- }
-
- public Tuple ReadFile(string file)
- {
- Tuple result = null;
- var asset = PHAsset.FetchAssets(new[] { new NSUrl(file) }, null).LastObject as PHAsset;
- if (asset != null)
- {
- var options = new PHImageRequestOptions { Synchronous = true };
- PHImageManager.DefaultManager.RequestImageData(asset, options,(data, dataUti, orientation, info) => {
- var extension = new NSUrl(dataUti).PathExtension;
- var uti = UTType.CreatePreferredIdentifier(UTType.TagClassFilenameExtension, extension, null);
- var mime = UTType.GetPreferredTag(uti, UTType.TagClassMIMEType);
- var dataBytes = new byte[data.Length];
- Marshal.Copy(data.Bytes, dataBytes, 0, Convert.ToInt32(data.Length));
- result = new Tuple(dataBytes, dataUti, mime);
- });
- }
- return result;
- }
-
- public string GetFileDescription(string file)
- {
- if (string.IsNullOrEmpty(file))
- {
- return null;
- }
- long fileSize = 0;
- var asset = PHAsset.FetchAssets(new[] { new NSUrl(file) }, null).LastObject as PHAsset;
- if (asset != null)
- {
- var options = new PHImageRequestOptions { Synchronous = true };
- PHImageManager.DefaultManager.RequestImageData(asset, options, (data, dataUti, orientation, info) => {
- fileSize = Convert.ToInt64(data.Length);
- });
- }
- return NSByteCountFormatter.Format(fileSize, NSByteCountFormatterCountStyle.Binary);
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Info.plist b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Info.plist
deleted file mode 100644
index 1cd9b829c..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Info.plist
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-
-
- CFBundleIdentifier
- com.microsoft.appcenter.xamarin.forms.ios.demo
- CFBundleVersion
- 5.0.6
- LSRequiresIPhoneOS
-
- MinimumOSVersion
- 9.0
- UIDeviceFamily
-
- 1
- 2
-
- UILaunchStoryboardName
- LaunchScreen
- UIRequiredDeviceCapabilities
-
- armv7
-
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UISupportedInterfaceOrientations~ipad
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- XSAppIconAssets
- Assets.xcassets/AppIcon.appiconset
- CFBundleName
- ACFDemo
- CFBundleShortVersionString
- 5.0.6
- CFBundleURLTypes
-
-
- CFBundleTypeRole
- None
- CFBundleURLName
- com.microsoft.appcenter.xamarin.forms.ios.demo
- CFBundleURLSchemes
-
- appcenter-fe2bf05d-f4f9-48a6-83d9-ea8033fbb644
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleLocalizations
-
- cs-CZ
- de-DE
- es-ES
- fr-FR
- it-IT
- ja-JP
- ko-KR
- pl-PL
- pt-BR
- ru-RU
- tr-TR
- zh-CN
- zh-TW
- en-US
-
- UIBackgroundModes
-
- remote-notification
-
- NSPhotoLibraryUsageDescription
- Select photo for attachment
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/LaunchScreen.storyboard b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/LaunchScreen.storyboard
deleted file mode 100644
index 5d2e905aa..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/LaunchScreen.storyboard
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Main.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Main.cs
deleted file mode 100644
index 83a9d141e..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Main.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using UIKit;
-
-namespace Contoso.Forms.Demo.iOS
-{
- public class Application
- {
- // This is the main entry point of the application.
- static void Main(string[] args)
- {
- // if you want to use a different Application Delegate class from "AppDelegate"
- // you can specify it here.
- UIApplication.Main(args, null, "AppDelegate");
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Resources/bolt@2x.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Resources/bolt@2x.png
deleted file mode 100644
index 48c3d8a19..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Resources/bolt@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Resources/handbag@2x.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Resources/handbag@2x.png
deleted file mode 100644
index b164f4439..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Resources/handbag@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Resources/lightning@2x.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Resources/lightning@2x.png
deleted file mode 100644
index 58e552a1e..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Resources/lightning@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Resources/socket@2x.png b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Resources/socket@2x.png
deleted file mode 100644
index 738bc6a9a..000000000
Binary files a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/Resources/socket@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/appcenter-post-clone.sh b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/appcenter-post-clone.sh
deleted file mode 100755
index 069c8995a..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/appcenter-post-clone.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT License.
-
-#!/usr/bin/env bash
-echo "Executing post clone script in `pwd`"
-pushd $APPCENTER_SOURCE_DIRECTORY
-nugetFileName="../../../NuGet.config"
-contentValue="
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "
-
-if [ -e $nugetFileName ]; then
- rm $nugetFileName
-fi
-echo $contentValue >> $nugetFileName
-./scripts/update-app-secrets.sh PROD
-./build.sh -t=Externals-Apple
-popd
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/icon_attribution.txt b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/icon_attribution.txt
deleted file mode 100644
index 91431cc7e..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo.iOS/icon_attribution.txt
+++ /dev/null
@@ -1 +0,0 @@
-iOS Tab bar icons from Glyphish - http://glyphish.com
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/AddPropertyContentPage.xaml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/AddPropertyContentPage.xaml
deleted file mode 100644
index e17756524..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/AddPropertyContentPage.xaml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/AddPropertyContentPage.xaml.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/AddPropertyContentPage.xaml.cs
deleted file mode 100644
index 6cb3b895e..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/AddPropertyContentPage.xaml.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-
-namespace Contoso.Forms.Demo
-{
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class AddPropertyContentPage
- {
- public event Action PropertyAdded;
-
- public AddPropertyContentPage()
- {
- InitializeComponent();
- }
-
- async void AddProperty(object sender, EventArgs e)
- {
- Property addedProperty = new Property(NameEntry?.Text, ValueEntry?.Text);
- PropertyAdded?.Invoke(addedProperty);
- await Navigation.PopModalAsync();
- }
-
- async void Cancel(object sender, EventArgs e)
- {
- await Navigation.PopModalAsync();
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/App.xaml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/App.xaml
deleted file mode 100644
index 3c5f1a748..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/App.xaml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/App.xaml.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/App.xaml.cs
deleted file mode 100644
index 1078f1e11..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/App.xaml.cs
+++ /dev/null
@@ -1,278 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics;
-using Microsoft.AppCenter.Crashes;
-using Microsoft.AppCenter.Distribute;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using Xamarin.Forms;
-using XamarinDevice = Xamarin.Forms.Device;
-
-namespace Contoso.Forms.Demo
-{
- public interface IClearCrashClick
- {
- void ClearCrashButton();
- }
-
- public partial class App
- {
- public const string LogTag = "AppCenterXamarinDemo";
- private Task dialog = null;
-
- public App()
- {
- InitializeComponent();
- MainPage = new NavigationPage(new MainDemoPage());
- }
-
- protected override void OnStart()
- {
- if (!AppCenter.Configured)
- {
- AppCenterLog.Assert(LogTag, "AppCenter.LogLevel=" + AppCenter.LogLevel);
- AppCenter.LogLevel = LogLevel.Verbose;
- AppCenterLog.Info(LogTag, "AppCenter.LogLevel=" + AppCenter.LogLevel);
- AppCenterLog.Info(LogTag, "AppCenter.Configured=" + AppCenter.Configured);
-
- // Set callbacks
- Crashes.ShouldProcessErrorReport = ShouldProcess;
- Crashes.ShouldAwaitUserConfirmation = ConfirmationHandler;
- Crashes.GetErrorAttachments = GetErrorAttachmentsCallback;
- Distribute.ReleaseAvailable = OnReleaseAvailable;
- Distribute.WillExitApp = OnWillExitApp;
- Distribute.NoReleaseAvailable = OnNoReleaseAvailable;
-
- // Event handlers
- Crashes.SendingErrorReport += SendingErrorReportHandler;
- Crashes.SentErrorReport += SentErrorReportHandler;
- Crashes.FailedToSendErrorReport += FailedToSendErrorReportHandler;
-
- // Country code.
- if (Current.Properties.ContainsKey(Constants.CountryCode)
- && Current.Properties[Constants.CountryCode] is string countryCode)
- {
- AppCenter.SetCountryCode(countryCode);
- }
-
- // Manual session tracker.
- if (Current.Properties.ContainsKey(Constants.EnableManualSessionTracker)
- && Current.Properties[Constants.EnableManualSessionTracker] is bool isEnabled
- && isEnabled)
- {
- Analytics.EnableManualSessionTracker();
- }
-
- AppCenterLog.Assert(LogTag, "AppCenter.Configured=" + AppCenter.Configured);
-
- var updateTrack = TrackUpdateUtils.GetPersistedUpdateTrack();
- if (updateTrack != null)
- {
- Distribute.UpdateTrack = updateTrack.Value;
- }
- if (Current.Properties.TryGetValue(Constants.AutomaticUpdateCheckKey, out object persistedObject) && !(bool)persistedObject)
- {
- Distribute.DisableAutomaticCheckForUpdate();
- }
- if (Current.Properties.ContainsKey(Constants.StorageMaxSize) && Current.Properties[Constants.StorageMaxSize] is long size)
- {
- AppCenter.SetMaxStorageSizeAsync(size);
- }
- AppCenter.Start(GetTokensString(), typeof(Analytics), typeof(Crashes), typeof(Distribute));
- if (Current.Properties.ContainsKey(Constants.UserId) && Current.Properties[Constants.UserId] is string id)
- {
- AppCenter.SetUserId(id);
- }
- AppCenter.IsEnabledAsync().ContinueWith(enabled =>
- {
- AppCenterLog.Info(LogTag, "AppCenter.Enabled=" + enabled.Result);
- });
- AppCenter.GetInstallIdAsync().ContinueWith(installId =>
- {
- AppCenterLog.Info(LogTag, "AppCenter.InstallId=" + installId.Result);
- });
- AppCenterLog.Info(LogTag, "AppCenter.SdkVersion=" + AppCenter.SdkVersion);
- Crashes.HasCrashedInLastSessionAsync().ContinueWith(hasCrashed =>
- {
- AppCenterLog.Info(LogTag, "Crashes.HasCrashedInLastSession=" + hasCrashed.Result);
- });
- Crashes.GetLastSessionCrashReportAsync().ContinueWith(task =>
- {
- AppCenterLog.Info(LogTag, "Crashes.LastSessionCrashReport.StackTrace=" + task.Result?.StackTrace);
- });
- }
- }
-
- private string GetOneCollectorTokenString()
- {
- return "iosTarget={XAMARIN_FORMS_IOS_TARGET_TOKEN_PROD};" +
- "macos={XAMARIN_FORMS_MACOS_TARGET_TOKEN_PROD};" +
- "androidTarget={XAMARIN_FORMS_ANDROID_TARGET_TOKEN_PROD};" +
- "uwp={XAMARIN_FORMS_UWP_TARGET_TOKEN_PROD}";
- }
-
- private string GetAppCenterTokenString()
- {
- return "ios={XAMARIN_FORMS_IOS_PROD};" +
- "macos={XAMARIN_FORMS_MACOS_PROD};" +
- "android={XAMARIN_FORMS_ANDROID_PROD};" +
- "uwp={XAMARIN_FORMS_UWP_PROD}";
- }
-
- private string GetTokensString()
- {
- var persistedStartType = StartTypeUtils.GetPersistedStartType();
- switch (persistedStartType)
- {
- case StartType.OneCollector:
- return GetOneCollectorTokenString();
- case StartType.Both:
- return $"{GetAppCenterTokenString()};{GetOneCollectorTokenString()}";
- default:
- return GetAppCenterTokenString();
- }
- }
-
- static void SendingErrorReportHandler(object sender, SendingErrorReportEventArgs e)
- {
- AppCenterLog.Info(LogTag, "Sending error report");
- }
-
- static void SentErrorReportHandler(object sender, SentErrorReportEventArgs e)
- {
- AppCenterLog.Info(LogTag, "Sent error report");
- }
-
- static void FailedToSendErrorReportHandler(object sender, FailedToSendErrorReportEventArgs e)
- {
- AppCenterLog.Info(LogTag, "Failed to send error report");
- }
-
- bool ShouldProcess(ErrorReport report)
- {
- AppCenterLog.Info(LogTag, "Determining whether to process error report");
- return true;
- }
-
- bool ConfirmationHandler()
- {
- XamarinDevice.BeginInvokeOnMainThread(() =>
- {
- if (XamarinDevice.RuntimePlatform == XamarinDevice.macOS)
- {
- dialog = Current.MainPage.DisplayActionSheet("Crash detected. Send anonymous crash report?", "Send", "Always Send");
- }
- else
- {
- dialog = Current.MainPage.DisplayActionSheet("Crash detected. Send anonymous crash report?", null, null, "Send", "Always Send", "Don't Send");
- }
- dialog.ContinueWith((arg) =>
- {
- var answer = arg.Result;
- UserConfirmation userConfirmationSelection;
- if (answer == "Send")
- {
- userConfirmationSelection = UserConfirmation.Send;
- }
- else if (answer == "Always Send")
- {
- userConfirmationSelection = UserConfirmation.AlwaysSend;
- }
- else
- {
- userConfirmationSelection = UserConfirmation.DontSend;
- }
- AppCenterLog.Debug(LogTag, "User selected confirmation option: \"" + answer + "\"");
- Crashes.NotifyUserConfirmation(userConfirmationSelection);
- });
- });
- return true;
- }
-
- static IEnumerable GetErrorAttachmentsCallback(ErrorReport report)
- {
- return GetErrorAttachments();
- }
-
- public static IEnumerable GetErrorAttachments()
- {
- var attachments = new List();
- if (Current.Properties.TryGetValue(CrashesContentPage.TextAttachmentKey, out var textAttachment) &&
- textAttachment is string text)
- {
- var attachment = ErrorAttachmentLog.AttachmentWithText(text, "hello.txt");
- attachments.Add(attachment);
- }
- if (Current.Properties.TryGetValue(CrashesContentPage.FileAttachmentKey, out var fileAttachment) &&
- fileAttachment is string file)
- {
- var filePicker = DependencyService.Get();
- if (filePicker != null)
- {
- try
- {
- var result = filePicker.ReadFile(file);
- if (result != null)
- {
- var attachment = ErrorAttachmentLog.AttachmentWithBinary(result.Item1, result.Item2, result.Item3);
- attachments.Add(attachment);
- }
- }
- catch (Exception e)
- {
- AppCenterLog.Warn(LogTag, "Couldn't read file attachment", e);
- Current.Properties.Remove(CrashesContentPage.FileAttachmentKey);
- }
- }
- }
- return attachments;
- }
-
- void OnNoReleaseAvailable()
- {
- AppCenterLog.Info(LogTag, "No release available callback invoked.");
- }
-
- bool OnReleaseAvailable(ReleaseDetails releaseDetails)
- {
- AppCenterLog.Info(LogTag, "OnReleaseAvailable id=" + releaseDetails.Id
- + " version=" + releaseDetails.Version
- + " releaseNotesUrl=" + releaseDetails.ReleaseNotesUrl);
- var custom = releaseDetails.ReleaseNotes?.ToLowerInvariant().Contains("custom") ?? false;
- if (custom)
- {
- var title = "Version " + releaseDetails.ShortVersion + " available!";
- Task answer;
- if (releaseDetails.MandatoryUpdate)
- {
- answer = Current.MainPage.DisplayAlert(title, releaseDetails.ReleaseNotes, "Update now!");
- }
- else
- {
- answer = Current.MainPage.DisplayAlert(title, releaseDetails.ReleaseNotes, "Update now!", "Maybe tomorrow...");
- }
- answer.ContinueWith((task) =>
- {
- if (releaseDetails.MandatoryUpdate || ((Task)task).Result)
- {
- Distribute.NotifyUpdateAction(UpdateAction.Update);
- }
- else
- {
- Distribute.NotifyUpdateAction(UpdateAction.Postpone);
- }
- });
- }
- return custom;
- }
-
- void OnWillExitApp()
- {
- AppCenterLog.Info(LogTag, "App will close callback invoked.");
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/AuthTypeUtils.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/AuthTypeUtils.cs
deleted file mode 100644
index 769612895..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/AuthTypeUtils.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Demo
-{
- public enum AuthType
- {
- B2C,
- AAD,
- };
-
- public static class AuthTypeUtils
- {
- public static AuthType GetPersistedAuthType()
- {
- if (Application.Current.Properties.TryGetValue(AuthTypeSettingKey, out object persistedAuthTypeObject))
- {
- string persistedAuthTypeString = (string)persistedAuthTypeObject;
- if (Enum.TryParse(persistedAuthTypeString, out var persistedAuthTypeEnum))
- {
- return persistedAuthTypeEnum;
- }
- }
-
- return DefaultAuthType;
- }
-
- public static void SetPersistedAuthType(AuthType choice)
- {
- Application.Current.Properties[AuthTypeSettingKey] = choice.ToString();
- }
-
- public static IEnumerable GetAuthTypeChoiceStrings()
- {
- foreach (var authTypeObject in Enum.GetValues(typeof(AuthType)))
- {
- yield return authTypeObject.ToString();
- }
- }
-
- public const AuthType DefaultAuthType = AuthType.B2C;
- private const string AuthTypeSettingKey = "authType";
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Constants.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Constants.cs
deleted file mode 100644
index 54babd80e..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Constants.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.Forms.Demo
-{
- [Android.Runtime.Preserve(AllMembers = true)]
- public static class Constants
- {
- public const string BingMapsAuthKey = "paste-key-here";
- public const string UserId = "userId";
- public const string UpdateTrackKey = "update-track";
- public const string AutomaticUpdateCheckKey = "automatic-update-check";
- public const string StorageMaxSize = "storage-max-size";
- public const string EnableManualSessionTracker = "enable-manual-session-tracker";
- public const string CountryCode = "country-code";
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Contoso.Forms.Demo.csproj b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Contoso.Forms.Demo.csproj
deleted file mode 100644
index 25c18200a..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Contoso.Forms.Demo.csproj
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
- netstandard2.0
- Microsoft Corp. All rights reserved.
- Microsoft Corporation
- 5.0.6
- 0.0.0.0
- 5.0.6.0
- Debug;Release;GooglePlay
-
-
- pdbonly
- true
- bin\GooglePlay
- TRACE;GOOGLEPLAY;NETSTANDARD;NETSTANDARD2_0;
- 4
- 1701;1702
- obj\GooglePlay
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/EventFilterHolder.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/EventFilterHolder.cs
deleted file mode 100644
index 00b04ed6c..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/EventFilterHolder.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Threading.Tasks;
-
-namespace Contoso.Forms.Demo
-{
- public static class EventFilterHolder
- {
- public interface IImplementation
- {
- Type BindingType { get; }
-
- Task IsEnabledAsync();
-
- Task SetEnabledAsync(bool enabled);
- }
-
- public static IImplementation Implementation { get; set; }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/FakeService.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/FakeService.cs
deleted file mode 100644
index 32835ec45..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/FakeService.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.IO;
-using System.Threading.Tasks;
-
-namespace Contoso.Forms.Demo
-{
- static class FakeService
- {
- internal static async Task DoStuffInBackground()
- {
- await Task.Run(() => throw new IOException("Server did not respond"));
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/IFilePicker.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/IFilePicker.cs
deleted file mode 100644
index 2ba1e9195..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/IFilePicker.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Threading.Tasks;
-
-namespace Contoso.Forms.Demo
-{
- public interface IFilePicker
- {
- Task PickFile();
- Tuple ReadFile(string file);
- string GetFileDescription(string file);
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/MainDemoPage.xaml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/MainDemoPage.xaml
deleted file mode 100644
index 691042c4b..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/MainDemoPage.xaml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/MainDemoPage.xaml.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/MainDemoPage.xaml.cs
deleted file mode 100644
index 680520ceb..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/MainDemoPage.xaml.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.Forms.Demo
-{
- public partial class MainDemoPage
- {
- public MainDemoPage ()
- {
- InitializeComponent();
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/AnalyticsContentPage.xaml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/AnalyticsContentPage.xaml
deleted file mode 100644
index f69466560..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/AnalyticsContentPage.xaml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/AnalyticsContentPage.xaml.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/AnalyticsContentPage.xaml.cs
deleted file mode 100644
index 86360c62e..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/AnalyticsContentPage.xaml.cs
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Demo
-{
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class AnalyticsContentPage : ContentPage
- {
- List EventProperties;
-
- public AnalyticsContentPage()
- {
- InitializeComponent();
- EventProperties = new List();
- NumPropertiesLabel.Text = EventProperties.Count.ToString();
-
- if (Xamarin.Forms.Device.RuntimePlatform == Xamarin.Forms.Device.iOS)
- {
- Icon = "lightning.png";
- }
- }
-
- protected override async void OnAppearing()
- {
- base.OnAppearing();
- EnabledSwitchCell.IsToggled = await Analytics.IsEnabledAsync();
- EnabledSwitchCell.IsEnabled = await AppCenter.IsEnabledAsync();
- if (Application.Current.Properties.ContainsKey(Constants.CountryCode)
- && Application.Current.Properties[Constants.CountryCode] is string countryCode)
- {
- CountryCodeText.Text = countryCode;
- }
- if (Application.Current.Properties.ContainsKey(Constants.EnableManualSessionTracker)
- && Application.Current.Properties[Constants.EnableManualSessionTracker] is bool isEnabled)
- {
- EnableManualSessionTrackerSwitch.IsToggled = isEnabled;
- }
- }
-
- async void AddProperty(object sender, EventArgs e)
- {
- var addPage = new AddPropertyContentPage();
- addPage.PropertyAdded += (Property property) =>
- {
- if (property.Name == null || EventProperties.Any(i => i.Name == property.Name))
- {
- return;
- }
- EventProperties.Add(property);
- RefreshPropCount();
- };
- await Navigation.PushModalAsync(addPage);
- }
-
- async void PropertiesCellTapped(object sender, EventArgs e)
- {
- await Navigation.PushAsync(new PropertiesContentPage(EventProperties));
- }
-
- void TrackEvent(object sender, EventArgs e)
- {
- var properties = new Dictionary();
- foreach (Property property in EventProperties)
- {
- properties.Add(property.Name, property.Value);
- }
-
- if (EventProperties.Count == 0)
- {
- Analytics.TrackEvent(EventNameCell.Text);
- return;
- }
-
- EventProperties.Clear();
- RefreshPropCount();
- Analytics.TrackEvent(EventNameCell.Text, properties);
-
- }
-
- async void UpdateEnabled(object sender, ToggledEventArgs e)
- {
- await Analytics.SetEnabledAsync(e.Value);
- }
-
- void RefreshPropCount()
- {
- NumPropertiesLabel.Text = EventProperties.Count.ToString();
- }
-
- void EnableManualSessionTrackerCellEnabled(object sender, ToggledEventArgs e)
- {
- Application.Current.Properties[Constants.EnableManualSessionTracker] = e.Value;
- _ = Application.Current.SavePropertiesAsync();
- }
-
- void StartSessionButton_Clicked(object sender, EventArgs e)
- {
- Analytics.StartSession();
- }
-
- void SaveCountryCode_Clicked(object sender, EventArgs e)
- {
- Application.Current.Properties[Constants.CountryCode] = CountryCodeText.Text;
- _ = Application.Current.SavePropertiesAsync();
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/AppCenterContentPage.xaml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/AppCenterContentPage.xaml
deleted file mode 100644
index 829395755..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/AppCenterContentPage.xaml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/AppCenterContentPage.xaml.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/AppCenterContentPage.xaml.cs
deleted file mode 100644
index e85337d94..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/AppCenterContentPage.xaml.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.ComponentModel;
-using System.Threading.Tasks;
-using Microsoft.AppCenter;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Demo
-{
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class AppCenterContentPage : ContentPage
- {
- const string LogTag = "AppCenterXamarinDemo";
-
- public AppCenterContentPage()
- {
- InitializeComponent();
- if (Xamarin.Forms.Device.RuntimePlatform == Xamarin.Forms.Device.iOS)
- {
- Icon = "bolt.png";
- }
-
- // Setup start type dropdown choices.
- foreach (var startType in StartTypeUtils.GetStartTypeChoiceStrings())
- {
- this.StartTypePicker.Items.Add(startType);
- }
- this.StartTypePicker.SelectedIndex = (int)(StartTypeUtils.GetPersistedStartType());
- }
-
- protected override async void OnAppearing()
- {
- base.OnAppearing();
- AppCenterEnabledSwitchCell.IsToggled = await AppCenter.IsEnabledAsync();
- AllowedNetworkRequestSwitchCell.IsToggled = AppCenter.IsNetworkRequestsAllowed;
- if (Application.Current.Properties.ContainsKey(Constants.UserId) && Application.Current.Properties[Constants.UserId] is string id)
- {
- UserIdEntry.Text = id;
- }
- if (Application.Current.Properties.ContainsKey(Constants.StorageMaxSize) && Application.Current.Properties[Constants.StorageMaxSize] is long size)
- {
- StorageMaxSize.Text = size.ToString();
- }
- UserIdEntry.Unfocused += async (sender, args) =>
- {
- var inputText = UserIdEntry.Text;
- var text = string.IsNullOrEmpty(inputText) ? null : inputText;
- AppCenter.SetUserId(text);
- Application.Current.Properties[Constants.UserId] = text;
- await Application.Current.SavePropertiesAsync();
- };
- }
-
- async void ChangeStartType(object sender, PropertyChangedEventArgs e)
- {
- // IOS sends an event every time user rests their selection on an item without hitting "done", and the only event they send when hitting "done" is that the control is no longer focused.
- // So we'll process the change at that time. This works for android as well.
- if (e.PropertyName == "IsFocused" && !this.StartTypePicker.IsFocused)
- {
- var newSelectionCandidate = this.StartTypePicker.SelectedIndex;
- var persistedStartType = StartTypeUtils.GetPersistedStartType();
- if (newSelectionCandidate != (int)persistedStartType)
- {
- StartTypeUtils.SetPersistedStartType((StartType)newSelectionCandidate);
- await Application.Current.SavePropertiesAsync();
- await DisplayAlert("Start Type Changed", "Start type has changed, which alters the app secret. Please close and re-run the app for the new app secret to take effect.", "OK");
- }
- }
- }
-
- async void UpdateEnabled(object sender, ToggledEventArgs e)
- {
- await AppCenter.SetEnabledAsync(e.Value);
- }
-
- private void SaveStorageSize_Clicked(object sender, System.EventArgs e)
- {
- var inputText = StorageMaxSize.Text;
- if (long.TryParse(inputText, out var result))
- {
- _ = AppCenter.SetMaxStorageSizeAsync(result);
- Application.Current.Properties[Constants.StorageMaxSize] = result;
- _ = Application.Current.SavePropertiesAsync();
- }
- else
- {
- AppCenterLog.Error(LogTag, "Wrong number value for the max storage size.");
- }
- }
-
- void AllowedNetworkRequestEnabled(System.Object sender, Xamarin.Forms.ToggledEventArgs e)
- {
- AppCenter.IsNetworkRequestsAllowed = e.Value;
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/CrashesContentPage.xaml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/CrashesContentPage.xaml
deleted file mode 100644
index c201015c0..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/CrashesContentPage.xaml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/CrashesContentPage.xaml.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/CrashesContentPage.xaml.cs
deleted file mode 100644
index 067d9d3fe..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/CrashesContentPage.xaml.cs
+++ /dev/null
@@ -1,284 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using Contoso.Forms.Demo.Views;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Crashes;
-using Xamarin.Forms;
-using System.Linq;
-using System.Threading.Tasks;
-using Contoso.UtilClassLibrary;
-
-namespace Contoso.Forms.Demo
-{
- using XamarinDevice = Xamarin.Forms.Device;
-
- public class NonSerializableException : Exception
- {
- }
-
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class CrashesContentPage
- {
- public const string TextAttachmentKey = "TEXT_ATTACHMENT";
-
- public const string FileAttachmentKey = "FILE_ATTACHMENT";
-
- List Properties;
-
- public CrashesContentPage()
- {
- InitializeComponent();
- Properties = new List();
- NumPropertiesLabel.Text = Properties.Count.ToString();
- if (XamarinDevice.RuntimePlatform == XamarinDevice.iOS)
- {
- Icon = "socket.png";
- }
- }
-
- protected override async void OnAppearing()
- {
- base.OnAppearing();
- RefreshEnabled();
- var hasLowMemoryWarning = await Crashes.HasReceivedMemoryWarningInLastSessionAsync();
- MemoryWarningLabel.Text = hasLowMemoryWarning ? "Yes" : "No";
-
- // Attachments
- if (Application.Current.Properties.TryGetValue(TextAttachmentKey, out var textAttachment) &&
- textAttachment is string text)
- {
- TextAttachmentContent.Text = text;
- }
- if (Application.Current.Properties.TryGetValue(FileAttachmentKey, out var fileAttachment) &&
- fileAttachment is string file)
- {
- try
- {
- BinaryAttachmentFilePathLabel.Text = file;
- }
- catch (Exception e)
- {
- Debug.WriteLine("Couldn't read file attachment: {0}", e.Message);
- Application.Current.Properties.Remove(FileAttachmentKey);
- }
- }
- }
-
- async void UpdateEnabled(object sender, ToggledEventArgs e)
- {
- await Crashes.SetEnabledAsync(e.Value);
- RefreshEnabled();
- }
-
- async void TextAttachment(object sender, EventArgs e)
- {
- var text = await TextAttachmentView.Show(Navigation);
- TextAttachmentContent.Text = text;
- Application.Current.Properties[TextAttachmentKey] = text;
- await Application.Current.SavePropertiesAsync();
- }
-
- async void FileAttachment(object sender, EventArgs e)
- {
- var filePicker = DependencyService.Get();
- if (filePicker == null)
- {
- Debug.WriteLine("File attachment isn't implemented");
- return;
- }
- var filePath = await filePicker.PickFile();
- BinaryAttachmentFilePathLabel.Text = filePath;
- Application.Current.Properties[FileAttachmentKey] = filePath;
- await Application.Current.SavePropertiesAsync();
- }
-
- async void AddProperty(object sender, EventArgs e)
- {
- var addPage = new AddPropertyContentPage();
- addPage.PropertyAdded += (Property property) =>
- {
- if (property.Name == null || Properties.Any(i => i.Name == property.Name))
- {
- return;
- }
- Properties.Add(property);
- RefreshPropCount();
- };
- await Navigation.PushModalAsync(addPage);
- }
-
- async void PropertiesCellTapped(object sender, EventArgs e)
- {
- await Navigation.PushAsync(new PropertiesContentPage(Properties));
- }
-
- async void RefreshEnabled()
- {
- CrashesEnabledSwitchCell.IsToggled = await Crashes.IsEnabledAsync();
- CrashesEnabledSwitchCell.IsEnabled = await AppCenter.IsEnabledAsync();
- }
-
- void RefreshPropCount()
- {
- NumPropertiesLabel.Text = Properties.Count.ToString();
- }
-
- void HandleOrThrow(Action action)
- {
- try
- {
- action();
- }
- catch (Exception e) when (HandleExceptionsSwitchCell.IsToggled)
- {
- TrackException(e);
- }
- }
-
- void TestException(object sender, EventArgs e)
- {
- HandleOrThrow(() => Crashes.GenerateTestCrash());
- }
-
- void DivideByZero(object sender, EventArgs e)
- {
- /* This is supposed to cause a crash, so we don't care that the variable 'x' is never used */
-#pragma warning disable CS0219
- HandleOrThrow(() => (42 / int.Parse("0")).ToString());
-#pragma warning restore CS0219
- }
-
- void CatchNullReferenceException(object sender, EventArgs e)
- {
- try
- {
- TriggerNullReferenceException();
- }
- catch (NullReferenceException)
- {
- Debug.WriteLine("null reference exception");
- }
- }
-
- void NullReferenceException(object sender, EventArgs e)
- {
- HandleOrThrow(() => TriggerNullReferenceException());
- }
-
- void TriggerNullReferenceException()
- {
- string[] values = { "one", null, "two" };
- for (int ctr = 0; ctr <= values.GetUpperBound(0); ctr++)
- {
- var val = values[ctr].Trim();
- var separator = ctr == values.GetUpperBound(0) ? "" : ", ";
- Debug.WriteLine("{0}{1}", val, separator);
- }
- Debug.WriteLine("");
- }
-
- void AggregateException(object sender, EventArgs e)
- {
- HandleOrThrow(() => throw PrepareException());
- }
-
- static Exception PrepareException()
- {
- try
- {
- throw new AggregateException(SendHttp(), new ArgumentException("Invalid parameter", ValidateLength()));
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- static Exception SendHttp()
- {
- try
- {
- throw new IOException("Network down");
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- static Exception ValidateLength()
- {
- try
- {
- throw new ArgumentOutOfRangeException(null, "It's over 9000!");
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- public async void AsyncException(object sender, EventArgs e)
- {
- try
- {
- await FakeService.DoStuffInBackground();
- }
- catch (Exception ex) when (HandleExceptionsSwitchCell.IsToggled)
- {
- TrackException(ex);
- }
- }
-
- public void ClassLibException(object sender, EventArgs e)
- {
- try
- {
- CrashUtils.BackgroundExceptionTask().RunSynchronously();
- }
- catch (Exception ex) when (HandleExceptionsSwitchCell.IsToggled)
- {
- TrackException(ex);
- }
- }
-
- private void TrackException(Exception e)
- {
- var properties = new Dictionary();
- foreach (Property property in Properties)
- {
- properties.Add(property.Name, property.Value);
- }
- if (properties.Count == 0)
- {
- properties = null;
- }
- Properties.Clear();
- RefreshPropCount();
- Crashes.TrackError(e, properties, App.GetErrorAttachments().ToArray());
- }
-
- void ClearCrashUserConfirmation(object sender, EventArgs e)
- {
- DependencyService.Get().ClearCrashButton();
- }
-
- void MemoryWarningTrigger(object sender, EventArgs e)
- {
- Task.Run(() =>
- {
- var blockSize = 128 * 1024 * 1024;
- var byteArrays = new List>();
- while (true)
- {
- byteArrays.Add(Enumerable.Repeat((byte)blockSize, 10000000));
- }
- });
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/OthersContentPage.xaml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/OthersContentPage.xaml
deleted file mode 100644
index 8bac317b0..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/OthersContentPage.xaml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/OthersContentPage.xaml.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/OthersContentPage.xaml.cs
deleted file mode 100644
index 6dc58dc97..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/ModulePages/OthersContentPage.xaml.cs
+++ /dev/null
@@ -1,124 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.ComponentModel;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Distribute;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Demo
-{
- using XamarinDevice = Xamarin.Forms.Device;
-
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class OthersContentPage
- {
- static bool _eventFilterStarted;
-
- static OthersContentPage()
- {
-
- }
-
- public OthersContentPage()
- {
- InitializeComponent();
- if (XamarinDevice.RuntimePlatform == XamarinDevice.iOS)
- {
- Icon = "handbag.png";
- }
-
- // Setup track update dropdown choices.
- foreach (var trackUpdateType in TrackUpdateUtils.GetUpdateTrackChoiceStrings())
- {
- this.UpdateTrackPicker.Items.Add(trackUpdateType);
- }
- UpdateTrackPicker.SelectedIndex = TrackUpdateUtils.ToPickerUpdateTrackIndex(TrackUpdateUtils.GetPersistedUpdateTrack() ?? UpdateTrack.Public);
- }
-
- protected override async void OnAppearing()
- {
- base.OnAppearing();
- var acEnabled = await AppCenter.IsEnabledAsync();
- RefreshDistributeEnabled(acEnabled);
- EventFilterEnabledSwitchCell.On = _eventFilterStarted && await EventFilterHolder.Implementation?.IsEnabledAsync();
- EventFilterEnabledSwitchCell.IsEnabled = acEnabled && EventFilterHolder.Implementation != null;
- }
-
- async void UpdateDistributeEnabled(object sender, ToggledEventArgs e)
- {
- await Distribute.SetEnabledAsync(e.Value);
- var acEnabled = await AppCenter.IsEnabledAsync();
- RefreshDistributeEnabled(acEnabled);
- }
-
- async void ChangeUpdateTrack(object sender, PropertyChangedEventArgs e)
- {
- if (e.PropertyName == "IsFocused" && !UpdateTrackPicker.IsFocused)
- {
- var newSelectionCandidate = UpdateTrackPicker.SelectedIndex;
- var persistedStartType = TrackUpdateUtils.ToPickerUpdateTrackIndex(TrackUpdateUtils.GetPersistedUpdateTrack() ?? UpdateTrack.Public);
- if (newSelectionCandidate != persistedStartType)
- {
- var newTrackUpdateValue = TrackUpdateUtils.FromPickerUpdateTrackIndex(newSelectionCandidate);
- await TrackUpdateUtils.SetPersistedUpdateTrackAsync(newTrackUpdateValue);
- await DisplayAlert("Update Track Changed", "Please kill and restart the app for the new update track to take effect.", "OK");
- }
- }
- }
-
- async void RefreshDistributeEnabled(bool _appCenterEnabled)
- {
- DistributeEnabledSwitchCell.On = await Distribute.IsEnabledAsync();
- DistributeEnabledSwitchCell.IsEnabled = _appCenterEnabled;
- RefreshDistributeTrackUpdate();
- RefreshAutomaticUpdateCheck(_appCenterEnabled);
- }
-
- void RefreshDistributeTrackUpdate()
- {
- UpdateTrackPicker.SelectedIndex = TrackUpdateUtils.ToPickerUpdateTrackIndex(TrackUpdateUtils.GetPersistedUpdateTrack() ?? UpdateTrack.Public);
- }
-
- async void UpdateEventFilterEnabled(object sender, ToggledEventArgs e)
- {
- if (EventFilterHolder.Implementation != null)
- {
- if (!_eventFilterStarted)
- {
- AppCenter.Start(EventFilterHolder.Implementation.BindingType);
- _eventFilterStarted = true;
- }
- await EventFilterHolder.Implementation.SetEnabledAsync(e.Value);
- }
- }
-
- async void OnAutomaticUpdateCheckChanged(object sender, ToggledEventArgs e)
- {
- var previousValue = Application.Current.Properties.ContainsKey(Constants.AutomaticUpdateCheckKey) ? Application.Current.Properties[Constants.AutomaticUpdateCheckKey] : null;
- Application.Current.Properties[Constants.AutomaticUpdateCheckKey] = e.Value;
- await Application.Current.SavePropertiesAsync();
- if (previousValue != null && (bool)previousValue != e.Value)
- {
- await DisplayAlert("Automatic Update Check Changed", "Please kill and restart the app for the new automatic update check setting to take effect.", "OK");
- }
- }
-
- void RefreshAutomaticUpdateCheck(bool _enabled)
- {
- AutomaticUpdateCheckSwitchCell.IsEnabled = _enabled;
- if (Application.Current.Properties.TryGetValue(Constants.AutomaticUpdateCheckKey, out object persistedObject))
- {
- AutomaticUpdateCheckSwitchCell.On = (bool)persistedObject;
- return;
- }
- AutomaticUpdateCheckSwitchCell.On = true;
- }
-
- void CheckForUpdateClicked(object sender, EventArgs e)
- {
- Distribute.CheckForUpdate();
- }
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/PreserveAttribute.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/PreserveAttribute.cs
deleted file mode 100644
index f0f5f09a7..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/PreserveAttribute.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Android.Runtime
-{
- public sealed class PreserveAttribute : System.Attribute
- {
- public bool AllMembers;
- public bool Conditional;
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/PropertiesContentPage.xaml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/PropertiesContentPage.xaml
deleted file mode 100644
index 4b8ff25c5..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/PropertiesContentPage.xaml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/PropertiesContentPage.xaml.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/PropertiesContentPage.xaml.cs
deleted file mode 100644
index 26aff64e0..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/PropertiesContentPage.xaml.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Collections.Generic;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Demo
-{
- public partial class PropertiesContentPage : ContentPage
- {
- public PropertiesContentPage(List EventProperties)
- {
- InitializeComponent();
- PropertyList.ItemsSource = EventProperties;
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Property.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Property.cs
deleted file mode 100644
index 526883243..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Property.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.Forms.Demo
-{
- public class Property
- {
- public string Name { get; private set; }
-
- public string Value { get; private set; }
-
- public Property(string propertyName, string propertyValue)
- {
- Name = propertyName;
- Value = propertyValue;
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/SignInInformationContentPage.xaml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/SignInInformationContentPage.xaml
deleted file mode 100644
index 864d4f604..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/SignInInformationContentPage.xaml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/SignInInformationContentPage.xaml.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/SignInInformationContentPage.xaml.cs
deleted file mode 100644
index a21bbf559..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/SignInInformationContentPage.xaml.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Demo
-{
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class SignInInformationContentPage : ContentPage
- {
- public SignInInformationContentPage(string accountIdText, string accessTokenText, string idTokenText)
- {
- InitializeComponent();
- AccountIdEntry.Text = accountIdText;
- AccessTokenEntry.Text = accessTokenText;
- IdTokenEntry.Text = idTokenText;
- }
-
- async void OkOnClick(object sender, EventArgs e)
- {
- await Navigation.PopModalAsync();
- }
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/StartTypeUtils.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/StartTypeUtils.cs
deleted file mode 100644
index 62cc7a092..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/StartTypeUtils.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Demo
-{
- public enum StartType
- {
- AppCenter,
- OneCollector,
- Both
- };
-
- public class StartTypeUtils
- {
- public const StartType DefaultStartType = StartType.AppCenter;
- private const string StartTypeSettingKey = "startType";
-
- public static StartType GetPersistedStartType()
- {
- if (Application.Current.Properties.TryGetValue(StartTypeSettingKey, out object persistedStartTypeObject))
- {
- string persistedStartTypeString = (string)persistedStartTypeObject;
- if (Enum.TryParse(persistedStartTypeString, out var persistedStartTypeEnum))
- {
- return persistedStartTypeEnum;
- }
- }
- return DefaultStartType;
- }
-
- public static void SetPersistedStartType(StartType choice)
- {
- Application.Current.Properties[StartTypeSettingKey] = choice.ToString();
- }
-
- public static IEnumerable GetStartTypeChoiceStrings()
- {
- foreach (var startTypeObject in Enum.GetValues(typeof(StartType)))
- {
- yield return startTypeObject.ToString();
- }
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/TrackUpdateUtils.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/TrackUpdateUtils.cs
deleted file mode 100644
index 2d7eae1cd..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/TrackUpdateUtils.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using Microsoft.AppCenter.Distribute;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Demo
-{
- public class TrackUpdateUtils
- {
- public const UpdateTrack DefaultUpdateTrackType = UpdateTrack.Public;
-
- public static UpdateTrack? GetPersistedUpdateTrack()
- {
- if (Application.Current.Properties.TryGetValue(Constants.UpdateTrackKey, out object persistedObject))
- {
- string persistedString = (string)persistedObject;
- if (Enum.TryParse(persistedString, out var persistedEnum))
- {
- return persistedEnum;
- }
- }
- return null;
- }
-
- public static async System.Threading.Tasks.Task SetPersistedUpdateTrackAsync(UpdateTrack choice)
- {
- Application.Current.Properties[Constants.UpdateTrackKey] = choice.ToString();
- await Application.Current.SavePropertiesAsync();
- }
-
- public static IEnumerable GetUpdateTrackChoiceStrings()
- {
- foreach (var updateTrackObject in Enum.GetValues(typeof(UpdateTrack)))
- {
- yield return updateTrackObject.ToString();
- }
- }
-
- public static int ToPickerUpdateTrackIndex(UpdateTrack updateTrack)
- {
- return (int)(updateTrack - 1);
- }
-
- public static UpdateTrack FromPickerUpdateTrackIndex(int index)
- {
- return (UpdateTrack)(index + 1);
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Views/TextAttachmentView.xaml b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Views/TextAttachmentView.xaml
deleted file mode 100644
index 990cad8da..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Views/TextAttachmentView.xaml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Views/TextAttachmentView.xaml.cs b/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Views/TextAttachmentView.xaml.cs
deleted file mode 100644
index 0088aa2cd..000000000
--- a/Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/Views/TextAttachmentView.xaml.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Threading.Tasks;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Demo.Views
-{
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class TextAttachmentView : ContentPage
- {
- private readonly TaskCompletionSource _taskCompletionSource = new TaskCompletionSource();
- private INavigation _navigation;
-
- public TextAttachmentView()
- {
- InitializeComponent();
- }
-
- protected override void OnAppearing()
- {
- base.OnAppearing();
- Text.Focus();
- }
-
- public static Task Show(INavigation navegation)
- {
- var view = new TextAttachmentView();
- view._navigation = navegation;
- navegation.PushModalAsync(view);
- return view._taskCompletionSource.Task;
- }
-
- async void OK(object sender, EventArgs args)
- {
- var result = Text.Text;
- await _navigation.PopModalAsync();
- _taskCompletionSource.SetResult(result);
- }
-
- async void Cancel(object sender, EventArgs args)
- {
- await _navigation.PopModalAsync();
- _taskCompletionSource.SetResult(null);
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/AndroidEnvironment.cfg b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/AndroidEnvironment.cfg
deleted file mode 100644
index 066909a14..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/AndroidEnvironment.cfg
+++ /dev/null
@@ -1 +0,0 @@
- XA_BROKEN_EXCEPTION_TRANSITIONS=true
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Assets/AboutAssets.txt b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Assets/AboutAssets.txt
deleted file mode 100644
index a9b0638eb..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Assets/AboutAssets.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-Any raw assets you want to be deployed with your application can be placed in
-this directory (and child directories) and given a Build Action of "AndroidAsset".
-
-These files will be deployed with your package and will be accessible using Android's
-AssetManager, like this:
-
-public class ReadAsset : Activity
-{
- protected override void OnCreate (Bundle bundle)
- {
- base.OnCreate (bundle);
-
- InputStream input = Assets.Open ("my_asset.txt");
- }
-}
-
-Additionally, some Android functions will automatically load asset files:
-
-Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Contoso.Forms.Puppet.Droid.csproj b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Contoso.Forms.Puppet.Droid.csproj
deleted file mode 100644
index 3657c04a7..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Contoso.Forms.Puppet.Droid.csproj
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
-
- Debug
- AnyCPU
- {CBA94940-CBFA-4342-AA71-856FD863DDD0}
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Library
- Contoso.Forms.Puppet.Droid
- Contoso.Forms.Puppet.Droid
- v11.0
- True
- Resources\Resource.designer.cs
- Resource
- Properties\AndroidManifest.xml
- Resources
- Assets
-
-
- false
-
-
- true
- full
- false
- bin\Debug
- DEBUG;
- prompt
- 4
- None
- false
- arm64-v8a;armeabi-v7a;x86;x86_64
- true
-
-
- true
- pdbonly
- true
- bin\Release
- prompt
- 4
- true
- Full
- Microsoft.AppCenter.Crashes
- true
- armeabi-v7a;x86;arm64-v8a;x86_64
- true
- false
- r8
-
-
- true
- pdbonly
- true
- bin\GooglePlay
- 4
- true
- Full
- Microsoft.AppCenter.Crashes
- true
- armeabi-v7a;x86;arm64-v8a;x86_64
- true
- false
- r8
-
-
- am start -e "XAMARIN_FORMS_ANDROID_INT" "{XAMARIN_FORMS_ANDROID_INT}" -e "XAMARIN_FORMS_ANDROID_TARGET_TOKEN_INT" "{XAMARIN_FORMS_ANDROID_TARGET_TOKEN_INT}" -n "com.microsoft.appcenter.xamarin.forms.puppet/Contoso.Forms.Puppet.Droid.MainActivity"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {92313C69-3BC4-4276-A1C8-100C86183F12}
- Contoso.Forms.Puppet
-
-
- Microsoft.AppCenter.Analytics.Android.Mono
-
-
- Microsoft.AppCenter.Android.Mono
-
-
- Microsoft.AppCenter.Crashes.Android.Mono
-
-
-
-
- Microsoft.AppCenter.Distribute.AndroidPlay.Mono
-
-
-
-
- Microsoft.AppCenter.Distribute.Android.Mono
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/FilePicker.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/FilePicker.cs
deleted file mode 100644
index 364fcb2a4..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/FilePicker.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.IO;
-using System.Threading.Tasks;
-using Android.Content;
-using Android.OS;
-using Android.Provider;
-using Android.Text.Format;
-using Android.Webkit;
-using Contoso.Forms.Puppet.Droid;
-using Xamarin.Forms;
-
-// Make this class visible to the DependencyService manager.
-[assembly: Dependency(typeof(FilePicker))]
-
-namespace Contoso.Forms.Puppet.Droid
-{
- public class FilePicker : IFilePicker
- {
- public Task PickFile()
- {
- Intent intent = new Intent(Intent.ActionOpenDocument);
- intent.AddCategory(Intent.CategoryOpenable);
- intent.SetType("*/*");
- var activity = Xamarin.Forms.Forms.Context as MainActivity;
- activity.StartActivityForResult(Intent.CreateChooser(intent, "Select attachment file"), MainActivity.FileAttachmentId);
- activity.FileAttachmentTaskCompletionSource = new TaskCompletionSource();
- return activity.FileAttachmentTaskCompletionSource.Task;
- }
-
- public Tuple ReadFile(string file)
- {
- var uri = Android.Net.Uri.Parse(file);
- var activity = Xamarin.Forms.Forms.Context as MainActivity;
-
- // Data
- byte[] data = null;
- using (var inputStream = activity.ContentResolver.OpenInputStream(uri))
- using (var memoryStream = new MemoryStream())
- {
- inputStream.CopyTo(memoryStream);
- data = memoryStream.ToArray();
- }
-
- // Name
- string name = "";
- var cursor = activity.ContentResolver.Query(uri, null, null, null, null);
- try
- {
- if (cursor != null && cursor.MoveToFirst())
- {
- var nameIndex = cursor.GetColumnIndex(OpenableColumns.DisplayName);
- if (!cursor.IsNull(nameIndex))
- {
- name = cursor.GetString(nameIndex);
- }
- }
- }
- finally
- {
- cursor?.Close();
- }
-
- // Mime
- string mime = null;
- if (uri.Scheme == ContentResolver.SchemeContent)
- {
- mime = activity.ContentResolver.GetType(uri);
- }
- else
- {
- var extension = MimeTypeMap.GetFileExtensionFromUrl(file);
- mime = MimeTypeMap.Singleton.GetMimeTypeFromExtension(extension.ToLower());
- }
- return new Tuple(data, name, mime);
- }
-
- public string GetFileDescription(string file)
- {
- if (string.IsNullOrEmpty(file))
- {
- return null;
- }
- var uri = Android.Net.Uri.Parse(file);
- var activity = Xamarin.Forms.Forms.Context as MainActivity;
-
- string name = null;
- string size = null;
- var cursor = activity.ContentResolver.Query(uri, null, null, null, null);
- try
- {
- if (cursor != null && cursor.MoveToFirst())
- {
- var nameIndex = cursor.GetColumnIndex(OpenableColumns.DisplayName);
- var sizeIndex = cursor.GetColumnIndex(OpenableColumns.Size);
- if (!cursor.IsNull(nameIndex))
- {
- name = cursor.GetString(nameIndex);
- }
- if (!cursor.IsNull(sizeIndex))
- {
- size = Formatter.FormatFileSize(activity, cursor.GetLong(sizeIndex));
- }
- }
- }
- finally
- {
- cursor?.Close();
- }
-
- string result = "";
- if (name != null)
- {
- result += "File: " + name;
- }
- if (size != null)
- {
- result += " Size: " + size;
- }
- return result;
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/MainActivity.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/MainActivity.cs
deleted file mode 100644
index d58cb455d..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/MainActivity.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Threading.Tasks;
-using Android.App;
-using Android.Content;
-using Android.Content.PM;
-using Android.OS;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics.Android.Channel;
-using Microsoft.AppCenter.Android.Ingestion.Models;
-using AndroidAnalytics = Microsoft.AppCenter.Analytics.Android.Analytics;
-using Xamarin.Forms;
-using Contoso.Forms.Puppet.Droid;
-
-[assembly: Dependency(typeof(MainActivity))]
-namespace Contoso.Forms.Puppet.Droid
-{
- [Activity(Label = "ACFPuppet", Icon = "@drawable/icon", Theme = "@style/PuppetTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation, LaunchMode = LaunchMode.SingleTop)]
- public class MainActivity : Xamarin.Forms.Platform.Android.FormsAppCompatActivity, IClearCrashClick, IAppConfiguration
- {
- public static readonly int FileAttachmentId = 1;
-
- private const string CrashesUserConfirmationStorageKey = "com.microsoft.appcenter.crashes.always.send";
- private static string AppCenterSecret;
- private static string AppCenterTargetToken;
-
- public TaskCompletionSource FileAttachmentTaskCompletionSource { set; get; }
-
- protected override void OnCreate(Bundle savedInstanceState)
- {
- AppCenterSecret = Intent.GetStringExtra("XAMARIN_FORMS_ANDROID_INT");
- AppCenterTargetToken = Intent.GetStringExtra("XAMARIN_FORMS_ANDROID_TARGET_TOKEN_INT");
- TabLayoutResource = Resource.Layout.Tabbar;
- ToolbarResource = Resource.Layout.Toolbar;
-
- base.OnCreate(savedInstanceState);
-
- Xamarin.Forms.Forms.Init(this, savedInstanceState);
-
- AndroidAnalytics.SetListener(new AndroidAnalyticsListener());
- LoadApplication(new App());
- }
-
- protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
- {
- base.OnActivityResult(requestCode, resultCode, data);
- if (requestCode == FileAttachmentId)
- {
- var uri = resultCode == Result.Ok && data != null ? data.Data : null;
- if (uri != null)
- {
- ContentResolver.TakePersistableUriPermission(uri, data.Flags & ActivityFlags.GrantReadUriPermission);
- }
- FileAttachmentTaskCompletionSource.SetResult(uri?.ToString());
- }
- }
-
- public void ClearCrashButton()
- {
- ISharedPreferences appCenterPreferences = Android.App.Application.Context.GetSharedPreferences("AppCenter", FileCreationMode.Private);
- appCenterPreferences.Edit().Remove(CrashesUserConfirmationStorageKey).Apply();
- }
-
- public string GetAppSecret()
- {
- return AppCenterSecret;
- }
-
- public string GetTargetToken()
- {
- return AppCenterTargetToken;
- }
- }
-
- public class AndroidAnalyticsListener : Java.Lang.Object, IAnalyticsListener
- {
- public void OnSendingFailed(ILog log, Java.Lang.Exception e)
- {
- AppCenterLog.Debug(App.LogTag, "Analytics listener OnSendingFailed with exception: " + e);
- }
-
- public void OnSendingSucceeded(ILog log)
- {
- AppCenterLog.Debug(App.LogTag, "Analytics listener OnSendingSucceeded");
- }
-
- public void OnBeforeSending(ILog log)
- {
- AppCenterLog.Debug(App.LogTag, "Analytics listener OnBeforeSendingEventLog");
- }
- }
-}
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Properties/AndroidManifest.xml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Properties/AndroidManifest.xml
deleted file mode 100644
index a25188914..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Properties/AndroidManifest.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Properties/AssemblyInfo.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Properties/AssemblyInfo.cs
deleted file mode 100644
index 29d04079a..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using Android.App;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle("Contoso.Forms.Puppet.Droid")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6-SNAPSHOT")]
-
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable-hdpi/icon.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable-hdpi/icon.png
deleted file mode 100644
index 964f110ab..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable-hdpi/icon.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable-xhdpi/icon.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable-xhdpi/icon.png
deleted file mode 100644
index 3c01e60ce..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable-xhdpi/icon.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable-xxhdpi/icon.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable-xxhdpi/icon.png
deleted file mode 100644
index 0d8c1c57d..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable-xxhdpi/icon.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable/ic_appcenter_logo.xml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable/ic_appcenter_logo.xml
deleted file mode 100644
index 71534290d..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable/ic_appcenter_logo.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable/icon.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable/icon.png
deleted file mode 100644
index b0ba7150f..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/drawable/icon.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/layout/Tabbar.axml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/layout/Tabbar.axml
deleted file mode 100644
index 6c8a9d134..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/layout/Tabbar.axml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/layout/Toolbar.axml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/layout/Toolbar.axml
deleted file mode 100644
index 8c1bf7e63..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/layout/Toolbar.axml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/values/colors.xml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/values/colors.xml
deleted file mode 100644
index 36f3476a1..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/values/colors.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- #CB2E62
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/values/styles.xml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/values/styles.xml
deleted file mode 100644
index 694283d1d..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Resources/values/styles.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/appcenter-post-clone.sh b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/appcenter-post-clone.sh
deleted file mode 100755
index 0457abc64..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/appcenter-post-clone.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT License.
-
-#!/usr/bin/env bash
-echo "Executing post clone script in `pwd`"
-pushd $APPCENTER_SOURCE_DIRECTORY
-nugetFileName="../../../NuGet.config"
-contentValue="
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "
-
-if [ -e $nugetFileName ]; then
- rm $nugetFileName
-fi
-echo $contentValue >> $nugetFileName
-./scripts/update-app-secrets.sh
-./build.sh -t=externals-android
-popd
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/proguard.cfg b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/proguard.cfg
deleted file mode 100644
index 7e30ac8c5..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/proguard.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
--dontwarn com.microsoft.appcenter.**
--dontwarn com.google.android.gms.**
--dontwarn com.nimbusds.**
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/AppConfiguration.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/AppConfiguration.cs
deleted file mode 100644
index 045f52d10..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/AppConfiguration.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using Contoso.Forms.Puppet.MacOS;
-using Xamarin.Forms;
-
-[assembly: Dependency(typeof(AppConfiguration))]
-namespace Contoso.Forms.Puppet.MacOS
-{
- public class AppConfiguration: IAppConfiguration
- {
- public AppConfiguration()
- {
- }
-
- public string GetAppSecret()
- {
- return Environment.GetEnvironmentVariable("XAMARIN_FORMS_MACOS_INT");
- }
-
- public string GetTargetToken()
- {
- return "";
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/AppDelegate.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/AppDelegate.cs
deleted file mode 100644
index 8bb7860dd..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/AppDelegate.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using AppKit;
-using Contoso.Forms.Puppet.MacOS;
-using Foundation;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics.Apple.Bindings;
-using Xamarin.Forms;
-
-[assembly: Dependency(typeof(AppDelegate))]
-namespace Contoso.Forms.Puppet.MacOS
-{
- [Register("AppDelegate")]
- public class AppDelegate : Xamarin.Forms.Platform.MacOS.FormsApplicationDelegate, IClearCrashClick
- {
- private const string CrashesUserConfirmationStorageKey = "MSAppCenterCrashesUserConfirmation";
- private const string ApplicationCrashOnExceptionsKey = "NSApplicationCrashOnExceptions";
-
- NSPanel window;
- public AppDelegate()
- {
- var style = NSWindowStyle.Closable | NSWindowStyle.Resizable | NSWindowStyle.Titled;
- var rect = new CoreGraphics.CGRect(200, 1000, 1024, 768);
- window = new NSPanel(rect, style, NSBackingStore.Buffered, false);
- window.Title = "App Center Xamarin.Forms on Mac!";
- window.TitleVisibility = NSWindowTitleVisibility.Hidden;
- var plist = NSUserDefaults.StandardUserDefaults;
- var dictionary = new NSDictionary(NSObject.FromObject(true), new NSString(ApplicationCrashOnExceptionsKey));
- plist.RegisterDefaults(dictionary);
- }
-
- public override NSWindow MainWindow
- {
- get { return window; }
- }
-
- public void ClearCrashButton()
- {
- NSUserDefaults.StandardUserDefaults.RemoveObject(CrashesUserConfirmationStorageKey);
- }
-
- public override void DidFinishLaunching(NSNotification notification)
- {
- Xamarin.Forms.Forms.Init();
- MSACAnalytics.SetDelegate(new AnalyticsDelegate());
- LoadApplication(new App());
- base.DidFinishLaunching(notification);
- }
-
- public class AnalyticsDelegate : MSACAnalyticsDelegate
- {
- public override void WillSendEventLog(MSACAnalytics analytics, MSACEventLog eventLog)
- {
- AppCenterLog.Debug(App.LogTag, "Will send event");
- }
-
- public override void DidSucceedSendingEventLog(MSACAnalytics analytics, MSACEventLog eventLog)
- {
- AppCenterLog.Debug(App.LogTag, "Did send event");
- }
-
- public override void DidFailSendingEventLog(MSACAnalytics analytics, MSACEventLog eventLog, NSError error)
- {
- AppCenterLog.Debug(App.LogTag, "Failed to send event with error: " + error);
- }
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png
deleted file mode 100644
index d0b5a8098..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png
deleted file mode 100644
index f4c8d2904..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png
deleted file mode 100644
index ebb5a0fe4..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png
deleted file mode 100644
index 0986d31be..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png
deleted file mode 100644
index f4c8d2904..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png
deleted file mode 100644
index a142c83fb..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png
deleted file mode 100644
index 0986d31be..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png
deleted file mode 100644
index 412d6ca9b..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png
deleted file mode 100644
index a142c83fb..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png
deleted file mode 100644
index e99022ae8..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 6b2854529..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "images": [
- {
- "filename": "AppIcon-16.png",
- "size": "16x16",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-16@2x.png",
- "size": "16x16",
- "scale": "2x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-32.png",
- "size": "32x32",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-32@2x.png",
- "size": "32x32",
- "scale": "2x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-128.png",
- "size": "128x128",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-128@2x.png",
- "size": "128x128",
- "scale": "2x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-256.png",
- "size": "256x256",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-256@2x.png",
- "size": "256x256",
- "scale": "2x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-512.png",
- "size": "512x512",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-512@2x.png",
- "size": "512x512",
- "scale": "2x",
- "idiom": "mac"
- }
- ],
- "info": {
- "version": 1,
- "author": "xcode"
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/Contents.json b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/Contents.json
deleted file mode 100644
index 4caf392f9..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Assets.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Contoso.Forms.Puppet.MacOS.csproj b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Contoso.Forms.Puppet.MacOS.csproj
deleted file mode 100644
index 31b5e912d..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Contoso.Forms.Puppet.MacOS.csproj
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
- Debug
- AnyCPU
- {C5B1AC34-F9F1-4C05-AF7A-CB84C16C5481}
- {A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Exe
- Contoso.Forms.Puppet.MacOS
- Contoso.Forms.Puppet.MacOS
- v2.0
- Xamarin.Mac
- Resources
-
-
- true
- full
- false
- bin\Debug
- DEBUG;
- prompt
- 4
- false
- Mac Developer
- false
- false
- false
- true
- true
- true
-
-
-
- pdbonly
- true
- bin\Release
-
- prompt
- 4
- false
- true
- false
- true
- true
- true
- Entitlements.plist
- SdkOnly
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ViewController.cs
-
-
-
-
-
-
-
-
-
-
-
-
- {92313C69-3BC4-4276-A1C8-100C86183F12}
- Contoso.Forms.Puppet
-
-
- Microsoft.AppCenter.Analytics.Apple.Mono
-
-
- Microsoft.AppCenter.Apple.Mono
-
-
- Microsoft.AppCenter.Crashes.Apple.Mono
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Entitlements.plist b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Entitlements.plist
deleted file mode 100644
index 9ae599370..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Entitlements.plist
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/FilePicker.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/FilePicker.cs
deleted file mode 100644
index 990f251c1..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/FilePicker.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Runtime.InteropServices;
-using System.Threading.Tasks;
-using Contoso.Forms.Puppet.MacOS;
-using Foundation;
-using MobileCoreServices;
-using Xamarin.Forms;
-
-// Make this class visible to the DependencyService manager.
-[assembly: Dependency(typeof(FilePicker))]
-
-namespace Contoso.Forms.Puppet.MacOS
-{
- public class FilePicker : IFilePicker
- {
- private string mockUri = "file://mock.url";
-
- public FilePicker()
- {
- }
-
- public string GetFileDescription(string file)
- {
- if (string.IsNullOrEmpty(file))
- {
- return null;
- }
- var fileSize = file.Length;
- return NSByteCountFormatter.Format(fileSize, NSByteCountFormatterCountStyle.Binary);
- }
-
- public async Task PickFile()
- {
- var taskCompletionSource = new TaskCompletionSource();
- taskCompletionSource.SetResult(mockUri);
- return await taskCompletionSource.Task;
- }
-
- public Tuple ReadFile(string file)
- {
- var dataUti = file;
- var data = new NSData(file, NSDataBase64DecodingOptions.None);
- var extension = "txt";
- var uti = UTType.CreatePreferredIdentifier(UTType.TagClassFilenameExtension, extension, null);
- var mime = UTType.GetPreferredTag(uti, UTType.TagClassMIMEType);
- var dataBytes = new byte[data.Length];
- Marshal.Copy(data.Bytes, dataBytes, 0, Convert.ToInt32(data.Length));
- var result = new Tuple(dataBytes, dataUti, mime);
- return result;
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Info.plist b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Info.plist
deleted file mode 100644
index e2aa5f296..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Info.plist
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
- CFBundleName
- Contoso.Forms.Puppet.MacOS
- CFBundleIdentifier
- com.microsoft.appcenter.Contoso-Forms-Puppet-MacOS
- CFBundleShortVersionString
- 5.0.6
- CFBundleVersion
- 5.0.6
- LSMinimumSystemVersion
- 10.14
- CFBundleDevelopmentRegion
- en
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundlePackageType
- APPL
- CFBundleSignature
- ????
- NSHumanReadableCopyright
- ${AuthorCopyright:HtmlEncode}
- NSPrincipalClass
- NSApplication
- NSMainStoryboardFile
- Main
- XSAppIconAssets
- Assets.xcassets/AppIcon.appiconset
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Main.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Main.cs
deleted file mode 100644
index cbd83a1d4..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Main.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using AppKit;
-
-namespace Contoso.Forms.Puppet.MacOS
-{
- static class MainClass
- {
- static void Main(string[] args)
- {
- NSApplication.Init();
- NSApplication.SharedApplication.Delegate = new AppDelegate();
- NSApplication.Main(args);
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Main.storyboard b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Main.storyboard
deleted file mode 100644
index c8613936b..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Main.storyboard
+++ /dev/null
@@ -1,719 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Default
-
-
-
-
-
-
- Left to Right
-
-
-
-
-
-
- Right to Left
-
-
-
-
-
-
-
-
-
-
- Default
-
-
-
-
-
-
- Left to Right
-
-
-
-
-
-
- Right to Left
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/ViewController.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/ViewController.cs
deleted file mode 100644
index 65fd88005..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/ViewController.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-
-using AppKit;
-using Foundation;
-
-namespace Contoso.Forms.Puppet.MacOS
-{
- public partial class ViewController : NSViewController
- {
- public ViewController(IntPtr handle) : base(handle)
- {
- }
-
- public override void ViewDidLoad()
- {
- base.ViewDidLoad();
-
- // Do any additional setup after loading the view.
- }
-
- public override NSObject RepresentedObject
- {
- get
- {
- return base.RepresentedObject;
- }
- set
- {
- base.RepresentedObject = value;
- // Update the view, if already loaded.
- }
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/ViewController.designer.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/ViewController.designer.cs
deleted file mode 100644
index 5c6964154..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/ViewController.designer.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Foundation;
-
-namespace Contoso.Forms.Puppet.MacOS
-{
- [Register("ViewController")]
- partial class ViewController
- {
- void ReleaseDesignerOutlets()
- {
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/App.xaml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/App.xaml
deleted file mode 100644
index 662796aa1..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/App.xaml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/App.xaml.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/App.xaml.cs
deleted file mode 100644
index 1e0652eff..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/App.xaml.cs
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Diagnostics;
-using System.Runtime.InteropServices;
-using System.Threading.Tasks;
-using Microsoft.AppCenter;
-using Windows.ApplicationModel;
-using Windows.ApplicationModel.Activation;
-using Windows.Devices.Geolocation;
-using Windows.Globalization;
-using Windows.Services.Maps;
-using Windows.UI.Xaml;
-using Windows.UI.Xaml.Controls;
-using Windows.UI.Xaml.Navigation;
-
-namespace Contoso.Forms.Puppet.UWP
-{
- ///
- /// Provides application-specific behavior to supplement the default Application class.
- ///
- sealed partial class App : Application
- {
- private const string LogTag = "AppCenterXamarinPuppet";
-
- ///
- /// Initializes the singleton application object. This is the first line of authored code
- /// executed, and as such is the logical equivalent of main() or WinMain().
- ///
- public App()
- {
- // Set the country/region before initialization occurs so App Center can send the field to the backend.
- // We do not use await here because we don't need to wait for this task to complete,
- // and await would block the UI in App constructor.
- _ = SetCountryCode();
- EventFilterHolder.Implementation = new EventFilterWrapper();
- InitializeComponent();
- Suspending += OnSuspending;
- }
-
- private static async Task SetCountryCode()
- {
- // The following country code is used only as a fallback for the main implementation.
- // This fallback country code does not reflect the physical device location, but rather the
- // country/region that corresponds to the culture it uses.
- var countryCode = new GeographicRegion().CodeTwoLetter;
- var accessStatus = await Geolocator.RequestAccessAsync();
- switch (accessStatus)
- {
- case GeolocationAccessStatus.Allowed:
- var geoLocator = new Geolocator
- {
- DesiredAccuracyInMeters = 100
- };
- var position = await geoLocator.GetGeopositionAsync();
- var myLocation = new BasicGeoposition
- {
- Longitude = position.Coordinate.Point.Position.Longitude,
- Latitude = position.Coordinate.Point.Position.Latitude
- };
- var pointToReverseGeocode = new Geopoint(myLocation);
- try
- {
- MapService.ServiceToken = Constants.BingMapsAuthKey;
- }
- catch (SEHException)
- {
- AppCenterLog.Info(LogTag, "Please provide a valid Bing Maps authentication key. For more info see: https://docs.microsoft.com/en-us/windows/uwp/maps-and-location/authentication-key");
- }
- var result = await MapLocationFinder.FindLocationsAtAsync(pointToReverseGeocode);
- if (result.Status != MapLocationFinderStatus.Success || result.Locations == null || result.Locations.Count == 0)
- {
- break;
- }
-
- // The returned country code is in 3-letter format (ISO 3166-1 alpha-3).
- // Below we convert it to ISO 3166-1 alpha-2 (two letter).
- var alpha3CountryCode = result.Locations[0].Address.CountryCode;
- countryCode = new GeographicRegion(alpha3CountryCode).CodeTwoLetter;
- break;
- case GeolocationAccessStatus.Denied:
- AppCenterLog.Info(LogTag, "Geolocation access denied. In order to set country code in App Center, enable location service in Windows 10.");
- break;
- case GeolocationAccessStatus.Unspecified:
- break;
- }
- AppCenter.SetCountryCode(countryCode);
- }
-
- ///
- /// Invoked when the application is launched normally by the end user. Other entry points
- /// will be used such as when the application is launched to open a specific file.
- ///
- /// Details about the launch request and process.
- protected override void OnLaunched(LaunchActivatedEventArgs e)
- {
-#if DEBUG
- if (Debugger.IsAttached)
- {
- DebugSettings.EnableFrameRateCounter = true;
- }
-#endif
-
- Frame rootFrame = Window.Current.Content as Frame;
-
- // Do not repeat app initialization when the Window already has content,
- // just ensure that the window is active
- if (rootFrame == null)
- {
- // Create a Frame to act as the navigation context and navigate to the first page
- rootFrame = new Frame();
-
- rootFrame.NavigationFailed += OnNavigationFailed;
-
- Xamarin.Forms.Forms.Init(e);
-
- if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
- {
- //TODO: Load state from previously suspended application
- }
-
- // Place the frame in the current Window
- Window.Current.Content = rootFrame;
- }
- if (e.PrelaunchActivated == false)
- {
- if (rootFrame.Content == null)
- {
- // When the navigation stack isn't restored navigate to the first page,
- // configuring the new page by passing required information as a navigation
- // parameter
- rootFrame.Navigate(typeof(MainPage), e.Arguments);
- }
- // Ensure the current window is active
- Window.Current.Activate();
- }
- }
-
- ///
- /// Invoked when Navigation to a certain page fails
- ///
- /// The Frame which failed navigation
- /// Details about the navigation failure
- private void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
- {
- throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
- }
-
- ///
- /// Invoked when application execution is being suspended. Application state is saved
- /// without knowing whether the application will be terminated or resumed with the contents
- /// of memory still intact.
- ///
- /// The source of the suspend request.
- /// Details about the suspend request.
- private void OnSuspending(object sender, SuspendingEventArgs e)
- {
- var deferral = e.SuspendingOperation.GetDeferral();
- //TODO: Save application state and stop any background activity
- deferral.Complete();
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/AppConfiguration.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/AppConfiguration.cs
deleted file mode 100644
index 97100bd82..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/AppConfiguration.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Contoso.Forms.Puppet.UWP;
-using System;
-using Xamarin.Forms;
-
-[assembly: Dependency(typeof(AppConfiguration))]
-namespace Contoso.Forms.Puppet.UWP
-{
- class AppConfiguration : IAppConfiguration
- {
- public string GetAppSecret()
- {
- return Environment.GetEnvironmentVariable("XAMARIN_FORMS_UWP_INT");
- }
-
- public string GetTargetToken()
- {
- return "";
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/LockScreenLogo.scale-200.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/LockScreenLogo.scale-200.png
deleted file mode 100644
index 735f57adb..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/LockScreenLogo.scale-200.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/SplashScreen.scale-200.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/SplashScreen.scale-200.png
deleted file mode 100644
index e0ec91acf..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/SplashScreen.scale-200.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/Square150x150Logo.scale-200.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/Square150x150Logo.scale-200.png
deleted file mode 100644
index 73dacc1d1..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/Square150x150Logo.scale-200.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/Square44x44Logo.scale-200.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/Square44x44Logo.scale-200.png
deleted file mode 100644
index 9c1920375..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/Square44x44Logo.scale-200.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
deleted file mode 100644
index 589b046de..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/StoreLogo.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/StoreLogo.png
deleted file mode 100644
index 7385b56c0..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/StoreLogo.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/Wide310x150Logo.scale-200.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/Wide310x150Logo.scale-200.png
deleted file mode 100644
index 6fd2e7c40..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Assets/Wide310x150Logo.scale-200.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/ClearCrashes.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/ClearCrashes.cs
deleted file mode 100644
index 8d039a428..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/ClearCrashes.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Contoso.Forms.Puppet.UWP;
-using Xamarin.Forms;
-
-[assembly: Dependency(typeof(ClearCrashes))]
-namespace Contoso.Forms.Puppet.UWP
-{
- public class ClearCrashes : IClearCrashClick
- {
- private const string CrashesUserConfirmationStorageKey = "AppCenterCrashesAlwaysSend";
-
- public void ClearCrashButton()
- {
- Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
- localSettings.Values.Remove(CrashesUserConfirmationStorageKey);
- }
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Contoso.Forms.Puppet.UWP.csproj b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Contoso.Forms.Puppet.UWP.csproj
deleted file mode 100644
index 91ef6b2f1..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Contoso.Forms.Puppet.UWP.csproj
+++ /dev/null
@@ -1,199 +0,0 @@
-
-
-
-
- Debug
- x86
- {F2E21B65-DF87-40F0-BB2E-E67E728B86DA}
- AppContainerExe
- Properties
- Contoso.Forms.Puppet.UWP
- Contoso.Forms.Puppet.UWP
- en-US
- UAP
- 10.0.17763.0
- 10.0.16299.0
- 14
- true
- 512
- {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Contoso.Forms.Puppet.UWP_StoreKey.pfx
- B4E648DE586B36BD605D06F42FA0BBAEA7DFD498
- win10-arm;win10-arm-aot;win10-arm64;win10-arm64-aot;win10-x86;win10-x86-aot;win10-x64;win10-x64-aot
-
-
- true
- bin\ARM\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
- ;2008
- full
- ARM
- false
- prompt
- true
- true
-
-
- bin\ARM\Release\
- TRACE;NETFX_CORE;WINDOWS_UWP
- true
- ;2008
- pdbonly
- ARM
- false
- prompt
- true
- true
-
-
- true
- bin\ARM64\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS
- ;2008
- true
- full
- ARM64
- false
- 7.3
- prompt
- MinimumRecommendedRules.ruleset
- true
-
-
- bin\ARM64\Release\
- TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS
- true
- ;2008
- true
- pdbonly
- ARM64
- false
- 7.3
- prompt
- MinimumRecommendedRules.ruleset
- true
-
-
- true
- bin\x64\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
- ;2008
- full
- x64
- false
- prompt
- true
- true
-
-
- bin\x64\Release\
- TRACE;NETFX_CORE;WINDOWS_UWP
- true
- ;2008
- pdbonly
- x64
- false
- prompt
- true
- true
-
-
- true
- bin\x86\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
- ;2008
- full
- x86
- false
- prompt
- true
- false
-
-
-
-
- bin\x86\Release\
- TRACE;NETFX_CORE;WINDOWS_UWP
- true
- ;2008
- pdbonly
- x86
- false
- prompt
- true
- true
-
-
-
-
-
-
- App.xaml
-
-
-
-
-
-
- MainPage.xaml
-
-
-
-
-
-
- Designer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MSBuild:Compile
- Designer
-
-
- MSBuild:Compile
- Designer
-
-
-
-
- {200073bf-fa7e-42af-8ed5-aa50be7c0295}
- Microsoft.AppCenter.Analytics.UWP
-
-
- {2f715d51-643c-4f7f-9ea4-6554d4eeccb2}
- Microsoft.AppCenter.Crashes.UWP
-
-
- {15e3fc9b-7714-4468-a296-81627a5b8f01}
- Microsoft.AppCenter.UWP
-
-
- {92313c69-3bc4-4276-a1c8-100c86183f12}
- Contoso.Forms.Puppet
-
-
-
-
- 6.2.8
-
-
- 5.0.0.2012
-
-
-
- 14.0
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/EventFilter.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/EventFilter.cs
deleted file mode 100644
index 61581d4eb..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/EventFilter.cs
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics.Ingestion.Models;
-using Microsoft.AppCenter.Channel;
-using System;
-using System.Threading.Tasks;
-
-namespace Contoso.Forms.Puppet.UWP
-{
- public class EventFilter : AppCenterService
- {
- #region static
-
- private static readonly object EventFilterLock = new object();
-
- private static EventFilter _instanceField;
-
- public static EventFilter Instance
- {
- get
- {
- lock (EventFilterLock)
- {
- return _instanceField ?? (_instanceField = new EventFilter());
- }
- }
- set
- {
- lock (EventFilterLock)
- {
- _instanceField = value; //for testing
- }
- }
- }
-
- ///
- /// Check whether the EventFilter service is enabled or not.
- ///
- /// A task with result being true if enabled, false if disabled.
- public static Task IsEnabledAsync()
- {
- lock (EventFilterLock)
- {
- return Task.FromResult(Instance.InstanceEnabled);
- }
- }
-
- ///
- /// Enable or disable the EventFilter service.
- ///
- /// A task to monitor the operation.
- public static Task SetEnabledAsync(bool enabled)
- {
- lock (EventFilterLock)
- {
- Instance.InstanceEnabled = enabled;
- return Task.FromResult(default(object));
- }
- }
-
- #endregion
-
- #region instance
-
- public override bool InstanceEnabled
- {
- get
- {
- return base.InstanceEnabled;
- }
-
- set
- {
- lock (_serviceLock)
- {
- var prevValue = InstanceEnabled;
- base.InstanceEnabled = value;
- if (value != prevValue)
- {
- ApplyEnabledState(value);
- }
- }
- }
- }
-
- protected override string ChannelName => "event_filter";
-
- public override string ServiceName => "EventFilter";
-
- public Type BindingType { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
-
- public override void OnChannelGroupReady(IChannelGroup channelGroup, string appSecret)
- {
- lock (_serviceLock)
- {
- base.OnChannelGroupReady(channelGroup, appSecret);
- ApplyEnabledState(InstanceEnabled);
- }
- }
-
- private void ApplyEnabledState(bool enabled)
- {
- lock (_serviceLock)
- {
- if (ChannelGroup != null)
- {
- if (enabled)
- {
- ChannelGroup.FilteringLog += FilterLog;
- }
- else
- {
- ChannelGroup.FilteringLog -= FilterLog;
- }
- }
- }
- }
-
- private void FilterLog(object sender, FilteringLogEventArgs e)
- {
- if (e.Log is EventLog)
- {
- e.FilterRequested = true;
- }
- }
-
- #endregion
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/EventFilterWrapper.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/EventFilterWrapper.cs
deleted file mode 100644
index 18425c770..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/EventFilterWrapper.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Threading.Tasks;
-
-namespace Contoso.Forms.Puppet.UWP
-{
- internal class EventFilterWrapper : EventFilterHolder.IImplementation
- {
- public Type BindingType => typeof(EventFilter);
-
- public Task IsEnabledAsync() => EventFilter.IsEnabledAsync();
-
- public Task SetEnabledAsync(bool enabled) => EventFilter.SetEnabledAsync(enabled);
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/FilePicker.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/FilePicker.cs
deleted file mode 100644
index 4fdf079bc..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/FilePicker.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Runtime.InteropServices.WindowsRuntime;
-using System.Threading.Tasks;
-using Contoso.Forms.Puppet.UWP;
-using Windows.Storage;
-using Windows.Storage.Pickers;
-using Xamarin.Forms;
-
-[assembly: Dependency(typeof(FilePicker))]
-namespace Contoso.Forms.Puppet.UWP
-{
- public class FilePicker : IFilePicker
- {
- async Task IFilePicker.PickFile()
- {
- FileOpenPicker openPicker = new FileOpenPicker
- {
- SuggestedStartLocation = PickerLocationId.PicturesLibrary
- };
-
- // FileTypeFilter is required for FileOpenPicker.PickSingleFileAsync to work.
- // UWP app will crash without specifying FileTypeFilter.
- openPicker.FileTypeFilter.Add("*");
- var file = await openPicker.PickSingleFileAsync();
- return file?.Path;
- }
-
- Tuple IFilePicker.ReadFile(string file)
- {
- var storageFileTask = StorageFile.GetFileFromPathAsync(file).AsTask();
- var storageFile = storageFileTask.GetAwaiter().GetResult();
- var bufferTask = FileIO.ReadBufferAsync(storageFile).AsTask();
- var buffer = bufferTask.GetAwaiter().GetResult();
- byte[] bytes = buffer.ToArray();
- return new Tuple(bytes, storageFile.Name, storageFile.ContentType);
- }
-
- string IFilePicker.GetFileDescription(string file)
- {
- throw new NotImplementedException();
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/MainPage.xaml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/MainPage.xaml
deleted file mode 100644
index b8feac7b3..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/MainPage.xaml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/MainPage.xaml.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/MainPage.xaml.cs
deleted file mode 100644
index af71698d1..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/MainPage.xaml.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.Forms.Puppet.UWP
-{
- public sealed partial class MainPage
- {
- public MainPage()
- {
- this.InitializeComponent();
-
- LoadApplication(new Puppet.App());
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Package.StoreAssociation.xml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Package.StoreAssociation.xml
deleted file mode 100644
index 7ad585a41..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Package.StoreAssociation.xml
+++ /dev/null
@@ -1,456 +0,0 @@
-
-
- CN=B2D1C358-6AF8-4416-BF73-129CC1F3C152
- Azure Mobile Team
- http://www.w3.org/2001/04/xmlenc#sha256
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 10805zumoTestUser.AppCenter-Contoso.Forms.Puppet.U
-
- AppCenter-Contoso.Forms.Puppet.UWP
-
-
-
- 10805zumoTestUser.AppCenter-Contoso.Forms.Demo.UWP
- 10805zumoTestUser.AppCenter-Contoso.UWP.Puppet
- 10805zumoTestUser.AppCenter-Contso.Forms.Puppet.UW
- 10805zumoTestUser.ClientSdkDotNetApp
- 10805zumoTestUser.ClientSdkNodeApp
- 10805zumoTestUser.DanceFever
- 10805zumoTestUser.DanceFever1
- 10805zumoTestUser.Dec02zumotest
- 10805zumoTestUser.dihei-0421
- 10805zumoTestUser.dihei-e2e
- 10805zumoTestUser.dihei-e2e-2
- 10805zumoTestUser.dihei-e2e-3
- 10805zumoTestUser.dihei-empty-node
- 10805zumoTestUser.e2eappautomation3
- 10805zumoTestUser.e2eauth-21
- 10805zumoTestUser.e2eauth-23
- 10805zumoTestUser.e2efabio
- 10805zumoTestUser.e2esherry
- 10805zumoTestUser.e2etestccd
- 10805zumoTestUser.e2etestccdnet
- 10805zumoTestUser.e2etest-dotnet2
- 10805zumoTestUser.e2etest-dotnet-v2
- 10805zumoTestUser.e2etest-node2
- 10805zumoTestUser.ExistingAppBluCurrent
- 10805zumoTestUser.ExistingAppBluNext
- 10805zumoTestUser.ExistingAppBluPreview
- 10805zumoTestUser.ExistingAppDB3Current
- 10805zumoTestUser.ExistingAppDB3Next
- 10805zumoTestUser.ExistingAppDB3Preview
- 10805zumoTestUser.existingappnhtest1
- 10805zumoTestUser.FastForwardDanceFever
- 10805zumoTestUser.FieldEngineer
- 10805zumoTestUser.FieldEngineerManager
- CNB2D1C358-6AF8-4416-BF73.MobileCenterPuppetUnity
- 10805zumoTestUser.MobileCenter-Forms-UWP-Demo
- 10805zumoTestUser.MobileCenter-Forms-UWP-Puppet
- 10805zumoTestUser.MobileCenter-Unity-Demo
- 10805zumoTestUser.MobileCenter-UWP-Puppet
- 10805zumoTestUser.MobileSherryJS
- 10805zumoTestUser.MobileSherryNet
- 10805zumoTestUser.mysalesassociateapp
- 10805zumoTestUser.Nov164vteste2e
- 10805zumoTestUser.nov18test4v
- 10805zumoTestUser.OfflineTestDotNet
- 10805zumoTestUser.OfflineTestNode
- 10805zumoTestUser.OGFApp-Net
- 10805zumoTestUser.OGFExistingAppBluTC
- 10805zumoTestUser.pgopaDotNetV2
- 10805zumoTestUser.pgopae2eauthdotnet
- 10805zumoTestUser.pgopaEasyAuth1
- 10805zumoTestUser.pgopaLiveSDKAuth
- 10805zumoTestUser.pgopaLiveSDKAuth1
- 10805zumoTestUser.pgopapushtest
- 10805zumoTestUser.pgopaPushV2
- 10805zumoTestUser.pgopav1e2e
- 10805zumoTestUser.ProdBayZumo
- 10805zumoTestUser.ProdBluZumo
- 10805zumoTestUser.ProdDB3Zumo
- 10805zumoTestUser.ProdHK1Zumo
- 10805zumoTestUser.SalesAssistant
- 10805zumoTestUser.SalesAssociate
- 10805zumoTestUser.SalesAssociateApp514
- 10805zumoTestUser.StageBayZumo
- 10805zumoTestUser.StageBluZumo
- 10805zumoTestUser.StageDB3Zumo
- 10805zumoTestUser.StoreManager
- 10805zumoTestUser.TestE2EAppCurrentRedeploy1
- 10805zumoTestUser.TestE2EAppNextRedeploy1
- 10805zumoTestUser.teste2eapppreview1
- 10805zumoTestUser.teste2eapppreviewredeploy1
- 10805zumoTestUser.teste2eapppreviewredeploy3
- 10805zumoTestUser.VicsE2e
- 10805zumoTestUser.ws---fullscaletest
- 10805zumoTestUser.ZumoClientSDKReleaseE2ETestApp
- 10805zumoTestUser.ZumoClientSDKReleseE2ETestApp
- 10805zumoTestUser.ZumoNHTest1
- 10805zumoTestUser.ZumoPhoneBlu
- 10805zumoTestUser.zumotestblu1
- 10805zumoTestUser.zumotestblu2
- 10805zumoTestUser.zumotestblu3
- 10805zumoTestUser.zumotestblu4
- 10805zumoTestUser.zumotestblu5
- 10805zumoTestUser.zumotestdb1
- 10805zumoTestUser.zumotestdb2
- 10805zumoTestUser.zumotestdb3
- 10805zumoTestUser.zumotestdb4
- 10805zumoTestUser.zumotestdb5
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Package.appxmanifest b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Package.appxmanifest
deleted file mode 100644
index b90682f18..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Package.appxmanifest
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
- AppCenter-Contoso.Forms.Puppet.UWP
- Azure Mobile Team
- Assets\StoreLogo.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Properties/AssemblyInfo.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Properties/AssemblyInfo.cs
deleted file mode 100644
index ad5222ba3..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Contoso.Forms.Puppet.UWP")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Contoso.Forms.Puppet.UWP")]
-[assembly: AssemblyCopyright("Copyright © 2016")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: ComVisible(false)]
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Properties/Default.rd.xml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Properties/Default.rd.xml
deleted file mode 100644
index 80a960ce3..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.UWP/Properties/Default.rd.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/AppDelegate.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/AppDelegate.cs
deleted file mode 100644
index 5a6c245ea..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/AppDelegate.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using Contoso.Forms.Puppet.iOS;
-using Foundation;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics.Apple.Bindings;
-using Microsoft.AppCenter.Distribute;
-using UIKit;
-using Xamarin.Forms;
-
-[assembly: Dependency(typeof(AppDelegate))]
-namespace Contoso.Forms.Puppet.iOS
-{
- [Register("AppDelegate")]
- public class AppDelegate : Xamarin.Forms.Platform.iOS.FormsApplicationDelegate, IClearCrashClick, IAppConfiguration
- {
- private const string CrashesUserConfirmationStorageKey = "MSAppCenterCrashesUserConfirmation";
-
- public override bool FinishedLaunching(UIApplication uiApplication, NSDictionary launchOptions)
- {
- Xamarin.Forms.Forms.Init();
- Distribute.DontCheckForUpdatesInDebug();
- MSACAnalytics.SetDelegate(new AnalyticsDelegate());
- LoadApplication(new App());
- UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
- return base.FinishedLaunching(uiApplication, launchOptions);
- }
-
- public override void WillEnterForeground(UIApplication uiApplication)
- {
- base.WillEnterForeground(uiApplication);
- UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
- }
-
- public void ClearCrashButton()
- {
- NSUserDefaults.StandardUserDefaults.RemoveObject(CrashesUserConfirmationStorageKey);
- }
-
- public string GetAppSecret()
- {
- return Environment.GetEnvironmentVariable("XAMARIN_FORMS_IOS_INT");
- }
-
- public string GetTargetToken()
- {
- return Environment.GetEnvironmentVariable("XAMARIN_FORMS_IOS_TARGET_TOKEN_INT");
- }
- }
-
- public class AnalyticsDelegate : MSACAnalyticsDelegate
- {
- public override void WillSendEventLog(MSACAnalytics analytics, MSACEventLog eventLog)
- {
- AppCenterLog.Debug(App.LogTag, "Will send event");
- }
-
- public override void DidSucceedSendingEventLog(MSACAnalytics analytics, MSACEventLog eventLog)
- {
- AppCenterLog.Debug(App.LogTag, "Did send event");
- }
-
- public override void DidFailSendingEventLog(MSACAnalytics analytics, MSACEventLog eventLog, NSError error)
- {
- AppCenterLog.Debug(App.LogTag, "Failed to send event with error: " + error);
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 4e646784c..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,157 +0,0 @@
-{
- "images": [
- {
- "idiom": "iphone",
- "size": "29x29",
- "scale": "1x"
- },
- {
- "idiom": "iphone",
- "size": "29x29",
- "scale": "2x"
- },
- {
- "idiom": "iphone",
- "size": "29x29",
- "scale": "3x"
- },
- {
- "idiom": "iphone",
- "size": "40x40",
- "scale": "2x"
- },
- {
- "idiom": "iphone",
- "size": "40x40",
- "scale": "3x"
- },
- {
- "idiom": "iphone",
- "size": "57x57",
- "scale": "1x"
- },
- {
- "idiom": "iphone",
- "size": "57x57",
- "scale": "2x"
- },
- {
- "idiom": "iphone",
- "size": "60x60",
- "scale": "2x"
- },
- {
- "idiom": "iphone",
- "size": "60x60",
- "scale": "3x"
- },
- {
- "idiom": "ipad",
- "size": "29x29",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "29x29",
- "scale": "2x"
- },
- {
- "idiom": "ipad",
- "size": "40x40",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "40x40",
- "scale": "2x"
- },
- {
- "idiom": "ipad",
- "size": "50x50",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "50x50",
- "scale": "2x"
- },
- {
- "idiom": "ipad",
- "size": "72x72",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "72x72",
- "scale": "2x"
- },
- {
- "idiom": "ipad",
- "size": "76x76",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "76x76",
- "scale": "2x"
- },
- {
- "size": "24x24",
- "idiom": "watch",
- "scale": "2x",
- "role": "notificationCenter",
- "subtype": "38mm"
- },
- {
- "size": "27.5x27.5",
- "idiom": "watch",
- "scale": "2x",
- "role": "notificationCenter",
- "subtype": "42mm"
- },
- {
- "size": "29x29",
- "idiom": "watch",
- "role": "companionSettings",
- "scale": "2x"
- },
- {
- "size": "29x29",
- "idiom": "watch",
- "role": "companionSettings",
- "scale": "3x"
- },
- {
- "size": "40x40",
- "idiom": "watch",
- "scale": "2x",
- "role": "appLauncher",
- "subtype": "38mm"
- },
- {
- "size": "44x44",
- "idiom": "watch",
- "scale": "2x",
- "role": "longLook",
- "subtype": "42mm"
- },
- {
- "size": "86x86",
- "idiom": "watch",
- "scale": "2x",
- "role": "quickLook",
- "subtype": "38mm"
- },
- {
- "size": "98x98",
- "idiom": "watch",
- "scale": "2x",
- "role": "quickLook",
- "subtype": "42mm"
- }
- ],
- "info": {
- "version": 1,
- "author": "xcode"
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Assets.xcassets/Contents.json b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Assets.xcassets/Contents.json
deleted file mode 100644
index 4caf392f9..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Assets.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Contoso.Forms.Puppet.iOS.csproj b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Contoso.Forms.Puppet.iOS.csproj
deleted file mode 100644
index 04124df38..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Contoso.Forms.Puppet.iOS.csproj
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
- Debug
- iPhoneSimulator
- {B4CF8897-4030-445F-81C4-6DBA81F26AAC}
- {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Exe
- Contoso.Forms.Puppet.iOS
- Contoso.Forms.Puppet.iOS
- Resources
-
-
- true
- full
- false
- bin\iPhoneSimulator\Debug
- __UNIFIED__;__MOBILE__;__IOS__;DEBUG;ENABLE_TEST_CLOUD;
- prompt
- 4
- iPhone Developer
- true
- true
- None
- i386, x86_64
- HttpClientHandler
- Default
- false
- Entitlements.plist
-
-
- pdbonly
- true
- bin\iPhone\Release
-
-
- prompt
- 4
- iPhone Developer
- true
- Entitlements.plist
- Full
- ARMv7, ARM64
- HttpClientHandler
- Default
-
-
- pdbonly
- true
- bin\iPhoneSimulator\Release
-
-
- prompt
- 4
- iPhone Developer
- Full
- i386, x86_64
- HttpClientHandler
- Default
-
-
- true
- full
- false
- bin\iPhone\Debug
- DEBUG;ENABLE_TEST_CLOUD;
- prompt
- 4
- iPhone Developer
- true
- true
- false
- true
- Entitlements.plist
- SdkOnly
- ARMv7, ARM64
- HttpClientHandler
- Default
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
-
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {92313C69-3BC4-4276-A1C8-100C86183F12}
- Contoso.Forms.Puppet
-
-
- Microsoft.AppCenter.Analytics.Apple.Mono
-
-
- Microsoft.AppCenter.Apple.Mono
-
-
- Microsoft.AppCenter.Crashes.Apple.Mono
-
-
- Microsoft.AppCenter.Distribute.Apple.Mono
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Entitlements.plist b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Entitlements.plist
deleted file mode 100644
index 7241f2f03..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Entitlements.plist
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- aps-environment
- development
- keychain-access-groups
-
- $(AppIdentifierPrefix)com.microsoft.adalcache
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/FilePicker.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/FilePicker.cs
deleted file mode 100644
index b15fb7a21..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/FilePicker.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Runtime.InteropServices;
-using System.Threading.Tasks;
-using Contoso.Forms.Puppet.iOS;
-using Foundation;
-using MobileCoreServices;
-using Photos;
-using UIKit;
-using Xamarin.Forms;
-
-// Make this class visible to the DependencyService manager.
-[assembly: Dependency(typeof(FilePicker))]
-
-namespace Contoso.Forms.Puppet.iOS
-{
- public class FilePicker : IFilePicker
- {
- public async Task PickFile()
- {
- var status = await PHPhotoLibrary.RequestAuthorizationAsync();
- if (status != PHAuthorizationStatus.Authorized)
- {
- return null;
- }
- var taskCompletionSource = new TaskCompletionSource();
- var imagePicker = new UIImagePickerController();
- imagePicker.FinishedPickingMedia += (sender, args) => {
- taskCompletionSource.SetResult(args.ReferenceUrl?.AbsoluteString);
- imagePicker.DismissModalViewController(true);
- };
- imagePicker.Canceled += (sender, args) => {
- taskCompletionSource.SetResult(null);
- imagePicker.DismissModalViewController(true);
- };
- UIWindow window = UIApplication.SharedApplication.KeyWindow;
- var viewController = window.RootViewController;
- viewController.PresentModalViewController(imagePicker, true);
- return await taskCompletionSource.Task;
- }
-
- public Tuple ReadFile(string file)
- {
- Tuple result = null;
- var asset = PHAsset.FetchAssets(new[] { new NSUrl(file) }, null).LastObject as PHAsset;
- if (asset != null)
- {
- var options = new PHImageRequestOptions { Synchronous = true };
- PHImageManager.DefaultManager.RequestImageData(asset, options,(data, dataUti, orientation, info) => {
- var extension = new NSUrl(dataUti).PathExtension;
- var uti = UTType.CreatePreferredIdentifier(UTType.TagClassFilenameExtension, extension, null);
- var mime = UTType.GetPreferredTag(uti, UTType.TagClassMIMEType);
- var dataBytes = new byte[data.Length];
- Marshal.Copy(data.Bytes, dataBytes, 0, Convert.ToInt32(data.Length));
- result = new Tuple(dataBytes, dataUti, mime);
- });
- }
- return result;
- }
-
- public string GetFileDescription(string file)
- {
- if (string.IsNullOrEmpty(file))
- {
- return null;
- }
- long fileSize = 0;
- var asset = PHAsset.FetchAssets(new[] { new NSUrl(file) }, null).LastObject as PHAsset;
- if (asset != null)
- {
- var options = new PHImageRequestOptions { Synchronous = true };
- PHImageManager.DefaultManager.RequestImageData(asset, options, (data, dataUti, orientation, info) => {
- fileSize = Convert.ToInt64(data.Length);
- });
- }
- return NSByteCountFormatter.Format(fileSize, NSByteCountFormatterCountStyle.Binary);
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Info.plist b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Info.plist
deleted file mode 100644
index 18f103336..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Info.plist
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-
-
- CFBundleIdentifier
- com.microsoft.appcenter.xamarin.forms.ios.puppet
- CFBundleShortVersionString
- 5.0.6
- CFBundleVersion
- 5.0.6
- LSRequiresIPhoneOS
-
- MinimumOSVersion
- 9.0
- UIDeviceFamily
-
- 1
- 2
-
- UILaunchStoryboardName
- LaunchScreen
- UIRequiredDeviceCapabilities
-
- armv7
-
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UISupportedInterfaceOrientations~ipad
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- XSAppIconAssets
- Assets.xcassets/AppIcon.appiconset
- CFBundleName
- ACFPuppet
- CFBundleURLTypes
-
-
- CFBundleTypeRole
- None
- CFBundleURLName
- com.microsoft.appcenter.xamarin.forms.ios.puppet
- CFBundleURLSchemes
-
- appcenter-b889c4f2-9ac2-4e2e-ae16-dae54f2c5899
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleLocalizations
-
- cs-CZ
- de-DE
- es-ES
- fr-FR
- it-IT
- ja-JP
- ko-KR
- pl-PL
- pt-BR
- ru-RU
- tr-TR
- zh-CN
- zh-TW
- en-US
-
- UIBackgroundModes
-
- remote-notification
-
- NSPhotoLibraryUsageDescription
- Select photo for attachment
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/LaunchScreen.storyboard b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/LaunchScreen.storyboard
deleted file mode 100644
index 5d2e905aa..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/LaunchScreen.storyboard
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Main.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Main.cs
deleted file mode 100644
index 83a9d141e..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Main.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using UIKit;
-
-namespace Contoso.Forms.Demo.iOS
-{
- public class Application
- {
- // This is the main entry point of the application.
- static void Main(string[] args)
- {
- // if you want to use a different Application Delegate class from "AppDelegate"
- // you can specify it here.
- UIApplication.Main(args, null, "AppDelegate");
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Resources/bolt@2x.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Resources/bolt@2x.png
deleted file mode 100644
index 48c3d8a19..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Resources/bolt@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Resources/handbag@2x.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Resources/handbag@2x.png
deleted file mode 100644
index b164f4439..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Resources/handbag@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Resources/lightning@2x.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Resources/lightning@2x.png
deleted file mode 100644
index 58e552a1e..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Resources/lightning@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Resources/socket@2x.png b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Resources/socket@2x.png
deleted file mode 100644
index 738bc6a9a..000000000
Binary files a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Resources/socket@2x.png and /dev/null differ
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/appcenter-post-clone.sh b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/appcenter-post-clone.sh
deleted file mode 100755
index bff8f07cf..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/appcenter-post-clone.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT License.
-
-#!/usr/bin/env bash
-echo "Executing post clone script in `pwd`"
-pushd $APPCENTER_SOURCE_DIRECTORY
-nugetFileName="../../../NuGet.config"
-contentValue="
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "
-
-if [ -e $nugetFileName ]; then
- rm $nugetFileName
-fi
-echo $contentValue >> $nugetFileName
-./scripts/update-app-secrets.sh
-./build.sh -t=Externals-Apple
-popd
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/icon_attribution.txt b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/icon_attribution.txt
deleted file mode 100644
index 91431cc7e..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/icon_attribution.txt
+++ /dev/null
@@ -1 +0,0 @@
-iOS Tab bar icons from Glyphish - http://glyphish.com
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/AddPropertyContentPage.xaml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/AddPropertyContentPage.xaml
deleted file mode 100644
index ecbc4a5f0..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/AddPropertyContentPage.xaml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/AddPropertyContentPage.xaml.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/AddPropertyContentPage.xaml.cs
deleted file mode 100644
index 8ade11b0d..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/AddPropertyContentPage.xaml.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-
-namespace Contoso.Forms.Puppet
-{
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class AddPropertyContentPage
- {
- public event Action PropertyAdded;
-
- public AddPropertyContentPage()
- {
- InitializeComponent();
- }
-
- async void AddProperty(object sender, EventArgs e)
- {
- Property addedProperty = new Property(NameEntry?.Text, ValueEntry?.Text);
- PropertyAdded?.Invoke(addedProperty);
- await Navigation.PopModalAsync();
- }
-
- async void Cancel(object sender, EventArgs e)
- {
- await Navigation.PopModalAsync();
- }
-
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/App.xaml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/App.xaml
deleted file mode 100644
index 0c02683a1..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/App.xaml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/App.xaml.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/App.xaml.cs
deleted file mode 100644
index 07bf957f3..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/App.xaml.cs
+++ /dev/null
@@ -1,278 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics;
-using Microsoft.AppCenter.Crashes;
-using Microsoft.AppCenter.Distribute;
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using Xamarin.Forms;
-using XamarinDevice = Xamarin.Forms.Device;
-
-namespace Contoso.Forms.Puppet
-{
- public interface IClearCrashClick
- {
- void ClearCrashButton();
- }
-
- public partial class App
- {
- public const string LogTag = "AppCenterXamarinPuppet";
- private Task dialog = null;
-
- public App()
- {
- InitializeComponent();
- MainPage = new NavigationPage(new MainPuppetPage());
- }
-
- protected override void OnStart()
- {
- if (!AppCenter.Configured)
- {
- AppCenterLog.Assert(LogTag, "AppCenter.LogLevel=" + AppCenter.LogLevel);
- AppCenter.LogLevel = LogLevel.Verbose;
- AppCenterLog.Info(LogTag, "AppCenter.LogLevel=" + AppCenter.LogLevel);
- AppCenterLog.Info(LogTag, "AppCenter.Configured=" + AppCenter.Configured);
-
- // Set callbacks
- Crashes.ShouldProcessErrorReport = ShouldProcess;
- Crashes.ShouldAwaitUserConfirmation = ConfirmationHandler;
- Crashes.GetErrorAttachments = GetErrorAttachmentsCallback;
- Distribute.ReleaseAvailable = OnReleaseAvailable;
- Distribute.WillExitApp = OnWillExitApp;
- Distribute.NoReleaseAvailable = OnNoReleaseAvailable;
-
- // Event handlers
- Crashes.SendingErrorReport += SendingErrorReportHandler;
- Crashes.SentErrorReport += SentErrorReportHandler;
- Crashes.FailedToSendErrorReport += FailedToSendErrorReportHandler;
-
- // Country code.
- if (Current.Properties.ContainsKey(Constants.CountryCode)
- && Current.Properties[Constants.CountryCode] is string countryCode)
- {
- AppCenter.SetCountryCode(countryCode);
- }
-
- // Manual session tracker.
- if (Current.Properties.ContainsKey(Constants.EnableManualSessionTracker)
- && Current.Properties[Constants.EnableManualSessionTracker] is bool isEnabled
- && isEnabled)
- {
- Analytics.EnableManualSessionTracker();
- }
-
- AppCenterLog.Assert(LogTag, "AppCenter.Configured=" + AppCenter.Configured);
-
- if (!StartType.OneCollector.Equals(StartTypeUtils.GetPersistedStartType()))
- {
- AppCenter.SetLogUrl("https://in-integration.dev.avalanch.es");
- }
-
- Distribute.SetInstallUrl("https://install.portal-server-core-integration.dev.avalanch.es");
- Distribute.SetApiUrl("https://api-gateway-core-integration.dev.avalanch.es/v0.1");
- var updateTrack = TrackUpdateUtils.GetPersistedUpdateTrack();
- if (updateTrack != null)
- {
- Distribute.UpdateTrack = updateTrack.Value;
- }
- if (Current.Properties.TryGetValue(Constants.AutomaticUpdateCheckKey, out object persistedObject) && !(bool)persistedObject)
- {
- Distribute.DisableAutomaticCheckForUpdate();
- }
- if (Current.Properties.ContainsKey(Constants.StorageMaxSize) && Current.Properties[Constants.StorageMaxSize] is long size)
- {
- AppCenter.SetMaxStorageSizeAsync(size);
- }
- AppCenter.Start(GetTokensString(), typeof(Analytics), typeof(Crashes), typeof(Distribute));
- if (Current.Properties.ContainsKey(Constants.UserId) && Current.Properties[Constants.UserId] is string id)
- {
- AppCenter.SetUserId(id);
- }
- AppCenter.IsEnabledAsync().ContinueWith(enabled =>
- {
- AppCenterLog.Info(LogTag, "AppCenter.Enabled=" + enabled.Result);
- });
- AppCenter.GetInstallIdAsync().ContinueWith(installId =>
- {
- AppCenterLog.Info(LogTag, "AppCenter.InstallId=" + installId.Result);
- });
- AppCenterLog.Info(LogTag, "AppCenter.SdkVersion=" + AppCenter.SdkVersion);
- Crashes.HasCrashedInLastSessionAsync().ContinueWith(hasCrashed =>
- {
- AppCenterLog.Info(LogTag, "Crashes.HasCrashedInLastSession=" + hasCrashed.Result);
- });
- Crashes.GetLastSessionCrashReportAsync().ContinueWith(task =>
- {
- AppCenterLog.Info(LogTag, "Crashes.LastSessionCrashReport.StackTrace=" + task.Result?.StackTrace);
- });
- }
- }
-
- private string GetOneCollectorTokenString()
- {
- return DependencyService.Get().GetTargetToken();
- }
-
- private string GetAppCenterTokenString()
- {
- return DependencyService.Get().GetAppSecret();
- }
-
- private string GetTokensString()
- {
- var persistedStartType = StartTypeUtils.GetPersistedStartType();
- switch (persistedStartType)
- {
- case StartType.OneCollector:
- return GetOneCollectorTokenString();
- case StartType.Both:
- return $"{GetAppCenterTokenString()};{GetOneCollectorTokenString()}";
- default:
- return GetAppCenterTokenString();
- }
- }
-
- static void SendingErrorReportHandler(object sender, SendingErrorReportEventArgs e)
- {
- AppCenterLog.Info(LogTag, "Sending error report");
- }
-
- static void SentErrorReportHandler(object sender, SentErrorReportEventArgs e)
- {
- AppCenterLog.Info(LogTag, "Sent error report");
- }
-
- static void FailedToSendErrorReportHandler(object sender, FailedToSendErrorReportEventArgs e)
- {
- AppCenterLog.Info(LogTag, "Failed to send error report");
- }
-
- bool ShouldProcess(ErrorReport report)
- {
- AppCenterLog.Info(LogTag, "Determining whether to process error report");
- return true;
- }
-
- bool ConfirmationHandler()
- {
- XamarinDevice.BeginInvokeOnMainThread(() =>
- {
- if (XamarinDevice.RuntimePlatform == XamarinDevice.macOS)
- {
- dialog = Current.MainPage.DisplayActionSheet("Crash detected. Send anonymous crash report?", "Send", "Always Send");
- }
- else
- {
- dialog = Current.MainPage.DisplayActionSheet("Crash detected. Send anonymous crash report?", null, null, "Send", "Always Send", "Don't Send");
- }
- dialog.ContinueWith((arg) =>
- {
- var answer = arg.Result;
- UserConfirmation userConfirmationSelection;
- if (answer == "Send")
- {
- userConfirmationSelection = UserConfirmation.Send;
- }
- else if (answer == "Always Send")
- {
- userConfirmationSelection = UserConfirmation.AlwaysSend;
- }
- else
- {
- userConfirmationSelection = UserConfirmation.DontSend;
- }
- AppCenterLog.Debug(LogTag, "User selected confirmation option: \"" + answer + "\"");
- Crashes.NotifyUserConfirmation(userConfirmationSelection);
- });
- });
- return true;
- }
-
- static IEnumerable GetErrorAttachmentsCallback(ErrorReport report)
- {
- return GetErrorAttachments();
- }
-
- public static IEnumerable GetErrorAttachments()
- {
- var attachments = new List();
- if (Current.Properties.TryGetValue(CrashesContentPage.TextAttachmentKey, out var textAttachment) &&
- textAttachment is string text)
- {
- var attachment = ErrorAttachmentLog.AttachmentWithText(text, "hello.txt");
- attachments.Add(attachment);
- }
- if (Current.Properties.TryGetValue(CrashesContentPage.FileAttachmentKey, out var fileAttachment) &&
- fileAttachment is string file)
- {
- var filePicker = DependencyService.Get();
- if (filePicker != null)
- {
- try
- {
- var result = filePicker.ReadFile(file);
- if (result != null)
- {
- var attachment = ErrorAttachmentLog.AttachmentWithBinary(result.Item1, result.Item2, result.Item3);
- attachments.Add(attachment);
- }
- }
- catch (Exception e)
- {
- AppCenterLog.Warn(LogTag, "Couldn't read file attachment", e);
- Current.Properties.Remove(CrashesContentPage.FileAttachmentKey);
- }
- }
- }
- return attachments;
- }
-
- void OnNoReleaseAvailable()
- {
- AppCenterLog.Info(LogTag, "No release available callback invoked.");
- }
-
- bool OnReleaseAvailable(ReleaseDetails releaseDetails)
- {
- AppCenterLog.Info(LogTag, "OnReleaseAvailable id=" + releaseDetails.Id
- + " version=" + releaseDetails.Version
- + " releaseNotesUrl=" + releaseDetails.ReleaseNotesUrl);
- var custom = releaseDetails.ReleaseNotes?.ToLowerInvariant().Contains("custom") ?? false;
- if (custom)
- {
- var title = "Version " + releaseDetails.ShortVersion + " available!";
- Task answer;
- if (releaseDetails.MandatoryUpdate)
- {
- answer = Current.MainPage.DisplayAlert(title, releaseDetails.ReleaseNotes, "Update now!");
- }
- else
- {
- answer = Current.MainPage.DisplayAlert(title, releaseDetails.ReleaseNotes, "Update now!", "Maybe tomorrow...");
- }
- answer.ContinueWith((task) =>
- {
- if (releaseDetails.MandatoryUpdate || ((Task)task).Result)
- {
- Distribute.NotifyUpdateAction(UpdateAction.Update);
- }
- else
- {
- Distribute.NotifyUpdateAction(UpdateAction.Postpone);
- }
- });
- }
- return custom;
- }
-
- void OnWillExitApp()
- {
- AppCenterLog.Info(LogTag, "App will close callback invoked.");
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/AuthTypeUtils.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/AuthTypeUtils.cs
deleted file mode 100644
index 988fce1e5..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/AuthTypeUtils.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Puppet
-{
- public enum AuthType
- {
- B2C,
- AAD,
- };
-
- public static class AuthTypeUtils
- {
- public static AuthType GetPersistedAuthType()
- {
- if (Application.Current.Properties.TryGetValue(AuthTypeSettingKey, out object persistedAuthTypeObject))
- {
- string persistedAuthTypeString = (string)persistedAuthTypeObject;
- if (Enum.TryParse(persistedAuthTypeString, out var persistedAuthTypeEnum))
- {
- return persistedAuthTypeEnum;
- }
- }
-
- return DefaultAuthType;
- }
-
- public static void SetPersistedAuthType(AuthType choice)
- {
- Application.Current.Properties[AuthTypeSettingKey] = choice.ToString();
- }
-
- public static IEnumerable GetAuthTypeChoiceStrings()
- {
- foreach (var authTypeObject in Enum.GetValues(typeof(AuthType)))
- {
- yield return authTypeObject.ToString();
- }
- }
-
- public const AuthType DefaultAuthType = AuthType.B2C;
- private const string AuthTypeSettingKey = "authType";
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Constants.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Constants.cs
deleted file mode 100644
index 02891d8b4..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Constants.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.Forms.Puppet
-{
- [Android.Runtime.Preserve(AllMembers = true)]
- public static class Constants
- {
- public const string BingMapsAuthKey = "paste-key-here";
- public const string UserId = "userId";
- public const string UpdateTrackKey = "update-track";
- public const string AutomaticUpdateCheckKey = "automatic-update-check";
- public const string StorageMaxSize = "storage-max-size";
- public const string EnableManualSessionTracker = "enable-manual-session-tracker";
- public const string CountryCode = "country-code";
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Contoso.Forms.Puppet.csproj b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Contoso.Forms.Puppet.csproj
deleted file mode 100644
index 314307b1b..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Contoso.Forms.Puppet.csproj
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
- netstandard2.0
- Contoso.Forms.Puppet
- Contoso.Forms.Puppet
- 2.0.0
- false
- false
- false
- false
- false
- false
- false
- false
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
- MSBuild:Compile
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/EventFilterHolder.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/EventFilterHolder.cs
deleted file mode 100644
index e51a05ceb..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/EventFilterHolder.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Threading.Tasks;
-
-namespace Contoso.Forms.Puppet
-{
- public static class EventFilterHolder
- {
- public interface IImplementation
- {
- Type BindingType { get; }
-
- Task IsEnabledAsync();
-
- Task SetEnabledAsync(bool enabled);
- }
-
- public static IImplementation Implementation { get; set; }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/FakeService.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/FakeService.cs
deleted file mode 100644
index b63888ed4..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/FakeService.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.IO;
-using System.Threading.Tasks;
-
-namespace Contoso.Forms.Puppet
-{
- static class FakeService
- {
- internal static async Task DoStuffInBackground()
- {
- await Task.Run(() => throw new IOException("Server did not respond"));
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/IAppConfiguration.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/IAppConfiguration.cs
deleted file mode 100644
index abd819d30..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/IAppConfiguration.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.Forms.Puppet
-{
- public interface IAppConfiguration
- {
- string GetAppSecret();
- string GetTargetToken();
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/IFilePicker.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/IFilePicker.cs
deleted file mode 100644
index 86f1dea60..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/IFilePicker.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Threading.Tasks;
-
-namespace Contoso.Forms.Puppet
-{
- public interface IFilePicker
- {
- Task PickFile();
- Tuple ReadFile(string file);
- string GetFileDescription(string file);
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/MainPuppetPage.xaml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/MainPuppetPage.xaml
deleted file mode 100644
index 77e8c9da1..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/MainPuppetPage.xaml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/MainPuppetPage.xaml.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/MainPuppetPage.xaml.cs
deleted file mode 100644
index 4848659c9..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/MainPuppetPage.xaml.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Puppet
-{
- public partial class MainPuppetPage : TabbedPage
- {
- public MainPuppetPage ()
- {
- InitializeComponent();
- if ((Device.RuntimePlatform == Device.macOS || Device.RuntimePlatform == Device.UWP)
- && Children.Contains(DistributeContentPage))
- {
- Children.Remove(DistributeContentPage);
- }
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/AnalyticsContentPage.xaml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/AnalyticsContentPage.xaml
deleted file mode 100644
index a0320d2c3..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/AnalyticsContentPage.xaml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/AnalyticsContentPage.xaml.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/AnalyticsContentPage.xaml.cs
deleted file mode 100644
index 74e1953f8..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/AnalyticsContentPage.xaml.cs
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Puppet
-{
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class AnalyticsContentPage : ContentPage
- {
- List EventProperties;
-
- public AnalyticsContentPage()
- {
- InitializeComponent();
- EventProperties = new List();
- NumPropertiesLabel.Text = EventProperties.Count.ToString();
-
- if (Xamarin.Forms.Device.RuntimePlatform == Xamarin.Forms.Device.iOS)
- {
- Icon = "lightning.png";
- }
- }
-
- protected override async void OnAppearing()
- {
- base.OnAppearing();
- EnabledSwitchCell.IsToggled = await Analytics.IsEnabledAsync();
- EnabledSwitchCell.IsEnabled = await AppCenter.IsEnabledAsync();
- if (Application.Current.Properties.ContainsKey(Constants.CountryCode)
- && Application.Current.Properties[Constants.CountryCode] is string countryCode)
- {
- CountryCodeText.Text = countryCode;
- }
- if (Application.Current.Properties.ContainsKey(Constants.EnableManualSessionTracker)
- && Application.Current.Properties[Constants.EnableManualSessionTracker] is bool isEnabled)
- {
- EnableManualSessionTrackerSwitch.IsToggled = isEnabled;
- }
- }
-
- async void AddProperty(object sender, EventArgs e)
- {
- var addPage = new AddPropertyContentPage();
- addPage.PropertyAdded += (Property property) =>
- {
- if (property.Name == null || EventProperties.Any(i => i.Name == property.Name))
- {
- return;
- }
- EventProperties.Add(property);
- RefreshPropCount();
- };
- await Navigation.PushModalAsync(addPage);
- }
-
- async void PropertiesCellTapped(object sender, EventArgs e)
- {
- await Navigation.PushAsync(new PropertiesContentPage(EventProperties));
- }
-
- void TrackEvent(object sender, EventArgs e)
- {
- var properties = new Dictionary();
- foreach (Property property in EventProperties)
- {
- properties.Add(property.Name, property.Value);
- }
-
- if (EventProperties.Count == 0)
- {
- Analytics.TrackEvent(EventNameCell.Text);
- return;
- }
-
- EventProperties.Clear();
- RefreshPropCount();
- Analytics.TrackEvent(EventNameCell.Text, properties);
-
- }
-
- async void UpdateEnabled(object sender, ToggledEventArgs e)
- {
- await Analytics.SetEnabledAsync(e.Value);
- }
-
- void RefreshPropCount()
- {
- NumPropertiesLabel.Text = EventProperties.Count.ToString();
- }
-
- void EnableManualSessionTrackerCellEnabled(object sender, ToggledEventArgs e)
- {
- Application.Current.Properties[Constants.EnableManualSessionTracker] = e.Value;
- _ = Application.Current.SavePropertiesAsync();
- }
-
- void StartSessionButton_Clicked(object sender, EventArgs e)
- {
- Analytics.StartSession();
- }
-
- void SaveCountryCode_Clicked(object sender, EventArgs e)
- {
- Application.Current.Properties[Constants.CountryCode] = CountryCodeText.Text;
- _ = Application.Current.SavePropertiesAsync();
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/AppCenterContentPage.xaml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/AppCenterContentPage.xaml
deleted file mode 100644
index a117275e4..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/AppCenterContentPage.xaml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/AppCenterContentPage.xaml.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/AppCenterContentPage.xaml.cs
deleted file mode 100644
index fbc9b575e..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/AppCenterContentPage.xaml.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.ComponentModel;
-using System.Threading.Tasks;
-using Microsoft.AppCenter;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Puppet
-{
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class AppCenterContentPage : ContentPage
- {
- const string LogTag = "AppCenterXamarinPuppet";
-
- public AppCenterContentPage()
- {
- InitializeComponent();
- if (Xamarin.Forms.Device.RuntimePlatform == Xamarin.Forms.Device.iOS)
- {
- Icon = "bolt.png";
- }
-
- // Setup start type dropdown choices.
- foreach (var startType in StartTypeUtils.GetStartTypeChoiceStrings())
- {
- this.StartTypePicker.Items.Add(startType);
- }
- this.StartTypePicker.SelectedIndex = (int)(StartTypeUtils.GetPersistedStartType());
- }
-
- protected override async void OnAppearing()
- {
- base.OnAppearing();
- AppCenterEnabledSwitchCell.IsToggled = await AppCenter.IsEnabledAsync();
- AllowedNetworkRequestSwitchCell.IsToggled = AppCenter.IsNetworkRequestsAllowed;
- if (Application.Current.Properties.ContainsKey(Constants.UserId) && Application.Current.Properties[Constants.UserId] is string id)
- {
- UserIdEntry.Text = id;
- }
- if (Application.Current.Properties.ContainsKey(Constants.StorageMaxSize) && Application.Current.Properties[Constants.StorageMaxSize] is long size)
- {
- StorageMaxSize.Text = size.ToString();
- }
- UserIdEntry.Unfocused += async (sender, args) =>
- {
- var inputText = UserIdEntry.Text;
- var text = string.IsNullOrEmpty(inputText) ? null : inputText;
- AppCenter.SetUserId(text);
- Application.Current.Properties[Constants.UserId] = text;
- await Application.Current.SavePropertiesAsync();
- };
- }
-
- async void ChangeStartType(object sender, PropertyChangedEventArgs e)
- {
- // IOS sends an event every time user rests their selection on an item without hitting "done", and the only event they send when hitting "done" is that the control is no longer focused.
- // So we'll process the change at that time. This works for android as well.
- if (e.PropertyName == "IsFocused" && !this.StartTypePicker.IsFocused)
- {
- var newSelectionCandidate = this.StartTypePicker.SelectedIndex;
- var persistedStartType = StartTypeUtils.GetPersistedStartType();
- if (newSelectionCandidate != (int)persistedStartType)
- {
- StartTypeUtils.SetPersistedStartType((StartType)newSelectionCandidate);
- await Application.Current.SavePropertiesAsync();
- await DisplayAlert("Start Type Changed", "Start type has changed, which alters the app secret. Please close and re-run the app for the new app secret to take effect.", "OK");
- }
- }
- }
-
- async void UpdateEnabled(object sender, ToggledEventArgs e)
- {
- await AppCenter.SetEnabledAsync(e.Value);
- }
-
- private void SaveStorageSize_Clicked(object sender, System.EventArgs e)
- {
- var inputText = StorageMaxSize.Text;
- if (long.TryParse(inputText, out var result))
- {
- _ = AppCenter.SetMaxStorageSizeAsync(result);
- Application.Current.Properties[Constants.StorageMaxSize] = result;
- _ = Application.Current.SavePropertiesAsync();
- }
- else
- {
- AppCenterLog.Error(LogTag, "Wrong number value for the max storage size.");
- }
- }
-
- void AllowedNetworkRequestEnabled(System.Object sender, Xamarin.Forms.ToggledEventArgs e)
- {
- AppCenter.IsNetworkRequestsAllowed = e.Value;
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/CrashesContentPage.xaml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/CrashesContentPage.xaml
deleted file mode 100644
index 1a9571fd6..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/CrashesContentPage.xaml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/CrashesContentPage.xaml.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/CrashesContentPage.xaml.cs
deleted file mode 100644
index 0fdc85459..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/CrashesContentPage.xaml.cs
+++ /dev/null
@@ -1,284 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using Contoso.Forms.Puppet.Views;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Crashes;
-using Xamarin.Forms;
-using System.Linq;
-using System.Threading.Tasks;
-using Contoso.UtilClassLibrary;
-
-namespace Contoso.Forms.Puppet
-{
- using XamarinDevice = Xamarin.Forms.Device;
-
- public class NonSerializableException : Exception
- {
- }
-
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class CrashesContentPage
- {
- public const string TextAttachmentKey = "TEXT_ATTACHMENT";
-
- public const string FileAttachmentKey = "FILE_ATTACHMENT";
-
- List Properties;
-
- public CrashesContentPage()
- {
- InitializeComponent();
- Properties = new List();
- NumPropertiesLabel.Text = Properties.Count.ToString();
- if (XamarinDevice.RuntimePlatform == XamarinDevice.iOS)
- {
- Icon = "socket.png";
- }
- }
-
- protected override async void OnAppearing()
- {
- base.OnAppearing();
- RefreshEnabled();
- var hasLowMemoryWarning = await Crashes.HasReceivedMemoryWarningInLastSessionAsync();
- MemoryWarningLabel.Text = hasLowMemoryWarning ? "Yes" : "No";
-
- // Attachments
- if (Application.Current.Properties.TryGetValue(TextAttachmentKey, out var textAttachment) &&
- textAttachment is string text)
- {
- TextAttachmentContent.Text = text;
- }
- if (Application.Current.Properties.TryGetValue(FileAttachmentKey, out var fileAttachment) &&
- fileAttachment is string file)
- {
- try
- {
- BinaryAttachmentFilePathLabel.Text = file;
- }
- catch (Exception e)
- {
- Debug.WriteLine("Couldn't read file attachment: {0}", e.Message);
- Application.Current.Properties.Remove(FileAttachmentKey);
- }
- }
- }
-
- async void UpdateEnabled(object sender, ToggledEventArgs e)
- {
- await Crashes.SetEnabledAsync(e.Value);
- RefreshEnabled();
- }
-
- async void TextAttachment(object sender, EventArgs e)
- {
- var text = await TextAttachmentView.Show(Navigation);
- TextAttachmentContent.Text = text;
- Application.Current.Properties[TextAttachmentKey] = text;
- await Application.Current.SavePropertiesAsync();
- }
-
- async void FileAttachment(object sender, EventArgs e)
- {
- var filePicker = DependencyService.Get();
- if (filePicker == null)
- {
- Debug.WriteLine("File attachment isn't implemented");
- return;
- }
- var filePath = await filePicker.PickFile();
- BinaryAttachmentFilePathLabel.Text = filePath;
- Application.Current.Properties[FileAttachmentKey] = filePath;
- await Application.Current.SavePropertiesAsync();
- }
-
- async void AddProperty(object sender, EventArgs e)
- {
- var addPage = new AddPropertyContentPage();
- addPage.PropertyAdded += (Property property) =>
- {
- if (property.Name == null || Properties.Any(i => i.Name == property.Name))
- {
- return;
- }
- Properties.Add(property);
- RefreshPropCount();
- };
- await Navigation.PushModalAsync(addPage);
- }
-
- async void PropertiesCellTapped(object sender, EventArgs e)
- {
- await Navigation.PushAsync(new PropertiesContentPage(Properties));
- }
-
- async void RefreshEnabled()
- {
- CrashesEnabledSwitchCell.IsToggled = await Crashes.IsEnabledAsync();
- CrashesEnabledSwitchCell.IsEnabled = await AppCenter.IsEnabledAsync();
- }
-
- void RefreshPropCount()
- {
- NumPropertiesLabel.Text = Properties.Count.ToString();
- }
-
- void HandleOrThrow(Action action)
- {
- try
- {
- action();
- }
- catch (Exception e) when (HandleExceptionsSwitchCell.IsToggled)
- {
- TrackException(e);
- }
- }
-
- void TestException(object sender, EventArgs e)
- {
- HandleOrThrow(() => Crashes.GenerateTestCrash());
- }
-
- void DivideByZero(object sender, EventArgs e)
- {
- /* This is supposed to cause a crash, so we don't care that the variable 'x' is never used */
-#pragma warning disable CS0219
- HandleOrThrow(() => (42 / int.Parse("0")).ToString());
-#pragma warning restore CS0219
- }
-
- void CatchNullReferenceException(object sender, EventArgs e)
- {
- try
- {
- TriggerNullReferenceException();
- }
- catch (NullReferenceException)
- {
- Debug.WriteLine("null reference exception");
- }
- }
-
- void NullReferenceException(object sender, EventArgs e)
- {
- HandleOrThrow(() => TriggerNullReferenceException());
- }
-
- void TriggerNullReferenceException()
- {
- string[] values = { "one", null, "two" };
- for (int ctr = 0; ctr <= values.GetUpperBound(0); ctr++)
- {
- var val = values[ctr].Trim();
- var separator = ctr == values.GetUpperBound(0) ? "" : ", ";
- Debug.WriteLine("{0}{1}", val, separator);
- }
- Debug.WriteLine("");
- }
-
- void AggregateException(object sender, EventArgs e)
- {
- HandleOrThrow(() => throw PrepareException());
- }
-
- static Exception PrepareException()
- {
- try
- {
- throw new AggregateException(SendHttp(), new ArgumentException("Invalid parameter", ValidateLength()));
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- static Exception SendHttp()
- {
- try
- {
- throw new IOException("Network down");
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- static Exception ValidateLength()
- {
- try
- {
- throw new ArgumentOutOfRangeException(null, "It's over 9000!");
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- public async void AsyncException(object sender, EventArgs e)
- {
- try
- {
- await FakeService.DoStuffInBackground();
- }
- catch (Exception ex) when (HandleExceptionsSwitchCell.IsToggled)
- {
- TrackException(ex);
- }
- }
-
- public void ClassLibException(object sender, EventArgs e)
- {
- try
- {
- CrashUtils.BackgroundExceptionTask().RunSynchronously();
- }
- catch (Exception ex) when (HandleExceptionsSwitchCell.IsToggled)
- {
- TrackException(ex);
- }
- }
-
- private void TrackException(Exception e)
- {
- var properties = new Dictionary();
- foreach (Property property in Properties)
- {
- properties.Add(property.Name, property.Value);
- }
- if (properties.Count == 0)
- {
- properties = null;
- }
- Properties.Clear();
- RefreshPropCount();
- Crashes.TrackError(e, properties, App.GetErrorAttachments().ToArray());
- }
-
- void ClearCrashUserConfirmation(object sender, EventArgs e)
- {
- DependencyService.Get().ClearCrashButton();
- }
-
- void MemoryWarningTrigger(object sender, EventArgs e)
- {
- Task.Run(() =>
- {
- var blockSize = 128 * 1024 * 1024;
- var byteArrays = new List>();
- while (true)
- {
- byteArrays.Add(Enumerable.Repeat((byte)blockSize, 10000000));
- }
- });
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/OthersContentPage.xaml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/OthersContentPage.xaml
deleted file mode 100644
index 21a9c360d..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/OthersContentPage.xaml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/OthersContentPage.xaml.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/OthersContentPage.xaml.cs
deleted file mode 100644
index 43c781ebe..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/ModulePages/OthersContentPage.xaml.cs
+++ /dev/null
@@ -1,124 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.ComponentModel;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Distribute;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Puppet
-{
- using XamarinDevice = Xamarin.Forms.Device;
-
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class OthersContentPage
- {
- static bool _eventFilterStarted;
-
- static OthersContentPage()
- {
-
- }
-
- public OthersContentPage()
- {
- InitializeComponent();
- if (XamarinDevice.RuntimePlatform == XamarinDevice.iOS)
- {
- Icon = "handbag.png";
- }
-
- // Setup track update dropdown choices.
- foreach (var trackUpdateType in TrackUpdateUtils.GetUpdateTrackChoiceStrings())
- {
- this.UpdateTrackPicker.Items.Add(trackUpdateType);
- }
- UpdateTrackPicker.SelectedIndex = TrackUpdateUtils.ToPickerUpdateTrackIndex(TrackUpdateUtils.GetPersistedUpdateTrack() ?? UpdateTrack.Public);
- }
-
- protected override async void OnAppearing()
- {
- base.OnAppearing();
- var acEnabled = await AppCenter.IsEnabledAsync();
- RefreshDistributeEnabled(acEnabled);
- EventFilterEnabledSwitchCell.On = _eventFilterStarted && await EventFilterHolder.Implementation?.IsEnabledAsync();
- EventFilterEnabledSwitchCell.IsEnabled = acEnabled && EventFilterHolder.Implementation != null;
- }
-
- async void UpdateDistributeEnabled(object sender, ToggledEventArgs e)
- {
- await Distribute.SetEnabledAsync(e.Value);
- var acEnabled = await AppCenter.IsEnabledAsync();
- RefreshDistributeEnabled(acEnabled);
- }
-
- async void ChangeUpdateTrack(object sender, PropertyChangedEventArgs e)
- {
- if (e.PropertyName == "IsFocused" && !UpdateTrackPicker.IsFocused)
- {
- var newSelectionCandidate = UpdateTrackPicker.SelectedIndex;
- var persistedStartType = TrackUpdateUtils.ToPickerUpdateTrackIndex(TrackUpdateUtils.GetPersistedUpdateTrack() ?? UpdateTrack.Public);
- if (newSelectionCandidate != persistedStartType)
- {
- var newTrackUpdateValue = TrackUpdateUtils.FromPickerUpdateTrackIndex(newSelectionCandidate);
- await TrackUpdateUtils.SetPersistedUpdateTrackAsync(newTrackUpdateValue);
- await DisplayAlert("Update Track Changed", "Please kill and restart the app for the new update track to take effect.", "OK");
- }
- }
- }
-
- async void RefreshDistributeEnabled(bool _appCenterEnabled)
- {
- DistributeEnabledSwitchCell.On = await Distribute.IsEnabledAsync();
- DistributeEnabledSwitchCell.IsEnabled = _appCenterEnabled;
- RefreshDistributeTrackUpdate();
- RefreshAutomaticUpdateCheck(_appCenterEnabled);
- }
-
- void RefreshDistributeTrackUpdate()
- {
- UpdateTrackPicker.SelectedIndex = TrackUpdateUtils.ToPickerUpdateTrackIndex(TrackUpdateUtils.GetPersistedUpdateTrack() ?? UpdateTrack.Public);
- }
-
- async void UpdateEventFilterEnabled(object sender, ToggledEventArgs e)
- {
- if (EventFilterHolder.Implementation != null)
- {
- if (!_eventFilterStarted)
- {
- AppCenter.Start(EventFilterHolder.Implementation.BindingType);
- _eventFilterStarted = true;
- }
- await EventFilterHolder.Implementation.SetEnabledAsync(e.Value);
- }
- }
-
- async void OnAutomaticUpdateCheckChanged(object sender, ToggledEventArgs e)
- {
- var previousValue = Application.Current.Properties.ContainsKey(Constants.AutomaticUpdateCheckKey) ? Application.Current.Properties[Constants.AutomaticUpdateCheckKey] : null;
- Application.Current.Properties[Constants.AutomaticUpdateCheckKey] = e.Value;
- await Application.Current.SavePropertiesAsync();
- if (previousValue != null && (bool)previousValue != e.Value)
- {
- await DisplayAlert("Automatic Update Check Changed", "Please kill and restart the app for the new automatic update check setting to take effect.", "OK");
- }
- }
-
- void RefreshAutomaticUpdateCheck(bool _enabled)
- {
- AutomaticUpdateCheckSwitchCell.IsEnabled = _enabled;
- if (Application.Current.Properties.TryGetValue(Constants.AutomaticUpdateCheckKey, out object persistedObject))
- {
- AutomaticUpdateCheckSwitchCell.On = (bool)persistedObject;
- return;
- }
- AutomaticUpdateCheckSwitchCell.On = true;
- }
-
- void CheckForUpdateClicked(object sender, EventArgs e)
- {
- Distribute.CheckForUpdate();
- }
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/PreserveAttribute.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/PreserveAttribute.cs
deleted file mode 100644
index f0f5f09a7..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/PreserveAttribute.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Android.Runtime
-{
- public sealed class PreserveAttribute : System.Attribute
- {
- public bool AllMembers;
- public bool Conditional;
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Properties/AssemblyInfo.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Properties/AssemblyInfo.cs
deleted file mode 100644
index a02b717d5..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Reflection;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle("Contoso.Forms.Puppet")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6-SNAPSHOT")]
-
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/PropertiesContentPage.xaml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/PropertiesContentPage.xaml
deleted file mode 100644
index 2b307857f..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/PropertiesContentPage.xaml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/PropertiesContentPage.xaml.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/PropertiesContentPage.xaml.cs
deleted file mode 100644
index 00d6b4b7d..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/PropertiesContentPage.xaml.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.Collections.Generic;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Puppet
-{
- public partial class PropertiesContentPage : ContentPage
- {
- public PropertiesContentPage(List EventProperties)
- {
- InitializeComponent();
- PropertyList.ItemsSource = EventProperties;
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Property.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Property.cs
deleted file mode 100644
index 2d43a66d4..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Property.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.Forms.Puppet
-{
- public class Property
- {
- public string Name { get; private set; }
-
- public string Value { get; private set; }
-
- public Property(string propertyName, string propertyValue)
- {
- Name = propertyName;
- Value = propertyValue;
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/SignInInformationContentPage.xaml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/SignInInformationContentPage.xaml
deleted file mode 100644
index 93c7ffd2c..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/SignInInformationContentPage.xaml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/SignInInformationContentPage.xaml.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/SignInInformationContentPage.xaml.cs
deleted file mode 100644
index 285f214eb..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/SignInInformationContentPage.xaml.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Puppet
-{
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class SignInInformationContentPage : ContentPage
- {
- public SignInInformationContentPage(string accountIdText, string accessTokenText, string idTokenText)
- {
- InitializeComponent();
- AccountIdEntry.Text = accountIdText;
- AccessTokenEntry.Text = accessTokenText;
- IdTokenEntry.Text = idTokenText;
- }
-
- async void OkOnClick(object sender, EventArgs e)
- {
- await Navigation.PopModalAsync();
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/StartTypeUtils.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/StartTypeUtils.cs
deleted file mode 100644
index 22c9c1aaf..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/StartTypeUtils.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Puppet
-{
- public enum StartType
- {
- AppCenter,
- OneCollector,
- Both
- };
-
- public class StartTypeUtils
- {
- public const StartType DefaultStartType = StartType.AppCenter;
- private const string StartTypeSettingKey = "startType";
-
- public static StartType GetPersistedStartType()
- {
- if (Application.Current.Properties.TryGetValue(StartTypeSettingKey, out object persistedStartTypeObject))
- {
- string persistedStartTypeString = (string)persistedStartTypeObject;
- if (Enum.TryParse(persistedStartTypeString, out var persistedStartTypeEnum))
- {
- return persistedStartTypeEnum;
- }
- }
- return DefaultStartType;
- }
-
- public static void SetPersistedStartType(StartType choice)
- {
- Application.Current.Properties[StartTypeSettingKey] = choice.ToString();
- }
-
- public static IEnumerable GetStartTypeChoiceStrings()
- {
- foreach (var startTypeObject in Enum.GetValues(typeof(StartType)))
- {
- yield return startTypeObject.ToString();
- }
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/TrackUpdateUtils.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/TrackUpdateUtils.cs
deleted file mode 100644
index 855ec3771..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/TrackUpdateUtils.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using Microsoft.AppCenter.Distribute;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Puppet
-{
- public class TrackUpdateUtils
- {
- public const UpdateTrack DefaultUpdateTrackType = UpdateTrack.Public;
-
- public static UpdateTrack? GetPersistedUpdateTrack()
- {
- if (Application.Current.Properties.TryGetValue(Constants.UpdateTrackKey, out object persistedObject))
- {
- string persistedString = (string)persistedObject;
- if (Enum.TryParse(persistedString, out var persistedEnum))
- {
- return persistedEnum;
- }
- }
- return null;
- }
-
- public static async System.Threading.Tasks.Task SetPersistedUpdateTrackAsync(UpdateTrack choice)
- {
- Application.Current.Properties[Constants.UpdateTrackKey] = choice.ToString();
- await Application.Current.SavePropertiesAsync();
- }
-
- public static IEnumerable GetUpdateTrackChoiceStrings()
- {
- foreach (var updateTrackObject in Enum.GetValues(typeof(UpdateTrack)))
- {
- yield return updateTrackObject.ToString();
- }
- }
-
- public static int ToPickerUpdateTrackIndex(UpdateTrack updateTrack)
- {
- return (int)(updateTrack - 1);
- }
-
- public static UpdateTrack FromPickerUpdateTrackIndex(int index)
- {
- return (UpdateTrack)(index + 1);
- }
- }
-}
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Views/TextAttachmentView.xaml b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Views/TextAttachmentView.xaml
deleted file mode 100644
index d85a3a200..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Views/TextAttachmentView.xaml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Views/TextAttachmentView.xaml.cs b/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Views/TextAttachmentView.xaml.cs
deleted file mode 100644
index e73829945..000000000
--- a/Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet/Views/TextAttachmentView.xaml.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Threading.Tasks;
-using Xamarin.Forms;
-
-namespace Contoso.Forms.Puppet.Views
-{
- [Android.Runtime.Preserve(AllMembers = true)]
- public partial class TextAttachmentView : ContentPage
- {
- private readonly TaskCompletionSource _taskCompletionSource = new TaskCompletionSource();
- private INavigation _navigation;
-
- public TextAttachmentView()
- {
- InitializeComponent();
- }
-
- protected override void OnAppearing()
- {
- base.OnAppearing();
- Text.Focus();
- }
-
- public static Task Show(INavigation navegation)
- {
- var view = new TextAttachmentView();
- view._navigation = navegation;
- navegation.PushModalAsync(view);
- return view._taskCompletionSource.Task;
- }
-
- async void OK(object sender, EventArgs args)
- {
- var result = Text.Text;
- await _navigation.PopModalAsync();
- _taskCompletionSource.SetResult(result);
- }
-
- async void Cancel(object sender, EventArgs args)
- {
- await _navigation.PopModalAsync();
- _taskCompletionSource.SetResult(null);
- }
- }
-}
diff --git a/Apps/Contoso.MAUI.Demo/Contoso.MAUI.Demo.csproj b/Apps/Contoso.MAUI.Demo/Contoso.MAUI.Demo.csproj
index c86559104..97c3126dd 100644
--- a/Apps/Contoso.MAUI.Demo/Contoso.MAUI.Demo.csproj
+++ b/Apps/Contoso.MAUI.Demo/Contoso.MAUI.Demo.csproj
@@ -1,6 +1,7 @@
+
net8.0-android;net8.0-ios;net8.0-maccatalyst
$(TargetFrameworks);net6.0-windows10.0.19041.0
@@ -10,27 +11,20 @@
true
true
enable
- 5.0.6
+ 5.0.7
Contoso.MAUI.Demo
com.microsoft.appcenter.Contoso.MAUI.Demo
d7a06185-3470-4ae9-8a6f-27a861f146b2
- 14.2
-
- 14.0
- 21.0
-
+ 14.2
+ 14.0
+ 21.0
+
10.0.17763.0
-
+
10.0.17763.0
- 6.5
+ 6.5
Debug;Release;GooglePlay
@@ -44,15 +38,13 @@
false
-
+
iossimulator-x64
true
-
+
@@ -71,14 +63,28 @@
-
-
-
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Apps/Contoso.MAUI.Demo/Platforms/Windows/Package.appxmanifest b/Apps/Contoso.MAUI.Demo/Platforms/Windows/Package.appxmanifest
index e4d61cb1e..e84c4f14d 100644
--- a/Apps/Contoso.MAUI.Demo/Platforms/Windows/Package.appxmanifest
+++ b/Apps/Contoso.MAUI.Demo/Platforms/Windows/Package.appxmanifest
@@ -5,7 +5,7 @@
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap rescap">
-
+
$placeholder$
diff --git a/Apps/Contoso.MacOS.Puppet/AppDelegate.cs b/Apps/Contoso.MacOS.Puppet/AppDelegate.cs
deleted file mode 100644
index 2cacf7c93..000000000
--- a/Apps/Contoso.MacOS.Puppet/AppDelegate.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using AppKit;
-using Foundation;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics;
-using Microsoft.AppCenter.Crashes;
-
-namespace Contoso.MacOS.Puppet
-{
- [Register("AppDelegate")]
- public class AppDelegate : NSApplicationDelegate
- {
- const string LogTag = "AppCenterXamarinPuppet";
- private const string ApplicationCrashOnExceptionsKey = "NSApplicationCrashOnExceptions";
-
- public AppDelegate()
- {
- }
-
- [Export("applicationDidFinishLaunching:")]
- public override void DidFinishLaunching(NSNotification notification)
- {
- // Configure App Center.
- AppCenter.LogLevel = LogLevel.Verbose;
- AppCenter.SetLogUrl("https://in-integration.dev.avalanch.es");
- var plist = NSUserDefaults.StandardUserDefaults;
- var storageSizeValue = plist.IntForKey(Constants.StorageSizeKey);
- if (storageSizeValue > 0)
- {
- AppCenter.SetMaxStorageSizeAsync(storageSizeValue);
- }
- if (plist.BoolForKey(Constants.EnableManualSessionTrackerKey))
- {
- Analytics.EnableManualSessionTracker();
- }
- var dictionary = new NSDictionary(NSObject.FromObject(true), new NSString(ApplicationCrashOnExceptionsKey));
- plist.RegisterDefaults(dictionary);
- var appCenterSecret = Environment.GetEnvironmentVariable("XAMARIN_MACOS_INT");
- AppCenter.Start(appCenterSecret, typeof(Analytics), typeof(Crashes));
- }
-
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png b/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png
deleted file mode 100644
index d0b5a8098..000000000
Binary files a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png and /dev/null differ
diff --git a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png b/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png
deleted file mode 100644
index f4c8d2904..000000000
Binary files a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png and /dev/null differ
diff --git a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png b/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png
deleted file mode 100644
index ebb5a0fe4..000000000
Binary files a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png and /dev/null differ
diff --git a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png b/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png
deleted file mode 100644
index 0986d31be..000000000
Binary files a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png and /dev/null differ
diff --git a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png b/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png
deleted file mode 100644
index f4c8d2904..000000000
Binary files a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png and /dev/null differ
diff --git a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png b/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png
deleted file mode 100644
index a142c83fb..000000000
Binary files a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png and /dev/null differ
diff --git a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png b/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png
deleted file mode 100644
index 0986d31be..000000000
Binary files a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png and /dev/null differ
diff --git a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png b/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png
deleted file mode 100644
index 412d6ca9b..000000000
Binary files a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png and /dev/null differ
diff --git a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png b/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png
deleted file mode 100644
index a142c83fb..000000000
Binary files a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png and /dev/null differ
diff --git a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png
deleted file mode 100644
index e99022ae8..000000000
Binary files a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png and /dev/null differ
diff --git a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/Contents.json b/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 6b2854529..000000000
--- a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "images": [
- {
- "filename": "AppIcon-16.png",
- "size": "16x16",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-16@2x.png",
- "size": "16x16",
- "scale": "2x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-32.png",
- "size": "32x32",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-32@2x.png",
- "size": "32x32",
- "scale": "2x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-128.png",
- "size": "128x128",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-128@2x.png",
- "size": "128x128",
- "scale": "2x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-256.png",
- "size": "256x256",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-256@2x.png",
- "size": "256x256",
- "scale": "2x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-512.png",
- "size": "512x512",
- "scale": "1x",
- "idiom": "mac"
- },
- {
- "filename": "AppIcon-512@2x.png",
- "size": "512x512",
- "scale": "2x",
- "idiom": "mac"
- }
- ],
- "info": {
- "version": 1,
- "author": "xcode"
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/Contents.json b/Apps/Contoso.MacOS.Puppet/Assets.xcassets/Contents.json
deleted file mode 100644
index 4caf392f9..000000000
--- a/Apps/Contoso.MacOS.Puppet/Assets.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.MacOS.Puppet/Constants.cs b/Apps/Contoso.MacOS.Puppet/Constants.cs
deleted file mode 100644
index 20844720d..000000000
--- a/Apps/Contoso.MacOS.Puppet/Constants.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.MacOS.Puppet
-{
- public class Constants
- {
- public const string Verbose = "Verbose";
- public const string Debug = "Debug";
- public const string Info = "Info";
- public const string Warning = "Warning";
- public const string Error = "Error";
- public const string StorageSizeKey = "AppCenterStorageSizeKey";
- public const string EnableManualSessionTrackerKey = "EnableManualSessionTrackerKey";
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/Contoso.MacOS.Puppet.csproj b/Apps/Contoso.MacOS.Puppet/Contoso.MacOS.Puppet.csproj
deleted file mode 100644
index 7c6c8a3f6..000000000
--- a/Apps/Contoso.MacOS.Puppet/Contoso.MacOS.Puppet.csproj
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
-
- Debug
- AnyCPU
- {83AAE9C7-04A6-447E-AE5F-07C8E0A509A8}
- {A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Exe
- Contoso.MacOS.Puppet
- Contoso.MacOS.Puppet
- v2.0
- Xamarin.Mac
- Resources
-
-
- true
- full
- false
- bin\Debug
- DEBUG;
- prompt
- 4
- false
- Mac Developer
- false
- false
- false
- true
- true
- true
-
-
-
- pdbonly
- true
- bin\Release
-
- prompt
- 4
- false
- true
- false
- true
- true
- true
- Entitlements.plist
- SdkOnly
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ViewController.cs
-
-
-
-
-
- AppCenter.cs
-
-
- AppCenterController.cs
-
-
-
-
- Analytics.cs
-
-
- AnalyticsController.cs
-
-
-
-
- Crashes.cs
-
-
- CrashesController.cs
-
-
-
-
-
-
-
-
-
-
-
- Microsoft.AppCenter.Analytics.Apple.Mono
-
-
- Microsoft.AppCenter.Crashes.Apple.Mono
-
-
- Microsoft.AppCenter.Apple.Mono
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.MacOS.Puppet/Entitlements.plist b/Apps/Contoso.MacOS.Puppet/Entitlements.plist
deleted file mode 100644
index 9ae599370..000000000
--- a/Apps/Contoso.MacOS.Puppet/Entitlements.plist
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/Apps/Contoso.MacOS.Puppet/FakeService.cs b/Apps/Contoso.MacOS.Puppet/FakeService.cs
deleted file mode 100644
index 9330b7c78..000000000
--- a/Apps/Contoso.MacOS.Puppet/FakeService.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.IO;
-using System.Threading.Tasks;
-
-namespace Contoso.MacOS.Puppet
-{
- static class FakeService
- {
- internal async static Task DoStuffInBackground()
- {
- await Task.Run(() => { throw new IOException("Server did not respond"); });
- }
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/Info.plist b/Apps/Contoso.MacOS.Puppet/Info.plist
deleted file mode 100644
index ef4954fb4..000000000
--- a/Apps/Contoso.MacOS.Puppet/Info.plist
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleIdentifier
- com.microsoft.appcenter.Contoso-MacOS-Puppet
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- Contoso.MacOS.Puppet
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 5.0.6
- CFBundleSignature
- ????
- CFBundleVersion
- 5.0.6
- LSMinimumSystemVersion
- 10.15
- NSHumanReadableCopyright
- ${AuthorCopyright:HtmlEncode}
- NSMainStoryboardFile
- Main
- NSPrincipalClass
- NSApplication
- XSAppIconAssets
- Assets.xcassets/AppIcon.appiconset
-
-
diff --git a/Apps/Contoso.MacOS.Puppet/Main.cs b/Apps/Contoso.MacOS.Puppet/Main.cs
deleted file mode 100644
index ff6ccffba..000000000
--- a/Apps/Contoso.MacOS.Puppet/Main.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using AppKit;
-
-namespace Contoso.MacOS.Puppet
-{
- static class MainClass
- {
- static void Main(string[] args)
- {
- NSApplication.Init();
- NSApplication.Main(args);
- }
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/Main.storyboard b/Apps/Contoso.MacOS.Puppet/Main.storyboard
deleted file mode 100644
index 62c6088c7..000000000
--- a/Apps/Contoso.MacOS.Puppet/Main.storyboard
+++ /dev/null
@@ -1,1104 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Default
-
-
-
-
-
-
- Left to Right
-
-
-
-
-
-
- Right to Left
-
-
-
-
-
-
-
-
-
-
- Default
-
-
-
-
-
-
- Left to Right
-
-
-
-
-
-
- Right to Left
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/Analytics.cs b/Apps/Contoso.MacOS.Puppet/ModulePages/Analytics.cs
deleted file mode 100644
index 1354c8ee6..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/Analytics.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Foundation;
-using AppKit;
-
-namespace Contoso.MacOS.Puppet.ModulePages
-{
- public partial class Analytics : AppKit.NSView
- {
- #region Constructors
-
- // Called when created from unmanaged code
- public Analytics(IntPtr handle) : base(handle)
- {
- Initialize();
- }
-
- // Called when created directly from a XIB file
- [Export("initWithCoder:")]
- public Analytics(NSCoder coder) : base(coder)
- {
- Initialize();
- }
-
- // Shared initialization code
- void Initialize()
- {
- }
-
- #endregion
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/Analytics.designer.cs b/Apps/Contoso.MacOS.Puppet/ModulePages/Analytics.designer.cs
deleted file mode 100644
index 9e4748ec2..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/Analytics.designer.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.MacOS.Puppet.ModulePages
-{
-
- // Should subclass AppKit.NSView
- [Foundation.Register("Analytics")]
- public partial class Analytics
- {
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/Analytics.xib b/Apps/Contoso.MacOS.Puppet/ModulePages/Analytics.xib
deleted file mode 100644
index 1cc2826a2..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/Analytics.xib
+++ /dev/null
@@ -1,166 +0,0 @@
-
-
-
- 1060
- 10D573
- 762
- 1038.29
- 460.00
-
-
-
-
-
- YES
-
- AnalyticsController
-
-
- FirstResponder
-
-
- NSApplication
-
-
-
- 268
- {470, 296}
-
- Analytics
-
-
-
-
- YES
-
-
- view
-
-
-
- 17
-
-
-
-
- YES
-
- 0
-
-
-
-
-
- -2
-
-
- File's Owner
-
-
- -1
-
-
- First Responder
-
-
- -3
-
-
- Application
-
-
- 4
-
-
- YES
-
-
-
-
-
-
- YES
-
- YES
- -1.IBPluginDependency
- -2.IBPluginDependency
- -3.IBPluginDependency
- 4.IBEditorWindowLastContentRect
- 4.IBPluginDependency
-
-
- YES
- com.apple.InterfaceBuilder.CocoaPlugin
- com.apple.InterfaceBuilder.CocoaPlugin
- com.apple.InterfaceBuilder.CocoaPlugin
- {{380, 424}, {470, 296}}
- com.apple.InterfaceBuilder.CocoaPlugin
-
-
-
- YES
-
-
- YES
-
-
-
-
- YES
-
-
- YES
-
-
-
- 17
-
-
-
- YES
-
- Analytics
- NSView
-
- IBUserSource
-
-
-
-
- AnalyticsController
- NSViewController
-
- IBUserSource
-
-
-
-
-
- 0
- IBCocoaFramework
-
- com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3
-
-
- YES
-
- 3
-
-
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/AnalyticsController.cs b/Apps/Contoso.MacOS.Puppet/ModulePages/AnalyticsController.cs
deleted file mode 100644
index 26facdf65..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/AnalyticsController.cs
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Foundation;
-using AppKit;
-
-namespace Contoso.MacOS.Puppet.ModulePages
-{
- public partial class AnalyticsController : AppKit.NSViewController
- {
- private bool hasTrackEventPropery = false;
- private const string On = "1";
- private const string Off = "0";
- private NSUserDefaults plist = NSUserDefaults.StandardUserDefaults;
-
- #region Constructors
-
- // Called when created from unmanaged code
- public AnalyticsController(IntPtr handle) : base(handle)
- {
- Initialize();
- }
-
- // Called when created directly from a XIB file
- [Export("initWithCoder:")]
- public AnalyticsController(NSCoder coder) : base(coder)
- {
- Initialize();
- }
-
- // Call to load from the XIB/NIB file
- public AnalyticsController() : base("Analytics", NSBundle.MainBundle)
- {
- Initialize();
- }
-
- // Shared initialization code
- void Initialize()
- {
- }
-
- #endregion
-
- public override void ViewDidAppear()
- {
- base.ViewDidAppear();
- isAnalyticsEnabledSwitch.StringValue = Microsoft.AppCenter.Analytics.Analytics.IsEnabledAsync().Result ? On : Off;
- isAnalyticsEnabledSwitch.Enabled = Microsoft.AppCenter.AppCenter.IsEnabledAsync().Result;
- var isEnabled = plist.BoolForKey(Constants.EnableManualSessionTrackerKey);
- ManualSessionTrackerSwitch.StringValue = isEnabled ? On : Off;
- }
-
- partial void AnalyticsSwitchEnabled(NSSwitch sender)
- {
- var isAnalyticsEnabled = sender.AccessibilityValue.ToLower().Equals("on");
- Microsoft.AppCenter.Analytics.Analytics.SetEnabledAsync(isAnalyticsEnabled).Wait();
- isAnalyticsEnabledSwitch.StringValue = Microsoft.AppCenter.Analytics.Analytics.IsEnabledAsync().Result ? On : Off;
- }
-
- partial void HasTrackErrorProperties(NSButton sender)
- {
- hasTrackEventPropery = !hasTrackEventPropery;
- }
-
- partial void ManualSessionTrackerUpdate(NSSwitch sender)
- {
- plist.SetBool(sender.AccessibilityValue.ToLower().Equals("on"), Constants.EnableManualSessionTrackerKey);
- }
-
- partial void StartSession(NSObject sender)
- {
- Microsoft.AppCenter.Analytics.Analytics.StartSession();
- }
-
- partial void SendTrackEvent(NSButton sender)
- {
- var trackEvent = trackEventName.AccessibilityValue;
- if (hasTrackEventPropery)
- {
- var properties = new Dictionary();
- properties.Add("property1", "key1");
- properties.Add("property2", "key2");
- Microsoft.AppCenter.Analytics.Analytics.TrackEvent(trackEvent, properties);
- return;
- }
- Microsoft.AppCenter.Analytics.Analytics.TrackEvent(trackEvent);
- }
-
- //strongly typed view accessor
- public new Analytics View
- {
- get
- {
- return (Analytics)base.View;
- }
- }
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/AnalyticsController.designer.cs b/Apps/Contoso.MacOS.Puppet/ModulePages/AnalyticsController.designer.cs
deleted file mode 100644
index 135e09391..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/AnalyticsController.designer.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Foundation;
-using System.CodeDom.Compiler;
-
-namespace Contoso.MacOS.Puppet.ModulePages
-{
- [Register ("AnalyticsController")]
- partial class AnalyticsController
- {
- [Outlet]
- AppKit.NSSwitch isAnalyticsEnabledSwitch { get; set; }
-
- [Outlet]
- AppKit.NSSwitch ManualSessionTrackerSwitch { get; set; }
-
- [Outlet]
- AppKit.NSTextField trackEventName { get; set; }
-
- [Action ("AnalyticsSwitchEnabled:")]
- partial void AnalyticsSwitchEnabled (AppKit.NSSwitch sender);
-
- [Action ("HasTrackErrorProperties:")]
- partial void HasTrackErrorProperties (AppKit.NSButton sender);
-
- [Action ("ManualSessionTrackerUpdate:")]
- partial void ManualSessionTrackerUpdate (AppKit.NSSwitch sender);
-
- [Action ("SendTrackEvent:")]
- partial void SendTrackEvent (AppKit.NSButton sender);
-
- [Action ("StartSession:")]
- partial void StartSession (Foundation.NSObject sender);
-
- void ReleaseDesignerOutlets ()
- {
- if (isAnalyticsEnabledSwitch != null) {
- isAnalyticsEnabledSwitch.Dispose ();
- isAnalyticsEnabledSwitch = null;
- }
-
- if (trackEventName != null) {
- trackEventName.Dispose ();
- trackEventName = null;
- }
-
- if (ManualSessionTrackerSwitch != null) {
- ManualSessionTrackerSwitch.Dispose ();
- ManualSessionTrackerSwitch = null;
- }
- }
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenter.cs b/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenter.cs
deleted file mode 100644
index 15092636e..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenter.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Foundation;
-using AppKit;
-
-namespace Contoso.MacOS.Puppet.ModulePages
-{
- public partial class AppCenter : AppKit.NSView
- {
- #region Constructors
-
- // Called when created from unmanaged code
- public AppCenter(IntPtr handle) : base(handle)
- {
- Initialize();
- }
-
- // Called when created directly from a XIB file
- [Export("initWithCoder:")]
- public AppCenter(NSCoder coder) : base(coder)
- {
- Initialize();
- }
-
- // Shared initialization code
- void Initialize()
- {
- }
-
- #endregion
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenter.designer.cs b/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenter.designer.cs
deleted file mode 100644
index 95083dfdf..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenter.designer.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.MacOS.Puppet.ModulePages
-{
-
- // Should subclass AppKit.NSView
- [Foundation.Register("AppCenter")]
- public partial class AppCenter
- {
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenter.xib b/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenter.xib
deleted file mode 100644
index f4a9a5f95..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenter.xib
+++ /dev/null
@@ -1,166 +0,0 @@
-
-
-
- 1060
- 10D573
- 762
- 1038.29
- 460.00
-
- com.apple.InterfaceBuilder.CocoaPlugin
- 762
-
-
- YES
-
-
-
- YES
- com.apple.InterfaceBuilder.CocoaPlugin
-
-
- YES
-
- YES
-
-
- YES
-
-
-
- YES
-
- AppCenterController
-
-
- FirstResponder
-
-
- NSApplication
-
-
-
- 268
- {470, 296}
-
- AppCenter
-
-
-
-
- YES
-
-
- view
-
-
-
- 17
-
-
-
-
- YES
-
- 0
-
-
-
-
-
- -2
-
-
- File's Owner
-
-
- -1
-
-
- First Responder
-
-
- -3
-
-
- Application
-
-
- 4
-
-
- YES
-
-
-
-
-
-
- YES
-
- YES
- -1.IBPluginDependency
- -2.IBPluginDependency
- -3.IBPluginDependency
- 4.IBEditorWindowLastContentRect
- 4.IBPluginDependency
-
-
- YES
- com.apple.InterfaceBuilder.CocoaPlugin
- com.apple.InterfaceBuilder.CocoaPlugin
- com.apple.InterfaceBuilder.CocoaPlugin
- {{380, 424}, {470, 296}}
- com.apple.InterfaceBuilder.CocoaPlugin
-
-
-
- YES
-
-
- YES
-
-
-
-
- YES
-
-
- YES
-
-
-
- 17
-
-
-
- YES
-
- AppCenter
- NSView
-
- IBUserSource
-
-
-
-
- AppCenterController
- NSViewController
-
- IBUserSource
-
-
-
-
-
- 0
- IBCocoaFramework
-
- com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3
-
-
- YES
-
- 3
-
-
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenterController.cs b/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenterController.cs
deleted file mode 100644
index a4feb2da9..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenterController.cs
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using Foundation;
-using AppKit;
-
-namespace Contoso.MacOS.Puppet.ModulePages
-{
- public partial class AppCenterController : AppKit.NSViewController
- {
- private const string LogTag = "XamarinMacOS";
- private const string On = "1";
- private const string Off = "0";
- private NSUserDefaults plist = NSUserDefaults.StandardUserDefaults;
-
- #region Constructors
-
- // Called when created from unmanaged code
- public AppCenterController(IntPtr handle) : base(handle)
- {
- Initialize();
- }
-
- // Called when created directly from a XIB file
- [Export("initWithCoder:")]
- public AppCenterController(NSCoder coder) : base(coder)
- {
- Initialize();
- }
-
- // Call to load from the XIB/NIB file
- public AppCenterController() : base("AppCenter", NSBundle.MainBundle)
- {
- Initialize();
- }
-
- // Shared initialization code
- void Initialize()
- {
- }
-
- #endregion
-
- public override void ViewDidAppear()
- {
- base.ViewDidAppear();
- IsAppCenterEnabledSwitch.StringValue = Microsoft.AppCenter.AppCenter.IsEnabledAsync().Result ? On : Off;
- isNetworkRequestAllowedSwitch.StringValue = Microsoft.AppCenter.AppCenter.IsNetworkRequestsAllowed ? On : Off;
-
- // Set max storage size value.
- plist = NSUserDefaults.StandardUserDefaults;
- var storageSizeValue = plist.IntForKey(Constants.StorageSizeKey);
- if (storageSizeValue > 0)
- {
- MaxStorageSizeText.StringValue = storageSizeValue.ToString();
- }
- }
-
- partial void IsAppCenterEnabled(NSSwitch sender)
- {
- var IsAppCenterEnabled = sender.StringValue.ToLower().Equals(On);
- Microsoft.AppCenter.AppCenter.SetEnabledAsync(IsAppCenterEnabled).Wait();
- IsAppCenterEnabledSwitch.StringValue = Microsoft.AppCenter.AppCenter.IsEnabledAsync().Result ? On : Off;
- }
-
- partial void IsNetworkRequestsAllowed(NSSwitch sender)
- {
- var isNetworkAllowed = sender.StringValue.ToLower().Equals(On);
- Microsoft.AppCenter.AppCenter.IsNetworkRequestsAllowed = isNetworkAllowed;
- }
-
- partial void SaveMaxStorageSizeText(NSButton sender)
- {
- var size = MaxStorageSizeText.AccessibilityValue;
- int.TryParse(size, out var result);
- if (result != 0)
- {
- Microsoft.AppCenter.AppCenter.SetMaxStorageSizeAsync(result).Wait();
- plist.SetInt(result, Constants.StorageSizeKey);
- }
- else
- {
- Microsoft.AppCenter.AppCenterLog.Error(LogTag, "Wrong number value for the max storage size.");
- }
- }
-
- partial void UserIdTextChanged(NSTextField sender)
- {
- var userId = string.IsNullOrEmpty(sender.AccessibilityValue) ? null : sender.AccessibilityValue;
- Microsoft.AppCenter.AppCenter.SetUserId(userId);
- }
-
- //strongly typed view accessor
- public new AppCenter View
- {
- get
- {
- return (AppCenter)base.View;
- }
- }
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenterController.designer.cs b/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenterController.designer.cs
deleted file mode 100644
index 058ce0875..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/AppCenterController.designer.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Foundation;
-using System.CodeDom.Compiler;
-
-namespace Contoso.MacOS.Puppet.ModulePages
-{
- [Register ("AppCenterController")]
- partial class AppCenterController
- {
- [Outlet]
- AppKit.NSSwitch IsAppCenterEnabledSwitch { get; set; }
-
- [Outlet]
- AppKit.NSSwitch isNetworkRequestAllowedSwitch { get; set; }
-
- [Outlet]
- AppKit.NSTextField MaxStorageSizeText { get; set; }
-
- [Outlet]
- AppKit.NSTextField UserIdText { get; set; }
-
- [Action ("IsAppCenterEnabled:")]
- partial void IsAppCenterEnabled (AppKit.NSSwitch sender);
-
- [Action ("IsNetworkRequestsAllowed:")]
- partial void IsNetworkRequestsAllowed (AppKit.NSSwitch sender);
-
- [Action ("SaveMaxStorageSizeText:")]
- partial void SaveMaxStorageSizeText (AppKit.NSButton sender);
-
- [Action ("UserIdTextChanged:")]
- partial void UserIdTextChanged (AppKit.NSTextField sender);
-
- void ReleaseDesignerOutlets ()
- {
- if (IsAppCenterEnabledSwitch != null) {
- IsAppCenterEnabledSwitch.Dispose ();
- IsAppCenterEnabledSwitch = null;
- }
-
- if (isNetworkRequestAllowedSwitch != null) {
- isNetworkRequestAllowedSwitch.Dispose ();
- isNetworkRequestAllowedSwitch = null;
- }
-
- if (MaxStorageSizeText != null) {
- MaxStorageSizeText.Dispose ();
- MaxStorageSizeText = null;
- }
-
- if (UserIdText != null) {
- UserIdText.Dispose ();
- UserIdText = null;
- }
- }
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/Crashes.cs b/Apps/Contoso.MacOS.Puppet/ModulePages/Crashes.cs
deleted file mode 100644
index 9bedfdb67..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/Crashes.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Foundation;
-using AppKit;
-
-namespace Contoso.MacOS.Puppet.ModulePages
-{
- public partial class Crashes : AppKit.NSView
- {
- #region Constructors
-
- // Called when created from unmanaged code
- public Crashes(IntPtr handle) : base(handle)
- {
- Initialize();
- }
-
- // Called when created directly from a XIB file
- [Export("initWithCoder:")]
- public Crashes(NSCoder coder) : base(coder)
- {
- Initialize();
- }
-
- // Shared initialization code
- void Initialize()
- {
- }
-
- #endregion
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/Crashes.designer.cs b/Apps/Contoso.MacOS.Puppet/ModulePages/Crashes.designer.cs
deleted file mode 100644
index 8a355325b..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/Crashes.designer.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.MacOS.Puppet.ModulePages
-{
-
- // Should subclass AppKit.NSView
- [Foundation.Register("Crashes")]
- public partial class Crashes
- {
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/Crashes.xib b/Apps/Contoso.MacOS.Puppet/ModulePages/Crashes.xib
deleted file mode 100644
index 91d99a883..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/Crashes.xib
+++ /dev/null
@@ -1,166 +0,0 @@
-
-
-
- 1060
- 10D573
- 762
- 1038.29
- 460.00
-
- com.apple.InterfaceBuilder.CocoaPlugin
- 762
-
-
- YES
-
-
-
- YES
- com.apple.InterfaceBuilder.CocoaPlugin
-
-
- YES
-
- YES
-
-
- YES
-
-
-
- YES
-
- CrashesController
-
-
- FirstResponder
-
-
- NSApplication
-
-
-
- 268
- {470, 296}
-
- Crashes
-
-
-
-
- YES
-
-
- view
-
-
-
- 17
-
-
-
-
- YES
-
- 0
-
-
-
-
-
- -2
-
-
- File's Owner
-
-
- -1
-
-
- First Responder
-
-
- -3
-
-
- Application
-
-
- 4
-
-
- YES
-
-
-
-
-
-
- YES
-
- YES
- -1.IBPluginDependency
- -2.IBPluginDependency
- -3.IBPluginDependency
- 4.IBEditorWindowLastContentRect
- 4.IBPluginDependency
-
-
- YES
- com.apple.InterfaceBuilder.CocoaPlugin
- com.apple.InterfaceBuilder.CocoaPlugin
- com.apple.InterfaceBuilder.CocoaPlugin
- {{380, 424}, {470, 296}}
- com.apple.InterfaceBuilder.CocoaPlugin
-
-
-
- YES
-
-
- YES
-
-
-
-
- YES
-
-
- YES
-
-
-
- 17
-
-
-
- YES
-
- Crashes
- NSView
-
- IBUserSource
-
-
-
-
- CrashesController
- NSViewController
-
- IBUserSource
-
-
-
-
-
- 0
- IBCocoaFramework
-
- com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3
-
-
- YES
-
- 3
-
-
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/CrashesController.cs b/Apps/Contoso.MacOS.Puppet/ModulePages/CrashesController.cs
deleted file mode 100644
index 4572cfb06..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/CrashesController.cs
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Foundation;
-using AppKit;
-using System.IO;
-
-namespace Contoso.MacOS.Puppet.ModulePages
-{
- public partial class CrashesController : AppKit.NSViewController
- {
- private const string On = "1";
- private const string Off = "0";
-
- #region Constructors
-
- // Called when created from unmanaged code
- public CrashesController(IntPtr handle) : base(handle)
- {
- Initialize();
- }
-
- // Called when created directly from a XIB file
- [Export("initWithCoder:")]
- public CrashesController(NSCoder coder) : base(coder)
- {
- Initialize();
- }
-
- // Call to load from the XIB/NIB file
- public CrashesController() : base("Crashes", NSBundle.MainBundle)
- {
- Initialize();
- }
-
- // Shared initialization code
- void Initialize()
- {
- }
-
- #endregion
-
- public override void ViewDidAppear()
- {
- base.ViewDidAppear();
- IsCrashesEnabledSwitch.StringValue = Microsoft.AppCenter.Crashes.Crashes.IsEnabledAsync().Result ? On : Off;
- IsCrashesEnabledSwitch.Enabled = Microsoft.AppCenter.AppCenter.IsEnabledAsync().Result;
- }
-
- partial void IsCrashesEnabled(NSSwitch sender)
- {
- var isAnalyticsEnabled = sender.AccessibilityValue.ToLower().Equals("on");
- Microsoft.AppCenter.Crashes.Crashes.SetEnabledAsync(isAnalyticsEnabled).Wait();
- IsCrashesEnabledSwitch.StringValue = Microsoft.AppCenter.Crashes.Crashes.IsEnabledAsync().Result ? On : Off;
- }
-
- partial void TestCrash(NSButton sender)
- {
- Microsoft.AppCenter.Crashes.Crashes.GenerateTestCrash();
- }
-
- partial void DivideByZero(NSButton sender)
- {
- /* This is supposed to cause a crash, so we don't care that the variable 'x' is never used */
-#pragma warning disable CS0219
- int x = (42 / int.Parse("0"));
-#pragma warning restore CS0219
- }
-
- partial void CatchNullReferenceException(NSButton sender)
- {
- try
- {
- TriggerNullReferenceException();
- }
- catch (NullReferenceException e)
- {
- Microsoft.AppCenter.Crashes.Crashes.TrackError(e);
- }
- }
-
- partial void CrashWithNullReferenceException(NSButton sender)
- {
- TriggerNullReferenceException();
- }
-
- void TriggerNullReferenceException()
- {
- string[] values = { "one", null, "two" };
- for (int ctr = 0; ctr <= values.GetUpperBound(0); ctr++)
- {
- var val = values[ctr].Trim();
- var separator = ctr == values.GetUpperBound(0) ? "" : ", ";
- System.Diagnostics.Debug.WriteLine("{0}{1}", val, separator);
- }
- System.Diagnostics.Debug.WriteLine("");
- }
-
- partial void CrashWithAggregateException(NSButton sender)
- {
- throw PrepareException();
- }
-
- static Exception PrepareException()
- {
- try
- {
- throw new AggregateException(SendHttp(), new ArgumentException("Invalid parameter", ValidateLength()));
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- static Exception SendHttp()
- {
- try
- {
- throw new IOException("Network down");
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- static Exception ValidateLength()
- {
- try
- {
- throw new ArgumentOutOfRangeException(null, "It's over 9000!");
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- async partial void CrashAsync(NSButton sender)
- {
- await FakeService.DoStuffInBackground();
- }
-
- partial void NativeCrash(NSButton sender)
- {
- NSNull.Null.PerformSelector(new ObjCRuntime.Selector("isEqualToString:"));
- }
-
- //strongly typed view accessor
- public new Crashes View
- {
- get
- {
- return (Crashes)base.View;
- }
- }
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ModulePages/CrashesController.designer.cs b/Apps/Contoso.MacOS.Puppet/ModulePages/CrashesController.designer.cs
deleted file mode 100644
index 1ef6af94e..000000000
--- a/Apps/Contoso.MacOS.Puppet/ModulePages/CrashesController.designer.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Foundation;
-using System.CodeDom.Compiler;
-
-namespace Contoso.MacOS.Puppet.ModulePages
-{
- [Register ("CrashesController")]
- partial class CrashesController
- {
- [Outlet]
- AppKit.NSSwitch IsCrashesEnabledSwitch { get; set; }
-
- [Action ("CatchNullReferenceException:")]
- partial void CatchNullReferenceException (AppKit.NSButton sender);
-
- [Action ("CrashAsync:")]
- partial void CrashAsync (AppKit.NSButton sender);
-
- [Action ("CrashWithAggregateException:")]
- partial void CrashWithAggregateException (AppKit.NSButton sender);
-
- [Action ("CrashWithNullReferenceException:")]
- partial void CrashWithNullReferenceException (AppKit.NSButton sender);
-
- [Action ("DivideByZero:")]
- partial void DivideByZero (AppKit.NSButton sender);
-
- [Action ("IsCrashesEnabled:")]
- partial void IsCrashesEnabled (AppKit.NSSwitch sender);
-
- [Action ("NativeCrash:")]
- partial void NativeCrash (AppKit.NSButton sender);
-
- [Action ("TestCrash:")]
- partial void TestCrash (AppKit.NSButton sender);
-
- void ReleaseDesignerOutlets ()
- {
- if (IsCrashesEnabledSwitch != null) {
- IsCrashesEnabledSwitch.Dispose ();
- IsCrashesEnabledSwitch = null;
- }
- }
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ViewController.cs b/Apps/Contoso.MacOS.Puppet/ViewController.cs
deleted file mode 100644
index a18c108e1..000000000
--- a/Apps/Contoso.MacOS.Puppet/ViewController.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-
-using AppKit;
-using Foundation;
-
-namespace Contoso.MacOS.Puppet
-{
- public partial class ViewController : NSViewController
- {
- public ViewController(IntPtr handle) : base(handle)
- {
- }
-
- public override void ViewDidLoad()
- {
- base.ViewDidLoad();
-
- // Do any additional setup after loading the view.
- }
-
- public override NSObject RepresentedObject
- {
- get
- {
- return base.RepresentedObject;
- }
- set
- {
- base.RepresentedObject = value;
- // Update the view, if already loaded.
- }
- }
- }
-}
diff --git a/Apps/Contoso.MacOS.Puppet/ViewController.designer.cs b/Apps/Contoso.MacOS.Puppet/ViewController.designer.cs
deleted file mode 100644
index 42e8f648d..000000000
--- a/Apps/Contoso.MacOS.Puppet/ViewController.designer.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using Foundation;
-
-namespace Contoso.MacOS.Puppet
-{
- [Register("ViewController")]
- partial class ViewController
- {
- void ReleaseDesignerOutlets()
- {
- }
- }
-}
diff --git a/Apps/Contoso.UWP.Demo/Contoso.UWP.Demo.csproj b/Apps/Contoso.UWP.Demo/Contoso.UWP.Demo.csproj
index 5e59ab263..6e933877d 100644
--- a/Apps/Contoso.UWP.Demo/Contoso.UWP.Demo.csproj
+++ b/Apps/Contoso.UWP.Demo/Contoso.UWP.Demo.csproj
@@ -149,8 +149,8 @@
-
-
+
+
diff --git a/Apps/Contoso.UWP.Demo/MainPage.xaml.cs b/Apps/Contoso.UWP.Demo/MainPage.xaml.cs
index bbc61c35c..737373c9f 100644
--- a/Apps/Contoso.UWP.Demo/MainPage.xaml.cs
+++ b/Apps/Contoso.UWP.Demo/MainPage.xaml.cs
@@ -43,7 +43,6 @@ private void TrackEvent(object sender, RoutedEventArgs e)
private async void ThrowException(object sender, RoutedEventArgs e)
{
- // Contoso.Forms.Puppet.UWP has more crash types and UI features to test properties.
// This app is just for smoke testing.
// Also this app uses min SDK version to 10240, which changes the .NET native generated code to have missing symbols for handled errors.
// Handled errors in the forms app never hit that case because we need to use v16299 there.
diff --git a/Apps/Contoso.UWP.Demo/Package.StoreAssociation.xml b/Apps/Contoso.UWP.Demo/Package.StoreAssociation.xml
index 0919f4b80..d4f60ec07 100644
--- a/Apps/Contoso.UWP.Demo/Package.StoreAssociation.xml
+++ b/Apps/Contoso.UWP.Demo/Package.StoreAssociation.xml
@@ -365,8 +365,6 @@
- 10805zumoTestUser.AppCenter-Contoso.Forms.Demo.UWP
- 10805zumoTestUser.AppCenter-Contoso.Forms.Puppet.U
10805zumoTestUser.AppCenter-Contoso.UWP.Puppet
10805zumoTestUser.AppCenter-Contso.Forms.Puppet.UW
10805zumoTestUser.ClientSdkDotNetApp
diff --git a/Apps/Contoso.UWP.Demo/Package.appxmanifest b/Apps/Contoso.UWP.Demo/Package.appxmanifest
index c4c2817b8..cf013a8b4 100644
--- a/Apps/Contoso.UWP.Demo/Package.appxmanifest
+++ b/Apps/Contoso.UWP.Demo/Package.appxmanifest
@@ -1,6 +1,6 @@
-
+
AppCenter-Contoso.UWP.Demo
diff --git a/Apps/Contoso.UWP.Demo/Properties/AssemblyInfo.cs b/Apps/Contoso.UWP.Demo/Properties/AssemblyInfo.cs
index ae964c538..32e7ab9a4 100644
--- a/Apps/Contoso.UWP.Demo/Properties/AssemblyInfo.cs
+++ b/Apps/Contoso.UWP.Demo/Properties/AssemblyInfo.cs
@@ -27,5 +27,5 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
[assembly: ComVisible(false)]
\ No newline at end of file
diff --git a/Apps/Contoso.UWP.Puppet/MainPage.xaml.cs b/Apps/Contoso.UWP.Puppet/MainPage.xaml.cs
index 3aefed959..a23dba24b 100644
--- a/Apps/Contoso.UWP.Puppet/MainPage.xaml.cs
+++ b/Apps/Contoso.UWP.Puppet/MainPage.xaml.cs
@@ -43,7 +43,6 @@ private void TrackEvent(object sender, RoutedEventArgs e)
private async void ThrowException(object sender, RoutedEventArgs e)
{
- // Contoso.Forms.Puppet.UWP has more crash types and UI features to test properties.
// This app is just for smoke testing.
// Also this app uses min SDK version to 10240, which changes the .NET native generated code to have missing symbols for handled errors.
// Handled errors in the forms app never hit that case because we need to use v16299 there.
diff --git a/Apps/Contoso.UWP.Puppet/Package.appxmanifest b/Apps/Contoso.UWP.Puppet/Package.appxmanifest
index 030ca658e..b825d4012 100644
--- a/Apps/Contoso.UWP.Puppet/Package.appxmanifest
+++ b/Apps/Contoso.UWP.Puppet/Package.appxmanifest
@@ -1,6 +1,6 @@
-
+
AppCenter-Contoso.UWP.Puppet
diff --git a/Apps/Contoso.UWP.Puppet/Properties/AssemblyInfo.cs b/Apps/Contoso.UWP.Puppet/Properties/AssemblyInfo.cs
index 57e22a0fd..1abc44f1b 100644
--- a/Apps/Contoso.UWP.Puppet/Properties/AssemblyInfo.cs
+++ b/Apps/Contoso.UWP.Puppet/Properties/AssemblyInfo.cs
@@ -27,5 +27,5 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
[assembly: ComVisible(false)]
\ No newline at end of file
diff --git a/Apps/Contoso.WPF.Demo.DotNetCore/Contoso.WPF.Demo.DotNetCore.csproj b/Apps/Contoso.WPF.Demo.DotNetCore/Contoso.WPF.Demo.DotNetCore.csproj
index a4d28a143..df2fcaf9f 100644
--- a/Apps/Contoso.WPF.Demo.DotNetCore/Contoso.WPF.Demo.DotNetCore.csproj
+++ b/Apps/Contoso.WPF.Demo.DotNetCore/Contoso.WPF.Demo.DotNetCore.csproj
@@ -4,13 +4,13 @@
WinExe
netcoreapp3.1
true
- 5.0.6
+ 5.0.7
0.0.0.0
- 5.0.6.0
+ 5.0.7.0
-
-
+
+
diff --git a/Apps/Contoso.WPF.Demo/Contoso.WPF.Demo.csproj b/Apps/Contoso.WPF.Demo/Contoso.WPF.Demo.csproj
index c03bddf86..a332847f8 100644
--- a/Apps/Contoso.WPF.Demo/Contoso.WPF.Demo.csproj
+++ b/Apps/Contoso.WPF.Demo/Contoso.WPF.Demo.csproj
@@ -115,8 +115,8 @@
-
-
+
+
diff --git a/Apps/Contoso.WPF.Demo/Properties/AssemblyInfo.cs b/Apps/Contoso.WPF.Demo/Properties/AssemblyInfo.cs
index 7fe36422a..af18e5cd0 100644
--- a/Apps/Contoso.WPF.Demo/Properties/AssemblyInfo.cs
+++ b/Apps/Contoso.WPF.Demo/Properties/AssemblyInfo.cs
@@ -30,5 +30,5 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
+[assembly: AssemblyInformationalVersion("5.0.7")]
diff --git a/Apps/Contoso.WPF.Puppet.DotNetCore/Contoso.WPF.Puppet.DotNetCore.csproj b/Apps/Contoso.WPF.Puppet.DotNetCore/Contoso.WPF.Puppet.DotNetCore.csproj
index e7cde89e2..7d2483f79 100644
--- a/Apps/Contoso.WPF.Puppet.DotNetCore/Contoso.WPF.Puppet.DotNetCore.csproj
+++ b/Apps/Contoso.WPF.Puppet.DotNetCore/Contoso.WPF.Puppet.DotNetCore.csproj
@@ -4,9 +4,9 @@
WinExe
netcoreapp3.1
true
- 5.0.6-SNAPSHOT
+ 5.0.7-SNAPSHOT
0.0.0.0
- 5.0.6.0
+ 5.0.7.0
diff --git a/Apps/Contoso.WPF.Puppet/Properties/AssemblyInfo.cs b/Apps/Contoso.WPF.Puppet/Properties/AssemblyInfo.cs
index 11fab607e..7e068d4e6 100644
--- a/Apps/Contoso.WPF.Puppet/Properties/AssemblyInfo.cs
+++ b/Apps/Contoso.WPF.Puppet/Properties/AssemblyInfo.cs
@@ -30,5 +30,5 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6-SNAPSHOT")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
+[assembly: AssemblyInformationalVersion("5.0.7-SNAPSHOT")]
diff --git a/Apps/Contoso.WinForms.Demo.DotNetCore/Contoso.WinForms.Demo.DotNetCore.csproj b/Apps/Contoso.WinForms.Demo.DotNetCore/Contoso.WinForms.Demo.DotNetCore.csproj
index c34c92c48..800ccd4cf 100644
--- a/Apps/Contoso.WinForms.Demo.DotNetCore/Contoso.WinForms.Demo.DotNetCore.csproj
+++ b/Apps/Contoso.WinForms.Demo.DotNetCore/Contoso.WinForms.Demo.DotNetCore.csproj
@@ -4,11 +4,11 @@
WinExe
netcoreapp3.1
true
- 5.0.6
+ 5.0.7
-
-
+
+
diff --git a/Apps/Contoso.WinForms.Demo/Contoso.WinForms.Demo.csproj b/Apps/Contoso.WinForms.Demo/Contoso.WinForms.Demo.csproj
index 87b561592..3c8f285dc 100644
--- a/Apps/Contoso.WinForms.Demo/Contoso.WinForms.Demo.csproj
+++ b/Apps/Contoso.WinForms.Demo/Contoso.WinForms.Demo.csproj
@@ -81,8 +81,8 @@
-
-
+
+
diff --git a/Apps/Contoso.WinForms.Demo/Properties/AssemblyInfo.cs b/Apps/Contoso.WinForms.Demo/Properties/AssemblyInfo.cs
index 97a3765d9..f3b8d3c58 100644
--- a/Apps/Contoso.WinForms.Demo/Properties/AssemblyInfo.cs
+++ b/Apps/Contoso.WinForms.Demo/Properties/AssemblyInfo.cs
@@ -28,5 +28,5 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
+[assembly: AssemblyInformationalVersion("5.0.7")]
diff --git a/Apps/Contoso.WinForms.Puppet.DotNetCore/Contoso.WinForms.Puppet.DotNetCore.csproj b/Apps/Contoso.WinForms.Puppet.DotNetCore/Contoso.WinForms.Puppet.DotNetCore.csproj
index 3ac3ebcbb..829b18c68 100644
--- a/Apps/Contoso.WinForms.Puppet.DotNetCore/Contoso.WinForms.Puppet.DotNetCore.csproj
+++ b/Apps/Contoso.WinForms.Puppet.DotNetCore/Contoso.WinForms.Puppet.DotNetCore.csproj
@@ -4,7 +4,7 @@
WinExe
netcoreapp3.1
true
- 5.0.6-SNAPSHOT
+ 5.0.7-SNAPSHOT
diff --git a/Apps/Contoso.WinForms.Puppet/Properties/AssemblyInfo.cs b/Apps/Contoso.WinForms.Puppet/Properties/AssemblyInfo.cs
index 32e927eca..d288a5e3b 100644
--- a/Apps/Contoso.WinForms.Puppet/Properties/AssemblyInfo.cs
+++ b/Apps/Contoso.WinForms.Puppet/Properties/AssemblyInfo.cs
@@ -28,5 +28,5 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6-SNAPSHOT")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
+[assembly: AssemblyInformationalVersion("5.0.7-SNAPSHOT")]
diff --git a/Apps/Contoso.WinUI.Desktop.Demo/Contoso.WinUI.Desktop.Demo (Package)/Package.appxmanifest b/Apps/Contoso.WinUI.Desktop.Demo/Contoso.WinUI.Desktop.Demo (Package)/Package.appxmanifest
index 3996b079b..fc632287e 100644
--- a/Apps/Contoso.WinUI.Desktop.Demo/Contoso.WinUI.Desktop.Demo (Package)/Package.appxmanifest
+++ b/Apps/Contoso.WinUI.Desktop.Demo/Contoso.WinUI.Desktop.Demo (Package)/Package.appxmanifest
@@ -9,7 +9,7 @@
+ Version="5.0.7.0" />
Contoso.WinUI.Desktop.Demo (Package)
diff --git a/Apps/Contoso.WinUI.Desktop.Demo/Contoso.WinUI.Desktop.Demo/Contoso.WinUI.Desktop.Demo.csproj b/Apps/Contoso.WinUI.Desktop.Demo/Contoso.WinUI.Desktop.Demo/Contoso.WinUI.Desktop.Demo.csproj
index bb5d57df1..27fa56803 100644
--- a/Apps/Contoso.WinUI.Desktop.Demo/Contoso.WinUI.Desktop.Demo/Contoso.WinUI.Desktop.Demo.csproj
+++ b/Apps/Contoso.WinUI.Desktop.Demo/Contoso.WinUI.Desktop.Demo/Contoso.WinUI.Desktop.Demo.csproj
@@ -11,8 +11,8 @@
-
-
+
+
diff --git a/Apps/Contoso.WinUI.Desktop.Puppet/Contoso.WinUI.Desktop.Puppet (Package)/Package.appxmanifest b/Apps/Contoso.WinUI.Desktop.Puppet/Contoso.WinUI.Desktop.Puppet (Package)/Package.appxmanifest
index cbb97970b..a13dbdb45 100644
--- a/Apps/Contoso.WinUI.Desktop.Puppet/Contoso.WinUI.Desktop.Puppet (Package)/Package.appxmanifest
+++ b/Apps/Contoso.WinUI.Desktop.Puppet/Contoso.WinUI.Desktop.Puppet (Package)/Package.appxmanifest
@@ -9,7 +9,7 @@
+ Version="5.0.7.0" />
Contoso.WinUI.Desktop.Puppet (Package)
diff --git a/Apps/Contoso.iOS.Puppet/AppDelegate.cs b/Apps/Contoso.iOS.Puppet/AppDelegate.cs
deleted file mode 100644
index 1fa7be916..000000000
--- a/Apps/Contoso.iOS.Puppet/AppDelegate.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-#pragma warning disable XI0002 // Notifies you from using newer Apple APIs when targeting an older OS version
-
-using System;
-using Foundation;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics;
-using Microsoft.AppCenter.Crashes;
-using Microsoft.AppCenter.Distribute;
-using UIKit;
-
-namespace Contoso.iOS.Puppet
-{
- [Register("AppDelegate")]
- public class AppDelegate : UIApplicationDelegate
- {
- public override UIWindow Window
- {
- get;
- set;
- }
-
- static bool _didTapNotification;
- const string LogTag = "AppCenterXamarinPuppet";
-
- public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
- {
-
- // Configure App Center.
- AppCenter.LogLevel = LogLevel.Verbose;
- AppCenter.SetLogUrl("https://in-integration.dev.avalanch.es");
- Distribute.SetInstallUrl("https://install.portal-server-core-integration.dev.avalanch.es");
- Distribute.SetApiUrl("https://api-gateway-core-integration.dev.avalanch.es/v0.1");
- Distribute.DontCheckForUpdatesInDebug();
- Distribute.WillExitApp = OnWillExitApp;
- Distribute.NoReleaseAvailable = OnNoReleaseAvailable;
- var plist = NSUserDefaults.StandardUserDefaults;
- var storageSizeValue = plist.IntForKey(Constants.StorageSizeKey);
- if (storageSizeValue > 0)
- {
- AppCenter.SetMaxStorageSizeAsync(storageSizeValue);
- }
- if (plist.BoolForKey(Constants.EnableManualSessionTrackerKey)) {
- Analytics.EnableManualSessionTracker();
- }
- var appCenterSecret = Environment.GetEnvironmentVariable("XAMARIN_IOS_INT");
- AppCenter.Start(appCenterSecret, typeof(Analytics), typeof(Crashes), typeof(Distribute));
- return true;
- }
-
- void OnWillExitApp()
- {
- AppCenterLog.Info(LogTag, "App will close callback invoked.");
- }
-
- void OnNoReleaseAvailable()
- {
- AppCenterLog.Info(LogTag, "No release available callback invoked.");
- }
- }
-}
-
diff --git a/Apps/Contoso.iOS.Puppet/Assets.xcassets/AppIcon.appiconset/Contents.json b/Apps/Contoso.iOS.Puppet/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 4e646784c..000000000
--- a/Apps/Contoso.iOS.Puppet/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,157 +0,0 @@
-{
- "images": [
- {
- "idiom": "iphone",
- "size": "29x29",
- "scale": "1x"
- },
- {
- "idiom": "iphone",
- "size": "29x29",
- "scale": "2x"
- },
- {
- "idiom": "iphone",
- "size": "29x29",
- "scale": "3x"
- },
- {
- "idiom": "iphone",
- "size": "40x40",
- "scale": "2x"
- },
- {
- "idiom": "iphone",
- "size": "40x40",
- "scale": "3x"
- },
- {
- "idiom": "iphone",
- "size": "57x57",
- "scale": "1x"
- },
- {
- "idiom": "iphone",
- "size": "57x57",
- "scale": "2x"
- },
- {
- "idiom": "iphone",
- "size": "60x60",
- "scale": "2x"
- },
- {
- "idiom": "iphone",
- "size": "60x60",
- "scale": "3x"
- },
- {
- "idiom": "ipad",
- "size": "29x29",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "29x29",
- "scale": "2x"
- },
- {
- "idiom": "ipad",
- "size": "40x40",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "40x40",
- "scale": "2x"
- },
- {
- "idiom": "ipad",
- "size": "50x50",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "50x50",
- "scale": "2x"
- },
- {
- "idiom": "ipad",
- "size": "72x72",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "72x72",
- "scale": "2x"
- },
- {
- "idiom": "ipad",
- "size": "76x76",
- "scale": "1x"
- },
- {
- "idiom": "ipad",
- "size": "76x76",
- "scale": "2x"
- },
- {
- "size": "24x24",
- "idiom": "watch",
- "scale": "2x",
- "role": "notificationCenter",
- "subtype": "38mm"
- },
- {
- "size": "27.5x27.5",
- "idiom": "watch",
- "scale": "2x",
- "role": "notificationCenter",
- "subtype": "42mm"
- },
- {
- "size": "29x29",
- "idiom": "watch",
- "role": "companionSettings",
- "scale": "2x"
- },
- {
- "size": "29x29",
- "idiom": "watch",
- "role": "companionSettings",
- "scale": "3x"
- },
- {
- "size": "40x40",
- "idiom": "watch",
- "scale": "2x",
- "role": "appLauncher",
- "subtype": "38mm"
- },
- {
- "size": "44x44",
- "idiom": "watch",
- "scale": "2x",
- "role": "longLook",
- "subtype": "42mm"
- },
- {
- "size": "86x86",
- "idiom": "watch",
- "scale": "2x",
- "role": "quickLook",
- "subtype": "38mm"
- },
- {
- "size": "98x98",
- "idiom": "watch",
- "scale": "2x",
- "role": "quickLook",
- "subtype": "42mm"
- }
- ],
- "info": {
- "version": 1,
- "author": "xcode"
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.iOS.Puppet/Assets.xcassets/Contents.json b/Apps/Contoso.iOS.Puppet/Assets.xcassets/Contents.json
deleted file mode 100644
index 4caf392f9..000000000
--- a/Apps/Contoso.iOS.Puppet/Assets.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.iOS.Puppet/Assets.xcassets/First.imageset/Contents.json b/Apps/Contoso.iOS.Puppet/Assets.xcassets/First.imageset/Contents.json
deleted file mode 100644
index dbeeb8907..000000000
--- a/Apps/Contoso.iOS.Puppet/Assets.xcassets/First.imageset/Contents.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "images": [
- {
- "filename": "vector.pdf",
- "idiom": "universal"
- },
- {
- "scale": "1x",
- "idiom": "universal"
- },
- {
- "scale": "2x",
- "idiom": "universal"
- },
- {
- "scale": "3x",
- "idiom": "universal"
- },
- {
- "idiom": "iphone"
- },
- {
- "scale": "1x",
- "idiom": "iphone"
- },
- {
- "scale": "2x",
- "idiom": "iphone"
- },
- {
- "subtype": "retina4",
- "scale": "2x",
- "idiom": "iphone"
- },
- {
- "scale": "3x",
- "idiom": "iphone"
- },
- {
- "idiom": "ipad"
- },
- {
- "scale": "1x",
- "idiom": "ipad"
- },
- {
- "scale": "2x",
- "idiom": "ipad"
- }
- ],
- "info": {
- "version": 1,
- "author": "xcode"
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/Assets.xcassets/First.imageset/vector.pdf b/Apps/Contoso.iOS.Puppet/Assets.xcassets/First.imageset/vector.pdf
deleted file mode 100644
index 47d911dea..000000000
Binary files a/Apps/Contoso.iOS.Puppet/Assets.xcassets/First.imageset/vector.pdf and /dev/null differ
diff --git a/Apps/Contoso.iOS.Puppet/Assets.xcassets/Second.imageset/Contents.json b/Apps/Contoso.iOS.Puppet/Assets.xcassets/Second.imageset/Contents.json
deleted file mode 100644
index dbeeb8907..000000000
--- a/Apps/Contoso.iOS.Puppet/Assets.xcassets/Second.imageset/Contents.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "images": [
- {
- "filename": "vector.pdf",
- "idiom": "universal"
- },
- {
- "scale": "1x",
- "idiom": "universal"
- },
- {
- "scale": "2x",
- "idiom": "universal"
- },
- {
- "scale": "3x",
- "idiom": "universal"
- },
- {
- "idiom": "iphone"
- },
- {
- "scale": "1x",
- "idiom": "iphone"
- },
- {
- "scale": "2x",
- "idiom": "iphone"
- },
- {
- "subtype": "retina4",
- "scale": "2x",
- "idiom": "iphone"
- },
- {
- "scale": "3x",
- "idiom": "iphone"
- },
- {
- "idiom": "ipad"
- },
- {
- "scale": "1x",
- "idiom": "ipad"
- },
- {
- "scale": "2x",
- "idiom": "ipad"
- }
- ],
- "info": {
- "version": 1,
- "author": "xcode"
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/Assets.xcassets/Second.imageset/vector.pdf b/Apps/Contoso.iOS.Puppet/Assets.xcassets/Second.imageset/vector.pdf
deleted file mode 100644
index 401614e28..000000000
Binary files a/Apps/Contoso.iOS.Puppet/Assets.xcassets/Second.imageset/vector.pdf and /dev/null differ
diff --git a/Apps/Contoso.iOS.Puppet/Constants.cs b/Apps/Contoso.iOS.Puppet/Constants.cs
deleted file mode 100644
index 557e93da4..000000000
--- a/Apps/Contoso.iOS.Puppet/Constants.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-namespace Contoso.iOS.Puppet
-{
- public static class Constants
- {
- public const string Verbose = "Verbose";
- public const string Debug = "Debug";
- public const string Info = "Info";
- public const string Warning = "Warning";
- public const string Error = "Error";
- public const string StorageSizeKey = "AppCenterStorageSizeKey";
- public const string EnableManualSessionTrackerKey = "EnableManualSessionTrackerKey";
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/Contoso.iOS.Puppet.csproj b/Apps/Contoso.iOS.Puppet/Contoso.iOS.Puppet.csproj
deleted file mode 100644
index 429433b00..000000000
--- a/Apps/Contoso.iOS.Puppet/Contoso.iOS.Puppet.csproj
+++ /dev/null
@@ -1,184 +0,0 @@
-
-
-
- Debug
- iPhoneSimulator
- {7595F47D-11D6-4716-BDE6-264C1AFBFFB5}
- {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Exe
- Contoso.iOS.Puppet
- Contoso.iOS.Puppet
- Resources
-
-
- true
- full
- false
- bin\iPhoneSimulator\Debug
- DEBUG;ENABLE_TEST_CLOUD;
- prompt
- 4
- iPhone Developer
- true
- true
- None
- i386, x86_64
- HttpClientHandler
- Default
- false
-
-
- Entitlements.plist
-
-
- pdbonly
- true
- bin\iPhone\Release
-
-
- prompt
- 4
- iPhone Developer
- true
- Entitlements.plist
- SdkOnly
- ARMv7, ARM64
- HttpClientHandler
- Default
-
-
- pdbonly
- true
- bin\iPhoneSimulator\Release
-
-
- prompt
- 4
- iPhone Developer
- Full
- i386, x86_64
- HttpClientHandler
- Default
- Entitlements.plist
-
-
- true
- full
- false
- bin\iPhone\Debug
- DEBUG;ENABLE_TEST_CLOUD;
- prompt
- 4
- iPhone Developer
- true
- true
- false
- true
- Entitlements.plist
- SdkOnly
- ARMv7, ARM64
- HttpClientHandler
- Default
-
-
-
-
-
-
-
-
-
-
-
-
- ..\..\packages\Newtonsoft.Json.13.0.2\lib\netstandard2.0\Newtonsoft.Json.dll
-
-
-
-
- false
-
-
- false
-
-
- false
-
-
- false
-
-
- false
-
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- AnalyticsController.cs
-
-
-
- CrashesController.cs
-
-
-
- DistributeController.cs
-
-
-
- AppCenterController.cs
-
-
-
- TabBarController.cs
-
-
-
- LogLevelController.cs
-
-
-
-
-
-
-
-
-
-
-
- Microsoft.AppCenter.Distribute.Apple.Mono
-
-
- Microsoft.AppCenter.Crashes.Apple.Mono
-
-
- Microsoft.AppCenter.Apple.Mono
-
-
- Microsoft.AppCenter.Analytics.Apple.Mono
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.iOS.Puppet/Entitlements.plist b/Apps/Contoso.iOS.Puppet/Entitlements.plist
deleted file mode 100644
index 903def2af..000000000
--- a/Apps/Contoso.iOS.Puppet/Entitlements.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- aps-environment
- development
-
-
diff --git a/Apps/Contoso.iOS.Puppet/FakeService.cs b/Apps/Contoso.iOS.Puppet/FakeService.cs
deleted file mode 100644
index 410c45ccb..000000000
--- a/Apps/Contoso.iOS.Puppet/FakeService.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System.IO;
-using System.Threading.Tasks;
-
-namespace Contoso.iOS.Puppet
-{
- static class FakeService
- {
- internal async static Task DoStuffInBackground()
- {
- await Task.Run(() => { throw new IOException("Server did not respond"); });
- }
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/Info.plist b/Apps/Contoso.iOS.Puppet/Info.plist
deleted file mode 100644
index 32bf516e9..000000000
--- a/Apps/Contoso.iOS.Puppet/Info.plist
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
- CFBundleName
- ACPuppet
- CFBundleIdentifier
- com.microsoft.appcenter.xamarin.ios.puppet
- CFBundleShortVersionString
- 5.0.6
- CFBundleVersion
- 5.0.6
- LSRequiresIPhoneOS
-
- MinimumOSVersion
- 9.0
- UIDeviceFamily
-
- 1
- 2
-
- UILaunchStoryboardName
- LaunchScreen
- UIMainStoryboardFile
- Main
- UIRequiredDeviceCapabilities
-
- armv7
-
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- CFBundleURLTypes
-
-
- CFBundleTypeRole
- None
- CFBundleURLName
- com.microsoft.appcenter.xamarin.ios.puppet
- CFBundleURLSchemes
-
- appcenter-e94aaff4-e80d-4fee-9a5f-a84eb6e688fc
-
-
-
- XSAppIconAssets
- Assets.xcassets/AppIcon.appiconset
- NSAppTransportSecurity
-
- NSAllowsArbitraryLoads
-
-
- UIBackgroundModes
-
- remote-notification
-
-
-
diff --git a/Apps/Contoso.iOS.Puppet/LaunchScreen.storyboard b/Apps/Contoso.iOS.Puppet/LaunchScreen.storyboard
deleted file mode 100644
index 7981a14b7..000000000
--- a/Apps/Contoso.iOS.Puppet/LaunchScreen.storyboard
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.iOS.Puppet/Main.cs b/Apps/Contoso.iOS.Puppet/Main.cs
deleted file mode 100644
index 962c7f369..000000000
--- a/Apps/Contoso.iOS.Puppet/Main.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using UIKit;
-
-namespace Contoso.iOS.Puppet
-{
- public static class Application
- {
- // This is the main entry point of the application.
- static void Main(string[] args)
- {
- // if you want to use a different Application Delegate class from "AppDelegate"
- // you can specify it here.
- UIApplication.Main(args, null, "AppDelegate");
- }
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/Main.storyboard b/Apps/Contoso.iOS.Puppet/Main.storyboard
deleted file mode 100644
index 4248074e9..000000000
--- a/Apps/Contoso.iOS.Puppet/Main.storyboard
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/Analytics.storyboard b/Apps/Contoso.iOS.Puppet/ModulePages/Analytics.storyboard
deleted file mode 100644
index fa16d8d79..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/Analytics.storyboard
+++ /dev/null
@@ -1,264 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/AnalyticsController.cs b/Apps/Contoso.iOS.Puppet/ModulePages/AnalyticsController.cs
deleted file mode 100644
index b1ff3475e..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/AnalyticsController.cs
+++ /dev/null
@@ -1,112 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Foundation;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Analytics;
-using UIKit;
-
-namespace Contoso.iOS.Puppet
-{
-
- public partial class AnalyticsController : UITableViewController
- {
- public class PropertiesTableSource : UITableViewSource
- {
- private readonly IDictionary mEventProperties;
- private readonly string[] mKeys;
-
- public PropertiesTableSource(IDictionary eventProperties)
- {
- mEventProperties = eventProperties;
- mKeys = mEventProperties.Keys.ToArray();
- }
-
- public override nint RowsInSection(UITableView tableview, nint section)
- {
- return mKeys.Length;
- }
-
- public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
- {
- var cell = tableView.DequeueReusableCell("PropertiesCell");
- var key = mKeys[indexPath.Row];
- var value = mEventProperties[key];
-
- cell.TextLabel.Text = key;
- cell.DetailTextLabel.Text = value;
-
- return cell;
- }
- }
-
- private readonly IDictionary mEventProperties = new Dictionary();
- private NSUserDefaults plist = NSUserDefaults.StandardUserDefaults;
-
- public AnalyticsController(IntPtr handle) : base(handle)
- {
- }
-
- public override void ViewDidAppear(bool animated)
- {
- base.ViewDidAppear(animated);
- AnalyticsEnabledSwitch.On = Analytics.IsEnabledAsync().Result;
- AnalyticsEnabledSwitch.Enabled = AppCenter.IsEnabledAsync().Result;
- NumPropertiesLabel.Text = mEventProperties.Count.ToString();
-
- // Set enabled manual session tracker value.
- EnableManualSessionTrackerSwitch.On = plist.BoolForKey(Constants.EnableManualSessionTrackerKey);
- }
-
- public override void PrepareForSegue(UIStoryboardSegue segue, NSObject sender)
- {
- base.PrepareForSegue(segue, sender);
-
- var tableViewContoller = segue.DestinationViewController as UITableViewController;
- if (tableViewContoller != null)
- {
- tableViewContoller.TableView.Source = new PropertiesTableSource(mEventProperties);
- }
- }
-
- partial void UpdateEnabled()
- {
- Analytics.SetEnabledAsync(AnalyticsEnabledSwitch.On).Wait();
- AnalyticsEnabledSwitch.On = Analytics.IsEnabledAsync().Result;
- }
-
- partial void SessionGenerationUpdate(NSObject sender)
- {
- plist.SetBool(EnableManualSessionTrackerSwitch.On, Constants.EnableManualSessionTrackerKey);
- }
-
- partial void StartSession(NSObject sender)
- {
- Analytics.StartSession();
- }
-
- partial void AddProperty()
- {
- var alert = UIAlertController.Create("Add Property", "Please enter a property values to add to the event", UIAlertControllerStyle.Alert);
- alert.AddTextField(textField => textField.Placeholder = "Property Name");
- alert.AddTextField(textField => textField.Placeholder = "Property Value");
- alert.AddAction(UIAlertAction.Create("Add Property", UIAlertActionStyle.Default, Action =>
- {
- mEventProperties.Add(alert.TextFields[0].Text, alert.TextFields[1].Text);
- NumPropertiesLabel.Text = mEventProperties.Count.ToString();
- }));
- alert.AddAction(UIAlertAction.Create("Cancel", UIAlertActionStyle.Cancel, null));
- PresentViewController(alert, true, null);
- }
-
- partial void TrackEvent()
- {
- Analytics.TrackEvent(EventName.Text, mEventProperties.Count > 0 ? mEventProperties : null);
- mEventProperties.Clear();
- NumPropertiesLabel.Text = mEventProperties.Count.ToString();
- }
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/AnalyticsController.designer.cs b/Apps/Contoso.iOS.Puppet/ModulePages/AnalyticsController.designer.cs
deleted file mode 100644
index 714c3b19a..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/AnalyticsController.designer.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-// WARNING
-//
-// This file has been generated automatically by Visual Studio from the outlets and
-// actions declared in your storyboard file.
-// Manual changes to this file will not be maintained.
-//
-using Foundation;
-using System.CodeDom.Compiler;
-
-namespace Contoso.iOS.Puppet
-{
- [Register ("AnalyticsController")]
- partial class AnalyticsController
- {
- [Outlet]
- UIKit.UISwitch AnalyticsEnabledSwitch { get; set; }
-
- [Outlet]
- UIKit.UISwitch EnableManualSessionTrackerSwitch { get; set; }
-
- [Outlet]
- UIKit.UITextField EventName { get; set; }
-
- [Outlet]
- UIKit.UILabel NumPropertiesLabel { get; set; }
-
- [Action ("AddProperty")]
- partial void AddProperty ();
-
- [Action ("SessionGenerationUpdate:")]
- partial void SessionGenerationUpdate (Foundation.NSObject sender);
-
- [Action ("StartSession:")]
- partial void StartSession (Foundation.NSObject sender);
-
- [Action ("TrackEvent")]
- partial void TrackEvent ();
-
- [Action ("UpdateEnabled")]
- partial void UpdateEnabled ();
-
- void ReleaseDesignerOutlets ()
- {
- if (EnableManualSessionTrackerSwitch != null) {
- EnableManualSessionTrackerSwitch.Dispose ();
- EnableManualSessionTrackerSwitch = null;
- }
-
- if (AnalyticsEnabledSwitch != null) {
- AnalyticsEnabledSwitch.Dispose ();
- AnalyticsEnabledSwitch = null;
- }
-
- if (EventName != null) {
- EventName.Dispose ();
- EventName = null;
- }
-
- if (NumPropertiesLabel != null) {
- NumPropertiesLabel.Dispose ();
- NumPropertiesLabel = null;
- }
- }
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/AppCenter.storyboard b/Apps/Contoso.iOS.Puppet/ModulePages/AppCenter.storyboard
deleted file mode 100644
index 1a756b048..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/AppCenter.storyboard
+++ /dev/null
@@ -1,428 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/AppCenterController.cs b/Apps/Contoso.iOS.Puppet/ModulePages/AppCenterController.cs
deleted file mode 100644
index 0e35c87bc..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/AppCenterController.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using Foundation;
-using Microsoft.AppCenter;
-using UIKit;
-
-namespace Contoso.iOS.Puppet
-{
- public partial class AppCenterController : UITableViewController
- {
- const string LogTag = "AppCenterXamarinPuppet";
-
- private static readonly IDictionary> LogFunctions = new Dictionary> {
- { LogLevel.Verbose, AppCenterLog.Verbose },
- { LogLevel.Debug, AppCenterLog.Debug },
- { LogLevel.Info, AppCenterLog.Info },
- { LogLevel.Warn, AppCenterLog.Warn },
- { LogLevel.Error, AppCenterLog.Error }
- };
- private static readonly IDictionary LogLevelNames = new Dictionary {
- { LogLevel.Verbose, Constants.Verbose },
- { LogLevel.Debug, Constants.Debug },
- { LogLevel.Info, Constants.Info },
- { LogLevel.Warn, Constants.Warning },
- { LogLevel.Error, Constants.Error }
- };
- private LogLevel mLogWriteLevel = LogLevel.Verbose;
-
- public AppCenterController(IntPtr handle) : base(handle)
- {
- }
-
- public override void ViewDidAppear(bool animated)
- {
- base.ViewDidAppear(animated);
- AppCenterEnabledSwitch.On = AppCenter.IsEnabledAsync().Result;
-
- AppCenterNetworkRequestAllowedSwitch.On = AppCenter.IsNetworkRequestsAllowed;
- LogLevelLabel.Text = LogLevelNames[AppCenter.LogLevel];
- LogWriteLevelLabel.Text = LogLevelNames[mLogWriteLevel];
-
- // Set max storage size value.
- var plist = NSUserDefaults.StandardUserDefaults;
- var storageSizeValue = plist.IntForKey(Constants.StorageSizeKey);
- if (storageSizeValue > 0)
- {
- StorageSizeText.Text = storageSizeValue.ToString();
- }
- }
-
- partial void UpdateUserId(UITextField sender)
- {
- var text = string.IsNullOrEmpty(sender.Text) ? null : sender.Text;
- AppCenter.SetUserId(text);
- }
-
- public override void PrepareForSegue(UIStoryboardSegue segue, NSObject sender)
- {
- base.PrepareForSegue(segue, sender);
-
- var logLevelContoller = segue.DestinationViewController as LogLevelController;
- if (logLevelContoller != null)
- {
- switch (segue.Identifier)
- {
- case "LogLevel":
- logLevelContoller.LevelSelected += level =>
- {
- AppCenter.LogLevel = level;
- };
- break;
- case "LogWriteLevel":
- logLevelContoller.LevelSelected += level =>
- {
- mLogWriteLevel = level;
- LogWriteLevelLabel.Text = LogLevelNames[mLogWriteLevel];
- };
- break;
- }
- }
- }
-
- partial void UpdateEnabled()
- {
- AppCenter.SetEnabledAsync(AppCenterEnabledSwitch.On).Wait();
- AppCenterEnabledSwitch.On = AppCenter.IsEnabledAsync().Result;
- }
-
- partial void NetworkRequestAllowedSwitch()
- {
- AppCenter.IsNetworkRequestsAllowed = AppCenterNetworkRequestAllowedSwitch.On;
- }
-
- partial void WriteLog()
- {
- string message = LogWriteMessage.Text;
- string tag = LogWriteTag.Text;
- LogFunctions[mLogWriteLevel](tag, message);
- }
-
- partial void SaveStorageSize(NSObject sender)
- {
- var inputText = StorageSizeText.Text;
- if (int.TryParse(inputText, out var size))
- {
- AppCenter.SetMaxStorageSizeAsync(size);
- var plist = NSUserDefaults.StandardUserDefaults;
- plist.SetInt(size, Constants.StorageSizeKey);
- }
- else
- {
- AppCenterLog.Error(LogTag, "Wrong number value for the max storage size.");
- }
- }
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/AppCenterController.designer.cs b/Apps/Contoso.iOS.Puppet/ModulePages/AppCenterController.designer.cs
deleted file mode 100644
index 427cd73bb..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/AppCenterController.designer.cs
+++ /dev/null
@@ -1,98 +0,0 @@
-// WARNING
-//
-// This file has been generated automatically by Visual Studio to store outlets and
-// actions made in the UI designer. If it is removed, they will be lost.
-// Manual changes to this file may not be handled correctly.
-//
-using Foundation;
-using System.CodeDom.Compiler;
-
-namespace Contoso.iOS.Puppet
-{
- [Register ("AppCenterController")]
- partial class AppCenterController
- {
- [Outlet]
- UIKit.UISwitch AppCenterEnabledSwitch { get; set; }
-
- [Outlet]
- UIKit.UISwitch AppCenterNetworkRequestAllowedSwitch { get; set; }
-
- [Outlet]
- UIKit.UILabel LogLevelLabel { get; set; }
-
- [Outlet]
- UIKit.UILabel LogWriteLevelLabel { get; set; }
-
- [Outlet]
- UIKit.UITextField LogWriteMessage { get; set; }
-
- [Outlet]
- UIKit.UITextField LogWriteTag { get; set; }
-
- [Outlet]
- UIKit.UITextField StorageSizeText { get; set; }
-
- [Outlet]
- [GeneratedCode ("iOS Designer", "1.0")]
- UIKit.UITextField UserIdTextField { get; set; }
-
- [Action ("NetworkRequestAllowedSwitch")]
- partial void NetworkRequestAllowedSwitch ();
-
- [Action ("SaveStorageSize:")]
- partial void SaveStorageSize (Foundation.NSObject sender);
-
- [Action ("UpdateEnabled")]
- partial void UpdateEnabled ();
-
- [Action ("UpdateUserId:")]
- partial void UpdateUserId (UIKit.UITextField sender);
-
- [Action ("WriteLog")]
- partial void WriteLog ();
-
- void ReleaseDesignerOutlets ()
- {
- if (AppCenterEnabledSwitch != null) {
- AppCenterEnabledSwitch.Dispose ();
- AppCenterEnabledSwitch = null;
- }
-
- if (AppCenterNetworkRequestAllowedSwitch != null) {
- AppCenterNetworkRequestAllowedSwitch.Dispose ();
- AppCenterNetworkRequestAllowedSwitch = null;
- }
-
- if (LogLevelLabel != null) {
- LogLevelLabel.Dispose ();
- LogLevelLabel = null;
- }
-
- if (LogWriteLevelLabel != null) {
- LogWriteLevelLabel.Dispose ();
- LogWriteLevelLabel = null;
- }
-
- if (LogWriteMessage != null) {
- LogWriteMessage.Dispose ();
- LogWriteMessage = null;
- }
-
- if (StorageSizeText != null) {
- StorageSizeText.Dispose ();
- StorageSizeText = null;
- }
-
- if (LogWriteTag != null) {
- LogWriteTag.Dispose ();
- LogWriteTag = null;
- }
-
- if (UserIdTextField != null) {
- UserIdTextField.Dispose ();
- UserIdTextField = null;
- }
- }
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/Crashes.storyboard b/Apps/Contoso.iOS.Puppet/ModulePages/Crashes.storyboard
deleted file mode 100644
index 388b6aa02..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/Crashes.storyboard
+++ /dev/null
@@ -1,199 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/CrashesController.cs b/Apps/Contoso.iOS.Puppet/ModulePages/CrashesController.cs
deleted file mode 100644
index 9cfef9b44..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/CrashesController.cs
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.IO;
-using Foundation;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Crashes;
-using UIKit;
-
-namespace Contoso.iOS.Puppet
-{
- public partial class CrashesController : UITableViewController
- {
- public CrashesController(IntPtr handle) : base(handle)
- {
- }
-
- public override void ViewDidAppear(bool animated)
- {
- base.ViewDidAppear(animated);
- CrashesEnabledSwitch.On = Crashes.IsEnabledAsync().Result;
- CrashesEnabledSwitch.Enabled = AppCenter.IsEnabledAsync().Result;
- }
-
- partial void UpdateEnabled()
- {
- Crashes.SetEnabledAsync(CrashesEnabledSwitch.On).Wait();
- CrashesEnabledSwitch.On = Crashes.IsEnabledAsync().Result;
- }
-
- partial void TestCrash()
- {
- Crashes.GenerateTestCrash();
- }
-
- partial void DivideByZero()
- {
- /* This is supposed to cause a crash, so we don't care that the variable 'x' is never used */
-#pragma warning disable CS0219
- int x = (42 / int.Parse("0"));
-#pragma warning restore CS0219
- }
-
- partial void CatchNullReferenceException()
- {
- try
- {
- TriggerNullReferenceException();
- }
- catch (NullReferenceException)
- {
- System.Diagnostics.Debug.WriteLine("null reference exception");
- }
- }
-
- partial void CrashWithNullReferenceException()
- {
- TriggerNullReferenceException();
- }
-
- void TriggerNullReferenceException()
- {
- string[] values = { "one", null, "two" };
- for (int ctr = 0; ctr <= values.GetUpperBound(0); ctr++)
- {
- var val = values[ctr].Trim();
- var separator = ctr == values.GetUpperBound(0) ? "" : ", ";
- System.Diagnostics.Debug.WriteLine("{0}{1}", val, separator);
- }
- System.Diagnostics.Debug.WriteLine("");
- }
-
- partial void CrashWithAggregateException()
- {
- throw PrepareException();
- }
-
- static Exception PrepareException()
- {
- try
- {
- throw new AggregateException(SendHttp(), new ArgumentException("Invalid parameter", ValidateLength()));
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- static Exception SendHttp()
- {
- try
- {
- throw new IOException("Network down");
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- static Exception ValidateLength()
- {
- try
- {
- throw new ArgumentOutOfRangeException(null, "It's over 9000!");
- }
- catch (Exception e)
- {
- return e;
- }
- }
-
- async partial void CrashAsync()
- {
- await FakeService.DoStuffInBackground();
- }
-
- partial void NativeCrash()
- {
- try
- {
- NSNull.Null.PerformSelector(new ObjCRuntime.Selector("isEqualToString:"));
- }
- catch(Exception ex)
- {
- Crashes.TrackError(ex);
- }
- }
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/CrashesController.designer.cs b/Apps/Contoso.iOS.Puppet/ModulePages/CrashesController.designer.cs
deleted file mode 100644
index d5452bc47..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/CrashesController.designer.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-// WARNING
-//
-// This file has been generated automatically by Visual Studio from the outlets and
-// actions declared in your storyboard file.
-// Manual changes to this file will not be maintained.
-//
-using Foundation;
-using System;
-using System.CodeDom.Compiler;
-
-namespace Contoso.iOS.Puppet
-{
- [Register ("CrashesController")]
- partial class CrashesController
- {
- [Outlet]
- UIKit.UISwitch CrashesEnabledSwitch { get; set; }
-
-
- [Action ("CatchNullReferenceException")]
- partial void CatchNullReferenceException ();
-
-
- [Action ("CrashAsync")]
- partial void CrashAsync ();
-
-
- [Action ("CrashWithAggregateException")]
- partial void CrashWithAggregateException ();
-
-
- [Action ("CrashWithNullReferenceException")]
- partial void CrashWithNullReferenceException ();
-
-
- [Action ("DivideByZero")]
- partial void DivideByZero ();
-
-
- [Action ("TestCrash")]
- partial void TestCrash ();
-
-
- [Action ("UpdateEnabled")]
- partial void UpdateEnabled ();
-
- [Action ("NativeCrash")]
- partial void NativeCrash ();
-
- void ReleaseDesignerOutlets ()
- {
- if (CrashesEnabledSwitch != null) {
- CrashesEnabledSwitch.Dispose ();
- CrashesEnabledSwitch = null;
- }
- }
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/Distribute.storyboard b/Apps/Contoso.iOS.Puppet/ModulePages/Distribute.storyboard
deleted file mode 100644
index 86e90fe22..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/Distribute.storyboard
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/DistributeController.cs b/Apps/Contoso.iOS.Puppet/ModulePages/DistributeController.cs
deleted file mode 100644
index 3a060c03d..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/DistributeController.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using Microsoft.AppCenter;
-using Microsoft.AppCenter.Distribute;
-using UIKit;
-
-namespace Contoso.iOS.Puppet
-{
- public partial class DistributeController : UITableViewController
- {
- public DistributeController(IntPtr handle) : base(handle)
- {
- }
-
- public override void ViewDidAppear(bool animated)
- {
- base.ViewDidAppear(animated);
- DistributeEnabledSwitch.On = Distribute.IsEnabledAsync().Result;
- DistributeEnabledSwitch.Enabled = AppCenter.IsEnabledAsync().Result;
- }
-
- partial void UpdateEnabled()
- {
- Distribute.SetEnabledAsync(DistributeEnabledSwitch.On).Wait();
- DistributeEnabledSwitch.On = Distribute.IsEnabledAsync().Result;
- }
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/DistributeController.designer.cs b/Apps/Contoso.iOS.Puppet/ModulePages/DistributeController.designer.cs
deleted file mode 100644
index 89016c448..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/DistributeController.designer.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-// WARNING
-//
-// This file has been generated automatically by Visual Studio from the outlets and
-// actions declared in your storyboard file.
-// Manual changes to this file will not be maintained.
-//
-using Foundation;
-using System;
-using System.CodeDom.Compiler;
-
-namespace Contoso.iOS.Puppet
-{
- [Register ("DistributeController")]
- partial class DistributeController
- {
- [Outlet]
- UIKit.UISwitch DistributeEnabledSwitch { get; set; }
-
-
- [Action ("UpdateEnabled")]
- partial void UpdateEnabled ();
-
- void ReleaseDesignerOutlets ()
- {
- if (DistributeEnabledSwitch != null) {
- DistributeEnabledSwitch.Dispose ();
- DistributeEnabledSwitch = null;
- }
- }
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/LogLevelController.cs b/Apps/Contoso.iOS.Puppet/ModulePages/LogLevelController.cs
deleted file mode 100644
index 23632d76b..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/LogLevelController.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-using System.Collections.Generic;
-using Foundation;
-using Microsoft.AppCenter;
-using UIKit;
-
-namespace Contoso.iOS.Puppet
-{
- public partial class LogLevelController : UITableViewController
- {
- private readonly IDictionary mLogLevels = new Dictionary {
- { Constants.Verbose, LogLevel.Verbose },
- { Constants.Debug, LogLevel.Debug },
- { Constants.Info, LogLevel.Info },
- { Constants.Warning, LogLevel.Warn },
- { Constants.Error, LogLevel.Error }
- };
- public event Action LevelSelected;
-
- public LogLevelController(IntPtr handle) : base(handle)
- {
- }
-
- public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
- {
- var cell = tableView.CellAt(indexPath);
- LevelSelected?.Invoke(mLogLevels[cell.TextLabel.Text]);
- tableView.DeselectRow(indexPath, true);
- NavigationController.PopViewController(true);
- }
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/ModulePages/LogLevelController.designer.cs b/Apps/Contoso.iOS.Puppet/ModulePages/LogLevelController.designer.cs
deleted file mode 100644
index f21965144..000000000
--- a/Apps/Contoso.iOS.Puppet/ModulePages/LogLevelController.designer.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-// WARNING
-//
-// This file has been generated automatically by Xamarin Studio from the outlets and
-// actions declared in your storyboard file.
-// Manual changes to this file will not be maintained.
-//
-using Foundation;
-using System;
-using System.CodeDom.Compiler;
-using UIKit;
-
-namespace Contoso.iOS.Puppet
-{
- [Register("LogLevelController")]
- partial class LogLevelController
- {
- void ReleaseDesignerOutlets()
- {
- }
- }
-}
diff --git a/Apps/Contoso.iOS.Puppet/Resources/bolt@2x.png b/Apps/Contoso.iOS.Puppet/Resources/bolt@2x.png
deleted file mode 100644
index 48c3d8a19..000000000
Binary files a/Apps/Contoso.iOS.Puppet/Resources/bolt@2x.png and /dev/null differ
diff --git a/Apps/Contoso.iOS.Puppet/Resources/lightning@2x.png b/Apps/Contoso.iOS.Puppet/Resources/lightning@2x.png
deleted file mode 100644
index 58e552a1e..000000000
Binary files a/Apps/Contoso.iOS.Puppet/Resources/lightning@2x.png and /dev/null differ
diff --git a/Apps/Contoso.iOS.Puppet/Resources/socket@2x.png b/Apps/Contoso.iOS.Puppet/Resources/socket@2x.png
deleted file mode 100644
index 738bc6a9a..000000000
Binary files a/Apps/Contoso.iOS.Puppet/Resources/socket@2x.png and /dev/null differ
diff --git a/Apps/Contoso.iOS.Puppet/TabBarController.cs b/Apps/Contoso.iOS.Puppet/TabBarController.cs
deleted file mode 100644
index 3ecc7aab7..000000000
--- a/Apps/Contoso.iOS.Puppet/TabBarController.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-using System;
-
-using UIKit;
-
-namespace Contoso.iOS.Puppet
-{
- public partial class TabBarController : UITabBarController
- {
- public TabBarController(IntPtr handle) : base(handle)
- {
- }
-
- public override void ViewDidLoad()
- {
- base.ViewDidLoad();
-
- // Storyboard References are only available since iOS 9.0, so do it manually.
- ViewControllers = new UIViewController[] {
- UIStoryboard.FromName("AppCenter", null).InstantiateViewController("AppCenter"),
- UIStoryboard.FromName("Analytics", null).InstantiateViewController("Analytics"),
- UIStoryboard.FromName("Crashes", null).InstantiateViewController("Crashes"),
- UIStoryboard.FromName("Distribute", null).InstantiateViewController("Distribute")
- };
- }
- }
-}
-
diff --git a/Apps/Contoso.iOS.Puppet/TabBarController.designer.cs b/Apps/Contoso.iOS.Puppet/TabBarController.designer.cs
deleted file mode 100644
index 4bcb6b729..000000000
--- a/Apps/Contoso.iOS.Puppet/TabBarController.designer.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-// WARNING
-//
-// This file has been generated automatically by Visual Studio from the outlets and
-// actions declared in your storyboard file.
-// Manual changes to this file will not be maintained.
-//
-using Foundation;
-using System;
-using System.CodeDom.Compiler;
-using UIKit;
-
-namespace Contoso.iOS.Puppet
-{
- [Register ("TabBarController")]
- partial class TabBarController
- {
- void ReleaseDesignerOutlets ()
- {
- }
- }
-}
\ No newline at end of file
diff --git a/Apps/Contoso.iOS.Puppet/packages.config b/Apps/Contoso.iOS.Puppet/packages.config
deleted file mode 100644
index 9d0ad5de6..000000000
--- a/Apps/Contoso.iOS.Puppet/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 46b6efb29..fae6852a1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,21 @@
# App Center SDK for .NET Change Log
+## Version 5.0.7 (Under development)
+
+#### Apple
+
+* **[Improvement]** Update native SDK to version [5.0.6](https://github.com/microsoft/appcenter-sdk-android/releases/tag/5.0.6)
+* **[Improvement]** Update target iOS and tvOS version to 12.0.
+* **[Improvement]** Update PLCrashReporter.
+* **[Improvement]** Update sqlite to 3.46.1, which fixes CVE-2020-11656.
+
+#### Android
+
+* **[Improvement]** Update native SDK to version [5.0.6](https://github.com/microsoft/appcenter-sdk-android/releases/tag/5.0.6)
+* **[Fix]** Fix app crash on hiding install update dialog for Distribute module.
+
+___
+
## Version 5.0.6
### App Center
diff --git a/SDK/AppCenter/Microsoft.AppCenter.Shared/WrapperSdk.cs b/SDK/AppCenter/Microsoft.AppCenter.Shared/WrapperSdk.cs
index 364b494cc..2da606b19 100644
--- a/SDK/AppCenter/Microsoft.AppCenter.Shared/WrapperSdk.cs
+++ b/SDK/AppCenter/Microsoft.AppCenter.Shared/WrapperSdk.cs
@@ -14,6 +14,6 @@ public partial class WrapperSdk
public const string Name = "appcenter.xamarin";
/* We can't use reflection for assemblyInformationalVersion on iOS with "Link All" optimization. */
- internal const string Version = "5.0.6-SNAPSHOT";
+ internal const string Version = "5.0.7-SNAPSHOT";
}
}
diff --git a/SDK/Directory.Build.props b/SDK/Directory.Build.props
index f6c251600..85b6b1263 100644
--- a/SDK/Directory.Build.props
+++ b/SDK/Directory.Build.props
@@ -4,8 +4,8 @@
Microsoft Corp. All rights reserved.
Microsoft Corporation
- 5.0.6-SNAPSHOT
- 5.0.6.0
+ 5.0.7-SNAPSHOT
+ 5.0.7.0
0.0.0.0
diff --git a/Tests/Contoso.Test.Functional.Droid/Properties/AndroidManifest.xml b/Tests/Contoso.Test.Functional.Droid/Properties/AndroidManifest.xml
index 97bbaea38..39558e8d4 100644
--- a/Tests/Contoso.Test.Functional.Droid/Properties/AndroidManifest.xml
+++ b/Tests/Contoso.Test.Functional.Droid/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/Tests/Contoso.Test.Functional.Droid/Properties/AssemblyInfo.cs b/Tests/Contoso.Test.Functional.Droid/Properties/AssemblyInfo.cs
index 9e7bd85c4..097b6b89d 100644
--- a/Tests/Contoso.Test.Functional.Droid/Properties/AssemblyInfo.cs
+++ b/Tests/Contoso.Test.Functional.Droid/Properties/AssemblyInfo.cs
@@ -22,8 +22,8 @@
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6-SNAPSHOT")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
+[assembly: AssemblyInformationalVersion("5.0.7-SNAPSHOT")]
// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.
diff --git a/Tests/Contoso.Test.Functional.iOS/Info.plist b/Tests/Contoso.Test.Functional.iOS/Info.plist
index 9d5c57eac..0e8676c03 100644
--- a/Tests/Contoso.Test.Functional.iOS/Info.plist
+++ b/Tests/Contoso.Test.Functional.iOS/Info.plist
@@ -7,9 +7,9 @@
CFBundleIdentifier
com.contoso.test.functional
CFBundleShortVersionString
- 5.0.6
+ 5.0.7
CFBundleVersion
- 5.0.6
+ 5.0.7
LSRequiresIPhoneOS
MinimumOSVersion
diff --git a/Tests/Contoso.Test.Functional.iOS/Properties/AssemblyInfo.cs b/Tests/Contoso.Test.Functional.iOS/Properties/AssemblyInfo.cs
index 15dd2fab4..c5c8a0229 100644
--- a/Tests/Contoso.Test.Functional.iOS/Properties/AssemblyInfo.cs
+++ b/Tests/Contoso.Test.Functional.iOS/Properties/AssemblyInfo.cs
@@ -37,5 +37,5 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6-SNAPSHOT")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
+[assembly: AssemblyInformationalVersion("5.0.7-SNAPSHOT")]
diff --git a/Tests/Microsoft.AppCenter.Analytics.Test.Windows/Properties/AssemblyInfo.cs b/Tests/Microsoft.AppCenter.Analytics.Test.Windows/Properties/AssemblyInfo.cs
index 7c69bba3c..6dfc40925 100644
--- a/Tests/Microsoft.AppCenter.Analytics.Test.Windows/Properties/AssemblyInfo.cs
+++ b/Tests/Microsoft.AppCenter.Analytics.Test.Windows/Properties/AssemblyInfo.cs
@@ -19,5 +19,5 @@
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6-SNAPSHOT")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
+[assembly: AssemblyInformationalVersion("5.0.7-SNAPSHOT")]
diff --git a/Tests/Microsoft.AppCenter.Crashes.Test.Windows/Properties/AssemblyInfo.cs b/Tests/Microsoft.AppCenter.Crashes.Test.Windows/Properties/AssemblyInfo.cs
index 1b887fe77..6de0c4a9a 100644
--- a/Tests/Microsoft.AppCenter.Crashes.Test.Windows/Properties/AssemblyInfo.cs
+++ b/Tests/Microsoft.AppCenter.Crashes.Test.Windows/Properties/AssemblyInfo.cs
@@ -19,5 +19,5 @@
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6-SNAPSHOT")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
+[assembly: AssemblyInformationalVersion("5.0.7-SNAPSHOT")]
diff --git a/Tests/Microsoft.AppCenter.Test.UWP/Package.appxmanifest b/Tests/Microsoft.AppCenter.Test.UWP/Package.appxmanifest
index f81ac1110..d87f81ed5 100644
--- a/Tests/Microsoft.AppCenter.Test.UWP/Package.appxmanifest
+++ b/Tests/Microsoft.AppCenter.Test.UWP/Package.appxmanifest
@@ -7,7 +7,7 @@
+ Version="5.0.7.0" />
diff --git a/Tests/Microsoft.AppCenter.Test.UWP/Properties/AssemblyInfo.cs b/Tests/Microsoft.AppCenter.Test.UWP/Properties/AssemblyInfo.cs
index c3e8be505..d86a97825 100644
--- a/Tests/Microsoft.AppCenter.Test.UWP/Properties/AssemblyInfo.cs
+++ b/Tests/Microsoft.AppCenter.Test.UWP/Properties/AssemblyInfo.cs
@@ -17,5 +17,5 @@
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
[assembly: ComVisible(false)]
\ No newline at end of file
diff --git a/Tests/Microsoft.AppCenter.Test.Windows/Properties/AssemblyInfo.cs b/Tests/Microsoft.AppCenter.Test.Windows/Properties/AssemblyInfo.cs
index 0a3dc140d..ee1ddda8f 100644
--- a/Tests/Microsoft.AppCenter.Test.Windows/Properties/AssemblyInfo.cs
+++ b/Tests/Microsoft.AppCenter.Test.Windows/Properties/AssemblyInfo.cs
@@ -19,5 +19,5 @@
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
-[assembly: AssemblyInformationalVersion("5.0.6-SNAPSHOT")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
+[assembly: AssemblyInformationalVersion("5.0.7-SNAPSHOT")]
diff --git a/Tests/Microsoft.AppCenter.Test.WindowsDesktop/Properties/AssemblyInfo.cs b/Tests/Microsoft.AppCenter.Test.WindowsDesktop/Properties/AssemblyInfo.cs
index 0d7372002..390224144 100644
--- a/Tests/Microsoft.AppCenter.Test.WindowsDesktop/Properties/AssemblyInfo.cs
+++ b/Tests/Microsoft.AppCenter.Test.WindowsDesktop/Properties/AssemblyInfo.cs
@@ -20,4 +20,4 @@
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("5.0.6.0")]
+[assembly: AssemblyFileVersion("5.0.7.0")]
diff --git a/build.cake b/build.cake
index 857669c70..70cb9fd8e 100644
--- a/build.cake
+++ b/build.cake
@@ -27,17 +27,26 @@ IList AppCenterModules = null;
* By running mozroots and install part of Mozilla's root certificates can make it work.
*/
+/* NOTE: Running build locally
+ When running build locally download artifacts from apple and android build pipelines manually and place them in `externals` folder.
+ Place the artifacts in appropriate `externals` subfolders `apple` or `android`
+ Apple:
+ AppCenter-SDK-Apple-XCFramework-VERSION.zip
+ AppCenter-SDK-Apple-VERSION.zip
+ Android:
+ appcenter-distribute-play-VERSION.aar
+ appcenter-distribute-VERSION.aar
+ appcenter-crashes-VERSION.aar
+ appcenter-analytics-VERSION.aar
+ appcenter-VERSION.aar
+*/
+
var ExternalsDirectory = "externals";
var AndroidExternals = $"{ExternalsDirectory}/android";
var AppleExternals = $"{ExternalsDirectory}/apple";
-var SdkStorageUrl = "https://mobilecentersdkdev.blob.core.windows.net/sdk/";
-
// Need to read versions before setting url values
VersionReader.ReadVersions();
-var AndroidUrl = $"{SdkStorageUrl}AppCenter-SDK-Android-{VersionReader.AndroidVersion}.zip";
-var AppleUrl = $"{SdkStorageUrl}AppCenter-SDK-Apple-{VersionReader.AppleVersion}.zip";
-var AppleXCFrameworkUrl = $"{SdkStorageUrl}AppCenter-SDK-Apple-XCFramework-{VersionReader.AppleVersion}.zip";
// Task Target for build
var Target = Argument("Target", Argument("t", "Default"));
@@ -82,33 +91,22 @@ Task("PrepareAssemblies")
Task("Externals-Android")
.Does(() =>
{
- var zipFile = System.IO.Path.Combine(AndroidExternals, "android.zip");
- if (FileExists(zipFile))
- {
- return;
- }
- CleanDirectory(AndroidExternals);
-
- // Download zip file.
- var authParams = Argument("StorageAuthParams", EnvironmentVariable("STORAGE_AUTH_PARAMS"));
- var artifactUrl = $"{AndroidUrl}{authParams}";
- using (VerboseVerbosity())
- DownloadFile(artifactUrl, zipFile);
- Unzip(zipFile, AndroidExternals);
-
// Move binaries to externals/android so that linked files don't have versions
// in their paths
var androidExternalsPath = System.IO.Path.Combine(AndroidExternals, "*");
var files = GetFiles(androidExternalsPath);
+ // regex pattern for extracting version
+ var versionPattern = new System.Text.RegularExpressions.Regex(@"\d+\.\d+\.\d+");
+
// fix since aar files contain version name instead of release string
foreach (var file in files)
{
var filename = file.GetFilename().ToString();
- if (filename.Contains($"{VersionReader.AndroidVersion}"))
+ if (versionPattern.IsMatch(filename))
{
- var replacedName = filename.Replace($"{VersionReader.AndroidVersion}", "release");
+ var replacedName = versionPattern.Replace(filename, "release");
var newPath = System.IO.Path.Combine(AndroidExternals, replacedName);
MoveFile(file, newPath);
}
@@ -122,6 +120,7 @@ public static void UnzipFile(this ICakeContext context, string zipFile, string o
new ProcessSettings
{
Arguments = new ProcessArgumentBuilder()
+ .Append("-o")
.Append(zipFile)
.Append("-d")
.Append(outputPath),
@@ -141,23 +140,24 @@ Task("Externals-Apple")
.WithCriteria(() => IsRunningOnUnix())
.Does(() =>
{
- var zipFile = System.IO.Path.Combine(AppleExternals, "apple.zip");
- var zipXCFrameworkFile = System.IO.Path.Combine(AppleExternals, "apple-xcframework.zip");
var XCFrameworkOutputDir = System.IO.Path.Combine(AppleExternals, "xcframework");
-
- CleanDirectory(AppleExternals);
-
- // Download framework and xcframework files.
- var authParams = Argument("StorageAuthParams", EnvironmentVariable("STORAGE_AUTH_PARAMS"));
- using (VerboseVerbosity())
+ var appleExternalsPath = System.IO.Path.Combine(AppleExternals, "*");
+ var zipFiles = GetFiles(appleExternalsPath);
+ foreach (var file in zipFiles)
{
- DownloadFile($"{AppleUrl}{authParams}", zipFile);
- DownloadFile($"{AppleXCFrameworkUrl}{authParams}", zipXCFrameworkFile);
+ var fileName = file.GetFilename().ToString();
+ if (fileName.Contains("XCFramework"))
+ {
+ var zipXCFrameworkFile = System.IO.Path.Combine(AppleExternals, fileName);
+ Context.UnzipFile(zipXCFrameworkFile, XCFrameworkOutputDir);
+ }
+ else
+ {
+ var zipFile = System.IO.Path.Combine(AppleExternals, fileName);
+ Context.UnzipFile(zipFile, AppleExternals);
+ }
}
- Context.UnzipFile(zipFile, AppleExternals);
- Context.UnzipFile(zipXCFrameworkFile, XCFrameworkOutputDir);
-
var iosFrameworksLocation = System.IO.Path.Combine(AppleExternals, "AppCenter-SDK-Apple/iOS");
var macosFrameworksLocation = System.IO.Path.Combine(AppleExternals, "AppCenter-SDK-Apple/macOS");
var xcframeworkLocation = System.IO.Path.Combine(XCFrameworkOutputDir, "AppCenter-SDK-Apple");
diff --git a/cgmanifest.json b/cgmanifest.json
index 25af9ea4a..0a58c408a 100644
--- a/cgmanifest.json
+++ b/cgmanifest.json
@@ -6,7 +6,7 @@
"type": "git",
"git": {
"repositoryUrl": "https://github.com/microsoft/appcenter-sdk-android.git",
- "commitHash": "2b0278445e55f17ab389736fb3b82b24b53e6412"
+ "commitHash": "453316ce5fee6d1a4d76f80587fd816e7185ff55"
}
}
},
@@ -15,7 +15,7 @@
"type": "git",
"git": {
"repositoryUrl": "https://github.com/microsoft/appcenter-sdk-apple.git",
- "commitHash": "ab54f758243f282d290b33027e8aac910d3d859a"
+ "commitHash": "9308921a2f6ef828cf9fae898ea4f080a81cdf11"
}
}
}
diff --git a/scripts/configuration/ac-build-config.xml b/scripts/configuration/ac-build-config.xml
index 43ecbbc84..06ada23d1 100644
--- a/scripts/configuration/ac-build-config.xml
+++ b/scripts/configuration/ac-build-config.xml
@@ -1,9 +1,9 @@
- 5.0.6-SNAPSHOT
- 5.0.5
- 5.0.5
+ 5.0.7-SNAPSHOT
+ 5.0.6
+ 5.0.6
diff --git a/scripts/update-app-secrets.sh b/scripts/update-app-secrets.sh
old mode 100755
new mode 100644
index bab1001d6..8ff9fee36
--- a/scripts/update-app-secrets.sh
+++ b/scripts/update-app-secrets.sh
@@ -1,52 +1,23 @@
#!/bin/bash
-# Replace app-secret's and tokens values in test apps. Update Puppet apps by default.
+# Replace app-secret's and tokens values in test MAUI app.
# Usage:
-# ./scripts/update-app-secrets.sh
-
-# Dynamic constants.
-appPrefix="INT"
-
-# Prepare constants.
-if [ "$1" == "PROD" ]; then
- appPrefix="PROD"
-fi
+# ./scripts/update-app-secrets.sh
# Constants for iOS and Android.
declare -a platformConstants=(
- "XAMARIN_FORMS_ANDROID_${appPrefix}"
- "XAMARIN_FORMS_ANDROID_TARGET_TOKEN_${appPrefix}"
- "XAMARIN_FORMS_IOS_${appPrefix}"
- "XAMARIN_FORMS_IOS_TARGET_TOKEN_${appPrefix}"
- "XAMARIN_FORMS_MACOS_${appPrefix}"
- "XAMARIN_ANDROID_${appPrefix}"
- "XAMARIN_IOS_${appPrefix}"
- "XAMARIN_MACOS_${appPrefix}"
- "MAUI_ANDROID_${appPrefix}"
- "MAUI_ANDROID_TARGET_TOKEN_${appPrefix}"
- "MAUI_IOS_${appPrefix}"
- "MAUI_IOS_TARGET_TOKEN_${appPrefix}"
- "MAUI_MACOS_${appPrefix}")
+ "MAUI_ANDROID_PROD"
+ "MAUI_ANDROID_TARGET_TOKEN_PROD"
+ "MAUI_IOS_PROD"
+ "MAUI_IOS_TARGET_TOKEN_PROD")
-# Files which should be changed.
-declare -a targetFiles=("Apps/Contoso.Android.Puppet/Contoso.Android.Puppet.csproj"
- "Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.Droid/Contoso.Forms.Puppet.Droid.csproj"
- "Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.MacOS/Contoso.Forms.Puppet.MacOS.csproj"
- "Apps/Contoso.Forms.Puppet/Contoso.Forms.Puppet.iOS/Contoso.Forms.Puppet.iOS.csproj"
- "Apps/Contoso.MacOS.Puppet/Contoso.MacOS.Puppet.csproj"
- "Apps/Contoso.iOS.Puppet/Contoso.iOS.Puppet.csproj"
- "Apps/Contoso.Forms.Demo/Contoso.Forms.Demo/App.xaml.cs"
- "Apps/Contoso.MAUI.Demo/App.xaml.cs")
+# File which should be changed.
+targetFile=("Apps/Contoso.MAUI.Demo/App.xaml.cs")
-# Print info about current job.
-echo "Insert secrets for $appPrefix apps."
+echo "Insert secrets for MAUI app."
# Update files from array.
-for constant in "${platformConstants[@]}"
-do
- for file in "${targetFiles[@]}"
- do
- # Replace secret value from enviroment variables.
- sed -i '' "s/{$constant}/"${!constant}"/g" $file
- done
+for constant in "${platformConstants[@]}"; do
+ # Replace secret value from enviroment variables.
+ sed -i '' "s/{$constant}/"${!constant}"/g" $targetFile
done
diff --git a/test-tools.cake b/test-tools.cake
deleted file mode 100644
index db68649ea..000000000
--- a/test-tools.cake
+++ /dev/null
@@ -1,399 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-#addin nuget:?package=Cake.Xamarin&version=4.0.0
-#addin nuget:?package=Cake.FileHelpers&version=5.0.0
-#addin nuget:?package=Newtonsoft.Json&version=13.0.2
-
-using System;
-using System.Collections.Generic;
-using System.Net;
-using Newtonsoft.Json.Linq;
-
-// Task Target for build
-var Target = Argument("target", Argument("t", "Default"));
-
-string ArchiveDirectory = "archives";
-bool IsMandatory = false;
-string DistributionGroup = "Private Release Script Group";
-string Token = EnvironmentVariable("APP_CENTER_API_TOKEN");
-string BaseUrl = "https://api.appcenter.ms";
-ApplicationInfo CurrentApp = null;
-
-public enum Environment
-{
- Int,
- Prod
-}
-
-public enum Platform
-{
- iOS,
- Android,
- UWP
-}
-
-public class ApplicationInfo
-{
- public static ICakeContext Context;
- public static string OutputDirectory;
- public Environment AppEnvironment { get; }
- public Platform AppPlatform { get; }
- public string AppOwner { get; }
- public string AppId { get; }
- public string AppPath
- {
- get
- {
- return OutputDirectory + "/" + AppId + "." + _appExtension;
- }
- }
- public string ProjectPath
- {
- get
- {
- if (_projectPath == null)
- {
- _projectPath = Context.GetFiles("**/" + _projectFile).Single().ToString();
- }
- return _projectPath;
- }
- }
-
- public string ProjectDirectory
- {
- get
- {
- return System.IO.Path.GetDirectoryName(ProjectPath);
- }
- }
-
- private string _appExtension = null;
- private string _projectPath = null;
- private string _projectFile = null;
- public ApplicationInfo(Environment environment, Platform platform, string appOwner, string appId, string projectFile, string appExtension)
- {
- AppOwner = appOwner;
- AppId = appId;
- AppEnvironment = environment;
- AppPlatform = platform;
- _projectFile = projectFile;
- _appExtension = appExtension;
- }
-}
-
-ApplicationInfo.Context = Context;
-ApplicationInfo.OutputDirectory = ArchiveDirectory;
-IList Applications = new List
-{
- new ApplicationInfo(Environment.Prod, Platform.iOS, "appcenter", "xamarin-demo-ios", "Contoso.Forms.Demo.iOS.csproj", "ipa"),
- new ApplicationInfo(Environment.Prod, Platform.Android, "appcenter", "xamarin-demo-android", "Contoso.Forms.Demo.Droid.csproj", "apk"),
- new ApplicationInfo(Environment.Prod, Platform.UWP, "appcenter-sdk", "UWP-Forms-Puppet", "Contoso.Forms.Demo.UWP.csproj", ""),
- new ApplicationInfo(Environment.Int, Platform.iOS, "appcenter-sdk", "xamarin-puppet-ios", "Contoso.Forms.Puppet.iOS.csproj", "ipa"),
- new ApplicationInfo(Environment.Int, Platform.Android, "appcenter-sdk", "xamarin-puppet-android-03", "Contoso.Forms.Puppet.Droid.csproj", "apk"),
- new ApplicationInfo(Environment.Int, Platform.UWP, "appcenter-sdk", "xamarin-forms-puppet-uwp-2", "Contoso.Forms.Puppet.UWP.csproj", "")
-};
-
-Setup(context =>
-{
- // Arguments:
- // -environment (-e): App "environment" ("prod" or "int") -- Default is "int"
- // -group (-g): Distribution group name -- Default is "Private Release Script Group"
- // -mandatory (-m): Should the release be mandatory ("true" or "false") -- Default is "false"
- // -platform (-p): ios, android, or uwp -- Default is ios
-
- // Read arguments
- var environment = Environment.Prod;
- if (Argument("Environment", "int") == "int")
- {
- environment = Environment.Int;
- Token = EnvironmentVariable("APP_CENTER_INT_API_TOKEN");
- BaseUrl = "https://api-gateway-core-integration.dev.avalanch.es";
- }
- var platformString = Argument("Platform", "ios");
- var platform = Platform.iOS;
- if (platformString == "android")
- {
- platform = Platform.Android;
- }
- else if (platformString == "uwp")
- {
- platform = Platform.UWP;
- }
-
- CurrentApp = ( from app in Applications
- where app.AppPlatform == platform &&
- app.AppEnvironment == environment
- select app
- ).Single();
-
- DistributionGroup = Argument("Group", DistributionGroup);
- DistributionGroup = DistributionGroup.Replace('_', ' ');
- IsMandatory = Argument("Mandatory", false);
-});
-
-// Distribution Tasks
-
-Task("CreateIosArchive").IsDependentOn("IncreaseAppleVersion").Does(()=>
-{
- MSBuild(CurrentApp.ProjectPath, settings => settings.SetConfiguration("Release")
- .WithTarget("Build")
- .WithProperty("Platform", "iPhone")
- .WithProperty("BuildIpa", "true")
- .WithProperty("OutputPath", "bin/Release/")
- .WithProperty("AllowUnsafeBlocks", "true"));
- var projectLocation = CurrentApp.ProjectDirectory;
- var ipaLocation = projectLocation +
- "/bin/Release/" +
- System.IO.Path.GetFileNameWithoutExtension(CurrentApp.ProjectPath) +
- ".ipa";
- EnsureDirectoryExists(ArchiveDirectory);
- if (System.IO.File.Exists(CurrentApp.AppPath))
- {
- System.IO.File.Delete(CurrentApp.AppPath);
- }
- CopyFile(ipaLocation, CurrentApp.AppPath);
-});
-
-Task("CreateAndroidArchive").IsDependentOn("IncreaseAndroidVersion").Does(()=>
-{
- BuildAndroidApk(CurrentApp.ProjectPath, true, "Release", c => c.Configuration = "Release");
- var projectLocation = CurrentApp.ProjectDirectory;
- var apks = GetFiles(projectLocation + "/bin/Release/*.apk");
- var unsignedApk = "";
- foreach (var path in apks)
- {
- if (!path.ToString().EndsWith("-Signed.apk"))
- {
- unsignedApk = path.ToString();
- break;
- }
- }
- EnsureDirectoryExists(ArchiveDirectory);
- if (System.IO.File.Exists(CurrentApp.AppPath))
- {
- System.IO.File.Delete(CurrentApp.AppPath);
- }
- CopyFile(unsignedApk, CurrentApp.AppPath);
-});
-
-Task("IncreaseAppleVersion").Does(()=>
-{
- var infoPlistLocation = CurrentApp.ProjectDirectory + "/Info.plist";
- var plist = File(infoPlistLocation);
- var bundleVersionPattern = @"CFBundleVersion<\/key>\s*[^<]*<\/string>";
- var match = FindRegexMatchInFile(File(infoPlistLocation), bundleVersionPattern, System.Text.RegularExpressions.RegexOptions.None);
- var openTag = "";
- var closeTag = "";
- var currentVersion = match.Substring(match.IndexOf(openTag) + openTag.Length, match.IndexOf(closeTag) - match.IndexOf(openTag) - openTag.Length);
- var newVersion = IncrementPatch(currentVersion);
- var newBundleVersionString = "CFBundleVersion\n\t" + newVersion + "";
- ReplaceRegexInFiles(infoPlistLocation, bundleVersionPattern, newBundleVersionString);
- Information("iOS Version increased to " + newVersion);
-});
-
-Task("IncreaseAndroidVersion").Does(()=>
-{
- // Setup
- var manifestLocation = CurrentApp.ProjectDirectory + "/Properties/AndroidManifest.xml";
- var xmlNamespaces = new Dictionary {{"android", "http://schemas.android.com/apk/res/android"}};
- var peekSettings = new XmlPeekSettings();
- peekSettings.Namespaces = xmlNamespaces;
- var pokeSettings = new XmlPokeSettings();
- pokeSettings.Namespaces = xmlNamespaces;
-
- // Manifest version code
- var versionCode = int.Parse(XmlPeek(manifestLocation, "manifest/@android:versionCode", peekSettings));
- var newVersionCode = versionCode + 1;
- XmlPoke(manifestLocation, "manifest/@android:versionCode", newVersionCode.ToString(), pokeSettings);
-
- // Manifest version name
- var versionName = XmlPeek(manifestLocation, "manifest/@android:versionName", peekSettings);
- var suffix = "-SNAPSHOT";
- if (versionName.Contains(suffix))
- {
- versionName = versionName.Substring(0, versionName.IndexOf(suffix));
- }
- var newVersionName = IncrementPatch(versionName);
- XmlPoke(manifestLocation, "manifest/@android:versionName", newVersionName, pokeSettings);
- Information("Android version name changed to " + newVersionName + ", version code increased to " + newVersionCode);
-});
-
-Task("ReleaseApplication")
-.Does(()=>
-{
- if (CurrentApp.AppPlatform == Platform.iOS)
- {
- RunTarget("CreateIosArchive");
- }
- else if (CurrentApp.AppPlatform == Platform.Android)
- {
- RunTarget("CreateAndroidArchive");
- }
- else
- {
- Error("Cannot distribute for this platform.");
- return;
- }
-
- // Start the upload.
- Information("Initiating distribution process...");
- var startUploadUrl = GetApiUrl(BaseUrl, CurrentApp.AppOwner, CurrentApp.AppId, "release_uploads");
- var startUploadRequest = GetWebRequest(startUploadUrl, Token);
- var startUploadResponse = GetResponseJson(startUploadRequest);
-
- // Upload the file to the given endpoint. The label "ipa" is correct for all platforms.
- var uploadUrl = startUploadResponse["upload_url"].ToString();
- HttpUploadFile(uploadUrl, CurrentApp.AppPath, "ipa");
-
- // Commit the upload
- Information("Committing distribution...");
- var uploadId = startUploadResponse["upload_id"].ToString();
- var commitRequestUrl = startUploadUrl + "/" + uploadId;
- var commitRequest = GetWebRequest(commitRequestUrl, Token, "PATCH");
- AttachJsonPayload(commitRequest,
- new JObject(
- new JProperty("status", "committed")));
- var commitResponse = GetResponseJson(commitRequest);
- var releaseUrl = BaseUrl + "/" + commitResponse["release_url"].ToString();
-
- // Release the upload
- Information("Finalizing release...");
- var releaseRequest = GetWebRequest(releaseUrl, Token, "PATCH");
- var releaseNotes = "This release has been created by the script test-tools.cake.";
- AttachJsonPayload(releaseRequest,
- new JObject(
- new JProperty("destination_name", DistributionGroup),
- new JProperty("release_notes", releaseNotes),
- new JProperty("mandatory", IsMandatory.ToString().ToLower())));
- releaseRequest.GetResponse().Dispose();
- var mandatorySuffix = IsMandatory ? " as a mandatory update" : "";
- Information("Successfully released " + CurrentApp.AppOwner +
- "/" + CurrentApp.AppId + " to group " +
- DistributionGroup + mandatorySuffix + ".");
-});
-
-Task("BuildAppsInAppCenter").Does(() =>
-{
- CurrentApp = ( from app in Applications
- where app.AppPlatform == Platform.iOS &&
- app.AppEnvironment == Environment.Prod
- select app
- ).Single();
- BuildCurrentAppInAppCenter();
- BuildCurrentAppInAppCenter();
- CurrentApp = ( from app in Applications
- where app.AppPlatform == Platform.Android &&
- app.AppEnvironment == Environment.Prod
- select app
- ).Single();
- BuildCurrentAppInAppCenter();
- BuildCurrentAppInAppCenter();
- CurrentApp = ( from app in Applications
- where app.AppPlatform == Platform.UWP &&
- app.AppEnvironment == Environment.Prod
- select app
- ).Single();
- BuildCurrentAppInAppCenter();
-});
-
-void BuildCurrentAppInAppCenter()
-{
- Information("Triggering build in App Center... ");
- var appCenterToken = Argument("AppCenterToken");
- var url = GetApiUrl(BaseUrl, CurrentApp.AppOwner, CurrentApp.AppId, "branches/master/builds");
- var request = GetWebRequest(url, appCenterToken);
- var responseJson = GetResponseJson(request);
- Information("Successfully triggered build in App Center.");
-}
-
-// Helper methods
-
-string GetApiUrl(string baseUrl, string appOwner, string appId, string apiName)
-{
- return string.Format("{0}/v0.1/apps/{1}/{2}/{3}", baseUrl, appOwner, appId, apiName);
-}
-
-JObject GetResponseJson(HttpWebRequest request)
-{
- using (var response = request.GetResponse())
- using (var reader = new StreamReader(response.GetResponseStream()))
- {
- return JObject.Parse(reader.ReadToEnd());
- }
-}
-
-HttpWebRequest GetWebRequest(string url, string token, string method = "POST")
-{
- Information(string.Format("About to call url '{0}'", url));
- var request = (HttpWebRequest)WebRequest.Create(url);
- request.Headers["X-API-Token"] = token;
- request.ContentType = "application/json";
- request.Accept = "application/json";
- request.Method = method;
- return request;
-}
-
-void AttachJsonPayload(HttpWebRequest request, JObject json)
-{
- using (var stream = request.GetRequestStream())
- using (var sr = new StreamWriter(stream))
- {
- sr.Write(json.ToString());
- }
-}
-
-string IncrementPatch(string semVer)
-{
- int patchIdx = 0;
- for (int i = semVer.Length - 1; i >= 0; --i)
- {
- if (semVer[i] == '.')
- {
- patchIdx = i + 1;
- break;
- }
- }
- var newPatch = Convert.ToInt32(semVer.Substring(patchIdx, semVer.Length - patchIdx)) + 1;
- return semVer.Substring(0, patchIdx) + newPatch;
-}
-
-// Adapted from https://stackoverflow.com/questions/566462/upload-files-with-httpwebrequest-multipart-form-data/2996904#2996904
-void HttpUploadFile(string url, string file, string paramName)
-{
- Information(string.Format("Uploading {0} to {1}", file, url));
- var boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");
- byte[] boundaryBytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
- var request = (HttpWebRequest)WebRequest.Create(url);
- request.ContentType = "multipart/form-data; boundary=" + boundary;
- request.Method = "POST";
- request.KeepAlive = true;
- using (var requestStream = request.GetRequestStream())
- {
- requestStream.Write(boundaryBytes, 0, boundaryBytes.Length);
- var headerTemplate = "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\n\r\n";
- var header = string.Format(headerTemplate, paramName, file);
- byte[] headerBytes = System.Text.Encoding.UTF8.GetBytes(header);
- requestStream.Write(headerBytes, 0, headerBytes.Length);
- using (var fileStream = new FileStream(file, FileMode.Open, FileAccess.Read))
- {
- byte[] buffer = new byte[4096];
- var bytesRead = 0;
- while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
- {
- requestStream.Write(buffer, 0, bytesRead);
- }
- }
- byte[] trailer = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");
- requestStream.Write(trailer, 0, trailer.Length);
- }
- request.GetResponse().Dispose();
- Information("File uploaded.");
-}
-
-Task("Default").Does(()=>
-{
- Error("Please run a specific target.");
-});
-
-RunTarget(Target);