From 2e463f4b250e880376ffa9e1747f570db8f02686 Mon Sep 17 00:00:00 2001 From: David Britch Date: Fri, 29 Sep 2017 17:25:49 +0100 Subject: [PATCH] Fixed SplashScreen implementation on Android. Fixes #355 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The MainTheme set the splash screen image as the window background. I’ve removed this and ensured that the SplashActivity is the launch activity. Also did some code tidy up on the Campaign page classes. --- .../Services/Marketing/CampaignMockService.cs | 18 +++--- .../Services/Marketing/CampaignService.cs | 18 +++--- .../Services/Marketing/ICampaignService.cs | 11 ++-- .../ViewModels/CampaignDetailsViewModel.cs | 22 +++---- .../ViewModels/CampaignViewModel.cs | 24 +++---- .../Views/CampaignDetailsView.xaml | 2 +- .../Views/CampaignView.xaml.cs | 8 +-- .../Activities/MainActivity.cs | 1 - .../Activities/SplashActivity.cs | 4 +- .../MainApplication.cs | 5 +- .../Resources/Resource.Designer.cs | 11 ++-- .../Resources/drawable/splash_drawable.xml | 11 ---- .../Resources/values/styles.xml | 62 +++++++++---------- .../eShopOnContainers.Droid.csproj | 5 +- 14 files changed, 86 insertions(+), 116 deletions(-) delete mode 100644 src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/drawable/splash_drawable.xml diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Marketing/CampaignMockService.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Marketing/CampaignMockService.cs index 88bd3a5ee..c4536ac51 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Marketing/CampaignMockService.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Marketing/CampaignMockService.cs @@ -1,12 +1,12 @@ -namespace eShopOnContainers.Core.Services.Marketing -{ - using System; - using System.Collections.ObjectModel; - using System.Threading.Tasks; - using Models.Marketing; - using Xamarin.Forms; - using System.Linq; +using System; +using System.Collections.ObjectModel; +using System.Threading.Tasks; +using System.Linq; +using Xamarin.Forms; +using eShopOnContainers.Core.Models.Marketing; +namespace eShopOnContainers.Core.Services.Marketing +{ public class CampaignMockService : ICampaignService { private readonly ObservableCollection _mockCampaign = new ObservableCollection @@ -39,14 +39,12 @@ public async Task> GetAllCampaignsAsync(string token) { await Task.Delay(500); - return _mockCampaign; } public async Task GetCampaignByIdAsync(int campaignId, string token) { await Task.Delay(500); - return _mockCampaign.SingleOrDefault(c => c.Id == campaignId); } } diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Marketing/CampaignService.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Marketing/CampaignService.cs index 3d3123c1c..8d6cdeb6b 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Marketing/CampaignService.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Marketing/CampaignService.cs @@ -1,13 +1,13 @@ -namespace eShopOnContainers.Core.Services.Marketing +using System; +using System.Collections.ObjectModel; +using System.Threading.Tasks; +using eShopOnContainers.Core.Models.Marketing; +using eShopOnContainers.Core.Services.RequestProvider; +using eShopOnContainers.Core.Extensions; +using eShopOnContainers.Core.Helpers; + +namespace eShopOnContainers.Core.Services.Marketing { - using System; - using System.Collections.ObjectModel; - using System.Threading.Tasks; - using Models.Marketing; - using RequestProvider; - using Extensions; - using Helpers; - public class CampaignService : ICampaignService { private readonly IRequestProvider _requestProvider; diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Marketing/ICampaignService.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Marketing/ICampaignService.cs index a050153c1..d89ac0616 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Marketing/ICampaignService.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Marketing/ICampaignService.cs @@ -1,13 +1,12 @@ -namespace eShopOnContainers.Core.Services.Marketing -{ - using System.Collections.ObjectModel; - using System.Threading.Tasks; - using Models.Marketing; +using System.Collections.ObjectModel; +using System.Threading.Tasks; +using eShopOnContainers.Core.Models.Marketing; +namespace eShopOnContainers.Core.Services.Marketing +{ public interface ICampaignService { Task> GetAllCampaignsAsync(string token); - Task GetCampaignByIdAsync(int id, string token); } } \ No newline at end of file diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignDetailsViewModel.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignDetailsViewModel.cs index 95e614bc6..4a74187ee 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignDetailsViewModel.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignDetailsViewModel.cs @@ -1,13 +1,13 @@ -namespace eShopOnContainers.Core.ViewModels +using System.Threading.Tasks; +using System.Windows.Input; +using Xamarin.Forms; +using eShopOnContainers.Core.ViewModels.Base; +using eShopOnContainers.Core.Helpers; +using eShopOnContainers.Core.Models.Marketing; +using eShopOnContainers.Core.Services.Marketing; + +namespace eShopOnContainers.Core.ViewModels { - using System.Threading.Tasks; - using Helpers; - using Models.Marketing; - using Services.Marketing; - using Base; - using System.Windows.Input; - using Xamarin.Forms; - public class CampaignDetailsViewModel : ViewModelBase { private CampaignItem _campaign; @@ -46,9 +46,9 @@ IsBusy = true; // Get campaign by id - Campaign = await _campaignService.GetCampaignByIdAsync((int) navigationData, Settings.AuthAccessToken); + Campaign = await _campaignService.GetCampaignByIdAsync((int)navigationData, Settings.AuthAccessToken); - IsBusy = false; + IsBusy = false; } } diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignViewModel.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignViewModel.cs index 4127213d4..9351ec414 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignViewModel.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/CampaignViewModel.cs @@ -1,14 +1,14 @@ -namespace eShopOnContainers.Core.ViewModels +using System.Threading.Tasks; +using System.Windows.Input; +using Xamarin.Forms; +using System.Collections.ObjectModel; +using eShopOnContainers.Core.Models.Marketing; +using eShopOnContainers.Core.Services.Marketing; +using eShopOnContainers.Core.ViewModels.Base; +using eShopOnContainers.Core.Helpers; + +namespace eShopOnContainers.Core.ViewModels { - using System.Threading.Tasks; - using System.Windows.Input; - using Xamarin.Forms; - using System.Collections.ObjectModel; - using Models.Marketing; - using Services.Marketing; - using Base; - using Helpers; - public class CampaignViewModel : ViewModelBase { private ObservableCollection _campaigns; @@ -29,7 +29,7 @@ } } - public ICommand GetCampaignDetailsCommand => new Command(async (item) => await GetCampaignDetails(item)); + public ICommand GetCampaignDetailsCommand => new Command(async (item) => await GetCampaignDetailsAsync(item)); public override async Task InitializeAsync(object navigationData) { @@ -41,7 +41,7 @@ IsBusy = false; } - private async Task GetCampaignDetails(CampaignItem campaign) + private async Task GetCampaignDetailsAsync(CampaignItem campaign) { await NavigationService.NavigateToAsync(campaign.Id); } diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CampaignDetailsView.xaml b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CampaignDetailsView.xaml index e5e96bbff..5fcf15ddb 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CampaignDetailsView.xaml +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Views/CampaignDetailsView.xaml @@ -150,7 +150,7 @@ Style="{StaticResource CampaignAvailabilityDescriptionStyle}"/> - - - - - - - - - \ No newline at end of file diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/values/styles.xml b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/values/styles.xml index a57d30cc3..7480839c7 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/values/styles.xml +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/Resources/values/styles.xml @@ -1,38 +1,32 @@ - + - - - - - + + - - - - - + true + @style/AppCompatDialogStyle + + + \ No newline at end of file diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj index d9bdd0ded..8ccb42d53 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj @@ -221,7 +221,6 @@ - @@ -234,6 +233,7 @@ + @@ -279,9 +279,6 @@ - - -