This commit is contained in:
TheJoKlLa 2022-01-15 03:10:54 +01:00
parent 7b4498f8e8
commit 3212904bd0
12 changed files with 148 additions and 9 deletions

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@ -78,6 +78,7 @@
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Services\PreferenceStorageService.cs" />
<Compile Include="Services\SecretStorage.cs" />
<Compile Include="Services\VersioningService.cs" />
<Compile Include="SplashActivity.cs" />
</ItemGroup>
<ItemGroup>

View File

@ -1,5 +1,6 @@
using Borepin.Droid.Services;
using Borepin.Service.Storage;
using Borepin.Service.Versioning;
using Prism;
using Prism.Ioc;
@ -11,6 +12,7 @@ namespace Borepin.Droid
{
containerRegistry.Register<IPreferenceStorageService, PreferenceStorageService>();
containerRegistry.Register<ISecretStorageService, SecretStorage>();
containerRegistry.Register<IVersioningService, VersioningService>();
}
}
}

View File

@ -0,0 +1,30 @@
using Borepin.Service.Versioning;
using Xamarin.Essentials;
namespace Borepin.Droid.Services
{
public class VersioningService : IVersioningService
{
#region Constructors
public VersioningService()
{
VersionTracking.Track();
}
#endregion
public string CurrentBuild
{
get
{
return VersionTracking.CurrentBuild;
}
}
public string CurrentVersion
{
get
{
return VersionTracking.CurrentVersion;
}
}
}
}

View File

@ -100,6 +100,7 @@
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Services\PreferenceStorageService.cs" />
<Compile Include="Services\SecretStorageService.cs" />
<Compile Include="Services\VersioningService.cs" />
</ItemGroup>
<ItemGroup>
<AppxManifest Include="Package.appxmanifest">

View File

@ -2,6 +2,7 @@
using Prism;
using Prism.Ioc;
using Borepin.Service.Storage;
using Borepin.Service.Versioning;
namespace Borepin.UWP
{
@ -11,6 +12,7 @@ namespace Borepin.UWP
{
containerRegistry.Register<IPreferenceStorageService, PreferenceStorageService>();
containerRegistry.Register<ISecretStorageService, SecretStorageService>();
containerRegistry.Register<IVersioningService, VersioningService>();
}
}
}

View File

@ -0,0 +1,30 @@
using Borepin.Service.Versioning;
using Xamarin.Essentials;
namespace Borepin.UWP.Services
{
public class VersioningService : IVersioningService
{
#region Constructors
public VersioningService()
{
VersionTracking.Track();
}
#endregion
public string CurrentBuild
{
get
{
return VersionTracking.CurrentBuild;
}
}
public string CurrentVersion
{
get
{
return VersionTracking.CurrentVersion;
}
}
}
}

View File

@ -82,6 +82,7 @@
<Compile Include="AppDelegate.cs" />
<Compile Include="Services\PreferenceStorageService.cs" />
<Compile Include="Services\SecretStorageService.cs" />
<Compile Include="Services\VersioningService.cs" />
<None Include="Entitlements.plist" />
<None Include="Info.plist" />
<Compile Include="PlatformInitializer.cs" />

View File

@ -1,5 +1,6 @@
using Borepin.iOS.Services;
using Borepin.Service.Storage;
using Borepin.Service.Versioning;
using Prism;
using Prism.Ioc;
@ -11,6 +12,7 @@ namespace Borepin.iOS
{
containerRegistry.Register<IPreferenceStorageService, PreferenceStorageService>();
containerRegistry.Register<ISecretStorageService, SecretStorageService>();
containerRegistry.Register<IVersioningService, VersioningService>();
}
}
}

View File

@ -0,0 +1,30 @@
using Borepin.Service.Versioning;
using Xamarin.Essentials;
namespace Borepin.iOS.Services
{
public class VersioningService : IVersioningService
{
#region Constructors
public VersioningService()
{
VersionTracking.Track();
}
#endregion
public string CurrentBuild
{
get
{
return VersionTracking.CurrentBuild;
}
}
public string CurrentVersion
{
get
{
return VersionTracking.CurrentVersion;
}
}
}
}

View File

@ -4,10 +4,16 @@
x:Class="Borepin.Page.MainPage"
Title="MainPage">
<FlyoutPage.Flyout>
<ContentPage Title="FabAccess">
<StackLayout Margin="0,50,0,0">
<Button Text="Machines" Command="{Binding NavigateCommand}" CommandParameter="MachineListPage" />
<Button Text="Servers" Command="{Binding NavigateCommand}" CommandParameter="ServerListPage" />
<ContentPage Title="FabAccess" BackgroundColor="{StaticResource SecondColor}">
<StackLayout>
<StackLayout Margin="0,50,0,0" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<Button Text="Machines" Command="{Binding NavigateCommand}" CommandParameter="MachineListPage" VerticalOptions="Start" BackgroundColor="{StaticResource SecondColor}" TextColor="{StaticResource FirstColor}"/>
<Button Text="Servers" Command="{Binding NavigateCommand}" CommandParameter="ServerListPage" VerticalOptions="Start" BackgroundColor="{StaticResource SecondColor}" TextColor="{StaticResource FirstColor}"/>
</StackLayout>
<StackLayout Margin="0,0,0,10">
<Label Text="{Binding CurrentVersion, StringFormat='Version: {0}'}" VerticalOptions="End" Margin="10,0,0,0" TextColor="{StaticResource FirstColor}"/>
<Label Text="{Binding CurrentBuild, StringFormat='Build: {0}'}" VerticalOptions="End" Margin="10,0,0,0" TextColor="{StaticResource FirstColor}"/>
</StackLayout>
</StackLayout>
</ContentPage>
</FlyoutPage.Flyout>

View File

@ -2,6 +2,7 @@
using System.Threading.Tasks;
using System.Windows.Input;
using Borepin.Base;
using Borepin.Service.Versioning;
using Prism.Navigation;
using Xamarin.Forms;
@ -9,9 +10,15 @@ namespace Borepin.PageModel
{
public class MainPageModel : PageModelBase
{
#region Private Members
private readonly IVersioningService _VersioningService;
#endregion
#region Constructors
public MainPageModel(INavigationService navigationService) : base(navigationService)
public MainPageModel(INavigationService navigationService, IVersioningService versioningService) : base(navigationService)
{
_VersioningService = versioningService;
NavigateCommand = new Command<string>(NavigateCommandExecute);
}
#endregion
@ -19,10 +26,29 @@ namespace Borepin.PageModel
#region LoadData
public override Task LoadData()
{
CurrentVersion = _VersioningService.CurrentVersion;
CurrentBuild = _VersioningService.CurrentBuild;
return Task.CompletedTask;
}
#endregion
#region Fields
private string _CurrentVersion;
public string CurrentVersion
{
get => _CurrentVersion;
set => SetProperty(ref _CurrentVersion, value);
}
private string _CurrentBuild;
public string CurrentBuild
{
get => _CurrentBuild;
set => SetProperty(ref _CurrentBuild, value);
}
#endregion
#region Commands
private ICommand _NavigationCommand;
public ICommand NavigateCommand
@ -42,9 +68,9 @@ namespace Borepin.PageModel
}
public override void OnNavigatedTo(INavigationParameters parameters)
public override async void OnNavigatedTo(INavigationParameters parameters)
{
await LoadData().ConfigureAwait(false);
}
#endregion
}

View File

@ -0,0 +1,8 @@
namespace Borepin.Service.Versioning
{
public interface IVersioningService
{
string CurrentBuild { get; }
string CurrentVersion { get; }
}
}