Add new campaign tab and mocks services

This commit is contained in:
Christian Arenas 2017-06-16 16:50:53 +02:00
parent 86e4051235
commit fbb3b570b8
31 changed files with 549 additions and 238 deletions

View File

@ -48,6 +48,8 @@
public string LocationEndpoint { get; set; } public string LocationEndpoint { get; set; }
public string MarketingEndpoint { get; set; }
public string UserInfoEndpoint { get; set; } public string UserInfoEndpoint { get; set; }
public string TokenEndpoint { get; set; } public string TokenEndpoint { get; set; }
@ -60,17 +62,18 @@
private void UpdateEndpoint(string baseEndpoint) private void UpdateEndpoint(string baseEndpoint)
{ {
RegisterWebsite = string.Format("{0}:5105/Account/Register", baseEndpoint); RegisterWebsite = $"{baseEndpoint}:5105/Account/Register";
CatalogEndpoint = string.Format("{0}:5101", baseEndpoint); CatalogEndpoint = $"{baseEndpoint}:5101";
OrdersEndpoint = string.Format("{0}:5102", baseEndpoint); OrdersEndpoint = $"{baseEndpoint}:5102";
BasketEndpoint = string.Format("{0}:5103", baseEndpoint); BasketEndpoint = $"{baseEndpoint}:5103";
IdentityEndpoint = string.Format("{0}:5105/connect/authorize", baseEndpoint); IdentityEndpoint = $"{baseEndpoint}:5105/connect/authorize";
UserInfoEndpoint = string.Format("{0}:5105/connect/userinfo", baseEndpoint); UserInfoEndpoint = $"{baseEndpoint}:5105/connect/userinfo";
TokenEndpoint = string.Format("{0}:5105/connect/token", baseEndpoint); TokenEndpoint = $"{baseEndpoint}:5105/connect/token";
LogoutEndpoint = string.Format("{0}:5105/connect/endsession", baseEndpoint); LogoutEndpoint = $"{baseEndpoint}:5105/connect/endsession";
IdentityCallback = string.Format("{0}:5105/xamarincallback", baseEndpoint); IdentityCallback = $"{baseEndpoint}:5105/xamarincallback";
LogoutCallback = string.Format("{0}:5105/Account/Redirecting", baseEndpoint); LogoutCallback = $"{baseEndpoint}:5105/Account/Redirecting";
LocationEndpoint = string.Format("{0}:5109", baseEndpoint); LocationEndpoint = $"{baseEndpoint}:5109";
MarketingEndpoint = $"{baseEndpoint}:5110";
} }
} }
} }

View File

@ -20,6 +20,7 @@ namespace eShopOnContainers.Core.Helpers
#region Setting Constants #region Setting Constants
private const string IdUserId = "user_id";
private const string AccessToken = "access_token"; private const string AccessToken = "access_token";
private const string IdToken = "id_token"; private const string IdToken = "id_token";
private const string IdUseMocks = "use_mocks"; private const string IdUseMocks = "use_mocks";
@ -35,6 +36,12 @@ namespace eShopOnContainers.Core.Helpers
#endregion #endregion
public static string UserId
{
get { return AppSettings.GetValueOrDefault<string>(IdUserId); }
set { AppSettings.AddOrUpdateValue<string>(IdUserId, value); }
}
public static string AuthAccessToken public static string AuthAccessToken
{ {
get get

View File

@ -1,6 +1,6 @@
namespace eShopOnContainers.Core.Models.Location namespace eShopOnContainers.Core.Models.Location
{ {
public class LocationRequest public class Location
{ {
public double Longitude { get; set; } public double Longitude { get; set; }
public double Latitude { get; set; } public double Latitude { get; set; }

View File

@ -0,0 +1,19 @@
namespace eShopOnContainers.Core.Models.Marketing
{
using System;
public class Campaign
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public DateTime From { get; set; }
public DateTime To { get; set; }
public string PictureUri { get; set; }
}
}

View File

@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using Xamarin.Forms; using Xamarin.Forms;
using System;
namespace eShopOnContainers.Core.Services.Basket namespace eShopOnContainers.Core.Services.Basket
{ {
@ -57,5 +58,10 @@ namespace eShopOnContainers.Core.Services.Basket
MockCustomBasket.Items.Clear(); MockCustomBasket.Items.Clear();
} }
} }
public Task CheckoutAsync(BasketCheckout basketCheckout, string token)
{
throw new NotImplementedException();
}
} }
} }

View File

@ -7,5 +7,8 @@
public static string MockCatalogItemId03 = "3"; public static string MockCatalogItemId03 = "3";
public static string MockCatalogItemId04 = "4"; public static string MockCatalogItemId04 = "4";
public static string MockCatalogItemId05 = "5"; public static string MockCatalogItemId05 = "5";
public static int MockCampaignd01 = 1;
public static int MockCampaignd02 = 2;
} }
} }

View File

@ -5,6 +5,6 @@
public interface ILocationService public interface ILocationService
{ {
Task UpdateUserLocation(LocationRequest newLocReq, string token); Task UpdateUserLocation(Location newLocReq, string token);
} }
} }

View File

@ -14,7 +14,7 @@
_requestProvider = requestProvider; _requestProvider = requestProvider;
} }
public async Task UpdateUserLocation(LocationRequest newLocReq, string token) public async Task UpdateUserLocation(Location newLocReq, string token)
{ {
UriBuilder builder = new UriBuilder(GlobalSetting.Instance.LocationEndpoint); UriBuilder builder = new UriBuilder(GlobalSetting.Instance.LocationEndpoint);

View File

@ -0,0 +1,55 @@
using System.Collections.Generic;
using System.Linq;
namespace eShopOnContainers.Core.Services.Marketing
{
using System;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
using Models.Marketing;
using Xamarin.Forms;
public class CampaignMockService : ICampaignService
{
private readonly ObservableCollection<Campaign> _mockCampaign = new ObservableCollection<Campaign>
{
new Campaign
{
Id = Common.Common.MockCampaignd01,
PictureUri = Device.RuntimePlatform != Device.Windows
? "fake_campaign_01.png"
: "Assets/fake_campaign_01.png",
Name = ".NET Bot Black Hoodie 50% OFF",
Description = "Campaign Description 1",
From = DateTime.Now,
To = DateTime.Now.AddDays(7)
},
new Campaign
{
Id = Common.Common.MockCampaignd02,
PictureUri = Device.RuntimePlatform != Device.Windows
? "fake_campaign_02.png"
: "Assets/fake_campaign_02.png",
Name = "Roslyn Red T-Shirt 3x2",
Description = "Campaign Description 2",
From = DateTime.Now.AddDays(-7),
To = DateTime.Now.AddDays(14)
}
};
public async Task<ObservableCollection<Campaign>> GetAllCampaignsAsync(string userId, string token)
{
await Task.Delay(500);
return _mockCampaign;
}
public async Task<Campaign> GetCampaignByIdAsync(int camapignId, string token)
{
await Task.Delay(500);
return _mockCampaign.First();
}
}
}

View File

@ -0,0 +1,34 @@
namespace eShopOnContainers.Core.Services.Marketing
{
using System;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
using Models.Marketing;
using RequestProvider;
public class CampaignService : ICampaignService
{
private readonly IRequestProvider _requestProvider;
public CampaignService(IRequestProvider requestProvider)
{
_requestProvider = requestProvider;
}
public async Task<ObservableCollection<Campaign>> GetAllCampaignsAsync(string userId, string token)
{
UriBuilder builder = new UriBuilder(GlobalSetting.Instance.MarketingEndpoint);
builder.Path = $"api/v1/campaigns/{userId}";
string uri = builder.ToString();
return await _requestProvider.GetAsync<ObservableCollection<Campaign>>(uri, token);
}
public Task<Campaign> GetCampaignByIdAsync(int campaignId, string token)
{
throw new NotImplementedException();
}
}
}

View File

@ -0,0 +1,14 @@

namespace eShopOnContainers.Core.Services.Marketing
{
using System.Collections.ObjectModel;
using System.Threading.Tasks;
using Models.Marketing;
public interface ICampaignService
{
Task<ObservableCollection<Campaign>> GetAllCampaignsAsync(string userId, string token);
Task<Campaign> GetCampaignByIdAsync(int id, string token);
}
}

View File

@ -12,6 +12,7 @@ using eShopOnContainers.Core.Services.Order;
using eShopOnContainers.Core.Services.User; using eShopOnContainers.Core.Services.User;
using Xamarin.Forms; using Xamarin.Forms;
using eShopOnContainers.Core.Services.Location; using eShopOnContainers.Core.Services.Location;
using eShopOnContainers.Core.Services.Marketing;
namespace eShopOnContainers.Core.ViewModels.Base namespace eShopOnContainers.Core.ViewModels.Base
{ {
@ -47,9 +48,10 @@ namespace eShopOnContainers.Core.ViewModels.Base
builder.RegisterType<OrderDetailViewModel>(); builder.RegisterType<OrderDetailViewModel>();
builder.RegisterType<ProfileViewModel>(); builder.RegisterType<ProfileViewModel>();
builder.RegisterType<SettingsViewModel>(); builder.RegisterType<SettingsViewModel>();
builder.RegisterType<CampaignViewModel>();
// Services // Services
builder.RegisterType<NavigationService>().As<INavigationService>().SingleInstance(); builder.RegisterType<NavigationService>().As<INavigationService>().SingleInstance();
builder.RegisterType<DialogService>().As<IDialogService>(); builder.RegisterType<DialogService>().As<IDialogService>();
builder.RegisterType<OpenUrlService>().As<IOpenUrlService>(); builder.RegisterType<OpenUrlService>().As<IOpenUrlService>();
builder.RegisterType<IdentityService>().As<IIdentityService>(); builder.RegisterType<IdentityService>().As<IIdentityService>();
@ -62,6 +64,7 @@ namespace eShopOnContainers.Core.ViewModels.Base
builder.RegisterInstance(new BasketMockService()).As<IBasketService>(); builder.RegisterInstance(new BasketMockService()).As<IBasketService>();
builder.RegisterInstance(new OrderMockService()).As<IOrderService>(); builder.RegisterInstance(new OrderMockService()).As<IOrderService>();
builder.RegisterInstance(new UserMockService()).As<IUserService>(); builder.RegisterInstance(new UserMockService()).As<IUserService>();
builder.RegisterInstance(new CampaignMockService()).As<ICampaignService>();
UseMockService = true; UseMockService = true;
} }
@ -70,7 +73,8 @@ namespace eShopOnContainers.Core.ViewModels.Base
builder.RegisterType<CatalogService>().As<ICatalogService>().SingleInstance(); builder.RegisterType<CatalogService>().As<ICatalogService>().SingleInstance();
builder.RegisterType<BasketService>().As<IBasketService>().SingleInstance(); builder.RegisterType<BasketService>().As<IBasketService>().SingleInstance();
builder.RegisterType<OrderService>().As<IOrderService>().SingleInstance(); builder.RegisterType<OrderService>().As<IOrderService>().SingleInstance();
builder.RegisterType<UserService>().As<IUserService>().SingleInstance(); builder.RegisterType<UserService>().As<IUserService>().SingleInstance();
builder.RegisterType<CampaignService>().As<ICampaignService>().SingleInstance();
UseMockService = false; UseMockService = false;
} }

View File

@ -0,0 +1,52 @@
using System.Threading.Tasks;
using System.Windows.Input;
using eShopOnContainers.Core.Helpers;
using eShopOnContainers.Core.Models.Catalog;
using eShopOnContainers.Core.Models.User;
using Xamarin.Forms;
namespace eShopOnContainers.Core.ViewModels
{
using System.Collections.ObjectModel;
using Models.Marketing;
using Services.Marketing;
using Base;
public class CampaignViewModel : ViewModelBase
{
private ObservableCollection<Campaign> _campaigns;
private readonly ICampaignService _campaignService;
public CampaignViewModel(ICampaignService campaignService)
{
_campaignService = campaignService;
}
public ObservableCollection<Campaign> Campaigns
{
get => _campaigns;
set
{
_campaigns = value;
RaisePropertyChanged(() => Campaigns);
}
}
public ICommand GetCampaignDetailsCommand => new Command<Campaign>(GetCampaignDetails);
public override async Task InitializeAsync(object navigationData)
{
IsBusy = true;
// Get campaigns by user
Campaigns = await _campaignService.GetAllCampaignsAsync(Settings.UserId, Settings.AuthAccessToken);
IsBusy = false;
}
private void GetCampaignDetails(Campaign campaign)
{
}
}
}

View File

@ -214,9 +214,10 @@ namespace eShopOnContainers.Core.ViewModels
if (Settings.UseMocks) if (Settings.UseMocks)
{ {
Settings.AuthAccessToken = string.Empty; Settings.AuthAccessToken = string.Empty;
Settings.AuthIdToken = string.Empty; Settings.AuthIdToken = string.Empty;
} }
Settings.UserId = string.Empty;
Settings.UseFakeLocation = false; Settings.UseFakeLocation = false;
} }
@ -243,7 +244,7 @@ namespace eShopOnContainers.Core.ViewModels
{ {
Settings.AuthAccessToken = accessToken; Settings.AuthAccessToken = accessToken;
Settings.AuthIdToken = authResponse.IdentityToken; Settings.AuthIdToken = authResponse.IdentityToken;
Settings.UserId = authResponse.Values["sub"];
await NavigationService.NavigateToAsync<MainViewModel>(); await NavigationService.NavigateToAsync<MainViewModel>();
await NavigationService.RemoveLastFromBackStackAsync(); await NavigationService.RemoveLastFromBackStackAsync();
} }

View File

@ -191,7 +191,7 @@ namespace eShopOnContainers.Core.ViewModels
private async Task ToggleSendLocationAsync() private async Task ToggleSendLocationAsync()
{ {
LocationRequest locationRequest = new LocationRequest Location locationRequest = new Location
{ {
Latitude = _latitude, Latitude = _latitude,
Longitude = _longitude Longitude = _longitude

View File

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="eShopOnContainers.Core.Views.CampaignView"
xmlns:templates="clr-namespace:eShopOnContainers.Core.Views.Templates;assembly=eShopOnContainers.Core"
xmlns:views="clr-namespace:eShopOnContainers.Core.Views;assembly=eShopOnContainers.Core"
xmlns:viewModelBase="clr-namespace:eShopOnContainers.Core.ViewModels.Base;assembly=eShopOnContainers.Core"
xmlns:animations="clr-namespace:eShopOnContainers.Core.Animations;assembly=eShopOnContainers.Core"
xmlns:triggers="clr-namespace:eShopOnContainers.Core.Triggers;assembly=eShopOnContainers.Core"
xmlns:behaviors="clr-namespace:eShopOnContainers.Core.Behaviors;assembly=eShopOnContainers.Core"
viewModelBase:ViewModelLocator.AutoWireViewModel="true"
Title="Catalog">
<ContentPage.Resources>
<ResourceDictionary>
<Style x:Key="CampaignsListStyle"
TargetType="{x:Type ListView}">
<Setter Property="RowHeight"
Value="400" />
<Setter Property="VerticalOptions"
Value="Center" />
<Setter Property="Margin"
Value="0" />
</Style>
<animations:StoryBoard
x:Key="CampaignsAnimation"
Target="{x:Reference Campaigns}">
<animations:FadeInAnimation
Direction="Up"
Duration="1500"
Delay="250"/>
</animations:StoryBoard>
</ResourceDictionary>
</ContentPage.Resources>
<ContentPage.Triggers>
<EventTrigger
Event="Appearing">
<triggers:BeginAnimation
Animation="{StaticResource CampaignsAnimation}" />
</EventTrigger>
</ContentPage.Triggers>
<Grid
ColumnSpacing="0"
RowSpacing="0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!-- CAMPAIGNS -->
<Grid
Grid.Row="1">
<Grid
IsVisible="{Binding IsBusy, Converter={StaticResource InverseBoolConverter}}">
<Label
Text="NO CAMPAIGNS FOUND"
IsVisible="{Binding Campaigns.Count, Converter={StaticResource InverseCountToBoolConverter}}"
HorizontalOptions="Center"
VerticalOptions="Center"/>
</Grid>
<ListView
x:Name="Campaigns"
IsVisible="{Binding Campaigns.Count, Converter={StaticResource CountToBoolConverter}}"
ItemsSource="{Binding Campaigns}"
HasUnevenRows="True"
SeparatorVisibility="None"
CachingStrategy="RecycleElement"
Style="{StaticResource CampaignsListStyle}">
<ListView.Behaviors>
<behaviors:EventToCommandBehavior
EventName="ItemTapped"
Command="{Binding GetCampaignDetailsCommand}"
EventArgsConverter="{StaticResource ItemTappedEventArgsConverter}" />
</ListView.Behaviors>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<templates:ProductTemplate />
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
<!-- INDICATOR -->
<ActivityIndicator
Grid.Row="0"
Grid.RowSpan="2"
Color="{StaticResource LightGreenColor}"
IsRunning="{Binding IsBusy}"
IsVisible="{Binding IsBusy}"
VerticalOptions="Center"
HorizontalOptions="Center">
<ActivityIndicator.WidthRequest>
<OnPlatform
x:TypeArguments="x:Double"
iOS="100"
Android="100"
WinPhone="400" />
</ActivityIndicator.WidthRequest>
</ActivityIndicator>
</Grid>
</ContentPage>

View File

@ -0,0 +1,13 @@
namespace eShopOnContainers.Core.Views
{
using Xamarin.Forms;
public partial class CampaignView: ContentPage
{
public CampaignView()
{
InitializeComponent();
}
}
}

View File

@ -63,4 +63,15 @@
WinPhone="Assets\menu_cart.png"/> WinPhone="Assets\menu_cart.png"/>
</views:BasketView.Icon> </views:BasketView.Icon>
</views:BasketView> </views:BasketView>
<!-- CAMPAIGNS -->
<views:CampaignView
x:Name="CampaignView">
<views:CampaignView.Icon>
<OnPlatform
x:TypeArguments="FileImageSource"
Android="menu_filter"
iOS="menu_filter"
WinPhone="Assets\menu_filter.png"/>
</views:CampaignView.Icon>
</views:CampaignView>
</TabbedPage> </TabbedPage>

View File

@ -28,12 +28,16 @@ namespace eShopOnContainers.Core.Views
case 2: case 2:
CurrentPage = BasketView; CurrentPage = BasketView;
break; break;
case 3:
CurrentPage = CampaignView;
break;
} }
}); });
await ((CatalogViewModel)HomeView.BindingContext).InitializeAsync(null); await ((CatalogViewModel)HomeView.BindingContext).InitializeAsync(null);
await ((BasketViewModel)BasketView.BindingContext).InitializeAsync(null); await ((BasketViewModel)BasketView.BindingContext).InitializeAsync(null);
await ((ProfileViewModel)ProfileView.BindingContext).InitializeAsync(null); await ((ProfileViewModel)ProfileView.BindingContext).InitializeAsync(null);
await ((CampaignViewModel)CampaignView.BindingContext).InitializeAsync(null);
} }
protected override async void OnCurrentPageChanged() protected override async void OnCurrentPageChanged()
@ -44,6 +48,7 @@ namespace eShopOnContainers.Core.Views
{ {
// Force basket view refresh every time we access it // Force basket view refresh every time we access it
await (BasketView.BindingContext as ViewModelBase).InitializeAsync(null); await (BasketView.BindingContext as ViewModelBase).InitializeAsync(null);
await (CampaignView.BindingContext as ViewModelBase).InitializeAsync(null);
} }
} }
} }

View File

@ -98,6 +98,8 @@
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="1" /> <RowDefinition Height="1" />
<RowDefinition Height="Auto" />
<RowDefinition Height="1" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid <Grid
Grid.Row="0" Grid.Row="0"

View File

@ -71,7 +71,8 @@
<Compile Include="Models\Catalog\CatalogItem.cs" /> <Compile Include="Models\Catalog\CatalogItem.cs" />
<Compile Include="Models\Catalog\CatalogRoot.cs" /> <Compile Include="Models\Catalog\CatalogRoot.cs" />
<Compile Include="Models\Catalog\CatalogType.cs" /> <Compile Include="Models\Catalog\CatalogType.cs" />
<Compile Include="Models\Location\LocationRequest.cs" /> <Compile Include="Models\Location\Location.cs" />
<Compile Include="Models\Marketing\Campaign.cs" />
<Compile Include="Models\Navigation\TabParameter.cs" /> <Compile Include="Models\Navigation\TabParameter.cs" />
<Compile Include="Models\Orders\CardType.CS" /> <Compile Include="Models\Orders\CardType.CS" />
<Compile Include="Models\Orders\Order.cs" /> <Compile Include="Models\Orders\Order.cs" />
@ -95,6 +96,9 @@
<Compile Include="Services\Identity\IIdentityService.cs" /> <Compile Include="Services\Identity\IIdentityService.cs" />
<Compile Include="Services\Location\ILocationService.cs" /> <Compile Include="Services\Location\ILocationService.cs" />
<Compile Include="Services\Location\LocationService.cs" /> <Compile Include="Services\Location\LocationService.cs" />
<Compile Include="Services\Marketing\ICampaignService.cs" />
<Compile Include="Services\Marketing\CampaignMockService.cs" />
<Compile Include="Services\Marketing\CampaignService.cs" />
<Compile Include="Services\Navigation\INavigationService.cs" /> <Compile Include="Services\Navigation\INavigationService.cs" />
<Compile Include="Services\Navigation\NavigationService.cs" /> <Compile Include="Services\Navigation\NavigationService.cs" />
<Compile Include="Services\OpenUrl\IOpenUrlService.cs" /> <Compile Include="Services\OpenUrl\IOpenUrlService.cs" />
@ -117,6 +121,7 @@
<Compile Include="ViewModels\Base\ViewModelBase.cs" /> <Compile Include="ViewModels\Base\ViewModelBase.cs" />
<Compile Include="ViewModels\Base\ViewModelLocator.cs" /> <Compile Include="ViewModels\Base\ViewModelLocator.cs" />
<Compile Include="ViewModels\BasketViewModel.cs" /> <Compile Include="ViewModels\BasketViewModel.cs" />
<Compile Include="ViewModels\CampaignViewModel.cs" />
<Compile Include="ViewModels\CatalogViewModel.cs" /> <Compile Include="ViewModels\CatalogViewModel.cs" />
<Compile Include="ViewModels\CheckoutViewModel.cs" /> <Compile Include="ViewModels\CheckoutViewModel.cs" />
<Compile Include="ViewModels\LoginViewModel.cs" /> <Compile Include="ViewModels\LoginViewModel.cs" />
@ -127,6 +132,9 @@
<Compile Include="Views\BasketView.xaml.cs"> <Compile Include="Views\BasketView.xaml.cs">
<DependentUpon>BasketView.xaml</DependentUpon> <DependentUpon>BasketView.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="Views\CampaignView.xaml.cs">
<DependentUpon>CampaignView.xaml</DependentUpon>
</Compile>
<Compile Include="Views\CatalogView.xaml.cs"> <Compile Include="Views\CatalogView.xaml.cs">
<DependentUpon>CatalogView.xaml</DependentUpon> <DependentUpon>CatalogView.xaml</DependentUpon>
</Compile> </Compile>
@ -265,7 +273,10 @@
</EmbeddedResource> </EmbeddedResource>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Models\Token\" /> <EmbeddedResource Include="Views\CampaignView.xaml">
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System.ComponentModel.Annotations"> <Reference Include="System.ComponentModel.Annotations">

View File

@ -1,15 +1,15 @@
#pragma warning disable 1591 #pragma warning disable 1591
// ------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <autogenerated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Mono Runtime Version: 4.0.30319.42000 // Runtime Version:4.0.30319.42000
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.
// </autogenerated> // </auto-generated>
// ------------------------------------------------------------------------------ //------------------------------------------------------------------------------
[assembly: Android.Runtime.ResourceDesignerAttribute("eShopOnContainers.Droid.Resource", IsApplication=true)] [assembly: global::Android.Runtime.ResourceDesignerAttribute("eShopOnContainers.Droid.Resource", IsApplication=true)]
namespace eShopOnContainers.Droid namespace eShopOnContainers.Droid
{ {
@ -2039,313 +2039,319 @@ namespace eShopOnContainers.Droid
public const int design_snackbar_background = 2130837584; public const int design_snackbar_background = 2130837584;
// aapt resource value: 0x7f020051 // aapt resource value: 0x7f020051
public const int fake_product_01 = 2130837585; public const int fake_campaign_1 = 2130837585;
// aapt resource value: 0x7f020052 // aapt resource value: 0x7f020052
public const int fake_product_02 = 2130837586; public const int fake_campaign_2 = 2130837586;
// aapt resource value: 0x7f020053 // aapt resource value: 0x7f020053
public const int fake_product_03 = 2130837587; public const int fake_product_01 = 2130837587;
// aapt resource value: 0x7f020054 // aapt resource value: 0x7f020054
public const int fake_product_04 = 2130837588; public const int fake_product_02 = 2130837588;
// aapt resource value: 0x7f020055 // aapt resource value: 0x7f020055
public const int fake_product_05 = 2130837589; public const int fake_product_03 = 2130837589;
// aapt resource value: 0x7f020056 // aapt resource value: 0x7f020056
public const int header_logo = 2130837590; public const int fake_product_04 = 2130837590;
// aapt resource value: 0x7f020057 // aapt resource value: 0x7f020057
public const int ic_audiotrack = 2130837591; public const int fake_product_05 = 2130837591;
// aapt resource value: 0x7f020058 // aapt resource value: 0x7f020058
public const int ic_audiotrack_light = 2130837592; public const int header_logo = 2130837592;
// aapt resource value: 0x7f020059 // aapt resource value: 0x7f020059
public const int ic_bluetooth_grey = 2130837593; public const int ic_audiotrack = 2130837593;
// aapt resource value: 0x7f02005a // aapt resource value: 0x7f02005a
public const int ic_bluetooth_white = 2130837594; public const int ic_audiotrack_light = 2130837594;
// aapt resource value: 0x7f02005b // aapt resource value: 0x7f02005b
public const int ic_cast_dark = 2130837595; public const int ic_bluetooth_grey = 2130837595;
// aapt resource value: 0x7f02005c // aapt resource value: 0x7f02005c
public const int ic_cast_disabled_light = 2130837596; public const int ic_bluetooth_white = 2130837596;
// aapt resource value: 0x7f02005d // aapt resource value: 0x7f02005d
public const int ic_cast_grey = 2130837597; public const int ic_cast_dark = 2130837597;
// aapt resource value: 0x7f02005e // aapt resource value: 0x7f02005e
public const int ic_cast_light = 2130837598; public const int ic_cast_disabled_light = 2130837598;
// aapt resource value: 0x7f02005f // aapt resource value: 0x7f02005f
public const int ic_cast_off_light = 2130837599; public const int ic_cast_grey = 2130837599;
// aapt resource value: 0x7f020060 // aapt resource value: 0x7f020060
public const int ic_cast_on_0_light = 2130837600; public const int ic_cast_light = 2130837600;
// aapt resource value: 0x7f020061 // aapt resource value: 0x7f020061
public const int ic_cast_on_1_light = 2130837601; public const int ic_cast_off_light = 2130837601;
// aapt resource value: 0x7f020062 // aapt resource value: 0x7f020062
public const int ic_cast_on_2_light = 2130837602; public const int ic_cast_on_0_light = 2130837602;
// aapt resource value: 0x7f020063 // aapt resource value: 0x7f020063
public const int ic_cast_on_light = 2130837603; public const int ic_cast_on_1_light = 2130837603;
// aapt resource value: 0x7f020064 // aapt resource value: 0x7f020064
public const int ic_cast_white = 2130837604; public const int ic_cast_on_2_light = 2130837604;
// aapt resource value: 0x7f020065 // aapt resource value: 0x7f020065
public const int ic_close_dark = 2130837605; public const int ic_cast_on_light = 2130837605;
// aapt resource value: 0x7f020066 // aapt resource value: 0x7f020066
public const int ic_close_light = 2130837606; public const int ic_cast_white = 2130837606;
// aapt resource value: 0x7f020067 // aapt resource value: 0x7f020067
public const int ic_collapse = 2130837607; public const int ic_close_dark = 2130837607;
// aapt resource value: 0x7f020068 // aapt resource value: 0x7f020068
public const int ic_collapse_00000 = 2130837608; public const int ic_close_light = 2130837608;
// aapt resource value: 0x7f020069 // aapt resource value: 0x7f020069
public const int ic_collapse_00001 = 2130837609; public const int ic_collapse = 2130837609;
// aapt resource value: 0x7f02006a // aapt resource value: 0x7f02006a
public const int ic_collapse_00002 = 2130837610; public const int ic_collapse_00000 = 2130837610;
// aapt resource value: 0x7f02006b // aapt resource value: 0x7f02006b
public const int ic_collapse_00003 = 2130837611; public const int ic_collapse_00001 = 2130837611;
// aapt resource value: 0x7f02006c // aapt resource value: 0x7f02006c
public const int ic_collapse_00004 = 2130837612; public const int ic_collapse_00002 = 2130837612;
// aapt resource value: 0x7f02006d // aapt resource value: 0x7f02006d
public const int ic_collapse_00005 = 2130837613; public const int ic_collapse_00003 = 2130837613;
// aapt resource value: 0x7f02006e // aapt resource value: 0x7f02006e
public const int ic_collapse_00006 = 2130837614; public const int ic_collapse_00004 = 2130837614;
// aapt resource value: 0x7f02006f // aapt resource value: 0x7f02006f
public const int ic_collapse_00007 = 2130837615; public const int ic_collapse_00005 = 2130837615;
// aapt resource value: 0x7f020070 // aapt resource value: 0x7f020070
public const int ic_collapse_00008 = 2130837616; public const int ic_collapse_00006 = 2130837616;
// aapt resource value: 0x7f020071 // aapt resource value: 0x7f020071
public const int ic_collapse_00009 = 2130837617; public const int ic_collapse_00007 = 2130837617;
// aapt resource value: 0x7f020072 // aapt resource value: 0x7f020072
public const int ic_collapse_00010 = 2130837618; public const int ic_collapse_00008 = 2130837618;
// aapt resource value: 0x7f020073 // aapt resource value: 0x7f020073
public const int ic_collapse_00011 = 2130837619; public const int ic_collapse_00009 = 2130837619;
// aapt resource value: 0x7f020074 // aapt resource value: 0x7f020074
public const int ic_collapse_00012 = 2130837620; public const int ic_collapse_00010 = 2130837620;
// aapt resource value: 0x7f020075 // aapt resource value: 0x7f020075
public const int ic_collapse_00013 = 2130837621; public const int ic_collapse_00011 = 2130837621;
// aapt resource value: 0x7f020076 // aapt resource value: 0x7f020076
public const int ic_collapse_00014 = 2130837622; public const int ic_collapse_00012 = 2130837622;
// aapt resource value: 0x7f020077 // aapt resource value: 0x7f020077
public const int ic_collapse_00015 = 2130837623; public const int ic_collapse_00013 = 2130837623;
// aapt resource value: 0x7f020078 // aapt resource value: 0x7f020078
public const int ic_errorstatus = 2130837624; public const int ic_collapse_00014 = 2130837624;
// aapt resource value: 0x7f020079 // aapt resource value: 0x7f020079
public const int ic_expand = 2130837625; public const int ic_collapse_00015 = 2130837625;
// aapt resource value: 0x7f02007a // aapt resource value: 0x7f02007a
public const int ic_expand_00000 = 2130837626; public const int ic_errorstatus = 2130837626;
// aapt resource value: 0x7f02007b // aapt resource value: 0x7f02007b
public const int ic_expand_00001 = 2130837627; public const int ic_expand = 2130837627;
// aapt resource value: 0x7f02007c // aapt resource value: 0x7f02007c
public const int ic_expand_00002 = 2130837628; public const int ic_expand_00000 = 2130837628;
// aapt resource value: 0x7f02007d // aapt resource value: 0x7f02007d
public const int ic_expand_00003 = 2130837629; public const int ic_expand_00001 = 2130837629;
// aapt resource value: 0x7f02007e // aapt resource value: 0x7f02007e
public const int ic_expand_00004 = 2130837630; public const int ic_expand_00002 = 2130837630;
// aapt resource value: 0x7f02007f // aapt resource value: 0x7f02007f
public const int ic_expand_00005 = 2130837631; public const int ic_expand_00003 = 2130837631;
// aapt resource value: 0x7f020080 // aapt resource value: 0x7f020080
public const int ic_expand_00006 = 2130837632; public const int ic_expand_00004 = 2130837632;
// aapt resource value: 0x7f020081 // aapt resource value: 0x7f020081
public const int ic_expand_00007 = 2130837633; public const int ic_expand_00005 = 2130837633;
// aapt resource value: 0x7f020082 // aapt resource value: 0x7f020082
public const int ic_expand_00008 = 2130837634; public const int ic_expand_00006 = 2130837634;
// aapt resource value: 0x7f020083 // aapt resource value: 0x7f020083
public const int ic_expand_00009 = 2130837635; public const int ic_expand_00007 = 2130837635;
// aapt resource value: 0x7f020084 // aapt resource value: 0x7f020084
public const int ic_expand_00010 = 2130837636; public const int ic_expand_00008 = 2130837636;
// aapt resource value: 0x7f020085 // aapt resource value: 0x7f020085
public const int ic_expand_00011 = 2130837637; public const int ic_expand_00009 = 2130837637;
// aapt resource value: 0x7f020086 // aapt resource value: 0x7f020086
public const int ic_expand_00012 = 2130837638; public const int ic_expand_00010 = 2130837638;
// aapt resource value: 0x7f020087 // aapt resource value: 0x7f020087
public const int ic_expand_00013 = 2130837639; public const int ic_expand_00011 = 2130837639;
// aapt resource value: 0x7f020088 // aapt resource value: 0x7f020088
public const int ic_expand_00014 = 2130837640; public const int ic_expand_00012 = 2130837640;
// aapt resource value: 0x7f020089 // aapt resource value: 0x7f020089
public const int ic_expand_00015 = 2130837641; public const int ic_expand_00013 = 2130837641;
// aapt resource value: 0x7f02008a // aapt resource value: 0x7f02008a
public const int ic_media_pause = 2130837642; public const int ic_expand_00014 = 2130837642;
// aapt resource value: 0x7f02008b // aapt resource value: 0x7f02008b
public const int ic_media_play = 2130837643; public const int ic_expand_00015 = 2130837643;
// aapt resource value: 0x7f02008c // aapt resource value: 0x7f02008c
public const int ic_media_route_disabled_mono_dark = 2130837644; public const int ic_media_pause = 2130837644;
// aapt resource value: 0x7f02008d // aapt resource value: 0x7f02008d
public const int ic_media_route_off_mono_dark = 2130837645; public const int ic_media_play = 2130837645;
// aapt resource value: 0x7f02008e // aapt resource value: 0x7f02008e
public const int ic_media_route_on_0_mono_dark = 2130837646; public const int ic_media_route_disabled_mono_dark = 2130837646;
// aapt resource value: 0x7f02008f // aapt resource value: 0x7f02008f
public const int ic_media_route_on_1_mono_dark = 2130837647; public const int ic_media_route_off_mono_dark = 2130837647;
// aapt resource value: 0x7f020090 // aapt resource value: 0x7f020090
public const int ic_media_route_on_2_mono_dark = 2130837648; public const int ic_media_route_on_0_mono_dark = 2130837648;
// aapt resource value: 0x7f020091 // aapt resource value: 0x7f020091
public const int ic_media_route_on_mono_dark = 2130837649; public const int ic_media_route_on_1_mono_dark = 2130837649;
// aapt resource value: 0x7f020092 // aapt resource value: 0x7f020092
public const int ic_pause_dark = 2130837650; public const int ic_media_route_on_2_mono_dark = 2130837650;
// aapt resource value: 0x7f020093 // aapt resource value: 0x7f020093
public const int ic_pause_light = 2130837651; public const int ic_media_route_on_mono_dark = 2130837651;
// aapt resource value: 0x7f020094 // aapt resource value: 0x7f020094
public const int ic_play_dark = 2130837652; public const int ic_pause_dark = 2130837652;
// aapt resource value: 0x7f020095 // aapt resource value: 0x7f020095
public const int ic_play_light = 2130837653; public const int ic_pause_light = 2130837653;
// aapt resource value: 0x7f020096 // aapt resource value: 0x7f020096
public const int ic_speaker_dark = 2130837654; public const int ic_play_dark = 2130837654;
// aapt resource value: 0x7f020097 // aapt resource value: 0x7f020097
public const int ic_speaker_group_dark = 2130837655; public const int ic_play_light = 2130837655;
// aapt resource value: 0x7f020098 // aapt resource value: 0x7f020098
public const int ic_speaker_group_light = 2130837656; public const int ic_speaker_dark = 2130837656;
// aapt resource value: 0x7f020099 // aapt resource value: 0x7f020099
public const int ic_speaker_light = 2130837657; public const int ic_speaker_group_dark = 2130837657;
// aapt resource value: 0x7f02009a // aapt resource value: 0x7f02009a
public const int ic_successstatus = 2130837658; public const int ic_speaker_group_light = 2130837658;
// aapt resource value: 0x7f02009b // aapt resource value: 0x7f02009b
public const int ic_tv_dark = 2130837659; public const int ic_speaker_light = 2130837659;
// aapt resource value: 0x7f02009c // aapt resource value: 0x7f02009c
public const int ic_tv_light = 2130837660; public const int ic_successstatus = 2130837660;
// aapt resource value: 0x7f02009d // aapt resource value: 0x7f02009d
public const int icon = 2130837661; public const int ic_tv_dark = 2130837661;
// aapt resource value: 0x7f02009e // aapt resource value: 0x7f02009e
public const int menu_cart = 2130837662; public const int ic_tv_light = 2130837662;
// aapt resource value: 0x7f02009f // aapt resource value: 0x7f02009f
public const int menu_filter = 2130837663; public const int icon = 2130837663;
// aapt resource value: 0x7f0200a0 // aapt resource value: 0x7f0200a0
public const int menu_profile = 2130837664; public const int menu_cart = 2130837664;
// aapt resource value: 0x7f0200a1 // aapt resource value: 0x7f0200a1
public const int mr_dialog_material_background_dark = 2130837665; public const int menu_filter = 2130837665;
// aapt resource value: 0x7f0200a2 // aapt resource value: 0x7f0200a2
public const int mr_dialog_material_background_light = 2130837666; public const int menu_profile = 2130837666;
// aapt resource value: 0x7f0200a3 // aapt resource value: 0x7f0200a3
public const int mr_ic_audiotrack_light = 2130837667; public const int mr_dialog_material_background_dark = 2130837667;
// aapt resource value: 0x7f0200a4 // aapt resource value: 0x7f0200a4
public const int mr_ic_cast_dark = 2130837668; public const int mr_dialog_material_background_light = 2130837668;
// aapt resource value: 0x7f0200a5 // aapt resource value: 0x7f0200a5
public const int mr_ic_cast_light = 2130837669; public const int mr_ic_audiotrack_light = 2130837669;
// aapt resource value: 0x7f0200a6 // aapt resource value: 0x7f0200a6
public const int mr_ic_close_dark = 2130837670; public const int mr_ic_cast_dark = 2130837670;
// aapt resource value: 0x7f0200a7 // aapt resource value: 0x7f0200a7
public const int mr_ic_close_light = 2130837671; public const int mr_ic_cast_light = 2130837671;
// aapt resource value: 0x7f0200a8 // aapt resource value: 0x7f0200a8
public const int mr_ic_media_route_connecting_mono_dark = 2130837672; public const int mr_ic_close_dark = 2130837672;
// aapt resource value: 0x7f0200a9 // aapt resource value: 0x7f0200a9
public const int mr_ic_media_route_connecting_mono_light = 2130837673; public const int mr_ic_close_light = 2130837673;
// aapt resource value: 0x7f0200aa // aapt resource value: 0x7f0200aa
public const int mr_ic_media_route_mono_dark = 2130837674; public const int mr_ic_media_route_connecting_mono_dark = 2130837674;
// aapt resource value: 0x7f0200ab // aapt resource value: 0x7f0200ab
public const int mr_ic_media_route_mono_light = 2130837675; public const int mr_ic_media_route_connecting_mono_light = 2130837675;
// aapt resource value: 0x7f0200ac // aapt resource value: 0x7f0200ac
public const int mr_ic_pause_dark = 2130837676; public const int mr_ic_media_route_mono_dark = 2130837676;
// aapt resource value: 0x7f0200ad // aapt resource value: 0x7f0200ad
public const int mr_ic_pause_light = 2130837677; public const int mr_ic_media_route_mono_light = 2130837677;
// aapt resource value: 0x7f0200ae // aapt resource value: 0x7f0200ae
public const int mr_ic_play_dark = 2130837678; public const int mr_ic_pause_dark = 2130837678;
// aapt resource value: 0x7f0200af // aapt resource value: 0x7f0200af
public const int mr_ic_play_light = 2130837679; public const int mr_ic_pause_light = 2130837679;
// aapt resource value: 0x7f0200b0 // aapt resource value: 0x7f0200b0
public const int noimage = 2130837680; public const int mr_ic_play_dark = 2130837680;
// aapt resource value: 0x7f0200b7
public const int notification_template_icon_bg = 2130837687;
// aapt resource value: 0x7f0200b1 // aapt resource value: 0x7f0200b1
public const int product_add = 2130837681; public const int mr_ic_play_light = 2130837681;
// aapt resource value: 0x7f0200b2 // aapt resource value: 0x7f0200b2
public const int roundedbg = 2130837682; public const int noimage = 2130837682;
// aapt resource value: 0x7f0200b9
public const int notification_template_icon_bg = 2130837689;
// aapt resource value: 0x7f0200b3 // aapt resource value: 0x7f0200b3
public const int roundedbgdark = 2130837683; public const int product_add = 2130837683;
// aapt resource value: 0x7f0200b4 // aapt resource value: 0x7f0200b4
public const int splash_drawable = 2130837684; public const int roundedbg = 2130837684;
// aapt resource value: 0x7f0200b5 // aapt resource value: 0x7f0200b5
public const int switch_off = 2130837685; public const int roundedbgdark = 2130837685;
// aapt resource value: 0x7f0200b6 // aapt resource value: 0x7f0200b6
public const int switch_on = 2130837686; public const int splash_drawable = 2130837686;
// aapt resource value: 0x7f0200b7
public const int switch_off = 2130837687;
// aapt resource value: 0x7f0200b8
public const int switch_on = 2130837688;
static Drawable() static Drawable()
{ {
@ -4388,8 +4394,7 @@ namespace eShopOnContainers.Droid
public partial class Styleable public partial class Styleable
{ {
public static int[] ActionBar = new int[] public static int[] ActionBar = new int[] {
{
2130772007, 2130772007,
2130772009, 2130772009,
2130772010, 2130772010,
@ -4499,15 +4504,13 @@ namespace eShopOnContainers.Droid
// aapt resource value: 5 // aapt resource value: 5
public const int ActionBar_titleTextStyle = 5; public const int ActionBar_titleTextStyle = 5;
public static int[] ActionBarLayout = new int[] public static int[] ActionBarLayout = new int[] {
{
16842931}; 16842931};
// aapt resource value: 0 // aapt resource value: 0
public const int ActionBarLayout_android_layout_gravity = 0; public const int ActionBarLayout_android_layout_gravity = 0;
public static int[] ActionMenuItemView = new int[] public static int[] ActionMenuItemView = new int[] {
{
16843071}; 16843071};
// aapt resource value: 0 // aapt resource value: 0
@ -4515,8 +4518,7 @@ namespace eShopOnContainers.Droid
public static int[] ActionMenuView; public static int[] ActionMenuView;
public static int[] ActionMode = new int[] public static int[] ActionMode = new int[] {
{
2130772007, 2130772007,
2130772013, 2130772013,
2130772014, 2130772014,
@ -4542,8 +4544,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 1 // aapt resource value: 1
public const int ActionMode_titleTextStyle = 1; public const int ActionMode_titleTextStyle = 1;
public static int[] ActivityChooserView = new int[] public static int[] ActivityChooserView = new int[] {
{
2130772035, 2130772035,
2130772036}; 2130772036};
@ -4553,8 +4554,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 0 // aapt resource value: 0
public const int ActivityChooserView_initialActivityCount = 0; public const int ActivityChooserView_initialActivityCount = 0;
public static int[] AlertDialog = new int[] public static int[] AlertDialog = new int[] {
{
16842994, 16842994,
2130772037, 2130772037,
2130772038, 2130772038,
@ -4580,8 +4580,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 4 // aapt resource value: 4
public const int AlertDialog_singleChoiceItemLayout = 4; public const int AlertDialog_singleChoiceItemLayout = 4;
public static int[] AppBarLayout = new int[] public static int[] AppBarLayout = new int[] {
{
16842964, 16842964,
2130772032, 2130772032,
2130772215}; 2130772215};
@ -4595,8 +4594,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 2 // aapt resource value: 2
public const int AppBarLayout_expanded = 2; public const int AppBarLayout_expanded = 2;
public static int[] AppBarLayout_LayoutParams = new int[] public static int[] AppBarLayout_LayoutParams = new int[] {
{
2130772216, 2130772216,
2130772217}; 2130772217};
@ -4606,8 +4604,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 1 // aapt resource value: 1
public const int AppBarLayout_LayoutParams_layout_scrollInterpolator = 1; public const int AppBarLayout_LayoutParams_layout_scrollInterpolator = 1;
public static int[] AppCompatImageView = new int[] public static int[] AppCompatImageView = new int[] {
{
16843033, 16843033,
2130772042}; 2130772042};
@ -4617,8 +4614,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 1 // aapt resource value: 1
public const int AppCompatImageView_srcCompat = 1; public const int AppCompatImageView_srcCompat = 1;
public static int[] AppCompatTextView = new int[] public static int[] AppCompatTextView = new int[] {
{
16842804, 16842804,
2130772043}; 2130772043};
@ -4628,8 +4624,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 1 // aapt resource value: 1
public const int AppCompatTextView_textAllCaps = 1; public const int AppCompatTextView_textAllCaps = 1;
public static int[] AppCompatTheme = new int[] public static int[] AppCompatTheme = new int[] {
{
16842839, 16842839,
16842926, 16842926,
2130772044, 2130772044,
@ -5079,8 +5074,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 3 // aapt resource value: 3
public const int AppCompatTheme_windowNoTitle = 3; public const int AppCompatTheme_windowNoTitle = 3;
public static int[] BottomSheetBehavior_Params = new int[] public static int[] BottomSheetBehavior_Params = new int[] {
{
2130772218, 2130772218,
2130772219}; 2130772219};
@ -5090,15 +5084,13 @@ namespace eShopOnContainers.Droid
// aapt resource value: 0 // aapt resource value: 0
public const int BottomSheetBehavior_Params_behavior_peekHeight = 0; public const int BottomSheetBehavior_Params_behavior_peekHeight = 0;
public static int[] ButtonBarLayout = new int[] public static int[] ButtonBarLayout = new int[] {
{
2130772154}; 2130772154};
// aapt resource value: 0 // aapt resource value: 0
public const int ButtonBarLayout_allowStacking = 0; public const int ButtonBarLayout_allowStacking = 0;
public static int[] CardView = new int[] public static int[] CardView = new int[] {
{
16843071, 16843071,
16843072, 16843072,
2130771995, 2130771995,
@ -5152,8 +5144,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 11 // aapt resource value: 11
public const int CardView_contentPaddingTop = 11; public const int CardView_contentPaddingTop = 11;
public static int[] CollapsingAppBarLayout_LayoutParams = new int[] public static int[] CollapsingAppBarLayout_LayoutParams = new int[] {
{
2130772220, 2130772220,
2130772221}; 2130772221};
@ -5163,8 +5154,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 1 // aapt resource value: 1
public const int CollapsingAppBarLayout_LayoutParams_layout_collapseParallaxMultiplier = 1; public const int CollapsingAppBarLayout_LayoutParams_layout_collapseParallaxMultiplier = 1;
public static int[] CollapsingToolbarLayout = new int[] public static int[] CollapsingToolbarLayout = new int[] {
{
2130772009, 2130772009,
2130772222, 2130772222,
2130772223, 2130772223,
@ -5222,8 +5212,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 10 // aapt resource value: 10
public const int CollapsingToolbarLayout_toolbarId = 10; public const int CollapsingToolbarLayout_toolbarId = 10;
public static int[] CompoundButton = new int[] public static int[] CompoundButton = new int[] {
{
16843015, 16843015,
2130772155, 2130772155,
2130772156}; 2130772156};
@ -5237,8 +5226,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 2 // aapt resource value: 2
public const int CompoundButton_buttonTintMode = 2; public const int CompoundButton_buttonTintMode = 2;
public static int[] CoordinatorLayout = new int[] public static int[] CoordinatorLayout = new int[] {
{
2130772235, 2130772235,
2130772236}; 2130772236};
@ -5248,8 +5236,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 1 // aapt resource value: 1
public const int CoordinatorLayout_statusBarBackground = 1; public const int CoordinatorLayout_statusBarBackground = 1;
public static int[] CoordinatorLayout_LayoutParams = new int[] public static int[] CoordinatorLayout_LayoutParams = new int[] {
{
16842931, 16842931,
2130772237, 2130772237,
2130772238, 2130772238,
@ -5271,8 +5258,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 3 // aapt resource value: 3
public const int CoordinatorLayout_LayoutParams_layout_keyline = 3; public const int CoordinatorLayout_LayoutParams_layout_keyline = 3;
public static int[] DesignTheme = new int[] public static int[] DesignTheme = new int[] {
{
2130772241, 2130772241,
2130772242, 2130772242,
2130772243}; 2130772243};
@ -5286,8 +5272,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 2 // aapt resource value: 2
public const int DesignTheme_textColorError = 2; public const int DesignTheme_textColorError = 2;
public static int[] DrawerArrowToggle = new int[] public static int[] DrawerArrowToggle = new int[] {
{
2130772157, 2130772157,
2130772158, 2130772158,
2130772159, 2130772159,
@ -5321,8 +5306,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 7 // aapt resource value: 7
public const int DrawerArrowToggle_thickness = 7; public const int DrawerArrowToggle_thickness = 7;
public static int[] FloatingActionButton = new int[] public static int[] FloatingActionButton = new int[] {
{
2130772032, 2130772032,
2130772213, 2130772213,
2130772214, 2130772214,
@ -5356,8 +5340,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 7 // aapt resource value: 7
public const int FloatingActionButton_useCompatPadding = 7; public const int FloatingActionButton_useCompatPadding = 7;
public static int[] ForegroundLinearLayout = new int[] public static int[] ForegroundLinearLayout = new int[] {
{
16843017, 16843017,
16843264, 16843264,
2130772249}; 2130772249};
@ -5371,8 +5354,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 2 // aapt resource value: 2
public const int ForegroundLinearLayout_foregroundInsidePadding = 2; public const int ForegroundLinearLayout_foregroundInsidePadding = 2;
public static int[] LinearLayoutCompat = new int[] public static int[] LinearLayoutCompat = new int[] {
{
16842927, 16842927,
16842948, 16842948,
16843046, 16843046,
@ -5410,8 +5392,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 7 // aapt resource value: 7
public const int LinearLayoutCompat_showDividers = 7; public const int LinearLayoutCompat_showDividers = 7;
public static int[] LinearLayoutCompat_Layout = new int[] public static int[] LinearLayoutCompat_Layout = new int[] {
{
16842931, 16842931,
16842996, 16842996,
16842997, 16842997,
@ -5429,8 +5410,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 1 // aapt resource value: 1
public const int LinearLayoutCompat_Layout_android_layout_width = 1; public const int LinearLayoutCompat_Layout_android_layout_width = 1;
public static int[] ListPopupWindow = new int[] public static int[] ListPopupWindow = new int[] {
{
16843436, 16843436,
16843437}; 16843437};
@ -5440,8 +5420,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 1 // aapt resource value: 1
public const int ListPopupWindow_android_dropDownVerticalOffset = 1; public const int ListPopupWindow_android_dropDownVerticalOffset = 1;
public static int[] MediaRouteButton = new int[] public static int[] MediaRouteButton = new int[] {
{
16843071, 16843071,
16843072, 16843072,
2130771994}; 2130771994};
@ -5455,8 +5434,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 2 // aapt resource value: 2
public const int MediaRouteButton_externalRouteEnabledDrawable = 2; public const int MediaRouteButton_externalRouteEnabledDrawable = 2;
public static int[] MenuGroup = new int[] public static int[] MenuGroup = new int[] {
{
16842766, 16842766,
16842960, 16842960,
16843156, 16843156,
@ -5482,8 +5460,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 2 // aapt resource value: 2
public const int MenuGroup_android_visible = 2; public const int MenuGroup_android_visible = 2;
public static int[] MenuItem = new int[] public static int[] MenuItem = new int[] {
{
16842754, 16842754,
16842766, 16842766,
16842960, 16842960,
@ -5553,8 +5530,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 13 // aapt resource value: 13
public const int MenuItem_showAsAction = 13; public const int MenuItem_showAsAction = 13;
public static int[] MenuView = new int[] public static int[] MenuView = new int[] {
{
16842926, 16842926,
16843052, 16843052,
16843053, 16843053,
@ -5588,8 +5564,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 7 // aapt resource value: 7
public const int MenuView_preserveIconSpacing = 7; public const int MenuView_preserveIconSpacing = 7;
public static int[] NavigationView = new int[] public static int[] NavigationView = new int[] {
{
16842964, 16842964,
16842973, 16842973,
16843039, 16843039,
@ -5631,8 +5606,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 4 // aapt resource value: 4
public const int NavigationView_menu = 4; public const int NavigationView_menu = 4;
public static int[] PopupWindow = new int[] public static int[] PopupWindow = new int[] {
{
16843126, 16843126,
2130772173}; 2130772173};
@ -5642,15 +5616,13 @@ namespace eShopOnContainers.Droid
// aapt resource value: 1 // aapt resource value: 1
public const int PopupWindow_overlapAnchor = 1; public const int PopupWindow_overlapAnchor = 1;
public static int[] PopupWindowBackgroundState = new int[] public static int[] PopupWindowBackgroundState = new int[] {
{
2130772174}; 2130772174};
// aapt resource value: 0 // aapt resource value: 0
public const int PopupWindowBackgroundState_state_above_anchor = 0; public const int PopupWindowBackgroundState_state_above_anchor = 0;
public static int[] ProgressWheel = new int[] public static int[] ProgressWheel = new int[] {
{
2130772284, 2130772284,
2130772285, 2130772285,
2130772286, 2130772286,
@ -5700,8 +5672,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 2 // aapt resource value: 2
public const int ProgressWheel_ahTextSize = 2; public const int ProgressWheel_ahTextSize = 2;
public static int[] RecyclerView = new int[] public static int[] RecyclerView = new int[] {
{
16842948, 16842948,
2130771968, 2130771968,
2130771969, 2130771969,
@ -5723,22 +5694,19 @@ namespace eShopOnContainers.Droid
// aapt resource value: 4 // aapt resource value: 4
public const int RecyclerView_stackFromEnd = 4; public const int RecyclerView_stackFromEnd = 4;
public static int[] ScrimInsetsFrameLayout = new int[] public static int[] ScrimInsetsFrameLayout = new int[] {
{
2130772256}; 2130772256};
// aapt resource value: 0 // aapt resource value: 0
public const int ScrimInsetsFrameLayout_insetForeground = 0; public const int ScrimInsetsFrameLayout_insetForeground = 0;
public static int[] ScrollingViewBehavior_Params = new int[] public static int[] ScrollingViewBehavior_Params = new int[] {
{
2130772257}; 2130772257};
// aapt resource value: 0 // aapt resource value: 0
public const int ScrollingViewBehavior_Params_behavior_overlapTop = 0; public const int ScrollingViewBehavior_Params_behavior_overlapTop = 0;
public static int[] SearchView = new int[] public static int[] SearchView = new int[] {
{
16842970, 16842970,
16843039, 16843039,
16843296, 16843296,
@ -5808,8 +5776,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 12 // aapt resource value: 12
public const int SearchView_voiceIcon = 12; public const int SearchView_voiceIcon = 12;
public static int[] SnackbarLayout = new int[] public static int[] SnackbarLayout = new int[] {
{
16843039, 16843039,
2130772032, 2130772032,
2130772258}; 2130772258};
@ -5823,8 +5790,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 2 // aapt resource value: 2
public const int SnackbarLayout_maxActionInlineWidth = 2; public const int SnackbarLayout_maxActionInlineWidth = 2;
public static int[] Spinner = new int[] public static int[] Spinner = new int[] {
{
16842930, 16842930,
16843126, 16843126,
16843131, 16843131,
@ -5846,8 +5812,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 4 // aapt resource value: 4
public const int Spinner_popupTheme = 4; public const int Spinner_popupTheme = 4;
public static int[] SwitchCompat = new int[] public static int[] SwitchCompat = new int[] {
{
16843044, 16843044,
16843045, 16843045,
16843074, 16843074,
@ -5889,8 +5854,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 3 // aapt resource value: 3
public const int SwitchCompat_track = 3; public const int SwitchCompat_track = 3;
public static int[] TabItem = new int[] public static int[] TabItem = new int[] {
{
16842754, 16842754,
16842994, 16842994,
16843087}; 16843087};
@ -5904,8 +5868,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 2 // aapt resource value: 2
public const int TabItem_android_text = 2; public const int TabItem_android_text = 2;
public static int[] TabLayout = new int[] public static int[] TabLayout = new int[] {
{
2130772259, 2130772259,
2130772260, 2130772260,
2130772261, 2130772261,
@ -5971,8 +5934,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 9 // aapt resource value: 9
public const int TabLayout_tabTextColor = 9; public const int TabLayout_tabTextColor = 9;
public static int[] TextAppearance = new int[] public static int[] TextAppearance = new int[] {
{
16842901, 16842901,
16842902, 16842902,
16842903, 16842903,
@ -6010,8 +5972,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 8 // aapt resource value: 8
public const int TextAppearance_textAllCaps = 8; public const int TextAppearance_textAllCaps = 8;
public static int[] TextInputLayout = new int[] public static int[] TextInputLayout = new int[] {
{
16842906, 16842906,
16843088, 16843088,
2130772275, 2130772275,
@ -6057,8 +6018,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 2 // aapt resource value: 2
public const int TextInputLayout_hintTextAppearance = 2; public const int TextInputLayout_hintTextAppearance = 2;
public static int[] Toolbar = new int[] public static int[] Toolbar = new int[] {
{
16842927, 16842927,
16843072, 16843072,
2130772009, 2130772009,
@ -6160,8 +6120,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 23 // aapt resource value: 23
public const int Toolbar_titleTextColor = 23; public const int Toolbar_titleTextColor = 23;
public static int[] View = new int[] public static int[] View = new int[] {
{
16842752, 16842752,
16842970, 16842970,
2130772210, 2130772210,
@ -6183,8 +6142,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 4 // aapt resource value: 4
public const int View_theme = 4; public const int View_theme = 4;
public static int[] ViewBackgroundHelper = new int[] public static int[] ViewBackgroundHelper = new int[] {
{
16842964, 16842964,
2130772213, 2130772213,
2130772214}; 2130772214};
@ -6198,8 +6156,7 @@ namespace eShopOnContainers.Droid
// aapt resource value: 2 // aapt resource value: 2
public const int ViewBackgroundHelper_backgroundTintMode = 2; public const int ViewBackgroundHelper_backgroundTintMode = 2;
public static int[] ViewStubCompat = new int[] public static int[] ViewStubCompat = new int[] {
{
16842960, 16842960,
16842994, 16842994,
16842995}; 16842995};

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

View File

@ -363,6 +363,12 @@
<Name>eShopOnContainers.Core</Name> <Name>eShopOnContainers.Core</Name>
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable\fake_campaign_2.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable\fake_campaign_1.png" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<Import Project="..\..\..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" /> <Import Project="..\..\..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
@ -374,4 +380,4 @@
</Target> </Target>
<Import Project="..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" /> <Import Project="..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />
<Import Project="..\..\..\..\packages\Xamarin.Forms.2.3.4.231\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.3.4.231\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets')" /> <Import Project="..\..\..\..\packages\Xamarin.Forms.2.3.4.231\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.3.4.231\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets')" />
</Project> </Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

View File

@ -133,6 +133,8 @@
<Content Include="Assets\banner.png" /> <Content Include="Assets\banner.png" />
<Content Include="Assets\circle_button_background.png" /> <Content Include="Assets\circle_button_background.png" />
<Content Include="Assets\default_product.png" /> <Content Include="Assets\default_product.png" />
<Content Include="Assets\fake_campaign_1.png" />
<Content Include="Assets\fake_campaign_2.png" />
<Content Include="Assets\fake_product_01.png" /> <Content Include="Assets\fake_product_01.png" />
<Content Include="Assets\fake_product_02.png" /> <Content Include="Assets\fake_product_02.png" />
<Content Include="Assets\fake_product_03.png" /> <Content Include="Assets\fake_product_03.png" />
@ -184,4 +186,4 @@
<VisualStudioVersion>14.0</VisualStudioVersion> <VisualStudioVersion>14.0</VisualStudioVersion>
</PropertyGroup> </PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
</Project> </Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

View File

@ -417,7 +417,12 @@
<Name>eShopOnContainers.Core</Name> <Name>eShopOnContainers.Core</Name>
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup /> <ItemGroup>
<BundleResource Include="Resources\fake_campaign_1.png" />
</ItemGroup>
<ItemGroup>
<BundleResource Include="Resources\fake_campaign_2.png" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup> <PropertyGroup>