├── PollyMVVM ├── PollyMVVM │ ├── PollyMVVM.iOS │ │ ├── Assets.xcassets │ │ │ ├── Contents.json │ │ │ └── AppIcon.appiconset │ │ │ │ ├── ia-logo-120.png │ │ │ │ ├── ia-logo-180.png │ │ │ │ ├── ItunesArtwork@2x.png │ │ │ │ ├── Icon-App-20x20@1x.png │ │ │ │ ├── Icon-App-20x20@2x.png │ │ │ │ ├── Icon-App-20x20@3x.png │ │ │ │ ├── Icon-App-29x29@1x.png │ │ │ │ ├── Icon-App-29x29@2x.png │ │ │ │ ├── Icon-App-29x29@3x.png │ │ │ │ ├── Icon-App-40x40@1x.png │ │ │ │ ├── Icon-App-40x40@2x.png │ │ │ │ ├── Icon-App-40x40@3x.png │ │ │ │ ├── Icon-App-57x57@1x.png │ │ │ │ ├── Icon-App-57x57@2x.png │ │ │ │ ├── Icon-App-60x60@1x.png │ │ │ │ ├── Icon-App-72x72@1x.png │ │ │ │ ├── Icon-App-72x72@2x.png │ │ │ │ ├── Icon-App-76x76@1x.png │ │ │ │ ├── Icon-App-76x76@2x.png │ │ │ │ ├── Icon-App-76x76@3x.png │ │ │ │ ├── Icon-App-83.5x83.5@2x.png │ │ │ │ ├── Icon-Small-50x50@1x.png │ │ │ │ ├── Icon-Small-50x50@2x.png │ │ │ │ └── Contents.json │ │ ├── iTunesArtwork@1x.png │ │ ├── iTunesArtwork@2x.png │ │ ├── iTunesArtwork@3x.png │ │ ├── Resources │ │ │ ├── Default.png │ │ │ ├── Default@2x.png │ │ │ ├── Default-568h@2x.png │ │ │ ├── Default-Portrait.png │ │ │ ├── Default-Portrait@2x.png │ │ │ └── LaunchScreen.storyboard │ │ ├── Entitlements.plist │ │ ├── Main.cs │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ └── PollyMVVM.iOS.csproj │ ├── PollyMVVM.Android │ │ ├── Resources │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ia_logo.png │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ia_logo.png │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-ldpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── values │ │ │ │ ├── Strings.xml │ │ │ │ └── styles.xml │ │ │ ├── layout │ │ │ │ ├── Main.axml │ │ │ │ ├── Toolbar.axml │ │ │ │ └── Tabbar.axml │ │ │ └── AboutResources.txt │ │ ├── Properties │ │ │ ├── AndroidManifest.xml │ │ │ └── AssemblyInfo.cs │ │ ├── Assets │ │ │ └── AboutAssets.txt │ │ ├── MainActivity.cs │ │ └── PollyMVVM.Android.csproj │ └── PollyMVVM │ │ ├── Views │ │ ├── MainPage.xaml.cs │ │ └── MainPage.xaml │ │ ├── App.xaml │ │ ├── PollyMVVM.csproj │ │ ├── App.xaml.cs │ │ └── ViewModels │ │ ├── ViewModelBase.cs │ │ └── MainPageViewModel.cs ├── PollyMVVM.Models │ ├── WaitRetryEvent.cs │ ├── CountriesResponse.cs │ ├── Country.cs │ ├── State.cs │ └── PollyMVVM.Models.csproj ├── PollyMVVM.Common │ ├── PollyMVVM.Common.csproj │ └── AppConstants.cs ├── PollyMVVM.Services │ ├── Abstractions │ │ ├── IClient.cs │ │ ├── ICountriesService.cs │ │ ├── IApiService.cs │ │ └── INetworkService.cs │ ├── Client.cs │ ├── PollyMVVM.Services.csproj │ ├── ApiService.cs │ ├── CountriesService.cs │ └── NetworkService.cs └── PollyMVVM.sln ├── README.md ├── .gitignore └── LICENSE /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "version": 1, 4 | "author": "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/iTunesArtwork@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/iTunesArtwork@1x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/iTunesArtwork@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/iTunesArtwork@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/iTunesArtwork@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/iTunesArtwork@3x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Resources/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Resources/Default.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Resources/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Resources/Default@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM.Models/WaitRetryEvent.cs: -------------------------------------------------------------------------------- 1 | using Prism.Events; 2 | 3 | namespace PollyMVVM.Models 4 | { 5 | public class WaitRetryEvent : PubSubEvent {} 6 | } 7 | -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Resources/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Resources/Default-Portrait.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Resources/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Resources/Default-Portrait@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-xxhdpi/ia_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-xxhdpi/ia_logo.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-xxxhdpi/ia_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-xxxhdpi/ia_logo.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM.Common/PollyMVVM.Common.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/ia-logo-120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/ia-logo-120.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/ia-logo-180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/ia-logo-180.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@1x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@3x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-Small-50x50@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-Small-50x50@1x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-Small-50x50@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hnabbasi/polly-mvvm/HEAD/PollyMVVM/PollyMVVM/PollyMVVM.iOS/Assets.xcassets/AppIcon.appiconset/Icon-Small-50x50@2x.png -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/values/Strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello World, Click Me! 4 | PollyMVVM.Droid 5 | 6 | -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM.Models/CountriesResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | namespace PollyMVVM.Models 3 | { 4 | public class CountriesResponse 5 | { 6 | [JsonProperty("result")] 7 | public Country[] Countries { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM.Models/Country.cs: -------------------------------------------------------------------------------- 1 | namespace PollyMVVM.Models 2 | { 3 | public class Country 4 | { 5 | public string Code { get; set; } 6 | public string Name { get; set; } 7 | public State[] States { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM.Common/AppConstants.cs: -------------------------------------------------------------------------------- 1 | namespace PollyMVVM.Common 2 | { 3 | public static class AppConstants 4 | { 5 | public const string BaseUrl = "https://api.printful.com"; 6 | public const string ApiCountriesUrl = "/countries"; 7 | public const string ContentType = "application/json"; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM.Models/State.cs: -------------------------------------------------------------------------------- 1 | namespace PollyMVVM.Models 2 | { 3 | public class State 4 | { 5 | public string Code 6 | { 7 | get; 8 | set; 9 | } 10 | 11 | public string Name 12 | { 13 | get; 14 | set; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM.Services/Abstractions/IClient.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Net.Http; 3 | using System.Threading.Tasks; 4 | 5 | namespace PollyMVVM.Services.Abstractions 6 | { 7 | public interface IClient 8 | { 9 | Task Get(Uri uri); 10 | Task Post(Uri uri, HttpContent content); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM.Models/PollyMVVM.Models.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM.Services/Abstractions/ICountriesService.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using PollyMVVM.Models; 3 | 4 | namespace PollyMVVM.Services.Abstractions 5 | { 6 | public interface ICountriesService 7 | { 8 | Task GetCountries(); 9 | Task GetCountriesWithRetry(); 10 | Task GetCountriesWithWaitAndRetry(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM/Views/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Xamarin.Forms; 7 | 8 | namespace PollyMVVM.Views 9 | { 10 | public partial class MainPage : ContentPage 11 | { 12 | public MainPage() 13 | { 14 | InitializeComponent(); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /PollyMVVM/PollyMVVM/PollyMVVM.Android/Resources/layout/Main.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 |