Platform specific settings code removed.pull/565/head
@ -1,13 +0,0 @@ | |||||
namespace eShopOnContainers.Core.Services.Settings | |||||
{ | |||||
public interface ISettingsServiceImplementation | |||||
{ | |||||
bool GetValueOrDefault(string key, bool defaultValue); | |||||
string GetValueOrDefault(string key, string defaultValue); | |||||
bool AddOrUpdateValue(string key, bool value); | |||||
bool AddOrUpdateValue(string key, string value); | |||||
void Remove(string key); | |||||
} | |||||
} |
@ -1,149 +0,0 @@ | |||||
using Android.App; | |||||
using Android.Content; | |||||
using Android.Preferences; | |||||
using eShopOnContainers.Core.Services.Settings; | |||||
using eShopOnContainers.Droid.Services; | |||||
using System; | |||||
[assembly: Xamarin.Forms.Dependency(typeof(SettingsServiceImplementation))] | |||||
namespace eShopOnContainers.Droid.Services | |||||
{ | |||||
public class SettingsServiceImplementation : ISettingsServiceImplementation | |||||
{ | |||||
#region Internal Implementation | |||||
readonly object _locker = new object(); | |||||
ISharedPreferences GetSharedPreference() | |||||
{ | |||||
return PreferenceManager.GetDefaultSharedPreferences(Application.Context); | |||||
} | |||||
bool AddOrUpdateValueInternal<T>(string key, T value) | |||||
{ | |||||
if (Application.Context == null) | |||||
return false; | |||||
if (value == null) | |||||
{ | |||||
Remove(key); | |||||
return true; | |||||
} | |||||
var type = typeof(T); | |||||
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) | |||||
{ | |||||
type = Nullable.GetUnderlyingType(type); | |||||
} | |||||
var typeCode = Type.GetTypeCode(type); | |||||
lock (_locker) | |||||
{ | |||||
using (var sharedPrefs = GetSharedPreference()) | |||||
{ | |||||
using (var editor = sharedPrefs.Edit()) | |||||
{ | |||||
switch (typeCode) | |||||
{ | |||||
case TypeCode.Boolean: | |||||
editor.PutBoolean(key, Convert.ToBoolean(value)); | |||||
break; | |||||
case TypeCode.String: | |||||
editor.PutString(key, Convert.ToString(value)); | |||||
break; | |||||
default: | |||||
throw new ArgumentException($"Value of type {typeCode} is not supported."); | |||||
} | |||||
editor.Commit(); | |||||
} | |||||
} | |||||
} | |||||
return true; | |||||
} | |||||
T GetValueOrDefaultInternal<T>(string key, T defaultValue = default(T)) | |||||
{ | |||||
if (Application.Context == null) | |||||
return defaultValue; | |||||
if (!Contains(key)) | |||||
return defaultValue; | |||||
lock (_locker) | |||||
{ | |||||
using (var sharedPrefs = GetSharedPreference()) | |||||
{ | |||||
var type = typeof(T); | |||||
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) | |||||
{ | |||||
type = Nullable.GetUnderlyingType(type); | |||||
} | |||||
object value = null; | |||||
var typeCode = Type.GetTypeCode(type); | |||||
switch (typeCode) | |||||
{ | |||||
case TypeCode.Boolean: | |||||
value = sharedPrefs.GetBoolean(key, Convert.ToBoolean(defaultValue)); | |||||
break; | |||||
case TypeCode.String: | |||||
value = sharedPrefs.GetString(key, Convert.ToString(defaultValue)); | |||||
break; | |||||
default: | |||||
throw new ArgumentException($"Value of type {typeCode} is not supported."); | |||||
} | |||||
return null != value ? (T)value : defaultValue; | |||||
} | |||||
} | |||||
} | |||||
bool Contains(string key) | |||||
{ | |||||
if (Application.Context == null) | |||||
return false; | |||||
lock (_locker) | |||||
{ | |||||
using (var sharedPrefs = GetSharedPreference()) | |||||
{ | |||||
if (sharedPrefs == null) | |||||
return false; | |||||
return sharedPrefs.Contains(key); | |||||
} | |||||
} | |||||
} | |||||
#endregion | |||||
#region ISettingsServiceImplementation | |||||
public bool AddOrUpdateValue(string key, bool value) => AddOrUpdateValueInternal(key, value); | |||||
public bool AddOrUpdateValue(string key, string value) => AddOrUpdateValueInternal(key, value); | |||||
public bool GetValueOrDefault(string key, bool defaultValue) => GetValueOrDefaultInternal(key, defaultValue); | |||||
public string GetValueOrDefault(string key, string defaultValue) => GetValueOrDefaultInternal(key, defaultValue); | |||||
public void Remove(string key) | |||||
{ | |||||
if (Application.Context == null) | |||||
return; | |||||
lock (_locker) | |||||
{ | |||||
using (var sharedPrefs = GetSharedPreference()) | |||||
{ | |||||
using (var editor = sharedPrefs.Edit()) | |||||
{ | |||||
editor.Remove(key); | |||||
editor.Commit(); | |||||
} | |||||
} | |||||
} | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@ -1,232 +1,232 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||
<Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props')" /> | |||||
<Import Project="..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.props" Condition="Exists('..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.props')" /> | |||||
<PropertyGroup> | |||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |||||
<Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform> | |||||
<ProjectGuid>{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}</ProjectGuid> | |||||
<ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> | |||||
<OutputType>Exe</OutputType> | |||||
<RootNamespace>eShopOnContainers.TestRunner.iOS</RootNamespace> | |||||
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix> | |||||
<AssemblyName>eShopOnContainersTestRunneriOS</AssemblyName> | |||||
<NuGetPackageImportStamp> | |||||
</NuGetPackageImportStamp> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' "> | |||||
<DebugSymbols>true</DebugSymbols> | |||||
<DebugType>full</DebugType> | |||||
<Optimize>false</Optimize> | |||||
<OutputPath>bin\iPhoneSimulator\Debug</OutputPath> | |||||
<DefineConstants>DEBUG</DefineConstants> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>false</ConsolePause> | |||||
<MtouchArch>x86_64</MtouchArch> | |||||
<MtouchLink>None</MtouchLink> | |||||
<MtouchDebug>True</MtouchDebug> | |||||
<MtouchProfiling>False</MtouchProfiling> | |||||
<MtouchFastDev>False</MtouchFastDev> | |||||
<MtouchUseLlvm>False</MtouchUseLlvm> | |||||
<MtouchUseThumb>False</MtouchUseThumb> | |||||
<MtouchEnableBitcode>False</MtouchEnableBitcode> | |||||
<OptimizePNGs>True</OptimizePNGs> | |||||
<MtouchTlsProvider>Default</MtouchTlsProvider> | |||||
<MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler> | |||||
<MtouchFloat32>False</MtouchFloat32> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' "> | |||||
<DebugSymbols>false</DebugSymbols> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>true</Optimize> | |||||
<OutputPath>bin\iPhoneSimulator\Release</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<MtouchLink>None</MtouchLink> | |||||
<MtouchArch>x86_64</MtouchArch> | |||||
<ConsolePause>false</ConsolePause> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' "> | |||||
<DebugSymbols>true</DebugSymbols> | |||||
<DebugType>full</DebugType> | |||||
<Optimize>false</Optimize> | |||||
<OutputPath>bin\iPhone\Debug</OutputPath> | |||||
<DefineConstants>DEBUG</DefineConstants> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>false</ConsolePause> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
<CodesignKey>iPhone Developer</CodesignKey> | |||||
<MtouchDebug>true</MtouchDebug> | |||||
<MtouchLink>None</MtouchLink> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> | |||||
<DebugSymbols>false</DebugSymbols> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>true</Optimize> | |||||
<OutputPath>bin\iPhone\Release</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<ConsolePause>false</ConsolePause> | |||||
<CodesignKey>iPhone Developer</CodesignKey> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' "> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>True</Optimize> | |||||
<OutputPath>bin\iPhone\Ad-Hoc</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>False</ConsolePause> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
<BuildIpa>True</BuildIpa> | |||||
<CodesignProvision>Automatic:AdHoc</CodesignProvision> | |||||
<CodesignKey>iPhone Distribution</CodesignKey> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' "> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>True</Optimize> | |||||
<OutputPath>bin\iPhone\AppStore</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>False</ConsolePause> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
<CodesignProvision>Automatic:AppStore</CodesignProvision> | |||||
<CodesignKey>iPhone Distribution</CodesignKey> | |||||
</PropertyGroup> | |||||
<ItemGroup> | |||||
<Compile Include="Main.cs" /> | |||||
<Compile Include="AppDelegate.cs" /> | |||||
<None Include="app.config" /> | |||||
<None Include="Info.plist" /> | |||||
<Compile Include="Properties\AssemblyInfo.cs" /> | |||||
<InterfaceDefinition Include="Resources\LaunchScreen.xib" /> | |||||
<None Include="packages.config" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Reference Include="System" /> | |||||
<Reference Include="System.Xml" /> | |||||
<Reference Include="System.Core" /> | |||||
<Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.Forms.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.Forms.Platform.iOS, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.iOS" /> | |||||
<Reference Include="System.IO.Compression" /> | |||||
<Reference Include="System.Net.Http" /> | |||||
<Reference Include="xunit.runner.devices"> | |||||
<HintPath>..\..\..\..\packages\xunit.runner.devices.2.3.3\lib\xamarinios10\xunit.runner.devices.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="xunit.runner.utility.netstandard15"> | |||||
<HintPath>..\..\..\..\packages\xunit.runner.devices.2.3.3\lib\xamarinios10\xunit.runner.utility.netstandard15.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="xunit.abstractions"> | |||||
<HintPath>..\..\..\..\packages\xunit.abstractions.2.0.1\lib\netstandard1.0\xunit.abstractions.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="xunit.assert"> | |||||
<HintPath>..\..\..\..\packages\xunit.assert.2.3.1\lib\netstandard1.1\xunit.assert.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="xunit.core"> | |||||
<HintPath>..\..\..\..\packages\xunit.extensibility.core.2.3.1\lib\netstandard1.1\xunit.core.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="xunit.execution.dotnet"> | |||||
<HintPath>..\..\..\..\packages\xunit.extensibility.execution.2.3.1\lib\netstandard1.1\xunit.execution.dotnet.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Microsoft.CSharp" /> | |||||
<Reference Include="Newtonsoft.Json"> | |||||
<HintPath>..\..\..\..\packages\Newtonsoft.Json.10.0.3\lib\netstandard1.3\Newtonsoft.Json.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="SlideOverKit"> | |||||
<HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\Xamarin.iOS10\SlideOverKit.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="SlideOverKit.iOS"> | |||||
<HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\Xamarin.iOS10\SlideOverKit.iOS.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="IdentityModel"> | |||||
<HintPath>..\..\..\..\packages\IdentityModel.3.0.0\lib\netstandard2.0\IdentityModel.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Acr.Support.iOS"> | |||||
<HintPath>..\..\..\..\packages\Acr.Support.2.1.0\lib\Xamarin.iOS10\Acr.Support.iOS.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="BTProgressHUD"> | |||||
<HintPath>..\..\..\..\packages\BTProgressHUD.1.2.0.5\lib\Xamarin.iOS10\BTProgressHUD.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Splat"> | |||||
<HintPath>..\..\..\..\packages\Splat.2.0.0\lib\Xamarin.iOS10\Splat.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Acr.UserDialogs"> | |||||
<HintPath>..\..\..\..\packages\Acr.UserDialogs.6.5.1\lib\Xamarin.iOS10\Acr.UserDialogs.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Acr.UserDialogs.Interface"> | |||||
<HintPath>..\..\..\..\packages\Acr.UserDialogs.6.5.1\lib\Xamarin.iOS10\Acr.UserDialogs.Interface.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="WebP.Touch"> | |||||
<HintPath>..\..\..\..\packages\WebP.Touch.1.0.7\lib\Xamarin.iOS10\WebP.Touch.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.3.4\lib\Xamarin.iOS10\FFImageLoading.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading.Platform"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.3.4\lib\Xamarin.iOS10\FFImageLoading.Platform.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading.Forms"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.3.4\lib\Xamarin.iOS10\FFImageLoading.Forms.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading.Forms.Touch"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.3.4\lib\Xamarin.iOS10\FFImageLoading.Forms.Touch.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.Windows.Core"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.Windows.Core.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.Kernel32"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.Kernel32.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Kernel32.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.BCrypt"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.BCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.BCrypt.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.NCrypt"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.NCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.NCrypt.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Validation"> | |||||
<HintPath>..\..\..\..\packages\Validation.2.2.8\lib\dotnet\Validation.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PCLCrypto"> | |||||
<HintPath>..\..\..\..\packages\PCLCrypto.2.0.147\lib\xamarinios10\PCLCrypto.dll</HintPath> | |||||
</Reference> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Content Include="Entitlements.plist" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<ProjectReference Include="..\eShopOnContainers.UnitTests\eShopOnContainers.UnitTests.csproj"> | |||||
<Project>{FDD910BC-DF0F-483D-B7D5-C7D831855172}</Project> | |||||
<Name>eShopOnContainers.UnitTests</Name> | |||||
</ProjectReference> | |||||
</ItemGroup> | |||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> | |||||
<Import Project="..\..\..\..\packages\xunit.runner.devices.2.3.3\build\xamarinios10\xunit.runner.devices.targets" Condition="Exists('..\..\..\..\packages\xunit.runner.devices.2.3.3\build\xamarinios10\xunit.runner.devices.targets')" /> | |||||
<Import Project="..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.targets" Condition="Exists('..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.targets')" /> | |||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | |||||
<Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props')" /> | |||||
<Import Project="..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.props" Condition="Exists('..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.props')" /> | |||||
<PropertyGroup> | <PropertyGroup> | ||||
<ErrorText>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}.</ErrorText> | |||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |||||
<Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform> | |||||
<ProjectGuid>{B68C2B56-7581-46AE-B55D-D25DDFD3BFE3}</ProjectGuid> | |||||
<ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> | |||||
<OutputType>Exe</OutputType> | |||||
<RootNamespace>eShopOnContainers.TestRunner.iOS</RootNamespace> | |||||
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix> | |||||
<AssemblyName>eShopOnContainersTestRunneriOS</AssemblyName> | |||||
<NuGetPackageImportStamp> | |||||
</NuGetPackageImportStamp> | |||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<Error Condition="!Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props'))" /> | |||||
<Error Condition="!Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets'))" /> | |||||
<Error Condition="!Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets'))" /> | |||||
</Target> | |||||
<Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets')" /> | |||||
<Import Project="..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" /> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' "> | |||||
<DebugSymbols>true</DebugSymbols> | |||||
<DebugType>full</DebugType> | |||||
<Optimize>false</Optimize> | |||||
<OutputPath>bin\iPhoneSimulator\Debug</OutputPath> | |||||
<DefineConstants>DEBUG</DefineConstants> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>false</ConsolePause> | |||||
<MtouchArch>x86_64</MtouchArch> | |||||
<MtouchLink>None</MtouchLink> | |||||
<MtouchDebug>True</MtouchDebug> | |||||
<MtouchProfiling>False</MtouchProfiling> | |||||
<MtouchFastDev>False</MtouchFastDev> | |||||
<MtouchUseLlvm>False</MtouchUseLlvm> | |||||
<MtouchUseThumb>False</MtouchUseThumb> | |||||
<MtouchEnableBitcode>False</MtouchEnableBitcode> | |||||
<OptimizePNGs>True</OptimizePNGs> | |||||
<MtouchTlsProvider>Default</MtouchTlsProvider> | |||||
<MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler> | |||||
<MtouchFloat32>False</MtouchFloat32> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' "> | |||||
<DebugSymbols>false</DebugSymbols> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>true</Optimize> | |||||
<OutputPath>bin\iPhoneSimulator\Release</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<MtouchLink>None</MtouchLink> | |||||
<MtouchArch>x86_64</MtouchArch> | |||||
<ConsolePause>false</ConsolePause> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' "> | |||||
<DebugSymbols>true</DebugSymbols> | |||||
<DebugType>full</DebugType> | |||||
<Optimize>false</Optimize> | |||||
<OutputPath>bin\iPhone\Debug</OutputPath> | |||||
<DefineConstants>DEBUG</DefineConstants> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>false</ConsolePause> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
<CodesignKey>iPhone Developer</CodesignKey> | |||||
<MtouchDebug>true</MtouchDebug> | |||||
<MtouchLink>None</MtouchLink> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> | |||||
<DebugSymbols>false</DebugSymbols> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>true</Optimize> | |||||
<OutputPath>bin\iPhone\Release</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<ConsolePause>false</ConsolePause> | |||||
<CodesignKey>iPhone Developer</CodesignKey> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' "> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>True</Optimize> | |||||
<OutputPath>bin\iPhone\Ad-Hoc</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>False</ConsolePause> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
<BuildIpa>True</BuildIpa> | |||||
<CodesignProvision>Automatic:AdHoc</CodesignProvision> | |||||
<CodesignKey>iPhone Distribution</CodesignKey> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' "> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>True</Optimize> | |||||
<OutputPath>bin\iPhone\AppStore</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>False</ConsolePause> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
<CodesignProvision>Automatic:AppStore</CodesignProvision> | |||||
<CodesignKey>iPhone Distribution</CodesignKey> | |||||
</PropertyGroup> | |||||
<ItemGroup> | |||||
<Compile Include="Main.cs" /> | |||||
<Compile Include="AppDelegate.cs" /> | |||||
<None Include="app.config" /> | |||||
<None Include="Info.plist" /> | |||||
<Compile Include="Properties\AssemblyInfo.cs" /> | |||||
<InterfaceDefinition Include="Resources\LaunchScreen.xib" /> | |||||
<None Include="packages.config" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Reference Include="System" /> | |||||
<Reference Include="System.Xml" /> | |||||
<Reference Include="System.Core" /> | |||||
<Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.Forms.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.Forms.Platform.iOS, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.iOS" /> | |||||
<Reference Include="System.IO.Compression" /> | |||||
<Reference Include="System.Net.Http" /> | |||||
<Reference Include="xunit.runner.devices"> | |||||
<HintPath>..\..\..\..\packages\xunit.runner.devices.2.3.3\lib\xamarinios10\xunit.runner.devices.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="xunit.runner.utility.netstandard15"> | |||||
<HintPath>..\..\..\..\packages\xunit.runner.devices.2.3.3\lib\xamarinios10\xunit.runner.utility.netstandard15.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="xunit.abstractions"> | |||||
<HintPath>..\..\..\..\packages\xunit.abstractions.2.0.1\lib\netstandard1.0\xunit.abstractions.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="xunit.assert"> | |||||
<HintPath>..\..\..\..\packages\xunit.assert.2.3.1\lib\netstandard1.1\xunit.assert.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="xunit.core"> | |||||
<HintPath>..\..\..\..\packages\xunit.extensibility.core.2.3.1\lib\netstandard1.1\xunit.core.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="xunit.execution.dotnet"> | |||||
<HintPath>..\..\..\..\packages\xunit.extensibility.execution.2.3.1\lib\netstandard1.1\xunit.execution.dotnet.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Newtonsoft.Json"> | |||||
<HintPath>..\..\..\..\packages\Newtonsoft.Json.10.0.3\lib\netstandard1.3\Newtonsoft.Json.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="SlideOverKit"> | |||||
<HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\Xamarin.iOS10\SlideOverKit.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="SlideOverKit.iOS"> | |||||
<HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\Xamarin.iOS10\SlideOverKit.iOS.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="IdentityModel"> | |||||
<HintPath>..\..\..\..\packages\IdentityModel.3.0.0\lib\netstandard2.0\IdentityModel.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Acr.Support.iOS"> | |||||
<HintPath>..\..\..\..\packages\Acr.Support.2.1.0\lib\Xamarin.iOS10\Acr.Support.iOS.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="BTProgressHUD"> | |||||
<HintPath>..\..\..\..\packages\BTProgressHUD.1.2.0.5\lib\Xamarin.iOS10\BTProgressHUD.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Splat"> | |||||
<HintPath>..\..\..\..\packages\Splat.2.0.0\lib\Xamarin.iOS10\Splat.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Acr.UserDialogs"> | |||||
<HintPath>..\..\..\..\packages\Acr.UserDialogs.6.5.1\lib\Xamarin.iOS10\Acr.UserDialogs.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Acr.UserDialogs.Interface"> | |||||
<HintPath>..\..\..\..\packages\Acr.UserDialogs.6.5.1\lib\Xamarin.iOS10\Acr.UserDialogs.Interface.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="WebP.Touch"> | |||||
<HintPath>..\..\..\..\packages\WebP.Touch.1.0.7\lib\Xamarin.iOS10\WebP.Touch.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.3.4\lib\Xamarin.iOS10\FFImageLoading.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading.Platform"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.3.4\lib\Xamarin.iOS10\FFImageLoading.Platform.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading.Forms"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.3.4\lib\Xamarin.iOS10\FFImageLoading.Forms.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading.Forms.Touch"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.3.4\lib\Xamarin.iOS10\FFImageLoading.Forms.Touch.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.Windows.Core"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.Windows.Core.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.Kernel32"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.Kernel32.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Kernel32.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.BCrypt"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.BCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.BCrypt.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.NCrypt"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.NCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.NCrypt.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Validation"> | |||||
<HintPath>..\..\..\..\packages\Validation.2.2.8\lib\dotnet\Validation.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PCLCrypto"> | |||||
<HintPath>..\..\..\..\packages\PCLCrypto.2.0.147\lib\xamarinios10\PCLCrypto.dll</HintPath> | |||||
</Reference> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Content Include="Entitlements.plist" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<ProjectReference Include="..\eShopOnContainers.UnitTests\eShopOnContainers.UnitTests.csproj"> | |||||
<Project>{FDD910BC-DF0F-483D-B7D5-C7D831855172}</Project> | |||||
<Name>eShopOnContainers.UnitTests</Name> | |||||
</ProjectReference> | |||||
</ItemGroup> | |||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> | |||||
<Import Project="..\..\..\..\packages\xunit.runner.devices.2.3.3\build\xamarinios10\xunit.runner.devices.targets" Condition="Exists('..\..\..\..\packages\xunit.runner.devices.2.3.3\build\xamarinios10\xunit.runner.devices.targets')" /> | |||||
<Import Project="..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.targets" Condition="Exists('..\..\..\..\packages\xunit.core.2.3.1\build\xunit.core.targets')" /> | |||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | |||||
<PropertyGroup> | |||||
<ErrorText>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}.</ErrorText> | |||||
</PropertyGroup> | |||||
<Error Condition="!Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props'))" /> | |||||
<Error Condition="!Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets'))" /> | |||||
<Error Condition="!Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets'))" /> | |||||
</Target> | |||||
<Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets')" /> | |||||
<Import Project="..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" /> | |||||
</Project> | </Project> |
@ -1,65 +1,110 @@ | |||||
using eShopOnContainers.Core.Services.Settings; | using eShopOnContainers.Core.Services.Settings; | ||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Threading.Tasks; | |||||
namespace eShopOnContainers.UnitTests.Mocks | namespace eShopOnContainers.UnitTests.Mocks | ||||
{ | { | ||||
public class MockSettingsService : ISettingsService | public class MockSettingsService : ISettingsService | ||||
{ | { | ||||
string _accessTokenDefault = string.Empty; | |||||
string _idTokenDefault = string.Empty; | |||||
bool _useMocksDefault = true; | |||||
string _urlBaseDefault = "https://13.88.8.119"; | |||||
bool _useFakeLocationDefault = false; | |||||
bool _allowGpsLocationDefault = false; | |||||
double _fakeLatitudeDefault = 47.604610d; | |||||
double _fakeLongitudeDefault = -122.315752d; | |||||
IDictionary<string, object> _settings = new Dictionary<string, object>(); | |||||
const string AccessToken = "access_token"; | |||||
const string IdToken = "id_token"; | |||||
const string IdUseMocks = "use_mocks"; | |||||
const string IdUrlBase = "url_base"; | |||||
const string IdUseFakeLocation = "use_fake_location"; | |||||
const string IdLatitude = "latitude"; | |||||
const string IdLongitude = "longitude"; | |||||
const string IdAllowGpsLocation = "allow_gps_location"; | |||||
readonly string AccessTokenDefault = string.Empty; | |||||
readonly string IdTokenDefault = string.Empty; | |||||
readonly bool UseMocksDefault = true; | |||||
readonly bool UseFakeLocationDefault = false; | |||||
readonly bool AllowGpsLocationDefault = false; | |||||
readonly double FakeLatitudeDefault = 47.604610d; | |||||
readonly double FakeLongitudeDefault = -122.315752d; | |||||
readonly string UrlBaseDefault = "https://13.88.8.119"; | |||||
public string AuthAccessToken | public string AuthAccessToken | ||||
{ | { | ||||
get { return _accessTokenDefault; } | |||||
set { _accessTokenDefault = value; } | |||||
get => GetValueOrDefault(AccessToken, AccessTokenDefault); | |||||
set => AddOrUpdateValue(AccessToken, value); | |||||
} | } | ||||
public string AuthIdToken | public string AuthIdToken | ||||
{ | { | ||||
get { return _idTokenDefault; } | |||||
set { _idTokenDefault = value; } | |||||
get => GetValueOrDefault(IdToken, IdTokenDefault); | |||||
set => AddOrUpdateValue(IdToken, value); | |||||
} | } | ||||
public bool UseMocks | public bool UseMocks | ||||
{ | { | ||||
get { return _useMocksDefault; } | |||||
set { _useMocksDefault = value; } | |||||
get => GetValueOrDefault(IdUseMocks, UseMocksDefault); | |||||
set => AddOrUpdateValue(IdUseMocks, value); | |||||
} | } | ||||
public string UrlBase | public string UrlBase | ||||
{ | { | ||||
get { return _urlBaseDefault; } | |||||
set { _urlBaseDefault = value; } | |||||
get => GetValueOrDefault(IdUrlBase, UrlBaseDefault); | |||||
set => AddOrUpdateValue(IdUrlBase, value); | |||||
} | } | ||||
public bool UseFakeLocation | public bool UseFakeLocation | ||||
{ | { | ||||
get { return _useFakeLocationDefault; } | |||||
set { _useFakeLocationDefault = value; } | |||||
get => GetValueOrDefault(IdUseFakeLocation, UseFakeLocationDefault); | |||||
set => AddOrUpdateValue(IdUseFakeLocation, value); | |||||
} | } | ||||
public string Latitude | public string Latitude | ||||
{ | { | ||||
get { return _fakeLatitudeDefault.ToString(); } | |||||
set { _fakeLatitudeDefault = Convert.ToDouble(value); } | |||||
get => GetValueOrDefault(IdLatitude, FakeLatitudeDefault.ToString()); | |||||
set => AddOrUpdateValue(IdLatitude, value); | |||||
} | } | ||||
public string Longitude | public string Longitude | ||||
{ | { | ||||
get { return _fakeLongitudeDefault.ToString(); } | |||||
set { _fakeLongitudeDefault = Convert.ToDouble(value); } | |||||
get => GetValueOrDefault(IdLongitude, FakeLongitudeDefault.ToString()); | |||||
set => AddOrUpdateValue(IdLongitude, value); | |||||
} | } | ||||
public bool AllowGpsLocation | public bool AllowGpsLocation | ||||
{ | { | ||||
get { return _allowGpsLocationDefault; } | |||||
set { _allowGpsLocationDefault = value; } | |||||
get => GetValueOrDefault(IdAllowGpsLocation, AllowGpsLocationDefault); | |||||
set => AddOrUpdateValue(IdAllowGpsLocation, value); | |||||
} | |||||
public Task AddOrUpdateValue(string key, bool value) => AddOrUpdateValueInternal(key, value); | |||||
public Task AddOrUpdateValue(string key, string value) => AddOrUpdateValueInternal(key, value); | |||||
public bool GetValueOrDefault(string key, bool defaultValue) => GetValueOrDefaultInternal(key, defaultValue); | |||||
public string GetValueOrDefault(string key, string defaultValue) => GetValueOrDefaultInternal(key, defaultValue); | |||||
Task AddOrUpdateValueInternal<T>(string key, T value) | |||||
{ | |||||
if (value == null) | |||||
{ | |||||
Remove(key); | |||||
} | |||||
_settings[key] = value; | |||||
return Task.Delay(10); | |||||
} | |||||
T GetValueOrDefaultInternal<T>(string key, T defaultValue = default(T)) | |||||
{ | |||||
object value = null; | |||||
if (_settings.ContainsKey(key)) | |||||
{ | |||||
value = _settings[key]; | |||||
} | |||||
return null != value ? (T)value : defaultValue; | |||||
} | |||||
void Remove(string key) | |||||
{ | |||||
if (_settings[key] != null) | |||||
{ | |||||
_settings.Remove(key); | |||||
} | |||||
} | } | ||||
} | } | ||||
} | } |
@ -1,128 +0,0 @@ | |||||
using eShopOnContainers.Core.Services.Settings; | |||||
using eShopOnContainers.iOS.Services; | |||||
using Foundation; | |||||
using System; | |||||
[assembly: Xamarin.Forms.Dependency(typeof(SettingsServiceImplementation))] | |||||
namespace eShopOnContainers.iOS.Services | |||||
{ | |||||
public class SettingsServiceImplementation : ISettingsServiceImplementation | |||||
{ | |||||
#region Internal Implementation | |||||
readonly object _locker = new object(); | |||||
NSUserDefaults GetUserDefaults() => NSUserDefaults.StandardUserDefaults; | |||||
bool AddOrUpdateValueInternal<T>(string key, T value) | |||||
{ | |||||
if (value == null) | |||||
{ | |||||
Remove(key); | |||||
return true; | |||||
} | |||||
var type = typeof(T); | |||||
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) | |||||
{ | |||||
type = Nullable.GetUnderlyingType(type); | |||||
} | |||||
var typeCode = Type.GetTypeCode(type); | |||||
lock (_locker) | |||||
{ | |||||
var defaults = GetUserDefaults(); | |||||
switch (typeCode) | |||||
{ | |||||
case TypeCode.Boolean: | |||||
defaults.SetBool(Convert.ToBoolean(value), key); | |||||
break; | |||||
case TypeCode.String: | |||||
defaults.SetString(Convert.ToString(value), key); | |||||
break; | |||||
default: | |||||
throw new ArgumentException($"Value of type {typeCode} is unsupported."); | |||||
} | |||||
try | |||||
{ | |||||
defaults.Synchronize(); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
Console.WriteLine("Unable to save: " + key, " Message: " + ex.Message); | |||||
} | |||||
} | |||||
return true; | |||||
} | |||||
T GetValueOrDefaultInternal<T>(string key, T defaultValue = default(T)) | |||||
{ | |||||
lock (_locker) | |||||
{ | |||||
var defaults = GetUserDefaults(); | |||||
if (defaults[key] == null) | |||||
{ | |||||
return defaultValue; | |||||
} | |||||
var type = typeof(T); | |||||
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) | |||||
{ | |||||
type = Nullable.GetUnderlyingType(type); | |||||
} | |||||
object value = null; | |||||
var typeCode = Type.GetTypeCode(type); | |||||
switch (typeCode) | |||||
{ | |||||
case TypeCode.Boolean: | |||||
value = defaults.BoolForKey(key); | |||||
break; | |||||
case TypeCode.String: | |||||
value = defaults.StringForKey(key); | |||||
break; | |||||
default: | |||||
throw new ArgumentException($"Value of type {typeCode} is unsupported."); | |||||
} | |||||
return null != value ? (T)value : defaultValue; | |||||
} | |||||
} | |||||
#endregion | |||||
#region ISettingsServiceImplementation | |||||
public bool AddOrUpdateValue(string key, bool value) => AddOrUpdateValueInternal(key, value); | |||||
public bool AddOrUpdateValue(string key, string value) => AddOrUpdateValueInternal(key, value); | |||||
public bool GetValueOrDefault(string key, bool defaultValue) => GetValueOrDefaultInternal(key, defaultValue); | |||||
public string GetValueOrDefault(string key, string defaultValue) => GetValueOrDefaultInternal(key, defaultValue); | |||||
public void Remove(string key) | |||||
{ | |||||
lock (_locker) | |||||
{ | |||||
var defaults = GetUserDefaults(); | |||||
try | |||||
{ | |||||
if (defaults[key] != null) | |||||
{ | |||||
defaults.RemoveObject(key); | |||||
defaults.Synchronize(); | |||||
} | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
Console.WriteLine("Unable to remove: " + key, " Message: " + ex.Message); | |||||
} | |||||
} | |||||
} | |||||
#endregion | |||||
} | |||||
} |
@ -1,429 +1,428 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||||
<Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props')" /> | |||||
<PropertyGroup> | |||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |||||
<Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform> | |||||
<ProductVersion>8.0.30703</ProductVersion> | |||||
<SchemaVersion>2.0</SchemaVersion> | |||||
<ProjectGuid>{6EEB23DC-7063-4444-9AF8-90DF24F549C0}</ProjectGuid> | |||||
<ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> | |||||
<OutputType>Exe</OutputType> | |||||
<RootNamespace>eShopOnContainers.iOS</RootNamespace> | |||||
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix> | |||||
<AssemblyName>eShopOnContainersiOS</AssemblyName> | |||||
<NuGetPackageImportStamp> | |||||
</NuGetPackageImportStamp> | |||||
<SkipValidatePackageReferences>true</SkipValidatePackageReferences> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' "> | |||||
<DebugSymbols>true</DebugSymbols> | |||||
<DebugType>full</DebugType> | |||||
<Optimize>false</Optimize> | |||||
<OutputPath>bin\iPhoneSimulator\Debug</OutputPath> | |||||
<DefineConstants>DEBUG</DefineConstants> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>false</ConsolePause> | |||||
<MtouchArch>i386, x86_64</MtouchArch> | |||||
<MtouchLink>None</MtouchLink> | |||||
<MtouchDebug>True</MtouchDebug> | |||||
<MtouchProfiling>False</MtouchProfiling> | |||||
<MtouchFastDev>False</MtouchFastDev> | |||||
<MtouchUseLlvm>False</MtouchUseLlvm> | |||||
<MtouchUseThumb>False</MtouchUseThumb> | |||||
<MtouchEnableBitcode>False</MtouchEnableBitcode> | |||||
<OptimizePNGs>True</OptimizePNGs> | |||||
<MtouchTlsProvider>Default</MtouchTlsProvider> | |||||
<MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler> | |||||
<MtouchFloat32>False</MtouchFloat32> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' "> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>true</Optimize> | |||||
<OutputPath>bin\iPhoneSimulator\Release</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<MtouchLink>None</MtouchLink> | |||||
<MtouchArch>i386, x86_64</MtouchArch> | |||||
<ConsolePause>false</ConsolePause> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' "> | |||||
<DebugSymbols>true</DebugSymbols> | |||||
<DebugType>full</DebugType> | |||||
<Optimize>false</Optimize> | |||||
<OutputPath>bin\iPhone\Debug</OutputPath> | |||||
<DefineConstants>DEBUG</DefineConstants> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>false</ConsolePause> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<CodesignKey>iPhone Developer</CodesignKey> | |||||
<MtouchDebug>true</MtouchDebug> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
<MtouchLink>None</MtouchLink> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>true</Optimize> | |||||
<OutputPath>bin\iPhone\Release</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<ConsolePause>false</ConsolePause> | |||||
<CodesignKey>iPhone Developer</CodesignKey> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' "> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>True</Optimize> | |||||
<OutputPath>bin\iPhone\Ad-Hoc</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>False</ConsolePause> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<BuildIpa>True</BuildIpa> | |||||
<CodesignProvision>Automatic:AdHoc</CodesignProvision> | |||||
<CodesignKey>iPhone Distribution</CodesignKey> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' "> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>True</Optimize> | |||||
<OutputPath>bin\iPhone\AppStore</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>False</ConsolePause> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<CodesignProvision>Automatic:AppStore</CodesignProvision> | |||||
<CodesignKey>iPhone Distribution</CodesignKey> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
</PropertyGroup> | |||||
<ItemGroup> | |||||
<Compile Include="Effects\EntryLineColorEffect.cs" /> | |||||
<Compile Include="Main.cs" /> | |||||
<Compile Include="AppDelegate.cs" /> | |||||
<BundleResource Include="..\CommonResources\Fonts\Montserrat-Bold.ttf"> | |||||
<Link>Resources\fonts\Montserrat-Bold.ttf</Link> | |||||
</BundleResource> | |||||
<BundleResource Include="..\CommonResources\Fonts\Montserrat-Regular.ttf"> | |||||
<Link>Resources\fonts\Montserrat-Regular.ttf</Link> | |||||
</BundleResource> | |||||
<BundleResource Include="..\CommonResources\Fonts\SourceSansPro-Regular.ttf"> | |||||
<Link>Resources\fonts\SourceSansPro-Regular.ttf</Link> | |||||
</BundleResource> | |||||
<Compile Include="Renderers\CustomTabbedPageRenderer.cs" /> | |||||
<Compile Include="Renderers\SlideDownMenuPageRenderer.cs" /> | |||||
<None Include="app.config" /> | |||||
<None Include="Entitlements.plist" /> | |||||
<None Include="Info.plist" /> | |||||
<Compile Include="Properties\AssemblyInfo.cs" /> | |||||
<ITunesArtwork Include="iTunesArtwork" /> | |||||
<ITunesArtwork Include="iTunesArtwork@2x" /> | |||||
<Compile Include="Effects\CircleEffect.cs" /> | |||||
<BundleResource Include="Resources\menu_campaigns.png" /> | |||||
<BundleResource Include="Resources\menu_campaigns%402x.png" /> | |||||
<BundleResource Include="Resources\menu_campaigns%403x.png" /> | |||||
<None Include="packages.config" /> | |||||
<Compile Include="Services\SettingsServiceImplementation.cs" /> | |||||
<Compile Include="Services\LocationServiceImplementation.cs" /> | |||||
<Compile Include="Services\PermissionsService.cs" /> | |||||
<Compile Include="Services\GeolocationSingleUpdateDelegate.cs" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-60%403x.png" /> | |||||
<BundleResource Include="Resources\Icon-Small-40%403x.png" /> | |||||
<BundleResource Include="Resources\Icon-Small%403x.png" /> | |||||
<InterfaceDefinition Include="Resources\LaunchScreen.storyboard" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Reference Include="System" /> | |||||
<Reference Include="System.Xml" /> | |||||
<Reference Include="System.Core" /> | |||||
<Reference Include="Xamarin.iOS" /> | |||||
<Reference Include="System.IO.Compression" /> | |||||
<Reference Include="System.Net.Http" /> | |||||
<Reference Include="Xamarin.Forms.Core"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.Forms.Platform"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.Forms.Platform.iOS"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.Forms.Xaml"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="WebP.Touch"> | |||||
<HintPath>..\..\..\..\packages\WebP.Touch.1.0.7\lib\Xamarin.iOS10\WebP.Touch.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.3.4\lib\Xamarin.iOS10\FFImageLoading.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading.Platform"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.3.4\lib\Xamarin.iOS10\FFImageLoading.Platform.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading.Forms"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.3.4\lib\Xamarin.iOS10\FFImageLoading.Forms.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading.Forms.Touch"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.3.4\lib\Xamarin.iOS10\FFImageLoading.Forms.Touch.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="SlideOverKit"> | |||||
<HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\Xamarin.iOS10\SlideOverKit.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="SlideOverKit.iOS"> | |||||
<HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\Xamarin.iOS10\SlideOverKit.iOS.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Plugin.Settings.Abstractions"> | |||||
<HintPath>..\..\..\..\packages\Xam.Plugins.Settings.3.1.1\lib\Xamarin.iOS10\Plugin.Settings.Abstractions.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Plugin.Settings"> | |||||
<HintPath>..\..\..\..\packages\Xam.Plugins.Settings.3.1.1\lib\Xamarin.iOS10\Plugin.Settings.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Microsoft.CSharp" /> | |||||
<Reference Include="Newtonsoft.Json"> | |||||
<HintPath>..\..\..\..\packages\Newtonsoft.Json.10.0.3\lib\netstandard1.3\Newtonsoft.Json.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Acr.Support.iOS"> | |||||
<HintPath>..\..\..\..\packages\Acr.Support.2.1.0\lib\Xamarin.iOS10\Acr.Support.iOS.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="BTProgressHUD"> | |||||
<HintPath>..\..\..\..\packages\BTProgressHUD.1.2.0.5\lib\Xamarin.iOS10\BTProgressHUD.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Splat"> | |||||
<HintPath>..\..\..\..\packages\Splat.2.0.0\lib\Xamarin.iOS10\Splat.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Acr.UserDialogs"> | |||||
<HintPath>..\..\..\..\packages\Acr.UserDialogs.6.5.1\lib\Xamarin.iOS10\Acr.UserDialogs.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Acr.UserDialogs.Interface"> | |||||
<HintPath>..\..\..\..\packages\Acr.UserDialogs.6.5.1\lib\Xamarin.iOS10\Acr.UserDialogs.Interface.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.Windows.Core"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.Windows.Core.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.Kernel32"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.Kernel32.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Kernel32.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.BCrypt"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.BCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.BCrypt.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.NCrypt"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.NCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.NCrypt.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Validation"> | |||||
<HintPath>..\..\..\..\packages\Validation.2.2.8\lib\dotnet\Validation.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PCLCrypto"> | |||||
<HintPath>..\..\..\..\packages\PCLCrypto.2.0.147\lib\xamarinios10\PCLCrypto.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="IdentityModel"> | |||||
<HintPath>..\..\..\..\packages\IdentityModel.3.0.0\lib\netstandard2.0\IdentityModel.dll</HintPath> | |||||
</Reference> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_product_01.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_product_03.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_product_02.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_product_04.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_product_05.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_cart.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_cart%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_cart%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_filter.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_filter%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_filter%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_profile.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_profile%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_profile%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\product_add.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\product_add%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\product_add%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\app_settings%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\app_settings.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\app_settings%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\switchOff.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\switchOff%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\switchOff%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\switchOn.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\switchOn%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\switchOn%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-60%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-76.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-76%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small-40.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small-40%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Contents.json"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default-568h%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default-Portrait.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default-Portrait%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default-750%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default-1242%403x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Default.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Logo.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\noimage.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\default_product.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\banner.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Default%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Default-568h%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Default-Portrait.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Default-Portrait%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-60%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-76.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-76%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-Small.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-Small%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-Small-40.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-Small-40%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_campaign_01.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_campaign_02.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<AndroidResource Include="Resources\default_campaign.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<ProjectReference Include="..\eShopOnContainers.Core\eShopOnContainers.Core.csproj"> | |||||
<Project>{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}</Project> | |||||
<Name>eShopOnContainers.Core</Name> | |||||
</ProjectReference> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Folder Include="Services\" /> | |||||
</ItemGroup> | |||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> | |||||
<Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets')" /> | |||||
<Import Project="..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" /> | |||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | |||||
<Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.props')" /> | |||||
<PropertyGroup> | <PropertyGroup> | ||||
<ErrorText>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}.</ErrorText> | |||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | |||||
<Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform> | |||||
<ProductVersion>8.0.30703</ProductVersion> | |||||
<SchemaVersion>2.0</SchemaVersion> | |||||
<ProjectGuid>{6EEB23DC-7063-4444-9AF8-90DF24F549C0}</ProjectGuid> | |||||
<ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> | |||||
<OutputType>Exe</OutputType> | |||||
<RootNamespace>eShopOnContainers.iOS</RootNamespace> | |||||
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix> | |||||
<AssemblyName>eShopOnContainersiOS</AssemblyName> | |||||
<NuGetPackageImportStamp> | |||||
</NuGetPackageImportStamp> | |||||
<SkipValidatePackageReferences>true</SkipValidatePackageReferences> | |||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<Error Condition="!Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets'))" /> | |||||
</Target> | |||||
</Project> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' "> | |||||
<DebugSymbols>true</DebugSymbols> | |||||
<DebugType>full</DebugType> | |||||
<Optimize>false</Optimize> | |||||
<OutputPath>bin\iPhoneSimulator\Debug</OutputPath> | |||||
<DefineConstants>DEBUG</DefineConstants> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>false</ConsolePause> | |||||
<MtouchArch>i386, x86_64</MtouchArch> | |||||
<MtouchLink>None</MtouchLink> | |||||
<MtouchDebug>True</MtouchDebug> | |||||
<MtouchProfiling>False</MtouchProfiling> | |||||
<MtouchFastDev>False</MtouchFastDev> | |||||
<MtouchUseLlvm>False</MtouchUseLlvm> | |||||
<MtouchUseThumb>False</MtouchUseThumb> | |||||
<MtouchEnableBitcode>False</MtouchEnableBitcode> | |||||
<OptimizePNGs>True</OptimizePNGs> | |||||
<MtouchTlsProvider>Default</MtouchTlsProvider> | |||||
<MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler> | |||||
<MtouchFloat32>False</MtouchFloat32> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' "> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>true</Optimize> | |||||
<OutputPath>bin\iPhoneSimulator\Release</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<MtouchLink>None</MtouchLink> | |||||
<MtouchArch>i386, x86_64</MtouchArch> | |||||
<ConsolePause>false</ConsolePause> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' "> | |||||
<DebugSymbols>true</DebugSymbols> | |||||
<DebugType>full</DebugType> | |||||
<Optimize>false</Optimize> | |||||
<OutputPath>bin\iPhone\Debug</OutputPath> | |||||
<DefineConstants>DEBUG</DefineConstants> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>false</ConsolePause> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<CodesignKey>iPhone Developer</CodesignKey> | |||||
<MtouchDebug>true</MtouchDebug> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
<MtouchLink>None</MtouchLink> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' "> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>true</Optimize> | |||||
<OutputPath>bin\iPhone\Release</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<ConsolePause>false</ConsolePause> | |||||
<CodesignKey>iPhone Developer</CodesignKey> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' "> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>True</Optimize> | |||||
<OutputPath>bin\iPhone\Ad-Hoc</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>False</ConsolePause> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<BuildIpa>True</BuildIpa> | |||||
<CodesignProvision>Automatic:AdHoc</CodesignProvision> | |||||
<CodesignKey>iPhone Distribution</CodesignKey> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
</PropertyGroup> | |||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' "> | |||||
<DebugType>none</DebugType> | |||||
<Optimize>True</Optimize> | |||||
<OutputPath>bin\iPhone\AppStore</OutputPath> | |||||
<ErrorReport>prompt</ErrorReport> | |||||
<WarningLevel>4</WarningLevel> | |||||
<ConsolePause>False</ConsolePause> | |||||
<MtouchArch>ARMv7, ARM64</MtouchArch> | |||||
<CodesignProvision>Automatic:AppStore</CodesignProvision> | |||||
<CodesignKey>iPhone Distribution</CodesignKey> | |||||
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements> | |||||
</PropertyGroup> | |||||
<ItemGroup> | |||||
<Compile Include="Effects\EntryLineColorEffect.cs" /> | |||||
<Compile Include="Main.cs" /> | |||||
<Compile Include="AppDelegate.cs" /> | |||||
<BundleResource Include="..\CommonResources\Fonts\Montserrat-Bold.ttf"> | |||||
<Link>Resources\fonts\Montserrat-Bold.ttf</Link> | |||||
</BundleResource> | |||||
<BundleResource Include="..\CommonResources\Fonts\Montserrat-Regular.ttf"> | |||||
<Link>Resources\fonts\Montserrat-Regular.ttf</Link> | |||||
</BundleResource> | |||||
<BundleResource Include="..\CommonResources\Fonts\SourceSansPro-Regular.ttf"> | |||||
<Link>Resources\fonts\SourceSansPro-Regular.ttf</Link> | |||||
</BundleResource> | |||||
<Compile Include="Renderers\CustomTabbedPageRenderer.cs" /> | |||||
<Compile Include="Renderers\SlideDownMenuPageRenderer.cs" /> | |||||
<None Include="app.config" /> | |||||
<None Include="Entitlements.plist" /> | |||||
<None Include="Info.plist" /> | |||||
<Compile Include="Properties\AssemblyInfo.cs" /> | |||||
<ITunesArtwork Include="iTunesArtwork" /> | |||||
<ITunesArtwork Include="iTunesArtwork@2x" /> | |||||
<Compile Include="Effects\CircleEffect.cs" /> | |||||
<BundleResource Include="Resources\menu_campaigns.png" /> | |||||
<BundleResource Include="Resources\menu_campaigns%402x.png" /> | |||||
<BundleResource Include="Resources\menu_campaigns%403x.png" /> | |||||
<None Include="packages.config" /> | |||||
<Compile Include="Services\LocationServiceImplementation.cs" /> | |||||
<Compile Include="Services\PermissionsService.cs" /> | |||||
<Compile Include="Services\GeolocationSingleUpdateDelegate.cs" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-60%403x.png" /> | |||||
<BundleResource Include="Resources\Icon-Small-40%403x.png" /> | |||||
<BundleResource Include="Resources\Icon-Small%403x.png" /> | |||||
<InterfaceDefinition Include="Resources\LaunchScreen.storyboard" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Reference Include="System" /> | |||||
<Reference Include="System.Xml" /> | |||||
<Reference Include="System.Core" /> | |||||
<Reference Include="Xamarin.iOS" /> | |||||
<Reference Include="System.IO.Compression" /> | |||||
<Reference Include="System.Net.Http" /> | |||||
<Reference Include="Xamarin.Forms.Core"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.Forms.Platform"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.Forms.Platform.iOS"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Xamarin.Forms.Xaml"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="WebP.Touch"> | |||||
<HintPath>..\..\..\..\packages\WebP.Touch.1.0.7\lib\Xamarin.iOS10\WebP.Touch.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.3.4\lib\Xamarin.iOS10\FFImageLoading.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading.Platform"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.2.3.4\lib\Xamarin.iOS10\FFImageLoading.Platform.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading.Forms"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.3.4\lib\Xamarin.iOS10\FFImageLoading.Forms.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="FFImageLoading.Forms.Touch"> | |||||
<HintPath>..\..\..\..\packages\Xamarin.FFImageLoading.Forms.2.3.4\lib\Xamarin.iOS10\FFImageLoading.Forms.Touch.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="SlideOverKit"> | |||||
<HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\Xamarin.iOS10\SlideOverKit.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="SlideOverKit.iOS"> | |||||
<HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\Xamarin.iOS10\SlideOverKit.iOS.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Plugin.Settings.Abstractions"> | |||||
<HintPath>..\..\..\..\packages\Xam.Plugins.Settings.3.1.1\lib\Xamarin.iOS10\Plugin.Settings.Abstractions.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Plugin.Settings"> | |||||
<HintPath>..\..\..\..\packages\Xam.Plugins.Settings.3.1.1\lib\Xamarin.iOS10\Plugin.Settings.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Newtonsoft.Json"> | |||||
<HintPath>..\..\..\..\packages\Newtonsoft.Json.10.0.3\lib\netstandard1.3\Newtonsoft.Json.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Acr.Support.iOS"> | |||||
<HintPath>..\..\..\..\packages\Acr.Support.2.1.0\lib\Xamarin.iOS10\Acr.Support.iOS.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="BTProgressHUD"> | |||||
<HintPath>..\..\..\..\packages\BTProgressHUD.1.2.0.5\lib\Xamarin.iOS10\BTProgressHUD.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Splat"> | |||||
<HintPath>..\..\..\..\packages\Splat.2.0.0\lib\Xamarin.iOS10\Splat.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Acr.UserDialogs"> | |||||
<HintPath>..\..\..\..\packages\Acr.UserDialogs.6.5.1\lib\Xamarin.iOS10\Acr.UserDialogs.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Acr.UserDialogs.Interface"> | |||||
<HintPath>..\..\..\..\packages\Acr.UserDialogs.6.5.1\lib\Xamarin.iOS10\Acr.UserDialogs.Interface.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.Windows.Core"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.Windows.Core.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.Kernel32"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.Kernel32.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Kernel32.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.BCrypt"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.BCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.BCrypt.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PInvoke.NCrypt"> | |||||
<HintPath>..\..\..\..\packages\PInvoke.NCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.NCrypt.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="Validation"> | |||||
<HintPath>..\..\..\..\packages\Validation.2.2.8\lib\dotnet\Validation.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="PCLCrypto"> | |||||
<HintPath>..\..\..\..\packages\PCLCrypto.2.0.147\lib\xamarinios10\PCLCrypto.dll</HintPath> | |||||
</Reference> | |||||
<Reference Include="IdentityModel"> | |||||
<HintPath>..\..\..\..\packages\IdentityModel.3.0.0\lib\netstandard2.0\IdentityModel.dll</HintPath> | |||||
</Reference> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_product_01.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_product_03.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_product_02.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_product_04.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_product_05.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_cart.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_cart%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_cart%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_filter.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_filter%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_filter%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_profile.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_profile%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\menu_profile%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\product_add.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\product_add%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\product_add%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\app_settings%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\app_settings.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\app_settings%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\switchOff.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\switchOff%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\switchOff%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\switchOn.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\switchOn%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\switchOn%403x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Contents.json"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-60%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-76.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-76%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small-40.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\AppIcon.appiconset\Icon-Small-40%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Contents.json"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default-568h%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default-Portrait.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default-Portrait%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default-750%402x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
<ImageAsset Include="Assets.xcassets\LaunchImage.launchimage\Default-1242%403x.png"> | |||||
<Visible>false</Visible> | |||||
</ImageAsset> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Default.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Logo.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\noimage.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\default_product.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\banner.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Default%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Default-568h%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Default-Portrait.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Default-Portrait%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-60%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-76.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-76%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-Small.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-Small%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-Small-40.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\Icon-Small-40%402x.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_campaign_01.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<BundleResource Include="Resources\fake_campaign_02.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<AndroidResource Include="Resources\default_campaign.png" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<ProjectReference Include="..\eShopOnContainers.Core\eShopOnContainers.Core.csproj"> | |||||
<Project>{76C5F2A7-6CD5-49EA-9F33-EC44DE6539C7}</Project> | |||||
<Name>eShopOnContainers.Core</Name> | |||||
</ProjectReference> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Folder Include="Services\" /> | |||||
</ItemGroup> | |||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> | |||||
<Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets')" /> | |||||
<Import Project="..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" /> | |||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | |||||
<PropertyGroup> | |||||
<ErrorText>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}.</ErrorText> | |||||
</PropertyGroup> | |||||
<Error Condition="!Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets'))" /> | |||||
</Target> | |||||
</Project> |