Skip to content

Commit f2bd7e4

Browse files
committed
Recover Settings access inside Xamarin App
1 parent f696ea6 commit f2bd7e4

5 files changed

Lines changed: 26 additions & 5 deletions

File tree

src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelBase.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
using eShopOnContainers.Services;
1+
using eShopOnContainers.Core;
2+
using eShopOnContainers.Core.Helpers;
3+
using eShopOnContainers.Services;
24
using System.Threading.Tasks;
35

46
namespace eShopOnContainers.ViewModels.Base
@@ -28,6 +30,7 @@ public ViewModelBase()
2830
{
2931
DialogService = ViewModelLocator.Instance.Resolve<IDialogService>();
3032
NavigationService = ViewModelLocator.Instance.Resolve<INavigationService>();
33+
GlobalSetting.Instance.BaseEndpoint = Settings.UrlBase;
3134
}
3235

3336
public virtual Task InitializeAsync(object navigationData)

src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/MainViewModel.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33
using eShopOnContainers.Core.Models.Navigation;
44
using Xamarin.Forms;
55
using eShopOnContainers.Core.ViewModels.Base;
6+
using System.Windows.Input;
67

78
namespace eShopOnContainers.Core.ViewModels
89
{
910
public class MainViewModel : ViewModelBase
10-
{
11+
{
12+
public ICommand SettingsCommand => new Command(Settings);
13+
1114
public override Task InitializeAsync(object navigationData)
1215
{
1316
IsBusy = true;
@@ -21,5 +24,10 @@ public override Task InitializeAsync(object navigationData)
2124

2225
return base.InitializeAsync(navigationData);
2326
}
27+
28+
private void Settings()
29+
{
30+
NavigationService.NavigateToAsync<SettingsViewModel>();
31+
}
2432
}
2533
}

src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/SettingsViewModel.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ private void UpdateEndpoint(string endpoint)
102102
{
103103
// Update remote endpoint (save to local storage)
104104
Settings.UrlBase = endpoint;
105-
GlobalSetting.Instance.BaseEndpoint = Settings.UrlBase;
106105
}
107106
}
108107
}

src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/LoginView.xaml.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ public LoginView()
1818

1919
protected override async void OnAppearing()
2020
{
21-
GlobalSetting.Instance.BaseEndpoint = Settings.UrlBase;
22-
2321
var content = this.Content;
2422
this.Content = null;
2523
this.Content = content;

src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/MainView.xaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@
1313
iOS="eShop on Containers"
1414
WinPhone="eShop on Containers"/>
1515
</TabbedPage.Title>
16+
<ContentPage.ToolbarItems>
17+
<ToolbarItem
18+
Command="{Binding SettingsCommand}"
19+
Text="Settings">
20+
<ToolbarItem.Icon>
21+
<OnPlatform
22+
x:TypeArguments="FileImageSource"
23+
WinPhone="Assets/app_settings.png"
24+
Android="app_settings"
25+
iOS="app_settings"/>
26+
</ToolbarItem.Icon>
27+
</ToolbarItem>
28+
</ContentPage.ToolbarItems>
1629
<!-- CATALOG -->
1730
<views:CatalogView
1831
x:Name="HomeView">

0 commit comments

Comments
 (0)