SettingsService works on iOS.
This commit is contained in:
parent
1a8215a822
commit
a86a11694a
@ -15,7 +15,6 @@ namespace eShopOnContainers
|
||||
public partial class App : Application
|
||||
{
|
||||
ISettingsService _settingsService;
|
||||
bool _useMockServices;
|
||||
|
||||
public App()
|
||||
{
|
||||
@ -30,9 +29,9 @@ namespace eShopOnContainers
|
||||
|
||||
private void InitApp()
|
||||
{
|
||||
_useMockServices = true;//_settingsService.UseMocks;
|
||||
ViewModelLocator.RegisterDependencies(_useMockServices);
|
||||
_settingsService = ViewModelLocator.Resolve<ISettingsService>();
|
||||
if (!_settingsService.UseMocks)
|
||||
ViewModelLocator.UpdateDependencies(_settingsService.UseMocks);
|
||||
}
|
||||
|
||||
private Task InitNavigation()
|
||||
|
@ -60,6 +60,9 @@ namespace eShopOnContainers.Core.ViewModels.Base
|
||||
_container.Register<IOpenUrlService, OpenUrlService>();
|
||||
_container.Register<IIdentityService, IdentityService>();
|
||||
_container.Register<IRequestProvider, RequestProvider>();
|
||||
_container.Register<IDependencyService, Services.Dependency.DependencyService>();
|
||||
_container.Register<ISettingsService, SettingsService>().AsSingleton();
|
||||
_container.Register<IFixUriService, FixUriService>().AsSingleton();
|
||||
_container.Register<ILocationService, LocationService>().AsSingleton();
|
||||
_container.Register<ICatalogService, CatalogMockService>().AsSingleton();
|
||||
_container.Register<IBasketService, BasketMockService>().AsSingleton();
|
||||
|
@ -35,7 +35,7 @@ namespace eShopOnContainers.Core.ViewModels
|
||||
_settingsService = settingsService;
|
||||
_locationService = locationService;
|
||||
|
||||
_useAzureServices = _settingsService.UseMocks;
|
||||
_useAzureServices = !_settingsService.UseMocks;
|
||||
_endpoint = _settingsService.UrlBase;
|
||||
_latitude = double.Parse(_settingsService.Latitude, CultureInfo.CurrentCulture);
|
||||
_longitude = double.Parse(_settingsService.Longitude, CultureInfo.CurrentCulture);
|
||||
|
@ -2,7 +2,6 @@
|
||||
using Foundation;
|
||||
using eShopOnContainers.Core.Services.Settings;
|
||||
using eShopOnContainers.iOS.Services;
|
||||
using System.Globalization;
|
||||
|
||||
[assembly: Xamarin.Forms.Dependency(typeof(SettingsServiceImplementation))]
|
||||
namespace eShopOnContainers.iOS.Services
|
||||
@ -34,7 +33,7 @@ namespace eShopOnContainers.iOS.Services
|
||||
switch (typeCode)
|
||||
{
|
||||
case TypeCode.Boolean:
|
||||
defaults.SetString(Convert.ToString(value, CultureInfo.InvariantCulture), key);
|
||||
defaults.SetBool(Convert.ToBoolean(value), key);
|
||||
break;
|
||||
case TypeCode.String:
|
||||
defaults.SetString(Convert.ToString(value), key);
|
||||
@ -56,6 +55,8 @@ namespace eShopOnContainers.iOS.Services
|
||||
}
|
||||
|
||||
T GetValueOrDefaultInternal<T>(string key, T defaultValue = default(T))
|
||||
{
|
||||
lock (locker)
|
||||
{
|
||||
var defaults = GetUserDefaults();
|
||||
|
||||
@ -86,6 +87,7 @@ namespace eShopOnContainers.iOS.Services
|
||||
|
||||
return null != value ? (T)value : defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
#region ISettingsService Implementation
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user