diff --git a/.gitignore b/.gitignore index 112c1fdee..42b176562 100644 --- a/.gitignore +++ b/.gitignore @@ -235,7 +235,11 @@ _Pvt_Extensions # Tools tools/ -# ReactiveUI +# Akavache artifacts/ src/CommonAssemblyInfo.cs src/ReactiveUI.Events/Events_*.cs + +# NugetIntegrationTests +tests/NuGetInstallationIntegrationTests/Android/t/**/* +tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/t/**/* diff --git a/appveyor.yml b/appveyor.yml index 1a75f9000..bb9da8f2c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,6 +1,7 @@ # configuration for "master" branch - configuration: Release + image: Visual Studio 2017 branches: only: - master @@ -14,10 +15,7 @@ NUGET_APIKEY: secure: 0g2AqQxgiAIFhqoJbbmEPrJa15Z8U5xYT6vQe43Gocuxbjw74hBAIKbU+Cj65UNd build_script: - - ps: >- - ./bootstrap.ps1 - - ./build.cmd + - ./build.cmd artifacts: - path: artifacts/* - path: '**/bin/*' @@ -26,6 +24,7 @@ # configuration for "develop" branch - configuration: Development + image: Visual Studio 2017 branches: except: - master @@ -36,10 +35,7 @@ NUGET_APIKEY: secure: YP/3KxC2ffsuHNaolPXj66JVGzSjON9FcR2S2OEzn9c6SV14oPzUh1ySyeT+G+aA build_script: - - ps: >- - ./bootstrap.ps1 - - ./build.cmd + - ./build.cmd artifacts: - path: artifacts/* - path: '**/bin/*' diff --git a/bootstrap.ps1 b/bootstrap.ps1 deleted file mode 100644 index 99ded0ada..000000000 --- a/bootstrap.ps1 +++ /dev/null @@ -1,56 +0,0 @@ -set-strictmode -version 2.0 -$ErrorActionPreference="Stop" - -$AndroidToolPath = "${env:ProgramFiles(x86)}\Android\android-sdk\tools\android" -#$AndroidToolPath = "$env:localappdata\Android\android-sdk\tools\android" - -Function Get-AllAndroidSDKs() { - $output = & $AndroidToolPath list sdk --all - $sdks = $output |% { - if ($_ -match '(?\d+)- (?.+), revision (?[\d\.]+)') { - $sdk = New-Object PSObject - Add-Member -InputObject $sdk -MemberType NoteProperty -Name Index -Value $Matches.index - Add-Member -InputObject $sdk -MemberType NoteProperty -Name Name -Value $Matches.sdk - Add-Member -InputObject $sdk -MemberType NoteProperty -Name Revision -Value $Matches.revision - $sdk - } - } - $sdks -} - -Function Execute-AndroidSDKInstall() { - [CmdletBinding()] - Param( - [Parameter(Mandatory=$true, Position=0)] - [PSObject[]]$sdks - ) - - $sdkIndexes = $sdks |% { $_.Index } - $sdkIndexArgument = [string]::Join(',', $sdkIndexes) - Echo 'y' | & $AndroidToolPath update sdk -u -a -t $sdkIndexArgument -} - -Function Install-AndroidSDK -{ - param([string]$Level) - - $sdks = Get-AllAndroidSDKs |? { $_.name -like "sdk platform*API $Level*" -or $_.name -like "google apis*api $Level" } - Execute-AndroidSDKInstall -sdks $sdks -} - -#Install-AndroidSDK 10 -#Install-AndroidSDK 11 -#Install-AndroidSDK 12 -#Install-AndroidSDK 13 -#Install-AndroidSDK 14 -Install-AndroidSDK 15 -Install-AndroidSDK 16 -#Install-AndroidSDK 18 -#Install-AndroidSDK 19 -#Install-AndroidSDK 20 -#Install-AndroidSDK 21 -#Install-AndroidSDK 20 -#Install-AndroidSDK 21 -#Install-AndroidSDK 22 -#Install-AndroidSDK 23 -#Install-AndroidSDK 24 diff --git a/build.cake b/build.cake index 504a5eaef..67550718f 100644 --- a/build.cake +++ b/build.cake @@ -3,6 +3,8 @@ ////////////////////////////////////////////////////////////////////// #addin "Cake.FileHelpers" +#addin "Cake.Coveralls" +#addin "Cake.PinNuGetDependency" ////////////////////////////////////////////////////////////////////// // TOOLS @@ -10,7 +12,10 @@ #tool "GitReleaseManager" #tool "GitVersion.CommandLine" -#tool "GitLink" +#tool "coveralls.io" +#tool "OpenCover" +#tool "ReportGenerator" +#tool nuget:?package=vswhere ////////////////////////////////////////////////////////////////////// // ARGUMENTS @@ -31,87 +36,40 @@ var treatWarningsAsErrors = false; // Build configuration var local = BuildSystem.IsLocalBuild; -var isRunningOnUnix = IsRunningOnUnix(); -var isRunningOnWindows = IsRunningOnWindows(); - -var isRunningOnAppVeyor = AppVeyor.IsRunningOnAppVeyor; var isPullRequest = AppVeyor.Environment.PullRequest.IsPullRequest; var isRepository = StringComparer.OrdinalIgnoreCase.Equals("akavache/akavache", AppVeyor.Environment.Repository.Name); +var isDevelopBranch = StringComparer.OrdinalIgnoreCase.Equals("develop", AppVeyor.Environment.Repository.Branch); var isReleaseBranch = StringComparer.OrdinalIgnoreCase.Equals("master", AppVeyor.Environment.Repository.Branch); var isTagged = AppVeyor.Environment.Repository.Tag.IsTag; var githubOwner = "akavache"; var githubRepository = "akavache"; var githubUrl = string.Format("https://github.com/{0}/{1}", githubOwner, githubRepository); +var msBuildPath = VSWhereLatest().CombineWithFilePath("./MSBuild/15.0/Bin/MSBuild.exe"); // Version var gitVersion = GitVersion(); var majorMinorPatch = gitVersion.MajorMinorPatch; -var semVersion = gitVersion.SemVer; var informationalVersion = gitVersion.InformationalVersion; var nugetVersion = gitVersion.NuGetVersion; var buildVersion = gitVersion.FullBuildMetaData; // Artifacts var artifactDirectory = "./artifacts/"; -var packageWhitelist = new[] { "Akavache", "Akavache.Core", "Akavache.Deprecated", "Akavache.Mobile", "Akavache.Sqlite3" }; +var packageWhitelist = new[] { "Akavache", "Akavache.Mobile", "Akavache.Sqlite3", "Akavache.Core" }; +var testCoverageOutputFile = artifactDirectory + "OpenCover.xml"; // Macros Action Abort = () => { throw new Exception("a non-recoverable fatal error occurred."); }; -Action RestorePackages = (solution) => -{ - NuGetRestore(solution); -}; - -Action Package = (nuspec, basePath) => -{ - CreateDirectory(artifactDirectory); - - Information("Packaging {0} using {1} as the BasePath.", nuspec, basePath); - - NuGetPack(nuspec, new NuGetPackSettings { - Authors = new [] { "Paul Betts" }, - Owners = new [] { "paulcbetts" }, - - ProjectUrl = new Uri(githubUrl), - IconUrl = new Uri("https://avatars0.githubusercontent.com/u/5924219?v=3&s=200"), - LicenseUrl = new Uri("https://opensource.org/licenses/MIT"), - Copyright = "Copyright (c) GitHub", - RequireLicenseAcceptance = false, - - Version = nugetVersion, - Tags = new [] { "Akavache", "Cache", "Xamarin", "Sqlite3", "Magic" }, - ReleaseNotes = new [] { string.Format("{0}/releases", githubUrl) }, - - Symbols = false, - Verbosity = NuGetVerbosity.Detailed, - OutputDirectory = artifactDirectory, - BasePath = basePath, - }); -}; - -Action SourceLink = (solutionFileName) => -{ - GitLink("./", new GitLinkSettings() { - RepositoryUrl = githubUrl, - SolutionFileName = solutionFileName, - - // nb: I would love to set this to `treatErrorsAsWarnings` which defaults to `false` but GitLink trips over Akavache.Tests :/ - // Handling project 'Akavache.Tests' - // No pdb file found for 'Akavache.Tests', is project built in 'Release' mode with pdb files enabled? Expected file is 'C:\Dropbox\OSS\akavache\Akavache\src\Akavache.Tests\Akavache.Tests.pdb' - ErrorsAsWarnings = true, - }); -}; - - /////////////////////////////////////////////////////////////////////////////// // SETUP / TEARDOWN /////////////////////////////////////////////////////////////////////////////// Setup((context) => { - Information("Building version {0} of Akavache. (isTagged: {1})", informationalVersion, isTagged); + Information("Building version {0} of Akavache. (isTagged: {1}) Nuget Version {2}", informationalVersion, isTagged, nugetVersion); + CreateDirectory(artifactDirectory); }); Teardown((context) => @@ -122,80 +80,145 @@ Teardown((context) => ////////////////////////////////////////////////////////////////////// // TASKS ////////////////////////////////////////////////////////////////////// +Task("UpdateAppVeyorBuildNumber") + .WithCriteria(() => AppVeyor.IsRunningOnAppVeyor) + .Does(() => +{ + AppVeyor.UpdateBuildVersion(buildVersion); + +}).ReportError(exception => +{ + // When a build starts, the initial identifier is an auto-incremented value supplied by AppVeyor. + // As part of the build script, this version in AppVeyor is changed to be the version obtained from + // GitVersion. This identifier is purely cosmetic and is used by the core team to correlate a build + // with the pull-request. In some circumstances, such as restarting a failed/cancelled build the + // identifier in AppVeyor will be already updated and default behaviour is to throw an + // exception/cancel the build when in fact it is safe to swallow. + // See https://github.com/reactiveui/ReactiveUI/issues/1262 + + Warning("Build with version {0} already exists.", buildVersion); +}); + Task("Build") - .IsDependentOn("RestorePackages") - .IsDependentOn("UpdateAssemblyInfo") .Does (() => { Action build = (solution) => { - // UWP (project.json) needs to be restored before it will build. - RestorePackages(solution); - Information("Building {0}", solution); - MSBuild(solution, new MSBuildSettings() - .SetConfiguration("Release") - .WithProperty("NoWarn", "1591") // ignore missing XML doc warnings + + MSBuild(solution, new MSBuildSettings() { + ToolPath= msBuildPath + } + .WithTarget("restore;build;pack") + .WithProperty("PackageOutputPath", MakeAbsolute(Directory(artifactDirectory)).ToString()) .WithProperty("TreatWarningsAsErrors", treatWarningsAsErrors.ToString()) + .SetConfiguration("Release") + // Due to https://github.com/NuGet/Home/issues/4790 and https://github.com/NuGet/Home/issues/4337 we + // have to pass a version explicitly + .WithProperty("Version", nugetVersion.ToString()) .SetVerbosity(Verbosity.Minimal) .SetNodeReuse(false)); - - SourceLink(solution); + }; build("./src/Akavache.sln"); }); -Task("UpdateAppVeyorBuildNumber") - .WithCriteria(() => isRunningOnAppVeyor) +Task("RunUnitTests") + .IsDependentOn("Build") .Does(() => { - AppVeyor.UpdateBuildVersion(buildVersion); + + + Action testAction = tool => { + + tool.XUnit2("./src/Akavache.Tests/bin/Release/**/*.Tests.dll", new XUnit2Settings { + OutputDirectory = artifactDirectory, + XmlReportV1 = true, + NoAppDomain = false + }); + }; + + OpenCover(testAction, + testCoverageOutputFile, + new OpenCoverSettings { + ReturnTargetCodeOffset = 0, + ArgumentCustomization = args => args.Append("-mergeoutput") + } + .WithFilter("+[*]* -[*.Tests*]* -[Splat*]*") + .ExcludeByAttribute("*.ExcludeFromCodeCoverage*") + .ExcludeByFile("*/*Designer.cs;*/*.g.cs;*/*.g.i.cs;*splat/splat*")); + + ReportGenerator(testCoverageOutputFile, artifactDirectory); }); -Task("UpdateAssemblyInfo") - .IsDependentOn("UpdateAppVeyorBuildNumber") +Task("Package") + .IsDependentOn("Build") + .IsDependentOn("RunUnitTests") + .IsDependentOn("PinNuGetDependencies") .Does (() => { - var file = "./src/CommonAssemblyInfo.cs"; - - CreateAssemblyInfo(file, new AssemblyInfoSettings { - Product = "Akavache", - Version = majorMinorPatch, - FileVersion = majorMinorPatch, - InformationalVersion = informationalVersion, - Copyright = "Copyright (c) Paul Betts" - }); -}); -Task("RestorePackages").Does (() => -{ - RestorePackages("./src/Akavache.sln"); -}); + var integrationPathRoot = "tests/NuGetInstallationIntegrationTests/"; + var allfiles = + System.IO.Directory.GetFiles(integrationPathRoot, "*.csproj", System.IO.SearchOption.AllDirectories) + .Concat(System.IO.Directory.GetFiles(integrationPathRoot, "project.json", System.IO.SearchOption.AllDirectories)); + + var replacementString = "REPLACEME-AKAVACHE-VERSION"; + List replacedFiles = new List(); + + try + { + foreach(var file in allfiles) + { + var fileContents = System.IO.File.ReadAllText(file); + if(fileContents.IndexOf(replacementString) >= 0) + { + fileContents = fileContents.Replace(replacementString, nugetVersion.ToString()); + System.IO.File.WriteAllText(file, fileContents); + replacedFiles.Add(file); + } + } + + + NuGetRestore(integrationPathRoot + "NuGetInstallationIntegrationTests.sln", + new NuGetRestoreSettings() { + ConfigFile = integrationPathRoot + @".nuget/Nuget.config", + PackagesDirectory = integrationPathRoot + "packages" }); + + + MSBuild(integrationPathRoot + "NuGetInstallationIntegrationTests.sln", new MSBuildSettings() { + ToolPath= msBuildPath + } + .SetConfiguration("Debug")); + + } + finally + { + foreach(var file in replacedFiles) + { + var fileContents = System.IO.File.ReadAllText(file); + fileContents = fileContents.Replace(nugetVersion.ToString(), replacementString); + System.IO.File.WriteAllText(file, fileContents); + } + } -Task("RunUnitTests") - .IsDependentOn("Build") - .Does(() => -{ - XUnit2("./src/Akavache.Tests/bin/x64/Release/Akavache.Tests.dll", new XUnit2Settings { - OutputDirectory = artifactDirectory, - XmlReportV1 = false, - NoAppDomain = false // Akavache.Tests requires AppDomain otherwise it does not resolve System.Reactive.* - }); }); -Task("Package") - .IsDependentOn("Build") - .IsDependentOn("RunUnitTests") +Task("PinNuGetDependencies") .Does (() => { - Package("./src/Akavache.nuspec", "./"); - Package("./src/Akavache.Core.nuspec", "./src/Akavache"); - Package("./src/Akavache.Deprecated.nuspec", "./src/Akavache.Deprecated"); - Package("./src/Akavache.Mobile.nuspec", "./src/Akavache.Mobile"); - Package("./src/Akavache.Sqlite3.nuspec", "./src/Akavache.Sqlite3"); + // only pin whitelisted packages. + foreach(var package in packageWhitelist) + { + // only pin the package which was created during this build run. + var packagePath = artifactDirectory + File(string.Concat(package, ".", nugetVersion, ".nupkg")); + + // see https://github.com/cake-contrib/Cake.PinNuGetDependency + PinNuGetDependency(packagePath, "akavache"); + } }); Task("PublishPackages") @@ -204,6 +227,7 @@ Task("PublishPackages") .WithCriteria(() => !local) .WithCriteria(() => !isPullRequest) .WithCriteria(() => isRepository) + .WithCriteria(() => isDevelopBranch || isReleaseBranch) .Does (() => { if (isReleaseBranch && !isTagged) @@ -308,6 +332,7 @@ Task("PublishRelease") ////////////////////////////////////////////////////////////////////// Task("Default") + .IsDependentOn("UpdateAppVeyorBuildNumber") .IsDependentOn("CreateRelease") .IsDependentOn("PublishPackages") .IsDependentOn("PublishRelease") diff --git a/src/.nuget/NuGet.Config b/src/.nuget/NuGet.Config new file mode 100644 index 000000000..b3c946998 --- /dev/null +++ b/src/.nuget/NuGet.Config @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/Akavache.Core.nuspec b/src/Akavache.Core.nuspec deleted file mode 100644 index bba78cb1c..000000000 --- a/src/Akavache.Core.nuspec +++ /dev/null @@ -1,49 +0,0 @@ - - - - $version$ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - akavache.core - Akavache.Core - An asynchronous, persistent key-value store for desktop and mobile applications on .NET - An asynchronous, persistent key-value store for desktop and mobile applications on .NET - - - - - - - - - - - - - diff --git a/src/Akavache.Core/Akavache.Core.csproj b/src/Akavache.Core/Akavache.Core.csproj new file mode 100644 index 000000000..e999e9308 --- /dev/null +++ b/src/Akavache.Core/Akavache.Core.csproj @@ -0,0 +1,68 @@ + + + netstandard1.1;net452;uap10.0;Xamarin.iOS10;Xamarin.Mac20;MonoAndroid70 + Akavache + Akavache + An asynchronous, persistent key-value store for desktop and mobile applications on .NET + akavache.core + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Akavache/Portable/BitmapImageExtensions.cs b/src/Akavache.Core/BitmapImageExtensions.cs similarity index 100% rename from src/Akavache/Portable/BitmapImageExtensions.cs rename to src/Akavache.Core/BitmapImageExtensions.cs diff --git a/src/Akavache/Portable/BlobCache.cs b/src/Akavache.Core/BlobCache.cs old mode 100755 new mode 100644 similarity index 100% rename from src/Akavache/Portable/BlobCache.cs rename to src/Akavache.Core/BlobCache.cs diff --git a/src/Akavache/Portable/BulkOperationsMixin.cs b/src/Akavache.Core/BulkOperationsMixin.cs similarity index 100% rename from src/Akavache/Portable/BulkOperationsMixin.cs rename to src/Akavache.Core/BulkOperationsMixin.cs diff --git a/src/Akavache/Portable/DependencyResolverMixin.cs b/src/Akavache.Core/DependencyResolverMixin.cs similarity index 100% rename from src/Akavache/Portable/DependencyResolverMixin.cs rename to src/Akavache.Core/DependencyResolverMixin.cs diff --git a/src/Akavache/Portable/ExceptionHelper.cs b/src/Akavache.Core/ExceptionHelper.cs similarity index 100% rename from src/Akavache/Portable/ExceptionHelper.cs rename to src/Akavache.Core/ExceptionHelper.cs diff --git a/src/Akavache/Portable/HttpMixin.cs b/src/Akavache.Core/HttpMixinExtensions.cs similarity index 84% rename from src/Akavache/Portable/HttpMixin.cs rename to src/Akavache.Core/HttpMixinExtensions.cs index 10e6b2dd9..30dcc07c8 100644 --- a/src/Akavache/Portable/HttpMixin.cs +++ b/src/Akavache.Core/HttpMixinExtensions.cs @@ -6,13 +6,7 @@ using Splat; namespace Akavache -{ - public interface IAkavacheHttpMixin - { - IObservable DownloadUrl(IBlobCache This, string url, IDictionary headers = null, bool fetchAlways = false, DateTimeOffset? absoluteExpiration = null); - IObservable DownloadUrl(IBlobCache This, string key, string url, IDictionary headers = null, bool fetchAlways = false, DateTimeOffset? absoluteExpiration = null); - } - +{ public static class HttpMixinExtensions { /// @@ -48,7 +42,6 @@ public static IObservable DownloadUrl(this IBlobCache This, string key, { var mixin = Locator.Current.GetService(); return mixin.DownloadUrl(This, key, url, headers, fetchAlways, absoluteExpiration); - } - + } } } diff --git a/src/Akavache.Core/IAkavacheHttpMixin.cs b/src/Akavache.Core/IAkavacheHttpMixin.cs new file mode 100644 index 000000000..7fb48cc86 --- /dev/null +++ b/src/Akavache.Core/IAkavacheHttpMixin.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Splat; + +namespace Akavache +{ + public interface IAkavacheHttpMixin + { + IObservable DownloadUrl(IBlobCache This, string url, IDictionary headers = null, bool fetchAlways = false, DateTimeOffset? absoluteExpiration = null); + IObservable DownloadUrl(IBlobCache This, string key, string url, IDictionary headers = null, bool fetchAlways = false, DateTimeOffset? absoluteExpiration = null); + } +} diff --git a/src/Akavache/Portable/IBlobCache.cs b/src/Akavache.Core/IBlobCache.cs similarity index 100% rename from src/Akavache/Portable/IBlobCache.cs rename to src/Akavache.Core/IBlobCache.cs diff --git a/src/Akavache/Portable/IEncryptionProvider.cs b/src/Akavache.Core/IEncryptionProvider.cs similarity index 100% rename from src/Akavache/Portable/IEncryptionProvider.cs rename to src/Akavache.Core/IEncryptionProvider.cs diff --git a/src/Akavache/Portable/IFilesystemProvider.cs b/src/Akavache.Core/IFilesystemProvider.cs similarity index 100% rename from src/Akavache/Portable/IFilesystemProvider.cs rename to src/Akavache.Core/IFilesystemProvider.cs diff --git a/src/Akavache/Portable/IKeyedOperationQueue.cs b/src/Akavache.Core/IKeyedOperationQueue.cs similarity index 100% rename from src/Akavache/Portable/IKeyedOperationQueue.cs rename to src/Akavache.Core/IKeyedOperationQueue.cs diff --git a/src/Akavache/Portable/InMemoryBlobCache.cs b/src/Akavache.Core/InMemoryBlobCache.cs old mode 100755 new mode 100644 similarity index 100% rename from src/Akavache/Portable/InMemoryBlobCache.cs rename to src/Akavache.Core/InMemoryBlobCache.cs diff --git a/src/Akavache/Portable/JsonSerializationMixin.cs b/src/Akavache.Core/JsonSerializationMixin.cs similarity index 99% rename from src/Akavache/Portable/JsonSerializationMixin.cs rename to src/Akavache.Core/JsonSerializationMixin.cs index f98ed1d7f..338c688d3 100644 --- a/src/Akavache/Portable/JsonSerializationMixin.cs +++ b/src/Akavache.Core/JsonSerializationMixin.cs @@ -10,6 +10,7 @@ using Newtonsoft.Json; using Splat; using Akavache.Internal; +using System.Collections.Concurrent; namespace Akavache { diff --git a/src/Akavache/Portable/KeyedOperationQueue.cs b/src/Akavache.Core/KeyedOperationQueue.cs similarity index 100% rename from src/Akavache/Portable/KeyedOperationQueue.cs rename to src/Akavache.Core/KeyedOperationQueue.cs diff --git a/src/Akavache/Portable/LoginInfo.cs b/src/Akavache.Core/LoginInfo.cs similarity index 100% rename from src/Akavache/Portable/LoginInfo.cs rename to src/Akavache.Core/LoginInfo.cs diff --git a/src/Akavache/Portable/LoginMixin.cs b/src/Akavache.Core/LoginMixin.cs similarity index 100% rename from src/Akavache/Portable/LoginMixin.cs rename to src/Akavache.Core/LoginMixin.cs diff --git a/src/Akavache/MD5.cs b/src/Akavache.Core/MD5.cs similarity index 100% rename from src/Akavache/MD5.cs rename to src/Akavache.Core/MD5.cs diff --git a/src/Akavache/Android/AndroidFilesystemProvider.cs b/src/Akavache.Core/Platforms/android/AndroidFilesystemProvider.cs similarity index 100% rename from src/Akavache/Android/AndroidFilesystemProvider.cs rename to src/Akavache.Core/Platforms/android/AndroidFilesystemProvider.cs diff --git a/src/Akavache/MacFilesystemProvider.cs b/src/Akavache.Core/Platforms/apple-common/MacFilesystemProvider.cs similarity index 95% rename from src/Akavache/MacFilesystemProvider.cs rename to src/Akavache.Core/Platforms/apple-common/MacFilesystemProvider.cs index 2fa7b235c..1f15b8ba6 100644 --- a/src/Akavache/MacFilesystemProvider.cs +++ b/src/Akavache.Core/Platforms/apple-common/MacFilesystemProvider.cs @@ -3,14 +3,8 @@ using System.Reactive.Concurrency; using System.Reactive; using System.Reactive.Linq; - -#if UNIFIED using Foundation; -#elif UIKIT -using MonoTouch.Foundation; -#else -using MonoMac.Foundation; -#endif + namespace Akavache { diff --git a/src/Akavache/Facades.cs b/src/Akavache.Core/Platforms/netstandard1.1/Facades.cs similarity index 100% rename from src/Akavache/Facades.cs rename to src/Akavache.Core/Platforms/netstandard1.1/Facades.cs diff --git a/src/Akavache/SimpleFilesystemProvider.cs b/src/Akavache.Core/Platforms/shared-not-uwp/SimpleFilesystemProvider.cs similarity index 100% rename from src/Akavache/SimpleFilesystemProvider.cs rename to src/Akavache.Core/Platforms/shared-not-uwp/SimpleFilesystemProvider.cs diff --git a/src/Akavache/EncryptionProvider.cs b/src/Akavache.Core/Platforms/shared/EncryptionProvider.cs similarity index 97% rename from src/Akavache/EncryptionProvider.cs rename to src/Akavache.Core/Platforms/shared/EncryptionProvider.cs index fd0e1a400..be0a0504e 100644 --- a/src/Akavache/EncryptionProvider.cs +++ b/src/Akavache.Core/Platforms/shared/EncryptionProvider.cs @@ -1,4 +1,5 @@ -using System; + +using System; using System.Collections.Generic; using System.Linq; using System.Reactive.Linq; @@ -20,4 +21,4 @@ public IObservable DecryptBlock(byte[] block) return Observable.Return(ProtectedData.Unprotect(block, null, DataProtectionScope.CurrentUser)); } } -} +} \ No newline at end of file diff --git a/src/Akavache/HttpMixin.cs b/src/Akavache.Core/Platforms/shared/HttpMixin.cs similarity index 94% rename from src/Akavache/HttpMixin.cs rename to src/Akavache.Core/Platforms/shared/HttpMixin.cs index f9d93963b..a6391cec5 100644 --- a/src/Akavache/HttpMixin.cs +++ b/src/Akavache.Core/Platforms/shared/HttpMixin.cs @@ -1,4 +1,5 @@ -using System; + +using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; @@ -11,26 +12,12 @@ using Splat; using System.Collections.Concurrent; -#if SILVERLIGHT -using Akavache.Internal; -#endif - -#if SILVERLIGHT -using System.Net.Browser; -#endif namespace Akavache { public class AkavacheHttpMixin : IAkavacheHttpMixin { -#if SILVERLIGHT - static AkavacheHttpMixin() - { - WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp); - WebRequest.RegisterPrefix("https://", WebRequestCreator.ClientHttp); - } -#endif /// /// Download data from an HTTP URL and insert the result into the @@ -109,7 +96,7 @@ static IObservable MakeWebRequest( { IObservable request; -#if !SILVERLIGHT && !WINRT +#if !WINDOWS_UWP if (ModeDetector.InUnitTestRunner()) { request = Observable.Defer(() => @@ -174,4 +161,4 @@ static WebRequest CreateWebRequest(Uri uri, IDictionary headers) return hwr; } } -} +} \ No newline at end of file diff --git a/src/Akavache.Core/Platforms/shared/MD5Managed.cs b/src/Akavache.Core/Platforms/shared/MD5Managed.cs new file mode 100644 index 000000000..1d5ad3f4b --- /dev/null +++ b/src/Akavache.Core/Platforms/shared/MD5Managed.cs @@ -0,0 +1,92 @@ + +// Fetched from http://archive.msdn.microsoft.com/SilverlightMD5 +//Copyright (c) Microsoft Corporation. All rights reserved. +using System; +using System.Security.Cryptography; + +// ************************************************************** +// * Raw implementation of the MD5 hash algorithm +// * from RFC 1321. +// * +// * Written By: Reid Borsuk and Jenny Zheng +// * Copyright (c) Microsoft Corporation. All rights reserved. +// ************************************************************** + +namespace Akavache +{ + + internal class MD5Managed : MD5 + { + private byte[] _data; + private ABCDStruct _abcd; + private Int64 _totalLength; + private int _dataSize; + + public MD5Managed() + { + +//TODO SHANE is this ok for UWP? +#if !WINDOWS_UWP + base.HashSizeValue = 0x80; +#endif + this.Initialize(); + } + + public override void Initialize() + { + _data = new byte[64]; + _dataSize = 0; + _totalLength = 0; + _abcd = new ABCDStruct(); + //Intitial values as defined in RFC 1321 + _abcd.A = 0x67452301; + _abcd.B = 0xefcdab89; + _abcd.C = 0x98badcfe; + _abcd.D = 0x10325476; + } + + protected override void HashCore(byte[] array, int ibStart, int cbSize) + { + int startIndex = ibStart; + int totalArrayLength = _dataSize + cbSize; + if (totalArrayLength >= 64) + { + Array.Copy(array, startIndex, _data, _dataSize, 64 - _dataSize); + // Process message of 64 bytes (512 bits) + MD5Core.GetHashBlock(_data, ref _abcd, 0); + startIndex += 64 - _dataSize; + totalArrayLength -= 64; + while (totalArrayLength >= 64) + { + Array.Copy(array, startIndex, _data, 0, 64); + MD5Core.GetHashBlock(array, ref _abcd, startIndex); + totalArrayLength -= 64; + startIndex += 64; + } + _dataSize = totalArrayLength; + Array.Copy(array, startIndex, _data, 0, totalArrayLength); + } + else + { + Array.Copy(array, startIndex, _data, _dataSize, cbSize); + _dataSize = totalArrayLength; + } + _totalLength += cbSize; + } + + //TODO SHANE is this ok for UWP? +#if !WINDOWS_UWP + protected override byte[] HashFinal() + { + base.HashValue = MD5Core.GetHashFinalBlock(_data, 0, _dataSize, _abcd, _totalLength * 8); + return base.HashValue; + } +#else + protected override byte[] HashFinal() + { + return MD5Core.GetHashFinalBlock(_data, 0, _dataSize, _abcd, _totalLength * 8); + } +#endif + + } +} diff --git a/src/Akavache/Registrations.cs b/src/Akavache.Core/Platforms/shared/Registrations.cs similarity index 89% rename from src/Akavache/Registrations.cs rename to src/Akavache.Core/Platforms/shared/Registrations.cs index 766b1b99d..515bd2b92 100644 --- a/src/Akavache/Registrations.cs +++ b/src/Akavache.Core/Platforms/shared/Registrations.cs @@ -5,12 +5,8 @@ using System.Threading.Tasks; using Splat; -#if UNIFIED +#if COCOA using Foundation; -#elif UIKIT -using MonoTouch.Foundation; -#elif APPKIT -using MonoMac.Foundation; #endif #if ANDROID @@ -23,18 +19,16 @@ public class Registrations : IWantsToRegisterStuff { public void Register(IMutableDependencyResolver resolver) { -#if SILVERLIGHT || XAMARIN_MOBILE +#if XAMARIN_MOBILE var fs = new IsolatedStorageProvider(); -#elif WINRT +#elif WINDOWS_UWP var fs = new WinRTFilesystemProvider(); #else var fs = new SimpleFilesystemProvider(); #endif resolver.Register(() => fs, typeof(IFilesystemProvider), null); -#if WP8 - var enc = new WP8EncryptionProvider(); -#elif WINRT +#if WINDOWS_UWP var enc = new WinRTEncryptionProvider(); #else var enc = new EncryptionProvider(); @@ -50,8 +44,8 @@ public void Register(IMutableDependencyResolver resolver) resolver.Register(() => secure.Value, typeof(ISecureBlobCache), null); resolver.Register(() => new AkavacheHttpMixin(), typeof(IAkavacheHttpMixin), null); - -#if APPKIT || UIKIT + +#if COCOA BlobCache.ApplicationName = NSBundle.MainBundle.BundleIdentifier; resolver.Register(() => new MacFilesystemProvider(), typeof(IFilesystemProvider), null); #endif diff --git a/src/Akavache/StreamMixins.cs b/src/Akavache.Core/Platforms/shared/StreamMixins.cs similarity index 96% rename from src/Akavache/StreamMixins.cs rename to src/Akavache.Core/Platforms/shared/StreamMixins.cs index 11558a3d7..c306a272a 100644 --- a/src/Akavache/StreamMixins.cs +++ b/src/Akavache.Core/Platforms/shared/StreamMixins.cs @@ -1,8 +1,9 @@ + using System.IO; using System.Reactive; using System.Reactive.Subjects; -#if WINRT +#if WINDOWS_UWP using System.Reactive.Threading.Tasks; #endif @@ -12,7 +13,7 @@ public static class StreamMixins { public static IObservable WriteAsyncRx(this Stream This, byte[] data, int start, int length) { -#if WINRT +#if WINDOWS_UWP return This.WriteAsync(data, start, length).ToObservable(); #else var ret = new AsyncSubject(); diff --git a/src/Akavache/Utility.cs b/src/Akavache.Core/Platforms/shared/Utility.cs similarity index 95% rename from src/Akavache/Utility.cs rename to src/Akavache.Core/Platforms/shared/Utility.cs index 93c9aaa54..81046aee1 100644 --- a/src/Akavache/Utility.cs +++ b/src/Akavache.Core/Platforms/shared/Utility.cs @@ -1,4 +1,5 @@ -using System; + +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -11,7 +12,7 @@ using System.Threading; using Splat; -#if WINRT +#if WINDOWS_UWP using System.Reactive.Windows.Foundation; using Windows.Storage; #endif @@ -22,7 +23,7 @@ static class Utility { public static string GetMd5Hash(string input) { -#if WINRT +#if WINDOWS_UWP // NB: Technically, we could do this everywhere, but if we did this // upgrade, we may return different strings than we used to (i.e. // formatting-wise), which would break old caches. @@ -42,7 +43,7 @@ public static string GetMd5Hash(string input) #endif } -#if !WINRT +#if !WINDOWS_UWP public static IObservable SafeOpenFileAsync(string path, FileMode mode, FileAccess access, FileShare share, IScheduler scheduler = null) { scheduler = scheduler ?? BlobCache.TaskpoolScheduler; @@ -70,11 +71,7 @@ public static IObservable SafeOpenFileAsync(string path, FileMode mode, return; } -#if SILVERLIGHT - Observable.Start(() => new FileStream(path, mode, access, share, 4096), scheduler).Select(x => (Stream)x).Subscribe(ret); -#else Observable.Start(() => new FileStream(path, mode, access, share, 4096, false), scheduler).Cast().Subscribe(ret); -#endif } catch (Exception ex) { @@ -133,7 +130,7 @@ public static IObservable LogErrors(this IObservable This, string messa public static IObservable CopyToAsync(this Stream This, Stream destination, IScheduler scheduler = null) { -#if WINRT +#if WINDOWS_UWP return This.CopyToAsync(destination).ToObservable() .Do(x => { @@ -167,4 +164,4 @@ public static IObservable CopyToAsync(this Stream This, Stream destination }, scheduler ?? BlobCache.TaskpoolScheduler); } } -} +} \ No newline at end of file diff --git a/src/Akavache/WinRT/WinRTEncryptionProvider.cs b/src/Akavache.Core/Platforms/uap10.0/WinRTEncryptionProvider.cs similarity index 100% rename from src/Akavache/WinRT/WinRTEncryptionProvider.cs rename to src/Akavache.Core/Platforms/uap10.0/WinRTEncryptionProvider.cs diff --git a/src/Akavache/WinRT/WinRTFilesystemProvider.cs b/src/Akavache.Core/Platforms/uap10.0/WinRTFilesystemProvider.cs similarity index 100% rename from src/Akavache/WinRT/WinRTFilesystemProvider.cs rename to src/Akavache.Core/Platforms/uap10.0/WinRTFilesystemProvider.cs diff --git a/src/Akavache/WinRT/WinRTShims.cs b/src/Akavache.Core/Platforms/uap10.0/WinRTShims.cs similarity index 100% rename from src/Akavache/WinRT/WinRTShims.cs rename to src/Akavache.Core/Platforms/uap10.0/WinRTShims.cs diff --git a/src/Akavache/IsolatedStorageProvider.cs b/src/Akavache.Core/Platforms/xamarin-mobile/IsolatedStorageProvider.cs similarity index 100% rename from src/Akavache/IsolatedStorageProvider.cs rename to src/Akavache.Core/Platforms/xamarin-mobile/IsolatedStorageProvider.cs diff --git a/src/Akavache/Portable/PortableUtility.cs b/src/Akavache.Core/PortableUtility.cs similarity index 100% rename from src/Akavache/Portable/PortableUtility.cs rename to src/Akavache.Core/PortableUtility.cs diff --git a/src/Akavache.Mobile/Properties/AssemblyInfo.cs b/src/Akavache.Core/Properties/AssemblyInfo.cs similarity index 60% rename from src/Akavache.Mobile/Properties/AssemblyInfo.cs rename to src/Akavache.Core/Properties/AssemblyInfo.cs index 527ad6b25..75230c0fe 100644 --- a/src/Akavache.Mobile/Properties/AssemblyInfo.cs +++ b/src/Akavache.Core/Properties/AssemblyInfo.cs @@ -3,3 +3,5 @@ using System.Runtime.InteropServices; [assembly: InternalsVisibleTo("Akavache.Tests")] +[assembly: InternalsVisibleTo("Akavache.Sqlite3")] +[assembly: InternalsVisibleTo("Akavache.Mobile")] \ No newline at end of file diff --git a/src/Akavache/ProtectDataShim.cs b/src/Akavache.Core/ProtectDataShim.cs similarity index 100% rename from src/Akavache/ProtectDataShim.cs rename to src/Akavache.Core/ProtectDataShim.cs diff --git a/src/Akavache/Portable/RelativeTimeMixin.cs b/src/Akavache.Core/RelativeTimeMixin.cs similarity index 100% rename from src/Akavache/Portable/RelativeTimeMixin.cs rename to src/Akavache.Core/RelativeTimeMixin.cs diff --git a/src/Akavache.Deprecated.nuspec b/src/Akavache.Deprecated.nuspec deleted file mode 100644 index 7ecdf9a55..000000000 --- a/src/Akavache.Deprecated.nuspec +++ /dev/null @@ -1,20 +0,0 @@ - - - - $version$ - - - - - akavache.deprecated - Akavache.Deprecated - The deprecated, filesystem-based backend for Akavache - The deprecated, filesystem-based backend for Akavache - - - - - - - - diff --git a/src/Akavache.Deprecated/Akavache.Deprecated.csproj b/src/Akavache.Deprecated/Akavache.Deprecated.csproj deleted file mode 100644 index 47aa88403..000000000 --- a/src/Akavache.Deprecated/Akavache.Deprecated.csproj +++ /dev/null @@ -1,92 +0,0 @@ - - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {1FE2625D-844E-4224-B6BC-4E9246AF9C62} - Library - Properties - Akavache.Deprecated - Akavache.Deprecated - en-US - 512 - {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - ..\ - true - 10.0 - v4.5 - Profile259 - - - true - full - false - bin\Debug\Portable-Net45+Win8+WP8+Wpa81\ - obj\Debug\Portable-Win81+Wpa81\ - TRACE;DEBUG - prompt - 4 - - - pdbonly - true - bin\Release\Portable-Net45+Win8+WP8+Wpa81\ - obj\Release\Portable-Win81+Wpa81\ - TRACE - prompt - 4 - bin\Release\Portable-Net45+Win8+WP8+Wpa81\Akavache.Deprecated.XML - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - ..\packages\Newtonsoft.Json.6.0.3\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll - - - ..\packages\Splat.1.6.0\lib\Portable-net45+win+wpa81+wp80\Splat.dll - - - ..\packages\Rx-Core.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.PlatformServices.dll - - - - - - - - {EB73ADDD-2FE9-44C0-A1AB-20709B979B64} - Akavache_Portable - - - - 12.0 - - - - diff --git a/src/Akavache.Deprecated/EncryptedBlobCache.cs b/src/Akavache.Deprecated/EncryptedBlobCache.cs deleted file mode 100644 index a27a61528..000000000 --- a/src/Akavache.Deprecated/EncryptedBlobCache.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System; -using System.Diagnostics; -using System.IO; -using System.Reactive.Concurrency; -using System.Reactive.Linq; -using System.Reactive.Subjects; -using System.Reflection; -using Splat; -using Akavache; - -namespace Akavache.Deprecated -{ - public class EncryptedBlobCache : PersistentBlobCache, ISecureBlobCache - { - private readonly IEncryptionProvider encryption; - - public EncryptedBlobCache( - string cacheDirectory = null, - IEncryptionProvider encryptionProvider = null, - IFilesystemProvider filesystemProvider = null, - IScheduler scheduler = null, - Action> invalidatedCallback = null) - : base(cacheDirectory, filesystemProvider, scheduler, invalidatedCallback) - { - this.encryption = encryptionProvider ?? Locator.Current.GetService(); - - if (this.encryption == null) - { - throw new Exception("No IEncryptionProvider available. This should never happen, your DependencyResolver is broken"); - } - } - - protected override IObservable BeforeWriteToDiskFilter(byte[] data, IScheduler scheduler) - { - if (data.Length == 0) - { - return Observable.Return(data); - } - - return this.encryption.EncryptBlock(data); - } - - protected override IObservable AfterReadFromDiskFilter(byte[] data, IScheduler scheduler) - { - if (data.Length == 0) - { - return Observable.Return(data); - } - - return this.encryption.DecryptBlock(data); - } - } -} diff --git a/src/Akavache.Deprecated/PersistentBlobCache.cs b/src/Akavache.Deprecated/PersistentBlobCache.cs deleted file mode 100644 index 5751a0a6a..000000000 --- a/src/Akavache.Deprecated/PersistentBlobCache.cs +++ /dev/null @@ -1,407 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Reactive; -using System.Reactive.Concurrency; -using System.Reactive.Disposables; -using System.Reactive.Linq; -using System.Reactive.Subjects; -using System.Reflection; -using System.Text; -using Newtonsoft.Json; -using Splat; -using System.Collections.Concurrent; -using Akavache; -using Akavache.Internal; - -namespace Akavache.Deprecated -{ - /// - /// This class represents an asynchronous key-value store backed by a - /// directory. It stores the last 'n' key requests in memory. - /// - public class PersistentBlobCache : IBlobCache, IEnableLogger - { - readonly MemoizingMRUCache> memoizedRequests; - - protected readonly string CacheDirectory; - internal ConcurrentDictionary CacheIndex = new ConcurrentDictionary(); - readonly Subject actionTaken = new Subject(); - bool disposed; - readonly IFilesystemProvider filesystem; - - readonly IDisposable flushThreadSubscription; - - public IScheduler Scheduler { get; protected set; } - - readonly AsyncSubject shutdown = new AsyncSubject(); - public IObservable Shutdown { get { return shutdown; } } - - const string BlobCacheIndexKey = "__THISISTHEINDEX__FFS_DONT_NAME_A_FILE_THIS™"; - - public PersistentBlobCache( - string cacheDirectory = null, - IFilesystemProvider filesystemProvider = null, - IScheduler scheduler = null, - Action> invalidateCallback = null) - { - BlobCache.EnsureInitialized(); - - this.filesystem = filesystemProvider ?? Locator.Current.GetService(); - - if (this.filesystem == null) - { - throw new Exception("No IFilesystemProvider available. This should never happen, your DependencyResolver is broken"); - } - - this.CacheDirectory = cacheDirectory ?? filesystem.GetDefaultRoamingCacheDirectory(); - this.Scheduler = scheduler ?? BlobCache.TaskpoolScheduler; - - // Here, we're not actually caching the requests directly (i.e. as - // byte[]s), but as the "replayed result of the request", in the - // AsyncSubject - this makes the code infinitely simpler because - // we don't have to keep a separate list of "in-flight reads" vs - // "already completed and cached reads" - memoizedRequests = new MemoizingMRUCache>( - (x, c) => FetchOrWriteBlobFromDisk(x, c, false), 20, invalidateCallback); - - - var cacheIndex = FetchOrWriteBlobFromDisk(BlobCacheIndexKey, null, true) - .Catch(Observable.Return(new byte[0])) - .Select(x => Encoding.UTF8.GetString(x, 0, x.Length).Split('\n') - .SelectMany(ParseCacheIndexEntry) - .ToDictionary(y => y.Key, y => y.Value)) - .Select(x => new ConcurrentDictionary(x)); - - cacheIndex.Subscribe(x => CacheIndex = x); - - flushThreadSubscription = Disposable.Empty; - - if (!ModeDetector.InUnitTestRunner()) - { - flushThreadSubscription = actionTaken - .Where(_ => CacheIndex != null) - .Throttle(TimeSpan.FromSeconds(30), Scheduler) - .SelectMany(_ => FlushCacheIndex(true)) - .Subscribe(_ => this.Log().Debug("Flushing cache")); - } - - this.Log().Info("{0} entries in blob cache index", CacheIndex.Count); - } - - public IObservable Insert(string key, byte[] data, DateTimeOffset? absoluteExpiration = null) - { - if (key == null || data == null) - { - return Observable.Throw(new ArgumentNullException()); - } - - // NB: Since FetchOrWriteBlobFromDisk is guaranteed to not block, - // we never sit on this lock for any real length of time - AsyncSubject err; - lock (memoizedRequests) - { - if (disposed) return Observable.Throw(new ObjectDisposedException("PersistentBlobCache")); - - memoizedRequests.Invalidate(key); - err = memoizedRequests.Get(key, data); - } - - // If we fail trying to fetch/write the key on disk, we want to - // try again instead of replaying the same failure - err.LogErrors("Insert").Subscribe( - x => CacheIndex[key] = new CacheIndexEntry(Scheduler.Now, absoluteExpiration), - ex => Invalidate(key)); - - return err.Select(_ => Unit.Default); - } - - public IObservable Get(string key) - { - if (disposed) return Observable.Throw(new ObjectDisposedException("PersistentBlobCache")); - - if (IsKeyStale(key)) - { - Invalidate(key); - return ExceptionHelper.ObservableThrowKeyNotFoundException(key); - } - - AsyncSubject ret; - lock (memoizedRequests) - { - // There are three scenarios here, and we handle all of them - // with aplomb and elegance: - // - // 1. The key is already in memory as a completed request - we - // return the AsyncSubject which will replay the result - // - // 2. The key is currently being fetched from disk - in this - // case, MemoizingMRUCache has an AsyncSubject for it (since - // FetchOrWriteBlobFromDisk completes immediately), and the - // client will get the result when the disk I/O completes - // - // 3. The key isn't in memory and isn't being fetched - in - // this case, FetchOrWriteBlobFromDisk will be called which - // will immediately return an AsyncSubject representing the - // queued disk read. - ret = memoizedRequests.Get(key); - } - - // If we fail trying to fetch/write the key on disk, we want to - // try again instead of replaying the same failure - ret.LogErrors("Get") - .Subscribe(x => {}, ex => Invalidate(key)); - - return ret; - } - - bool IsKeyStale(string key) - { - CacheIndexEntry value; - return (CacheIndex.TryGetValue(key, out value) && value.ExpiresAt != null && value.ExpiresAt < Scheduler.Now); - } - - public IObservable GetCreatedAt(string key) - { - CacheIndexEntry value; - if (!CacheIndex.TryGetValue(key, out value)) - { - return Observable.Return(null); - } - - return Observable.Return(value.CreatedAt); - } - - public IObservable> GetAllKeys() - { - if (disposed) throw new ObjectDisposedException("PersistentBlobCache"); - return Observable.Return(CacheIndex.ToList().Where(x => x.Value.ExpiresAt == null || x.Value.ExpiresAt >= BlobCache.TaskpoolScheduler.Now).Select(x => x.Key).ToList()); - } - - public IObservable Invalidate(string key) - { - lock (memoizedRequests) - { - if (disposed) return Observable.Throw(new ObjectDisposedException("PersistentBlobCache")); - this.Log().Debug("Invalidating {0}", key); - memoizedRequests.Invalidate(key); - } - - CacheIndexEntry dontcare; - CacheIndex.TryRemove(key, out dontcare); - - var path = GetPathForKey(key); - var ret = Observable.Defer(() => filesystem.Delete(path)) - .Retry(2) - .Do(_ => actionTaken.OnNext(Unit.Default)); - - return ret.Multicast(new AsyncSubject()).PermaRef(); - } - - public IObservable InvalidateAll() - { - string[] keys; - lock (memoizedRequests) - { - if (disposed) return Observable.Throw(new ObjectDisposedException("PersistentBlobCache")); - keys = CacheIndex.Keys.ToArray(); - } - - var ret = keys.ToObservable() - .Select(x => Observable.Defer(() => Invalidate(x))) - .Merge(8) - .Aggregate(Unit.Default, (acc, x) => acc) - .Multicast(new AsyncSubject()); - - ret.Connect(); - return ret; - } - - public IObservable Vacuum() - { - return Observable.Throw(new NotImplementedException()); - } - - public void Dispose() - { - if (disposed) return; - lock (memoizedRequests) - { - if (disposed) return; - disposed = true; - - actionTaken.OnCompleted(); - flushThreadSubscription.Dispose(); - - var waitOnAllInflight = memoizedRequests.CachedValues() - .Select(x => x.Catch(Observable.Return(new byte[0]))) - .Merge(8) - .Concat(Observable.Return(new byte[0])) - .Aggregate(Unit.Default, (acc, x) => acc); - - waitOnAllInflight - .SelectMany(FlushCacheIndex(true)) - .Multicast(shutdown) - .PermaRef(); - } - } - - /// - /// This method is called immediately before writing any data to disk. - /// Override this in encrypting data stores in order to encrypt the - /// data. - /// - /// The byte data about to be written to disk. - /// The scheduler to use if an operation has - /// to be deferred. If the operation can be done immediately, use - /// Observable.Return and ignore this parameter. - /// A Future result representing the encrypted data - protected virtual IObservable BeforeWriteToDiskFilter(byte[] data, IScheduler scheduler) - { - return Observable.Return(data); - } - - /// - /// This method is called immediately after reading any data to disk. - /// Override this in encrypting data stores in order to decrypt the - /// data. - /// - /// The byte data that has just been read from - /// disk. - /// The scheduler to use if an operation has - /// to be deferred. If the operation can be done immediately, use - /// Observable.Return and ignore this parameter. - /// A Future result representing the decrypted data - protected virtual IObservable AfterReadFromDiskFilter(byte[] data, IScheduler scheduler) - { - return Observable.Return(data); - } - - AsyncSubject FetchOrWriteBlobFromDisk(string key, object byteData, bool synchronous) - { - // If this is secretly a write, dispatch to WriteBlobToDisk (we're - // kind of abusing the 'context' variable from MemoizingMRUCache - // here a bit) - if (byteData != null) - { - return WriteBlobToDisk(key, (byte[]) byteData, synchronous); - } - - var ret = new AsyncSubject(); - var ms = new MemoryStream(); - - var scheduler = synchronous ? System.Reactive.Concurrency.Scheduler.Immediate : Scheduler; - if (disposed) - { - Observable.Throw(new ObjectDisposedException("PersistentBlobCache")) - .Multicast(ret) - .PermaRef(); - return ret; - } - - Func> readResult = () => - Observable.Defer(() => - filesystem.OpenFileForReadAsync(GetPathForKey(key), scheduler)) - .Retry(1) - .SelectMany(x => x.CopyToAsync(ms, scheduler)) - .SelectMany(x => AfterReadFromDiskFilter(ms.ToArray(), scheduler)) - .Catch(ex => ExceptionHelper.ObservableThrowKeyNotFoundException(key, ex)) - .Do(_ => - { - if (!synchronous && key != BlobCacheIndexKey) - { - actionTaken.OnNext(Unit.Default); - } - }); - - readResult().Multicast(ret).PermaRef(); - return ret; - } - - AsyncSubject WriteBlobToDisk(string key, byte[] byteData, bool synchronous) - { - var ret = new AsyncSubject(); - var scheduler = synchronous ? System.Reactive.Concurrency.Scheduler.Immediate : Scheduler; - - var path = GetPathForKey(key); - - // NB: The fact that our writing AsyncSubject waits until the - // write actually completes means that an Insert immediately - // followed by a Get will take longer to process - however, - // this also means that failed writes will disappear from the - // cache, which is A Good Thing. - - Func> writeResult = () => BeforeWriteToDiskFilter(byteData, scheduler) - .Select(x => new MemoryStream(x)) - .Zip(Observable.Defer(() => - filesystem.OpenFileForWriteAsync(path, scheduler)) - .Retry(1), - (from, to) => new {from, to}) - .SelectMany(x => x.from.CopyToAsync(x.to, scheduler)) - .Select(_ => byteData) - .Do(_ => - { - if (!synchronous && key != BlobCacheIndexKey) actionTaken.OnNext(Unit.Default); - }, ex => LogHost.Default.WarnException("Failed to write out file: " + path, ex)); - - writeResult().Multicast(ret).Connect(); - return ret; - } - - public IObservable Flush() - { - return FlushCacheIndex(false); - } - - IObservable FlushCacheIndex(bool synchronous) - { - var index = CacheIndex.Select(x => JsonConvert.SerializeObject(x)); - - return WriteBlobToDisk(BlobCacheIndexKey, Encoding.UTF8.GetBytes(String.Join("\n", index)), synchronous) - .Select(_ => Unit.Default) - .Catch(ex => - { - this.Log().WarnException("Couldn't flush cache index", ex); - return Observable.Return(Unit.Default); - }); - } - - IEnumerable> ParseCacheIndexEntry(string s) - { - if (String.IsNullOrWhiteSpace(s)) - { - return Enumerable.Empty>(); - } - - try - { - return new[] {JsonConvert.DeserializeObject>(s)}; - } - catch (Exception ex) - { - this.Log().Warn("Invalid cache index entry", ex); - return Enumerable.Empty>(); - } - } - - string GetPathForKey(string key) - { - return Path.Combine(CacheDirectory, Utility.GetMd5Hash(key)); - } - } - - public class CacheIndexEntry - { - public DateTimeOffset CreatedAt { get; protected set; } - public DateTimeOffset? ExpiresAt { get; protected set; } - - public CacheIndexEntry(DateTimeOffset createdAt, DateTimeOffset? expiresAt) - { - CreatedAt = createdAt; - ExpiresAt = expiresAt; - } - } -} diff --git a/src/Akavache.Deprecated/Properties/AssemblyInfo.cs b/src/Akavache.Deprecated/Properties/AssemblyInfo.cs deleted file mode 100644 index b2de87ee8..000000000 --- a/src/Akavache.Deprecated/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: InternalsVisibleTo("Akavache.Tests")] -[assembly: InternalsVisibleTo("Akavache.Sqlite3")] -[assembly: InternalsVisibleTo("Akavache.Mac")] -[assembly: InternalsVisibleTo("Akavache.Mobile")] -[assembly: InternalsVisibleTo("Akavache.Http")] diff --git a/src/Akavache.Deprecated/Registrations.cs b/src/Akavache.Deprecated/Registrations.cs deleted file mode 100644 index bdfd3a212..000000000 --- a/src/Akavache.Deprecated/Registrations.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reactive.Linq; -using System.Text; -using System.Threading.Tasks; -using Splat; - -#if UIKIT -using MonoTouch.Foundation; -#endif - -#if APPKIT -using MonoMac.Foundation; -#endif - -#if ANDROID -using Android.App; -#endif - -namespace Akavache.Deprecated -{ - public class Registrations : IWantsToRegisterStuff - { - public void Register(IMutableDependencyResolver resolver) - { - if (ModeDetector.InUnitTestRunner()) return; - - // NB: We want the most recently registered fs, since there really - // only should be one - var fs = Locator.Current.GetService(); - if (fs == null) - { - throw new Exception("Failed to initialize Akavache properly. Do you have a reference to Akavache.dll?"); - } - - var localCache = new Lazy(() => { - fs.CreateRecursive(fs.GetDefaultLocalMachineCacheDirectory()).Wait(); - return new PersistentBlobCache(fs.GetDefaultLocalMachineCacheDirectory(), fs, BlobCache.TaskpoolScheduler); - }); - resolver.Register(() => localCache.Value, typeof(IBlobCache), "LocalMachine"); - - var userAccount = new Lazy(() => - { - fs.CreateRecursive(fs.GetDefaultRoamingCacheDirectory()).Wait(); - return new PersistentBlobCache(fs.GetDefaultRoamingCacheDirectory(), fs, BlobCache.TaskpoolScheduler); - }); - resolver.Register(() => userAccount.Value, typeof(IBlobCache), "UserAccount"); - - var secure = new Lazy(() => - { - fs.CreateRecursive(fs.GetDefaultSecretCacheDirectory()).Wait(); - return new EncryptedBlobCache(fs.GetDefaultRoamingCacheDirectory(), resolver.GetService(), fs, BlobCache.TaskpoolScheduler); - }); - resolver.Register(() => secure.Value, typeof(ISecureBlobCache), null); - } - } -} diff --git a/src/Akavache.Deprecated/packages.Akavache.Deprecated.config b/src/Akavache.Deprecated/packages.Akavache.Deprecated.config deleted file mode 100644 index bd82c4ecb..000000000 --- a/src/Akavache.Deprecated/packages.Akavache.Deprecated.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/Akavache.Mobile.nuspec b/src/Akavache.Mobile.nuspec deleted file mode 100644 index 62781ff8b..000000000 --- a/src/Akavache.Mobile.nuspec +++ /dev/null @@ -1,22 +0,0 @@ - - - - $version$ - - - - - akavache.mobile - Akavache.Mobile - An implementation of ISuspensionDriver that uses Akavache to save app state on tombstoning. - An implementation of ISuspensionDriver that uses Akavache to save app state on tombstoning. - - - - - - - - - - diff --git a/src/Akavache.Mobile/Akavache.Mobile.csproj b/src/Akavache.Mobile/Akavache.Mobile.csproj new file mode 100644 index 000000000..389c45d34 --- /dev/null +++ b/src/Akavache.Mobile/Akavache.Mobile.csproj @@ -0,0 +1,25 @@ + + + + netstandard1.1 + Akavache.Mobile + Akavache.Mobile + An asynchronous, persistent key-value store for desktop and mobile applications on .NET + akavache.mobile + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Akavache.Mobile/Akavache.Mobile_Monodroid.csproj b/src/Akavache.Mobile/Akavache.Mobile_Monodroid.csproj deleted file mode 100644 index 6c39fdc86..000000000 --- a/src/Akavache.Mobile/Akavache.Mobile_Monodroid.csproj +++ /dev/null @@ -1,169 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {192A477B-BB94-A3C1-F14E-E177EF9FEDB7} - {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Properties - Akavache.Mobile - Akavache.Mobile - 512 - - - - - - - - - 1 - v4.0.3 - - - True - full - False - bin\Debug\Monoandroid - obj\Debug\Monoandroid - DEBUG;MONO; XAMARIN_MOBILE; ANDROID - prompt - 4 - False - True - False - False - False - False - True - False - False - False - True - False - False - False - - - - - - - - - - - - - False - Full - %28none%29 - ExtendedCorrectnessRules.ruleset - false - False - None - - - true - pdbonly - True - bin\Release\Monoandroid - obj\Release\Monoandroid - MONO; XAMARIN_MOBILE;ANDROID - prompt - 4 - False - False - True - False - True - False - False - False - False - False - True - True - False - False - - - - - - - - - - - - - True - Full - %28none%29 - False - True - - - - - - - - - - - - ..\packages\Newtonsoft.Json.6.0.3\lib\portable-net40+sl4+wp7+win8\Newtonsoft.Json.dll - - - ..\packages\Splat.1.6.0\lib\monoandroid\Splat.dll - - - ..\packages\reactiveui-core.6.0.1\lib\Monoandroid\ReactiveUI.dll - - - ..\packages\Rx-Core.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll - - - - - - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - {F92A477B-BB94-A3C1-084E-E177EF9FEDB7} - Akavache_Monodroid - - - - - - diff --git a/src/Akavache.Mobile/Akavache.Mobile_WP8.csproj b/src/Akavache.Mobile/Akavache.Mobile_WP8.csproj deleted file mode 100644 index 8a43ad8d8..000000000 --- a/src/Akavache.Mobile/Akavache.Mobile_WP8.csproj +++ /dev/null @@ -1,110 +0,0 @@ - - - - Debug - AnyCPU - 10.0.20506 - 2.0 - {9F13D088-7B83-4922-97DD-18C4CBBDDEAE} - {C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} - Library - Properties - Akavache.Mobile - Akavache.Mobile - WindowsPhone - v8.0 - $(TargetFrameworkVersion) - false - true - 11.0 - true - ..\ - true - - - true - full - false - Bin\Debug\WP8\ - obj\Debug\WP8\ - DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - - - - - true - pdbonly - true - Bin\Release\WP8\ - obj\Release\WP8\ - TRACE;SILVERLIGHT;WINDOWS_PHONE - true - true - prompt - 4 - Bin\Release\WP8\Akavache.Mobile.XML - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - ..\packages\Newtonsoft.Json.6.0.3\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll - True - - - False - ..\packages\reactiveui-core.6.0.1\lib\WP8\ReactiveUI.dll - - - ..\packages\Splat.1.6.0\lib\wp8\Splat.dll - True - - - False - ..\packages\Rx-Core.2.2.5\lib\windowsphone8\System.Reactive.Core.dll - - - False - ..\packages\Rx-Interfaces.2.2.5\lib\windowsphone8\System.Reactive.Interfaces.dll - - - False - ..\packages\Rx-Linq.2.2.5\lib\windowsphone8\System.Reactive.Linq.dll - - - False - ..\packages\Rx-PlatformServices.2.2.5\lib\windowsphone8\System.Reactive.PlatformServices.dll - - - False - ..\packages\Rx-Xaml.2.2.5\lib\windowsphone8\System.Reactive.Windows.Threading.dll - - - False - ..\packages\Rx-WinRT.2.2.5\lib\windowsphone8\System.Reactive.WindowsRuntime.dll - - - - - - - - - - \ No newline at end of file diff --git a/src/Akavache.Mobile/Akavache.Mobile_WinRT.csproj b/src/Akavache.Mobile/Akavache.Mobile_WinRT.csproj deleted file mode 100644 index 76c0bb31e..000000000 --- a/src/Akavache.Mobile/Akavache.Mobile_WinRT.csproj +++ /dev/null @@ -1,107 +0,0 @@ - - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {3CC2AFD6-D25F-4C8E-BD4B-31486F368365} - Library - Properties - Akavache.Mobile - Akavache.Mobile - en-US - 512 - {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - ..\ - true - 12.0 - v4.6 - Profile32 - - - true - full - false - bin\Debug\Portable-Win81+Wpa81\ - obj\Debug\Portable-Win81+Wpa81\ - TRACE;DEBUG;NETFX_CORE; WINRT - prompt - 4 - - - - - true - pdbonly - true - bin\Release\Portable-Win81+Wpa81\ - obj\Release\Portable-Win81+Wpa81\ - TRACE;NETFX_CORE; WINRT - prompt - 4 - bin\Release\Portable-Win81+Wpa81\Akavache.Mobile.XML - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - {57655198-7a38-48a6-bf95-be57b2c3d32d} - Akavache_WinRT - - - - - ..\packages\Newtonsoft.Json.6.0.3\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll - - - ..\packages\reactiveui-core.6.0.1\lib\Portable-Win81+WPA81\ReactiveUI.dll - - - ..\packages\Splat.1.6.0\lib\Portable-Win81+Wpa81\Splat.dll - - - ..\packages\Rx-Core.2.2.5\lib\portable-win81+wpa81\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\portable-win81+wpa81\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\portable-win81+wpa81\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-win81+wpa81\System.Reactive.PlatformServices.dll - - - ..\packages\Rx-Xaml.2.2.5\lib\portable-win81+wpa81\System.Reactive.Windows.Threading.dll - - - ..\packages\Rx-WinRT.2.2.5\lib\portable-win81+wpa81\System.Reactive.WindowsRuntime.dll - - - - - - - 12.0 - - - - diff --git a/src/Akavache.Mobile/Akavache.Mobile_XamarinIOS.csproj b/src/Akavache.Mobile/Akavache.Mobile_XamarinIOS.csproj deleted file mode 100644 index 051423d7c..000000000 --- a/src/Akavache.Mobile/Akavache.Mobile_XamarinIOS.csproj +++ /dev/null @@ -1,88 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {FA91337A-9E94-4DBD-801E-05E1FDA78FFC} - {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Akavache - Resources - Akavache.Mobile - ..\ - false - - - True - full - False - bin\Debug\XamarinIOS\ - obj\Debug\Monotouch - DEBUG; MONO; UIKIT - prompt - 4 - False - false - - - true - pdbonly - True - bin\Release\XamarinIOS\ - obj\Release\Monotouch - prompt - 4 - False - MONO; UIKIT - - - - - - - - - ..\packages\Newtonsoft.Json.6.0.3\lib\portable-net40+sl4+wp7+win8\Newtonsoft.Json.dll - - - ..\packages\reactiveui-core.6.0.1\lib\Monotouch\ReactiveUI.dll - - - ..\packages\Rx-Core.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll - - - ..\packages\Splat.1.6.0\lib\monotouch\Splat.dll - - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - {f091337a-1e94-4dbd-801e-05e1fda78ffc} - Akavache_XamarinIOS - false - false - - - \ No newline at end of file diff --git a/src/Akavache.Mobile/packages.Akavache.Mobile_Monodroid.config b/src/Akavache.Mobile/packages.Akavache.Mobile_Monodroid.config deleted file mode 100644 index 4e9283d60..000000000 --- a/src/Akavache.Mobile/packages.Akavache.Mobile_Monodroid.config +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/src/Akavache.Mobile/packages.Akavache.Mobile_Monotouch.config b/src/Akavache.Mobile/packages.Akavache.Mobile_Monotouch.config deleted file mode 100644 index 6ee59628d..000000000 --- a/src/Akavache.Mobile/packages.Akavache.Mobile_Monotouch.config +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/src/Akavache.Mobile/packages.Akavache.Mobile_WP8.config b/src/Akavache.Mobile/packages.Akavache.Mobile_WP8.config deleted file mode 100644 index da826cac4..000000000 --- a/src/Akavache.Mobile/packages.Akavache.Mobile_WP8.config +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/Akavache.Mobile/packages.Akavache.Mobile_WinRT.config b/src/Akavache.Mobile/packages.Akavache.Mobile_WinRT.config deleted file mode 100644 index 4d8cc533d..000000000 --- a/src/Akavache.Mobile/packages.Akavache.Mobile_WinRT.config +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/Akavache.Sqlite3.nuspec b/src/Akavache.Sqlite3.nuspec deleted file mode 100644 index e54623cca..000000000 --- a/src/Akavache.Sqlite3.nuspec +++ /dev/null @@ -1,21 +0,0 @@ - - - - $version$ - - - - - akavache.sqlite3 - Akavache.SQLite3 - A backend for Akavache based on SQLite3, particularly recommended on mobile platforms. - A backend for Akavache based on SQLite3, particularly recommended on mobile platforms. - - - - - - - - - diff --git a/src/Akavache.Sqlite3/Akavache.Sqlite3.csproj b/src/Akavache.Sqlite3/Akavache.Sqlite3.csproj index 976b70157..15398da14 100644 --- a/src/Akavache.Sqlite3/Akavache.Sqlite3.csproj +++ b/src/Akavache.Sqlite3/Akavache.Sqlite3.csproj @@ -1,113 +1,43 @@ - - - + + - Debug - AnyCPU - 8.0.30703 - 2.0 - {241C47DF-CA8E-4296-AA03-2C48BB646ABD} - Library - Properties - Akavache.Sqlite3 + netstandard1.1 Akavache.Sqlite3 - en-US - 512 - {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - ..\ - true - 10.0 - v4.5 - Profile259 + Akavache.Sqlite3 + Akavache Sqlite3 + akavache.sqlite3 + + + + $(DefineConstants);USE_SQLITEPCL_RAW;USE_NEW_REFLECTION_API + + + + $(DefineConstants);NETFX_CORE;USE_SQLITEPCL_RAW;USE_NEW_REFLECTION_API + - - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - + + + + + + - - ..\packages\Newtonsoft.Json.6.0.3\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll - - - ..\packages\SQLitePCLRaw.bundle_e_sqlite3.1.1.0\lib\portable-net45+netcore45+wpa81+wp8+MonoAndroid10+MonoTouch10+Xamarin.iOS10\SQLitePCLRaw.batteries_e_sqlite3.dll - True - - - ..\packages\SQLitePCLRaw.bundle_e_sqlite3.1.1.0\lib\portable-net45+netcore45+wpa81+wp8+MonoAndroid10+MonoTouch10+Xamarin.iOS10\SQLitePCLRaw.batteries_v2.dll - True - - - ..\packages\SQLitePCLRaw.core.1.1.0\lib\portable-net45+netcore45+wpa81+wp8+MonoAndroid10+MonoTouch10+Xamarin.iOS10\SQLitePCLRaw.core.dll - True - - - ..\packages\Rx-Core.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.PlatformServices.dll - - - ..\packages\Splat.1.6.0\lib\Portable-net45+win+wpa81+wp80\Splat.dll - + + - + + + + - - {EB73ADDD-2FE9-44C0-A1AB-20709B979B64} - Akavache_Portable - + - - 12.0 - - - true - bin\Debug\Portable-Net45+Win8+WP8+Wpa81\ - obj\Debug\Portable-Net45+WinRT45+WP8\ - TRACE;DEBUG;USE_SQLITEPCL_RAW;USE_NEW_REFLECTION_API - full - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - bin\Release\Portable-Net45+Win8+WP8+Wpa81\ - obj\Release\Portable-Net45+WinRT45+WP8\ - TRACE;NETFX_CORE; USE_SQLITEPCL_RAW; USE_NEW_REFLECTION_API - bin\Release\Portable-Net45+Win8+WP8+Wpa81\Akavache.Sqlite3.xml - true - pdbonly - prompt - MinimumRecommendedRules.ruleset - 4 - - - + + + \ No newline at end of file diff --git a/src/Akavache.Sqlite3/BlockingCollection.cs b/src/Akavache.Sqlite3/BlockingCollection.cs deleted file mode 100644 index af8b8579b..000000000 --- a/src/Akavache.Sqlite3/BlockingCollection.cs +++ /dev/null @@ -1,938 +0,0 @@ -// -// BlockingCollection.cs -// -// Copyright (c) 2008 Jérémie "Garuma" Laval -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// -// - -using System; -using System.Threading; -using System.Collections; -using System.Collections.Generic; -using System.Diagnostics; -using System.Runtime.InteropServices; - -namespace Akavache.Sqlite3.Internal -{ - public interface IProducerConsumerCollection : IEnumerable, ICollection, IEnumerable - { - bool TryAdd (T item); - bool TryTake (out T item); - T[] ToArray (); - void CopyTo (T[] array, int index); - } - - [ComVisible (false)] - [DebuggerDisplay ("Count={Count}")] - public class BlockingCollection : IEnumerable, ICollection, IEnumerable, IDisposable - { - const int spinCount = 5; - - readonly IProducerConsumerCollection underlyingColl; - - /* These events are used solely for the purpose of having an optimized sleep cycle when - * the BlockingCollection have to wait on an external event (Add or Remove for instance) - */ - ManualResetEventSlim mreAdd = new ManualResetEventSlim (true); - ManualResetEventSlim mreRemove = new ManualResetEventSlim (true); - AtomicBoolean isComplete; - - readonly int upperBound; - - int completeId; - - /* The whole idea of the collection is to use these two long values in a transactional - * way to track and manage the actual data inside the underlying lock-free collection - * instead of directly working with it or using external locking. - * - * They are manipulated with CAS and are guaranteed to increase over time and use - * of the instance thus preventing ABA problems. - */ - int addId = int.MinValue; - int removeId = int.MinValue; - - - /* For time based operations, we share this instance of Stopwatch and base calculation - on a time offset at each of these method call */ - static Stopwatch watch = Stopwatch.StartNew (); - - #region ctors - public BlockingCollection () - : this (new ConcurrentQueue (), -1) - { - } - - public BlockingCollection (int boundedCapacity) - : this (new ConcurrentQueue (), boundedCapacity) - { - } - - public BlockingCollection (IProducerConsumerCollection collection) - : this (collection, -1) - { - } - - public BlockingCollection (IProducerConsumerCollection collection, int boundedCapacity) - { - this.underlyingColl = collection; - this.upperBound = boundedCapacity; - this.isComplete = new AtomicBoolean (); - } - #endregion - - #region Add & Remove (+ Try) - public void Add (T item) - { - Add (item, CancellationToken.None); - } - - public void Add (T item, CancellationToken cancellationToken) - { - TryAdd (item, -1, cancellationToken); - } - - public bool TryAdd (T item) - { - return TryAdd (item, 0, CancellationToken.None); - } - - public bool TryAdd (T item, int millisecondsTimeout, CancellationToken cancellationToken) - { - if (millisecondsTimeout < -1) - throw new ArgumentOutOfRangeException ("millisecondsTimeout"); - - long start = millisecondsTimeout == -1 ? 0 : watch.ElapsedMilliseconds; - SpinWait sw = new SpinWait (); - - do { - cancellationToken.ThrowIfCancellationRequested (); - - int cachedAddId = addId; - int cachedRemoveId = removeId; - int itemsIn = cachedAddId - cachedRemoveId; - - // If needed, we check and wait that the collection isn't full - if (upperBound != -1 && itemsIn > upperBound) { - if (millisecondsTimeout == 0) - return false; - - if (sw.Count <= spinCount) { - sw.SpinOnce (); - } else { - mreRemove.Reset (); - if (cachedRemoveId != removeId || cachedAddId != addId) { - mreRemove.Set (); - continue; - } - - mreRemove.Wait (ComputeTimeout (millisecondsTimeout, start), cancellationToken); - } - - continue; - } - - // Check our transaction id against completed stored one - if (isComplete.Value && cachedAddId >= completeId) - ThrowCompleteException (); - - // Validate the steps we have been doing until now - if (Interlocked.CompareExchange (ref addId, cachedAddId + 1, cachedAddId) != cachedAddId) - continue; - - // We have a slot reserved in the underlying collection, try to take it - if (!underlyingColl.TryAdd (item)) - throw new InvalidOperationException ("The underlying collection didn't accept the item."); - - // Wake up process that may have been sleeping - mreAdd.Set (); - - return true; - } while (millisecondsTimeout == -1 || (watch.ElapsedMilliseconds - start) < millisecondsTimeout); - - return false; - } - - public bool TryAdd (T item, TimeSpan timeout) - { - return TryAdd (item, (int)timeout.TotalMilliseconds); - } - - public bool TryAdd (T item, int millisecondsTimeout) - { - return TryAdd (item, millisecondsTimeout, CancellationToken.None); - } - - public T Take () - { - return Take (CancellationToken.None); - } - - public T Take (CancellationToken cancellationToken) - { - T item; - TryTake (out item, -1, cancellationToken, true); - - return item; - } - - public bool TryTake (out T item) - { - return TryTake (out item, 0, CancellationToken.None); - } - - public bool TryTake (out T item, int millisecondsTimeout, CancellationToken cancellationToken) - { - return TryTake (out item, millisecondsTimeout, cancellationToken, false); - } - - bool TryTake (out T item, int milliseconds, CancellationToken cancellationToken, bool throwComplete) - { - if (milliseconds < -1) - throw new ArgumentOutOfRangeException ("milliseconds"); - - item = default (T); - SpinWait sw = new SpinWait (); - long start = milliseconds == -1 ? 0 : watch.ElapsedMilliseconds; - - do { - cancellationToken.ThrowIfCancellationRequested (); - - int cachedRemoveId = removeId; - int cachedAddId = addId; - - // Empty case - if (cachedRemoveId == cachedAddId) { - if (milliseconds == 0) - return false; - - if (IsCompleted) { - if (throwComplete) - ThrowCompleteException (); - else - return false; - } - - if (sw.Count <= spinCount) { - sw.SpinOnce (); - } else { - mreAdd.Reset (); - if (cachedRemoveId != removeId || cachedAddId != addId) { - mreAdd.Set (); - continue; - } - - mreAdd.Wait (ComputeTimeout (milliseconds, start), cancellationToken); - } - - continue; - } - - if (Interlocked.CompareExchange (ref removeId, cachedRemoveId + 1, cachedRemoveId) != cachedRemoveId) - continue; - - while (!underlyingColl.TryTake (out item)); - - mreRemove.Set (); - - return true; - - } while (milliseconds == -1 || (watch.ElapsedMilliseconds - start) < milliseconds); - - return false; - } - - public bool TryTake (out T item, TimeSpan timeout) - { - return TryTake (out item, (int)timeout.TotalMilliseconds); - } - - public bool TryTake (out T item, int millisecondsTimeout) - { - item = default (T); - - return TryTake (out item, millisecondsTimeout, CancellationToken.None, false); - } - - static int ComputeTimeout (int millisecondsTimeout, long start) - { - return millisecondsTimeout == -1 ? 500 : (int)Math.Max (watch.ElapsedMilliseconds - start - millisecondsTimeout, 1); - } - #endregion - - #region static methods - static void CheckArray (BlockingCollection[] collections) - { - if (collections == null) - throw new ArgumentNullException ("collections"); - if (collections.Length == 0 || IsThereANullElement (collections)) - throw new ArgumentException ("The collections argument is a 0-length array or contains a null element.", "collections"); - } - - static bool IsThereANullElement (BlockingCollection[] collections) - { - foreach (BlockingCollection e in collections) - if (e == null) - return true; - return false; - } - - public static int AddToAny (BlockingCollection[] collections, T item) - { - CheckArray (collections); - int index = 0; - foreach (var coll in collections) { - try { - coll.Add (item); - return index; - } catch {} - index++; - } - return -1; - } - - public static int AddToAny (BlockingCollection[] collections, T item, CancellationToken cancellationToken) - { - CheckArray (collections); - int index = 0; - foreach (var coll in collections) { - try { - coll.Add (item, cancellationToken); - return index; - } catch {} - index++; - } - return -1; - } - - public static int TryAddToAny (BlockingCollection[] collections, T item) - { - CheckArray (collections); - int index = 0; - foreach (var coll in collections) { - if (coll.TryAdd (item)) - return index; - index++; - } - return -1; - } - - public static int TryAddToAny (BlockingCollection[] collections, T item, TimeSpan timeout) - { - CheckArray (collections); - int index = 0; - foreach (var coll in collections) { - if (coll.TryAdd (item, timeout)) - return index; - index++; - } - return -1; - } - - public static int TryAddToAny (BlockingCollection[] collections, T item, int millisecondsTimeout) - { - CheckArray (collections); - int index = 0; - foreach (var coll in collections) { - if (coll.TryAdd (item, millisecondsTimeout)) - return index; - index++; - } - return -1; - } - - public static int TryAddToAny (BlockingCollection[] collections, T item, int millisecondsTimeout, - CancellationToken cancellationToken) - { - CheckArray (collections); - int index = 0; - foreach (var coll in collections) { - if (coll.TryAdd (item, millisecondsTimeout, cancellationToken)) - return index; - index++; - } - return -1; - } - - public static int TakeFromAny (BlockingCollection[] collections, out T item) - { - item = default (T); - CheckArray (collections); - WaitHandle[] wait_table = null; - while (true) { - for (int i = 0; i < collections.Length; ++i) { - if (collections [i].TryTake (out item)) - return i; - } - if (wait_table == null) { - wait_table = new WaitHandle [collections.Length]; - for (int i = 0; i < collections.Length; ++i) - wait_table [i] = collections [i].mreRemove.WaitHandle; - } - WaitHandle.WaitAny (wait_table); - } - } - - public static int TakeFromAny (BlockingCollection[] collections, out T item, CancellationToken cancellationToken) - { - item = default (T); - CheckArray (collections); - WaitHandle[] wait_table = null; - while (true) { - for (int i = 0; i < collections.Length; ++i) { - if (collections [i].TryTake (out item)) - return i; - } - cancellationToken.ThrowIfCancellationRequested (); - if (wait_table == null) { - wait_table = new WaitHandle [collections.Length + 1]; - for (int i = 0; i < collections.Length; ++i) - wait_table [i] = collections [i].mreRemove.WaitHandle; - wait_table [collections.Length] = cancellationToken.WaitHandle; - } - WaitHandle.WaitAny (wait_table); - cancellationToken.ThrowIfCancellationRequested (); - } - } - - public static int TryTakeFromAny (BlockingCollection[] collections, out T item) - { - item = default (T); - - CheckArray (collections); - int index = 0; - foreach (var coll in collections) { - if (coll.TryTake (out item)) - return index; - index++; - } - return -1; - } - - public static int TryTakeFromAny (BlockingCollection[] collections, out T item, TimeSpan timeout) - { - item = default (T); - - CheckArray (collections); - int index = 0; - foreach (var coll in collections) { - if (coll.TryTake (out item, timeout)) - return index; - index++; - } - return -1; - } - - public static int TryTakeFromAny (BlockingCollection[] collections, out T item, int millisecondsTimeout) - { - item = default (T); - - CheckArray (collections); - int index = 0; - foreach (var coll in collections) { - if (coll.TryTake (out item, millisecondsTimeout)) - return index; - index++; - } - return -1; - } - - public static int TryTakeFromAny (BlockingCollection[] collections, out T item, int millisecondsTimeout, - CancellationToken cancellationToken) - { - item = default (T); - - CheckArray (collections); - int index = 0; - foreach (var coll in collections) { - if (coll.TryTake (out item, millisecondsTimeout, cancellationToken)) - return index; - index++; - } - return -1; - } - #endregion - - public void CompleteAdding () - { - // No further add beside that point - completeId = addId; - isComplete.Value = true; - // Wakeup some operation in case this has an impact - mreAdd.Set (); - mreRemove.Set (); - } - - void ThrowCompleteException () - { - throw new InvalidOperationException ("The BlockingCollection has" - + " been marked as complete with regards to additions."); - } - - void ICollection.CopyTo (Array array, int index) - { - underlyingColl.CopyTo (array, index); - } - - public void CopyTo (T[] array, int index) - { - underlyingColl.CopyTo (array, index); - } - - public IEnumerable GetConsumingEnumerable () - { - return GetConsumingEnumerable (CancellationToken.None); - } - - public IEnumerable GetConsumingEnumerable (CancellationToken cancellationToken) - { - while (true) { - T item = default (T); - - try { - item = Take (cancellationToken); - } catch { - // Then the exception is perfectly normal - if (IsCompleted) - break; - // otherwise rethrow - throw; - } - - yield return item; - } - } - - IEnumerator IEnumerable.GetEnumerator () - { - return ((IEnumerable)underlyingColl).GetEnumerator (); - } - - IEnumerator IEnumerable.GetEnumerator () - { - return ((IEnumerable)underlyingColl).GetEnumerator (); - } - - public void Dispose () - { - - } - - protected virtual void Dispose (bool disposing) - { - - } - - public T[] ToArray () - { - return underlyingColl.ToArray (); - } - - public int BoundedCapacity { - get { - return upperBound; - } - } - - public int Count { - get { - return underlyingColl.Count; - } - } - - public bool IsAddingCompleted { - get { - return isComplete.Value; - } - } - - public bool IsCompleted { - get { - return isComplete.Value && addId == removeId; - } - } - - object ICollection.SyncRoot { - get { - return underlyingColl.SyncRoot; - } - } - - bool ICollection.IsSynchronized { - get { - return underlyingColl.IsSynchronized; - } - } - } - - struct AtomicBooleanValue - { - int flag; - const int UnSet = 0; - const int Set = 1; - - public bool CompareAndExchange (bool expected, bool newVal) - { - int newTemp = newVal ? Set : UnSet; - int expectedTemp = expected ? Set : UnSet; - - return Interlocked.CompareExchange (ref flag, newTemp, expectedTemp) == expectedTemp; - } - - public static AtomicBooleanValue FromValue (bool value) - { - AtomicBooleanValue temp = new AtomicBooleanValue (); - temp.Value = value; - - return temp; - } - - public bool TrySet () - { - return !Exchange (true); - } - - public bool TryRelaxedSet () - { - return flag == UnSet && !Exchange (true); - } - - public bool Exchange (bool newVal) - { - int newTemp = newVal ? Set : UnSet; - return Interlocked.Exchange (ref flag, newTemp) == Set; - } - - public bool Value { - get { - return flag == Set; - } - set { - Exchange (value); - } - } - - public bool Equals (AtomicBooleanValue rhs) - { - return this.flag == rhs.flag; - } - - public override bool Equals (object rhs) - { - return rhs is AtomicBooleanValue ? Equals ((AtomicBooleanValue)rhs) : false; - } - - public override int GetHashCode () - { - return flag.GetHashCode (); - } - - public static explicit operator bool (AtomicBooleanValue rhs) - { - return rhs.Value; - } - - public static implicit operator AtomicBooleanValue (bool rhs) - { - return AtomicBooleanValue.FromValue (rhs); - } - } - - class AtomicBoolean - { - int flag; - const int UnSet = 0; - const int Set = 1; - - public bool CompareAndExchange (bool expected, bool newVal) - { - int newTemp = newVal ? Set : UnSet; - int expectedTemp = expected ? Set : UnSet; - - return Interlocked.CompareExchange (ref flag, newTemp, expectedTemp) == expectedTemp; - } - - public static AtomicBoolean FromValue (bool value) - { - AtomicBoolean temp = new AtomicBoolean (); - temp.Value = value; - - return temp; - } - - public bool TrySet () - { - return !Exchange (true); - } - - public bool TryRelaxedSet () - { - return flag == UnSet && !Exchange (true); - } - - public bool Exchange (bool newVal) - { - int newTemp = newVal ? Set : UnSet; - return Interlocked.Exchange (ref flag, newTemp) == Set; - } - - public bool Value { - get { - return flag == Set; - } - set { - Exchange (value); - } - } - - public bool Equals (AtomicBoolean rhs) - { - return this.flag == rhs.flag; - } - - public override bool Equals (object rhs) - { - return rhs is AtomicBoolean ? Equals ((AtomicBoolean)rhs) : false; - } - - public override int GetHashCode () - { - return flag.GetHashCode (); - } - - public static explicit operator bool (AtomicBoolean rhs) - { - return rhs.Value; - } - - public static implicit operator AtomicBoolean (bool rhs) - { - return AtomicBoolean.FromValue (rhs); - } - } - - [System.Diagnostics.DebuggerDisplay ("Count={Count}")] - public class ConcurrentQueue : IProducerConsumerCollection, IEnumerable, ICollection, - IEnumerable - { - class Node - { - public T Value; - public Node Next; - } - - Node head = new Node (); - Node tail; - int count; - - public ConcurrentQueue () - { - tail = head; - } - - public ConcurrentQueue (IEnumerable collection): this() - { - foreach (T item in collection) - Enqueue (item); - } - - public void Enqueue (T item) - { - Node node = new Node (); - node.Value = item; - - Node oldTail = null; - Node oldNext = null; - - bool update = false; - while (!update) { - oldTail = tail; - oldNext = oldTail.Next; - - // Did tail was already updated ? - if (tail == oldTail) { - if (oldNext == null) { - // The place is for us - update = Interlocked.CompareExchange (ref tail.Next, node, null) == null; - } else { - // another Thread already used the place so give him a hand by putting tail where it should be - Interlocked.CompareExchange (ref tail, oldNext, oldTail); - } - } - } - // At this point we added correctly our node, now we have to update tail. If it fails then it will be done by another thread - Interlocked.CompareExchange (ref tail, node, oldTail); - Interlocked.Increment (ref count); - } - - bool IProducerConsumerCollection.TryAdd (T item) - { - Enqueue (item); - return true; - } - - public bool TryDequeue (out T result) - { - result = default (T); - Node oldNext = null; - bool advanced = false; - - while (!advanced) { - Node oldHead = head; - Node oldTail = tail; - oldNext = oldHead.Next; - - if (oldHead == head) { - // Empty case ? - if (oldHead == oldTail) { - // This should be false then - if (oldNext != null) { - // If not then the linked list is mal formed, update tail - Interlocked.CompareExchange (ref tail, oldNext, oldTail); - continue; - } - result = default (T); - return false; - } else { - result = oldNext.Value; - advanced = Interlocked.CompareExchange (ref head, oldNext, oldHead) == oldHead; - } - } - } - - oldNext.Value = default (T); - - Interlocked.Decrement (ref count); - - return true; - } - - public bool TryPeek (out T result) - { - result = default (T); - bool update = true; - - while (update) - { - Node oldHead = head; - Node oldNext = oldHead.Next; - - if (oldNext == null) { - result = default (T); - return false; - } - - result = oldNext.Value; - - //check if head has been updated - update = head != oldHead; - } - return true; - } - - internal void Clear () - { - count = 0; - tail = head = new Node (); - } - - IEnumerator IEnumerable.GetEnumerator () - { - return (IEnumerator)InternalGetEnumerator (); - } - - public IEnumerator GetEnumerator () - { - return InternalGetEnumerator (); - } - - IEnumerator InternalGetEnumerator () - { - Node my_head = head; - while ((my_head = my_head.Next) != null) { - yield return my_head.Value; - } - } - - void ICollection.CopyTo (Array array, int index) - { - if (array == null) - throw new ArgumentNullException ("array"); - if (array.Rank > 1) - throw new ArgumentException ("The array can't be multidimensional"); - if (array.GetLowerBound (0) != 0) - throw new ArgumentException ("The array needs to be 0-based"); - - T[] dest = array as T[]; - if (dest == null) - throw new ArgumentException ("The array cannot be cast to the collection element type", "array"); - CopyTo (dest, index); - } - - public void CopyTo (T[] array, int index) - { - if (array == null) - throw new ArgumentNullException ("array"); - if (index < 0) - throw new ArgumentOutOfRangeException ("index"); - if (index >= array.Length) - throw new ArgumentException ("index is equals or greather than array length", "index"); - - IEnumerator e = InternalGetEnumerator (); - int i = index; - while (e.MoveNext ()) { - if (i == array.Length - index) - throw new ArgumentException ("The number of elememts in the collection exceeds the capacity of array", "array"); - array[i++] = e.Current; - } - } - - public T[] ToArray () - { - return new List (this).ToArray (); - } - - bool ICollection.IsSynchronized { - get { return true; } - } - - bool IProducerConsumerCollection.TryTake (out T item) - { - return TryDequeue (out item); - } - - object syncRoot = new object(); - object ICollection.SyncRoot { - get { return syncRoot; } - } - - public int Count { - get { - return count; - } - } - - public bool IsEmpty { - get { - return count == 0; - } - } - } -} \ No newline at end of file diff --git a/src/Akavache.Sqlite3/OperationQueue.cs b/src/Akavache.Sqlite3/OperationQueue.cs index 403443442..893a63cae 100644 --- a/src/Akavache.Sqlite3/OperationQueue.cs +++ b/src/Akavache.Sqlite3/OperationQueue.cs @@ -4,7 +4,6 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -using System.Collections.Concurrent; using System.Reactive.Concurrency; using System.Reactive.Disposables; using System.Reactive.Linq; @@ -15,6 +14,7 @@ using Akavache.Sqlite3.Internal; using SQLitePCL; using Splat; +using System.Collections.Concurrent; using AsyncLock = Akavache.Sqlite3.Internal.AsyncLock; diff --git a/src/Akavache.Sqlite3/SQLite.cs b/src/Akavache.Sqlite3/SQLite.cs index f71f815b4..d141db8fd 100644 --- a/src/Akavache.Sqlite3/SQLite.cs +++ b/src/Akavache.Sqlite3/SQLite.cs @@ -198,7 +198,7 @@ public SQLiteConnection (string databasePath, SQLiteOpenFlags openFlags, bool st Sqlite3DatabaseHandle handle; -#if SILVERLIGHT || USE_CSHARP_SQLITE || USE_SQLITEPCL_RAW +#if USE_CSHARP_SQLITE || USE_SQLITEPCL_RAW var r = SQLite3.Open (databasePath, out handle, (int)openFlags, IntPtr.Zero); #else // open using the byte[] @@ -1012,8 +1012,6 @@ void DoSavePointExecute (string savepoint, string cmd) if (0 <= depth && depth < _transactionDepth) { #if NETFX_CORE || USE_SQLITEPCL_RAW Volatile.Write (ref _transactionDepth, depth); -#elif SILVERLIGHT - _transactionDepth = depth; #else Thread.VolatileWrite (ref _transactionDepth, depth); #endif @@ -2736,12 +2734,8 @@ private CompileResult CompileExpr (Expression expr, List queryArgs) #else } else if (mem.Member is FieldInfo) { #endif -#if SILVERLIGHT - val = Expression.Lambda (expr).Compile ().DynamicInvoke (); -#else var m = (FieldInfo)mem.Member; val = m.GetValue (obj); -#endif } else { #if !USE_NEW_REFLECTION_API throw new NotSupportedException ("MemberExpr: " + mem.Member.MemberType); diff --git a/src/Akavache.Sqlite3/content/AkavacheSqliteLinkerOverride.cs.pp b/src/Akavache.Sqlite3/content/AkavacheSqliteLinkerOverride.cs.pp deleted file mode 100644 index 64f3ce6c3..000000000 --- a/src/Akavache.Sqlite3/content/AkavacheSqliteLinkerOverride.cs.pp +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using Akavache.Sqlite3; - -// Note: This class file is *required* for iOS to work correctly, and is -// also a good idea for Android if you enable "Link All Assemblies". -namespace $rootnamespace$ -{ - [Preserve] - public static class LinkerPreserve - { - static LinkerPreserve() - { - throw new Exception(typeof(SQLitePersistentBlobCache).FullName); - } - } - - - public class PreserveAttribute : Attribute - { - } -} diff --git a/src/Akavache.Sqlite3/packages.Akavache.Sqlite3.config b/src/Akavache.Sqlite3/packages.Akavache.Sqlite3.config deleted file mode 100644 index 3a9fde377..000000000 --- a/src/Akavache.Sqlite3/packages.Akavache.Sqlite3.config +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Akavache.Tests/Akavache.Tests.csproj b/src/Akavache.Tests/Akavache.Tests.csproj index 977eefd59..c42cf02d8 100644 --- a/src/Akavache.Tests/Akavache.Tests.csproj +++ b/src/Akavache.Tests/Akavache.Tests.csproj @@ -1,192 +1,36 @@ - - - + + - Debug - AnyCPU - 8.0.30703 - 2.0 - {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1} - Library - Properties - Akavache.Tests - Akavache.Tests - v4.5 - 512 - ..\..\Akavache\ - true - - - - - - true - bin\x86\Debug\ - TRACE;DEBUG;NET45 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - bin\x86\Release\ - TRACE;NET45 - true - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - bin\x64\Debug\ - TRACE;DEBUG;NET45 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - bin\x64\Release\ - TRACE;NET45 - true - full - x64 - prompt - MinimumRecommendedRules.ruleset - false + net452 + true + true + - - False - ..\packages\Rx-Testing.2.2.5\lib\net45\Microsoft.Reactive.Testing.dll - - - - False - ..\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.dll - - - - False - ..\packages\reactiveui-core.6.0.1\lib\Net45\ReactiveUI.dll - - - False - ..\packages\reactiveui-testing.6.0.1\lib\net45\ReactiveUI.Testing.dll - - - False - ..\packages\Splat.1.6.0\lib\Net45\Splat.dll - - - ..\packages\SQLitePCLRaw.bundle_e_sqlite3.1.1.0\lib\net45\SQLitePCLRaw.batteries_e_sqlite3.dll - True - - - ..\packages\SQLitePCLRaw.bundle_e_sqlite3.1.1.0\lib\net45\SQLitePCLRaw.batteries_v2.dll - True - - - ..\packages\SQLitePCLRaw.core.1.1.0\lib\net45\SQLitePCLRaw.core.dll - True - - - ..\packages\SQLitePCLRaw.provider.e_sqlite3.net45.1.1.0\lib\net45\SQLitePCLRaw.provider.e_sqlite3.dll - True - - - - - - False - ..\packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll - - - False - ..\packages\Rx-Interfaces.2.2.5\lib\net45\System.Reactive.Interfaces.dll - - - False - ..\packages\Rx-Linq.2.2.5\lib\net45\System.Reactive.Linq.dll - - - False - ..\packages\Rx-PlatformServices.2.2.5\lib\net45\System.Reactive.PlatformServices.dll - - - False - ..\packages\Rx-Xaml.2.2.5\lib\net45\System.Reactive.Windows.Threading.dll - - - - - - - - - - False - ..\packages\xunit.1.9.2\lib\net20\xunit.dll - - - False - ..\packages\xunit.extensions.1.9.2\lib\net20\xunit.extensions.dll - + + + - - - - - - - - - - - - - + + + + + + + + + - - {241c47df-ca8e-4296-aa03-2c48bb646abd} - Akavache.Sqlite3 - - - {b4e665e5-6caf-4414-a6e2-8de1c3bcf203} - Akavache_Net45 - + + - + - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - - - - - - \ No newline at end of file + + + + + + diff --git a/src/Akavache.Tests/App.xaml b/src/Akavache.Tests/App.xaml deleted file mode 100644 index 64ee3d107..000000000 --- a/src/Akavache.Tests/App.xaml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/src/Akavache.Tests/App.xaml.cs b/src/Akavache.Tests/App.xaml.cs deleted file mode 100644 index 48b951e67..000000000 --- a/src/Akavache.Tests/App.xaml.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Windows; -using Microsoft.Silverlight.Testing; -using XunitContrib.Runner.Silverlight.Toolkit; - -namespace Akavache.Tests -{ - public partial class App : Application - { - - public App() - { - this.Startup += this.Application_Startup; - this.Exit += this.Application_Exit; - this.UnhandledException += this.Application_UnhandledException; - - InitializeComponent(); - } - - private void Application_Startup(object sender, StartupEventArgs e) - { - UnitTestSystem.RegisterUnitTestProvider(new UnitTestProvider()); - RootVisual = UnitTestSystem.CreateTestPage(); - } - - private void Application_Exit(object sender, EventArgs e) - { - - } - private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e) - { - // If the app is running outside of the debugger then report the exception using - // the browser's exception mechanism. On IE this will display it a yellow alert - // icon in the status bar and Firefox will display a script error. - if (!System.Diagnostics.Debugger.IsAttached) - { - - // NOTE: This will allow the application to continue running after an exception has been thrown - // but not handled. - // For production applications this error handling should be replaced with something that will - // report the error to the website and stop the application. - e.Handled = true; - Deployment.Current.Dispatcher.BeginInvoke(delegate { ReportErrorToDOM(e); }); - } - } - private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e) - { - try - { - string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace; - errorMsg = errorMsg.Replace('"', '\'').Replace("\r\n", @"\n"); - - System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");"); - } - catch (Exception) - { - } - } - } -} \ No newline at end of file diff --git a/src/Akavache.Tests/BlobCacheExtensionsFixture.cs b/src/Akavache.Tests/BlobCacheExtensionsFixture.cs index b85e9277a..27d9329d8 100644 --- a/src/Akavache.Tests/BlobCacheExtensionsFixture.cs +++ b/src/Akavache.Tests/BlobCacheExtensionsFixture.cs @@ -9,7 +9,6 @@ using Microsoft.Reactive.Testing; using Newtonsoft.Json; using ReactiveUI; - using ReactiveUI.Testing; using Xunit; using System.Threading; diff --git a/src/Akavache.Tests/app.config b/src/Akavache.Tests/app.config deleted file mode 100644 index 9049a9cc2..000000000 --- a/src/Akavache.Tests/app.config +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Akavache.Tests/packages.config b/src/Akavache.Tests/packages.config deleted file mode 100644 index 52b951fb1..000000000 --- a/src/Akavache.Tests/packages.config +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Akavache.nuspec b/src/Akavache.nuspec deleted file mode 100644 index 489c2a178..000000000 --- a/src/Akavache.nuspec +++ /dev/null @@ -1,17 +0,0 @@ - - - - $version$ - - - - - akavache - Akavache - An asynchronous, persistent key-value store for desktop and mobile applications on .NET - An asynchronous, persistent key-value store for desktop and mobile applications on .NET - - - - - diff --git a/src/Akavache.sln b/src/Akavache.sln index d653c4e06..6ff470179 100644 --- a/src/Akavache.sln +++ b/src/Akavache.sln @@ -1,46 +1,26 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.8 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache.Tests", "Akavache.Tests\Akavache.Tests.csproj", "{0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache_Net45", "Akavache\Akavache_Net45.csproj", "{B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache_WinRT", "Akavache\Akavache_WinRT.csproj", "{57655198-7A38-48A6-BF95-BE57B2C3D32D}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mobile", "Mobile", "{D3FCAC54-DE89-4D3D-AAFD-68A378A7A9F1}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SQLite", "SQLite", "{9E059863-7633-4919-B6A7-627D80186383}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{9E586C5C-5E77-4D58-8222-3E94C60E4756}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache_Portable", "Akavache\Akavache_Portable.csproj", "{EB73ADDD-2FE9-44C0-A1AB-20709B979B64}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{9407D902-E9CF-4CB6-B601-77CDF74B9475}" ProjectSection(SolutionItems) = preProject - CommonAssemblyInfo.cs = CommonAssemblyInfo.cs - MakeRelease.ps1 = MakeRelease.ps1 + ..\appveyor.yml = ..\appveyor.yml + ..\build.cake = ..\build.cake + Directory.build.props = Directory.build.props + Directory.build.targets = Directory.build.targets Rebracer.xml = Rebracer.xml EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Deprecated", "Deprecated", "{403A7511-EACE-4DEA-9CE9-61592FB87C7B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache.Mobile_Monodroid", "Akavache.Mobile\Akavache.Mobile_Monodroid.csproj", "{192A477B-BB94-A3C1-F14E-E177EF9FEDB7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache.Mobile_XamarinIOS", "Akavache.Mobile\Akavache.Mobile_XamarinIOS.csproj", "{FA91337A-9E94-4DBD-801E-05E1FDA78FFC}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache_Monodroid", "Akavache\Akavache_Monodroid.csproj", "{F92A477B-BB94-A3C1-084E-E177EF9FEDB7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache.Mobile_WinRT", "Akavache.Mobile\Akavache.Mobile_WinRT.csproj", "{3CC2AFD6-D25F-4C8E-BD4B-31486F368365}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Akavache.Core", "Akavache.Core\Akavache.Core.csproj", "{C5D0B6E1-38B4-45C1-B9CA-2C75E0401E53}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache.Deprecated", "Akavache.Deprecated\Akavache.Deprecated.csproj", "{1FE2625D-844E-4224-B6BC-4E9246AF9C62}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Akavache.Sqlite3", "Akavache.Sqlite3\Akavache.Sqlite3.csproj", "{B5B161A0-5D64-4845-9234-FA24DA300236}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache.Sqlite3", "Akavache.Sqlite3\Akavache.Sqlite3.csproj", "{241C47DF-CA8E-4296-AA03-2C48BB646ABD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Akavache.Mobile", "Akavache.Mobile\Akavache.Mobile.csproj", "{D002EE26-219B-4182-92D2-39B4A21FA615}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache_XamarinIOS", "Akavache\Akavache_XamarinIOS.csproj", "{F091337A-1E94-4DBD-801E-05E1FDA78FFC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Akavache.Tests", "Akavache.Tests\Akavache.Tests.csproj", "{73CB420C-91E8-4B0A-9155-EFE5BE7CFCA2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Akavache_XamarinMac", "Akavache\Akavache_XamarinMac.csproj", "{1EF05CAB-AD19-489C-AC42-71C4B6507AE7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Akavache", "Akavache\Akavache.csproj", "{506AB6E3-87E2-4D88-9C5C-07D24E590AAC}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -50,111 +30,51 @@ Global Release|Mixed Platforms = Release|Mixed Platforms EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Debug|Any CPU.ActiveCfg = Debug|x86 - {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Debug|Any CPU.Build.0 = Debug|x86 - {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Release|Any CPU.ActiveCfg = Release|x86 - {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Release|Mixed Platforms.ActiveCfg = Release|x64 - {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1}.Release|Mixed Platforms.Build.0 = Release|x64 - {B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}.Release|Any CPU.Build.0 = Release|Any CPU - {B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {57655198-7A38-48A6-BF95-BE57B2C3D32D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {57655198-7A38-48A6-BF95-BE57B2C3D32D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {57655198-7A38-48A6-BF95-BE57B2C3D32D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {57655198-7A38-48A6-BF95-BE57B2C3D32D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {57655198-7A38-48A6-BF95-BE57B2C3D32D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {57655198-7A38-48A6-BF95-BE57B2C3D32D}.Release|Any CPU.Build.0 = Release|Any CPU - {57655198-7A38-48A6-BF95-BE57B2C3D32D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {57655198-7A38-48A6-BF95-BE57B2C3D32D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {EB73ADDD-2FE9-44C0-A1AB-20709B979B64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EB73ADDD-2FE9-44C0-A1AB-20709B979B64}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EB73ADDD-2FE9-44C0-A1AB-20709B979B64}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {EB73ADDD-2FE9-44C0-A1AB-20709B979B64}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {EB73ADDD-2FE9-44C0-A1AB-20709B979B64}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EB73ADDD-2FE9-44C0-A1AB-20709B979B64}.Release|Any CPU.Build.0 = Release|Any CPU - {EB73ADDD-2FE9-44C0-A1AB-20709B979B64}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {EB73ADDD-2FE9-44C0-A1AB-20709B979B64}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {192A477B-BB94-A3C1-F14E-E177EF9FEDB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {192A477B-BB94-A3C1-F14E-E177EF9FEDB7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {192A477B-BB94-A3C1-F14E-E177EF9FEDB7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {192A477B-BB94-A3C1-F14E-E177EF9FEDB7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {192A477B-BB94-A3C1-F14E-E177EF9FEDB7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {192A477B-BB94-A3C1-F14E-E177EF9FEDB7}.Release|Any CPU.Build.0 = Release|Any CPU - {192A477B-BB94-A3C1-F14E-E177EF9FEDB7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {192A477B-BB94-A3C1-F14E-E177EF9FEDB7}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {FA91337A-9E94-4DBD-801E-05E1FDA78FFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FA91337A-9E94-4DBD-801E-05E1FDA78FFC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FA91337A-9E94-4DBD-801E-05E1FDA78FFC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {FA91337A-9E94-4DBD-801E-05E1FDA78FFC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {FA91337A-9E94-4DBD-801E-05E1FDA78FFC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FA91337A-9E94-4DBD-801E-05E1FDA78FFC}.Release|Any CPU.Build.0 = Release|Any CPU - {FA91337A-9E94-4DBD-801E-05E1FDA78FFC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {FA91337A-9E94-4DBD-801E-05E1FDA78FFC}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F92A477B-BB94-A3C1-084E-E177EF9FEDB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F92A477B-BB94-A3C1-084E-E177EF9FEDB7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F92A477B-BB94-A3C1-084E-E177EF9FEDB7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F92A477B-BB94-A3C1-084E-E177EF9FEDB7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F92A477B-BB94-A3C1-084E-E177EF9FEDB7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F92A477B-BB94-A3C1-084E-E177EF9FEDB7}.Release|Any CPU.Build.0 = Release|Any CPU - {F92A477B-BB94-A3C1-084E-E177EF9FEDB7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F92A477B-BB94-A3C1-084E-E177EF9FEDB7}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3CC2AFD6-D25F-4C8E-BD4B-31486F368365}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3CC2AFD6-D25F-4C8E-BD4B-31486F368365}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3CC2AFD6-D25F-4C8E-BD4B-31486F368365}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3CC2AFD6-D25F-4C8E-BD4B-31486F368365}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3CC2AFD6-D25F-4C8E-BD4B-31486F368365}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3CC2AFD6-D25F-4C8E-BD4B-31486F368365}.Release|Any CPU.Build.0 = Release|Any CPU - {3CC2AFD6-D25F-4C8E-BD4B-31486F368365}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3CC2AFD6-D25F-4C8E-BD4B-31486F368365}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {1FE2625D-844E-4224-B6BC-4E9246AF9C62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1FE2625D-844E-4224-B6BC-4E9246AF9C62}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1FE2625D-844E-4224-B6BC-4E9246AF9C62}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {1FE2625D-844E-4224-B6BC-4E9246AF9C62}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {1FE2625D-844E-4224-B6BC-4E9246AF9C62}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1FE2625D-844E-4224-B6BC-4E9246AF9C62}.Release|Any CPU.Build.0 = Release|Any CPU - {1FE2625D-844E-4224-B6BC-4E9246AF9C62}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {1FE2625D-844E-4224-B6BC-4E9246AF9C62}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {241C47DF-CA8E-4296-AA03-2C48BB646ABD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {241C47DF-CA8E-4296-AA03-2C48BB646ABD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {241C47DF-CA8E-4296-AA03-2C48BB646ABD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {241C47DF-CA8E-4296-AA03-2C48BB646ABD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {241C47DF-CA8E-4296-AA03-2C48BB646ABD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {241C47DF-CA8E-4296-AA03-2C48BB646ABD}.Release|Any CPU.Build.0 = Release|Any CPU - {241C47DF-CA8E-4296-AA03-2C48BB646ABD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {241C47DF-CA8E-4296-AA03-2C48BB646ABD}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F091337A-1E94-4DBD-801E-05E1FDA78FFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F091337A-1E94-4DBD-801E-05E1FDA78FFC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F091337A-1E94-4DBD-801E-05E1FDA78FFC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F091337A-1E94-4DBD-801E-05E1FDA78FFC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F091337A-1E94-4DBD-801E-05E1FDA78FFC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F091337A-1E94-4DBD-801E-05E1FDA78FFC}.Release|Any CPU.Build.0 = Release|Any CPU - {F091337A-1E94-4DBD-801E-05E1FDA78FFC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F091337A-1E94-4DBD-801E-05E1FDA78FFC}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {1EF05CAB-AD19-489C-AC42-71C4B6507AE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1EF05CAB-AD19-489C-AC42-71C4B6507AE7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1EF05CAB-AD19-489C-AC42-71C4B6507AE7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {1EF05CAB-AD19-489C-AC42-71C4B6507AE7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {1EF05CAB-AD19-489C-AC42-71C4B6507AE7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1EF05CAB-AD19-489C-AC42-71C4B6507AE7}.Release|Any CPU.Build.0 = Release|Any CPU - {1EF05CAB-AD19-489C-AC42-71C4B6507AE7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {1EF05CAB-AD19-489C-AC42-71C4B6507AE7}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {C5D0B6E1-38B4-45C1-B9CA-2C75E0401E53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C5D0B6E1-38B4-45C1-B9CA-2C75E0401E53}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C5D0B6E1-38B4-45C1-B9CA-2C75E0401E53}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C5D0B6E1-38B4-45C1-B9CA-2C75E0401E53}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {C5D0B6E1-38B4-45C1-B9CA-2C75E0401E53}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C5D0B6E1-38B4-45C1-B9CA-2C75E0401E53}.Release|Any CPU.Build.0 = Release|Any CPU + {C5D0B6E1-38B4-45C1-B9CA-2C75E0401E53}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {C5D0B6E1-38B4-45C1-B9CA-2C75E0401E53}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {B5B161A0-5D64-4845-9234-FA24DA300236}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B5B161A0-5D64-4845-9234-FA24DA300236}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B5B161A0-5D64-4845-9234-FA24DA300236}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B5B161A0-5D64-4845-9234-FA24DA300236}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {B5B161A0-5D64-4845-9234-FA24DA300236}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B5B161A0-5D64-4845-9234-FA24DA300236}.Release|Any CPU.Build.0 = Release|Any CPU + {B5B161A0-5D64-4845-9234-FA24DA300236}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {B5B161A0-5D64-4845-9234-FA24DA300236}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {D002EE26-219B-4182-92D2-39B4A21FA615}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D002EE26-219B-4182-92D2-39B4A21FA615}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D002EE26-219B-4182-92D2-39B4A21FA615}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D002EE26-219B-4182-92D2-39B4A21FA615}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {D002EE26-219B-4182-92D2-39B4A21FA615}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D002EE26-219B-4182-92D2-39B4A21FA615}.Release|Any CPU.Build.0 = Release|Any CPU + {D002EE26-219B-4182-92D2-39B4A21FA615}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {D002EE26-219B-4182-92D2-39B4A21FA615}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {73CB420C-91E8-4B0A-9155-EFE5BE7CFCA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {73CB420C-91E8-4B0A-9155-EFE5BE7CFCA2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {73CB420C-91E8-4B0A-9155-EFE5BE7CFCA2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {73CB420C-91E8-4B0A-9155-EFE5BE7CFCA2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {73CB420C-91E8-4B0A-9155-EFE5BE7CFCA2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {73CB420C-91E8-4B0A-9155-EFE5BE7CFCA2}.Release|Any CPU.Build.0 = Release|Any CPU + {73CB420C-91E8-4B0A-9155-EFE5BE7CFCA2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {73CB420C-91E8-4B0A-9155-EFE5BE7CFCA2}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {506AB6E3-87E2-4D88-9C5C-07D24E590AAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {506AB6E3-87E2-4D88-9C5C-07D24E590AAC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {506AB6E3-87E2-4D88-9C5C-07D24E590AAC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {506AB6E3-87E2-4D88-9C5C-07D24E590AAC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {506AB6E3-87E2-4D88-9C5C-07D24E590AAC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {506AB6E3-87E2-4D88-9C5C-07D24E590AAC}.Release|Any CPU.Build.0 = Release|Any CPU + {506AB6E3-87E2-4D88-9C5C-07D24E590AAC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {506AB6E3-87E2-4D88-9C5C-07D24E590AAC}.Release|Mixed Platforms.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {0306DEFB-B42E-48C4-8D03-2AC9E860ADC1} = {9E586C5C-5E77-4D58-8222-3E94C60E4756} - {192A477B-BB94-A3C1-F14E-E177EF9FEDB7} = {D3FCAC54-DE89-4D3D-AAFD-68A378A7A9F1} - {FA91337A-9E94-4DBD-801E-05E1FDA78FFC} = {D3FCAC54-DE89-4D3D-AAFD-68A378A7A9F1} - {3CC2AFD6-D25F-4C8E-BD4B-31486F368365} = {D3FCAC54-DE89-4D3D-AAFD-68A378A7A9F1} - {1FE2625D-844E-4224-B6BC-4E9246AF9C62} = {403A7511-EACE-4DEA-9CE9-61592FB87C7B} - {241C47DF-CA8E-4296-AA03-2C48BB646ABD} = {9E059863-7633-4919-B6A7-627D80186383} + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {90907D23-7F59-41C3-8FCD-3402C9B66143} EndGlobalSection EndGlobal diff --git a/src/Akavache/Akavache.csproj b/src/Akavache/Akavache.csproj new file mode 100644 index 000000000..ac40b10c6 --- /dev/null +++ b/src/Akavache/Akavache.csproj @@ -0,0 +1,17 @@ + + + + netstandard1.1 + An asynchronous, persistent key-value store for desktop and mobile applications on .NET + akavache + false + + + + + + + + + + \ No newline at end of file diff --git a/src/Akavache/Akavache_Monodroid.csproj b/src/Akavache/Akavache_Monodroid.csproj deleted file mode 100644 index 8b8f4a70a..000000000 --- a/src/Akavache/Akavache_Monodroid.csproj +++ /dev/null @@ -1,189 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {F92A477B-BB94-A3C1-084E-E177EF9FEDB7} - {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Properties - Akavache - Akavache - 512 - - - - - - - - - 1 - v4.0.3 - ..\ - false - - - True - full - False - bin\Debug\Monoandroid - bin\Debug\Monoandroid - DEBUG;MONO; XAMARIN_MOBILE - prompt - 4 - False - True - False - False - False - False - True - False - False - False - True - False - False - False - - - - - - - - - - - - - False - Full - %28none%29 - ExtendedCorrectnessRules.ruleset - false - False - None - - - True - pdbonly - bin\Release\Monoandroid - obj\Release\Monoandroid - MONO; XAMARIN_MOBILE; ANDROID - prompt - 4 - False - False - True - False - True - False - False - False - False - False - True - True - False - False - - - - - - - - - - - - - True - Full - %28none%29 - False - True - - - - - - - - - - - - - ..\packages\Newtonsoft.Json.6.0.3\lib\portable-net40+sl4+wp7+win8\Newtonsoft.Json.dll - - - ..\packages\Splat.1.6.0\lib\monoandroid\Splat.dll - - - ..\packages\Rx-Core.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll - - - - - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Akavache/Akavache_Net45.csproj b/src/Akavache/Akavache_Net45.csproj deleted file mode 100644 index 51cd94f9c..000000000 --- a/src/Akavache/Akavache_Net45.csproj +++ /dev/null @@ -1,126 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {B4E665E5-6CAF-4414-A6E2-8DE1C3BCF203} - Library - Properties - Akavache - Akavache - v4.5 - 512 - ..\..\Akavache\ - true - - ..\packages\Fody.1.20.0.0 - - - true - full - false - bin\Debug\Net45\ - obj\Debug\Net45\ - DEBUG;TRACE - prompt - 4 - false - - - pdbonly - true - bin\Release\Net45\ - obj\Release\Net45\ - TRACE - prompt - 4 - false - bin\Release\Net45\Akavache.xml - - - - False - ..\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.dll - - - - False - ..\packages\Splat.1.6.0\lib\Net45\Splat.dll - - - - - False - ..\packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll - - - False - ..\packages\Rx-Interfaces.2.2.5\lib\net45\System.Reactive.Interfaces.dll - - - False - ..\packages\Rx-Linq.2.2.5\lib\net45\System.Reactive.Linq.dll - - - False - ..\packages\Rx-PlatformServices.2.2.5\lib\net45\System.Reactive.PlatformServices.dll - - - False - ..\packages\Rx-Xaml.2.2.5\lib\net45\System.Reactive.Windows.Threading.dll - - - - - - - - - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Akavache/Akavache_Portable.csproj b/src/Akavache/Akavache_Portable.csproj deleted file mode 100644 index 4d514160c..000000000 --- a/src/Akavache/Akavache_Portable.csproj +++ /dev/null @@ -1,99 +0,0 @@ - - - - - 10.0 - Debug - AnyCPU - {EB73ADDD-2FE9-44C0-A1AB-20709B979B64} - Library - Properties - Akavache - Akavache - v4.5 - Profile259 - 512 - {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - ..\ - true - 8.0.30703 - 2.0 - - - true - full - false - bin\Debug\Portable-Net45+Win8+WP8+Wpa81\ - obj\Debug\Portable-Net45+Win8+WP8+Wpa81\ - TRACE;DEBUG;PORTABLE - prompt - 4 - - - true - pdbonly - true - bin\Release\Portable-Net45+Win8+WP8+Wpa81\ - obj\Release\Portable-Net45+Win8+WP8+Wpa81\ - TRACE;PORTABLE - prompt - 4 - bin\Release\Portable-Net45+Win8+WP8+Wpa81\Akavache.xml - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - ..\packages\Newtonsoft.Json.6.0.3\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll - - - ..\packages\Splat.1.6.0\lib\Portable-net45+win+wpa81+wp80\Splat.dll - - - ..\packages\Rx-Core.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.PlatformServices.dll - - - - - - - - diff --git a/src/Akavache/Akavache_WP8.csproj b/src/Akavache/Akavache_WP8.csproj deleted file mode 100644 index c2d8e0eb6..000000000 --- a/src/Akavache/Akavache_WP8.csproj +++ /dev/null @@ -1,138 +0,0 @@ - - - - Debug - AnyCPU - 10.0.20506 - 2.0 - {A54279A3-3457-41DB-9166-67E05FD0E0B1} - {C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} - Library - Properties - Akavache - Akavache - v8.0 - - - - - WindowsPhone - false - true - true - ..\..\Akavache\ - true - 11.0 - - - true - full - false - Bin\Debug\WP8\ - obj\Debug\WP8\ - TRACE;DEBUG;SILVERLIGHT;WINDOWS_PHONE;WP8 - true - true - prompt - 4 - false - - - true - pdbonly - true - Bin\Release\WP8\ - obj\Release\WP8\ - TRACE;SILVERLIGHT;WINDOWS_PHONE;WP8 - true - true - prompt - 4 - false - Bin\Release\WP8\Akavache.XML - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ..\packages\Newtonsoft.Json.6.0.3\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll - True - - - ..\packages\Splat.1.6.0\lib\wp8\Splat.dll - True - - - False - ..\packages\Rx-Core.2.2.5\lib\windowsphone8\System.Reactive.Core.dll - - - False - ..\packages\Rx-Interfaces.2.2.5\lib\windowsphone8\System.Reactive.Interfaces.dll - - - False - ..\packages\Rx-Linq.2.2.5\lib\windowsphone8\System.Reactive.Linq.dll - - - False - ..\packages\Rx-PlatformServices.2.2.5\lib\windowsphone8\System.Reactive.PlatformServices.dll - - - False - ..\packages\Rx-Xaml.2.2.5\lib\windowsphone8\System.Reactive.Windows.Threading.dll - - - False - ..\packages\Rx-WinRT.2.2.5\lib\windowsphone8\System.Reactive.WindowsRuntime.dll - - - - - - - - - - - <_FullFrameworkReferenceAssemblyPaths>$(TargetFrameworkDirectory) - - - - diff --git a/src/Akavache/Akavache_WinRT.csproj b/src/Akavache/Akavache_WinRT.csproj deleted file mode 100644 index d3c0afe4a..000000000 --- a/src/Akavache/Akavache_WinRT.csproj +++ /dev/null @@ -1,116 +0,0 @@ - - - - - 12.0 - Debug - AnyCPU - {57655198-7A38-48A6-BF95-BE57B2C3D32D} - Library - Properties - Akavache - Akavache - v4.6 - Profile32 - 512 - {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - ..\ - true - 8.0.30703 - 2.0 - - - true - full - false - bin\Debug\Portable-Win81+Wpa81\ - obj\Debug\Portable-Net45+WinRT45+WP8\ - TRACE;DEBUG;NETFX_CORE; WINRT - prompt - 4 - - - true - pdbonly - true - bin\Release\Portable-Win81+Wpa81\ - obj\Release\Portable-Net45+WinRT45+WP8\ - TRACE;NETFX_CORE; WINRT - prompt - 4 - bin\Release\Portable-Win81+Wpa81\Akavache.xml - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ..\packages\Newtonsoft.Json.6.0.3\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll - - - ..\packages\Splat.1.6.0\lib\Portable-Win81+Wpa81\Splat.dll - - - ..\packages\Rx-Core.2.2.5\lib\portable-win81+wpa81\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\portable-win81+wpa81\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\portable-win81+wpa81\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-win81+wpa81\System.Reactive.PlatformServices.dll - - - ..\packages\Rx-Xaml.2.2.5\lib\portable-win81+wpa81\System.Reactive.Windows.Threading.dll - - - ..\packages\Rx-WinRT.2.2.5\lib\portable-win81+wpa81\System.Reactive.WindowsRuntime.dll - - - - - - - - - - - - diff --git a/src/Akavache/Akavache_XamarinIOS.csproj b/src/Akavache/Akavache_XamarinIOS.csproj deleted file mode 100644 index 53e27f564..000000000 --- a/src/Akavache/Akavache_XamarinIOS.csproj +++ /dev/null @@ -1,108 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {F091337A-1E94-4DBD-801E-05E1FDA78FFC} - {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Akavache - Resources - Akavache - ..\ - false - ..\packages\Fody.1.20.0.0 - - - True - full - False - bin\Debug\Xamarin.iOS10 - obj\Debug\Xamarin.iOS10 - DEBUG; MONO; UIKIT; UNIFIED; XAMARIN_MOBILE - prompt - 4 - False - - - pdbonly - True - bin\Release\Xamarin.iOS10 - obj\Release\Xamarin.iOS10 - prompt - 4 - False - MONO; UIKIT; UNIFIED; XAMARIN_MOBILE - true - - - - - - - - - - ..\packages\Newtonsoft.Json.6.0.3\lib\portable-net40+sl4+wp7+win8\Newtonsoft.Json.dll - - - ..\packages\Splat.1.6.0\lib\monotouch\Splat.dll - - - ..\packages\Rx-Core.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\portable-windows8+net45+wp8\System.Reactive.PlatformServices.dll - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Akavache/Akavache_XamarinMac.csproj b/src/Akavache/Akavache_XamarinMac.csproj deleted file mode 100644 index 101e81d74..000000000 --- a/src/Akavache/Akavache_XamarinMac.csproj +++ /dev/null @@ -1,131 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {1EF05CAB-AD19-489C-AC42-71C4B6507AE7} - {A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Properties - Akavache - Akavache - 512 - Resources - ..\..\Akavache\ - false - Xamarin.Mac - v2.0 - - - true - full - false - bin\Debug\Xamarin.Mac10\ - obj\Debug\Xamarin.Mac10\ - DEBUG; TRACE; MONO; APPKIT; UNIFIED - prompt - 4 - false - false - false - false - false - false - - - true - pdbonly - bin\Release\Xamarin.Mac10\ - obj\Release\Xamarin.Mac10\ - TRACE; MONO; APPKIT; UNIFIED - prompt - 4 - false - false - false - false - false - false - - - - - - - - - - - - - - - - ..\packages\Splat.1.6.0\lib\Xamarin.Mac10\Splat.dll - - - ..\packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll - - - ..\packages\Rx-Interfaces.2.2.5\lib\net45\System.Reactive.Interfaces.dll - - - ..\packages\Rx-Linq.2.2.5\lib\net45\System.Reactive.Linq.dll - - - ..\packages\Rx-PlatformServices.2.2.5\lib\net45\System.Reactive.PlatformServices.dll - - - ..\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.dll - - - - - Properties\CommonAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Akavache/MD5Managed.cs b/src/Akavache/MD5Managed.cs deleted file mode 100644 index 36aaa544c..000000000 --- a/src/Akavache/MD5Managed.cs +++ /dev/null @@ -1,84 +0,0 @@ -// Fetched from http://archive.msdn.microsoft.com/SilverlightMD5 -//Copyright (c) Microsoft Corporation. All rights reserved. -using System; -using System.Security.Cryptography; - -// ************************************************************** -// * Raw implementation of the MD5 hash algorithm -// * from RFC 1321. -// * -// * Written By: Reid Borsuk and Jenny Zheng -// * Copyright (c) Microsoft Corporation. All rights reserved. -// ************************************************************** - -namespace Akavache -{ - -#if SILVERLIGHT -internal class MD5Managed : HashAlgorithm -#else -internal class MD5Managed : MD5 -#endif -{ - private byte[] _data; - private ABCDStruct _abcd; - private Int64 _totalLength; - private int _dataSize; - - public MD5Managed() - { - base.HashSizeValue = 0x80; - this.Initialize(); - } - - public override void Initialize() - { - _data = new byte[64]; - _dataSize = 0; - _totalLength = 0; - _abcd = new ABCDStruct(); - //Intitial values as defined in RFC 1321 - _abcd.A = 0x67452301; - _abcd.B = 0xefcdab89; - _abcd.C = 0x98badcfe; - _abcd.D = 0x10325476; - } - - protected override void HashCore(byte[] array, int ibStart, int cbSize) - { - int startIndex = ibStart; - int totalArrayLength = _dataSize + cbSize; - if (totalArrayLength >= 64) - { - Array.Copy(array, startIndex, _data, _dataSize, 64 - _dataSize); - // Process message of 64 bytes (512 bits) - MD5Core.GetHashBlock(_data, ref _abcd, 0); - startIndex += 64 - _dataSize; - totalArrayLength -= 64; - while (totalArrayLength >= 64) - { - Array.Copy(array, startIndex, _data, 0, 64); - MD5Core.GetHashBlock(array, ref _abcd, startIndex); - totalArrayLength -= 64; - startIndex += 64; - } - _dataSize = totalArrayLength; - Array.Copy(array, startIndex, _data, 0, totalArrayLength); - } - else - { - Array.Copy(array, startIndex, _data, _dataSize, cbSize); - _dataSize = totalArrayLength; - } - _totalLength += cbSize; - } - - protected override byte[] HashFinal() - { - base.HashValue = MD5Core.GetHashFinalBlock(_data, 0, _dataSize, _abcd, _totalLength * 8); - return base.HashValue; - } -} - - -} \ No newline at end of file diff --git a/src/Akavache/Portable/ConcurrentDictionary.cs b/src/Akavache/Portable/ConcurrentDictionary.cs deleted file mode 100644 index 4f67ebf51..000000000 --- a/src/Akavache/Portable/ConcurrentDictionary.cs +++ /dev/null @@ -1,963 +0,0 @@ -// ConcurrentDictionary.cs -// -// Copyright (c) 2009 Jérémie "Garuma" Laval -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// -// - -using System; -using System.Threading; -using System.Collections; -using System.Collections.Generic; -using System.Runtime.Serialization; -using System.Diagnostics; - -namespace Akavache.Internal -{ - [DebuggerDisplay("Count={Count}")] - internal class ConcurrentDictionary : IDictionary, - ICollection>, IEnumerable>, - IDictionary, ICollection, IEnumerable - { - IEqualityComparer comparer; - - SplitOrderedList> internalDictionary; - - public ConcurrentDictionary() - : this(EqualityComparer.Default) - { - } - - public ConcurrentDictionary(IEnumerable> collection) - : this(collection, EqualityComparer.Default) - { - } - - public ConcurrentDictionary(IEqualityComparer comparer) - { - this.comparer = comparer; - this.internalDictionary = new SplitOrderedList>(comparer); - } - - public ConcurrentDictionary(IEnumerable> collection, IEqualityComparer comparer) - : this(comparer) - { - foreach (KeyValuePair pair in collection) - Add(pair.Key, pair.Value); - } - - // Parameters unused - public ConcurrentDictionary(int concurrencyLevel, int capacity) - : this(EqualityComparer.Default) - { - - } - - public ConcurrentDictionary(int concurrencyLevel, - IEnumerable> collection, - IEqualityComparer comparer) - : this(collection, comparer) - { - - } - - // Parameters unused - public ConcurrentDictionary(int concurrencyLevel, int capacity, IEqualityComparer comparer) - : this(comparer) - { - - } - - void CheckKey(TKey key) - { - if (key == null) - throw new ArgumentNullException("key"); - } - - void Add(TKey key, TValue value) - { - while (!TryAdd(key, value)) ; - } - - void IDictionary.Add(TKey key, TValue value) - { - Add(key, value); - } - - public bool TryAdd(TKey key, TValue value) - { - CheckKey(key); - return internalDictionary.Insert(Hash(key), key, Make(key, value)); - } - - void ICollection>.Add(KeyValuePair pair) - { - Add(pair.Key, pair.Value); - } - - public TValue AddOrUpdate(TKey key, Func addValueFactory, Func updateValueFactory) - { - CheckKey(key); - if (addValueFactory == null) - throw new ArgumentNullException("addValueFactory"); - if (updateValueFactory == null) - throw new ArgumentNullException("updateValueFactory"); - return internalDictionary.InsertOrUpdate(Hash(key), - key, - () => Make(key, addValueFactory(key)), - (e) => Make(key, updateValueFactory(key, e.Value))).Value; - } - - public TValue AddOrUpdate(TKey key, TValue addValue, Func updateValueFactory) - { - return AddOrUpdate(key, (_) => addValue, updateValueFactory); - } - - TValue AddOrUpdate(TKey key, TValue addValue, TValue updateValue) - { - CheckKey(key); - return internalDictionary.InsertOrUpdate(Hash(key), - key, - Make(key, addValue), - Make(key, updateValue)).Value; - } - - TValue GetValue(TKey key) - { - TValue temp; - if (!TryGetValue(key, out temp)) - throw new KeyNotFoundException(key.ToString()); - return temp; - } - - public bool TryGetValue(TKey key, out TValue value) - { - CheckKey(key); - KeyValuePair pair; - bool result = internalDictionary.Find(Hash(key), key, out pair); - value = pair.Value; - - return result; - } - - public bool TryUpdate(TKey key, TValue newValue, TValue comparisonValue) - { - CheckKey(key); - return internalDictionary.CompareExchange(Hash(key), key, Make(key, newValue), (e) => e.Value.Equals(comparisonValue)); - } - - public TValue this[TKey key] - { - get - { - return GetValue(key); - } - set - { - AddOrUpdate(key, value, value); - } - } - - public TValue GetOrAdd(TKey key, Func valueFactory) - { - CheckKey(key); - return internalDictionary.InsertOrGet(Hash(key), key, Make(key, default(TValue)), () => Make(key, valueFactory(key))).Value; - } - - public TValue GetOrAdd(TKey key, TValue value) - { - CheckKey(key); - return internalDictionary.InsertOrGet(Hash(key), key, Make(key, value), null).Value; - } - - public bool TryRemove(TKey key, out TValue value) - { - CheckKey(key); - KeyValuePair data; - bool result = internalDictionary.Delete(Hash(key), key, out data); - value = data.Value; - return result; - } - - bool Remove(TKey key) - { - TValue dummy; - - return TryRemove(key, out dummy); - } - - bool IDictionary.Remove(TKey key) - { - return Remove(key); - } - - bool ICollection>.Remove(KeyValuePair pair) - { - return Remove(pair.Key); - } - - public bool ContainsKey(TKey key) - { - CheckKey(key); - KeyValuePair dummy; - return internalDictionary.Find(Hash(key), key, out dummy); - } - - bool IDictionary.Contains(object key) - { - if (!(key is TKey)) - return false; - - return ContainsKey((TKey)key); - } - - void IDictionary.Remove(object key) - { - if (!(key is TKey)) - return; - - Remove((TKey)key); - } - - object IDictionary.this[object key] - { - get - { - if (!(key is TKey)) - throw new ArgumentException("key isn't of correct type", "key"); - - return this[(TKey)key]; - } - set - { - if (!(key is TKey) || !(value is TValue)) - throw new ArgumentException("key or value aren't of correct type"); - - this[(TKey)key] = (TValue)value; - } - } - - void IDictionary.Add(object key, object value) - { - if (!(key is TKey) || !(value is TValue)) - throw new ArgumentException("key or value aren't of correct type"); - - Add((TKey)key, (TValue)value); - } - - bool ICollection>.Contains(KeyValuePair pair) - { - return ContainsKey(pair.Key); - } - - public KeyValuePair[] ToArray() - { - // This is most certainly not optimum but there is - // not a lot of possibilities - - return new List>(this).ToArray(); - } - - public void Clear() - { - // Pronk - internalDictionary = new SplitOrderedList>(comparer); - } - - public int Count - { - get - { - return internalDictionary.Count; - } - } - - public bool IsEmpty - { - get - { - return Count == 0; - } - } - - bool ICollection>.IsReadOnly - { - get - { - return false; - } - } - - bool IDictionary.IsReadOnly - { - get - { - return false; - } - } - - public ICollection Keys - { - get - { - return GetPart((kvp) => kvp.Key); - } - } - - public ICollection Values - { - get - { - return GetPart((kvp) => kvp.Value); - } - } - - ICollection IDictionary.Keys - { - get - { - return (ICollection)Keys; - } - } - - ICollection IDictionary.Values - { - get - { - return (ICollection)Values; - } - } - - ICollection GetPart(Func, T> extractor) - { - List temp = new List(); - - foreach (KeyValuePair kvp in this) - temp.Add(extractor(kvp)); - - return temp; - } - - void ICollection.CopyTo(Array array, int startIndex) - { - KeyValuePair[] arr = array as KeyValuePair[]; - if (arr == null) - return; - - CopyTo(arr, startIndex, Count); - } - - void CopyTo(KeyValuePair[] array, int startIndex) - { - CopyTo(array, startIndex, Count); - } - - void ICollection>.CopyTo(KeyValuePair[] array, int startIndex) - { - CopyTo(array, startIndex); - } - - void CopyTo(KeyValuePair[] array, int startIndex, int num) - { - foreach (var kvp in this) - { - array[startIndex++] = kvp; - - if (--num <= 0) - return; - } - } - - public IEnumerator> GetEnumerator() - { - return GetEnumeratorInternal(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return (IEnumerator)GetEnumeratorInternal(); - } - - IEnumerator> GetEnumeratorInternal() - { - return internalDictionary.GetEnumerator(); - } - - IDictionaryEnumerator IDictionary.GetEnumerator() - { - return new ConcurrentDictionaryEnumerator(GetEnumeratorInternal()); - } - - class ConcurrentDictionaryEnumerator : IDictionaryEnumerator - { - IEnumerator> internalEnum; - - public ConcurrentDictionaryEnumerator(IEnumerator> internalEnum) - { - this.internalEnum = internalEnum; - } - - public bool MoveNext() - { - return internalEnum.MoveNext(); - } - - public void Reset() - { - internalEnum.Reset(); - } - - public object Current - { - get - { - return Entry; - } - } - - public DictionaryEntry Entry - { - get - { - KeyValuePair current = internalEnum.Current; - return new DictionaryEntry(current.Key, current.Value); - } - } - - public object Key - { - get - { - return internalEnum.Current.Key; - } - } - - public object Value - { - get - { - return internalEnum.Current.Value; - } - } - } - - object ICollection.SyncRoot - { - get - { - return this; - } - } - - bool IDictionary.IsFixedSize - { - get - { - return false; - } - } - - bool ICollection.IsSynchronized - { - get { return true; } - } - - static KeyValuePair Make(U key, V value) - { - return new KeyValuePair(key, value); - } - - uint Hash(TKey key) - { - return (uint)comparer.GetHashCode(key); - } - } -} - -// SplitOrderedList.cs -// -// Copyright (c) 2010 Jérémie "Garuma" Laval -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// -// - -namespace Akavache.Internal -{ - internal class SplitOrderedList - { - class Node - { - public bool Marked; - public ulong Key; - public TKey SubKey; - public T Data; - public Node Next; - - public Node Init (ulong key, TKey subKey, T data) - { - this.Key = key; - this.SubKey = subKey; - this.Data = data; - - this.Marked = false; - this.Next = null; - - return this; - } - - // Used to create dummy node - public Node Init (ulong key) - { - this.Key = key; - this.Data = default (T); - - this.Next = null; - this.Marked = false; - this.SubKey = default (TKey); - - return this; - } - - // Used to create marked node - public Node Init (Node wrapped) - { - this.Marked = true; - this.Next = wrapped; - - this.Key = 0; - this.Data = default (T); - this.SubKey = default (TKey); - - return this; - } - } - - const int MaxLoad = 5; - const uint BucketSize = 512; - - Node head; - Node tail; - - Node[] buckets = new Node [BucketSize]; - int count; - int size = 2; - - SimpleRwLock slim = new SimpleRwLock (); - - readonly IEqualityComparer comparer; - - public SplitOrderedList (IEqualityComparer comparer) - { - this.comparer = comparer; - head = new Node ().Init (0); - tail = new Node ().Init (ulong.MaxValue); - head.Next = tail; - SetBucket (0, head); - } - - public int Count { - get { - return count; - } - } - - public T InsertOrUpdate (uint key, TKey subKey, Func addGetter, Func updateGetter) - { - Node current; - bool result = InsertInternal (key, subKey, default (T), addGetter, out current); - - if (result) - return current.Data; - - // FIXME: this should have a CAS-like behavior - return current.Data = updateGetter (current.Data); - } - - public T InsertOrUpdate (uint key, TKey subKey, T addValue, T updateValue) - { - Node current; - if (InsertInternal (key, subKey, addValue, null, out current)) - return current.Data; - - // FIXME: this should have a CAS-like behavior - return current.Data = updateValue; - } - - public bool Insert (uint key, TKey subKey, T data) - { - Node current; - return InsertInternal (key, subKey, data, null, out current); - } - - public T InsertOrGet (uint key, TKey subKey, T data, Func dataCreator) - { - Node current; - InsertInternal (key, subKey, data, dataCreator, out current); - return current.Data; - } - - bool InsertInternal (uint key, TKey subKey, T data, Func dataCreator, out Node current) - { - Node node = new Node ().Init (ComputeRegularKey (key), subKey, data); - - uint b = key % (uint)size; - Node bucket; - - if ((bucket = GetBucket (b)) == null) - bucket = InitializeBucket (b); - - if (!ListInsert (node, bucket, out current, dataCreator)) - return false; - - int csize = size; - if (Interlocked.Increment (ref count) / csize > MaxLoad && (csize & 0x40000000) == 0) - Interlocked.CompareExchange (ref size, 2 * csize, csize); - - current = node; - - return true; - } - - public bool Find (uint key, TKey subKey, out T data) - { - Node node; - uint b = key % (uint)size; - data = default (T); - Node bucket; - - if ((bucket = GetBucket (b)) == null) - bucket = InitializeBucket (b); - - if (!ListFind (ComputeRegularKey (key), subKey, bucket, out node)) - return false; - - data = node.Data; - - return !node.Marked; - } - - public bool CompareExchange (uint key, TKey subKey, T data, Func check) - { - Node node; - uint b = key % (uint)size; - Node bucket; - - if ((bucket = GetBucket (b)) == null) - bucket = InitializeBucket (b); - - if (!ListFind (ComputeRegularKey (key), subKey, bucket, out node)) - return false; - - if (!check (node.Data)) - return false; - - node.Data = data; - - return true; - } - - public bool Delete (uint key, TKey subKey, out T data) - { - uint b = key % (uint)size; - Node bucket; - - if ((bucket = GetBucket (b)) == null) - bucket = InitializeBucket (b); - - if (!ListDelete (bucket, ComputeRegularKey (key), subKey, out data)) - return false; - - Interlocked.Decrement (ref count); - return true; - } - - public IEnumerator GetEnumerator () - { - Node node = head.Next; - - while (node != tail) { - while (node.Marked || (node.Key & 1) == 0) { - node = node.Next; - if (node == tail) - yield break; - } - yield return node.Data; - node = node.Next; - } - } - - Node InitializeBucket (uint b) - { - Node current; - uint parent = GetParent (b); - Node bucket; - - if ((bucket = GetBucket (parent)) == null) - bucket = InitializeBucket (parent); - - Node dummy = new Node ().Init (ComputeDummyKey (b)); - if (!ListInsert (dummy, bucket, out current, null)) - return current; - - return SetBucket (b, dummy); - } - - // Turn v's MSB off - static uint GetParent (uint v) - { - uint t, tt; - - // Find MSB position in v - var pos = (tt = v >> 16) > 0 ? - (t = tt >> 8) > 0 ? 24 + logTable[t] : 16 + logTable[tt] : - (t = v >> 8) > 0 ? 8 + logTable[t] : logTable[v]; - - return (uint)(v & ~(1 << pos)); - } - - // Reverse integer bits and make sure LSB is set - static ulong ComputeRegularKey (uint key) - { - return ComputeDummyKey (key) | 1; - } - - // Reverse integer bits - static ulong ComputeDummyKey (uint key) - { - return ((ulong)(((uint)reverseTable[key & 0xff] << 24) | - ((uint)reverseTable[(key >> 8) & 0xff] << 16) | - ((uint)reverseTable[(key >> 16) & 0xff] << 8) | - ((uint)reverseTable[(key >> 24) & 0xff]))) << 1; - } - - // Bucket storage is abstracted in a simple two-layer tree to avoid too much memory resize - Node GetBucket (uint index) - { - if (index >= buckets.Length) - return null; - return buckets[index]; - } - - Node SetBucket (uint index, Node node) - { - try { - slim.EnterReadLock (); - CheckSegment (index, true); - - Interlocked.CompareExchange (ref buckets[index], node, null); - return buckets[index]; - } finally { - slim.ExitReadLock (); - } - } - - // When we run out of space for bucket storage, we use a lock-based array resize - void CheckSegment (uint segment, bool readLockTaken) - { - if (segment < buckets.Length) - return; - - if (readLockTaken) - slim.ExitReadLock (); - try { - slim.EnterWriteLock (); - while (segment >= buckets.Length) - Array.Resize (ref buckets, buckets.Length * 2); - } finally { - slim.ExitWriteLock (); - } - if (readLockTaken) - slim.EnterReadLock (); - } - - Node ListSearch (ulong key, TKey subKey, ref Node left, Node h) - { - Node leftNodeNext = null, rightNode = null; - - do { - Node t = h; - Node tNext = t.Next; - do { - if (!tNext.Marked) { - left = t; - leftNodeNext = tNext; - } - t = tNext.Marked ? tNext.Next : tNext; - if (t == tail) - break; - - tNext = t.Next; - } while (tNext.Marked || t.Key < key || (tNext.Key == key && !comparer.Equals (subKey, t.SubKey))); - - rightNode = t; - - if (leftNodeNext == rightNode) { - if (rightNode != tail && rightNode.Next.Marked) - continue; - else - return rightNode; - } - - if (Interlocked.CompareExchange (ref left.Next, rightNode, leftNodeNext) == leftNodeNext) { - if (rightNode != tail && rightNode.Next.Marked) - continue; - else - return rightNode; - } - } while (true); - } - - bool ListDelete (Node startPoint, ulong key, TKey subKey, out T data) - { - Node rightNode = null, rightNodeNext = null, leftNode = null; - data = default (T); - Node markedNode = null; - - do { - rightNode = ListSearch (key, subKey, ref leftNode, startPoint); - if (rightNode == tail || rightNode.Key != key || !comparer.Equals (subKey, rightNode.SubKey)) - return false; - - data = rightNode.Data; - rightNodeNext = rightNode.Next; - - if (!rightNodeNext.Marked) { - if (markedNode == null) - markedNode = new Node (); - markedNode.Init (rightNodeNext); - - if (Interlocked.CompareExchange (ref rightNode.Next, markedNode, rightNodeNext) == rightNodeNext) - break; - } - } while (true); - - if (Interlocked.CompareExchange (ref leftNode.Next, rightNodeNext, rightNode) != rightNode) - ListSearch (rightNode.Key, subKey, ref leftNode, startPoint); - - return true; - } - - bool ListInsert (Node newNode, Node startPoint, out Node current, Func dataCreator) - { - ulong key = newNode.Key; - Node rightNode = null, leftNode = null; - - do { - rightNode = current = ListSearch (key, newNode.SubKey, ref leftNode, startPoint); - if (rightNode != tail && rightNode.Key == key && comparer.Equals (newNode.SubKey, rightNode.SubKey)) - return false; - - newNode.Next = rightNode; - if (dataCreator != null) - newNode.Data = dataCreator (); - if (Interlocked.CompareExchange (ref leftNode.Next, newNode, rightNode) == rightNode) - return true; - } while (true); - } - - bool ListFind (ulong key, TKey subKey, Node startPoint, out Node data) - { - Node rightNode = null, leftNode = null; - data = null; - - rightNode = ListSearch (key, subKey, ref leftNode, startPoint); - data = rightNode; - - return rightNode != tail && rightNode.Key == key && comparer.Equals (subKey, rightNode.SubKey); - } - - static readonly byte[] reverseTable = { - 0, 128, 64, 192, 32, 160, 96, 224, 16, 144, 80, 208, 48, 176, 112, 240, 8, 136, 72, 200, 40, 168, 104, 232, 24, 152, 88, 216, 56, 184, 120, 248, 4, 132, 68, 196, 36, 164, 100, 228, 20, 148, 84, 212, 52, 180, 116, 244, 12, 140, 76, 204, 44, 172, 108, 236, 28, 156, 92, 220, 60, 188, 124, 252, 2, 130, 66, 194, 34, 162, 98, 226, 18, 146, 82, 210, 50, 178, 114, 242, 10, 138, 74, 202, 42, 170, 106, 234, 26, 154, 90, 218, 58, 186, 122, 250, 6, 134, 70, 198, 38, 166, 102, 230, 22, 150, 86, 214, 54, 182, 118, 246, 14, 142, 78, 206, 46, 174, 110, 238, 30, 158, 94, 222, 62, 190, 126, 254, 1, 129, 65, 193, 33, 161, 97, 225, 17, 145, 81, 209, 49, 177, 113, 241, 9, 137, 73, 201, 41, 169, 105, 233, 25, 153, 89, 217, 57, 185, 121, 249, 5, 133, 69, 197, 37, 165, 101, 229, 21, 149, 85, 213, 53, 181, 117, 245, 13, 141, 77, 205, 45, 173, 109, 237, 29, 157, 93, 221, 61, 189, 125, 253, 3, 131, 67, 195, 35, 163, 99, 227, 19, 147, 83, 211, 51, 179, 115, 243, 11, 139, 75, 203, 43, 171, 107, 235, 27, 155, 91, 219, 59, 187, 123, 251, 7, 135, 71, 199, 39, 167, 103, 231, 23, 151, 87, 215, 55, 183, 119, 247, 15, 143, 79, 207, 47, 175, 111, 239, 31, 159, 95, 223, 63, 191, 127, 255 - }; - - static readonly byte[] logTable = { - 0xFF, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 - }; - - struct SimpleRwLock - { - const int RwWait = 1; - const int RwWrite = 2; - const int RwRead = 4; - - int rwlock; - - public void EnterReadLock () - { - SpinWait sw = new SpinWait (); - do { - while ((rwlock & (RwWrite | RwWait)) > 0) - sw.SpinOnce (); - - if ((Interlocked.Add (ref rwlock, RwRead) & (RwWait | RwWait)) == 0) - return; - - Interlocked.Add (ref rwlock, -RwRead); - } while (true); - } - - public void ExitReadLock () - { - Interlocked.Add (ref rwlock, -RwRead); - } - - public void EnterWriteLock () - { - SpinWait sw = new SpinWait (); - do { - int state = rwlock; - if (state < RwWrite) { - if (Interlocked.CompareExchange (ref rwlock, RwWrite, state) == state) - return; - state = rwlock; - } - // We register our interest in taking the Write lock (if upgradeable it's already done) - while ((state & RwWait) == 0 && Interlocked.CompareExchange (ref rwlock, state | RwWait, state) != state) - state = rwlock; - // Before falling to sleep - while (rwlock > RwWait) - sw.SpinOnce (); - } while (true); - } - - public void ExitWriteLock () - { - Interlocked.Add (ref rwlock, -RwWrite); - } - } - } -} \ No newline at end of file diff --git a/src/Akavache/Properties/AssemblyInfo.cs b/src/Akavache/Properties/AssemblyInfo.cs deleted file mode 100644 index 872deffbc..000000000 --- a/src/Akavache/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: InternalsVisibleTo("Akavache.Tests")] -[assembly: InternalsVisibleTo("Akavache.Sqlite3")] -[assembly: InternalsVisibleTo("Akavache.Mac")] -[assembly: InternalsVisibleTo("Akavache.Mobile")] -[assembly: InternalsVisibleTo("Akavache.Deprecated")] \ No newline at end of file diff --git a/src/Akavache/WP8/WP8EncryptionProvider.cs b/src/Akavache/WP8/WP8EncryptionProvider.cs deleted file mode 100644 index 6168fc3cd..000000000 --- a/src/Akavache/WP8/WP8EncryptionProvider.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reactive.Linq; -using System.Security.Cryptography; -using System.Text; -using System.Threading.Tasks; - -namespace Akavache -{ - public class WP8EncryptionProvider : IEncryptionProvider - { - public IObservable EncryptBlock(byte[] block) - { - return Observable.Return(ProtectedData.Protect(block, null)); - } - - public IObservable DecryptBlock(byte[] block) - { - return Observable.Return(ProtectedData.Unprotect(block, null)); - } - } -} \ No newline at end of file diff --git a/src/Akavache/packages.Akavache_Monodroid.config b/src/Akavache/packages.Akavache_Monodroid.config deleted file mode 100644 index 3c5bdf441..000000000 --- a/src/Akavache/packages.Akavache_Monodroid.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/Akavache/packages.Akavache_Net45.config b/src/Akavache/packages.Akavache_Net45.config deleted file mode 100644 index 289e41367..000000000 --- a/src/Akavache/packages.Akavache_Net45.config +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/src/Akavache/packages.Akavache_Portable.config b/src/Akavache/packages.Akavache_Portable.config deleted file mode 100644 index bd82c4ecb..000000000 --- a/src/Akavache/packages.Akavache_Portable.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/Akavache/packages.Akavache_WP8.config b/src/Akavache/packages.Akavache_WP8.config deleted file mode 100644 index a8f725295..000000000 --- a/src/Akavache/packages.Akavache_WP8.config +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/src/Akavache/packages.Akavache_WinRT.config b/src/Akavache/packages.Akavache_WinRT.config deleted file mode 100644 index c89cf4516..000000000 --- a/src/Akavache/packages.Akavache_WinRT.config +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/src/Akavache/packages.Akavache_XamarinIOS.config b/src/Akavache/packages.Akavache_XamarinIOS.config deleted file mode 100644 index 6ace4634b..000000000 --- a/src/Akavache/packages.Akavache_XamarinIOS.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/Akavache/packages.Akavache_XamarinMac.config b/src/Akavache/packages.Akavache_XamarinMac.config deleted file mode 100644 index 81725106b..000000000 --- a/src/Akavache/packages.Akavache_XamarinMac.config +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/CommonAssemblyInfo.cs b/src/CommonAssemblyInfo.cs deleted file mode 100644 index c68dd6e69..000000000 --- a/src/CommonAssemblyInfo.cs +++ /dev/null @@ -1,13 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by Cake. -// -//------------------------------------------------------------------------------ -using System.Reflection; - -[assembly: AssemblyProduct("Akavache")] -[assembly: AssemblyVersion("0.0.1")] -[assembly: AssemblyFileVersion("0.0.1")] -[assembly: AssemblyInformationalVersion("0.0.0.1")] -[assembly: AssemblyCopyright("Copyright (c) Paul Betts")] - diff --git a/src/Directory.build.props b/src/Directory.build.props new file mode 100644 index 000000000..476d3f470 --- /dev/null +++ b/src/Directory.build.props @@ -0,0 +1,27 @@ + + + Copyright (c) GitHub + https://opensource.org/licenses/MIT + https://github.com/akavache/Akavache + https://avatars0.githubusercontent.com/u/5924219?v=3&s=200 + Paul Betts + paulcbetts + Akavache;Cache;Xamarin;Sqlite3;Magic + https://github.com/akavache/Akavache/releases + + $(NoWarn);1591 + true + + AnyCPU + full + $(MSBuildProjectName.Contains('Tests')) + + + + + + + + + + \ No newline at end of file diff --git a/src/Directory.build.targets b/src/Directory.build.targets new file mode 100644 index 000000000..a53f097af --- /dev/null +++ b/src/Directory.build.targets @@ -0,0 +1,25 @@ + + + $(DefineConstants);PORTABLE + + + $(DefineConstants);NET_452;XAML + + + $(DefineConstants);NETFX_CORE;XAML;WINDOWS_UWP + 10.0.14393.0 + + + $(DefineConstants);MONO;UIKIT;COCOA;XAMARIN_MOBILE + + + $(DefineConstants);MONO;COCOA + + + $(DefineConstants);MONO;ANDROID;XAMARIN_MOBILE + + + + + + \ No newline at end of file diff --git a/src/Rebracer.xml b/src/Rebracer.xml index db058f8a4..f381a6671 100644 --- a/src/Rebracer.xml +++ b/src/Rebracer.xml @@ -10,20 +10,30 @@ - TODO:2 - HACK:2 + HACK:2 + TODO:2 UNDONE:2 UnresolvedMergeConflict:3 - true - true + false + false false + 0 + 0 1 + 1 1 + 0 + 0 + 0 + 1 + 0 + 1 + 1 1 1 1 @@ -34,6 +44,7 @@ 2 0 1 + 1 1 1 0 @@ -41,12 +52,14 @@ 1 1 1 + 1 1 1 1 1 1 1 + 1 1 1 1 @@ -73,6 +86,11 @@ 0 0 0 + 1 + 1 + 0 + 1 + 0 0 0 1 @@ -93,6 +111,7 @@ true false false + false true true @@ -103,6 +122,7 @@ true true true + 1 true false true @@ -110,6 +130,8 @@ false true false + true + false false false false @@ -120,6 +142,7 @@ false false false + false false false false @@ -129,26 +152,39 @@ false false false + false + false + false + false false true + true + true + false true true true + true false true false true false + false true false 1 true + 2 + 2 0 5 2 false {}[]().,:;+-*/%&|^!=<>?@#\ + false + false true 3 0 @@ -161,13 +197,26 @@ false 0 0 + false 0 1 + false + true false false + 2 true + false + false + false + false + true + true + false + false false 60 + false false false true @@ -175,12 +224,14 @@ 2 2 2 + true false false true true false false + 1 true false false @@ -195,12 +246,16 @@ false true false + false true true false false + false + true + false true true true @@ -213,12 +268,19 @@ true false false + true true false false false + false + false + false + false + false + false true true true diff --git a/tests/NuGetInstallationIntegrationTests/.nuget/NuGet.config b/tests/NuGetInstallationIntegrationTests/.nuget/NuGet.config new file mode 100644 index 000000000..9b3252db4 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/.nuget/NuGet.config @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/Android/Android.csproj b/tests/NuGetInstallationIntegrationTests/Android/Android.csproj new file mode 100644 index 000000000..68a817035 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/Android/Android.csproj @@ -0,0 +1,93 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {B92C0A64-50A8-49F0-AA39-0075CEF16377} + {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + Properties + Android + Android + 512 + True + Resources\Resource.Designer.cs + Off + True + v7.1 + Properties\AndroidManifest.xml + t + + + True + Full + False + bin\Debug\ + DEBUG;TRACE + prompt + 4 + True + None + False + + + PdbOnly + True + True + bin\Release\ + TRACE + prompt + 4 + False + SdkOnly + True + + + + + + + + + + + + + + + + + + + + + + + Designer + + + + + + + + + + + + + + REPLACEME-AKAVACHE-VERSION + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/Android/Assets/AboutAssets.txt b/tests/NuGetInstallationIntegrationTests/Android/Assets/AboutAssets.txt new file mode 100644 index 000000000..ee3988629 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/Android/Assets/AboutAssets.txt @@ -0,0 +1,19 @@ +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/tests/NuGetInstallationIntegrationTests/Android/GettingStarted.Xamarin b/tests/NuGetInstallationIntegrationTests/Android/GettingStarted.Xamarin new file mode 100644 index 000000000..e9d4f6a41 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/Android/GettingStarted.Xamarin @@ -0,0 +1,4 @@ + + GS\Android\CS\AndroidApp\GettingStarted.html + false + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/Android/MainActivity.cs b/tests/NuGetInstallationIntegrationTests/Android/MainActivity.cs new file mode 100644 index 000000000..111619ea3 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/Android/MainActivity.cs @@ -0,0 +1,19 @@ +using Android.App; +using Android.Widget; +using Android.OS; + +namespace Android +{ + [Activity(Label = "Android", MainLauncher = true, Icon = "@drawable/icon")] + public class MainActivity : Activity + { + protected override void OnCreate(Bundle bundle) + { + base.OnCreate(bundle); + + // Set our view from the "main" layout resource + // SetContentView (Resource.Layout.Main); + } + } +} + diff --git a/tests/NuGetInstallationIntegrationTests/Android/Properties/AndroidManifest.xml b/tests/NuGetInstallationIntegrationTests/Android/Properties/AndroidManifest.xml new file mode 100644 index 000000000..c3130f5ba --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/Android/Properties/AndroidManifest.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/Android/Properties/AssemblyInfo.cs b/tests/NuGetInstallationIntegrationTests/Android/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..6a9d54518 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/Android/Properties/AssemblyInfo.cs @@ -0,0 +1,30 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Android.App; + +// 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("Android")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Android")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[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("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/tests/NuGetInstallationIntegrationTests/Android/Resources/AboutResources.txt b/tests/NuGetInstallationIntegrationTests/Android/Resources/AboutResources.txt new file mode 100644 index 000000000..c2bca974c --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/Android/Resources/AboutResources.txt @@ -0,0 +1,44 @@ +Images, layout descriptions, binary blobs and string dictionaries can be included +in your application as resource files. Various Android APIs are designed to +operate on the resource IDs instead of dealing with images, strings or binary blobs +directly. + +For example, a sample Android app that contains a user interface layout (main.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/tests/NuGetInstallationIntegrationTests/Android/Resources/Resource.Designer.cs b/tests/NuGetInstallationIntegrationTests/Android/Resources/Resource.Designer.cs new file mode 100644 index 000000000..e4fca0d2c --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/Android/Resources/Resource.Designer.cs @@ -0,0 +1,100 @@ +#pragma warning disable 1591 +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +[assembly: global::Android.Runtime.ResourceDesignerAttribute("Android.Resource", IsApplication=true)] + +namespace Android +{ + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] + public partial class Resource + { + + static Resource() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + public static void UpdateIdValues() + { + global::Splat.Resource.String.library_name = global::Android.Resource.String.library_name; + } + + public partial class Attribute + { + + static Attribute() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Attribute() + { + } + } + + public partial class Drawable + { + + // aapt resource value: 0x7f020000 + public const int Icon = 2130837504; + + static Drawable() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Drawable() + { + } + } + + public partial class Layout + { + + // aapt resource value: 0x7f030000 + public const int Main = 2130903040; + + static Layout() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Layout() + { + } + } + + public partial class String + { + + // aapt resource value: 0x7f040002 + public const int ApplicationName = 2130968578; + + // aapt resource value: 0x7f040001 + public const int Hello = 2130968577; + + // aapt resource value: 0x7f040000 + public const int library_name = 2130968576; + + static String() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private String() + { + } + } + } +} +#pragma warning restore 1591 diff --git a/tests/NuGetInstallationIntegrationTests/Android/Resources/drawable/Icon.png b/tests/NuGetInstallationIntegrationTests/Android/Resources/drawable/Icon.png new file mode 100644 index 000000000..8074c4c57 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/Android/Resources/drawable/Icon.png differ diff --git a/tests/NuGetInstallationIntegrationTests/Android/Resources/layout/Main.axml b/tests/NuGetInstallationIntegrationTests/Android/Resources/layout/Main.axml new file mode 100644 index 000000000..a439efb34 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/Android/Resources/layout/Main.axml @@ -0,0 +1,7 @@ + + + diff --git a/tests/NuGetInstallationIntegrationTests/Android/Resources/values/Strings.xml b/tests/NuGetInstallationIntegrationTests/Android/Resources/values/Strings.xml new file mode 100644 index 000000000..ebade6ef3 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/Android/Resources/values/Strings.xml @@ -0,0 +1,5 @@ + + + Hello World, Click Me! + Android + diff --git a/tests/NuGetInstallationIntegrationTests/NET45/Class1.cs b/tests/NuGetInstallationIntegrationTests/NET45/Class1.cs new file mode 100644 index 000000000..6ed5320c6 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/NET45/Class1.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Akavache; + +namespace NET45 +{ + public class Class1 + { + public Class1() + { + BlobCache.ApplicationName = "TEST"; + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/NET45/NET45.csproj b/tests/NuGetInstallationIntegrationTests/NET45/NET45.csproj new file mode 100644 index 000000000..182b178ca --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/NET45/NET45.csproj @@ -0,0 +1,52 @@ + + + + + Debug + AnyCPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00} + Library + Properties + NET45 + NET45 + v4.5.2 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + REPLACEME-AKAVACHE-VERSION + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/NET45/Properties/AssemblyInfo.cs b/tests/NuGetInstallationIntegrationTests/NET45/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..9d8d78716 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/NET45/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +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("NET45")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("NET45")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("0bd2e92b-3f77-4d52-93df-42fa87c6be00")] + +// 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("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/tests/NuGetInstallationIntegrationTests/NuGetInstallationIntegrationTests.sln b/tests/NuGetInstallationIntegrationTests/NuGetInstallationIntegrationTests.sln new file mode 100644 index 000000000..cd443ea3c --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/NuGetInstallationIntegrationTests.sln @@ -0,0 +1,619 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.8 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPF", "WPF\WPF.csproj", "{25722C23-D77E-440D-81E3-1C2810B12E6B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NET45", "NET45\NET45.csproj", "{0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "netstandard1.1", "netstandard1.1\netstandard1.1.csproj", "{CBDAD326-F00C-47A5-85FE-4C6414E3C894}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Android", "Android\Android.csproj", "{B92C0A64-50A8-49F0-AA39-0075CEF16377}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iOS", "iOS\iOS.csproj", "{67F6E1D8-3D52-4CBB-85D9-1B59E656F208}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinForms", "WinForms\WinForms.csproj", "{A88BA338-2B60-4519-87EE-46A982AD338B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UWP", "UWP\UWP.csproj", "{F03586A0-2A40-450C-842A-5F09C71408EA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamarinFormsApp.Android", "XamarinFormsApp\XamarinFormsApp.Android\XamarinFormsApp.Android.csproj", "{AB420AAE-157A-4351-B5F8-3E033479D506}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamarinFormsApp", "XamarinFormsApp\XamarinFormsApp\XamarinFormsApp.csproj", "{51777C35-BFCC-4A9B-B615-3760064805A7}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XamarinFormsApp.UWP", "XamarinFormsApp\XamarinFormsApp.UWP\XamarinFormsApp.UWP.csproj", "{57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamarinFormsApp.iOS", "XamarinFormsApp\XamarinFormsApp.iOS\XamarinFormsApp.iOS.csproj", "{3E951C1C-12D4-409D-8D14-14A88AF532EE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Ad-Hoc|Any CPU = Ad-Hoc|Any CPU + Ad-Hoc|ARM = Ad-Hoc|ARM + Ad-Hoc|iPhone = Ad-Hoc|iPhone + Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator + Ad-Hoc|x64 = Ad-Hoc|x64 + Ad-Hoc|x86 = Ad-Hoc|x86 + AppStore|Any CPU = AppStore|Any CPU + AppStore|ARM = AppStore|ARM + AppStore|iPhone = AppStore|iPhone + AppStore|iPhoneSimulator = AppStore|iPhoneSimulator + AppStore|x64 = AppStore|x64 + AppStore|x86 = AppStore|x86 + Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|iPhone = Debug|iPhone + Debug|iPhoneSimulator = Debug|iPhoneSimulator + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|iPhone = Release|iPhone + Release|iPhoneSimulator = Release|iPhoneSimulator + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.AppStore|Any CPU.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.AppStore|ARM.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.AppStore|ARM.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.AppStore|iPhone.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.AppStore|x64.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.AppStore|x64.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.AppStore|x86.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.AppStore|x86.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Debug|ARM.ActiveCfg = Debug|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Debug|ARM.Build.0 = Debug|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Debug|iPhone.Build.0 = Debug|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Debug|x64.ActiveCfg = Debug|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Debug|x64.Build.0 = Debug|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Debug|x86.ActiveCfg = Debug|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Debug|x86.Build.0 = Debug|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Release|Any CPU.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Release|ARM.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Release|ARM.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Release|iPhone.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Release|iPhone.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Release|x64.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Release|x64.Build.0 = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Release|x86.ActiveCfg = Release|Any CPU + {25722C23-D77E-440D-81E3-1C2810B12E6B}.Release|x86.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.AppStore|Any CPU.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.AppStore|ARM.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.AppStore|ARM.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.AppStore|iPhone.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.AppStore|x64.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.AppStore|x64.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.AppStore|x86.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.AppStore|x86.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Debug|ARM.ActiveCfg = Debug|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Debug|ARM.Build.0 = Debug|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Debug|iPhone.Build.0 = Debug|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Debug|x64.ActiveCfg = Debug|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Debug|x64.Build.0 = Debug|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Debug|x86.ActiveCfg = Debug|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Debug|x86.Build.0 = Debug|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Release|Any CPU.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Release|ARM.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Release|ARM.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Release|iPhone.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Release|iPhone.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Release|x64.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Release|x64.Build.0 = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Release|x86.ActiveCfg = Release|Any CPU + {0BD2E92B-3F77-4D52-93DF-42FA87C6BE00}.Release|x86.Build.0 = Release|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.AppStore|ARM.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.AppStore|iPhone.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.AppStore|x64.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.AppStore|x64.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.AppStore|x86.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.AppStore|x86.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Debug|ARM.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Debug|ARM.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Debug|iPhone.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Debug|x64.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Debug|x64.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Debug|x86.ActiveCfg = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Debug|x86.Build.0 = Debug|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Release|Any CPU.Build.0 = Release|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Release|ARM.ActiveCfg = Release|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Release|ARM.Build.0 = Release|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Release|iPhone.ActiveCfg = Release|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Release|iPhone.Build.0 = Release|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Release|x64.ActiveCfg = Release|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Release|x64.Build.0 = Release|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Release|x86.ActiveCfg = Release|Any CPU + {CBDAD326-F00C-47A5-85FE-4C6414E3C894}.Release|x86.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|Any CPU.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|Any CPU.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|ARM.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|ARM.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|ARM.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|iPhone.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|iPhone.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|x64.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|x64.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|x64.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|x86.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|x86.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.AppStore|x86.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|ARM.ActiveCfg = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|ARM.Build.0 = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|ARM.Deploy.0 = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|iPhone.Build.0 = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|iPhone.Deploy.0 = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|x64.ActiveCfg = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|x64.Build.0 = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|x64.Deploy.0 = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|x86.ActiveCfg = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|x86.Build.0 = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Debug|x86.Deploy.0 = Debug|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|Any CPU.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|Any CPU.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|ARM.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|ARM.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|ARM.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|iPhone.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|iPhone.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|iPhone.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|x64.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|x64.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|x64.Deploy.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|x86.ActiveCfg = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|x86.Build.0 = Release|Any CPU + {B92C0A64-50A8-49F0-AA39-0075CEF16377}.Release|x86.Deploy.0 = Release|Any CPU + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.AppStore|ARM.ActiveCfg = AppStore|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.AppStore|iPhone.ActiveCfg = AppStore|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.AppStore|iPhone.Build.0 = AppStore|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.AppStore|x64.ActiveCfg = AppStore|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.AppStore|x86.ActiveCfg = AppStore|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Debug|ARM.ActiveCfg = Debug|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Debug|iPhone.ActiveCfg = Debug|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Debug|iPhone.Build.0 = Debug|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Debug|x64.ActiveCfg = Debug|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Debug|x86.ActiveCfg = Debug|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Release|Any CPU.ActiveCfg = Release|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Release|ARM.ActiveCfg = Release|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Release|iPhone.ActiveCfg = Release|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Release|iPhone.Build.0 = Release|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Release|x64.ActiveCfg = Release|iPhone + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208}.Release|x86.ActiveCfg = Release|iPhone + {A88BA338-2B60-4519-87EE-46A982AD338B}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.AppStore|Any CPU.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.AppStore|ARM.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.AppStore|ARM.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.AppStore|iPhone.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.AppStore|x64.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.AppStore|x64.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.AppStore|x86.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.AppStore|x86.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Debug|ARM.ActiveCfg = Debug|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Debug|ARM.Build.0 = Debug|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Debug|iPhone.Build.0 = Debug|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Debug|x64.ActiveCfg = Debug|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Debug|x64.Build.0 = Debug|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Debug|x86.ActiveCfg = Debug|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Debug|x86.Build.0 = Debug|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Release|Any CPU.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Release|ARM.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Release|ARM.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Release|iPhone.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Release|iPhone.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Release|x64.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Release|x64.Build.0 = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Release|x86.ActiveCfg = Release|Any CPU + {A88BA338-2B60-4519-87EE-46A982AD338B}.Release|x86.Build.0 = Release|Any CPU + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|Any CPU.ActiveCfg = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|Any CPU.Build.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|Any CPU.Deploy.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|ARM.ActiveCfg = Release|ARM + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|ARM.Build.0 = Release|ARM + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|ARM.Deploy.0 = Release|ARM + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|iPhone.ActiveCfg = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|iPhone.Build.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|iPhone.Deploy.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|x64.ActiveCfg = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|x64.Build.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|x64.Deploy.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|x86.ActiveCfg = Release|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|x86.Build.0 = Release|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Ad-Hoc|x86.Deploy.0 = Release|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|Any CPU.ActiveCfg = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|Any CPU.Build.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|Any CPU.Deploy.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|ARM.ActiveCfg = Release|ARM + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|ARM.Build.0 = Release|ARM + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|ARM.Deploy.0 = Release|ARM + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|iPhone.ActiveCfg = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|iPhone.Build.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|iPhone.Deploy.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|iPhoneSimulator.ActiveCfg = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|iPhoneSimulator.Build.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|iPhoneSimulator.Deploy.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|x64.ActiveCfg = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|x64.Build.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|x64.Deploy.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|x86.ActiveCfg = Release|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|x86.Build.0 = Release|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.AppStore|x86.Deploy.0 = Release|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Debug|Any CPU.ActiveCfg = Debug|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Debug|Any CPU.Build.0 = Debug|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Debug|ARM.ActiveCfg = Debug|ARM + {F03586A0-2A40-450C-842A-5F09C71408EA}.Debug|ARM.Build.0 = Debug|ARM + {F03586A0-2A40-450C-842A-5F09C71408EA}.Debug|ARM.Deploy.0 = Debug|ARM + {F03586A0-2A40-450C-842A-5F09C71408EA}.Debug|iPhone.ActiveCfg = Debug|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Debug|x64.ActiveCfg = Debug|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Debug|x64.Build.0 = Debug|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Debug|x64.Deploy.0 = Debug|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Debug|x86.ActiveCfg = Debug|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Debug|x86.Build.0 = Debug|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Release|Any CPU.ActiveCfg = Release|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Release|ARM.ActiveCfg = Release|ARM + {F03586A0-2A40-450C-842A-5F09C71408EA}.Release|ARM.Build.0 = Release|ARM + {F03586A0-2A40-450C-842A-5F09C71408EA}.Release|ARM.Deploy.0 = Release|ARM + {F03586A0-2A40-450C-842A-5F09C71408EA}.Release|iPhone.ActiveCfg = Release|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Release|iPhoneSimulator.ActiveCfg = Release|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Release|x64.ActiveCfg = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Release|x64.Build.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Release|x64.Deploy.0 = Release|x64 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Release|x86.ActiveCfg = Release|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Release|x86.Build.0 = Release|x86 + {F03586A0-2A40-450C-842A-5F09C71408EA}.Release|x86.Deploy.0 = Release|x86 + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|Any CPU.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|Any CPU.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|ARM.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|ARM.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|ARM.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|iPhone.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|iPhone.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|x64.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|x64.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|x64.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|x86.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|x86.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.AppStore|x86.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|ARM.ActiveCfg = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|ARM.Build.0 = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|ARM.Deploy.0 = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|iPhone.Build.0 = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|iPhone.Deploy.0 = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|x64.ActiveCfg = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|x64.Build.0 = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|x64.Deploy.0 = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|x86.ActiveCfg = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|x86.Build.0 = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Debug|x86.Deploy.0 = Debug|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|Any CPU.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|Any CPU.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|ARM.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|ARM.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|ARM.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|iPhone.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|iPhone.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|iPhone.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|x64.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|x64.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|x64.Deploy.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|x86.ActiveCfg = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|x86.Build.0 = Release|Any CPU + {AB420AAE-157A-4351-B5F8-3E033479D506}.Release|x86.Deploy.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.AppStore|Any CPU.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.AppStore|ARM.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.AppStore|ARM.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.AppStore|iPhone.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.AppStore|x64.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.AppStore|x64.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.AppStore|x86.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.AppStore|x86.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Debug|ARM.ActiveCfg = Debug|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Debug|ARM.Build.0 = Debug|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Debug|iPhone.Build.0 = Debug|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Debug|x64.ActiveCfg = Debug|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Debug|x64.Build.0 = Debug|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Debug|x86.ActiveCfg = Debug|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Debug|x86.Build.0 = Debug|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Release|Any CPU.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Release|ARM.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Release|ARM.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Release|iPhone.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Release|iPhone.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Release|x64.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Release|x64.Build.0 = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Release|x86.ActiveCfg = Release|Any CPU + {51777C35-BFCC-4A9B-B615-3760064805A7}.Release|x86.Build.0 = Release|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.AppStore|ARM.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.AppStore|iPhone.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.AppStore|x64.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.AppStore|x64.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.AppStore|x86.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.AppStore|x86.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Debug|Any CPU.ActiveCfg = Debug|x86 + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Debug|Any CPU.Build.0 = Debug|x86 + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Debug|ARM.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Debug|ARM.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Debug|iPhone.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Debug|x64.ActiveCfg = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Debug|x64.Build.0 = Debug|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Debug|x86.ActiveCfg = Debug|x86 + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Debug|x86.Build.0 = Debug|x86 + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Release|Any CPU.ActiveCfg = Release|x86 + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Release|Any CPU.Build.0 = Release|x86 + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Release|ARM.ActiveCfg = Release|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Release|ARM.Build.0 = Release|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Release|iPhone.ActiveCfg = Release|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Release|iPhone.Build.0 = Release|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Release|x64.ActiveCfg = Release|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Release|x64.Build.0 = Release|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Release|x86.ActiveCfg = Release|Any CPU + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C}.Release|x86.Build.0 = Release|Any CPU + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.AppStore|ARM.ActiveCfg = AppStore|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.AppStore|iPhone.ActiveCfg = AppStore|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.AppStore|iPhone.Build.0 = AppStore|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.AppStore|x64.ActiveCfg = AppStore|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.AppStore|x86.ActiveCfg = AppStore|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Debug|ARM.ActiveCfg = Debug|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Debug|iPhone.ActiveCfg = Debug|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Debug|iPhone.Build.0 = Debug|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Debug|x64.ActiveCfg = Debug|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Debug|x86.ActiveCfg = Debug|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Release|Any CPU.ActiveCfg = Release|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Release|ARM.ActiveCfg = Release|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Release|iPhone.ActiveCfg = Release|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Release|iPhone.Build.0 = Release|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Release|x64.ActiveCfg = Release|iPhone + {3E951C1C-12D4-409D-8D14-14A88AF532EE}.Release|x86.ActiveCfg = Release|iPhone + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {DD47F25B-D797-49D1-BC0D-C2C06D9D2CBC} + EndGlobalSection +EndGlobal diff --git a/tests/NuGetInstallationIntegrationTests/UWP/App.xaml b/tests/NuGetInstallationIntegrationTests/UWP/App.xaml new file mode 100644 index 000000000..b1c066daf --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/UWP/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/tests/NuGetInstallationIntegrationTests/UWP/App.xaml.cs b/tests/NuGetInstallationIntegrationTests/UWP/App.xaml.cs new file mode 100644 index 000000000..f84df1c62 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/UWP/App.xaml.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.ApplicationModel; +using Windows.ApplicationModel.Activation; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +namespace UWP +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + sealed partial class App : Application + { + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + this.Suspending += OnSuspending; + } + + /// + /// 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) + { + 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; + + 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 + 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/tests/NuGetInstallationIntegrationTests/UWP/Assets/LockScreenLogo.scale-200.png b/tests/NuGetInstallationIntegrationTests/UWP/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 000000000..735f57adb Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/UWP/Assets/LockScreenLogo.scale-200.png differ diff --git a/tests/NuGetInstallationIntegrationTests/UWP/Assets/SplashScreen.scale-200.png b/tests/NuGetInstallationIntegrationTests/UWP/Assets/SplashScreen.scale-200.png new file mode 100644 index 000000000..023e7f1fe Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/UWP/Assets/SplashScreen.scale-200.png differ diff --git a/tests/NuGetInstallationIntegrationTests/UWP/Assets/Square150x150Logo.scale-200.png b/tests/NuGetInstallationIntegrationTests/UWP/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 000000000..af49fec1a Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/UWP/Assets/Square150x150Logo.scale-200.png differ diff --git a/tests/NuGetInstallationIntegrationTests/UWP/Assets/Square44x44Logo.scale-200.png b/tests/NuGetInstallationIntegrationTests/UWP/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 000000000..ce342a2ec Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/UWP/Assets/Square44x44Logo.scale-200.png differ diff --git a/tests/NuGetInstallationIntegrationTests/UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/tests/NuGetInstallationIntegrationTests/UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 000000000..f6c02ce97 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ diff --git a/tests/NuGetInstallationIntegrationTests/UWP/Assets/StoreLogo.png b/tests/NuGetInstallationIntegrationTests/UWP/Assets/StoreLogo.png new file mode 100644 index 000000000..7385b56c0 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/UWP/Assets/StoreLogo.png differ diff --git a/tests/NuGetInstallationIntegrationTests/UWP/Assets/Wide310x150Logo.scale-200.png b/tests/NuGetInstallationIntegrationTests/UWP/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 000000000..288995b39 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/UWP/Assets/Wide310x150Logo.scale-200.png differ diff --git a/tests/NuGetInstallationIntegrationTests/UWP/MainPage.xaml b/tests/NuGetInstallationIntegrationTests/UWP/MainPage.xaml new file mode 100644 index 000000000..2af344aec --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/UWP/MainPage.xaml @@ -0,0 +1,13 @@ + + + + + + diff --git a/tests/NuGetInstallationIntegrationTests/UWP/MainPage.xaml.cs b/tests/NuGetInstallationIntegrationTests/UWP/MainPage.xaml.cs new file mode 100644 index 000000000..26a09bc67 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/UWP/MainPage.xaml.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 + +namespace UWP +{ + /// + /// An empty page that can be used on its own or navigated to within a Frame. + /// + public sealed partial class MainPage : Page + { + public MainPage() + { + this.InitializeComponent(); + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/UWP/Package.appxmanifest b/tests/NuGetInstallationIntegrationTests/UWP/Package.appxmanifest new file mode 100644 index 000000000..87f9265af --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/UWP/Package.appxmanifest @@ -0,0 +1,28 @@ + + + + + + UWP + livecoding + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/UWP/Properties/AssemblyInfo.cs b/tests/NuGetInstallationIntegrationTests/UWP/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..6a814fbd3 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/UWP/Properties/AssemblyInfo.cs @@ -0,0 +1,29 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +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("UWP")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("UWP")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[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("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: ComVisible(false)] \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/UWP/Properties/Default.rd.xml b/tests/NuGetInstallationIntegrationTests/UWP/Properties/Default.rd.xml new file mode 100644 index 000000000..7c40ffeb1 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/UWP/Properties/Default.rd.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/UWP/UWP.csproj b/tests/NuGetInstallationIntegrationTests/UWP/UWP.csproj new file mode 100644 index 000000000..676447794 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/UWP/UWP.csproj @@ -0,0 +1,149 @@ + + + + + Debug + x86 + {F03586A0-2A40-450C-842A-5F09C71408EA} + AppContainerExe + Properties + UWP + UWP + en-US + UAP + 10.0.15063.0 + 10.0.10586.0 + 14 + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + true + UWP_TemporaryKey.pfx + 543224BC232E7CC21D23B4DC4B867A33AA239D9B + + + 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 + + + PackageReference + + + + App.xaml + + + MainPage.xaml + + + + + + Designer + + + + + + + + + + + + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + + + REPLACEME-AKAVACHE-VERSION + + + 5.2.3 + + + + 14.0 + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/UWP/UWP_TemporaryKey.pfx b/tests/NuGetInstallationIntegrationTests/UWP/UWP_TemporaryKey.pfx new file mode 100644 index 000000000..45080f550 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/UWP/UWP_TemporaryKey.pfx differ diff --git a/tests/NuGetInstallationIntegrationTests/WPF/App.config b/tests/NuGetInstallationIntegrationTests/WPF/App.config new file mode 100644 index 000000000..88fa4027b --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WPF/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/WPF/App.xaml b/tests/NuGetInstallationIntegrationTests/WPF/App.xaml new file mode 100644 index 000000000..e551053b1 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WPF/App.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/tests/NuGetInstallationIntegrationTests/WPF/App.xaml.cs b/tests/NuGetInstallationIntegrationTests/WPF/App.xaml.cs new file mode 100644 index 000000000..3f0aeb1d3 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WPF/App.xaml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace WPF +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } +} diff --git a/tests/NuGetInstallationIntegrationTests/WPF/MainWindow.xaml b/tests/NuGetInstallationIntegrationTests/WPF/MainWindow.xaml new file mode 100644 index 000000000..0e0ca7f99 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WPF/MainWindow.xaml @@ -0,0 +1,12 @@ + + + + + diff --git a/tests/NuGetInstallationIntegrationTests/WPF/MainWindow.xaml.cs b/tests/NuGetInstallationIntegrationTests/WPF/MainWindow.xaml.cs new file mode 100644 index 000000000..db6d616f1 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WPF/MainWindow.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace WPF +{ + /// + /// Interaction logic for MainWindow.xaml + /// + public partial class MainWindow : Window + { + public MainWindow() + { + InitializeComponent(); + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/WPF/Properties/AssemblyInfo.cs b/tests/NuGetInstallationIntegrationTests/WPF/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..e7d2437b5 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WPF/Properties/AssemblyInfo.cs @@ -0,0 +1,55 @@ +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Windows; + +// 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("WPF")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("WPF")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +//In order to begin building localizable applications, set +//CultureYouAreCodingWith in your .csproj file +//inside a . For example, if you are using US english +//in your source files, set the to en-US. Then uncomment +//the NeutralResourceLanguage attribute below. Update the "en-US" in +//the line below to match the UICulture setting in the project file. + +//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] + + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] + + +// 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("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/tests/NuGetInstallationIntegrationTests/WPF/Properties/Resources.Designer.cs b/tests/NuGetInstallationIntegrationTests/WPF/Properties/Resources.Designer.cs new file mode 100644 index 000000000..58ed04855 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WPF/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WPF.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WPF.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/WPF/Properties/Resources.resx b/tests/NuGetInstallationIntegrationTests/WPF/Properties/Resources.resx new file mode 100644 index 000000000..af7dbebba --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WPF/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/WPF/Properties/Settings.Designer.cs b/tests/NuGetInstallationIntegrationTests/WPF/Properties/Settings.Designer.cs new file mode 100644 index 000000000..e172b6dcd --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WPF/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WPF.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/WPF/Properties/Settings.settings b/tests/NuGetInstallationIntegrationTests/WPF/Properties/Settings.settings new file mode 100644 index 000000000..033d7a5e9 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WPF/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/WPF/WPF.csproj b/tests/NuGetInstallationIntegrationTests/WPF/WPF.csproj new file mode 100644 index 000000000..0c727618f --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WPF/WPF.csproj @@ -0,0 +1,102 @@ + + + + + Debug + AnyCPU + {25722C23-D77E-440D-81E3-1C2810B12E6B} + WinExe + WPF + WPF + v4.5.2 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + 4.0 + + + + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + App.xaml + Code + + + MainWindow.xaml + Code + + + + + Code + + + True + True + Resources.resx + + + True + Settings.settings + True + + + ResXFileCodeGenerator + Resources.Designer.cs + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + REPLACEME-AKAVACHE-VERSION + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/WinForms/App.config b/tests/NuGetInstallationIntegrationTests/WinForms/App.config new file mode 100644 index 000000000..88fa4027b --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WinForms/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/WinForms/Form1.Designer.cs b/tests/NuGetInstallationIntegrationTests/WinForms/Form1.Designer.cs new file mode 100644 index 000000000..d1fc0e31e --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WinForms/Form1.Designer.cs @@ -0,0 +1,39 @@ +namespace WinForms +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Text = "Form1"; + } + + #endregion + } +} + diff --git a/tests/NuGetInstallationIntegrationTests/WinForms/Form1.cs b/tests/NuGetInstallationIntegrationTests/WinForms/Form1.cs new file mode 100644 index 000000000..56f66dcc4 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WinForms/Form1.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace WinForms +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/WinForms/Program.cs b/tests/NuGetInstallationIntegrationTests/WinForms/Program.cs new file mode 100644 index 000000000..c6453b5c8 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WinForms/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace WinForms +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/WinForms/Properties/AssemblyInfo.cs b/tests/NuGetInstallationIntegrationTests/WinForms/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..ba0bd7ecd --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WinForms/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +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("WinForms")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("WinForms")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("a88ba338-2b60-4519-87ee-46a982ad338b")] + +// 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("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/tests/NuGetInstallationIntegrationTests/WinForms/Properties/Resources.Designer.cs b/tests/NuGetInstallationIntegrationTests/WinForms/Properties/Resources.Designer.cs new file mode 100644 index 000000000..e5ac709df --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WinForms/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WinForms.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WinForms.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/WinForms/Properties/Resources.resx b/tests/NuGetInstallationIntegrationTests/WinForms/Properties/Resources.resx new file mode 100644 index 000000000..af7dbebba --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WinForms/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/WinForms/Properties/Settings.Designer.cs b/tests/NuGetInstallationIntegrationTests/WinForms/Properties/Settings.Designer.cs new file mode 100644 index 000000000..3841db79e --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WinForms/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WinForms.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/WinForms/Properties/Settings.settings b/tests/NuGetInstallationIntegrationTests/WinForms/Properties/Settings.settings new file mode 100644 index 000000000..39645652a --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WinForms/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tests/NuGetInstallationIntegrationTests/WinForms/WinForms.csproj b/tests/NuGetInstallationIntegrationTests/WinForms/WinForms.csproj new file mode 100644 index 000000000..72a645c2b --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/WinForms/WinForms.csproj @@ -0,0 +1,84 @@ + + + + + Debug + AnyCPU + {A88BA338-2B60-4519-87EE-46A982AD338B} + WinExe + WinForms + WinForms + v4.5.2 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + REPLACEME-AKAVACHE-VERSION + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Assets/AboutAssets.txt b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Assets/AboutAssets.txt new file mode 100644 index 000000000..5ddf08729 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Assets/AboutAssets.txt @@ -0,0 +1,19 @@ +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"); diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/MainActivity.cs b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/MainActivity.cs new file mode 100644 index 000000000..b0acf3993 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/MainActivity.cs @@ -0,0 +1,27 @@ +using System; + +using Android.App; +using Android.Content.PM; +using Android.Runtime; +using Android.Views; +using Android.Widget; +using Android.OS; + +namespace XamarinFormsApp.Droid +{ + [Activity(Label = "XamarinFormsApp", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] + public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity + { + protected override void OnCreate(Bundle bundle) + { + TabLayoutResource = Resource.Layout.Tabbar; + ToolbarResource = Resource.Layout.Toolbar; + + base.OnCreate(bundle); + + global::Xamarin.Forms.Forms.Init(this, bundle); + LoadApplication(new App()); + } + } +} + diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Properties/AndroidManifest.xml b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Properties/AndroidManifest.xml new file mode 100644 index 000000000..44ccf1350 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Properties/AndroidManifest.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Properties/AssemblyInfo.cs b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..a511dc91a --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Properties/AssemblyInfo.cs @@ -0,0 +1,34 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Android.App; + +// 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("XamarinFormsApp.Android")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("XamarinFormsApp.Android")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[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("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] + +// Add some common permissions, these can be removed if not needed +[assembly: UsesPermission(Android.Manifest.Permission.Internet)] +[assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)] diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/AboutResources.txt b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/AboutResources.txt new file mode 100644 index 000000000..cb30f20b1 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/AboutResources.txt @@ -0,0 +1,50 @@ +Images, layout descriptions, binary blobs and string dictionaries can be included +in your application as resource files. Various Android APIs are designed to +operate on the resource IDs instead of dealing with images, strings or binary blobs +directly. + +For example, a sample Android app that contains a user interface layout (main.xml), +an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) +would keep its resources in the "Resources" directory of the application: + +Resources/ + drawable-hdpi/ + icon.png + + drawable-ldpi/ + icon.png + + drawable-mdpi/ + icon.png + + layout/ + main.xml + + values/ + strings.xml + +In order to get the build system to recognize Android resources, set the build action to +"AndroidResource". The native Android APIs do not operate directly with filenames, but +instead operate on resource IDs. When you compile an Android application that uses resources, +the build system will package the resources for distribution and generate a class called +"Resource" that contains the tokens for each one of the resources included. For example, +for the above Resources layout, this is what the Resource class would expose: + +public class Resource { + public class drawable { + public const int icon = 0x123; + } + + public class layout { + public const int main = 0x456; + } + + public class strings { + public const int first_string = 0xabc; + public const int second_string = 0xbcd; + } +} + +You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main +to reference the layout/main.xml file, or Resource.strings.first_string to reference the first +string in the dictionary file values/strings.xml. diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/Resource.Designer.cs b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/Resource.Designer.cs new file mode 100644 index 000000000..09d8e8fed --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/Resource.Designer.cs @@ -0,0 +1,6515 @@ +#pragma warning disable 1591 +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +[assembly: global::Android.Runtime.ResourceDesignerAttribute("XamarinFormsApp.Droid.Resource", IsApplication=true)] + +namespace XamarinFormsApp.Droid +{ + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] + public partial class Resource + { + + static Resource() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + public static void UpdateIdValues() + { + global::Splat.Resource.String.library_name = global::XamarinFormsApp.Droid.Resource.String.library_name; + global::Xamarin.Forms.Platform.Android.Resource.Attribute.actionBarSize = global::XamarinFormsApp.Droid.Resource.Attribute.actionBarSize; + } + + public partial class Animation + { + + // aapt resource value: 0x7f040000 + public const int abc_fade_in = 2130968576; + + // aapt resource value: 0x7f040001 + public const int abc_fade_out = 2130968577; + + // aapt resource value: 0x7f040002 + public const int abc_grow_fade_in_from_bottom = 2130968578; + + // aapt resource value: 0x7f040003 + public const int abc_popup_enter = 2130968579; + + // aapt resource value: 0x7f040004 + public const int abc_popup_exit = 2130968580; + + // aapt resource value: 0x7f040005 + public const int abc_shrink_fade_out_from_bottom = 2130968581; + + // aapt resource value: 0x7f040006 + public const int abc_slide_in_bottom = 2130968582; + + // aapt resource value: 0x7f040007 + public const int abc_slide_in_top = 2130968583; + + // aapt resource value: 0x7f040008 + public const int abc_slide_out_bottom = 2130968584; + + // aapt resource value: 0x7f040009 + public const int abc_slide_out_top = 2130968585; + + // aapt resource value: 0x7f04000a + public const int design_bottom_sheet_slide_in = 2130968586; + + // aapt resource value: 0x7f04000b + public const int design_bottom_sheet_slide_out = 2130968587; + + // aapt resource value: 0x7f04000c + public const int design_fab_in = 2130968588; + + // aapt resource value: 0x7f04000d + public const int design_fab_out = 2130968589; + + // aapt resource value: 0x7f04000e + public const int design_snackbar_in = 2130968590; + + // aapt resource value: 0x7f04000f + public const int design_snackbar_out = 2130968591; + + static Animation() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Animation() + { + } + } + + public partial class Attribute + { + + // aapt resource value: 0x7f010004 + public const int MediaRouteControllerWindowBackground = 2130771972; + + // aapt resource value: 0x7f0100ae + public const int actionBarDivider = 2130772142; + + // aapt resource value: 0x7f0100af + public const int actionBarItemBackground = 2130772143; + + // aapt resource value: 0x7f0100a8 + public const int actionBarPopupTheme = 2130772136; + + // aapt resource value: 0x7f0100ad + public const int actionBarSize = 2130772141; + + // aapt resource value: 0x7f0100aa + public const int actionBarSplitStyle = 2130772138; + + // aapt resource value: 0x7f0100a9 + public const int actionBarStyle = 2130772137; + + // aapt resource value: 0x7f0100a4 + public const int actionBarTabBarStyle = 2130772132; + + // aapt resource value: 0x7f0100a3 + public const int actionBarTabStyle = 2130772131; + + // aapt resource value: 0x7f0100a5 + public const int actionBarTabTextStyle = 2130772133; + + // aapt resource value: 0x7f0100ab + public const int actionBarTheme = 2130772139; + + // aapt resource value: 0x7f0100ac + public const int actionBarWidgetTheme = 2130772140; + + // aapt resource value: 0x7f0100c9 + public const int actionButtonStyle = 2130772169; + + // aapt resource value: 0x7f0100c5 + public const int actionDropDownStyle = 2130772165; + + // aapt resource value: 0x7f01011b + public const int actionLayout = 2130772251; + + // aapt resource value: 0x7f0100b0 + public const int actionMenuTextAppearance = 2130772144; + + // aapt resource value: 0x7f0100b1 + public const int actionMenuTextColor = 2130772145; + + // aapt resource value: 0x7f0100b4 + public const int actionModeBackground = 2130772148; + + // aapt resource value: 0x7f0100b3 + public const int actionModeCloseButtonStyle = 2130772147; + + // aapt resource value: 0x7f0100b6 + public const int actionModeCloseDrawable = 2130772150; + + // aapt resource value: 0x7f0100b8 + public const int actionModeCopyDrawable = 2130772152; + + // aapt resource value: 0x7f0100b7 + public const int actionModeCutDrawable = 2130772151; + + // aapt resource value: 0x7f0100bc + public const int actionModeFindDrawable = 2130772156; + + // aapt resource value: 0x7f0100b9 + public const int actionModePasteDrawable = 2130772153; + + // aapt resource value: 0x7f0100be + public const int actionModePopupWindowStyle = 2130772158; + + // aapt resource value: 0x7f0100ba + public const int actionModeSelectAllDrawable = 2130772154; + + // aapt resource value: 0x7f0100bb + public const int actionModeShareDrawable = 2130772155; + + // aapt resource value: 0x7f0100b5 + public const int actionModeSplitBackground = 2130772149; + + // aapt resource value: 0x7f0100b2 + public const int actionModeStyle = 2130772146; + + // aapt resource value: 0x7f0100bd + public const int actionModeWebSearchDrawable = 2130772157; + + // aapt resource value: 0x7f0100a6 + public const int actionOverflowButtonStyle = 2130772134; + + // aapt resource value: 0x7f0100a7 + public const int actionOverflowMenuStyle = 2130772135; + + // aapt resource value: 0x7f01011d + public const int actionProviderClass = 2130772253; + + // aapt resource value: 0x7f01011c + public const int actionViewClass = 2130772252; + + // aapt resource value: 0x7f0100d1 + public const int activityChooserViewStyle = 2130772177; + + // aapt resource value: 0x7f0100f6 + public const int alertDialogButtonGroupStyle = 2130772214; + + // aapt resource value: 0x7f0100f7 + public const int alertDialogCenterButtons = 2130772215; + + // aapt resource value: 0x7f0100f5 + public const int alertDialogStyle = 2130772213; + + // aapt resource value: 0x7f0100f8 + public const int alertDialogTheme = 2130772216; + + // aapt resource value: 0x7f01010b + public const int allowStacking = 2130772235; + + // aapt resource value: 0x7f01010c + public const int alpha = 2130772236; + + // aapt resource value: 0x7f010113 + public const int arrowHeadLength = 2130772243; + + // aapt resource value: 0x7f010114 + public const int arrowShaftLength = 2130772244; + + // aapt resource value: 0x7f0100fd + public const int autoCompleteTextViewStyle = 2130772221; + + // aapt resource value: 0x7f010077 + public const int background = 2130772087; + + // aapt resource value: 0x7f010079 + public const int backgroundSplit = 2130772089; + + // aapt resource value: 0x7f010078 + public const int backgroundStacked = 2130772088; + + // aapt resource value: 0x7f010150 + public const int backgroundTint = 2130772304; + + // aapt resource value: 0x7f010151 + public const int backgroundTintMode = 2130772305; + + // aapt resource value: 0x7f010115 + public const int barLength = 2130772245; + + // aapt resource value: 0x7f01002a + public const int behavior_hideable = 2130772010; + + // aapt resource value: 0x7f010050 + public const int behavior_overlapTop = 2130772048; + + // aapt resource value: 0x7f010029 + public const int behavior_peekHeight = 2130772009; + + // aapt resource value: 0x7f010046 + public const int borderWidth = 2130772038; + + // aapt resource value: 0x7f0100ce + public const int borderlessButtonStyle = 2130772174; + + // aapt resource value: 0x7f010040 + public const int bottomSheetDialogTheme = 2130772032; + + // aapt resource value: 0x7f010041 + public const int bottomSheetStyle = 2130772033; + + // aapt resource value: 0x7f0100cb + public const int buttonBarButtonStyle = 2130772171; + + // aapt resource value: 0x7f0100fb + public const int buttonBarNegativeButtonStyle = 2130772219; + + // aapt resource value: 0x7f0100fc + public const int buttonBarNeutralButtonStyle = 2130772220; + + // aapt resource value: 0x7f0100fa + public const int buttonBarPositiveButtonStyle = 2130772218; + + // aapt resource value: 0x7f0100ca + public const int buttonBarStyle = 2130772170; + + // aapt resource value: 0x7f010145 + public const int buttonGravity = 2130772293; + + // aapt resource value: 0x7f01008c + public const int buttonPanelSideLayout = 2130772108; + + // aapt resource value: 0x7f0100fe + public const int buttonStyle = 2130772222; + + // aapt resource value: 0x7f0100ff + public const int buttonStyleSmall = 2130772223; + + // aapt resource value: 0x7f01010d + public const int buttonTint = 2130772237; + + // aapt resource value: 0x7f01010e + public const int buttonTintMode = 2130772238; + + // aapt resource value: 0x7f01001b + public const int cardBackgroundColor = 2130771995; + + // aapt resource value: 0x7f01001c + public const int cardCornerRadius = 2130771996; + + // aapt resource value: 0x7f01001d + public const int cardElevation = 2130771997; + + // aapt resource value: 0x7f01001e + public const int cardMaxElevation = 2130771998; + + // aapt resource value: 0x7f010020 + public const int cardPreventCornerOverlap = 2130772000; + + // aapt resource value: 0x7f01001f + public const int cardUseCompatPadding = 2130771999; + + // aapt resource value: 0x7f010100 + public const int checkboxStyle = 2130772224; + + // aapt resource value: 0x7f010101 + public const int checkedTextViewStyle = 2130772225; + + // aapt resource value: 0x7f010128 + public const int closeIcon = 2130772264; + + // aapt resource value: 0x7f010089 + public const int closeItemLayout = 2130772105; + + // aapt resource value: 0x7f010147 + public const int collapseContentDescription = 2130772295; + + // aapt resource value: 0x7f010146 + public const int collapseIcon = 2130772294; + + // aapt resource value: 0x7f010037 + public const int collapsedTitleGravity = 2130772023; + + // aapt resource value: 0x7f010033 + public const int collapsedTitleTextAppearance = 2130772019; + + // aapt resource value: 0x7f01010f + public const int color = 2130772239; + + // aapt resource value: 0x7f0100ed + public const int colorAccent = 2130772205; + + // aapt resource value: 0x7f0100f4 + public const int colorBackgroundFloating = 2130772212; + + // aapt resource value: 0x7f0100f1 + public const int colorButtonNormal = 2130772209; + + // aapt resource value: 0x7f0100ef + public const int colorControlActivated = 2130772207; + + // aapt resource value: 0x7f0100f0 + public const int colorControlHighlight = 2130772208; + + // aapt resource value: 0x7f0100ee + public const int colorControlNormal = 2130772206; + + // aapt resource value: 0x7f0100eb + public const int colorPrimary = 2130772203; + + // aapt resource value: 0x7f0100ec + public const int colorPrimaryDark = 2130772204; + + // aapt resource value: 0x7f0100f2 + public const int colorSwitchThumbNormal = 2130772210; + + // aapt resource value: 0x7f01012d + public const int commitIcon = 2130772269; + + // aapt resource value: 0x7f010082 + public const int contentInsetEnd = 2130772098; + + // aapt resource value: 0x7f010086 + public const int contentInsetEndWithActions = 2130772102; + + // aapt resource value: 0x7f010083 + public const int contentInsetLeft = 2130772099; + + // aapt resource value: 0x7f010084 + public const int contentInsetRight = 2130772100; + + // aapt resource value: 0x7f010081 + public const int contentInsetStart = 2130772097; + + // aapt resource value: 0x7f010085 + public const int contentInsetStartWithNavigation = 2130772101; + + // aapt resource value: 0x7f010021 + public const int contentPadding = 2130772001; + + // aapt resource value: 0x7f010025 + public const int contentPaddingBottom = 2130772005; + + // aapt resource value: 0x7f010022 + public const int contentPaddingLeft = 2130772002; + + // aapt resource value: 0x7f010023 + public const int contentPaddingRight = 2130772003; + + // aapt resource value: 0x7f010024 + public const int contentPaddingTop = 2130772004; + + // aapt resource value: 0x7f010034 + public const int contentScrim = 2130772020; + + // aapt resource value: 0x7f0100f3 + public const int controlBackground = 2130772211; + + // aapt resource value: 0x7f010066 + public const int counterEnabled = 2130772070; + + // aapt resource value: 0x7f010067 + public const int counterMaxLength = 2130772071; + + // aapt resource value: 0x7f010069 + public const int counterOverflowTextAppearance = 2130772073; + + // aapt resource value: 0x7f010068 + public const int counterTextAppearance = 2130772072; + + // aapt resource value: 0x7f01007a + public const int customNavigationLayout = 2130772090; + + // aapt resource value: 0x7f010127 + public const int defaultQueryHint = 2130772263; + + // aapt resource value: 0x7f0100c3 + public const int dialogPreferredPadding = 2130772163; + + // aapt resource value: 0x7f0100c2 + public const int dialogTheme = 2130772162; + + // aapt resource value: 0x7f010070 + public const int displayOptions = 2130772080; + + // aapt resource value: 0x7f010076 + public const int divider = 2130772086; + + // aapt resource value: 0x7f0100d0 + public const int dividerHorizontal = 2130772176; + + // aapt resource value: 0x7f010119 + public const int dividerPadding = 2130772249; + + // aapt resource value: 0x7f0100cf + public const int dividerVertical = 2130772175; + + // aapt resource value: 0x7f010111 + public const int drawableSize = 2130772241; + + // aapt resource value: 0x7f01006b + public const int drawerArrowStyle = 2130772075; + + // aapt resource value: 0x7f0100e2 + public const int dropDownListViewStyle = 2130772194; + + // aapt resource value: 0x7f0100c6 + public const int dropdownListPreferredItemHeight = 2130772166; + + // aapt resource value: 0x7f0100d7 + public const int editTextBackground = 2130772183; + + // aapt resource value: 0x7f0100d6 + public const int editTextColor = 2130772182; + + // aapt resource value: 0x7f010102 + public const int editTextStyle = 2130772226; + + // aapt resource value: 0x7f010087 + public const int elevation = 2130772103; + + // aapt resource value: 0x7f010064 + public const int errorEnabled = 2130772068; + + // aapt resource value: 0x7f010065 + public const int errorTextAppearance = 2130772069; + + // aapt resource value: 0x7f01008b + public const int expandActivityOverflowButtonDrawable = 2130772107; + + // aapt resource value: 0x7f010026 + public const int expanded = 2130772006; + + // aapt resource value: 0x7f010038 + public const int expandedTitleGravity = 2130772024; + + // aapt resource value: 0x7f01002d + public const int expandedTitleMargin = 2130772013; + + // aapt resource value: 0x7f010031 + public const int expandedTitleMarginBottom = 2130772017; + + // aapt resource value: 0x7f010030 + public const int expandedTitleMarginEnd = 2130772016; + + // aapt resource value: 0x7f01002e + public const int expandedTitleMarginStart = 2130772014; + + // aapt resource value: 0x7f01002f + public const int expandedTitleMarginTop = 2130772015; + + // aapt resource value: 0x7f010032 + public const int expandedTitleTextAppearance = 2130772018; + + // aapt resource value: 0x7f01001a + public const int externalRouteEnabledDrawable = 2130771994; + + // aapt resource value: 0x7f010044 + public const int fabSize = 2130772036; + + // aapt resource value: 0x7f010048 + public const int foregroundInsidePadding = 2130772040; + + // aapt resource value: 0x7f010112 + public const int gapBetweenBars = 2130772242; + + // aapt resource value: 0x7f010129 + public const int goIcon = 2130772265; + + // aapt resource value: 0x7f01004e + public const int headerLayout = 2130772046; + + // aapt resource value: 0x7f01006c + public const int height = 2130772076; + + // aapt resource value: 0x7f010080 + public const int hideOnContentScroll = 2130772096; + + // aapt resource value: 0x7f01006a + public const int hintAnimationEnabled = 2130772074; + + // aapt resource value: 0x7f010063 + public const int hintEnabled = 2130772067; + + // aapt resource value: 0x7f010062 + public const int hintTextAppearance = 2130772066; + + // aapt resource value: 0x7f0100c8 + public const int homeAsUpIndicator = 2130772168; + + // aapt resource value: 0x7f01007b + public const int homeLayout = 2130772091; + + // aapt resource value: 0x7f010074 + public const int icon = 2130772084; + + // aapt resource value: 0x7f010125 + public const int iconifiedByDefault = 2130772261; + + // aapt resource value: 0x7f0100d8 + public const int imageButtonStyle = 2130772184; + + // aapt resource value: 0x7f01007d + public const int indeterminateProgressStyle = 2130772093; + + // aapt resource value: 0x7f01008a + public const int initialActivityCount = 2130772106; + + // aapt resource value: 0x7f01004f + public const int insetForeground = 2130772047; + + // aapt resource value: 0x7f01006d + public const int isLightTheme = 2130772077; + + // aapt resource value: 0x7f01004c + public const int itemBackground = 2130772044; + + // aapt resource value: 0x7f01004a + public const int itemIconTint = 2130772042; + + // aapt resource value: 0x7f01007f + public const int itemPadding = 2130772095; + + // aapt resource value: 0x7f01004d + public const int itemTextAppearance = 2130772045; + + // aapt resource value: 0x7f01004b + public const int itemTextColor = 2130772043; + + // aapt resource value: 0x7f01003a + public const int keylines = 2130772026; + + // aapt resource value: 0x7f010124 + public const int layout = 2130772260; + + // aapt resource value: 0x7f010000 + public const int layoutManager = 2130771968; + + // aapt resource value: 0x7f01003d + public const int layout_anchor = 2130772029; + + // aapt resource value: 0x7f01003f + public const int layout_anchorGravity = 2130772031; + + // aapt resource value: 0x7f01003c + public const int layout_behavior = 2130772028; + + // aapt resource value: 0x7f01002b + public const int layout_collapseMode = 2130772011; + + // aapt resource value: 0x7f01002c + public const int layout_collapseParallaxMultiplier = 2130772012; + + // aapt resource value: 0x7f01003e + public const int layout_keyline = 2130772030; + + // aapt resource value: 0x7f010027 + public const int layout_scrollFlags = 2130772007; + + // aapt resource value: 0x7f010028 + public const int layout_scrollInterpolator = 2130772008; + + // aapt resource value: 0x7f0100ea + public const int listChoiceBackgroundIndicator = 2130772202; + + // aapt resource value: 0x7f0100c4 + public const int listDividerAlertDialog = 2130772164; + + // aapt resource value: 0x7f010090 + public const int listItemLayout = 2130772112; + + // aapt resource value: 0x7f01008d + public const int listLayout = 2130772109; + + // aapt resource value: 0x7f01010a + public const int listMenuViewStyle = 2130772234; + + // aapt resource value: 0x7f0100e3 + public const int listPopupWindowStyle = 2130772195; + + // aapt resource value: 0x7f0100dd + public const int listPreferredItemHeight = 2130772189; + + // aapt resource value: 0x7f0100df + public const int listPreferredItemHeightLarge = 2130772191; + + // aapt resource value: 0x7f0100de + public const int listPreferredItemHeightSmall = 2130772190; + + // aapt resource value: 0x7f0100e0 + public const int listPreferredItemPaddingLeft = 2130772192; + + // aapt resource value: 0x7f0100e1 + public const int listPreferredItemPaddingRight = 2130772193; + + // aapt resource value: 0x7f010075 + public const int logo = 2130772085; + + // aapt resource value: 0x7f01014a + public const int logoDescription = 2130772298; + + // aapt resource value: 0x7f010051 + public const int maxActionInlineWidth = 2130772049; + + // aapt resource value: 0x7f010144 + public const int maxButtonHeight = 2130772292; + + // aapt resource value: 0x7f010117 + public const int measureWithLargestChild = 2130772247; + + // aapt resource value: 0x7f010005 + public const int mediaRouteAudioTrackDrawable = 2130771973; + + // aapt resource value: 0x7f010006 + public const int mediaRouteBluetoothIconDrawable = 2130771974; + + // aapt resource value: 0x7f010007 + public const int mediaRouteButtonStyle = 2130771975; + + // aapt resource value: 0x7f010008 + public const int mediaRouteCastDrawable = 2130771976; + + // aapt resource value: 0x7f010009 + public const int mediaRouteChooserPrimaryTextStyle = 2130771977; + + // aapt resource value: 0x7f01000a + public const int mediaRouteChooserSecondaryTextStyle = 2130771978; + + // aapt resource value: 0x7f01000b + public const int mediaRouteCloseDrawable = 2130771979; + + // aapt resource value: 0x7f01000c + public const int mediaRouteCollapseGroupDrawable = 2130771980; + + // aapt resource value: 0x7f01000d + public const int mediaRouteConnectingDrawable = 2130771981; + + // aapt resource value: 0x7f01000e + public const int mediaRouteControllerPrimaryTextStyle = 2130771982; + + // aapt resource value: 0x7f01000f + public const int mediaRouteControllerSecondaryTextStyle = 2130771983; + + // aapt resource value: 0x7f010010 + public const int mediaRouteControllerTitleTextStyle = 2130771984; + + // aapt resource value: 0x7f010011 + public const int mediaRouteDefaultIconDrawable = 2130771985; + + // aapt resource value: 0x7f010012 + public const int mediaRouteExpandGroupDrawable = 2130771986; + + // aapt resource value: 0x7f010013 + public const int mediaRouteOffDrawable = 2130771987; + + // aapt resource value: 0x7f010014 + public const int mediaRouteOnDrawable = 2130771988; + + // aapt resource value: 0x7f010015 + public const int mediaRoutePauseDrawable = 2130771989; + + // aapt resource value: 0x7f010016 + public const int mediaRoutePlayDrawable = 2130771990; + + // aapt resource value: 0x7f010017 + public const int mediaRouteSpeakerGroupIconDrawable = 2130771991; + + // aapt resource value: 0x7f010018 + public const int mediaRouteSpeakerIconDrawable = 2130771992; + + // aapt resource value: 0x7f010019 + public const int mediaRouteTvIconDrawable = 2130771993; + + // aapt resource value: 0x7f010049 + public const int menu = 2130772041; + + // aapt resource value: 0x7f01008e + public const int multiChoiceItemLayout = 2130772110; + + // aapt resource value: 0x7f010149 + public const int navigationContentDescription = 2130772297; + + // aapt resource value: 0x7f010148 + public const int navigationIcon = 2130772296; + + // aapt resource value: 0x7f01006f + public const int navigationMode = 2130772079; + + // aapt resource value: 0x7f010120 + public const int overlapAnchor = 2130772256; + + // aapt resource value: 0x7f010122 + public const int paddingBottomNoButtons = 2130772258; + + // aapt resource value: 0x7f01014e + public const int paddingEnd = 2130772302; + + // aapt resource value: 0x7f01014d + public const int paddingStart = 2130772301; + + // aapt resource value: 0x7f010123 + public const int paddingTopNoTitle = 2130772259; + + // aapt resource value: 0x7f0100e7 + public const int panelBackground = 2130772199; + + // aapt resource value: 0x7f0100e9 + public const int panelMenuListTheme = 2130772201; + + // aapt resource value: 0x7f0100e8 + public const int panelMenuListWidth = 2130772200; + + // aapt resource value: 0x7f0100d4 + public const int popupMenuStyle = 2130772180; + + // aapt resource value: 0x7f010088 + public const int popupTheme = 2130772104; + + // aapt resource value: 0x7f0100d5 + public const int popupWindowStyle = 2130772181; + + // aapt resource value: 0x7f01011e + public const int preserveIconSpacing = 2130772254; + + // aapt resource value: 0x7f010045 + public const int pressedTranslationZ = 2130772037; + + // aapt resource value: 0x7f01007e + public const int progressBarPadding = 2130772094; + + // aapt resource value: 0x7f01007c + public const int progressBarStyle = 2130772092; + + // aapt resource value: 0x7f01012f + public const int queryBackground = 2130772271; + + // aapt resource value: 0x7f010126 + public const int queryHint = 2130772262; + + // aapt resource value: 0x7f010103 + public const int radioButtonStyle = 2130772227; + + // aapt resource value: 0x7f010104 + public const int ratingBarStyle = 2130772228; + + // aapt resource value: 0x7f010105 + public const int ratingBarStyleIndicator = 2130772229; + + // aapt resource value: 0x7f010106 + public const int ratingBarStyleSmall = 2130772230; + + // aapt resource value: 0x7f010002 + public const int reverseLayout = 2130771970; + + // aapt resource value: 0x7f010043 + public const int rippleColor = 2130772035; + + // aapt resource value: 0x7f01012b + public const int searchHintIcon = 2130772267; + + // aapt resource value: 0x7f01012a + public const int searchIcon = 2130772266; + + // aapt resource value: 0x7f0100dc + public const int searchViewStyle = 2130772188; + + // aapt resource value: 0x7f010107 + public const int seekBarStyle = 2130772231; + + // aapt resource value: 0x7f0100cc + public const int selectableItemBackground = 2130772172; + + // aapt resource value: 0x7f0100cd + public const int selectableItemBackgroundBorderless = 2130772173; + + // aapt resource value: 0x7f01011a + public const int showAsAction = 2130772250; + + // aapt resource value: 0x7f010118 + public const int showDividers = 2130772248; + + // aapt resource value: 0x7f01013b + public const int showText = 2130772283; + + // aapt resource value: 0x7f010091 + public const int showTitle = 2130772113; + + // aapt resource value: 0x7f01008f + public const int singleChoiceItemLayout = 2130772111; + + // aapt resource value: 0x7f010001 + public const int spanCount = 2130771969; + + // aapt resource value: 0x7f010110 + public const int spinBars = 2130772240; + + // aapt resource value: 0x7f0100c7 + public const int spinnerDropDownItemStyle = 2130772167; + + // aapt resource value: 0x7f010108 + public const int spinnerStyle = 2130772232; + + // aapt resource value: 0x7f01013a + public const int splitTrack = 2130772282; + + // aapt resource value: 0x7f010092 + public const int srcCompat = 2130772114; + + // aapt resource value: 0x7f010003 + public const int stackFromEnd = 2130771971; + + // aapt resource value: 0x7f010121 + public const int state_above_anchor = 2130772257; + + // aapt resource value: 0x7f01003b + public const int statusBarBackground = 2130772027; + + // aapt resource value: 0x7f010035 + public const int statusBarScrim = 2130772021; + + // aapt resource value: 0x7f01011f + public const int subMenuArrow = 2130772255; + + // aapt resource value: 0x7f010130 + public const int submitBackground = 2130772272; + + // aapt resource value: 0x7f010071 + public const int subtitle = 2130772081; + + // aapt resource value: 0x7f01013d + public const int subtitleTextAppearance = 2130772285; + + // aapt resource value: 0x7f01014c + public const int subtitleTextColor = 2130772300; + + // aapt resource value: 0x7f010073 + public const int subtitleTextStyle = 2130772083; + + // aapt resource value: 0x7f01012e + public const int suggestionRowLayout = 2130772270; + + // aapt resource value: 0x7f010138 + public const int switchMinWidth = 2130772280; + + // aapt resource value: 0x7f010139 + public const int switchPadding = 2130772281; + + // aapt resource value: 0x7f010109 + public const int switchStyle = 2130772233; + + // aapt resource value: 0x7f010137 + public const int switchTextAppearance = 2130772279; + + // aapt resource value: 0x7f010055 + public const int tabBackground = 2130772053; + + // aapt resource value: 0x7f010054 + public const int tabContentStart = 2130772052; + + // aapt resource value: 0x7f010057 + public const int tabGravity = 2130772055; + + // aapt resource value: 0x7f010052 + public const int tabIndicatorColor = 2130772050; + + // aapt resource value: 0x7f010053 + public const int tabIndicatorHeight = 2130772051; + + // aapt resource value: 0x7f010059 + public const int tabMaxWidth = 2130772057; + + // aapt resource value: 0x7f010058 + public const int tabMinWidth = 2130772056; + + // aapt resource value: 0x7f010056 + public const int tabMode = 2130772054; + + // aapt resource value: 0x7f010061 + public const int tabPadding = 2130772065; + + // aapt resource value: 0x7f010060 + public const int tabPaddingBottom = 2130772064; + + // aapt resource value: 0x7f01005f + public const int tabPaddingEnd = 2130772063; + + // aapt resource value: 0x7f01005d + public const int tabPaddingStart = 2130772061; + + // aapt resource value: 0x7f01005e + public const int tabPaddingTop = 2130772062; + + // aapt resource value: 0x7f01005c + public const int tabSelectedTextColor = 2130772060; + + // aapt resource value: 0x7f01005a + public const int tabTextAppearance = 2130772058; + + // aapt resource value: 0x7f01005b + public const int tabTextColor = 2130772059; + + // aapt resource value: 0x7f010098 + public const int textAllCaps = 2130772120; + + // aapt resource value: 0x7f0100bf + public const int textAppearanceLargePopupMenu = 2130772159; + + // aapt resource value: 0x7f0100e4 + public const int textAppearanceListItem = 2130772196; + + // aapt resource value: 0x7f0100e5 + public const int textAppearanceListItemSecondary = 2130772197; + + // aapt resource value: 0x7f0100e6 + public const int textAppearanceListItemSmall = 2130772198; + + // aapt resource value: 0x7f0100c1 + public const int textAppearancePopupMenuHeader = 2130772161; + + // aapt resource value: 0x7f0100da + public const int textAppearanceSearchResultSubtitle = 2130772186; + + // aapt resource value: 0x7f0100d9 + public const int textAppearanceSearchResultTitle = 2130772185; + + // aapt resource value: 0x7f0100c0 + public const int textAppearanceSmallPopupMenu = 2130772160; + + // aapt resource value: 0x7f0100f9 + public const int textColorAlertDialogListItem = 2130772217; + + // aapt resource value: 0x7f010042 + public const int textColorError = 2130772034; + + // aapt resource value: 0x7f0100db + public const int textColorSearchUrl = 2130772187; + + // aapt resource value: 0x7f01014f + public const int theme = 2130772303; + + // aapt resource value: 0x7f010116 + public const int thickness = 2130772246; + + // aapt resource value: 0x7f010136 + public const int thumbTextPadding = 2130772278; + + // aapt resource value: 0x7f010131 + public const int thumbTint = 2130772273; + + // aapt resource value: 0x7f010132 + public const int thumbTintMode = 2130772274; + + // aapt resource value: 0x7f010095 + public const int tickMark = 2130772117; + + // aapt resource value: 0x7f010096 + public const int tickMarkTint = 2130772118; + + // aapt resource value: 0x7f010097 + public const int tickMarkTintMode = 2130772119; + + // aapt resource value: 0x7f010093 + public const int tint = 2130772115; + + // aapt resource value: 0x7f010094 + public const int tintMode = 2130772116; + + // aapt resource value: 0x7f01006e + public const int title = 2130772078; + + // aapt resource value: 0x7f010039 + public const int titleEnabled = 2130772025; + + // aapt resource value: 0x7f01013e + public const int titleMargin = 2130772286; + + // aapt resource value: 0x7f010142 + public const int titleMarginBottom = 2130772290; + + // aapt resource value: 0x7f010140 + public const int titleMarginEnd = 2130772288; + + // aapt resource value: 0x7f01013f + public const int titleMarginStart = 2130772287; + + // aapt resource value: 0x7f010141 + public const int titleMarginTop = 2130772289; + + // aapt resource value: 0x7f010143 + public const int titleMargins = 2130772291; + + // aapt resource value: 0x7f01013c + public const int titleTextAppearance = 2130772284; + + // aapt resource value: 0x7f01014b + public const int titleTextColor = 2130772299; + + // aapt resource value: 0x7f010072 + public const int titleTextStyle = 2130772082; + + // aapt resource value: 0x7f010036 + public const int toolbarId = 2130772022; + + // aapt resource value: 0x7f0100d3 + public const int toolbarNavigationButtonStyle = 2130772179; + + // aapt resource value: 0x7f0100d2 + public const int toolbarStyle = 2130772178; + + // aapt resource value: 0x7f010133 + public const int track = 2130772275; + + // aapt resource value: 0x7f010134 + public const int trackTint = 2130772276; + + // aapt resource value: 0x7f010135 + public const int trackTintMode = 2130772277; + + // aapt resource value: 0x7f010047 + public const int useCompatPadding = 2130772039; + + // aapt resource value: 0x7f01012c + public const int voiceIcon = 2130772268; + + // aapt resource value: 0x7f010099 + public const int windowActionBar = 2130772121; + + // aapt resource value: 0x7f01009b + public const int windowActionBarOverlay = 2130772123; + + // aapt resource value: 0x7f01009c + public const int windowActionModeOverlay = 2130772124; + + // aapt resource value: 0x7f0100a0 + public const int windowFixedHeightMajor = 2130772128; + + // aapt resource value: 0x7f01009e + public const int windowFixedHeightMinor = 2130772126; + + // aapt resource value: 0x7f01009d + public const int windowFixedWidthMajor = 2130772125; + + // aapt resource value: 0x7f01009f + public const int windowFixedWidthMinor = 2130772127; + + // aapt resource value: 0x7f0100a1 + public const int windowMinWidthMajor = 2130772129; + + // aapt resource value: 0x7f0100a2 + public const int windowMinWidthMinor = 2130772130; + + // aapt resource value: 0x7f01009a + public const int windowNoTitle = 2130772122; + + static Attribute() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Attribute() + { + } + } + + public partial class Boolean + { + + // aapt resource value: 0x7f0c0000 + public const int abc_action_bar_embed_tabs = 2131492864; + + // aapt resource value: 0x7f0c0001 + public const int abc_allow_stacked_button_bar = 2131492865; + + // aapt resource value: 0x7f0c0002 + public const int abc_config_actionMenuItemAllCaps = 2131492866; + + // aapt resource value: 0x7f0c0003 + public const int abc_config_closeDialogWhenTouchOutside = 2131492867; + + // aapt resource value: 0x7f0c0004 + public const int abc_config_showMenuShortcutsWhenKeyboardPresent = 2131492868; + + static Boolean() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Boolean() + { + } + } + + public partial class Color + { + + // aapt resource value: 0x7f0b0049 + public const int abc_background_cache_hint_selector_material_dark = 2131427401; + + // aapt resource value: 0x7f0b004a + public const int abc_background_cache_hint_selector_material_light = 2131427402; + + // aapt resource value: 0x7f0b004b + public const int abc_btn_colored_borderless_text_material = 2131427403; + + // aapt resource value: 0x7f0b004c + public const int abc_btn_colored_text_material = 2131427404; + + // aapt resource value: 0x7f0b004d + public const int abc_color_highlight_material = 2131427405; + + // aapt resource value: 0x7f0b004e + public const int abc_hint_foreground_material_dark = 2131427406; + + // aapt resource value: 0x7f0b004f + public const int abc_hint_foreground_material_light = 2131427407; + + // aapt resource value: 0x7f0b000f + public const int abc_input_method_navigation_guard = 2131427343; + + // aapt resource value: 0x7f0b0050 + public const int abc_primary_text_disable_only_material_dark = 2131427408; + + // aapt resource value: 0x7f0b0051 + public const int abc_primary_text_disable_only_material_light = 2131427409; + + // aapt resource value: 0x7f0b0052 + public const int abc_primary_text_material_dark = 2131427410; + + // aapt resource value: 0x7f0b0053 + public const int abc_primary_text_material_light = 2131427411; + + // aapt resource value: 0x7f0b0054 + public const int abc_search_url_text = 2131427412; + + // aapt resource value: 0x7f0b0010 + public const int abc_search_url_text_normal = 2131427344; + + // aapt resource value: 0x7f0b0011 + public const int abc_search_url_text_pressed = 2131427345; + + // aapt resource value: 0x7f0b0012 + public const int abc_search_url_text_selected = 2131427346; + + // aapt resource value: 0x7f0b0055 + public const int abc_secondary_text_material_dark = 2131427413; + + // aapt resource value: 0x7f0b0056 + public const int abc_secondary_text_material_light = 2131427414; + + // aapt resource value: 0x7f0b0057 + public const int abc_tint_btn_checkable = 2131427415; + + // aapt resource value: 0x7f0b0058 + public const int abc_tint_default = 2131427416; + + // aapt resource value: 0x7f0b0059 + public const int abc_tint_edittext = 2131427417; + + // aapt resource value: 0x7f0b005a + public const int abc_tint_seek_thumb = 2131427418; + + // aapt resource value: 0x7f0b005b + public const int abc_tint_spinner = 2131427419; + + // aapt resource value: 0x7f0b005c + public const int abc_tint_switch_thumb = 2131427420; + + // aapt resource value: 0x7f0b005d + public const int abc_tint_switch_track = 2131427421; + + // aapt resource value: 0x7f0b0013 + public const int accent_material_dark = 2131427347; + + // aapt resource value: 0x7f0b0014 + public const int accent_material_light = 2131427348; + + // aapt resource value: 0x7f0b0015 + public const int background_floating_material_dark = 2131427349; + + // aapt resource value: 0x7f0b0016 + public const int background_floating_material_light = 2131427350; + + // aapt resource value: 0x7f0b0017 + public const int background_material_dark = 2131427351; + + // aapt resource value: 0x7f0b0018 + public const int background_material_light = 2131427352; + + // aapt resource value: 0x7f0b0019 + public const int bright_foreground_disabled_material_dark = 2131427353; + + // aapt resource value: 0x7f0b001a + public const int bright_foreground_disabled_material_light = 2131427354; + + // aapt resource value: 0x7f0b001b + public const int bright_foreground_inverse_material_dark = 2131427355; + + // aapt resource value: 0x7f0b001c + public const int bright_foreground_inverse_material_light = 2131427356; + + // aapt resource value: 0x7f0b001d + public const int bright_foreground_material_dark = 2131427357; + + // aapt resource value: 0x7f0b001e + public const int bright_foreground_material_light = 2131427358; + + // aapt resource value: 0x7f0b001f + public const int button_material_dark = 2131427359; + + // aapt resource value: 0x7f0b0020 + public const int button_material_light = 2131427360; + + // aapt resource value: 0x7f0b0000 + public const int cardview_dark_background = 2131427328; + + // aapt resource value: 0x7f0b0001 + public const int cardview_light_background = 2131427329; + + // aapt resource value: 0x7f0b0002 + public const int cardview_shadow_end_color = 2131427330; + + // aapt resource value: 0x7f0b0003 + public const int cardview_shadow_start_color = 2131427331; + + // aapt resource value: 0x7f0b0004 + public const int design_fab_shadow_end_color = 2131427332; + + // aapt resource value: 0x7f0b0005 + public const int design_fab_shadow_mid_color = 2131427333; + + // aapt resource value: 0x7f0b0006 + public const int design_fab_shadow_start_color = 2131427334; + + // aapt resource value: 0x7f0b0007 + public const int design_fab_stroke_end_inner_color = 2131427335; + + // aapt resource value: 0x7f0b0008 + public const int design_fab_stroke_end_outer_color = 2131427336; + + // aapt resource value: 0x7f0b0009 + public const int design_fab_stroke_top_inner_color = 2131427337; + + // aapt resource value: 0x7f0b000a + public const int design_fab_stroke_top_outer_color = 2131427338; + + // aapt resource value: 0x7f0b000b + public const int design_snackbar_background_color = 2131427339; + + // aapt resource value: 0x7f0b000c + public const int design_textinput_error_color_dark = 2131427340; + + // aapt resource value: 0x7f0b000d + public const int design_textinput_error_color_light = 2131427341; + + // aapt resource value: 0x7f0b0021 + public const int dim_foreground_disabled_material_dark = 2131427361; + + // aapt resource value: 0x7f0b0022 + public const int dim_foreground_disabled_material_light = 2131427362; + + // aapt resource value: 0x7f0b0023 + public const int dim_foreground_material_dark = 2131427363; + + // aapt resource value: 0x7f0b0024 + public const int dim_foreground_material_light = 2131427364; + + // aapt resource value: 0x7f0b0025 + public const int foreground_material_dark = 2131427365; + + // aapt resource value: 0x7f0b0026 + public const int foreground_material_light = 2131427366; + + // aapt resource value: 0x7f0b0027 + public const int highlighted_text_material_dark = 2131427367; + + // aapt resource value: 0x7f0b0028 + public const int highlighted_text_material_light = 2131427368; + + // aapt resource value: 0x7f0b0029 + public const int material_blue_grey_800 = 2131427369; + + // aapt resource value: 0x7f0b002a + public const int material_blue_grey_900 = 2131427370; + + // aapt resource value: 0x7f0b002b + public const int material_blue_grey_950 = 2131427371; + + // aapt resource value: 0x7f0b002c + public const int material_deep_teal_200 = 2131427372; + + // aapt resource value: 0x7f0b002d + public const int material_deep_teal_500 = 2131427373; + + // aapt resource value: 0x7f0b002e + public const int material_grey_100 = 2131427374; + + // aapt resource value: 0x7f0b002f + public const int material_grey_300 = 2131427375; + + // aapt resource value: 0x7f0b0030 + public const int material_grey_50 = 2131427376; + + // aapt resource value: 0x7f0b0031 + public const int material_grey_600 = 2131427377; + + // aapt resource value: 0x7f0b0032 + public const int material_grey_800 = 2131427378; + + // aapt resource value: 0x7f0b0033 + public const int material_grey_850 = 2131427379; + + // aapt resource value: 0x7f0b0034 + public const int material_grey_900 = 2131427380; + + // aapt resource value: 0x7f0b000e + public const int notification_action_color_filter = 2131427342; + + // aapt resource value: 0x7f0b0035 + public const int notification_icon_bg_color = 2131427381; + + // aapt resource value: 0x7f0b0036 + public const int notification_material_background_media_default_color = 2131427382; + + // aapt resource value: 0x7f0b0037 + public const int primary_dark_material_dark = 2131427383; + + // aapt resource value: 0x7f0b0038 + public const int primary_dark_material_light = 2131427384; + + // aapt resource value: 0x7f0b0039 + public const int primary_material_dark = 2131427385; + + // aapt resource value: 0x7f0b003a + public const int primary_material_light = 2131427386; + + // aapt resource value: 0x7f0b003b + public const int primary_text_default_material_dark = 2131427387; + + // aapt resource value: 0x7f0b003c + public const int primary_text_default_material_light = 2131427388; + + // aapt resource value: 0x7f0b003d + public const int primary_text_disabled_material_dark = 2131427389; + + // aapt resource value: 0x7f0b003e + public const int primary_text_disabled_material_light = 2131427390; + + // aapt resource value: 0x7f0b003f + public const int ripple_material_dark = 2131427391; + + // aapt resource value: 0x7f0b0040 + public const int ripple_material_light = 2131427392; + + // aapt resource value: 0x7f0b0041 + public const int secondary_text_default_material_dark = 2131427393; + + // aapt resource value: 0x7f0b0042 + public const int secondary_text_default_material_light = 2131427394; + + // aapt resource value: 0x7f0b0043 + public const int secondary_text_disabled_material_dark = 2131427395; + + // aapt resource value: 0x7f0b0044 + public const int secondary_text_disabled_material_light = 2131427396; + + // aapt resource value: 0x7f0b0045 + public const int switch_thumb_disabled_material_dark = 2131427397; + + // aapt resource value: 0x7f0b0046 + public const int switch_thumb_disabled_material_light = 2131427398; + + // aapt resource value: 0x7f0b005e + public const int switch_thumb_material_dark = 2131427422; + + // aapt resource value: 0x7f0b005f + public const int switch_thumb_material_light = 2131427423; + + // aapt resource value: 0x7f0b0047 + public const int switch_thumb_normal_material_dark = 2131427399; + + // aapt resource value: 0x7f0b0048 + public const int switch_thumb_normal_material_light = 2131427400; + + static Color() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Color() + { + } + } + + public partial class Dimension + { + + // aapt resource value: 0x7f060035 + public const int abc_action_bar_content_inset_material = 2131099701; + + // aapt resource value: 0x7f060036 + public const int abc_action_bar_content_inset_with_nav = 2131099702; + + // aapt resource value: 0x7f06002a + public const int abc_action_bar_default_height_material = 2131099690; + + // aapt resource value: 0x7f060037 + public const int abc_action_bar_default_padding_end_material = 2131099703; + + // aapt resource value: 0x7f060038 + public const int abc_action_bar_default_padding_start_material = 2131099704; + + // aapt resource value: 0x7f06003e + public const int abc_action_bar_elevation_material = 2131099710; + + // aapt resource value: 0x7f06003f + public const int abc_action_bar_icon_vertical_padding_material = 2131099711; + + // aapt resource value: 0x7f060040 + public const int abc_action_bar_overflow_padding_end_material = 2131099712; + + // aapt resource value: 0x7f060041 + public const int abc_action_bar_overflow_padding_start_material = 2131099713; + + // aapt resource value: 0x7f06002b + public const int abc_action_bar_progress_bar_size = 2131099691; + + // aapt resource value: 0x7f060042 + public const int abc_action_bar_stacked_max_height = 2131099714; + + // aapt resource value: 0x7f060043 + public const int abc_action_bar_stacked_tab_max_width = 2131099715; + + // aapt resource value: 0x7f060044 + public const int abc_action_bar_subtitle_bottom_margin_material = 2131099716; + + // aapt resource value: 0x7f060045 + public const int abc_action_bar_subtitle_top_margin_material = 2131099717; + + // aapt resource value: 0x7f060046 + public const int abc_action_button_min_height_material = 2131099718; + + // aapt resource value: 0x7f060047 + public const int abc_action_button_min_width_material = 2131099719; + + // aapt resource value: 0x7f060048 + public const int abc_action_button_min_width_overflow_material = 2131099720; + + // aapt resource value: 0x7f060029 + public const int abc_alert_dialog_button_bar_height = 2131099689; + + // aapt resource value: 0x7f060049 + public const int abc_button_inset_horizontal_material = 2131099721; + + // aapt resource value: 0x7f06004a + public const int abc_button_inset_vertical_material = 2131099722; + + // aapt resource value: 0x7f06004b + public const int abc_button_padding_horizontal_material = 2131099723; + + // aapt resource value: 0x7f06004c + public const int abc_button_padding_vertical_material = 2131099724; + + // aapt resource value: 0x7f06004d + public const int abc_cascading_menus_min_smallest_width = 2131099725; + + // aapt resource value: 0x7f06002e + public const int abc_config_prefDialogWidth = 2131099694; + + // aapt resource value: 0x7f06004e + public const int abc_control_corner_material = 2131099726; + + // aapt resource value: 0x7f06004f + public const int abc_control_inset_material = 2131099727; + + // aapt resource value: 0x7f060050 + public const int abc_control_padding_material = 2131099728; + + // aapt resource value: 0x7f06002f + public const int abc_dialog_fixed_height_major = 2131099695; + + // aapt resource value: 0x7f060030 + public const int abc_dialog_fixed_height_minor = 2131099696; + + // aapt resource value: 0x7f060031 + public const int abc_dialog_fixed_width_major = 2131099697; + + // aapt resource value: 0x7f060032 + public const int abc_dialog_fixed_width_minor = 2131099698; + + // aapt resource value: 0x7f060051 + public const int abc_dialog_list_padding_bottom_no_buttons = 2131099729; + + // aapt resource value: 0x7f060052 + public const int abc_dialog_list_padding_top_no_title = 2131099730; + + // aapt resource value: 0x7f060033 + public const int abc_dialog_min_width_major = 2131099699; + + // aapt resource value: 0x7f060034 + public const int abc_dialog_min_width_minor = 2131099700; + + // aapt resource value: 0x7f060053 + public const int abc_dialog_padding_material = 2131099731; + + // aapt resource value: 0x7f060054 + public const int abc_dialog_padding_top_material = 2131099732; + + // aapt resource value: 0x7f060055 + public const int abc_dialog_title_divider_material = 2131099733; + + // aapt resource value: 0x7f060056 + public const int abc_disabled_alpha_material_dark = 2131099734; + + // aapt resource value: 0x7f060057 + public const int abc_disabled_alpha_material_light = 2131099735; + + // aapt resource value: 0x7f060058 + public const int abc_dropdownitem_icon_width = 2131099736; + + // aapt resource value: 0x7f060059 + public const int abc_dropdownitem_text_padding_left = 2131099737; + + // aapt resource value: 0x7f06005a + public const int abc_dropdownitem_text_padding_right = 2131099738; + + // aapt resource value: 0x7f06005b + public const int abc_edit_text_inset_bottom_material = 2131099739; + + // aapt resource value: 0x7f06005c + public const int abc_edit_text_inset_horizontal_material = 2131099740; + + // aapt resource value: 0x7f06005d + public const int abc_edit_text_inset_top_material = 2131099741; + + // aapt resource value: 0x7f06005e + public const int abc_floating_window_z = 2131099742; + + // aapt resource value: 0x7f06005f + public const int abc_list_item_padding_horizontal_material = 2131099743; + + // aapt resource value: 0x7f060060 + public const int abc_panel_menu_list_width = 2131099744; + + // aapt resource value: 0x7f060061 + public const int abc_progress_bar_height_material = 2131099745; + + // aapt resource value: 0x7f060062 + public const int abc_search_view_preferred_height = 2131099746; + + // aapt resource value: 0x7f060063 + public const int abc_search_view_preferred_width = 2131099747; + + // aapt resource value: 0x7f060064 + public const int abc_seekbar_track_background_height_material = 2131099748; + + // aapt resource value: 0x7f060065 + public const int abc_seekbar_track_progress_height_material = 2131099749; + + // aapt resource value: 0x7f060066 + public const int abc_select_dialog_padding_start_material = 2131099750; + + // aapt resource value: 0x7f06003a + public const int abc_switch_padding = 2131099706; + + // aapt resource value: 0x7f060067 + public const int abc_text_size_body_1_material = 2131099751; + + // aapt resource value: 0x7f060068 + public const int abc_text_size_body_2_material = 2131099752; + + // aapt resource value: 0x7f060069 + public const int abc_text_size_button_material = 2131099753; + + // aapt resource value: 0x7f06006a + public const int abc_text_size_caption_material = 2131099754; + + // aapt resource value: 0x7f06006b + public const int abc_text_size_display_1_material = 2131099755; + + // aapt resource value: 0x7f06006c + public const int abc_text_size_display_2_material = 2131099756; + + // aapt resource value: 0x7f06006d + public const int abc_text_size_display_3_material = 2131099757; + + // aapt resource value: 0x7f06006e + public const int abc_text_size_display_4_material = 2131099758; + + // aapt resource value: 0x7f06006f + public const int abc_text_size_headline_material = 2131099759; + + // aapt resource value: 0x7f060070 + public const int abc_text_size_large_material = 2131099760; + + // aapt resource value: 0x7f060071 + public const int abc_text_size_medium_material = 2131099761; + + // aapt resource value: 0x7f060072 + public const int abc_text_size_menu_header_material = 2131099762; + + // aapt resource value: 0x7f060073 + public const int abc_text_size_menu_material = 2131099763; + + // aapt resource value: 0x7f060074 + public const int abc_text_size_small_material = 2131099764; + + // aapt resource value: 0x7f060075 + public const int abc_text_size_subhead_material = 2131099765; + + // aapt resource value: 0x7f06002c + public const int abc_text_size_subtitle_material_toolbar = 2131099692; + + // aapt resource value: 0x7f060076 + public const int abc_text_size_title_material = 2131099766; + + // aapt resource value: 0x7f06002d + public const int abc_text_size_title_material_toolbar = 2131099693; + + // aapt resource value: 0x7f060009 + public const int cardview_compat_inset_shadow = 2131099657; + + // aapt resource value: 0x7f06000a + public const int cardview_default_elevation = 2131099658; + + // aapt resource value: 0x7f06000b + public const int cardview_default_radius = 2131099659; + + // aapt resource value: 0x7f060014 + public const int design_appbar_elevation = 2131099668; + + // aapt resource value: 0x7f060015 + public const int design_bottom_sheet_modal_elevation = 2131099669; + + // aapt resource value: 0x7f060016 + public const int design_bottom_sheet_modal_peek_height = 2131099670; + + // aapt resource value: 0x7f060017 + public const int design_fab_border_width = 2131099671; + + // aapt resource value: 0x7f060018 + public const int design_fab_elevation = 2131099672; + + // aapt resource value: 0x7f060019 + public const int design_fab_image_size = 2131099673; + + // aapt resource value: 0x7f06001a + public const int design_fab_size_mini = 2131099674; + + // aapt resource value: 0x7f06001b + public const int design_fab_size_normal = 2131099675; + + // aapt resource value: 0x7f06001c + public const int design_fab_translation_z_pressed = 2131099676; + + // aapt resource value: 0x7f06001d + public const int design_navigation_elevation = 2131099677; + + // aapt resource value: 0x7f06001e + public const int design_navigation_icon_padding = 2131099678; + + // aapt resource value: 0x7f06001f + public const int design_navigation_icon_size = 2131099679; + + // aapt resource value: 0x7f06000c + public const int design_navigation_max_width = 2131099660; + + // aapt resource value: 0x7f060020 + public const int design_navigation_padding_bottom = 2131099680; + + // aapt resource value: 0x7f060021 + public const int design_navigation_separator_vertical_padding = 2131099681; + + // aapt resource value: 0x7f06000d + public const int design_snackbar_action_inline_max_width = 2131099661; + + // aapt resource value: 0x7f06000e + public const int design_snackbar_background_corner_radius = 2131099662; + + // aapt resource value: 0x7f060022 + public const int design_snackbar_elevation = 2131099682; + + // aapt resource value: 0x7f06000f + public const int design_snackbar_extra_spacing_horizontal = 2131099663; + + // aapt resource value: 0x7f060010 + public const int design_snackbar_max_width = 2131099664; + + // aapt resource value: 0x7f060011 + public const int design_snackbar_min_width = 2131099665; + + // aapt resource value: 0x7f060023 + public const int design_snackbar_padding_horizontal = 2131099683; + + // aapt resource value: 0x7f060024 + public const int design_snackbar_padding_vertical = 2131099684; + + // aapt resource value: 0x7f060012 + public const int design_snackbar_padding_vertical_2lines = 2131099666; + + // aapt resource value: 0x7f060025 + public const int design_snackbar_text_size = 2131099685; + + // aapt resource value: 0x7f060026 + public const int design_tab_max_width = 2131099686; + + // aapt resource value: 0x7f060013 + public const int design_tab_scrollable_min_width = 2131099667; + + // aapt resource value: 0x7f060027 + public const int design_tab_text_size = 2131099687; + + // aapt resource value: 0x7f060028 + public const int design_tab_text_size_2line = 2131099688; + + // aapt resource value: 0x7f060077 + public const int disabled_alpha_material_dark = 2131099767; + + // aapt resource value: 0x7f060078 + public const int disabled_alpha_material_light = 2131099768; + + // aapt resource value: 0x7f060079 + public const int highlight_alpha_material_colored = 2131099769; + + // aapt resource value: 0x7f06007a + public const int highlight_alpha_material_dark = 2131099770; + + // aapt resource value: 0x7f06007b + public const int highlight_alpha_material_light = 2131099771; + + // aapt resource value: 0x7f06007c + public const int hint_alpha_material_dark = 2131099772; + + // aapt resource value: 0x7f06007d + public const int hint_alpha_material_light = 2131099773; + + // aapt resource value: 0x7f06007e + public const int hint_pressed_alpha_material_dark = 2131099774; + + // aapt resource value: 0x7f06007f + public const int hint_pressed_alpha_material_light = 2131099775; + + // aapt resource value: 0x7f060000 + public const int item_touch_helper_max_drag_scroll_per_frame = 2131099648; + + // aapt resource value: 0x7f060001 + public const int item_touch_helper_swipe_escape_max_velocity = 2131099649; + + // aapt resource value: 0x7f060002 + public const int item_touch_helper_swipe_escape_velocity = 2131099650; + + // aapt resource value: 0x7f060003 + public const int mr_controller_volume_group_list_item_height = 2131099651; + + // aapt resource value: 0x7f060004 + public const int mr_controller_volume_group_list_item_icon_size = 2131099652; + + // aapt resource value: 0x7f060005 + public const int mr_controller_volume_group_list_max_height = 2131099653; + + // aapt resource value: 0x7f060008 + public const int mr_controller_volume_group_list_padding_top = 2131099656; + + // aapt resource value: 0x7f060006 + public const int mr_dialog_fixed_width_major = 2131099654; + + // aapt resource value: 0x7f060007 + public const int mr_dialog_fixed_width_minor = 2131099655; + + // aapt resource value: 0x7f060080 + public const int notification_action_icon_size = 2131099776; + + // aapt resource value: 0x7f060081 + public const int notification_action_text_size = 2131099777; + + // aapt resource value: 0x7f060082 + public const int notification_big_circle_margin = 2131099778; + + // aapt resource value: 0x7f06003b + public const int notification_content_margin_start = 2131099707; + + // aapt resource value: 0x7f060083 + public const int notification_large_icon_height = 2131099779; + + // aapt resource value: 0x7f060084 + public const int notification_large_icon_width = 2131099780; + + // aapt resource value: 0x7f06003c + public const int notification_main_column_padding_top = 2131099708; + + // aapt resource value: 0x7f06003d + public const int notification_media_narrow_margin = 2131099709; + + // aapt resource value: 0x7f060085 + public const int notification_right_icon_size = 2131099781; + + // aapt resource value: 0x7f060039 + public const int notification_right_side_padding_top = 2131099705; + + // aapt resource value: 0x7f060086 + public const int notification_small_icon_background_padding = 2131099782; + + // aapt resource value: 0x7f060087 + public const int notification_small_icon_size_as_large = 2131099783; + + // aapt resource value: 0x7f060088 + public const int notification_subtext_size = 2131099784; + + // aapt resource value: 0x7f060089 + public const int notification_top_pad = 2131099785; + + // aapt resource value: 0x7f06008a + public const int notification_top_pad_large_text = 2131099786; + + static Dimension() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Dimension() + { + } + } + + public partial class Drawable + { + + // aapt resource value: 0x7f020000 + public const int abc_ab_share_pack_mtrl_alpha = 2130837504; + + // aapt resource value: 0x7f020001 + public const int abc_action_bar_item_background_material = 2130837505; + + // aapt resource value: 0x7f020002 + public const int abc_btn_borderless_material = 2130837506; + + // aapt resource value: 0x7f020003 + public const int abc_btn_check_material = 2130837507; + + // aapt resource value: 0x7f020004 + public const int abc_btn_check_to_on_mtrl_000 = 2130837508; + + // aapt resource value: 0x7f020005 + public const int abc_btn_check_to_on_mtrl_015 = 2130837509; + + // aapt resource value: 0x7f020006 + public const int abc_btn_colored_material = 2130837510; + + // aapt resource value: 0x7f020007 + public const int abc_btn_default_mtrl_shape = 2130837511; + + // aapt resource value: 0x7f020008 + public const int abc_btn_radio_material = 2130837512; + + // aapt resource value: 0x7f020009 + public const int abc_btn_radio_to_on_mtrl_000 = 2130837513; + + // aapt resource value: 0x7f02000a + public const int abc_btn_radio_to_on_mtrl_015 = 2130837514; + + // aapt resource value: 0x7f02000b + public const int abc_btn_switch_to_on_mtrl_00001 = 2130837515; + + // aapt resource value: 0x7f02000c + public const int abc_btn_switch_to_on_mtrl_00012 = 2130837516; + + // aapt resource value: 0x7f02000d + public const int abc_cab_background_internal_bg = 2130837517; + + // aapt resource value: 0x7f02000e + public const int abc_cab_background_top_material = 2130837518; + + // aapt resource value: 0x7f02000f + public const int abc_cab_background_top_mtrl_alpha = 2130837519; + + // aapt resource value: 0x7f020010 + public const int abc_control_background_material = 2130837520; + + // aapt resource value: 0x7f020011 + public const int abc_dialog_material_background = 2130837521; + + // aapt resource value: 0x7f020012 + public const int abc_edit_text_material = 2130837522; + + // aapt resource value: 0x7f020013 + public const int abc_ic_ab_back_material = 2130837523; + + // aapt resource value: 0x7f020014 + public const int abc_ic_arrow_drop_right_black_24dp = 2130837524; + + // aapt resource value: 0x7f020015 + public const int abc_ic_clear_material = 2130837525; + + // aapt resource value: 0x7f020016 + public const int abc_ic_commit_search_api_mtrl_alpha = 2130837526; + + // aapt resource value: 0x7f020017 + public const int abc_ic_go_search_api_material = 2130837527; + + // aapt resource value: 0x7f020018 + public const int abc_ic_menu_copy_mtrl_am_alpha = 2130837528; + + // aapt resource value: 0x7f020019 + public const int abc_ic_menu_cut_mtrl_alpha = 2130837529; + + // aapt resource value: 0x7f02001a + public const int abc_ic_menu_overflow_material = 2130837530; + + // aapt resource value: 0x7f02001b + public const int abc_ic_menu_paste_mtrl_am_alpha = 2130837531; + + // aapt resource value: 0x7f02001c + public const int abc_ic_menu_selectall_mtrl_alpha = 2130837532; + + // aapt resource value: 0x7f02001d + public const int abc_ic_menu_share_mtrl_alpha = 2130837533; + + // aapt resource value: 0x7f02001e + public const int abc_ic_search_api_material = 2130837534; + + // aapt resource value: 0x7f02001f + public const int abc_ic_star_black_16dp = 2130837535; + + // aapt resource value: 0x7f020020 + public const int abc_ic_star_black_36dp = 2130837536; + + // aapt resource value: 0x7f020021 + public const int abc_ic_star_black_48dp = 2130837537; + + // aapt resource value: 0x7f020022 + public const int abc_ic_star_half_black_16dp = 2130837538; + + // aapt resource value: 0x7f020023 + public const int abc_ic_star_half_black_36dp = 2130837539; + + // aapt resource value: 0x7f020024 + public const int abc_ic_star_half_black_48dp = 2130837540; + + // aapt resource value: 0x7f020025 + public const int abc_ic_voice_search_api_material = 2130837541; + + // aapt resource value: 0x7f020026 + public const int abc_item_background_holo_dark = 2130837542; + + // aapt resource value: 0x7f020027 + public const int abc_item_background_holo_light = 2130837543; + + // aapt resource value: 0x7f020028 + public const int abc_list_divider_mtrl_alpha = 2130837544; + + // aapt resource value: 0x7f020029 + public const int abc_list_focused_holo = 2130837545; + + // aapt resource value: 0x7f02002a + public const int abc_list_longpressed_holo = 2130837546; + + // aapt resource value: 0x7f02002b + public const int abc_list_pressed_holo_dark = 2130837547; + + // aapt resource value: 0x7f02002c + public const int abc_list_pressed_holo_light = 2130837548; + + // aapt resource value: 0x7f02002d + public const int abc_list_selector_background_transition_holo_dark = 2130837549; + + // aapt resource value: 0x7f02002e + public const int abc_list_selector_background_transition_holo_light = 2130837550; + + // aapt resource value: 0x7f02002f + public const int abc_list_selector_disabled_holo_dark = 2130837551; + + // aapt resource value: 0x7f020030 + public const int abc_list_selector_disabled_holo_light = 2130837552; + + // aapt resource value: 0x7f020031 + public const int abc_list_selector_holo_dark = 2130837553; + + // aapt resource value: 0x7f020032 + public const int abc_list_selector_holo_light = 2130837554; + + // aapt resource value: 0x7f020033 + public const int abc_menu_hardkey_panel_mtrl_mult = 2130837555; + + // aapt resource value: 0x7f020034 + public const int abc_popup_background_mtrl_mult = 2130837556; + + // aapt resource value: 0x7f020035 + public const int abc_ratingbar_indicator_material = 2130837557; + + // aapt resource value: 0x7f020036 + public const int abc_ratingbar_material = 2130837558; + + // aapt resource value: 0x7f020037 + public const int abc_ratingbar_small_material = 2130837559; + + // aapt resource value: 0x7f020038 + public const int abc_scrubber_control_off_mtrl_alpha = 2130837560; + + // aapt resource value: 0x7f020039 + public const int abc_scrubber_control_to_pressed_mtrl_000 = 2130837561; + + // aapt resource value: 0x7f02003a + public const int abc_scrubber_control_to_pressed_mtrl_005 = 2130837562; + + // aapt resource value: 0x7f02003b + public const int abc_scrubber_primary_mtrl_alpha = 2130837563; + + // aapt resource value: 0x7f02003c + public const int abc_scrubber_track_mtrl_alpha = 2130837564; + + // aapt resource value: 0x7f02003d + public const int abc_seekbar_thumb_material = 2130837565; + + // aapt resource value: 0x7f02003e + public const int abc_seekbar_tick_mark_material = 2130837566; + + // aapt resource value: 0x7f02003f + public const int abc_seekbar_track_material = 2130837567; + + // aapt resource value: 0x7f020040 + public const int abc_spinner_mtrl_am_alpha = 2130837568; + + // aapt resource value: 0x7f020041 + public const int abc_spinner_textfield_background_material = 2130837569; + + // aapt resource value: 0x7f020042 + public const int abc_switch_thumb_material = 2130837570; + + // aapt resource value: 0x7f020043 + public const int abc_switch_track_mtrl_alpha = 2130837571; + + // aapt resource value: 0x7f020044 + public const int abc_tab_indicator_material = 2130837572; + + // aapt resource value: 0x7f020045 + public const int abc_tab_indicator_mtrl_alpha = 2130837573; + + // aapt resource value: 0x7f020046 + public const int abc_text_cursor_material = 2130837574; + + // aapt resource value: 0x7f020047 + public const int abc_text_select_handle_left_mtrl_dark = 2130837575; + + // aapt resource value: 0x7f020048 + public const int abc_text_select_handle_left_mtrl_light = 2130837576; + + // aapt resource value: 0x7f020049 + public const int abc_text_select_handle_middle_mtrl_dark = 2130837577; + + // aapt resource value: 0x7f02004a + public const int abc_text_select_handle_middle_mtrl_light = 2130837578; + + // aapt resource value: 0x7f02004b + public const int abc_text_select_handle_right_mtrl_dark = 2130837579; + + // aapt resource value: 0x7f02004c + public const int abc_text_select_handle_right_mtrl_light = 2130837580; + + // aapt resource value: 0x7f02004d + public const int abc_textfield_activated_mtrl_alpha = 2130837581; + + // aapt resource value: 0x7f02004e + public const int abc_textfield_default_mtrl_alpha = 2130837582; + + // aapt resource value: 0x7f02004f + public const int abc_textfield_search_activated_mtrl_alpha = 2130837583; + + // aapt resource value: 0x7f020050 + public const int abc_textfield_search_default_mtrl_alpha = 2130837584; + + // aapt resource value: 0x7f020051 + public const int abc_textfield_search_material = 2130837585; + + // aapt resource value: 0x7f020052 + public const int abc_vector_test = 2130837586; + + // aapt resource value: 0x7f020053 + public const int design_fab_background = 2130837587; + + // aapt resource value: 0x7f020054 + public const int design_snackbar_background = 2130837588; + + // aapt resource value: 0x7f020055 + public const int ic_audiotrack = 2130837589; + + // aapt resource value: 0x7f020056 + public const int ic_audiotrack_light = 2130837590; + + // aapt resource value: 0x7f020057 + public const int ic_bluetooth_grey = 2130837591; + + // aapt resource value: 0x7f020058 + public const int ic_bluetooth_white = 2130837592; + + // aapt resource value: 0x7f020059 + public const int ic_cast_dark = 2130837593; + + // aapt resource value: 0x7f02005a + public const int ic_cast_disabled_light = 2130837594; + + // aapt resource value: 0x7f02005b + public const int ic_cast_grey = 2130837595; + + // aapt resource value: 0x7f02005c + public const int ic_cast_light = 2130837596; + + // aapt resource value: 0x7f02005d + public const int ic_cast_off_light = 2130837597; + + // aapt resource value: 0x7f02005e + public const int ic_cast_on_0_light = 2130837598; + + // aapt resource value: 0x7f02005f + public const int ic_cast_on_1_light = 2130837599; + + // aapt resource value: 0x7f020060 + public const int ic_cast_on_2_light = 2130837600; + + // aapt resource value: 0x7f020061 + public const int ic_cast_on_light = 2130837601; + + // aapt resource value: 0x7f020062 + public const int ic_cast_white = 2130837602; + + // aapt resource value: 0x7f020063 + public const int ic_close_dark = 2130837603; + + // aapt resource value: 0x7f020064 + public const int ic_close_light = 2130837604; + + // aapt resource value: 0x7f020065 + public const int ic_collapse = 2130837605; + + // aapt resource value: 0x7f020066 + public const int ic_collapse_00000 = 2130837606; + + // aapt resource value: 0x7f020067 + public const int ic_collapse_00001 = 2130837607; + + // aapt resource value: 0x7f020068 + public const int ic_collapse_00002 = 2130837608; + + // aapt resource value: 0x7f020069 + public const int ic_collapse_00003 = 2130837609; + + // aapt resource value: 0x7f02006a + public const int ic_collapse_00004 = 2130837610; + + // aapt resource value: 0x7f02006b + public const int ic_collapse_00005 = 2130837611; + + // aapt resource value: 0x7f02006c + public const int ic_collapse_00006 = 2130837612; + + // aapt resource value: 0x7f02006d + public const int ic_collapse_00007 = 2130837613; + + // aapt resource value: 0x7f02006e + public const int ic_collapse_00008 = 2130837614; + + // aapt resource value: 0x7f02006f + public const int ic_collapse_00009 = 2130837615; + + // aapt resource value: 0x7f020070 + public const int ic_collapse_00010 = 2130837616; + + // aapt resource value: 0x7f020071 + public const int ic_collapse_00011 = 2130837617; + + // aapt resource value: 0x7f020072 + public const int ic_collapse_00012 = 2130837618; + + // aapt resource value: 0x7f020073 + public const int ic_collapse_00013 = 2130837619; + + // aapt resource value: 0x7f020074 + public const int ic_collapse_00014 = 2130837620; + + // aapt resource value: 0x7f020075 + public const int ic_collapse_00015 = 2130837621; + + // aapt resource value: 0x7f020076 + public const int ic_expand = 2130837622; + + // aapt resource value: 0x7f020077 + public const int ic_expand_00000 = 2130837623; + + // aapt resource value: 0x7f020078 + public const int ic_expand_00001 = 2130837624; + + // aapt resource value: 0x7f020079 + public const int ic_expand_00002 = 2130837625; + + // aapt resource value: 0x7f02007a + public const int ic_expand_00003 = 2130837626; + + // aapt resource value: 0x7f02007b + public const int ic_expand_00004 = 2130837627; + + // aapt resource value: 0x7f02007c + public const int ic_expand_00005 = 2130837628; + + // aapt resource value: 0x7f02007d + public const int ic_expand_00006 = 2130837629; + + // aapt resource value: 0x7f02007e + public const int ic_expand_00007 = 2130837630; + + // aapt resource value: 0x7f02007f + public const int ic_expand_00008 = 2130837631; + + // aapt resource value: 0x7f020080 + public const int ic_expand_00009 = 2130837632; + + // aapt resource value: 0x7f020081 + public const int ic_expand_00010 = 2130837633; + + // aapt resource value: 0x7f020082 + public const int ic_expand_00011 = 2130837634; + + // aapt resource value: 0x7f020083 + public const int ic_expand_00012 = 2130837635; + + // aapt resource value: 0x7f020084 + public const int ic_expand_00013 = 2130837636; + + // aapt resource value: 0x7f020085 + public const int ic_expand_00014 = 2130837637; + + // aapt resource value: 0x7f020086 + public const int ic_expand_00015 = 2130837638; + + // aapt resource value: 0x7f020087 + public const int ic_media_pause = 2130837639; + + // aapt resource value: 0x7f020088 + public const int ic_media_play = 2130837640; + + // aapt resource value: 0x7f020089 + public const int ic_media_route_disabled_mono_dark = 2130837641; + + // aapt resource value: 0x7f02008a + public const int ic_media_route_off_mono_dark = 2130837642; + + // aapt resource value: 0x7f02008b + public const int ic_media_route_on_0_mono_dark = 2130837643; + + // aapt resource value: 0x7f02008c + public const int ic_media_route_on_1_mono_dark = 2130837644; + + // aapt resource value: 0x7f02008d + public const int ic_media_route_on_2_mono_dark = 2130837645; + + // aapt resource value: 0x7f02008e + public const int ic_media_route_on_mono_dark = 2130837646; + + // aapt resource value: 0x7f02008f + public const int ic_pause_dark = 2130837647; + + // aapt resource value: 0x7f020090 + public const int ic_pause_light = 2130837648; + + // aapt resource value: 0x7f020091 + public const int ic_play_dark = 2130837649; + + // aapt resource value: 0x7f020092 + public const int ic_play_light = 2130837650; + + // aapt resource value: 0x7f020093 + public const int ic_speaker_dark = 2130837651; + + // aapt resource value: 0x7f020094 + public const int ic_speaker_group_dark = 2130837652; + + // aapt resource value: 0x7f020095 + public const int ic_speaker_group_light = 2130837653; + + // aapt resource value: 0x7f020096 + public const int ic_speaker_light = 2130837654; + + // aapt resource value: 0x7f020097 + public const int ic_tv_dark = 2130837655; + + // aapt resource value: 0x7f020098 + public const int ic_tv_light = 2130837656; + + // aapt resource value: 0x7f020099 + public const int icon = 2130837657; + + // aapt resource value: 0x7f02009a + public const int mr_dialog_material_background_dark = 2130837658; + + // aapt resource value: 0x7f02009b + public const int mr_dialog_material_background_light = 2130837659; + + // aapt resource value: 0x7f02009c + public const int mr_ic_audiotrack_light = 2130837660; + + // aapt resource value: 0x7f02009d + public const int mr_ic_cast_dark = 2130837661; + + // aapt resource value: 0x7f02009e + public const int mr_ic_cast_light = 2130837662; + + // aapt resource value: 0x7f02009f + public const int mr_ic_close_dark = 2130837663; + + // aapt resource value: 0x7f0200a0 + public const int mr_ic_close_light = 2130837664; + + // aapt resource value: 0x7f0200a1 + public const int mr_ic_media_route_connecting_mono_dark = 2130837665; + + // aapt resource value: 0x7f0200a2 + public const int mr_ic_media_route_connecting_mono_light = 2130837666; + + // aapt resource value: 0x7f0200a3 + public const int mr_ic_media_route_mono_dark = 2130837667; + + // aapt resource value: 0x7f0200a4 + public const int mr_ic_media_route_mono_light = 2130837668; + + // aapt resource value: 0x7f0200a5 + public const int mr_ic_pause_dark = 2130837669; + + // aapt resource value: 0x7f0200a6 + public const int mr_ic_pause_light = 2130837670; + + // aapt resource value: 0x7f0200a7 + public const int mr_ic_play_dark = 2130837671; + + // aapt resource value: 0x7f0200a8 + public const int mr_ic_play_light = 2130837672; + + // aapt resource value: 0x7f0200a9 + public const int notification_action_background = 2130837673; + + // aapt resource value: 0x7f0200aa + public const int notification_bg = 2130837674; + + // aapt resource value: 0x7f0200ab + public const int notification_bg_low = 2130837675; + + // aapt resource value: 0x7f0200ac + public const int notification_bg_low_normal = 2130837676; + + // aapt resource value: 0x7f0200ad + public const int notification_bg_low_pressed = 2130837677; + + // aapt resource value: 0x7f0200ae + public const int notification_bg_normal = 2130837678; + + // aapt resource value: 0x7f0200af + public const int notification_bg_normal_pressed = 2130837679; + + // aapt resource value: 0x7f0200b0 + public const int notification_icon_background = 2130837680; + + // aapt resource value: 0x7f0200b3 + public const int notification_template_icon_bg = 2130837683; + + // aapt resource value: 0x7f0200b4 + public const int notification_template_icon_low_bg = 2130837684; + + // aapt resource value: 0x7f0200b1 + public const int notification_tile_bg = 2130837681; + + // aapt resource value: 0x7f0200b2 + public const int notify_panel_notification_icon_bg = 2130837682; + + static Drawable() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Drawable() + { + } + } + + public partial class Id + { + + // aapt resource value: 0x7f070092 + public const int action0 = 2131165330; + + // aapt resource value: 0x7f07005e + public const int action_bar = 2131165278; + + // aapt resource value: 0x7f070002 + public const int action_bar_activity_content = 2131165186; + + // aapt resource value: 0x7f07005d + public const int action_bar_container = 2131165277; + + // aapt resource value: 0x7f070059 + public const int action_bar_root = 2131165273; + + // aapt resource value: 0x7f070003 + public const int action_bar_spinner = 2131165187; + + // aapt resource value: 0x7f07003c + public const int action_bar_subtitle = 2131165244; + + // aapt resource value: 0x7f07003b + public const int action_bar_title = 2131165243; + + // aapt resource value: 0x7f07008f + public const int action_container = 2131165327; + + // aapt resource value: 0x7f07005f + public const int action_context_bar = 2131165279; + + // aapt resource value: 0x7f070096 + public const int action_divider = 2131165334; + + // aapt resource value: 0x7f070090 + public const int action_image = 2131165328; + + // aapt resource value: 0x7f070004 + public const int action_menu_divider = 2131165188; + + // aapt resource value: 0x7f070005 + public const int action_menu_presenter = 2131165189; + + // aapt resource value: 0x7f07005b + public const int action_mode_bar = 2131165275; + + // aapt resource value: 0x7f07005a + public const int action_mode_bar_stub = 2131165274; + + // aapt resource value: 0x7f07003d + public const int action_mode_close_button = 2131165245; + + // aapt resource value: 0x7f070091 + public const int action_text = 2131165329; + + // aapt resource value: 0x7f07009f + public const int actions = 2131165343; + + // aapt resource value: 0x7f07003e + public const int activity_chooser_view_content = 2131165246; + + // aapt resource value: 0x7f070032 + public const int add = 2131165234; + + // aapt resource value: 0x7f070052 + public const int alertTitle = 2131165266; + + // aapt resource value: 0x7f070036 + public const int always = 2131165238; + + // aapt resource value: 0x7f070034 + public const int beginning = 2131165236; + + // aapt resource value: 0x7f070013 + public const int bottom = 2131165203; + + // aapt resource value: 0x7f070045 + public const int buttonPanel = 2131165253; + + // aapt resource value: 0x7f070093 + public const int cancel_action = 2131165331; + + // aapt resource value: 0x7f070014 + public const int center = 2131165204; + + // aapt resource value: 0x7f070015 + public const int center_horizontal = 2131165205; + + // aapt resource value: 0x7f070016 + public const int center_vertical = 2131165206; + + // aapt resource value: 0x7f070055 + public const int checkbox = 2131165269; + + // aapt resource value: 0x7f07009b + public const int chronometer = 2131165339; + + // aapt resource value: 0x7f07001d + public const int clip_horizontal = 2131165213; + + // aapt resource value: 0x7f07001e + public const int clip_vertical = 2131165214; + + // aapt resource value: 0x7f070037 + public const int collapseActionView = 2131165239; + + // aapt resource value: 0x7f070048 + public const int contentPanel = 2131165256; + + // aapt resource value: 0x7f07004f + public const int custom = 2131165263; + + // aapt resource value: 0x7f07004e + public const int customPanel = 2131165262; + + // aapt resource value: 0x7f07005c + public const int decor_content_parent = 2131165276; + + // aapt resource value: 0x7f070041 + public const int default_activity_button = 2131165249; + + // aapt resource value: 0x7f07006e + public const int design_bottom_sheet = 2131165294; + + // aapt resource value: 0x7f070075 + public const int design_menu_item_action_area = 2131165301; + + // aapt resource value: 0x7f070074 + public const int design_menu_item_action_area_stub = 2131165300; + + // aapt resource value: 0x7f070073 + public const int design_menu_item_text = 2131165299; + + // aapt resource value: 0x7f070072 + public const int design_navigation_view = 2131165298; + + // aapt resource value: 0x7f070027 + public const int disableHome = 2131165223; + + // aapt resource value: 0x7f070060 + public const int edit_query = 2131165280; + + // aapt resource value: 0x7f070017 + public const int end = 2131165207; + + // aapt resource value: 0x7f0700a5 + public const int end_padder = 2131165349; + + // aapt resource value: 0x7f07000b + public const int enterAlways = 2131165195; + + // aapt resource value: 0x7f07000c + public const int enterAlwaysCollapsed = 2131165196; + + // aapt resource value: 0x7f07000d + public const int exitUntilCollapsed = 2131165197; + + // aapt resource value: 0x7f07003f + public const int expand_activities_button = 2131165247; + + // aapt resource value: 0x7f070054 + public const int expanded_menu = 2131165268; + + // aapt resource value: 0x7f07001f + public const int fill = 2131165215; + + // aapt resource value: 0x7f070020 + public const int fill_horizontal = 2131165216; + + // aapt resource value: 0x7f070018 + public const int fill_vertical = 2131165208; + + // aapt resource value: 0x7f070023 + public const int @fixed = 2131165219; + + // aapt resource value: 0x7f070006 + public const int home = 2131165190; + + // aapt resource value: 0x7f070028 + public const int homeAsUp = 2131165224; + + // aapt resource value: 0x7f070043 + public const int icon = 2131165251; + + // aapt resource value: 0x7f0700a0 + public const int icon_group = 2131165344; + + // aapt resource value: 0x7f070038 + public const int ifRoom = 2131165240; + + // aapt resource value: 0x7f070040 + public const int image = 2131165248; + + // aapt resource value: 0x7f07009c + public const int info = 2131165340; + + // aapt resource value: 0x7f070000 + public const int item_touch_helper_previous_elevation = 2131165184; + + // aapt resource value: 0x7f070019 + public const int left = 2131165209; + + // aapt resource value: 0x7f0700a1 + public const int line1 = 2131165345; + + // aapt resource value: 0x7f0700a3 + public const int line3 = 2131165347; + + // aapt resource value: 0x7f070025 + public const int listMode = 2131165221; + + // aapt resource value: 0x7f070042 + public const int list_item = 2131165250; + + // aapt resource value: 0x7f070095 + public const int media_actions = 2131165333; + + // aapt resource value: 0x7f070035 + public const int middle = 2131165237; + + // aapt resource value: 0x7f070021 + public const int mini = 2131165217; + + // aapt resource value: 0x7f070081 + public const int mr_art = 2131165313; + + // aapt resource value: 0x7f070076 + public const int mr_chooser_list = 2131165302; + + // aapt resource value: 0x7f070079 + public const int mr_chooser_route_desc = 2131165305; + + // aapt resource value: 0x7f070077 + public const int mr_chooser_route_icon = 2131165303; + + // aapt resource value: 0x7f070078 + public const int mr_chooser_route_name = 2131165304; + + // aapt resource value: 0x7f07007e + public const int mr_close = 2131165310; + + // aapt resource value: 0x7f070084 + public const int mr_control_divider = 2131165316; + + // aapt resource value: 0x7f07008a + public const int mr_control_play_pause = 2131165322; + + // aapt resource value: 0x7f07008d + public const int mr_control_subtitle = 2131165325; + + // aapt resource value: 0x7f07008c + public const int mr_control_title = 2131165324; + + // aapt resource value: 0x7f07008b + public const int mr_control_title_container = 2131165323; + + // aapt resource value: 0x7f07007f + public const int mr_custom_control = 2131165311; + + // aapt resource value: 0x7f070080 + public const int mr_default_control = 2131165312; + + // aapt resource value: 0x7f07007b + public const int mr_dialog_area = 2131165307; + + // aapt resource value: 0x7f07007a + public const int mr_expandable_area = 2131165306; + + // aapt resource value: 0x7f07008e + public const int mr_group_expand_collapse = 2131165326; + + // aapt resource value: 0x7f070082 + public const int mr_media_main_control = 2131165314; + + // aapt resource value: 0x7f07007d + public const int mr_name = 2131165309; + + // aapt resource value: 0x7f070083 + public const int mr_playback_control = 2131165315; + + // aapt resource value: 0x7f07007c + public const int mr_title_bar = 2131165308; + + // aapt resource value: 0x7f070085 + public const int mr_volume_control = 2131165317; + + // aapt resource value: 0x7f070086 + public const int mr_volume_group_list = 2131165318; + + // aapt resource value: 0x7f070088 + public const int mr_volume_item_icon = 2131165320; + + // aapt resource value: 0x7f070089 + public const int mr_volume_slider = 2131165321; + + // aapt resource value: 0x7f07002d + public const int multiply = 2131165229; + + // aapt resource value: 0x7f070071 + public const int navigation_header_container = 2131165297; + + // aapt resource value: 0x7f070039 + public const int never = 2131165241; + + // aapt resource value: 0x7f070010 + public const int none = 2131165200; + + // aapt resource value: 0x7f070022 + public const int normal = 2131165218; + + // aapt resource value: 0x7f07009e + public const int notification_background = 2131165342; + + // aapt resource value: 0x7f070098 + public const int notification_main_column = 2131165336; + + // aapt resource value: 0x7f070097 + public const int notification_main_column_container = 2131165335; + + // aapt resource value: 0x7f070011 + public const int parallax = 2131165201; + + // aapt resource value: 0x7f070047 + public const int parentPanel = 2131165255; + + // aapt resource value: 0x7f070012 + public const int pin = 2131165202; + + // aapt resource value: 0x7f070007 + public const int progress_circular = 2131165191; + + // aapt resource value: 0x7f070008 + public const int progress_horizontal = 2131165192; + + // aapt resource value: 0x7f070057 + public const int radio = 2131165271; + + // aapt resource value: 0x7f07001a + public const int right = 2131165210; + + // aapt resource value: 0x7f07009d + public const int right_icon = 2131165341; + + // aapt resource value: 0x7f070099 + public const int right_side = 2131165337; + + // aapt resource value: 0x7f07002e + public const int screen = 2131165230; + + // aapt resource value: 0x7f07000e + public const int scroll = 2131165198; + + // aapt resource value: 0x7f07004d + public const int scrollIndicatorDown = 2131165261; + + // aapt resource value: 0x7f070049 + public const int scrollIndicatorUp = 2131165257; + + // aapt resource value: 0x7f07004a + public const int scrollView = 2131165258; + + // aapt resource value: 0x7f070024 + public const int scrollable = 2131165220; + + // aapt resource value: 0x7f070062 + public const int search_badge = 2131165282; + + // aapt resource value: 0x7f070061 + public const int search_bar = 2131165281; + + // aapt resource value: 0x7f070063 + public const int search_button = 2131165283; + + // aapt resource value: 0x7f070068 + public const int search_close_btn = 2131165288; + + // aapt resource value: 0x7f070064 + public const int search_edit_frame = 2131165284; + + // aapt resource value: 0x7f07006a + public const int search_go_btn = 2131165290; + + // aapt resource value: 0x7f070065 + public const int search_mag_icon = 2131165285; + + // aapt resource value: 0x7f070066 + public const int search_plate = 2131165286; + + // aapt resource value: 0x7f070067 + public const int search_src_text = 2131165287; + + // aapt resource value: 0x7f07006b + public const int search_voice_btn = 2131165291; + + // aapt resource value: 0x7f07006c + public const int select_dialog_listview = 2131165292; + + // aapt resource value: 0x7f070056 + public const int shortcut = 2131165270; + + // aapt resource value: 0x7f070029 + public const int showCustom = 2131165225; + + // aapt resource value: 0x7f07002a + public const int showHome = 2131165226; + + // aapt resource value: 0x7f07002b + public const int showTitle = 2131165227; + + // aapt resource value: 0x7f0700a6 + public const int sliding_tabs = 2131165350; + + // aapt resource value: 0x7f070070 + public const int snackbar_action = 2131165296; + + // aapt resource value: 0x7f07006f + public const int snackbar_text = 2131165295; + + // aapt resource value: 0x7f07000f + public const int snap = 2131165199; + + // aapt resource value: 0x7f070046 + public const int spacer = 2131165254; + + // aapt resource value: 0x7f070009 + public const int split_action_bar = 2131165193; + + // aapt resource value: 0x7f07002f + public const int src_atop = 2131165231; + + // aapt resource value: 0x7f070030 + public const int src_in = 2131165232; + + // aapt resource value: 0x7f070031 + public const int src_over = 2131165233; + + // aapt resource value: 0x7f07001b + public const int start = 2131165211; + + // aapt resource value: 0x7f070094 + public const int status_bar_latest_event_content = 2131165332; + + // aapt resource value: 0x7f070058 + public const int submenuarrow = 2131165272; + + // aapt resource value: 0x7f070069 + public const int submit_area = 2131165289; + + // aapt resource value: 0x7f070026 + public const int tabMode = 2131165222; + + // aapt resource value: 0x7f0700a4 + public const int text = 2131165348; + + // aapt resource value: 0x7f0700a2 + public const int text2 = 2131165346; + + // aapt resource value: 0x7f07004c + public const int textSpacerNoButtons = 2131165260; + + // aapt resource value: 0x7f07004b + public const int textSpacerNoTitle = 2131165259; + + // aapt resource value: 0x7f07009a + public const int time = 2131165338; + + // aapt resource value: 0x7f070044 + public const int title = 2131165252; + + // aapt resource value: 0x7f070053 + public const int titleDividerNoCustom = 2131165267; + + // aapt resource value: 0x7f070051 + public const int title_template = 2131165265; + + // aapt resource value: 0x7f0700a7 + public const int toolbar = 2131165351; + + // aapt resource value: 0x7f07001c + public const int top = 2131165212; + + // aapt resource value: 0x7f070050 + public const int topPanel = 2131165264; + + // aapt resource value: 0x7f07006d + public const int touch_outside = 2131165293; + + // aapt resource value: 0x7f07000a + public const int up = 2131165194; + + // aapt resource value: 0x7f07002c + public const int useLogo = 2131165228; + + // aapt resource value: 0x7f070001 + public const int view_offset_helper = 2131165185; + + // aapt resource value: 0x7f070087 + public const int volume_item_container = 2131165319; + + // aapt resource value: 0x7f07003a + public const int withText = 2131165242; + + // aapt resource value: 0x7f070033 + public const int wrap_content = 2131165235; + + static Id() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Id() + { + } + } + + public partial class Integer + { + + // aapt resource value: 0x7f090005 + public const int abc_config_activityDefaultDur = 2131296261; + + // aapt resource value: 0x7f090006 + public const int abc_config_activityShortDur = 2131296262; + + // aapt resource value: 0x7f090004 + public const int bottom_sheet_slide_duration = 2131296260; + + // aapt resource value: 0x7f090007 + public const int cancel_button_image_alpha = 2131296263; + + // aapt resource value: 0x7f090003 + public const int design_snackbar_text_max_lines = 2131296259; + + // aapt resource value: 0x7f090000 + public const int mr_controller_volume_group_list_animation_duration_ms = 2131296256; + + // aapt resource value: 0x7f090001 + public const int mr_controller_volume_group_list_fade_in_duration_ms = 2131296257; + + // aapt resource value: 0x7f090002 + public const int mr_controller_volume_group_list_fade_out_duration_ms = 2131296258; + + // aapt resource value: 0x7f090008 + public const int status_bar_notification_info_maxnum = 2131296264; + + static Integer() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Integer() + { + } + } + + public partial class Interpolator + { + + // aapt resource value: 0x7f050000 + public const int mr_fast_out_slow_in = 2131034112; + + // aapt resource value: 0x7f050001 + public const int mr_linear_out_slow_in = 2131034113; + + static Interpolator() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Interpolator() + { + } + } + + public partial class Layout + { + + // aapt resource value: 0x7f030000 + public const int abc_action_bar_title_item = 2130903040; + + // aapt resource value: 0x7f030001 + public const int abc_action_bar_up_container = 2130903041; + + // aapt resource value: 0x7f030002 + public const int abc_action_bar_view_list_nav_layout = 2130903042; + + // aapt resource value: 0x7f030003 + public const int abc_action_menu_item_layout = 2130903043; + + // aapt resource value: 0x7f030004 + public const int abc_action_menu_layout = 2130903044; + + // aapt resource value: 0x7f030005 + public const int abc_action_mode_bar = 2130903045; + + // aapt resource value: 0x7f030006 + public const int abc_action_mode_close_item_material = 2130903046; + + // aapt resource value: 0x7f030007 + public const int abc_activity_chooser_view = 2130903047; + + // aapt resource value: 0x7f030008 + public const int abc_activity_chooser_view_list_item = 2130903048; + + // aapt resource value: 0x7f030009 + public const int abc_alert_dialog_button_bar_material = 2130903049; + + // aapt resource value: 0x7f03000a + public const int abc_alert_dialog_material = 2130903050; + + // aapt resource value: 0x7f03000b + public const int abc_alert_dialog_title_material = 2130903051; + + // aapt resource value: 0x7f03000c + public const int abc_dialog_title_material = 2130903052; + + // aapt resource value: 0x7f03000d + public const int abc_expanded_menu_layout = 2130903053; + + // aapt resource value: 0x7f03000e + public const int abc_list_menu_item_checkbox = 2130903054; + + // aapt resource value: 0x7f03000f + public const int abc_list_menu_item_icon = 2130903055; + + // aapt resource value: 0x7f030010 + public const int abc_list_menu_item_layout = 2130903056; + + // aapt resource value: 0x7f030011 + public const int abc_list_menu_item_radio = 2130903057; + + // aapt resource value: 0x7f030012 + public const int abc_popup_menu_header_item_layout = 2130903058; + + // aapt resource value: 0x7f030013 + public const int abc_popup_menu_item_layout = 2130903059; + + // aapt resource value: 0x7f030014 + public const int abc_screen_content_include = 2130903060; + + // aapt resource value: 0x7f030015 + public const int abc_screen_simple = 2130903061; + + // aapt resource value: 0x7f030016 + public const int abc_screen_simple_overlay_action_mode = 2130903062; + + // aapt resource value: 0x7f030017 + public const int abc_screen_toolbar = 2130903063; + + // aapt resource value: 0x7f030018 + public const int abc_search_dropdown_item_icons_2line = 2130903064; + + // aapt resource value: 0x7f030019 + public const int abc_search_view = 2130903065; + + // aapt resource value: 0x7f03001a + public const int abc_select_dialog_material = 2130903066; + + // aapt resource value: 0x7f03001b + public const int design_bottom_sheet_dialog = 2130903067; + + // aapt resource value: 0x7f03001c + public const int design_layout_snackbar = 2130903068; + + // aapt resource value: 0x7f03001d + public const int design_layout_snackbar_include = 2130903069; + + // aapt resource value: 0x7f03001e + public const int design_layout_tab_icon = 2130903070; + + // aapt resource value: 0x7f03001f + public const int design_layout_tab_text = 2130903071; + + // aapt resource value: 0x7f030020 + public const int design_menu_item_action_area = 2130903072; + + // aapt resource value: 0x7f030021 + public const int design_navigation_item = 2130903073; + + // aapt resource value: 0x7f030022 + public const int design_navigation_item_header = 2130903074; + + // aapt resource value: 0x7f030023 + public const int design_navigation_item_separator = 2130903075; + + // aapt resource value: 0x7f030024 + public const int design_navigation_item_subheader = 2130903076; + + // aapt resource value: 0x7f030025 + public const int design_navigation_menu = 2130903077; + + // aapt resource value: 0x7f030026 + public const int design_navigation_menu_item = 2130903078; + + // aapt resource value: 0x7f030027 + public const int mr_chooser_dialog = 2130903079; + + // aapt resource value: 0x7f030028 + public const int mr_chooser_list_item = 2130903080; + + // aapt resource value: 0x7f030029 + public const int mr_controller_material_dialog_b = 2130903081; + + // aapt resource value: 0x7f03002a + public const int mr_controller_volume_item = 2130903082; + + // aapt resource value: 0x7f03002b + public const int mr_playback_control = 2130903083; + + // aapt resource value: 0x7f03002c + public const int mr_volume_control = 2130903084; + + // aapt resource value: 0x7f03002d + public const int notification_action = 2130903085; + + // aapt resource value: 0x7f03002e + public const int notification_action_tombstone = 2130903086; + + // aapt resource value: 0x7f03002f + public const int notification_media_action = 2130903087; + + // aapt resource value: 0x7f030030 + public const int notification_media_cancel_action = 2130903088; + + // aapt resource value: 0x7f030031 + public const int notification_template_big_media = 2130903089; + + // aapt resource value: 0x7f030032 + public const int notification_template_big_media_custom = 2130903090; + + // aapt resource value: 0x7f030033 + public const int notification_template_big_media_narrow = 2130903091; + + // aapt resource value: 0x7f030034 + public const int notification_template_big_media_narrow_custom = 2130903092; + + // aapt resource value: 0x7f030035 + public const int notification_template_custom_big = 2130903093; + + // aapt resource value: 0x7f030036 + public const int notification_template_icon_group = 2130903094; + + // aapt resource value: 0x7f030037 + public const int notification_template_lines_media = 2130903095; + + // aapt resource value: 0x7f030038 + public const int notification_template_media = 2130903096; + + // aapt resource value: 0x7f030039 + public const int notification_template_media_custom = 2130903097; + + // aapt resource value: 0x7f03003a + public const int notification_template_part_chronometer = 2130903098; + + // aapt resource value: 0x7f03003b + public const int notification_template_part_time = 2130903099; + + // aapt resource value: 0x7f03003c + public const int select_dialog_item_material = 2130903100; + + // aapt resource value: 0x7f03003d + public const int select_dialog_multichoice_material = 2130903101; + + // aapt resource value: 0x7f03003e + public const int select_dialog_singlechoice_material = 2130903102; + + // aapt resource value: 0x7f03003f + public const int support_simple_spinner_dropdown_item = 2130903103; + + // aapt resource value: 0x7f030040 + public const int Tabbar = 2130903104; + + // aapt resource value: 0x7f030041 + public const int Toolbar = 2130903105; + + static Layout() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Layout() + { + } + } + + public partial class String + { + + // aapt resource value: 0x7f080012 + public const int abc_action_bar_home_description = 2131230738; + + // aapt resource value: 0x7f080013 + public const int abc_action_bar_home_description_format = 2131230739; + + // aapt resource value: 0x7f080014 + public const int abc_action_bar_home_subtitle_description_format = 2131230740; + + // aapt resource value: 0x7f080015 + public const int abc_action_bar_up_description = 2131230741; + + // aapt resource value: 0x7f080016 + public const int abc_action_menu_overflow_description = 2131230742; + + // aapt resource value: 0x7f080017 + public const int abc_action_mode_done = 2131230743; + + // aapt resource value: 0x7f080018 + public const int abc_activity_chooser_view_see_all = 2131230744; + + // aapt resource value: 0x7f080019 + public const int abc_activitychooserview_choose_application = 2131230745; + + // aapt resource value: 0x7f08001a + public const int abc_capital_off = 2131230746; + + // aapt resource value: 0x7f08001b + public const int abc_capital_on = 2131230747; + + // aapt resource value: 0x7f080027 + public const int abc_font_family_body_1_material = 2131230759; + + // aapt resource value: 0x7f080028 + public const int abc_font_family_body_2_material = 2131230760; + + // aapt resource value: 0x7f080029 + public const int abc_font_family_button_material = 2131230761; + + // aapt resource value: 0x7f08002a + public const int abc_font_family_caption_material = 2131230762; + + // aapt resource value: 0x7f08002b + public const int abc_font_family_display_1_material = 2131230763; + + // aapt resource value: 0x7f08002c + public const int abc_font_family_display_2_material = 2131230764; + + // aapt resource value: 0x7f08002d + public const int abc_font_family_display_3_material = 2131230765; + + // aapt resource value: 0x7f08002e + public const int abc_font_family_display_4_material = 2131230766; + + // aapt resource value: 0x7f08002f + public const int abc_font_family_headline_material = 2131230767; + + // aapt resource value: 0x7f080030 + public const int abc_font_family_menu_material = 2131230768; + + // aapt resource value: 0x7f080031 + public const int abc_font_family_subhead_material = 2131230769; + + // aapt resource value: 0x7f080032 + public const int abc_font_family_title_material = 2131230770; + + // aapt resource value: 0x7f08001c + public const int abc_search_hint = 2131230748; + + // aapt resource value: 0x7f08001d + public const int abc_searchview_description_clear = 2131230749; + + // aapt resource value: 0x7f08001e + public const int abc_searchview_description_query = 2131230750; + + // aapt resource value: 0x7f08001f + public const int abc_searchview_description_search = 2131230751; + + // aapt resource value: 0x7f080020 + public const int abc_searchview_description_submit = 2131230752; + + // aapt resource value: 0x7f080021 + public const int abc_searchview_description_voice = 2131230753; + + // aapt resource value: 0x7f080022 + public const int abc_shareactionprovider_share_with = 2131230754; + + // aapt resource value: 0x7f080023 + public const int abc_shareactionprovider_share_with_application = 2131230755; + + // aapt resource value: 0x7f080024 + public const int abc_toolbar_collapse_description = 2131230756; + + // aapt resource value: 0x7f08000f + public const int appbar_scrolling_view_behavior = 2131230735; + + // aapt resource value: 0x7f080010 + public const int bottom_sheet_behavior = 2131230736; + + // aapt resource value: 0x7f080011 + public const int character_counter_pattern = 2131230737; + + // aapt resource value: 0x7f080033 + public const int library_name = 2131230771; + + // aapt resource value: 0x7f080000 + public const int mr_button_content_description = 2131230720; + + // aapt resource value: 0x7f080001 + public const int mr_chooser_searching = 2131230721; + + // aapt resource value: 0x7f080002 + public const int mr_chooser_title = 2131230722; + + // aapt resource value: 0x7f080003 + public const int mr_controller_casting_screen = 2131230723; + + // aapt resource value: 0x7f080004 + public const int mr_controller_close_description = 2131230724; + + // aapt resource value: 0x7f080005 + public const int mr_controller_collapse_group = 2131230725; + + // aapt resource value: 0x7f080006 + public const int mr_controller_disconnect = 2131230726; + + // aapt resource value: 0x7f080007 + public const int mr_controller_expand_group = 2131230727; + + // aapt resource value: 0x7f080008 + public const int mr_controller_no_info_available = 2131230728; + + // aapt resource value: 0x7f080009 + public const int mr_controller_no_media_selected = 2131230729; + + // aapt resource value: 0x7f08000a + public const int mr_controller_pause = 2131230730; + + // aapt resource value: 0x7f08000b + public const int mr_controller_play = 2131230731; + + // aapt resource value: 0x7f08000c + public const int mr_controller_stop = 2131230732; + + // aapt resource value: 0x7f08000d + public const int mr_system_route_name = 2131230733; + + // aapt resource value: 0x7f08000e + public const int mr_user_route_category_name = 2131230734; + + // aapt resource value: 0x7f080025 + public const int search_menu_title = 2131230757; + + // aapt resource value: 0x7f080026 + public const int status_bar_notification_info_overflow = 2131230758; + + static String() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private String() + { + } + } + + public partial class Style + { + + // aapt resource value: 0x7f0a00d3 + public const int AlertDialog_AppCompat = 2131362003; + + // aapt resource value: 0x7f0a00d4 + public const int AlertDialog_AppCompat_Light = 2131362004; + + // aapt resource value: 0x7f0a00d5 + public const int Animation_AppCompat_Dialog = 2131362005; + + // aapt resource value: 0x7f0a00d6 + public const int Animation_AppCompat_DropDownUp = 2131362006; + + // aapt resource value: 0x7f0a001c + public const int Animation_Design_BottomSheetDialog = 2131361820; + + // aapt resource value: 0x7f0a0195 + public const int AppCompatDialogStyle = 2131362197; + + // aapt resource value: 0x7f0a00d7 + public const int Base_AlertDialog_AppCompat = 2131362007; + + // aapt resource value: 0x7f0a00d8 + public const int Base_AlertDialog_AppCompat_Light = 2131362008; + + // aapt resource value: 0x7f0a00d9 + public const int Base_Animation_AppCompat_Dialog = 2131362009; + + // aapt resource value: 0x7f0a00da + public const int Base_Animation_AppCompat_DropDownUp = 2131362010; + + // aapt resource value: 0x7f0a0018 + public const int Base_CardView = 2131361816; + + // aapt resource value: 0x7f0a00db + public const int Base_DialogWindowTitle_AppCompat = 2131362011; + + // aapt resource value: 0x7f0a00dc + public const int Base_DialogWindowTitleBackground_AppCompat = 2131362012; + + // aapt resource value: 0x7f0a0073 + public const int Base_TextAppearance_AppCompat = 2131361907; + + // aapt resource value: 0x7f0a0074 + public const int Base_TextAppearance_AppCompat_Body1 = 2131361908; + + // aapt resource value: 0x7f0a0075 + public const int Base_TextAppearance_AppCompat_Body2 = 2131361909; + + // aapt resource value: 0x7f0a005b + public const int Base_TextAppearance_AppCompat_Button = 2131361883; + + // aapt resource value: 0x7f0a0076 + public const int Base_TextAppearance_AppCompat_Caption = 2131361910; + + // aapt resource value: 0x7f0a0077 + public const int Base_TextAppearance_AppCompat_Display1 = 2131361911; + + // aapt resource value: 0x7f0a0078 + public const int Base_TextAppearance_AppCompat_Display2 = 2131361912; + + // aapt resource value: 0x7f0a0079 + public const int Base_TextAppearance_AppCompat_Display3 = 2131361913; + + // aapt resource value: 0x7f0a007a + public const int Base_TextAppearance_AppCompat_Display4 = 2131361914; + + // aapt resource value: 0x7f0a007b + public const int Base_TextAppearance_AppCompat_Headline = 2131361915; + + // aapt resource value: 0x7f0a003f + public const int Base_TextAppearance_AppCompat_Inverse = 2131361855; + + // aapt resource value: 0x7f0a007c + public const int Base_TextAppearance_AppCompat_Large = 2131361916; + + // aapt resource value: 0x7f0a0040 + public const int Base_TextAppearance_AppCompat_Large_Inverse = 2131361856; + + // aapt resource value: 0x7f0a007d + public const int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 2131361917; + + // aapt resource value: 0x7f0a007e + public const int Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 2131361918; + + // aapt resource value: 0x7f0a007f + public const int Base_TextAppearance_AppCompat_Medium = 2131361919; + + // aapt resource value: 0x7f0a0041 + public const int Base_TextAppearance_AppCompat_Medium_Inverse = 2131361857; + + // aapt resource value: 0x7f0a0080 + public const int Base_TextAppearance_AppCompat_Menu = 2131361920; + + // aapt resource value: 0x7f0a00dd + public const int Base_TextAppearance_AppCompat_SearchResult = 2131362013; + + // aapt resource value: 0x7f0a0081 + public const int Base_TextAppearance_AppCompat_SearchResult_Subtitle = 2131361921; + + // aapt resource value: 0x7f0a0082 + public const int Base_TextAppearance_AppCompat_SearchResult_Title = 2131361922; + + // aapt resource value: 0x7f0a0083 + public const int Base_TextAppearance_AppCompat_Small = 2131361923; + + // aapt resource value: 0x7f0a0042 + public const int Base_TextAppearance_AppCompat_Small_Inverse = 2131361858; + + // aapt resource value: 0x7f0a0084 + public const int Base_TextAppearance_AppCompat_Subhead = 2131361924; + + // aapt resource value: 0x7f0a0043 + public const int Base_TextAppearance_AppCompat_Subhead_Inverse = 2131361859; + + // aapt resource value: 0x7f0a0085 + public const int Base_TextAppearance_AppCompat_Title = 2131361925; + + // aapt resource value: 0x7f0a0044 + public const int Base_TextAppearance_AppCompat_Title_Inverse = 2131361860; + + // aapt resource value: 0x7f0a00c8 + public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Menu = 2131361992; + + // aapt resource value: 0x7f0a0086 + public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 2131361926; + + // aapt resource value: 0x7f0a0087 + public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 2131361927; + + // aapt resource value: 0x7f0a0088 + public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Title = 2131361928; + + // aapt resource value: 0x7f0a0089 + public const int Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 2131361929; + + // aapt resource value: 0x7f0a008a + public const int Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 2131361930; + + // aapt resource value: 0x7f0a008b + public const int Base_TextAppearance_AppCompat_Widget_ActionMode_Title = 2131361931; + + // aapt resource value: 0x7f0a008c + public const int Base_TextAppearance_AppCompat_Widget_Button = 2131361932; + + // aapt resource value: 0x7f0a00cf + public const int Base_TextAppearance_AppCompat_Widget_Button_Borderless_Colored = 2131361999; + + // aapt resource value: 0x7f0a00d0 + public const int Base_TextAppearance_AppCompat_Widget_Button_Colored = 2131362000; + + // aapt resource value: 0x7f0a00c9 + public const int Base_TextAppearance_AppCompat_Widget_Button_Inverse = 2131361993; + + // aapt resource value: 0x7f0a00de + public const int Base_TextAppearance_AppCompat_Widget_DropDownItem = 2131362014; + + // aapt resource value: 0x7f0a008d + public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Header = 2131361933; + + // aapt resource value: 0x7f0a008e + public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Large = 2131361934; + + // aapt resource value: 0x7f0a008f + public const int Base_TextAppearance_AppCompat_Widget_PopupMenu_Small = 2131361935; + + // aapt resource value: 0x7f0a0090 + public const int Base_TextAppearance_AppCompat_Widget_Switch = 2131361936; + + // aapt resource value: 0x7f0a0091 + public const int Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 2131361937; + + // aapt resource value: 0x7f0a00df + public const int Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 2131362015; + + // aapt resource value: 0x7f0a0092 + public const int Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 2131361938; + + // aapt resource value: 0x7f0a0093 + public const int Base_TextAppearance_Widget_AppCompat_Toolbar_Title = 2131361939; + + // aapt resource value: 0x7f0a0094 + public const int Base_Theme_AppCompat = 2131361940; + + // aapt resource value: 0x7f0a00e0 + public const int Base_Theme_AppCompat_CompactMenu = 2131362016; + + // aapt resource value: 0x7f0a0045 + public const int Base_Theme_AppCompat_Dialog = 2131361861; + + // aapt resource value: 0x7f0a0046 + public const int Base_Theme_AppCompat_Dialog_Alert = 2131361862; + + // aapt resource value: 0x7f0a00e1 + public const int Base_Theme_AppCompat_Dialog_FixedSize = 2131362017; + + // aapt resource value: 0x7f0a0047 + public const int Base_Theme_AppCompat_Dialog_MinWidth = 2131361863; + + // aapt resource value: 0x7f0a0035 + public const int Base_Theme_AppCompat_DialogWhenLarge = 2131361845; + + // aapt resource value: 0x7f0a0095 + public const int Base_Theme_AppCompat_Light = 2131361941; + + // aapt resource value: 0x7f0a00e2 + public const int Base_Theme_AppCompat_Light_DarkActionBar = 2131362018; + + // aapt resource value: 0x7f0a0048 + public const int Base_Theme_AppCompat_Light_Dialog = 2131361864; + + // aapt resource value: 0x7f0a0049 + public const int Base_Theme_AppCompat_Light_Dialog_Alert = 2131361865; + + // aapt resource value: 0x7f0a00e3 + public const int Base_Theme_AppCompat_Light_Dialog_FixedSize = 2131362019; + + // aapt resource value: 0x7f0a004a + public const int Base_Theme_AppCompat_Light_Dialog_MinWidth = 2131361866; + + // aapt resource value: 0x7f0a0036 + public const int Base_Theme_AppCompat_Light_DialogWhenLarge = 2131361846; + + // aapt resource value: 0x7f0a00e4 + public const int Base_ThemeOverlay_AppCompat = 2131362020; + + // aapt resource value: 0x7f0a00e5 + public const int Base_ThemeOverlay_AppCompat_ActionBar = 2131362021; + + // aapt resource value: 0x7f0a00e6 + public const int Base_ThemeOverlay_AppCompat_Dark = 2131362022; + + // aapt resource value: 0x7f0a00e7 + public const int Base_ThemeOverlay_AppCompat_Dark_ActionBar = 2131362023; + + // aapt resource value: 0x7f0a004b + public const int Base_ThemeOverlay_AppCompat_Dialog = 2131361867; + + // aapt resource value: 0x7f0a004c + public const int Base_ThemeOverlay_AppCompat_Dialog_Alert = 2131361868; + + // aapt resource value: 0x7f0a00e8 + public const int Base_ThemeOverlay_AppCompat_Light = 2131362024; + + // aapt resource value: 0x7f0a004d + public const int Base_V11_Theme_AppCompat_Dialog = 2131361869; + + // aapt resource value: 0x7f0a004e + public const int Base_V11_Theme_AppCompat_Light_Dialog = 2131361870; + + // aapt resource value: 0x7f0a004f + public const int Base_V11_ThemeOverlay_AppCompat_Dialog = 2131361871; + + // aapt resource value: 0x7f0a0057 + public const int Base_V12_Widget_AppCompat_AutoCompleteTextView = 2131361879; + + // aapt resource value: 0x7f0a0058 + public const int Base_V12_Widget_AppCompat_EditText = 2131361880; + + // aapt resource value: 0x7f0a0096 + public const int Base_V21_Theme_AppCompat = 2131361942; + + // aapt resource value: 0x7f0a0097 + public const int Base_V21_Theme_AppCompat_Dialog = 2131361943; + + // aapt resource value: 0x7f0a0098 + public const int Base_V21_Theme_AppCompat_Light = 2131361944; + + // aapt resource value: 0x7f0a0099 + public const int Base_V21_Theme_AppCompat_Light_Dialog = 2131361945; + + // aapt resource value: 0x7f0a009a + public const int Base_V21_ThemeOverlay_AppCompat_Dialog = 2131361946; + + // aapt resource value: 0x7f0a00c6 + public const int Base_V22_Theme_AppCompat = 2131361990; + + // aapt resource value: 0x7f0a00c7 + public const int Base_V22_Theme_AppCompat_Light = 2131361991; + + // aapt resource value: 0x7f0a00ca + public const int Base_V23_Theme_AppCompat = 2131361994; + + // aapt resource value: 0x7f0a00cb + public const int Base_V23_Theme_AppCompat_Light = 2131361995; + + // aapt resource value: 0x7f0a00e9 + public const int Base_V7_Theme_AppCompat = 2131362025; + + // aapt resource value: 0x7f0a00ea + public const int Base_V7_Theme_AppCompat_Dialog = 2131362026; + + // aapt resource value: 0x7f0a00eb + public const int Base_V7_Theme_AppCompat_Light = 2131362027; + + // aapt resource value: 0x7f0a00ec + public const int Base_V7_Theme_AppCompat_Light_Dialog = 2131362028; + + // aapt resource value: 0x7f0a00ed + public const int Base_V7_ThemeOverlay_AppCompat_Dialog = 2131362029; + + // aapt resource value: 0x7f0a00ee + public const int Base_V7_Widget_AppCompat_AutoCompleteTextView = 2131362030; + + // aapt resource value: 0x7f0a00ef + public const int Base_V7_Widget_AppCompat_EditText = 2131362031; + + // aapt resource value: 0x7f0a00f0 + public const int Base_Widget_AppCompat_ActionBar = 2131362032; + + // aapt resource value: 0x7f0a00f1 + public const int Base_Widget_AppCompat_ActionBar_Solid = 2131362033; + + // aapt resource value: 0x7f0a00f2 + public const int Base_Widget_AppCompat_ActionBar_TabBar = 2131362034; + + // aapt resource value: 0x7f0a009b + public const int Base_Widget_AppCompat_ActionBar_TabText = 2131361947; + + // aapt resource value: 0x7f0a009c + public const int Base_Widget_AppCompat_ActionBar_TabView = 2131361948; + + // aapt resource value: 0x7f0a009d + public const int Base_Widget_AppCompat_ActionButton = 2131361949; + + // aapt resource value: 0x7f0a009e + public const int Base_Widget_AppCompat_ActionButton_CloseMode = 2131361950; + + // aapt resource value: 0x7f0a009f + public const int Base_Widget_AppCompat_ActionButton_Overflow = 2131361951; + + // aapt resource value: 0x7f0a00f3 + public const int Base_Widget_AppCompat_ActionMode = 2131362035; + + // aapt resource value: 0x7f0a00f4 + public const int Base_Widget_AppCompat_ActivityChooserView = 2131362036; + + // aapt resource value: 0x7f0a0059 + public const int Base_Widget_AppCompat_AutoCompleteTextView = 2131361881; + + // aapt resource value: 0x7f0a00a0 + public const int Base_Widget_AppCompat_Button = 2131361952; + + // aapt resource value: 0x7f0a00a1 + public const int Base_Widget_AppCompat_Button_Borderless = 2131361953; + + // aapt resource value: 0x7f0a00a2 + public const int Base_Widget_AppCompat_Button_Borderless_Colored = 2131361954; + + // aapt resource value: 0x7f0a00f5 + public const int Base_Widget_AppCompat_Button_ButtonBar_AlertDialog = 2131362037; + + // aapt resource value: 0x7f0a00cc + public const int Base_Widget_AppCompat_Button_Colored = 2131361996; + + // aapt resource value: 0x7f0a00a3 + public const int Base_Widget_AppCompat_Button_Small = 2131361955; + + // aapt resource value: 0x7f0a00a4 + public const int Base_Widget_AppCompat_ButtonBar = 2131361956; + + // aapt resource value: 0x7f0a00f6 + public const int Base_Widget_AppCompat_ButtonBar_AlertDialog = 2131362038; + + // aapt resource value: 0x7f0a00a5 + public const int Base_Widget_AppCompat_CompoundButton_CheckBox = 2131361957; + + // aapt resource value: 0x7f0a00a6 + public const int Base_Widget_AppCompat_CompoundButton_RadioButton = 2131361958; + + // aapt resource value: 0x7f0a00f7 + public const int Base_Widget_AppCompat_CompoundButton_Switch = 2131362039; + + // aapt resource value: 0x7f0a0034 + public const int Base_Widget_AppCompat_DrawerArrowToggle = 2131361844; + + // aapt resource value: 0x7f0a00f8 + public const int Base_Widget_AppCompat_DrawerArrowToggle_Common = 2131362040; + + // aapt resource value: 0x7f0a00a7 + public const int Base_Widget_AppCompat_DropDownItem_Spinner = 2131361959; + + // aapt resource value: 0x7f0a005a + public const int Base_Widget_AppCompat_EditText = 2131361882; + + // aapt resource value: 0x7f0a00a8 + public const int Base_Widget_AppCompat_ImageButton = 2131361960; + + // aapt resource value: 0x7f0a00f9 + public const int Base_Widget_AppCompat_Light_ActionBar = 2131362041; + + // aapt resource value: 0x7f0a00fa + public const int Base_Widget_AppCompat_Light_ActionBar_Solid = 2131362042; + + // aapt resource value: 0x7f0a00fb + public const int Base_Widget_AppCompat_Light_ActionBar_TabBar = 2131362043; + + // aapt resource value: 0x7f0a00a9 + public const int Base_Widget_AppCompat_Light_ActionBar_TabText = 2131361961; + + // aapt resource value: 0x7f0a00aa + public const int Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse = 2131361962; + + // aapt resource value: 0x7f0a00ab + public const int Base_Widget_AppCompat_Light_ActionBar_TabView = 2131361963; + + // aapt resource value: 0x7f0a00ac + public const int Base_Widget_AppCompat_Light_PopupMenu = 2131361964; + + // aapt resource value: 0x7f0a00ad + public const int Base_Widget_AppCompat_Light_PopupMenu_Overflow = 2131361965; + + // aapt resource value: 0x7f0a00fc + public const int Base_Widget_AppCompat_ListMenuView = 2131362044; + + // aapt resource value: 0x7f0a00ae + public const int Base_Widget_AppCompat_ListPopupWindow = 2131361966; + + // aapt resource value: 0x7f0a00af + public const int Base_Widget_AppCompat_ListView = 2131361967; + + // aapt resource value: 0x7f0a00b0 + public const int Base_Widget_AppCompat_ListView_DropDown = 2131361968; + + // aapt resource value: 0x7f0a00b1 + public const int Base_Widget_AppCompat_ListView_Menu = 2131361969; + + // aapt resource value: 0x7f0a00b2 + public const int Base_Widget_AppCompat_PopupMenu = 2131361970; + + // aapt resource value: 0x7f0a00b3 + public const int Base_Widget_AppCompat_PopupMenu_Overflow = 2131361971; + + // aapt resource value: 0x7f0a00fd + public const int Base_Widget_AppCompat_PopupWindow = 2131362045; + + // aapt resource value: 0x7f0a0050 + public const int Base_Widget_AppCompat_ProgressBar = 2131361872; + + // aapt resource value: 0x7f0a0051 + public const int Base_Widget_AppCompat_ProgressBar_Horizontal = 2131361873; + + // aapt resource value: 0x7f0a00b4 + public const int Base_Widget_AppCompat_RatingBar = 2131361972; + + // aapt resource value: 0x7f0a00cd + public const int Base_Widget_AppCompat_RatingBar_Indicator = 2131361997; + + // aapt resource value: 0x7f0a00ce + public const int Base_Widget_AppCompat_RatingBar_Small = 2131361998; + + // aapt resource value: 0x7f0a00fe + public const int Base_Widget_AppCompat_SearchView = 2131362046; + + // aapt resource value: 0x7f0a00ff + public const int Base_Widget_AppCompat_SearchView_ActionBar = 2131362047; + + // aapt resource value: 0x7f0a00b5 + public const int Base_Widget_AppCompat_SeekBar = 2131361973; + + // aapt resource value: 0x7f0a0100 + public const int Base_Widget_AppCompat_SeekBar_Discrete = 2131362048; + + // aapt resource value: 0x7f0a00b6 + public const int Base_Widget_AppCompat_Spinner = 2131361974; + + // aapt resource value: 0x7f0a0037 + public const int Base_Widget_AppCompat_Spinner_Underlined = 2131361847; + + // aapt resource value: 0x7f0a00b7 + public const int Base_Widget_AppCompat_TextView_SpinnerItem = 2131361975; + + // aapt resource value: 0x7f0a0101 + public const int Base_Widget_AppCompat_Toolbar = 2131362049; + + // aapt resource value: 0x7f0a00b8 + public const int Base_Widget_AppCompat_Toolbar_Button_Navigation = 2131361976; + + // aapt resource value: 0x7f0a001d + public const int Base_Widget_Design_TabLayout = 2131361821; + + // aapt resource value: 0x7f0a0017 + public const int CardView = 2131361815; + + // aapt resource value: 0x7f0a0019 + public const int CardView_Dark = 2131361817; + + // aapt resource value: 0x7f0a001a + public const int CardView_Light = 2131361818; + + // aapt resource value: 0x7f0a0193 + public const int MainTheme = 2131362195; + + // aapt resource value: 0x7f0a0194 + public const int MainTheme_Base = 2131362196; + + // aapt resource value: 0x7f0a0052 + public const int Platform_AppCompat = 2131361874; + + // aapt resource value: 0x7f0a0053 + public const int Platform_AppCompat_Light = 2131361875; + + // aapt resource value: 0x7f0a00b9 + public const int Platform_ThemeOverlay_AppCompat = 2131361977; + + // aapt resource value: 0x7f0a00ba + public const int Platform_ThemeOverlay_AppCompat_Dark = 2131361978; + + // aapt resource value: 0x7f0a00bb + public const int Platform_ThemeOverlay_AppCompat_Light = 2131361979; + + // aapt resource value: 0x7f0a0054 + public const int Platform_V11_AppCompat = 2131361876; + + // aapt resource value: 0x7f0a0055 + public const int Platform_V11_AppCompat_Light = 2131361877; + + // aapt resource value: 0x7f0a005c + public const int Platform_V14_AppCompat = 2131361884; + + // aapt resource value: 0x7f0a005d + public const int Platform_V14_AppCompat_Light = 2131361885; + + // aapt resource value: 0x7f0a00bc + public const int Platform_V21_AppCompat = 2131361980; + + // aapt resource value: 0x7f0a00bd + public const int Platform_V21_AppCompat_Light = 2131361981; + + // aapt resource value: 0x7f0a00d1 + public const int Platform_V25_AppCompat = 2131362001; + + // aapt resource value: 0x7f0a00d2 + public const int Platform_V25_AppCompat_Light = 2131362002; + + // aapt resource value: 0x7f0a0056 + public const int Platform_Widget_AppCompat_Spinner = 2131361878; + + // aapt resource value: 0x7f0a0065 + public const int RtlOverlay_DialogWindowTitle_AppCompat = 2131361893; + + // aapt resource value: 0x7f0a0066 + public const int RtlOverlay_Widget_AppCompat_ActionBar_TitleItem = 2131361894; + + // aapt resource value: 0x7f0a0067 + public const int RtlOverlay_Widget_AppCompat_DialogTitle_Icon = 2131361895; + + // aapt resource value: 0x7f0a0068 + public const int RtlOverlay_Widget_AppCompat_PopupMenuItem = 2131361896; + + // aapt resource value: 0x7f0a0069 + public const int RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup = 2131361897; + + // aapt resource value: 0x7f0a006a + public const int RtlOverlay_Widget_AppCompat_PopupMenuItem_Text = 2131361898; + + // aapt resource value: 0x7f0a006b + public const int RtlOverlay_Widget_AppCompat_Search_DropDown = 2131361899; + + // aapt resource value: 0x7f0a006c + public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 = 2131361900; + + // aapt resource value: 0x7f0a006d + public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 = 2131361901; + + // aapt resource value: 0x7f0a006e + public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Query = 2131361902; + + // aapt resource value: 0x7f0a006f + public const int RtlOverlay_Widget_AppCompat_Search_DropDown_Text = 2131361903; + + // aapt resource value: 0x7f0a0070 + public const int RtlOverlay_Widget_AppCompat_SearchView_MagIcon = 2131361904; + + // aapt resource value: 0x7f0a0071 + public const int RtlUnderlay_Widget_AppCompat_ActionButton = 2131361905; + + // aapt resource value: 0x7f0a0072 + public const int RtlUnderlay_Widget_AppCompat_ActionButton_Overflow = 2131361906; + + // aapt resource value: 0x7f0a0102 + public const int TextAppearance_AppCompat = 2131362050; + + // aapt resource value: 0x7f0a0103 + public const int TextAppearance_AppCompat_Body1 = 2131362051; + + // aapt resource value: 0x7f0a0104 + public const int TextAppearance_AppCompat_Body2 = 2131362052; + + // aapt resource value: 0x7f0a0105 + public const int TextAppearance_AppCompat_Button = 2131362053; + + // aapt resource value: 0x7f0a0106 + public const int TextAppearance_AppCompat_Caption = 2131362054; + + // aapt resource value: 0x7f0a0107 + public const int TextAppearance_AppCompat_Display1 = 2131362055; + + // aapt resource value: 0x7f0a0108 + public const int TextAppearance_AppCompat_Display2 = 2131362056; + + // aapt resource value: 0x7f0a0109 + public const int TextAppearance_AppCompat_Display3 = 2131362057; + + // aapt resource value: 0x7f0a010a + public const int TextAppearance_AppCompat_Display4 = 2131362058; + + // aapt resource value: 0x7f0a010b + public const int TextAppearance_AppCompat_Headline = 2131362059; + + // aapt resource value: 0x7f0a010c + public const int TextAppearance_AppCompat_Inverse = 2131362060; + + // aapt resource value: 0x7f0a010d + public const int TextAppearance_AppCompat_Large = 2131362061; + + // aapt resource value: 0x7f0a010e + public const int TextAppearance_AppCompat_Large_Inverse = 2131362062; + + // aapt resource value: 0x7f0a010f + public const int TextAppearance_AppCompat_Light_SearchResult_Subtitle = 2131362063; + + // aapt resource value: 0x7f0a0110 + public const int TextAppearance_AppCompat_Light_SearchResult_Title = 2131362064; + + // aapt resource value: 0x7f0a0111 + public const int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 2131362065; + + // aapt resource value: 0x7f0a0112 + public const int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 2131362066; + + // aapt resource value: 0x7f0a0113 + public const int TextAppearance_AppCompat_Medium = 2131362067; + + // aapt resource value: 0x7f0a0114 + public const int TextAppearance_AppCompat_Medium_Inverse = 2131362068; + + // aapt resource value: 0x7f0a0115 + public const int TextAppearance_AppCompat_Menu = 2131362069; + + // aapt resource value: 0x7f0a005e + public const int TextAppearance_AppCompat_Notification = 2131361886; + + // aapt resource value: 0x7f0a00be + public const int TextAppearance_AppCompat_Notification_Info = 2131361982; + + // aapt resource value: 0x7f0a00bf + public const int TextAppearance_AppCompat_Notification_Info_Media = 2131361983; + + // aapt resource value: 0x7f0a0116 + public const int TextAppearance_AppCompat_Notification_Line2 = 2131362070; + + // aapt resource value: 0x7f0a0117 + public const int TextAppearance_AppCompat_Notification_Line2_Media = 2131362071; + + // aapt resource value: 0x7f0a00c0 + public const int TextAppearance_AppCompat_Notification_Media = 2131361984; + + // aapt resource value: 0x7f0a00c1 + public const int TextAppearance_AppCompat_Notification_Time = 2131361985; + + // aapt resource value: 0x7f0a00c2 + public const int TextAppearance_AppCompat_Notification_Time_Media = 2131361986; + + // aapt resource value: 0x7f0a005f + public const int TextAppearance_AppCompat_Notification_Title = 2131361887; + + // aapt resource value: 0x7f0a00c3 + public const int TextAppearance_AppCompat_Notification_Title_Media = 2131361987; + + // aapt resource value: 0x7f0a0118 + public const int TextAppearance_AppCompat_SearchResult_Subtitle = 2131362072; + + // aapt resource value: 0x7f0a0119 + public const int TextAppearance_AppCompat_SearchResult_Title = 2131362073; + + // aapt resource value: 0x7f0a011a + public const int TextAppearance_AppCompat_Small = 2131362074; + + // aapt resource value: 0x7f0a011b + public const int TextAppearance_AppCompat_Small_Inverse = 2131362075; + + // aapt resource value: 0x7f0a011c + public const int TextAppearance_AppCompat_Subhead = 2131362076; + + // aapt resource value: 0x7f0a011d + public const int TextAppearance_AppCompat_Subhead_Inverse = 2131362077; + + // aapt resource value: 0x7f0a011e + public const int TextAppearance_AppCompat_Title = 2131362078; + + // aapt resource value: 0x7f0a011f + public const int TextAppearance_AppCompat_Title_Inverse = 2131362079; + + // aapt resource value: 0x7f0a0120 + public const int TextAppearance_AppCompat_Widget_ActionBar_Menu = 2131362080; + + // aapt resource value: 0x7f0a0121 + public const int TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 2131362081; + + // aapt resource value: 0x7f0a0122 + public const int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 2131362082; + + // aapt resource value: 0x7f0a0123 + public const int TextAppearance_AppCompat_Widget_ActionBar_Title = 2131362083; + + // aapt resource value: 0x7f0a0124 + public const int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 2131362084; + + // aapt resource value: 0x7f0a0125 + public const int TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 2131362085; + + // aapt resource value: 0x7f0a0126 + public const int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse = 2131362086; + + // aapt resource value: 0x7f0a0127 + public const int TextAppearance_AppCompat_Widget_ActionMode_Title = 2131362087; + + // aapt resource value: 0x7f0a0128 + public const int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse = 2131362088; + + // aapt resource value: 0x7f0a0129 + public const int TextAppearance_AppCompat_Widget_Button = 2131362089; + + // aapt resource value: 0x7f0a012a + public const int TextAppearance_AppCompat_Widget_Button_Borderless_Colored = 2131362090; + + // aapt resource value: 0x7f0a012b + public const int TextAppearance_AppCompat_Widget_Button_Colored = 2131362091; + + // aapt resource value: 0x7f0a012c + public const int TextAppearance_AppCompat_Widget_Button_Inverse = 2131362092; + + // aapt resource value: 0x7f0a012d + public const int TextAppearance_AppCompat_Widget_DropDownItem = 2131362093; + + // aapt resource value: 0x7f0a012e + public const int TextAppearance_AppCompat_Widget_PopupMenu_Header = 2131362094; + + // aapt resource value: 0x7f0a012f + public const int TextAppearance_AppCompat_Widget_PopupMenu_Large = 2131362095; + + // aapt resource value: 0x7f0a0130 + public const int TextAppearance_AppCompat_Widget_PopupMenu_Small = 2131362096; + + // aapt resource value: 0x7f0a0131 + public const int TextAppearance_AppCompat_Widget_Switch = 2131362097; + + // aapt resource value: 0x7f0a0132 + public const int TextAppearance_AppCompat_Widget_TextView_SpinnerItem = 2131362098; + + // aapt resource value: 0x7f0a001e + public const int TextAppearance_Design_CollapsingToolbar_Expanded = 2131361822; + + // aapt resource value: 0x7f0a001f + public const int TextAppearance_Design_Counter = 2131361823; + + // aapt resource value: 0x7f0a0020 + public const int TextAppearance_Design_Counter_Overflow = 2131361824; + + // aapt resource value: 0x7f0a0021 + public const int TextAppearance_Design_Error = 2131361825; + + // aapt resource value: 0x7f0a0022 + public const int TextAppearance_Design_Hint = 2131361826; + + // aapt resource value: 0x7f0a0023 + public const int TextAppearance_Design_Snackbar_Message = 2131361827; + + // aapt resource value: 0x7f0a0024 + public const int TextAppearance_Design_Tab = 2131361828; + + // aapt resource value: 0x7f0a0060 + public const int TextAppearance_StatusBar_EventContent = 2131361888; + + // aapt resource value: 0x7f0a0061 + public const int TextAppearance_StatusBar_EventContent_Info = 2131361889; + + // aapt resource value: 0x7f0a0062 + public const int TextAppearance_StatusBar_EventContent_Line2 = 2131361890; + + // aapt resource value: 0x7f0a0063 + public const int TextAppearance_StatusBar_EventContent_Time = 2131361891; + + // aapt resource value: 0x7f0a0064 + public const int TextAppearance_StatusBar_EventContent_Title = 2131361892; + + // aapt resource value: 0x7f0a0133 + public const int TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 2131362099; + + // aapt resource value: 0x7f0a0134 + public const int TextAppearance_Widget_AppCompat_Toolbar_Subtitle = 2131362100; + + // aapt resource value: 0x7f0a0135 + public const int TextAppearance_Widget_AppCompat_Toolbar_Title = 2131362101; + + // aapt resource value: 0x7f0a0136 + public const int Theme_AppCompat = 2131362102; + + // aapt resource value: 0x7f0a0137 + public const int Theme_AppCompat_CompactMenu = 2131362103; + + // aapt resource value: 0x7f0a0038 + public const int Theme_AppCompat_DayNight = 2131361848; + + // aapt resource value: 0x7f0a0039 + public const int Theme_AppCompat_DayNight_DarkActionBar = 2131361849; + + // aapt resource value: 0x7f0a003a + public const int Theme_AppCompat_DayNight_Dialog = 2131361850; + + // aapt resource value: 0x7f0a003b + public const int Theme_AppCompat_DayNight_Dialog_Alert = 2131361851; + + // aapt resource value: 0x7f0a003c + public const int Theme_AppCompat_DayNight_Dialog_MinWidth = 2131361852; + + // aapt resource value: 0x7f0a003d + public const int Theme_AppCompat_DayNight_DialogWhenLarge = 2131361853; + + // aapt resource value: 0x7f0a003e + public const int Theme_AppCompat_DayNight_NoActionBar = 2131361854; + + // aapt resource value: 0x7f0a0138 + public const int Theme_AppCompat_Dialog = 2131362104; + + // aapt resource value: 0x7f0a0139 + public const int Theme_AppCompat_Dialog_Alert = 2131362105; + + // aapt resource value: 0x7f0a013a + public const int Theme_AppCompat_Dialog_MinWidth = 2131362106; + + // aapt resource value: 0x7f0a013b + public const int Theme_AppCompat_DialogWhenLarge = 2131362107; + + // aapt resource value: 0x7f0a013c + public const int Theme_AppCompat_Light = 2131362108; + + // aapt resource value: 0x7f0a013d + public const int Theme_AppCompat_Light_DarkActionBar = 2131362109; + + // aapt resource value: 0x7f0a013e + public const int Theme_AppCompat_Light_Dialog = 2131362110; + + // aapt resource value: 0x7f0a013f + public const int Theme_AppCompat_Light_Dialog_Alert = 2131362111; + + // aapt resource value: 0x7f0a0140 + public const int Theme_AppCompat_Light_Dialog_MinWidth = 2131362112; + + // aapt resource value: 0x7f0a0141 + public const int Theme_AppCompat_Light_DialogWhenLarge = 2131362113; + + // aapt resource value: 0x7f0a0142 + public const int Theme_AppCompat_Light_NoActionBar = 2131362114; + + // aapt resource value: 0x7f0a0143 + public const int Theme_AppCompat_NoActionBar = 2131362115; + + // aapt resource value: 0x7f0a0025 + public const int Theme_Design = 2131361829; + + // aapt resource value: 0x7f0a0026 + public const int Theme_Design_BottomSheetDialog = 2131361830; + + // aapt resource value: 0x7f0a0027 + public const int Theme_Design_Light = 2131361831; + + // aapt resource value: 0x7f0a0028 + public const int Theme_Design_Light_BottomSheetDialog = 2131361832; + + // aapt resource value: 0x7f0a0029 + public const int Theme_Design_Light_NoActionBar = 2131361833; + + // aapt resource value: 0x7f0a002a + public const int Theme_Design_NoActionBar = 2131361834; + + // aapt resource value: 0x7f0a0000 + public const int Theme_MediaRouter = 2131361792; + + // aapt resource value: 0x7f0a0001 + public const int Theme_MediaRouter_Light = 2131361793; + + // aapt resource value: 0x7f0a0002 + public const int Theme_MediaRouter_Light_DarkControlPanel = 2131361794; + + // aapt resource value: 0x7f0a0003 + public const int Theme_MediaRouter_LightControlPanel = 2131361795; + + // aapt resource value: 0x7f0a0144 + public const int ThemeOverlay_AppCompat = 2131362116; + + // aapt resource value: 0x7f0a0145 + public const int ThemeOverlay_AppCompat_ActionBar = 2131362117; + + // aapt resource value: 0x7f0a0146 + public const int ThemeOverlay_AppCompat_Dark = 2131362118; + + // aapt resource value: 0x7f0a0147 + public const int ThemeOverlay_AppCompat_Dark_ActionBar = 2131362119; + + // aapt resource value: 0x7f0a0148 + public const int ThemeOverlay_AppCompat_Dialog = 2131362120; + + // aapt resource value: 0x7f0a0149 + public const int ThemeOverlay_AppCompat_Dialog_Alert = 2131362121; + + // aapt resource value: 0x7f0a014a + public const int ThemeOverlay_AppCompat_Light = 2131362122; + + // aapt resource value: 0x7f0a014b + public const int Widget_AppCompat_ActionBar = 2131362123; + + // aapt resource value: 0x7f0a014c + public const int Widget_AppCompat_ActionBar_Solid = 2131362124; + + // aapt resource value: 0x7f0a014d + public const int Widget_AppCompat_ActionBar_TabBar = 2131362125; + + // aapt resource value: 0x7f0a014e + public const int Widget_AppCompat_ActionBar_TabText = 2131362126; + + // aapt resource value: 0x7f0a014f + public const int Widget_AppCompat_ActionBar_TabView = 2131362127; + + // aapt resource value: 0x7f0a0150 + public const int Widget_AppCompat_ActionButton = 2131362128; + + // aapt resource value: 0x7f0a0151 + public const int Widget_AppCompat_ActionButton_CloseMode = 2131362129; + + // aapt resource value: 0x7f0a0152 + public const int Widget_AppCompat_ActionButton_Overflow = 2131362130; + + // aapt resource value: 0x7f0a0153 + public const int Widget_AppCompat_ActionMode = 2131362131; + + // aapt resource value: 0x7f0a0154 + public const int Widget_AppCompat_ActivityChooserView = 2131362132; + + // aapt resource value: 0x7f0a0155 + public const int Widget_AppCompat_AutoCompleteTextView = 2131362133; + + // aapt resource value: 0x7f0a0156 + public const int Widget_AppCompat_Button = 2131362134; + + // aapt resource value: 0x7f0a0157 + public const int Widget_AppCompat_Button_Borderless = 2131362135; + + // aapt resource value: 0x7f0a0158 + public const int Widget_AppCompat_Button_Borderless_Colored = 2131362136; + + // aapt resource value: 0x7f0a0159 + public const int Widget_AppCompat_Button_ButtonBar_AlertDialog = 2131362137; + + // aapt resource value: 0x7f0a015a + public const int Widget_AppCompat_Button_Colored = 2131362138; + + // aapt resource value: 0x7f0a015b + public const int Widget_AppCompat_Button_Small = 2131362139; + + // aapt resource value: 0x7f0a015c + public const int Widget_AppCompat_ButtonBar = 2131362140; + + // aapt resource value: 0x7f0a015d + public const int Widget_AppCompat_ButtonBar_AlertDialog = 2131362141; + + // aapt resource value: 0x7f0a015e + public const int Widget_AppCompat_CompoundButton_CheckBox = 2131362142; + + // aapt resource value: 0x7f0a015f + public const int Widget_AppCompat_CompoundButton_RadioButton = 2131362143; + + // aapt resource value: 0x7f0a0160 + public const int Widget_AppCompat_CompoundButton_Switch = 2131362144; + + // aapt resource value: 0x7f0a0161 + public const int Widget_AppCompat_DrawerArrowToggle = 2131362145; + + // aapt resource value: 0x7f0a0162 + public const int Widget_AppCompat_DropDownItem_Spinner = 2131362146; + + // aapt resource value: 0x7f0a0163 + public const int Widget_AppCompat_EditText = 2131362147; + + // aapt resource value: 0x7f0a0164 + public const int Widget_AppCompat_ImageButton = 2131362148; + + // aapt resource value: 0x7f0a0165 + public const int Widget_AppCompat_Light_ActionBar = 2131362149; + + // aapt resource value: 0x7f0a0166 + public const int Widget_AppCompat_Light_ActionBar_Solid = 2131362150; + + // aapt resource value: 0x7f0a0167 + public const int Widget_AppCompat_Light_ActionBar_Solid_Inverse = 2131362151; + + // aapt resource value: 0x7f0a0168 + public const int Widget_AppCompat_Light_ActionBar_TabBar = 2131362152; + + // aapt resource value: 0x7f0a0169 + public const int Widget_AppCompat_Light_ActionBar_TabBar_Inverse = 2131362153; + + // aapt resource value: 0x7f0a016a + public const int Widget_AppCompat_Light_ActionBar_TabText = 2131362154; + + // aapt resource value: 0x7f0a016b + public const int Widget_AppCompat_Light_ActionBar_TabText_Inverse = 2131362155; + + // aapt resource value: 0x7f0a016c + public const int Widget_AppCompat_Light_ActionBar_TabView = 2131362156; + + // aapt resource value: 0x7f0a016d + public const int Widget_AppCompat_Light_ActionBar_TabView_Inverse = 2131362157; + + // aapt resource value: 0x7f0a016e + public const int Widget_AppCompat_Light_ActionButton = 2131362158; + + // aapt resource value: 0x7f0a016f + public const int Widget_AppCompat_Light_ActionButton_CloseMode = 2131362159; + + // aapt resource value: 0x7f0a0170 + public const int Widget_AppCompat_Light_ActionButton_Overflow = 2131362160; + + // aapt resource value: 0x7f0a0171 + public const int Widget_AppCompat_Light_ActionMode_Inverse = 2131362161; + + // aapt resource value: 0x7f0a0172 + public const int Widget_AppCompat_Light_ActivityChooserView = 2131362162; + + // aapt resource value: 0x7f0a0173 + public const int Widget_AppCompat_Light_AutoCompleteTextView = 2131362163; + + // aapt resource value: 0x7f0a0174 + public const int Widget_AppCompat_Light_DropDownItem_Spinner = 2131362164; + + // aapt resource value: 0x7f0a0175 + public const int Widget_AppCompat_Light_ListPopupWindow = 2131362165; + + // aapt resource value: 0x7f0a0176 + public const int Widget_AppCompat_Light_ListView_DropDown = 2131362166; + + // aapt resource value: 0x7f0a0177 + public const int Widget_AppCompat_Light_PopupMenu = 2131362167; + + // aapt resource value: 0x7f0a0178 + public const int Widget_AppCompat_Light_PopupMenu_Overflow = 2131362168; + + // aapt resource value: 0x7f0a0179 + public const int Widget_AppCompat_Light_SearchView = 2131362169; + + // aapt resource value: 0x7f0a017a + public const int Widget_AppCompat_Light_Spinner_DropDown_ActionBar = 2131362170; + + // aapt resource value: 0x7f0a017b + public const int Widget_AppCompat_ListMenuView = 2131362171; + + // aapt resource value: 0x7f0a017c + public const int Widget_AppCompat_ListPopupWindow = 2131362172; + + // aapt resource value: 0x7f0a017d + public const int Widget_AppCompat_ListView = 2131362173; + + // aapt resource value: 0x7f0a017e + public const int Widget_AppCompat_ListView_DropDown = 2131362174; + + // aapt resource value: 0x7f0a017f + public const int Widget_AppCompat_ListView_Menu = 2131362175; + + // aapt resource value: 0x7f0a00c4 + public const int Widget_AppCompat_NotificationActionContainer = 2131361988; + + // aapt resource value: 0x7f0a00c5 + public const int Widget_AppCompat_NotificationActionText = 2131361989; + + // aapt resource value: 0x7f0a0180 + public const int Widget_AppCompat_PopupMenu = 2131362176; + + // aapt resource value: 0x7f0a0181 + public const int Widget_AppCompat_PopupMenu_Overflow = 2131362177; + + // aapt resource value: 0x7f0a0182 + public const int Widget_AppCompat_PopupWindow = 2131362178; + + // aapt resource value: 0x7f0a0183 + public const int Widget_AppCompat_ProgressBar = 2131362179; + + // aapt resource value: 0x7f0a0184 + public const int Widget_AppCompat_ProgressBar_Horizontal = 2131362180; + + // aapt resource value: 0x7f0a0185 + public const int Widget_AppCompat_RatingBar = 2131362181; + + // aapt resource value: 0x7f0a0186 + public const int Widget_AppCompat_RatingBar_Indicator = 2131362182; + + // aapt resource value: 0x7f0a0187 + public const int Widget_AppCompat_RatingBar_Small = 2131362183; + + // aapt resource value: 0x7f0a0188 + public const int Widget_AppCompat_SearchView = 2131362184; + + // aapt resource value: 0x7f0a0189 + public const int Widget_AppCompat_SearchView_ActionBar = 2131362185; + + // aapt resource value: 0x7f0a018a + public const int Widget_AppCompat_SeekBar = 2131362186; + + // aapt resource value: 0x7f0a018b + public const int Widget_AppCompat_SeekBar_Discrete = 2131362187; + + // aapt resource value: 0x7f0a018c + public const int Widget_AppCompat_Spinner = 2131362188; + + // aapt resource value: 0x7f0a018d + public const int Widget_AppCompat_Spinner_DropDown = 2131362189; + + // aapt resource value: 0x7f0a018e + public const int Widget_AppCompat_Spinner_DropDown_ActionBar = 2131362190; + + // aapt resource value: 0x7f0a018f + public const int Widget_AppCompat_Spinner_Underlined = 2131362191; + + // aapt resource value: 0x7f0a0190 + public const int Widget_AppCompat_TextView_SpinnerItem = 2131362192; + + // aapt resource value: 0x7f0a0191 + public const int Widget_AppCompat_Toolbar = 2131362193; + + // aapt resource value: 0x7f0a0192 + public const int Widget_AppCompat_Toolbar_Button_Navigation = 2131362194; + + // aapt resource value: 0x7f0a002b + public const int Widget_Design_AppBarLayout = 2131361835; + + // aapt resource value: 0x7f0a002c + public const int Widget_Design_BottomSheet_Modal = 2131361836; + + // aapt resource value: 0x7f0a002d + public const int Widget_Design_CollapsingToolbar = 2131361837; + + // aapt resource value: 0x7f0a002e + public const int Widget_Design_CoordinatorLayout = 2131361838; + + // aapt resource value: 0x7f0a002f + public const int Widget_Design_FloatingActionButton = 2131361839; + + // aapt resource value: 0x7f0a0030 + public const int Widget_Design_NavigationView = 2131361840; + + // aapt resource value: 0x7f0a0031 + public const int Widget_Design_ScrimInsetsFrameLayout = 2131361841; + + // aapt resource value: 0x7f0a0032 + public const int Widget_Design_Snackbar = 2131361842; + + // aapt resource value: 0x7f0a001b + public const int Widget_Design_TabLayout = 2131361819; + + // aapt resource value: 0x7f0a0033 + public const int Widget_Design_TextInputLayout = 2131361843; + + // aapt resource value: 0x7f0a0004 + public const int Widget_MediaRouter_ChooserText = 2131361796; + + // aapt resource value: 0x7f0a0005 + public const int Widget_MediaRouter_ChooserText_Primary = 2131361797; + + // aapt resource value: 0x7f0a0006 + public const int Widget_MediaRouter_ChooserText_Primary_Dark = 2131361798; + + // aapt resource value: 0x7f0a0007 + public const int Widget_MediaRouter_ChooserText_Primary_Light = 2131361799; + + // aapt resource value: 0x7f0a0008 + public const int Widget_MediaRouter_ChooserText_Secondary = 2131361800; + + // aapt resource value: 0x7f0a0009 + public const int Widget_MediaRouter_ChooserText_Secondary_Dark = 2131361801; + + // aapt resource value: 0x7f0a000a + public const int Widget_MediaRouter_ChooserText_Secondary_Light = 2131361802; + + // aapt resource value: 0x7f0a000b + public const int Widget_MediaRouter_ControllerText = 2131361803; + + // aapt resource value: 0x7f0a000c + public const int Widget_MediaRouter_ControllerText_Primary = 2131361804; + + // aapt resource value: 0x7f0a000d + public const int Widget_MediaRouter_ControllerText_Primary_Dark = 2131361805; + + // aapt resource value: 0x7f0a000e + public const int Widget_MediaRouter_ControllerText_Primary_Light = 2131361806; + + // aapt resource value: 0x7f0a000f + public const int Widget_MediaRouter_ControllerText_Secondary = 2131361807; + + // aapt resource value: 0x7f0a0010 + public const int Widget_MediaRouter_ControllerText_Secondary_Dark = 2131361808; + + // aapt resource value: 0x7f0a0011 + public const int Widget_MediaRouter_ControllerText_Secondary_Light = 2131361809; + + // aapt resource value: 0x7f0a0012 + public const int Widget_MediaRouter_ControllerText_Title = 2131361810; + + // aapt resource value: 0x7f0a0013 + public const int Widget_MediaRouter_ControllerText_Title_Dark = 2131361811; + + // aapt resource value: 0x7f0a0014 + public const int Widget_MediaRouter_ControllerText_Title_Light = 2131361812; + + // aapt resource value: 0x7f0a0015 + public const int Widget_MediaRouter_Light_MediaRouteButton = 2131361813; + + // aapt resource value: 0x7f0a0016 + public const int Widget_MediaRouter_MediaRouteButton = 2131361814; + + static Style() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Style() + { + } + } + + public partial class Styleable + { + + public static int[] ActionBar = new int[] { + 2130772076, + 2130772078, + 2130772079, + 2130772080, + 2130772081, + 2130772082, + 2130772083, + 2130772084, + 2130772085, + 2130772086, + 2130772087, + 2130772088, + 2130772089, + 2130772090, + 2130772091, + 2130772092, + 2130772093, + 2130772094, + 2130772095, + 2130772096, + 2130772097, + 2130772098, + 2130772099, + 2130772100, + 2130772101, + 2130772102, + 2130772103, + 2130772104, + 2130772168}; + + // aapt resource value: 10 + public const int ActionBar_background = 10; + + // aapt resource value: 12 + public const int ActionBar_backgroundSplit = 12; + + // aapt resource value: 11 + public const int ActionBar_backgroundStacked = 11; + + // aapt resource value: 21 + public const int ActionBar_contentInsetEnd = 21; + + // aapt resource value: 25 + public const int ActionBar_contentInsetEndWithActions = 25; + + // aapt resource value: 22 + public const int ActionBar_contentInsetLeft = 22; + + // aapt resource value: 23 + public const int ActionBar_contentInsetRight = 23; + + // aapt resource value: 20 + public const int ActionBar_contentInsetStart = 20; + + // aapt resource value: 24 + public const int ActionBar_contentInsetStartWithNavigation = 24; + + // aapt resource value: 13 + public const int ActionBar_customNavigationLayout = 13; + + // aapt resource value: 3 + public const int ActionBar_displayOptions = 3; + + // aapt resource value: 9 + public const int ActionBar_divider = 9; + + // aapt resource value: 26 + public const int ActionBar_elevation = 26; + + // aapt resource value: 0 + public const int ActionBar_height = 0; + + // aapt resource value: 19 + public const int ActionBar_hideOnContentScroll = 19; + + // aapt resource value: 28 + public const int ActionBar_homeAsUpIndicator = 28; + + // aapt resource value: 14 + public const int ActionBar_homeLayout = 14; + + // aapt resource value: 7 + public const int ActionBar_icon = 7; + + // aapt resource value: 16 + public const int ActionBar_indeterminateProgressStyle = 16; + + // aapt resource value: 18 + public const int ActionBar_itemPadding = 18; + + // aapt resource value: 8 + public const int ActionBar_logo = 8; + + // aapt resource value: 2 + public const int ActionBar_navigationMode = 2; + + // aapt resource value: 27 + public const int ActionBar_popupTheme = 27; + + // aapt resource value: 17 + public const int ActionBar_progressBarPadding = 17; + + // aapt resource value: 15 + public const int ActionBar_progressBarStyle = 15; + + // aapt resource value: 4 + public const int ActionBar_subtitle = 4; + + // aapt resource value: 6 + public const int ActionBar_subtitleTextStyle = 6; + + // aapt resource value: 1 + public const int ActionBar_title = 1; + + // aapt resource value: 5 + public const int ActionBar_titleTextStyle = 5; + + public static int[] ActionBarLayout = new int[] { + 16842931}; + + // aapt resource value: 0 + public const int ActionBarLayout_android_layout_gravity = 0; + + public static int[] ActionMenuItemView = new int[] { + 16843071}; + + // aapt resource value: 0 + public const int ActionMenuItemView_android_minWidth = 0; + + public static int[] ActionMenuView; + + public static int[] ActionMode = new int[] { + 2130772076, + 2130772082, + 2130772083, + 2130772087, + 2130772089, + 2130772105}; + + // aapt resource value: 3 + public const int ActionMode_background = 3; + + // aapt resource value: 4 + public const int ActionMode_backgroundSplit = 4; + + // aapt resource value: 5 + public const int ActionMode_closeItemLayout = 5; + + // aapt resource value: 0 + public const int ActionMode_height = 0; + + // aapt resource value: 2 + public const int ActionMode_subtitleTextStyle = 2; + + // aapt resource value: 1 + public const int ActionMode_titleTextStyle = 1; + + public static int[] ActivityChooserView = new int[] { + 2130772106, + 2130772107}; + + // aapt resource value: 1 + public const int ActivityChooserView_expandActivityOverflowButtonDrawable = 1; + + // aapt resource value: 0 + public const int ActivityChooserView_initialActivityCount = 0; + + public static int[] AlertDialog = new int[] { + 16842994, + 2130772108, + 2130772109, + 2130772110, + 2130772111, + 2130772112, + 2130772113}; + + // aapt resource value: 0 + public const int AlertDialog_android_layout = 0; + + // aapt resource value: 1 + public const int AlertDialog_buttonPanelSideLayout = 1; + + // aapt resource value: 5 + public const int AlertDialog_listItemLayout = 5; + + // aapt resource value: 2 + public const int AlertDialog_listLayout = 2; + + // aapt resource value: 3 + public const int AlertDialog_multiChoiceItemLayout = 3; + + // aapt resource value: 6 + public const int AlertDialog_showTitle = 6; + + // aapt resource value: 4 + public const int AlertDialog_singleChoiceItemLayout = 4; + + public static int[] AppBarLayout = new int[] { + 16842964, + 2130772006, + 2130772103}; + + // aapt resource value: 0 + public const int AppBarLayout_android_background = 0; + + // aapt resource value: 2 + public const int AppBarLayout_elevation = 2; + + // aapt resource value: 1 + public const int AppBarLayout_expanded = 1; + + public static int[] AppBarLayout_LayoutParams = new int[] { + 2130772007, + 2130772008}; + + // aapt resource value: 0 + public const int AppBarLayout_LayoutParams_layout_scrollFlags = 0; + + // aapt resource value: 1 + public const int AppBarLayout_LayoutParams_layout_scrollInterpolator = 1; + + public static int[] AppCompatImageView = new int[] { + 16843033, + 2130772114, + 2130772115, + 2130772116}; + + // aapt resource value: 0 + public const int AppCompatImageView_android_src = 0; + + // aapt resource value: 1 + public const int AppCompatImageView_srcCompat = 1; + + // aapt resource value: 2 + public const int AppCompatImageView_tint = 2; + + // aapt resource value: 3 + public const int AppCompatImageView_tintMode = 3; + + public static int[] AppCompatSeekBar = new int[] { + 16843074, + 2130772117, + 2130772118, + 2130772119}; + + // aapt resource value: 0 + public const int AppCompatSeekBar_android_thumb = 0; + + // aapt resource value: 1 + public const int AppCompatSeekBar_tickMark = 1; + + // aapt resource value: 2 + public const int AppCompatSeekBar_tickMarkTint = 2; + + // aapt resource value: 3 + public const int AppCompatSeekBar_tickMarkTintMode = 3; + + public static int[] AppCompatTextHelper = new int[] { + 16842804, + 16843117, + 16843118, + 16843119, + 16843120, + 16843666, + 16843667}; + + // aapt resource value: 2 + public const int AppCompatTextHelper_android_drawableBottom = 2; + + // aapt resource value: 6 + public const int AppCompatTextHelper_android_drawableEnd = 6; + + // aapt resource value: 3 + public const int AppCompatTextHelper_android_drawableLeft = 3; + + // aapt resource value: 4 + public const int AppCompatTextHelper_android_drawableRight = 4; + + // aapt resource value: 5 + public const int AppCompatTextHelper_android_drawableStart = 5; + + // aapt resource value: 1 + public const int AppCompatTextHelper_android_drawableTop = 1; + + // aapt resource value: 0 + public const int AppCompatTextHelper_android_textAppearance = 0; + + public static int[] AppCompatTextView = new int[] { + 16842804, + 2130772120}; + + // aapt resource value: 0 + public const int AppCompatTextView_android_textAppearance = 0; + + // aapt resource value: 1 + public const int AppCompatTextView_textAllCaps = 1; + + public static int[] AppCompatTheme = new int[] { + 16842839, + 16842926, + 2130772121, + 2130772122, + 2130772123, + 2130772124, + 2130772125, + 2130772126, + 2130772127, + 2130772128, + 2130772129, + 2130772130, + 2130772131, + 2130772132, + 2130772133, + 2130772134, + 2130772135, + 2130772136, + 2130772137, + 2130772138, + 2130772139, + 2130772140, + 2130772141, + 2130772142, + 2130772143, + 2130772144, + 2130772145, + 2130772146, + 2130772147, + 2130772148, + 2130772149, + 2130772150, + 2130772151, + 2130772152, + 2130772153, + 2130772154, + 2130772155, + 2130772156, + 2130772157, + 2130772158, + 2130772159, + 2130772160, + 2130772161, + 2130772162, + 2130772163, + 2130772164, + 2130772165, + 2130772166, + 2130772167, + 2130772168, + 2130772169, + 2130772170, + 2130772171, + 2130772172, + 2130772173, + 2130772174, + 2130772175, + 2130772176, + 2130772177, + 2130772178, + 2130772179, + 2130772180, + 2130772181, + 2130772182, + 2130772183, + 2130772184, + 2130772185, + 2130772186, + 2130772187, + 2130772188, + 2130772189, + 2130772190, + 2130772191, + 2130772192, + 2130772193, + 2130772194, + 2130772195, + 2130772196, + 2130772197, + 2130772198, + 2130772199, + 2130772200, + 2130772201, + 2130772202, + 2130772203, + 2130772204, + 2130772205, + 2130772206, + 2130772207, + 2130772208, + 2130772209, + 2130772210, + 2130772211, + 2130772212, + 2130772213, + 2130772214, + 2130772215, + 2130772216, + 2130772217, + 2130772218, + 2130772219, + 2130772220, + 2130772221, + 2130772222, + 2130772223, + 2130772224, + 2130772225, + 2130772226, + 2130772227, + 2130772228, + 2130772229, + 2130772230, + 2130772231, + 2130772232, + 2130772233, + 2130772234}; + + // aapt resource value: 23 + public const int AppCompatTheme_actionBarDivider = 23; + + // aapt resource value: 24 + public const int AppCompatTheme_actionBarItemBackground = 24; + + // aapt resource value: 17 + public const int AppCompatTheme_actionBarPopupTheme = 17; + + // aapt resource value: 22 + public const int AppCompatTheme_actionBarSize = 22; + + // aapt resource value: 19 + public const int AppCompatTheme_actionBarSplitStyle = 19; + + // aapt resource value: 18 + public const int AppCompatTheme_actionBarStyle = 18; + + // aapt resource value: 13 + public const int AppCompatTheme_actionBarTabBarStyle = 13; + + // aapt resource value: 12 + public const int AppCompatTheme_actionBarTabStyle = 12; + + // aapt resource value: 14 + public const int AppCompatTheme_actionBarTabTextStyle = 14; + + // aapt resource value: 20 + public const int AppCompatTheme_actionBarTheme = 20; + + // aapt resource value: 21 + public const int AppCompatTheme_actionBarWidgetTheme = 21; + + // aapt resource value: 50 + public const int AppCompatTheme_actionButtonStyle = 50; + + // aapt resource value: 46 + public const int AppCompatTheme_actionDropDownStyle = 46; + + // aapt resource value: 25 + public const int AppCompatTheme_actionMenuTextAppearance = 25; + + // aapt resource value: 26 + public const int AppCompatTheme_actionMenuTextColor = 26; + + // aapt resource value: 29 + public const int AppCompatTheme_actionModeBackground = 29; + + // aapt resource value: 28 + public const int AppCompatTheme_actionModeCloseButtonStyle = 28; + + // aapt resource value: 31 + public const int AppCompatTheme_actionModeCloseDrawable = 31; + + // aapt resource value: 33 + public const int AppCompatTheme_actionModeCopyDrawable = 33; + + // aapt resource value: 32 + public const int AppCompatTheme_actionModeCutDrawable = 32; + + // aapt resource value: 37 + public const int AppCompatTheme_actionModeFindDrawable = 37; + + // aapt resource value: 34 + public const int AppCompatTheme_actionModePasteDrawable = 34; + + // aapt resource value: 39 + public const int AppCompatTheme_actionModePopupWindowStyle = 39; + + // aapt resource value: 35 + public const int AppCompatTheme_actionModeSelectAllDrawable = 35; + + // aapt resource value: 36 + public const int AppCompatTheme_actionModeShareDrawable = 36; + + // aapt resource value: 30 + public const int AppCompatTheme_actionModeSplitBackground = 30; + + // aapt resource value: 27 + public const int AppCompatTheme_actionModeStyle = 27; + + // aapt resource value: 38 + public const int AppCompatTheme_actionModeWebSearchDrawable = 38; + + // aapt resource value: 15 + public const int AppCompatTheme_actionOverflowButtonStyle = 15; + + // aapt resource value: 16 + public const int AppCompatTheme_actionOverflowMenuStyle = 16; + + // aapt resource value: 58 + public const int AppCompatTheme_activityChooserViewStyle = 58; + + // aapt resource value: 95 + public const int AppCompatTheme_alertDialogButtonGroupStyle = 95; + + // aapt resource value: 96 + public const int AppCompatTheme_alertDialogCenterButtons = 96; + + // aapt resource value: 94 + public const int AppCompatTheme_alertDialogStyle = 94; + + // aapt resource value: 97 + public const int AppCompatTheme_alertDialogTheme = 97; + + // aapt resource value: 1 + public const int AppCompatTheme_android_windowAnimationStyle = 1; + + // aapt resource value: 0 + public const int AppCompatTheme_android_windowIsFloating = 0; + + // aapt resource value: 102 + public const int AppCompatTheme_autoCompleteTextViewStyle = 102; + + // aapt resource value: 55 + public const int AppCompatTheme_borderlessButtonStyle = 55; + + // aapt resource value: 52 + public const int AppCompatTheme_buttonBarButtonStyle = 52; + + // aapt resource value: 100 + public const int AppCompatTheme_buttonBarNegativeButtonStyle = 100; + + // aapt resource value: 101 + public const int AppCompatTheme_buttonBarNeutralButtonStyle = 101; + + // aapt resource value: 99 + public const int AppCompatTheme_buttonBarPositiveButtonStyle = 99; + + // aapt resource value: 51 + public const int AppCompatTheme_buttonBarStyle = 51; + + // aapt resource value: 103 + public const int AppCompatTheme_buttonStyle = 103; + + // aapt resource value: 104 + public const int AppCompatTheme_buttonStyleSmall = 104; + + // aapt resource value: 105 + public const int AppCompatTheme_checkboxStyle = 105; + + // aapt resource value: 106 + public const int AppCompatTheme_checkedTextViewStyle = 106; + + // aapt resource value: 86 + public const int AppCompatTheme_colorAccent = 86; + + // aapt resource value: 93 + public const int AppCompatTheme_colorBackgroundFloating = 93; + + // aapt resource value: 90 + public const int AppCompatTheme_colorButtonNormal = 90; + + // aapt resource value: 88 + public const int AppCompatTheme_colorControlActivated = 88; + + // aapt resource value: 89 + public const int AppCompatTheme_colorControlHighlight = 89; + + // aapt resource value: 87 + public const int AppCompatTheme_colorControlNormal = 87; + + // aapt resource value: 84 + public const int AppCompatTheme_colorPrimary = 84; + + // aapt resource value: 85 + public const int AppCompatTheme_colorPrimaryDark = 85; + + // aapt resource value: 91 + public const int AppCompatTheme_colorSwitchThumbNormal = 91; + + // aapt resource value: 92 + public const int AppCompatTheme_controlBackground = 92; + + // aapt resource value: 44 + public const int AppCompatTheme_dialogPreferredPadding = 44; + + // aapt resource value: 43 + public const int AppCompatTheme_dialogTheme = 43; + + // aapt resource value: 57 + public const int AppCompatTheme_dividerHorizontal = 57; + + // aapt resource value: 56 + public const int AppCompatTheme_dividerVertical = 56; + + // aapt resource value: 75 + public const int AppCompatTheme_dropDownListViewStyle = 75; + + // aapt resource value: 47 + public const int AppCompatTheme_dropdownListPreferredItemHeight = 47; + + // aapt resource value: 64 + public const int AppCompatTheme_editTextBackground = 64; + + // aapt resource value: 63 + public const int AppCompatTheme_editTextColor = 63; + + // aapt resource value: 107 + public const int AppCompatTheme_editTextStyle = 107; + + // aapt resource value: 49 + public const int AppCompatTheme_homeAsUpIndicator = 49; + + // aapt resource value: 65 + public const int AppCompatTheme_imageButtonStyle = 65; + + // aapt resource value: 83 + public const int AppCompatTheme_listChoiceBackgroundIndicator = 83; + + // aapt resource value: 45 + public const int AppCompatTheme_listDividerAlertDialog = 45; + + // aapt resource value: 115 + public const int AppCompatTheme_listMenuViewStyle = 115; + + // aapt resource value: 76 + public const int AppCompatTheme_listPopupWindowStyle = 76; + + // aapt resource value: 70 + public const int AppCompatTheme_listPreferredItemHeight = 70; + + // aapt resource value: 72 + public const int AppCompatTheme_listPreferredItemHeightLarge = 72; + + // aapt resource value: 71 + public const int AppCompatTheme_listPreferredItemHeightSmall = 71; + + // aapt resource value: 73 + public const int AppCompatTheme_listPreferredItemPaddingLeft = 73; + + // aapt resource value: 74 + public const int AppCompatTheme_listPreferredItemPaddingRight = 74; + + // aapt resource value: 80 + public const int AppCompatTheme_panelBackground = 80; + + // aapt resource value: 82 + public const int AppCompatTheme_panelMenuListTheme = 82; + + // aapt resource value: 81 + public const int AppCompatTheme_panelMenuListWidth = 81; + + // aapt resource value: 61 + public const int AppCompatTheme_popupMenuStyle = 61; + + // aapt resource value: 62 + public const int AppCompatTheme_popupWindowStyle = 62; + + // aapt resource value: 108 + public const int AppCompatTheme_radioButtonStyle = 108; + + // aapt resource value: 109 + public const int AppCompatTheme_ratingBarStyle = 109; + + // aapt resource value: 110 + public const int AppCompatTheme_ratingBarStyleIndicator = 110; + + // aapt resource value: 111 + public const int AppCompatTheme_ratingBarStyleSmall = 111; + + // aapt resource value: 69 + public const int AppCompatTheme_searchViewStyle = 69; + + // aapt resource value: 112 + public const int AppCompatTheme_seekBarStyle = 112; + + // aapt resource value: 53 + public const int AppCompatTheme_selectableItemBackground = 53; + + // aapt resource value: 54 + public const int AppCompatTheme_selectableItemBackgroundBorderless = 54; + + // aapt resource value: 48 + public const int AppCompatTheme_spinnerDropDownItemStyle = 48; + + // aapt resource value: 113 + public const int AppCompatTheme_spinnerStyle = 113; + + // aapt resource value: 114 + public const int AppCompatTheme_switchStyle = 114; + + // aapt resource value: 40 + public const int AppCompatTheme_textAppearanceLargePopupMenu = 40; + + // aapt resource value: 77 + public const int AppCompatTheme_textAppearanceListItem = 77; + + // aapt resource value: 78 + public const int AppCompatTheme_textAppearanceListItemSecondary = 78; + + // aapt resource value: 79 + public const int AppCompatTheme_textAppearanceListItemSmall = 79; + + // aapt resource value: 42 + public const int AppCompatTheme_textAppearancePopupMenuHeader = 42; + + // aapt resource value: 67 + public const int AppCompatTheme_textAppearanceSearchResultSubtitle = 67; + + // aapt resource value: 66 + public const int AppCompatTheme_textAppearanceSearchResultTitle = 66; + + // aapt resource value: 41 + public const int AppCompatTheme_textAppearanceSmallPopupMenu = 41; + + // aapt resource value: 98 + public const int AppCompatTheme_textColorAlertDialogListItem = 98; + + // aapt resource value: 68 + public const int AppCompatTheme_textColorSearchUrl = 68; + + // aapt resource value: 60 + public const int AppCompatTheme_toolbarNavigationButtonStyle = 60; + + // aapt resource value: 59 + public const int AppCompatTheme_toolbarStyle = 59; + + // aapt resource value: 2 + public const int AppCompatTheme_windowActionBar = 2; + + // aapt resource value: 4 + public const int AppCompatTheme_windowActionBarOverlay = 4; + + // aapt resource value: 5 + public const int AppCompatTheme_windowActionModeOverlay = 5; + + // aapt resource value: 9 + public const int AppCompatTheme_windowFixedHeightMajor = 9; + + // aapt resource value: 7 + public const int AppCompatTheme_windowFixedHeightMinor = 7; + + // aapt resource value: 6 + public const int AppCompatTheme_windowFixedWidthMajor = 6; + + // aapt resource value: 8 + public const int AppCompatTheme_windowFixedWidthMinor = 8; + + // aapt resource value: 10 + public const int AppCompatTheme_windowMinWidthMajor = 10; + + // aapt resource value: 11 + public const int AppCompatTheme_windowMinWidthMinor = 11; + + // aapt resource value: 3 + public const int AppCompatTheme_windowNoTitle = 3; + + public static int[] BottomSheetBehavior_Params = new int[] { + 2130772009, + 2130772010}; + + // aapt resource value: 1 + public const int BottomSheetBehavior_Params_behavior_hideable = 1; + + // aapt resource value: 0 + public const int BottomSheetBehavior_Params_behavior_peekHeight = 0; + + public static int[] ButtonBarLayout = new int[] { + 2130772235}; + + // aapt resource value: 0 + public const int ButtonBarLayout_allowStacking = 0; + + public static int[] CardView = new int[] { + 16843071, + 16843072, + 2130771995, + 2130771996, + 2130771997, + 2130771998, + 2130771999, + 2130772000, + 2130772001, + 2130772002, + 2130772003, + 2130772004, + 2130772005}; + + // aapt resource value: 1 + public const int CardView_android_minHeight = 1; + + // aapt resource value: 0 + public const int CardView_android_minWidth = 0; + + // aapt resource value: 2 + public const int CardView_cardBackgroundColor = 2; + + // aapt resource value: 3 + public const int CardView_cardCornerRadius = 3; + + // aapt resource value: 4 + public const int CardView_cardElevation = 4; + + // aapt resource value: 5 + public const int CardView_cardMaxElevation = 5; + + // aapt resource value: 7 + public const int CardView_cardPreventCornerOverlap = 7; + + // aapt resource value: 6 + public const int CardView_cardUseCompatPadding = 6; + + // aapt resource value: 8 + public const int CardView_contentPadding = 8; + + // aapt resource value: 12 + public const int CardView_contentPaddingBottom = 12; + + // aapt resource value: 9 + public const int CardView_contentPaddingLeft = 9; + + // aapt resource value: 10 + public const int CardView_contentPaddingRight = 10; + + // aapt resource value: 11 + public const int CardView_contentPaddingTop = 11; + + public static int[] CollapsingAppBarLayout_LayoutParams = new int[] { + 2130772011, + 2130772012}; + + // aapt resource value: 0 + public const int CollapsingAppBarLayout_LayoutParams_layout_collapseMode = 0; + + // aapt resource value: 1 + public const int CollapsingAppBarLayout_LayoutParams_layout_collapseParallaxMultiplier = 1; + + public static int[] CollapsingToolbarLayout = new int[] { + 2130772013, + 2130772014, + 2130772015, + 2130772016, + 2130772017, + 2130772018, + 2130772019, + 2130772020, + 2130772021, + 2130772022, + 2130772023, + 2130772024, + 2130772025, + 2130772078}; + + // aapt resource value: 10 + public const int CollapsingToolbarLayout_collapsedTitleGravity = 10; + + // aapt resource value: 6 + public const int CollapsingToolbarLayout_collapsedTitleTextAppearance = 6; + + // aapt resource value: 7 + public const int CollapsingToolbarLayout_contentScrim = 7; + + // aapt resource value: 11 + public const int CollapsingToolbarLayout_expandedTitleGravity = 11; + + // aapt resource value: 0 + public const int CollapsingToolbarLayout_expandedTitleMargin = 0; + + // aapt resource value: 4 + public const int CollapsingToolbarLayout_expandedTitleMarginBottom = 4; + + // aapt resource value: 3 + public const int CollapsingToolbarLayout_expandedTitleMarginEnd = 3; + + // aapt resource value: 1 + public const int CollapsingToolbarLayout_expandedTitleMarginStart = 1; + + // aapt resource value: 2 + public const int CollapsingToolbarLayout_expandedTitleMarginTop = 2; + + // aapt resource value: 5 + public const int CollapsingToolbarLayout_expandedTitleTextAppearance = 5; + + // aapt resource value: 8 + public const int CollapsingToolbarLayout_statusBarScrim = 8; + + // aapt resource value: 13 + public const int CollapsingToolbarLayout_title = 13; + + // aapt resource value: 12 + public const int CollapsingToolbarLayout_titleEnabled = 12; + + // aapt resource value: 9 + public const int CollapsingToolbarLayout_toolbarId = 9; + + public static int[] ColorStateListItem = new int[] { + 16843173, + 16843551, + 2130772236}; + + // aapt resource value: 2 + public const int ColorStateListItem_alpha = 2; + + // aapt resource value: 1 + public const int ColorStateListItem_android_alpha = 1; + + // aapt resource value: 0 + public const int ColorStateListItem_android_color = 0; + + public static int[] CompoundButton = new int[] { + 16843015, + 2130772237, + 2130772238}; + + // aapt resource value: 0 + public const int CompoundButton_android_button = 0; + + // aapt resource value: 1 + public const int CompoundButton_buttonTint = 1; + + // aapt resource value: 2 + public const int CompoundButton_buttonTintMode = 2; + + public static int[] CoordinatorLayout = new int[] { + 2130772026, + 2130772027}; + + // aapt resource value: 0 + public const int CoordinatorLayout_keylines = 0; + + // aapt resource value: 1 + public const int CoordinatorLayout_statusBarBackground = 1; + + public static int[] CoordinatorLayout_LayoutParams = new int[] { + 16842931, + 2130772028, + 2130772029, + 2130772030, + 2130772031}; + + // aapt resource value: 0 + public const int CoordinatorLayout_LayoutParams_android_layout_gravity = 0; + + // aapt resource value: 2 + public const int CoordinatorLayout_LayoutParams_layout_anchor = 2; + + // aapt resource value: 4 + public const int CoordinatorLayout_LayoutParams_layout_anchorGravity = 4; + + // aapt resource value: 1 + public const int CoordinatorLayout_LayoutParams_layout_behavior = 1; + + // aapt resource value: 3 + public const int CoordinatorLayout_LayoutParams_layout_keyline = 3; + + public static int[] DesignTheme = new int[] { + 2130772032, + 2130772033, + 2130772034}; + + // aapt resource value: 0 + public const int DesignTheme_bottomSheetDialogTheme = 0; + + // aapt resource value: 1 + public const int DesignTheme_bottomSheetStyle = 1; + + // aapt resource value: 2 + public const int DesignTheme_textColorError = 2; + + public static int[] DrawerArrowToggle = new int[] { + 2130772239, + 2130772240, + 2130772241, + 2130772242, + 2130772243, + 2130772244, + 2130772245, + 2130772246}; + + // aapt resource value: 4 + public const int DrawerArrowToggle_arrowHeadLength = 4; + + // aapt resource value: 5 + public const int DrawerArrowToggle_arrowShaftLength = 5; + + // aapt resource value: 6 + public const int DrawerArrowToggle_barLength = 6; + + // aapt resource value: 0 + public const int DrawerArrowToggle_color = 0; + + // aapt resource value: 2 + public const int DrawerArrowToggle_drawableSize = 2; + + // aapt resource value: 3 + public const int DrawerArrowToggle_gapBetweenBars = 3; + + // aapt resource value: 1 + public const int DrawerArrowToggle_spinBars = 1; + + // aapt resource value: 7 + public const int DrawerArrowToggle_thickness = 7; + + public static int[] FloatingActionButton = new int[] { + 2130772035, + 2130772036, + 2130772037, + 2130772038, + 2130772039, + 2130772103, + 2130772304, + 2130772305}; + + // aapt resource value: 6 + public const int FloatingActionButton_backgroundTint = 6; + + // aapt resource value: 7 + public const int FloatingActionButton_backgroundTintMode = 7; + + // aapt resource value: 3 + public const int FloatingActionButton_borderWidth = 3; + + // aapt resource value: 5 + public const int FloatingActionButton_elevation = 5; + + // aapt resource value: 1 + public const int FloatingActionButton_fabSize = 1; + + // aapt resource value: 2 + public const int FloatingActionButton_pressedTranslationZ = 2; + + // aapt resource value: 0 + public const int FloatingActionButton_rippleColor = 0; + + // aapt resource value: 4 + public const int FloatingActionButton_useCompatPadding = 4; + + public static int[] ForegroundLinearLayout = new int[] { + 16843017, + 16843264, + 2130772040}; + + // aapt resource value: 0 + public const int ForegroundLinearLayout_android_foreground = 0; + + // aapt resource value: 1 + public const int ForegroundLinearLayout_android_foregroundGravity = 1; + + // aapt resource value: 2 + public const int ForegroundLinearLayout_foregroundInsidePadding = 2; + + public static int[] LinearLayoutCompat = new int[] { + 16842927, + 16842948, + 16843046, + 16843047, + 16843048, + 2130772086, + 2130772247, + 2130772248, + 2130772249}; + + // aapt resource value: 2 + public const int LinearLayoutCompat_android_baselineAligned = 2; + + // aapt resource value: 3 + public const int LinearLayoutCompat_android_baselineAlignedChildIndex = 3; + + // aapt resource value: 0 + public const int LinearLayoutCompat_android_gravity = 0; + + // aapt resource value: 1 + public const int LinearLayoutCompat_android_orientation = 1; + + // aapt resource value: 4 + public const int LinearLayoutCompat_android_weightSum = 4; + + // aapt resource value: 5 + public const int LinearLayoutCompat_divider = 5; + + // aapt resource value: 8 + public const int LinearLayoutCompat_dividerPadding = 8; + + // aapt resource value: 6 + public const int LinearLayoutCompat_measureWithLargestChild = 6; + + // aapt resource value: 7 + public const int LinearLayoutCompat_showDividers = 7; + + public static int[] LinearLayoutCompat_Layout = new int[] { + 16842931, + 16842996, + 16842997, + 16843137}; + + // aapt resource value: 0 + public const int LinearLayoutCompat_Layout_android_layout_gravity = 0; + + // aapt resource value: 2 + public const int LinearLayoutCompat_Layout_android_layout_height = 2; + + // aapt resource value: 3 + public const int LinearLayoutCompat_Layout_android_layout_weight = 3; + + // aapt resource value: 1 + public const int LinearLayoutCompat_Layout_android_layout_width = 1; + + public static int[] ListPopupWindow = new int[] { + 16843436, + 16843437}; + + // aapt resource value: 0 + public const int ListPopupWindow_android_dropDownHorizontalOffset = 0; + + // aapt resource value: 1 + public const int ListPopupWindow_android_dropDownVerticalOffset = 1; + + public static int[] MediaRouteButton = new int[] { + 16843071, + 16843072, + 2130771994}; + + // aapt resource value: 1 + public const int MediaRouteButton_android_minHeight = 1; + + // aapt resource value: 0 + public const int MediaRouteButton_android_minWidth = 0; + + // aapt resource value: 2 + public const int MediaRouteButton_externalRouteEnabledDrawable = 2; + + public static int[] MenuGroup = new int[] { + 16842766, + 16842960, + 16843156, + 16843230, + 16843231, + 16843232}; + + // aapt resource value: 5 + public const int MenuGroup_android_checkableBehavior = 5; + + // aapt resource value: 0 + public const int MenuGroup_android_enabled = 0; + + // aapt resource value: 1 + public const int MenuGroup_android_id = 1; + + // aapt resource value: 3 + public const int MenuGroup_android_menuCategory = 3; + + // aapt resource value: 4 + public const int MenuGroup_android_orderInCategory = 4; + + // aapt resource value: 2 + public const int MenuGroup_android_visible = 2; + + public static int[] MenuItem = new int[] { + 16842754, + 16842766, + 16842960, + 16843014, + 16843156, + 16843230, + 16843231, + 16843233, + 16843234, + 16843235, + 16843236, + 16843237, + 16843375, + 2130772250, + 2130772251, + 2130772252, + 2130772253}; + + // aapt resource value: 14 + public const int MenuItem_actionLayout = 14; + + // aapt resource value: 16 + public const int MenuItem_actionProviderClass = 16; + + // aapt resource value: 15 + public const int MenuItem_actionViewClass = 15; + + // aapt resource value: 9 + public const int MenuItem_android_alphabeticShortcut = 9; + + // aapt resource value: 11 + public const int MenuItem_android_checkable = 11; + + // aapt resource value: 3 + public const int MenuItem_android_checked = 3; + + // aapt resource value: 1 + public const int MenuItem_android_enabled = 1; + + // aapt resource value: 0 + public const int MenuItem_android_icon = 0; + + // aapt resource value: 2 + public const int MenuItem_android_id = 2; + + // aapt resource value: 5 + public const int MenuItem_android_menuCategory = 5; + + // aapt resource value: 10 + public const int MenuItem_android_numericShortcut = 10; + + // aapt resource value: 12 + public const int MenuItem_android_onClick = 12; + + // aapt resource value: 6 + public const int MenuItem_android_orderInCategory = 6; + + // aapt resource value: 7 + public const int MenuItem_android_title = 7; + + // aapt resource value: 8 + public const int MenuItem_android_titleCondensed = 8; + + // aapt resource value: 4 + public const int MenuItem_android_visible = 4; + + // aapt resource value: 13 + public const int MenuItem_showAsAction = 13; + + public static int[] MenuView = new int[] { + 16842926, + 16843052, + 16843053, + 16843054, + 16843055, + 16843056, + 16843057, + 2130772254, + 2130772255}; + + // aapt resource value: 4 + public const int MenuView_android_headerBackground = 4; + + // aapt resource value: 2 + public const int MenuView_android_horizontalDivider = 2; + + // aapt resource value: 5 + public const int MenuView_android_itemBackground = 5; + + // aapt resource value: 6 + public const int MenuView_android_itemIconDisabledAlpha = 6; + + // aapt resource value: 1 + public const int MenuView_android_itemTextAppearance = 1; + + // aapt resource value: 3 + public const int MenuView_android_verticalDivider = 3; + + // aapt resource value: 0 + public const int MenuView_android_windowAnimationStyle = 0; + + // aapt resource value: 7 + public const int MenuView_preserveIconSpacing = 7; + + // aapt resource value: 8 + public const int MenuView_subMenuArrow = 8; + + public static int[] NavigationView = new int[] { + 16842964, + 16842973, + 16843039, + 2130772041, + 2130772042, + 2130772043, + 2130772044, + 2130772045, + 2130772046, + 2130772103}; + + // aapt resource value: 0 + public const int NavigationView_android_background = 0; + + // aapt resource value: 1 + public const int NavigationView_android_fitsSystemWindows = 1; + + // aapt resource value: 2 + public const int NavigationView_android_maxWidth = 2; + + // aapt resource value: 9 + public const int NavigationView_elevation = 9; + + // aapt resource value: 8 + public const int NavigationView_headerLayout = 8; + + // aapt resource value: 6 + public const int NavigationView_itemBackground = 6; + + // aapt resource value: 4 + public const int NavigationView_itemIconTint = 4; + + // aapt resource value: 7 + public const int NavigationView_itemTextAppearance = 7; + + // aapt resource value: 5 + public const int NavigationView_itemTextColor = 5; + + // aapt resource value: 3 + public const int NavigationView_menu = 3; + + public static int[] PopupWindow = new int[] { + 16843126, + 16843465, + 2130772256}; + + // aapt resource value: 1 + public const int PopupWindow_android_popupAnimationStyle = 1; + + // aapt resource value: 0 + public const int PopupWindow_android_popupBackground = 0; + + // aapt resource value: 2 + public const int PopupWindow_overlapAnchor = 2; + + public static int[] PopupWindowBackgroundState = new int[] { + 2130772257}; + + // aapt resource value: 0 + public const int PopupWindowBackgroundState_state_above_anchor = 0; + + public static int[] RecycleListView = new int[] { + 2130772258, + 2130772259}; + + // aapt resource value: 0 + public const int RecycleListView_paddingBottomNoButtons = 0; + + // aapt resource value: 1 + public const int RecycleListView_paddingTopNoTitle = 1; + + public static int[] RecyclerView = new int[] { + 16842948, + 2130771968, + 2130771969, + 2130771970, + 2130771971}; + + // aapt resource value: 0 + public const int RecyclerView_android_orientation = 0; + + // aapt resource value: 1 + public const int RecyclerView_layoutManager = 1; + + // aapt resource value: 3 + public const int RecyclerView_reverseLayout = 3; + + // aapt resource value: 2 + public const int RecyclerView_spanCount = 2; + + // aapt resource value: 4 + public const int RecyclerView_stackFromEnd = 4; + + public static int[] ScrimInsetsFrameLayout = new int[] { + 2130772047}; + + // aapt resource value: 0 + public const int ScrimInsetsFrameLayout_insetForeground = 0; + + public static int[] ScrollingViewBehavior_Params = new int[] { + 2130772048}; + + // aapt resource value: 0 + public const int ScrollingViewBehavior_Params_behavior_overlapTop = 0; + + public static int[] SearchView = new int[] { + 16842970, + 16843039, + 16843296, + 16843364, + 2130772260, + 2130772261, + 2130772262, + 2130772263, + 2130772264, + 2130772265, + 2130772266, + 2130772267, + 2130772268, + 2130772269, + 2130772270, + 2130772271, + 2130772272}; + + // aapt resource value: 0 + public const int SearchView_android_focusable = 0; + + // aapt resource value: 3 + public const int SearchView_android_imeOptions = 3; + + // aapt resource value: 2 + public const int SearchView_android_inputType = 2; + + // aapt resource value: 1 + public const int SearchView_android_maxWidth = 1; + + // aapt resource value: 8 + public const int SearchView_closeIcon = 8; + + // aapt resource value: 13 + public const int SearchView_commitIcon = 13; + + // aapt resource value: 7 + public const int SearchView_defaultQueryHint = 7; + + // aapt resource value: 9 + public const int SearchView_goIcon = 9; + + // aapt resource value: 5 + public const int SearchView_iconifiedByDefault = 5; + + // aapt resource value: 4 + public const int SearchView_layout = 4; + + // aapt resource value: 15 + public const int SearchView_queryBackground = 15; + + // aapt resource value: 6 + public const int SearchView_queryHint = 6; + + // aapt resource value: 11 + public const int SearchView_searchHintIcon = 11; + + // aapt resource value: 10 + public const int SearchView_searchIcon = 10; + + // aapt resource value: 16 + public const int SearchView_submitBackground = 16; + + // aapt resource value: 14 + public const int SearchView_suggestionRowLayout = 14; + + // aapt resource value: 12 + public const int SearchView_voiceIcon = 12; + + public static int[] SnackbarLayout = new int[] { + 16843039, + 2130772049, + 2130772103}; + + // aapt resource value: 0 + public const int SnackbarLayout_android_maxWidth = 0; + + // aapt resource value: 2 + public const int SnackbarLayout_elevation = 2; + + // aapt resource value: 1 + public const int SnackbarLayout_maxActionInlineWidth = 1; + + public static int[] Spinner = new int[] { + 16842930, + 16843126, + 16843131, + 16843362, + 2130772104}; + + // aapt resource value: 3 + public const int Spinner_android_dropDownWidth = 3; + + // aapt resource value: 0 + public const int Spinner_android_entries = 0; + + // aapt resource value: 1 + public const int Spinner_android_popupBackground = 1; + + // aapt resource value: 2 + public const int Spinner_android_prompt = 2; + + // aapt resource value: 4 + public const int Spinner_popupTheme = 4; + + public static int[] SwitchCompat = new int[] { + 16843044, + 16843045, + 16843074, + 2130772273, + 2130772274, + 2130772275, + 2130772276, + 2130772277, + 2130772278, + 2130772279, + 2130772280, + 2130772281, + 2130772282, + 2130772283}; + + // aapt resource value: 1 + public const int SwitchCompat_android_textOff = 1; + + // aapt resource value: 0 + public const int SwitchCompat_android_textOn = 0; + + // aapt resource value: 2 + public const int SwitchCompat_android_thumb = 2; + + // aapt resource value: 13 + public const int SwitchCompat_showText = 13; + + // aapt resource value: 12 + public const int SwitchCompat_splitTrack = 12; + + // aapt resource value: 10 + public const int SwitchCompat_switchMinWidth = 10; + + // aapt resource value: 11 + public const int SwitchCompat_switchPadding = 11; + + // aapt resource value: 9 + public const int SwitchCompat_switchTextAppearance = 9; + + // aapt resource value: 8 + public const int SwitchCompat_thumbTextPadding = 8; + + // aapt resource value: 3 + public const int SwitchCompat_thumbTint = 3; + + // aapt resource value: 4 + public const int SwitchCompat_thumbTintMode = 4; + + // aapt resource value: 5 + public const int SwitchCompat_track = 5; + + // aapt resource value: 6 + public const int SwitchCompat_trackTint = 6; + + // aapt resource value: 7 + public const int SwitchCompat_trackTintMode = 7; + + public static int[] TabItem = new int[] { + 16842754, + 16842994, + 16843087}; + + // aapt resource value: 0 + public const int TabItem_android_icon = 0; + + // aapt resource value: 1 + public const int TabItem_android_layout = 1; + + // aapt resource value: 2 + public const int TabItem_android_text = 2; + + public static int[] TabLayout = new int[] { + 2130772050, + 2130772051, + 2130772052, + 2130772053, + 2130772054, + 2130772055, + 2130772056, + 2130772057, + 2130772058, + 2130772059, + 2130772060, + 2130772061, + 2130772062, + 2130772063, + 2130772064, + 2130772065}; + + // aapt resource value: 3 + public const int TabLayout_tabBackground = 3; + + // aapt resource value: 2 + public const int TabLayout_tabContentStart = 2; + + // aapt resource value: 5 + public const int TabLayout_tabGravity = 5; + + // aapt resource value: 0 + public const int TabLayout_tabIndicatorColor = 0; + + // aapt resource value: 1 + public const int TabLayout_tabIndicatorHeight = 1; + + // aapt resource value: 7 + public const int TabLayout_tabMaxWidth = 7; + + // aapt resource value: 6 + public const int TabLayout_tabMinWidth = 6; + + // aapt resource value: 4 + public const int TabLayout_tabMode = 4; + + // aapt resource value: 15 + public const int TabLayout_tabPadding = 15; + + // aapt resource value: 14 + public const int TabLayout_tabPaddingBottom = 14; + + // aapt resource value: 13 + public const int TabLayout_tabPaddingEnd = 13; + + // aapt resource value: 11 + public const int TabLayout_tabPaddingStart = 11; + + // aapt resource value: 12 + public const int TabLayout_tabPaddingTop = 12; + + // aapt resource value: 10 + public const int TabLayout_tabSelectedTextColor = 10; + + // aapt resource value: 8 + public const int TabLayout_tabTextAppearance = 8; + + // aapt resource value: 9 + public const int TabLayout_tabTextColor = 9; + + public static int[] TextAppearance = new int[] { + 16842901, + 16842902, + 16842903, + 16842904, + 16842906, + 16843105, + 16843106, + 16843107, + 16843108, + 2130772120}; + + // aapt resource value: 5 + public const int TextAppearance_android_shadowColor = 5; + + // aapt resource value: 6 + public const int TextAppearance_android_shadowDx = 6; + + // aapt resource value: 7 + public const int TextAppearance_android_shadowDy = 7; + + // aapt resource value: 8 + public const int TextAppearance_android_shadowRadius = 8; + + // aapt resource value: 3 + public const int TextAppearance_android_textColor = 3; + + // aapt resource value: 4 + public const int TextAppearance_android_textColorHint = 4; + + // aapt resource value: 0 + public const int TextAppearance_android_textSize = 0; + + // aapt resource value: 2 + public const int TextAppearance_android_textStyle = 2; + + // aapt resource value: 1 + public const int TextAppearance_android_typeface = 1; + + // aapt resource value: 9 + public const int TextAppearance_textAllCaps = 9; + + public static int[] TextInputLayout = new int[] { + 16842906, + 16843088, + 2130772066, + 2130772067, + 2130772068, + 2130772069, + 2130772070, + 2130772071, + 2130772072, + 2130772073, + 2130772074}; + + // aapt resource value: 1 + public const int TextInputLayout_android_hint = 1; + + // aapt resource value: 0 + public const int TextInputLayout_android_textColorHint = 0; + + // aapt resource value: 6 + public const int TextInputLayout_counterEnabled = 6; + + // aapt resource value: 7 + public const int TextInputLayout_counterMaxLength = 7; + + // aapt resource value: 9 + public const int TextInputLayout_counterOverflowTextAppearance = 9; + + // aapt resource value: 8 + public const int TextInputLayout_counterTextAppearance = 8; + + // aapt resource value: 4 + public const int TextInputLayout_errorEnabled = 4; + + // aapt resource value: 5 + public const int TextInputLayout_errorTextAppearance = 5; + + // aapt resource value: 10 + public const int TextInputLayout_hintAnimationEnabled = 10; + + // aapt resource value: 3 + public const int TextInputLayout_hintEnabled = 3; + + // aapt resource value: 2 + public const int TextInputLayout_hintTextAppearance = 2; + + public static int[] Toolbar = new int[] { + 16842927, + 16843072, + 2130772078, + 2130772081, + 2130772085, + 2130772097, + 2130772098, + 2130772099, + 2130772100, + 2130772101, + 2130772102, + 2130772104, + 2130772284, + 2130772285, + 2130772286, + 2130772287, + 2130772288, + 2130772289, + 2130772290, + 2130772291, + 2130772292, + 2130772293, + 2130772294, + 2130772295, + 2130772296, + 2130772297, + 2130772298, + 2130772299, + 2130772300}; + + // aapt resource value: 0 + public const int Toolbar_android_gravity = 0; + + // aapt resource value: 1 + public const int Toolbar_android_minHeight = 1; + + // aapt resource value: 21 + public const int Toolbar_buttonGravity = 21; + + // aapt resource value: 23 + public const int Toolbar_collapseContentDescription = 23; + + // aapt resource value: 22 + public const int Toolbar_collapseIcon = 22; + + // aapt resource value: 6 + public const int Toolbar_contentInsetEnd = 6; + + // aapt resource value: 10 + public const int Toolbar_contentInsetEndWithActions = 10; + + // aapt resource value: 7 + public const int Toolbar_contentInsetLeft = 7; + + // aapt resource value: 8 + public const int Toolbar_contentInsetRight = 8; + + // aapt resource value: 5 + public const int Toolbar_contentInsetStart = 5; + + // aapt resource value: 9 + public const int Toolbar_contentInsetStartWithNavigation = 9; + + // aapt resource value: 4 + public const int Toolbar_logo = 4; + + // aapt resource value: 26 + public const int Toolbar_logoDescription = 26; + + // aapt resource value: 20 + public const int Toolbar_maxButtonHeight = 20; + + // aapt resource value: 25 + public const int Toolbar_navigationContentDescription = 25; + + // aapt resource value: 24 + public const int Toolbar_navigationIcon = 24; + + // aapt resource value: 11 + public const int Toolbar_popupTheme = 11; + + // aapt resource value: 3 + public const int Toolbar_subtitle = 3; + + // aapt resource value: 13 + public const int Toolbar_subtitleTextAppearance = 13; + + // aapt resource value: 28 + public const int Toolbar_subtitleTextColor = 28; + + // aapt resource value: 2 + public const int Toolbar_title = 2; + + // aapt resource value: 14 + public const int Toolbar_titleMargin = 14; + + // aapt resource value: 18 + public const int Toolbar_titleMarginBottom = 18; + + // aapt resource value: 16 + public const int Toolbar_titleMarginEnd = 16; + + // aapt resource value: 15 + public const int Toolbar_titleMarginStart = 15; + + // aapt resource value: 17 + public const int Toolbar_titleMarginTop = 17; + + // aapt resource value: 19 + public const int Toolbar_titleMargins = 19; + + // aapt resource value: 12 + public const int Toolbar_titleTextAppearance = 12; + + // aapt resource value: 27 + public const int Toolbar_titleTextColor = 27; + + public static int[] View = new int[] { + 16842752, + 16842970, + 2130772301, + 2130772302, + 2130772303}; + + // aapt resource value: 1 + public const int View_android_focusable = 1; + + // aapt resource value: 0 + public const int View_android_theme = 0; + + // aapt resource value: 3 + public const int View_paddingEnd = 3; + + // aapt resource value: 2 + public const int View_paddingStart = 2; + + // aapt resource value: 4 + public const int View_theme = 4; + + public static int[] ViewBackgroundHelper = new int[] { + 16842964, + 2130772304, + 2130772305}; + + // aapt resource value: 0 + public const int ViewBackgroundHelper_android_background = 0; + + // aapt resource value: 1 + public const int ViewBackgroundHelper_backgroundTint = 1; + + // aapt resource value: 2 + public const int ViewBackgroundHelper_backgroundTintMode = 2; + + public static int[] ViewStubCompat = new int[] { + 16842960, + 16842994, + 16842995}; + + // aapt resource value: 0 + public const int ViewStubCompat_android_id = 0; + + // aapt resource value: 2 + public const int ViewStubCompat_android_inflatedId = 2; + + // aapt resource value: 1 + public const int ViewStubCompat_android_layout = 1; + + static Styleable() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Styleable() + { + } + } + } +} +#pragma warning restore 1591 diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/drawable-hdpi/icon.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/drawable-hdpi/icon.png new file mode 100644 index 000000000..964f110ab Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/drawable-hdpi/icon.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/drawable-xhdpi/icon.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/drawable-xhdpi/icon.png new file mode 100644 index 000000000..3c01e60ce Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/drawable-xhdpi/icon.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/drawable-xxhdpi/icon.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/drawable-xxhdpi/icon.png new file mode 100644 index 000000000..0d8c1c57d Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/drawable-xxhdpi/icon.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/drawable/icon.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/drawable/icon.png new file mode 100644 index 000000000..b0ba7150f Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/drawable/icon.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/layout/Tabbar.axml b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/layout/Tabbar.axml new file mode 100644 index 000000000..ad1f87d81 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/layout/Tabbar.axml @@ -0,0 +1,11 @@ + + diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/layout/Toolbar.axml b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/layout/Toolbar.axml new file mode 100644 index 000000000..aabd0a3b7 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/layout/Toolbar.axml @@ -0,0 +1,9 @@ + + diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/values/styles.xml b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/values/styles.xml new file mode 100644 index 000000000..43b0a58c1 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/Resources/values/styles.xml @@ -0,0 +1,30 @@ + + + + + + + + + diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/XamarinFormsApp.Android.csproj b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/XamarinFormsApp.Android.csproj new file mode 100644 index 000000000..93bef952a --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.Android/XamarinFormsApp.Android.csproj @@ -0,0 +1,119 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {AB420AAE-157A-4351-B5F8-3E033479D506} + {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + Properties + XamarinFormsApp.Droid + XamarinFormsApp.Android + 512 + true + Resources\Resource.Designer.cs + Off + Properties\AndroidManifest.xml + true + v7.1 + + + + + + + t + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + True + None + armeabi,armeabi-v7a,x86 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + False + SdkOnly + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {07d5c21f-f7b5-44b6-92f8-47aa7c257ac8} + XamarinFormsApp + + + + + REPLACEME-AKAVACHE-VERSION + + + 25.4.0.1 + + + 25.4.0.1 + + + 25.4.0.1 + + + 2.3.4.267 + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/App.xaml b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/App.xaml new file mode 100644 index 000000000..6072449d0 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/App.xaml.cs b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/App.xaml.cs new file mode 100644 index 000000000..97391fcbd --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/App.xaml.cs @@ -0,0 +1,107 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.ApplicationModel; +using Windows.ApplicationModel.Activation; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +namespace XamarinFormsApp.UWP +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + sealed partial class App : Application + { + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + this.Suspending += OnSuspending; + } + + /// + /// 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 (System.Diagnostics.Debugger.IsAttached) + { + this.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 (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 + 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/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-100.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-100.png new file mode 100644 index 000000000..2691ddda5 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-100.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-125.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-125.png new file mode 100644 index 000000000..1d968b55b Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-125.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-150.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-150.png new file mode 100644 index 000000000..9ab2a9481 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-150.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-200.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 000000000..f12a7865b Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-200.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-400.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-400.png new file mode 100644 index 000000000..2fd2f9949 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/LockScreenLogo.scale-400.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-100.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-100.png new file mode 100644 index 000000000..8fc01d548 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-100.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-125.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-125.png new file mode 100644 index 000000000..ff8f8c30c Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-125.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-150.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-150.png new file mode 100644 index 000000000..edce16974 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-150.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-200.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-200.png new file mode 100644 index 000000000..027589c77 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-200.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-400.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-400.png new file mode 100644 index 000000000..f46b6d2c2 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/SplashScreen.scale-400.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-100.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-100.png new file mode 100644 index 000000000..24faa623d Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-100.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-125.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-125.png new file mode 100644 index 000000000..365c1674b Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-125.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-150.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-150.png new file mode 100644 index 000000000..2a3986b11 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-150.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-200.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 000000000..e88ae8340 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-200.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-400.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-400.png new file mode 100644 index 000000000..644b9ab2f Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square150x150Logo.scale-400.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-100.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-100.png new file mode 100644 index 000000000..4ad2800b2 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-100.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-125.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-125.png new file mode 100644 index 000000000..482526fe9 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-125.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-150.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-150.png new file mode 100644 index 000000000..19ac2bf06 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-150.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-200.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 000000000..a6e88ac3a Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-200.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-400.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-400.png new file mode 100644 index 000000000..0245755d3 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.scale-400.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-16_altform-unplated.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-16_altform-unplated.png new file mode 100644 index 000000000..1f92251d9 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-16_altform-unplated.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 000000000..053eccc80 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-256_altform-unplated.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-256_altform-unplated.png new file mode 100644 index 000000000..31682a6a9 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-256_altform-unplated.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-32_altform-unplated.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-32_altform-unplated.png new file mode 100644 index 000000000..456a0a33d Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-32_altform-unplated.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-48_altform-unplated.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-48_altform-unplated.png new file mode 100644 index 000000000..378034e16 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Square44x44Logo.targetsize-48_altform-unplated.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/StoreLogo.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/StoreLogo.png new file mode 100644 index 000000000..a197aaf55 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/StoreLogo.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-100.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-100.png new file mode 100644 index 000000000..808136308 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-100.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-125.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-125.png new file mode 100644 index 000000000..45736239b Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-125.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-150.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-150.png new file mode 100644 index 000000000..d10db3e24 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-150.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-200.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 000000000..51b2a532c Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-200.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-400.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-400.png new file mode 100644 index 000000000..ad96c43c9 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Assets/Wide310x150Logo.scale-400.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/MainPage.xaml b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/MainPage.xaml new file mode 100644 index 000000000..19fc21649 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/MainPage.xaml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/MainPage.xaml.cs b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/MainPage.xaml.cs new file mode 100644 index 000000000..44f398b06 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/MainPage.xaml.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +namespace XamarinFormsApp.UWP +{ + public sealed partial class MainPage + { + public MainPage() + { + this.InitializeComponent(); + + LoadApplication(new XamarinFormsApp.App()); + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Package.appxmanifest b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Package.appxmanifest new file mode 100644 index 000000000..69cdb6fd1 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Package.appxmanifest @@ -0,0 +1,28 @@ + + + + + + XamarinFormsApp.UWP + livecoding + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Properties/AssemblyInfo.cs b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..6702eb48d --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Properties/AssemblyInfo.cs @@ -0,0 +1,29 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +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("XamarinFormsApp.UWP")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("XamarinFormsApp.UWP")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[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("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: ComVisible(false)] \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Properties/Default.rd.xml b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Properties/Default.rd.xml new file mode 100644 index 000000000..80a960ce3 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/Properties/Default.rd.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/XamarinFormsApp.UWP.csproj b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/XamarinFormsApp.UWP.csproj new file mode 100644 index 000000000..2b5d89861 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/XamarinFormsApp.UWP.csproj @@ -0,0 +1,166 @@ + + + + + Debug;Release + AnyCPU;x86 + {57B890E5-E4A7-4111-A3CC-0D7BECC66B6C} + AppContainerExe + Properties + XamarinFormsApp.UWP + XamarinFormsApp.UWP + en-US + UAP + 10.0.15063.0 + 10.0.10586.0 + 14 + true + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + XamarinFormsApp.UWP_TemporaryKey.pfx + true + AA412E400765E59A505033420CF588DD19A39EA1 + + + 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 + + + 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 + + + + + + + + + App.xaml + + + MainPage.xaml + + + + + + Designer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + + + {07d5c21f-f7b5-44b6-92f8-47aa7c257ac8} + XamarinFormsApp + + + + 14.0 + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/XamarinFormsApp.UWP_TemporaryKey.pfx b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/XamarinFormsApp.UWP_TemporaryKey.pfx new file mode 100644 index 000000000..44cb40439 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/XamarinFormsApp.UWP_TemporaryKey.pfx differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/project.json b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/project.json new file mode 100644 index 000000000..d489811ef --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.UWP/project.json @@ -0,0 +1,18 @@ +{ + "dependencies": { + "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.3", + "Xamarin.Forms": "2.3.4.267", + "akavache":"REPLACEME-AKAVACHE-VERSION" + }, + "frameworks": { + "uap10.0.10586": {} + }, + "runtimes": { + "win10-arm": {}, + "win10-arm-aot": {}, + "win10-x86": {}, + "win10-x86-aot": {}, + "win10-x64": {}, + "win10-x64-aot": {} + } +} \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/AppDelegate.cs b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/AppDelegate.cs new file mode 100644 index 000000000..18b6d0ea8 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/AppDelegate.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +using Foundation; +using UIKit; + +namespace XamarinFormsApp.iOS +{ + // The UIApplicationDelegate for the application. This class is responsible for launching the + // User Interface of the application, as well as listening (and optionally responding) to + // application events from iOS. + [Register("AppDelegate")] + public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate + { + // + // This method is invoked when the application has loaded and is ready to run. In this + // method you should instantiate the window, load the UI into it and then make the window + // visible. + // + // You have 17 seconds to return from this method, or iOS will terminate your application. + // + public override bool FinishedLaunching(UIApplication app, NSDictionary options) + { + global::Xamarin.Forms.Forms.Init(); + LoadApplication(new App()); + + return base.FinishedLaunching(app, options); + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Entitlements.plist b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Entitlements.plist new file mode 100644 index 000000000..e9a3005f7 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Entitlements.plist @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Info.plist b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Info.plist new file mode 100644 index 000000000..399ce1267 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Info.plist @@ -0,0 +1,52 @@ + + + + + UIDeviceFamily + + 1 + 2 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + MinimumOSVersion + 8.0 + CFBundleDisplayName + XamarinFormsApp + CFBundleIdentifier + com.yourcompany.XamarinFormsApp + CFBundleVersion + 1.0 + CFBundleIconFiles + + Icon-60@2x + Icon-60@3x + Icon-76 + Icon-76@2x + Default + Default@2x + Default-568h@2x + Default-Portrait + Default-Portrait@2x + Icon-Small-40 + Icon-Small-40@2x + Icon-Small-40@3x + Icon-Small + Icon-Small@2x + Icon-Small@3x + + UILaunchStoryboardName + LaunchScreen + + diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Main.cs b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Main.cs new file mode 100644 index 000000000..4b6816e50 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Main.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +using Foundation; +using UIKit; + +namespace XamarinFormsApp.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/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Properties/AssemblyInfo.cs b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..eec44d7ec --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +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("XamarinFormsApp.iOS")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("XamarinFormsApp.iOS")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("72bdc44f-c588-44f3-b6df-9aace7daafdd")] + +// 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("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default-568h@2x.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default-568h@2x.png new file mode 100644 index 000000000..26c6461e5 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default-568h@2x.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default-Portrait.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default-Portrait.png new file mode 100644 index 000000000..5d0d1ab4c Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default-Portrait.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default-Portrait@2x.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default-Portrait@2x.png new file mode 100644 index 000000000..0ee2688e8 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default-Portrait@2x.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default.png new file mode 100644 index 000000000..b74643c0a Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default@2x.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default@2x.png new file mode 100644 index 000000000..dbd6bd3e8 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Default@2x.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-60@2x.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-60@2x.png new file mode 100644 index 000000000..4b03c4270 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-60@2x.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-60@3x.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-60@3x.png new file mode 100644 index 000000000..b03ca1bbc Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-60@3x.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-76.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-76.png new file mode 100644 index 000000000..587982e2a Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-76.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-76@2x.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-76@2x.png new file mode 100644 index 000000000..cd4e2c8fe Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-76@2x.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small-40.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small-40.png new file mode 100644 index 000000000..6acff9441 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small-40.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small-40@2x.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small-40@2x.png new file mode 100644 index 000000000..b833aac26 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small-40@2x.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small-40@3x.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small-40@3x.png new file mode 100644 index 000000000..ab8654e49 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small-40@3x.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small.png new file mode 100644 index 000000000..33db7e714 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small@2x.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small@2x.png new file mode 100644 index 000000000..bf45e2592 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small@2x.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small@3x.png b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small@3x.png new file mode 100644 index 000000000..7ad3891b9 Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/Icon-Small@3x.png differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/LaunchScreen.storyboard b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/LaunchScreen.storyboard new file mode 100644 index 000000000..a639c2f1a --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/Resources/LaunchScreen.storyboard @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/XamarinFormsApp.iOS.csproj b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/XamarinFormsApp.iOS.csproj new file mode 100644 index 000000000..349ff864b --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/XamarinFormsApp.iOS.csproj @@ -0,0 +1,149 @@ + + + + Debug + iPhoneSimulator + 8.0.30703 + 2.0 + {3E951C1C-12D4-409D-8D14-14A88AF532EE} + {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Exe + XamarinFormsApp.iOS + Resources + XamarinFormsApp.iOS + + + + + true + full + false + bin\iPhoneSimulator\Debug + DEBUG + prompt + 4 + false + i386, x86_64 + None + true + + + none + true + bin\iPhoneSimulator\Release + prompt + 4 + None + i386, x86_64 + false + + + true + full + false + bin\iPhone\Debug + DEBUG + prompt + 4 + false + ARMv7, ARM64 + iPhone Developer + true + Entitlements.plist + + + none + true + bin\iPhone\Release + prompt + 4 + ARMv7, ARM64 + false + iPhone Developer + Entitlements.plist + + + none + True + bin\iPhone\Ad-Hoc + prompt + 4 + False + ARMv7, ARM64 + True + Automatic:AdHoc + iPhone Distribution + Entitlements.plist + + + none + True + bin\iPhone\AppStore + prompt + 4 + False + ARMv7, ARM64 + Automatic:AppStore + iPhone Distribution + Entitlements.plist + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {07d5c21f-f7b5-44b6-92f8-47aa7c257ac8} + XamarinFormsApp + + + + + REPLACEME-AKAVACHE-VERSION + + + 2.3.4.267 + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/iTunesArtwork b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/iTunesArtwork new file mode 100644 index 000000000..94c8ebd6b Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/iTunesArtwork differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/iTunesArtwork@2x b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/iTunesArtwork@2x new file mode 100644 index 000000000..fa2ebf72d Binary files /dev/null and b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp.iOS/iTunesArtwork@2x differ diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/App.xaml b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/App.xaml new file mode 100644 index 000000000..1d6557df9 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/App.xaml @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/App.xaml.cs b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/App.xaml.cs new file mode 100644 index 000000000..a27d6d688 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/App.xaml.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using Xamarin.Forms; + +namespace XamarinFormsApp +{ + public partial class App : Application + { + public App() + { + InitializeComponent(); + + MainPage = new XamarinFormsApp.MainPage(); + } + + protected override void OnStart() + { + // Handle when your app starts + } + + protected override void OnSleep() + { + // Handle when your app sleeps + } + + protected override void OnResume() + { + // Handle when your app resumes + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/MainPage.xaml b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/MainPage.xaml new file mode 100644 index 000000000..3d01d5fce --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/MainPage.xaml @@ -0,0 +1,11 @@ + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/MainPage.xaml.cs b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/MainPage.xaml.cs new file mode 100644 index 000000000..42182cb9d --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/MainPage.xaml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Xamarin.Forms; + +namespace XamarinFormsApp +{ + public partial class MainPage : ContentPage + { + public MainPage() + { + InitializeComponent(); + } + } +} diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/Properties/AssemblyInfo.cs b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..9c0a6e312 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/Properties/AssemblyInfo.cs @@ -0,0 +1,30 @@ +using System.Resources; +using System.Reflection; +using System.Runtime.CompilerServices; +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("XamarinFormsApp")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("XamarinFormsApp")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: NeutralResourcesLanguage("en")] + +// 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("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/XamarinFormsApp.csproj b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/XamarinFormsApp.csproj new file mode 100644 index 000000000..9bad020f1 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/XamarinFormsApp/XamarinFormsApp/XamarinFormsApp.csproj @@ -0,0 +1,72 @@ + + + + + 11.0 + Debug + AnyCPU + {51777C35-BFCC-4A9B-B615-3760064805A7} + Library + Properties + XamarinFormsApp + XamarinFormsApp + 512 + v4.6 + Profile44 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + App.xaml + + + MainPage.xaml + + + + + + Designer + MSBuild:UpdateDesignTimeXaml + + + Designer + MSBuild:UpdateDesignTimeXaml + + + + + REPLACEME-AKAVACHE-VERSION + + + 2.3.4.267 + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/iOS/AppDelegate.cs b/tests/NuGetInstallationIntegrationTests/iOS/AppDelegate.cs new file mode 100644 index 000000000..8372cf421 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/iOS/AppDelegate.cs @@ -0,0 +1,66 @@ +using Foundation; +using UIKit; + +namespace iOS +{ + // The UIApplicationDelegate for the application. This class is responsible for launching the + // User Interface of the application, as well as listening (and optionally responding) to application events from iOS. + [Register("AppDelegate")] + public class AppDelegate : UIApplicationDelegate + { + // class-level declarations + + public override UIWindow Window + { + get; + set; + } + + public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) + { + // create a new window instance based on the screen size + Window = new UIWindow(UIScreen.MainScreen.Bounds); + + // If you have defined a root view controller, set it here: + // Window.RootViewController = myViewController; + + // make the window visible + Window.MakeKeyAndVisible(); + + return true; + } + + public override void OnResignActivation(UIApplication application) + { + // Invoked when the application is about to move from active to inactive state. + // This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) + // or when the user quits the application and it begins the transition to the background state. + // Games should use this method to pause the game. + } + + public override void DidEnterBackground(UIApplication application) + { + // Use this method to release shared resources, save user data, invalidate timers and store the application state. + // If your application supports background exection this method is called instead of WillTerminate when the user quits. + } + + public override void WillEnterForeground(UIApplication application) + { + // Called as part of the transiton from background to active state. + // Here you can undo many of the changes made on entering the background. + } + + public override void OnActivated(UIApplication application) + { + // Restart any tasks that were paused (or not yet started) while the application was inactive. + // If the application was previously in the background, optionally refresh the user interface. + } + + public override void WillTerminate(UIApplication application) + { + // Called when the application is about to terminate. Save data, if needed. See also DidEnterBackground. + } + } +} + + diff --git a/tests/NuGetInstallationIntegrationTests/iOS/Entitlements.plist b/tests/NuGetInstallationIntegrationTests/iOS/Entitlements.plist new file mode 100644 index 000000000..24c310368 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/iOS/Entitlements.plist @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/NuGetInstallationIntegrationTests/iOS/GettingStarted.Xamarin b/tests/NuGetInstallationIntegrationTests/iOS/GettingStarted.Xamarin new file mode 100644 index 000000000..810f71668 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/iOS/GettingStarted.Xamarin @@ -0,0 +1,4 @@ + + GS\iOS\CS\iOSApp\GettingStarted.html + false + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/iOS/Info.plist b/tests/NuGetInstallationIntegrationTests/iOS/Info.plist new file mode 100644 index 000000000..7fdba4e9c --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/iOS/Info.plist @@ -0,0 +1,42 @@ + + + + + CFBundleDisplayName + iOS + CFBundleIdentifier + com.companyname.iOS + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + MinimumOSVersion + + UIDeviceFamily + + 1 + 2 + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/iOS/Main.cs b/tests/NuGetInstallationIntegrationTests/iOS/Main.cs new file mode 100644 index 000000000..55e9e0953 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/iOS/Main.cs @@ -0,0 +1,15 @@ +using UIKit; + +namespace 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"); + } + } +} \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/iOS/Properties/AssemblyInfo.cs b/tests/NuGetInstallationIntegrationTests/iOS/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..8405b4022 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/iOS/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +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("iOS")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("iOS")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("67f6e1d8-3d52-4cbb-85d9-1b59e656f208")] + +// 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("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/tests/NuGetInstallationIntegrationTests/iOS/Resources/LaunchScreen.xib b/tests/NuGetInstallationIntegrationTests/iOS/Resources/LaunchScreen.xib new file mode 100644 index 000000000..99ffd5751 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/iOS/Resources/LaunchScreen.xib @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/NuGetInstallationIntegrationTests/iOS/iOS.csproj b/tests/NuGetInstallationIntegrationTests/iOS/iOS.csproj new file mode 100644 index 000000000..0bf1c50e9 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/iOS/iOS.csproj @@ -0,0 +1,107 @@ + + + + Debug + iPhoneSimulator + {67F6E1D8-3D52-4CBB-85D9-1B59E656F208} + {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Exe + iOS + Resources + iOS + + + true + full + false + bin\iPhoneSimulator\Debug + DEBUG + prompt + 4 + false + x86_64 + None + true + + + none + true + bin\iPhoneSimulator\Release + prompt + 4 + None + x86_64 + false + + + true + full + false + bin\iPhone\Debug + DEBUG + prompt + 4 + false + ARMv7, ARM64 + Entitlements.plist + iPhone Developer + true + + + none + true + bin\iPhone\Release + prompt + 4 + Entitlements.plist + ARMv7, ARM64 + false + iPhone Developer + + + none + True + bin\iPhone\Ad-Hoc + prompt + 4 + False + ARMv7, ARM64 + Entitlements.plist + True + Automatic:AdHoc + iPhone Distribution + + + none + True + bin\iPhone\AppStore + prompt + 4 + False + ARMv7, ARM64 + Entitlements.plist + Automatic:AppStore + iPhone Distribution + + + + + + + + + + + + + + + + + + + REPLACEME-AKAVACHE-VERSION + + + + \ No newline at end of file diff --git a/tests/NuGetInstallationIntegrationTests/netstandard1.1/Class1.cs b/tests/NuGetInstallationIntegrationTests/netstandard1.1/Class1.cs new file mode 100644 index 000000000..f102e15e8 --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/netstandard1.1/Class1.cs @@ -0,0 +1,8 @@ +using System; + +namespace netstandard1._1 +{ + public class Class1 + { + } +} diff --git a/tests/NuGetInstallationIntegrationTests/netstandard1.1/netstandard1.1.csproj b/tests/NuGetInstallationIntegrationTests/netstandard1.1/netstandard1.1.csproj new file mode 100644 index 000000000..bfc9b76ef --- /dev/null +++ b/tests/NuGetInstallationIntegrationTests/netstandard1.1/netstandard1.1.csproj @@ -0,0 +1,11 @@ + + + + netstandard1.4 + + + + + + + \ No newline at end of file