├── InfoSeries ├── InfoSeries │ ├── InfoSeries.UWP │ │ ├── Assets │ │ │ ├── StoreLogo.png │ │ │ ├── SplashScreen.scale-200.png │ │ │ ├── LockScreenLogo.scale-200.png │ │ │ ├── Square150x150Logo.scale-200.png │ │ │ ├── Square44x44Logo.scale-200.png │ │ │ ├── Wide310x150Logo.scale-200.png │ │ │ └── Square44x44Logo.targetsize-24_altform-unplated.png │ │ ├── InfoSeries.UWP_TemporaryKey.pfx │ │ ├── App.xaml │ │ ├── MainPage.xaml │ │ ├── MainPage.xaml.cs │ │ ├── Properties │ │ │ ├── AssemblyInfo.cs │ │ │ └── Default.rd.xml │ │ ├── Services │ │ │ └── UwpShareService.cs │ │ ├── Package.appxmanifest │ │ └── App.xaml.cs │ ├── InfoSeries.Droid │ │ ├── Resources │ │ │ ├── drawable │ │ │ │ └── icon.png │ │ │ ├── drawable-hdpi │ │ │ │ └── icon.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── icon.png │ │ │ ├── drawable-xxhdpi │ │ │ │ └── icon.png │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── values-v21 │ │ │ │ └── styles.xml │ │ │ ├── layout │ │ │ │ ├── tabs.xml │ │ │ │ └── toolbar.xml │ │ │ └── AboutResources.txt │ │ ├── Properties │ │ │ ├── AndroidManifest.xml │ │ │ └── AssemblyInfo.cs │ │ ├── Assets │ │ │ └── AboutAssets.txt │ │ ├── app.config │ │ ├── Services │ │ │ └── DroidShareService.cs │ │ ├── MainActivity.cs │ │ └── packages.config │ └── InfoSeries │ │ ├── Services │ │ └── IShareService.cs │ │ ├── Views │ │ ├── MainPage.xaml.cs │ │ ├── DetailPage.xaml.cs │ │ ├── DetailPage.xaml │ │ └── MainPage.xaml │ │ ├── App.xaml │ │ ├── app.config │ │ ├── packages.config │ │ ├── App.xaml.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ └── ViewModels │ │ ├── MyCustomDetailViewModel.cs │ │ └── MainPageViewModel.cs └── InfoSeries.Core │ ├── Models │ ├── GenreVM.cs │ ├── ActorVM.cs │ ├── TmdbRequest.cs │ ├── ImageSeriesVM.cs │ ├── SeasonVM.cs │ ├── SeasonParameter.cs │ ├── TmdbVideo.cs │ ├── SerieSearch.cs │ ├── EpisodeVM.cs │ ├── SerieInfoVM.cs │ ├── SerieFollowersVM.cs │ └── SerieVM.cs │ ├── Services │ ├── ITsApiService.cs │ ├── TsApiService.cs │ └── BaseProvider.cs │ ├── packages.config │ ├── app.config │ ├── Exceptions │ └── TrackSeriesApiException.cs │ ├── Properties │ └── AssemblyInfo.cs │ └── InfoSeries.Core.csproj ├── TabbedSample ├── TabbedSample │ ├── TabbedSample.UWP │ │ ├── Assets │ │ │ ├── StoreLogo.png │ │ │ ├── SplashScreen.scale-200.png │ │ │ ├── LockScreenLogo.scale-200.png │ │ │ ├── Square44x44Logo.scale-200.png │ │ │ ├── Wide310x150Logo.scale-200.png │ │ │ ├── Square150x150Logo.scale-200.png │ │ │ └── Square44x44Logo.targetsize-24_altform-unplated.png │ │ ├── TabbedSample.UWP_TemporaryKey.pfx │ │ ├── App.xaml │ │ ├── MainPage.xaml │ │ ├── project.json │ │ ├── MainPage.xaml.cs │ │ ├── Properties │ │ │ ├── AssemblyInfo.cs │ │ │ └── Default.rd.xml │ │ ├── Package.appxmanifest │ │ └── App.xaml.cs │ ├── TabbedSample.Droid │ │ ├── Resources │ │ │ ├── drawable │ │ │ │ └── icon.png │ │ │ ├── drawable-hdpi │ │ │ │ └── icon.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── icon.png │ │ │ ├── drawable-xxhdpi │ │ │ │ └── icon.png │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── values-v21 │ │ │ │ └── styles.xml │ │ │ ├── layout │ │ │ │ ├── tabs.xml │ │ │ │ └── toolbar.xml │ │ │ └── AboutResources.txt │ │ ├── Properties │ │ │ ├── AndroidManifest.xml │ │ │ └── AssemblyInfo.cs │ │ ├── Assets │ │ │ └── AboutAssets.txt │ │ ├── app.config │ │ ├── MainActivity.cs │ │ └── packages.config │ └── TabbedSample │ │ ├── Views │ │ ├── MainTabbedPage.xaml.cs │ │ ├── ShowsListPage.xaml.cs │ │ ├── UpcomingShowsPage.xaml.cs │ │ ├── MainTabbedPage.xaml │ │ ├── UpcomingShowsPage.xaml │ │ └── ShowsListPage.xaml │ │ ├── App.xaml │ │ ├── app.config │ │ ├── packages.config │ │ ├── App.xaml.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ └── ViewModels │ │ ├── UpcomingShowsPageViewModel.cs │ │ └── ShowsListPageViewModel.cs └── InfoSeries.Core │ ├── Models │ ├── GenreVM.cs │ ├── ActorVM.cs │ ├── TmdbRequest.cs │ ├── ImageSeriesVM.cs │ ├── SeasonVM.cs │ ├── SeasonParameter.cs │ ├── TmdbVideo.cs │ ├── SerieSearch.cs │ ├── EpisodeVM.cs │ ├── SerieInfoVM.cs │ ├── SerieFollowersVM.cs │ └── SerieVM.cs │ ├── Services │ ├── ITsApiService.cs │ ├── TsApiService.cs │ └── BaseProvider.cs │ ├── packages.config │ ├── app.config │ ├── Exceptions │ └── TrackSeriesApiException.cs │ ├── Properties │ └── AssemblyInfo.cs │ └── InfoSeries.Core.csproj ├── DeepNavigation ├── DeepNavigation │ ├── DeepNavigation.UWP │ │ ├── Assets │ │ │ ├── StoreLogo.png │ │ │ ├── SplashScreen.scale-200.png │ │ │ ├── LockScreenLogo.scale-200.png │ │ │ ├── Square44x44Logo.scale-200.png │ │ │ ├── Wide310x150Logo.scale-200.png │ │ │ ├── Square150x150Logo.scale-200.png │ │ │ └── Square44x44Logo.targetsize-24_altform-unplated.png │ │ ├── DeepNavigation.UWP_TemporaryKey.pfx │ │ ├── App.xaml │ │ ├── MainPage.xaml │ │ ├── MainPage.xaml.cs │ │ ├── Properties │ │ │ ├── AssemblyInfo.cs │ │ │ └── Default.rd.xml │ │ ├── Package.appxmanifest │ │ └── App.xaml.cs │ ├── DeepNavigation.Droid │ │ ├── Resources │ │ │ ├── drawable │ │ │ │ └── icon.png │ │ │ ├── drawable-hdpi │ │ │ │ └── icon.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── icon.png │ │ │ ├── drawable-xxhdpi │ │ │ │ └── icon.png │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── values-v21 │ │ │ │ └── styles.xml │ │ │ ├── layout │ │ │ │ ├── tabs.xml │ │ │ │ └── toolbar.xml │ │ │ └── AboutResources.txt │ │ ├── Properties │ │ │ ├── AndroidManifest.xml │ │ │ └── AssemblyInfo.cs │ │ ├── Assets │ │ │ └── AboutAssets.txt │ │ ├── app.config │ │ ├── MainActivity.cs │ │ └── packages.config │ └── DeepNavigation │ │ ├── Views │ │ ├── DetailPage.xaml.cs │ │ ├── ShowsListPage.xaml.cs │ │ ├── UpcomingShowsPage.xaml.cs │ │ ├── UpcomingShowsPage.xaml │ │ ├── MainTabbedPage.xaml │ │ ├── DetailPage.xaml │ │ ├── MainTabbedPage.xaml.cs │ │ └── ShowsListPage.xaml │ │ ├── App.xaml │ │ ├── ViewModels │ │ ├── UpcomingShowsPageViewModel.cs │ │ ├── DetailPageViewModel.cs │ │ └── ShowsListPageViewModel.cs │ │ ├── app.config │ │ ├── packages.config │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ └── App.xaml.cs └── InfoSeries.Core │ ├── Models │ ├── GenreVM.cs │ ├── ActorVM.cs │ ├── TmdbRequest.cs │ ├── ImageSeriesVM.cs │ ├── SeasonVM.cs │ ├── SeasonParameter.cs │ ├── TmdbVideo.cs │ ├── SerieSearch.cs │ ├── EpisodeVM.cs │ ├── SerieInfoVM.cs │ ├── SerieFollowersVM.cs │ └── SerieVM.cs │ ├── Services │ ├── ITsApiService.cs │ ├── TsApiService.cs │ └── BaseProvider.cs │ ├── packages.config │ ├── app.config │ ├── Exceptions │ └── TrackSeriesApiException.cs │ ├── Properties │ └── AssemblyInfo.cs │ └── InfoSeries.Core.csproj ├── README.md ├── LICENSE.md ├── .gitattributes └── .gitignore /InfoSeries/InfoSeries/InfoSeries.UWP/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/InfoSeries/InfoSeries/InfoSeries.UWP/Assets/StoreLogo.png -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/TabbedSample/TabbedSample/TabbedSample.UWP/Assets/StoreLogo.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Resources/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/InfoSeries/InfoSeries/InfoSeries.Droid/Resources/drawable/icon.png -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/StoreLogo.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/InfoSeries/InfoSeries/InfoSeries.UWP/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/InfoSeries.UWP_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/InfoSeries/InfoSeries/InfoSeries.UWP/InfoSeries.UWP_TemporaryKey.pfx -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Resources/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/InfoSeries/InfoSeries/InfoSeries.Droid/Resources/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Resources/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/InfoSeries/InfoSeries/InfoSeries.Droid/Resources/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/InfoSeries/InfoSeries/InfoSeries.UWP/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Resources/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/TabbedSample/TabbedSample/TabbedSample.Droid/Resources/drawable/icon.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Resources/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/InfoSeries/InfoSeries/InfoSeries.Droid/Resources/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/InfoSeries/InfoSeries/InfoSeries.UWP/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/InfoSeries/InfoSeries/InfoSeries.UWP/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/InfoSeries/InfoSeries/InfoSeries.UWP/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Resources/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/TabbedSample/TabbedSample/TabbedSample.Droid/Resources/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/TabbedSample/TabbedSample/TabbedSample.UWP/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/TabbedSample.UWP_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/TabbedSample/TabbedSample/TabbedSample.UWP/TabbedSample.UWP_TemporaryKey.pfx -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/drawable/icon.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries/Services/IShareService.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Services 2 | { 3 | public interface IShareService 4 | { 5 | void Share(string title, string overview); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Resources/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/TabbedSample/TabbedSample/TabbedSample.Droid/Resources/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Resources/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/TabbedSample/TabbedSample/TabbedSample.Droid/Resources/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/TabbedSample/TabbedSample/TabbedSample.UWP/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/TabbedSample/TabbedSample/TabbedSample.UWP/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/TabbedSample/TabbedSample/TabbedSample.UWP/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Models/GenreVM.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class GenreVM 4 | { 5 | public int Id { get; set; } 6 | public string Name { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/TabbedSample/TabbedSample/TabbedSample.UWP/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/DeepNavigation.UWP_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/DeepNavigation/DeepNavigation/DeepNavigation.UWP/DeepNavigation.UWP_TemporaryKey.pfx -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Models/GenreVM.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class GenreVM 4 | { 5 | public int Id { get; set; } 6 | public string Name { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Models/GenreVM.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class GenreVM 4 | { 5 | public int Id { get; set; } 6 | public string Name { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/InfoSeries/InfoSeries/InfoSeries.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/TabbedSample/TabbedSample/TabbedSample.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qmatteoq/XamarinForms-Prism/HEAD/DeepNavigation/DeepNavigation/DeepNavigation.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | #2196F3 3 | #1976D2 4 | #FFC107 5 | #F5F5F5 6 | 7 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Models/ActorVM.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class ActorVM 4 | { 5 | public string Name { get; set; } 6 | public string Character { get; set; } 7 | public string Image { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Models/ActorVM.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class ActorVM 4 | { 5 | public string Name { get; set; } 6 | public string Character { get; set; } 7 | public string Image { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Models/ActorVM.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class ActorVM 4 | { 5 | public string Name { get; set; } 6 | public string Character { get; set; } 7 | public string Image { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | #2196F3 3 | #1976D2 4 | #FFC107 5 | #F5F5F5 6 | 7 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | #2196F3 3 | #1976D2 4 | #FFC107 5 | #F5F5F5 6 | 7 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Models/TmdbRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace InfoSeries.Core.Models 4 | { 5 | public class TmdbRequest 6 | { 7 | public int Id { get; set; } 8 | public List Results { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Models/TmdbRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace InfoSeries.Core.Models 4 | { 5 | public class TmdbRequest 6 | { 7 | public int Id { get; set; } 8 | public List Results { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Models/TmdbRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace InfoSeries.Core.Models 4 | { 5 | public class TmdbRequest 6 | { 7 | public int Id { get; set; } 8 | public List Results { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Models/ImageSeriesVM.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class ImagesSerieVM 4 | { 5 | public string Poster { get; set; } 6 | public string Fanart { get; set; } 7 | public string Banner { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Models/ImageSeriesVM.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class ImagesSerieVM 4 | { 5 | public string Poster { get; set; } 6 | public string Fanart { get; set; } 7 | public string Banner { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Models/ImageSeriesVM.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class ImagesSerieVM 4 | { 5 | public string Poster { get; set; } 6 | public string Fanart { get; set; } 7 | public string Banner { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries/Views/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace InfoSeries.Views 4 | { 5 | public partial class MainPage : ContentPage 6 | { 7 | public MainPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries/Views/DetailPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace InfoSeries.Views 4 | { 5 | public partial class DetailPage : ContentPage 6 | { 7 | public DetailPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/Views/DetailPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace DeepNavigation.Views 4 | { 5 | public partial class DetailPage : ContentPage 6 | { 7 | public DetailPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/Views/MainTabbedPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace TabbedSample.Views 4 | { 5 | public partial class MainTabbedPage : TabbedPage 6 | { 7 | public MainTabbedPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/Views/ShowsListPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace TabbedSample.Views 4 | { 5 | public partial class ShowsListPage : ContentPage 6 | { 7 | public ShowsListPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/App.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/Views/ShowsListPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace DeepNavigation.Views 4 | { 5 | public partial class ShowsListPage : ContentPage 6 | { 7 | public ShowsListPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/App.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/Views/UpcomingShowsPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace TabbedSample.Views 4 | { 5 | public partial class UpcomingShowsPage : ContentPage 6 | { 7 | public UpcomingShowsPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/Views/UpcomingShowsPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace DeepNavigation.Views 4 | { 5 | public partial class UpcomingShowsPage : ContentPage 6 | { 7 | public UpcomingShowsPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/App.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Models/SeasonVM.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace InfoSeries.Core.Models 4 | { 5 | public class SeasonVM 6 | { 7 | public List Episodes { get; set; } 8 | public string Poster { get; set; } 9 | public int SeasonNumber { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Models/SeasonVM.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace InfoSeries.Core.Models 4 | { 5 | public class SeasonVM 6 | { 7 | public List Episodes { get; set; } 8 | public string Poster { get; set; } 9 | public int SeasonNumber { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Models/SeasonVM.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace InfoSeries.Core.Models 4 | { 5 | public class SeasonVM 6 | { 7 | public List Episodes { get; set; } 8 | public string Poster { get; set; } 9 | public int SeasonNumber { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Resources/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Resources/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Models/SeasonParameter.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class SeasonParameter 4 | { 5 | public int SeriesId { get; set; } 6 | 7 | public SeasonVM SelectedSeason { get; set; } 8 | 9 | public SeasonParameter(int id, SeasonVM season) 10 | { 11 | SeriesId = id; 12 | SelectedSeason = season; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Models/SeasonParameter.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class SeasonParameter 4 | { 5 | public int SeriesId { get; set; } 6 | 7 | public SeasonVM SelectedSeason { get; set; } 8 | 9 | public SeasonParameter(int id, SeasonVM season) 10 | { 11 | SeriesId = id; 12 | SelectedSeason = season; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Models/SeasonParameter.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class SeasonParameter 4 | { 5 | public int SeriesId { get; set; } 6 | 7 | public SeasonVM SelectedSeason { get; set; } 8 | 9 | public SeasonParameter(int id, SeasonVM season) 10 | { 11 | SeriesId = id; 12 | SelectedSeason = season; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Models/TmdbVideo.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class TmdbVideo 4 | { 5 | public string Id { get; set; } 6 | public string Iso_639_1 { get; set; } 7 | public string Key { get; set; } 8 | public string Name { get; set; } 9 | public string Site { get; set; } 10 | public int Size { get; set; } 11 | public string Type { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Models/TmdbVideo.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class TmdbVideo 4 | { 5 | public string Id { get; set; } 6 | public string Iso_639_1 { get; set; } 7 | public string Key { get; set; } 8 | public string Name { get; set; } 9 | public string Site { get; set; } 10 | public int Size { get; set; } 11 | public string Type { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Models/TmdbVideo.cs: -------------------------------------------------------------------------------- 1 | namespace InfoSeries.Core.Models 2 | { 3 | public class TmdbVideo 4 | { 5 | public string Id { get; set; } 6 | public string Iso_639_1 { get; set; } 7 | public string Key { get; set; } 8 | public string Name { get; set; } 9 | public string Site { get; set; } 10 | public int Size { get; set; } 11 | public string Type { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Services/ITsApiService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using InfoSeries.Core.Models; 4 | 5 | namespace InfoSeries.Core.Services 6 | { 7 | public interface ITsApiService 8 | { 9 | Task> GetStatsTopSeries(); 10 | Task GetSerieByIdAll(int id); 11 | Task GetSerieById(int id); 12 | Task> GetSeriesSearch(string name); 13 | Task GetStatsSerieHighlighted(); 14 | } 15 | } -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Services/ITsApiService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using InfoSeries.Core.Models; 4 | 5 | namespace InfoSeries.Core.Services 6 | { 7 | public interface ITsApiService 8 | { 9 | Task> GetStatsTopSeries(); 10 | Task GetSerieByIdAll(int id); 11 | Task GetSerieById(int id); 12 | Task> GetSeriesSearch(string name); 13 | Task GetStatsSerieHighlighted(); 14 | } 15 | } -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Services/ITsApiService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using InfoSeries.Core.Models; 4 | 5 | namespace InfoSeries.Core.Services 6 | { 7 | public interface ITsApiService 8 | { 9 | Task> GetStatsTopSeries(); 10 | Task GetSerieByIdAll(int id); 11 | Task GetSerieById(int id); 12 | Task> GetSeriesSearch(string name); 13 | Task GetStatsSerieHighlighted(); 14 | } 15 | } -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Resources/layout/tabs.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Resources/layout/tabs.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/layout/tabs.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/ViewModels/UpcomingShowsPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using Prism.Mvvm; 2 | 3 | namespace DeepNavigation.ViewModels 4 | { 5 | public class UpcomingShowsPageViewModel : BindableBase 6 | { 7 | private string _description; 8 | public string Description 9 | { 10 | get { return _description; } 11 | set { SetProperty(ref _description, value); } 12 | } 13 | 14 | public UpcomingShowsPageViewModel() 15 | { 16 | Description = "This is the list of upcoming shows"; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Resources/layout/toolbar.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Resources/layout/toolbar.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/layout/toolbar.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/MainPage.xaml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/MainPage.xaml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/Views/UpcomingShowsPage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/MainPage.xaml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/Views/MainTabbedPage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/Views/MainTabbedPage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "CommonServiceLocator": "1.3.0", 4 | "Corcav.Behaviors": "2.3.7", 5 | "Microsoft.Net.Http": "2.2.29", 6 | "Microsoft.NETCore.UniversalWindowsPlatform": "6.0.1", 7 | "Newtonsoft.Json": "10.0.3", 8 | "Prism.Core": "6.3.0", 9 | "Prism.Forms": "6.3.0", 10 | "Prism.Unity.Forms": "6.3.0", 11 | "Unity": "4.0.1", 12 | "Xamarin.Forms": "2.4.0.18342" 13 | }, 14 | "frameworks": { 15 | "uap10.0.10586": {} 16 | }, 17 | "runtimes": { 18 | "win10-arm": {}, 19 | "win10-arm-aot": {}, 20 | "win10-x86": {}, 21 | "win10-x86-aot": {}, 22 | "win10-x64": {}, 23 | "win10-x64-aot": {} 24 | } 25 | } -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with you package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with you package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with you package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Using Prism in a Xamarin Forms app 2 | Sample Xamarin Forms applications created using Prism 6.2 for Xamarin Forms. 3 | 4 | The demos are used in the following blog posts (the list will be updated as the posts gets released): 5 | 6 | 1) Overview: http://blog.qmatteoq.com/prism-for-xamarin-forms-an-overview-part-1/ 7 | 2) Basic navigation and dependency injection: http://blog.qmatteoq.com/prism-for-xamarin-forms-basic-navigation-and-dependency-injection-part-2/ 8 | 3) Advanced navigation : http://blog.qmatteoq.com/prism-for-xamarin-forms-advanced-navigation-part-3/ 9 | 4) Handling platform specific code : http://blog.qmatteoq.com/prism-for-xamarin-forms-handling-platform-specific-code-part-4/ 10 | 11 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Models/SerieSearch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace InfoSeries.Core.Models 4 | { 5 | public class SerieSearch 6 | { 7 | public int Id { get; set; } 8 | public string Language { get; set; } 9 | public string Name { get; set; } 10 | public string Banner { get; set; } 11 | public string Poster { get; set; } 12 | public string Overview { get; set; } 13 | public DateTimeOffset? FirstAired { get; set; } 14 | public string Network { get; set; } 15 | public string ImdbId { get; set; } 16 | public SearchProviderType SearchProviderType { get; set; } 17 | } 18 | 19 | public enum SearchProviderType 20 | { 21 | External, 22 | Internal 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Models/SerieSearch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace InfoSeries.Core.Models 4 | { 5 | public class SerieSearch 6 | { 7 | public int Id { get; set; } 8 | public string Language { get; set; } 9 | public string Name { get; set; } 10 | public string Banner { get; set; } 11 | public string Poster { get; set; } 12 | public string Overview { get; set; } 13 | public DateTimeOffset? FirstAired { get; set; } 14 | public string Network { get; set; } 15 | public string ImdbId { get; set; } 16 | public SearchProviderType SearchProviderType { get; set; } 17 | } 18 | 19 | public enum SearchProviderType 20 | { 21 | External, 22 | Internal 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Models/SerieSearch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace InfoSeries.Core.Models 4 | { 5 | public class SerieSearch 6 | { 7 | public int Id { get; set; } 8 | public string Language { get; set; } 9 | public string Name { get; set; } 10 | public string Banner { get; set; } 11 | public string Poster { get; set; } 12 | public string Overview { get; set; } 13 | public DateTimeOffset? FirstAired { get; set; } 14 | public string Network { get; set; } 15 | public string ImdbId { get; set; } 16 | public SearchProviderType SearchProviderType { get; set; } 17 | } 18 | 19 | public enum SearchProviderType 20 | { 21 | External, 22 | Internal 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/Views/DetailPage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 12 | 14 | 15 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Models/EpisodeVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace InfoSeries.Core.Models 5 | { 6 | public class EpisodeVM 7 | { 8 | public int Id { get; set; } 9 | public string Director { get; set; } 10 | public string Title { get; set; } 11 | public int Number { get; set; } 12 | public int SeasonNumber { get; set; } 13 | public int TvdbId { get; set; } 14 | public string Overview { get; set; } 15 | public DateTimeOffset? FirstAired { get; set; } 16 | public List Writers { get; set; } 17 | public string Image { get; set; } 18 | public string ImdbId { get; set; } 19 | public int SerieId { get; set; } 20 | public string SerieName { get; set; } 21 | public ImagesSerieVM SeriesImage { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Models/EpisodeVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace InfoSeries.Core.Models 5 | { 6 | public class EpisodeVM 7 | { 8 | public int Id { get; set; } 9 | public string Director { get; set; } 10 | public string Title { get; set; } 11 | public int Number { get; set; } 12 | public int SeasonNumber { get; set; } 13 | public int TvdbId { get; set; } 14 | public string Overview { get; set; } 15 | public DateTimeOffset? FirstAired { get; set; } 16 | public List Writers { get; set; } 17 | public string Image { get; set; } 18 | public string ImdbId { get; set; } 19 | public int SerieId { get; set; } 20 | public string SerieName { get; set; } 21 | public ImagesSerieVM SeriesImage { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Models/EpisodeVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace InfoSeries.Core.Models 5 | { 6 | public class EpisodeVM 7 | { 8 | public int Id { get; set; } 9 | public string Director { get; set; } 10 | public string Title { get; set; } 11 | public int Number { get; set; } 12 | public int SeasonNumber { get; set; } 13 | public int TvdbId { get; set; } 14 | public string Overview { get; set; } 15 | public DateTimeOffset? FirstAired { get; set; } 16 | public List Writers { get; set; } 17 | public string Image { get; set; } 18 | public string ImdbId { get; set; } 19 | public int SerieId { get; set; } 20 | public string SerieName { get; set; } 21 | public ImagesSerieVM SeriesImage { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/Views/MainTabbedPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Prism.Common; 2 | using Prism.Navigation; 3 | using Xamarin.Forms; 4 | 5 | namespace DeepNavigation.Views 6 | { 7 | public partial class MainTabbedPage : TabbedPage, INavigationAware 8 | { 9 | public MainTabbedPage() 10 | { 11 | InitializeComponent(); 12 | } 13 | 14 | public void OnNavigatedFrom(NavigationParameters parameters) 15 | { 16 | 17 | } 18 | 19 | public void OnNavigatedTo(NavigationParameters parameters) 20 | { 21 | foreach (var child in Children) 22 | { 23 | PageUtilities.OnNavigatedTo(child, parameters); 24 | } 25 | } 26 | 27 | public void OnNavigatingTo(NavigationParameters parameters) 28 | { 29 | 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using InfoSeries.Core.Services; 2 | using Prism.Unity; 3 | using Microsoft.Practices.Unity; 4 | using TabbedSample.Views; 5 | 6 | namespace TabbedSample 7 | { 8 | public partial class App : PrismApplication 9 | { 10 | public App(IPlatformInitializer initializer = null) : base(initializer) { } 11 | 12 | protected override void OnInitialized() 13 | { 14 | InitializeComponent(); 15 | 16 | NavigationService.NavigateAsync("MainTabbedPage"); 17 | } 18 | 19 | protected override void RegisterTypes() 20 | { 21 | Container.RegisterTypeForNavigation(); 22 | Container.RegisterTypeForNavigation(); 23 | Container.RegisterTypeForNavigation(); 24 | Container.RegisterType(); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Exceptions/TrackSeriesApiException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Net; 3 | 4 | namespace InfoSeries.Core.Exceptions 5 | { 6 | public class TrackSeriesApiException : Exception 7 | { 8 | public HttpStatusCode StatusCode { get; set; } 9 | public bool Connection { get; set; } 10 | 11 | public TrackSeriesApiException(string message, HttpStatusCode statusCode) 12 | : base(message) 13 | { 14 | StatusCode = statusCode; 15 | Connection = true; 16 | } 17 | 18 | public TrackSeriesApiException(string message, bool connection, Exception inner) 19 | : base(message, inner) 20 | { 21 | Connection = connection; 22 | StatusCode = HttpStatusCode.ServiceUnavailable; 23 | } 24 | } 25 | 26 | public class TrackSeriesApiError 27 | { 28 | public string Message { get; set; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Exceptions/TrackSeriesApiException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Net; 3 | 4 | namespace InfoSeries.Core.Exceptions 5 | { 6 | public class TrackSeriesApiException : Exception 7 | { 8 | public HttpStatusCode StatusCode { get; set; } 9 | public bool Connection { get; set; } 10 | 11 | public TrackSeriesApiException(string message, HttpStatusCode statusCode) 12 | : base(message) 13 | { 14 | StatusCode = statusCode; 15 | Connection = true; 16 | } 17 | 18 | public TrackSeriesApiException(string message, bool connection, Exception inner) 19 | : base(message, inner) 20 | { 21 | Connection = connection; 22 | StatusCode = HttpStatusCode.ServiceUnavailable; 23 | } 24 | } 25 | 26 | public class TrackSeriesApiError 27 | { 28 | public string Message { get; set; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Exceptions/TrackSeriesApiException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Net; 3 | 4 | namespace InfoSeries.Core.Exceptions 5 | { 6 | public class TrackSeriesApiException : Exception 7 | { 8 | public HttpStatusCode StatusCode { get; set; } 9 | public bool Connection { get; set; } 10 | 11 | public TrackSeriesApiException(string message, HttpStatusCode statusCode) 12 | : base(message) 13 | { 14 | StatusCode = statusCode; 15 | Connection = true; 16 | } 17 | 18 | public TrackSeriesApiException(string message, bool connection, Exception inner) 19 | : base(message, inner) 20 | { 21 | Connection = connection; 22 | StatusCode = HttpStatusCode.ServiceUnavailable; 23 | } 24 | } 25 | 26 | public class TrackSeriesApiError 27 | { 28 | public string Message { get; set; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries/Views/DetailPage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 18 | 19 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using InfoSeries.Core.Services; 2 | using Prism.Unity; 3 | using InfoSeries.Views; 4 | using Microsoft.Practices.Unity; 5 | using Xamarin.Forms; 6 | using InfoSeries.ViewModels; 7 | 8 | namespace InfoSeries 9 | { 10 | public partial class App : PrismApplication 11 | { 12 | public App(IPlatformInitializer initializer = null) : base(initializer) { } 13 | 14 | protected override void OnInitialized() 15 | { 16 | InitializeComponent(); 17 | 18 | NavigationService.NavigateAsync("NavigationPage/MainPage"); 19 | } 20 | protected override void RegisterTypes() 21 | { 22 | Container.RegisterTypeForNavigation(); 23 | Container.RegisterTypeForNavigation(); 24 | Container.RegisterTypeForNavigation(); 25 | Container.RegisterType(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Services/DroidShareService.cs: -------------------------------------------------------------------------------- 1 | using Android.Content; 2 | using InfoSeries.Droid.Services; 3 | using InfoSeries.Services; 4 | using Xamarin.Forms; 5 | 6 | [assembly: Dependency(typeof(DroidShareService))] 7 | namespace InfoSeries.Droid.Services 8 | { 9 | public class DroidShareService : IShareService 10 | { 11 | public void Share(string title, string url) 12 | { 13 | var intent = new Intent(Intent.ActionSend); 14 | intent.SetType("text/plain"); 15 | intent.PutExtra(Intent.ExtraText, url); 16 | 17 | if (title != null) 18 | { 19 | intent.PutExtra(Intent.ExtraSubject, title); 20 | } 21 | 22 | var chooserIntent = Intent.CreateChooser(intent, title); 23 | chooserIntent.SetFlags(ActivityFlags.ClearTop); 24 | chooserIntent.SetFlags(ActivityFlags.NewTask); 25 | Forms.Context.StartActivity(chooserIntent); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | using Prism.Unity; 16 | using Microsoft.Practices.Unity; 17 | 18 | namespace InfoSeries.UWP 19 | { 20 | public sealed partial class MainPage 21 | { 22 | public MainPage() 23 | { 24 | this.InitializeComponent(); 25 | 26 | LoadApplication(new InfoSeries.App(new UwpInitializer())); 27 | } 28 | } 29 | 30 | public class UwpInitializer : IPlatformInitializer 31 | { 32 | public void RegisterTypes(IUnityContainer container) 33 | { 34 | 35 | } 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | using Prism.Unity; 16 | using Microsoft.Practices.Unity; 17 | 18 | namespace TabbedSample.UWP 19 | { 20 | public sealed partial class MainPage 21 | { 22 | public MainPage() 23 | { 24 | this.InitializeComponent(); 25 | 26 | LoadApplication(new TabbedSample.App(new UwpInitializer())); 27 | } 28 | } 29 | 30 | public class UwpInitializer : IPlatformInitializer 31 | { 32 | public void RegisterTypes(IUnityContainer container) 33 | { 34 | 35 | } 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | using Prism.Unity; 16 | using Microsoft.Practices.Unity; 17 | 18 | namespace DeepNavigation.UWP 19 | { 20 | public sealed partial class MainPage 21 | { 22 | public MainPage() 23 | { 24 | this.InitializeComponent(); 25 | 26 | LoadApplication(new DeepNavigation.App(new UwpInitializer())); 27 | } 28 | } 29 | 30 | public class UwpInitializer : IPlatformInitializer 31 | { 32 | public void RegisterTypes(IUnityContainer container) 33 | { 34 | 35 | } 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Content.PM; 3 | using Android.OS; 4 | using Microsoft.Practices.Unity; 5 | using Prism.Unity; 6 | using DeepNavigation.Droid; 7 | 8 | namespace DeepNavigation.Droid 9 | { 10 | [Activity(Label = "DeepNavigation", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 11 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity 12 | { 13 | protected override void OnCreate(Bundle bundle) 14 | { 15 | TabLayoutResource = Resource.Layout.tabs; 16 | ToolbarResource = Resource.Layout.toolbar; 17 | 18 | base.OnCreate(bundle); 19 | 20 | global::Xamarin.Forms.Forms.Init(this, bundle); 21 | LoadApplication(new App(new AndroidInitializer())); 22 | } 23 | } 24 | 25 | public class AndroidInitializer : IPlatformInitializer 26 | { 27 | public void RegisterTypes(IUnityContainer container) 28 | { 29 | 30 | } 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) [2015] [Matteo Pagani] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Models/SerieInfoVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace InfoSeries.Core.Models 5 | { 6 | public class SerieInfoVM 7 | { 8 | public int Id { get; set; } 9 | public string Name { get; set; } 10 | public DateTimeOffset FirstAired { get; set; } 11 | public string Country { get; set; } 12 | public string Year { get; set; } 13 | public string Overview { get; set; } 14 | public int Runtime { get; set; } 15 | public string Status { get; set; } 16 | public string Network { get; set; } 17 | public DayOfWeek? AirDay { get; set; } 18 | public string AirTime { get; set; } 19 | public string ContentRating { get; set; } 20 | public string ImdbId { get; set; } 21 | public int TvdbId { get; set; } 22 | public string Language { get; set; } 23 | public ImagesSerieVM Images { get; set; } 24 | public List Genres { get; set; } 25 | public DateTime Added { get; set; } 26 | public DateTime LastUpdated { get; set; } 27 | public string SlugName { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Models/SerieInfoVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace InfoSeries.Core.Models 5 | { 6 | public class SerieInfoVM 7 | { 8 | public int Id { get; set; } 9 | public string Name { get; set; } 10 | public DateTimeOffset FirstAired { get; set; } 11 | public string Country { get; set; } 12 | public string Year { get; set; } 13 | public string Overview { get; set; } 14 | public int Runtime { get; set; } 15 | public string Status { get; set; } 16 | public string Network { get; set; } 17 | public DayOfWeek? AirDay { get; set; } 18 | public string AirTime { get; set; } 19 | public string ContentRating { get; set; } 20 | public string ImdbId { get; set; } 21 | public int TvdbId { get; set; } 22 | public string Language { get; set; } 23 | public ImagesSerieVM Images { get; set; } 24 | public List Genres { get; set; } 25 | public DateTime Added { get; set; } 26 | public DateTime LastUpdated { get; set; } 27 | public string SlugName { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Models/SerieInfoVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace InfoSeries.Core.Models 5 | { 6 | public class SerieInfoVM 7 | { 8 | public int Id { get; set; } 9 | public string Name { get; set; } 10 | public DateTimeOffset FirstAired { get; set; } 11 | public string Country { get; set; } 12 | public string Year { get; set; } 13 | public string Overview { get; set; } 14 | public int Runtime { get; set; } 15 | public string Status { get; set; } 16 | public string Network { get; set; } 17 | public DayOfWeek? AirDay { get; set; } 18 | public string AirTime { get; set; } 19 | public string ContentRating { get; set; } 20 | public string ImdbId { get; set; } 21 | public int TvdbId { get; set; } 22 | public string Language { get; set; } 23 | public ImagesSerieVM Images { get; set; } 24 | public List Genres { get; set; } 25 | public DateTime Added { get; set; } 26 | public DateTime LastUpdated { get; set; } 27 | public string SlugName { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Models/SerieFollowersVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace InfoSeries.Core.Models 5 | { 6 | public class SerieFollowersVM 7 | { 8 | public int Id { get; set; } 9 | public string Name { get; set; } 10 | public int Followers { get; set; } 11 | public DateTimeOffset FirstAired { get; set; } 12 | public string Country { get; set; } 13 | public string Overview { get; set; } 14 | public int Runtime { get; set; } 15 | public string Status { get; set; } 16 | public string Network { get; set; } 17 | public DayOfWeek? AirDay { get; set; } 18 | public string AirTime { get; set; } 19 | public string ContentRating { get; set; } 20 | public string ImdbId { get; set; } 21 | public int TvdbId { get; set; } 22 | public string Language { get; set; } 23 | public ImagesSerieVM Images { get; set; } 24 | public ICollection Genres { get; set; } 25 | public DateTime Added { get; set; } 26 | public DateTime LastUpdated { get; set; } 27 | public string SlugName { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Android.App; 4 | using Android.Content.PM; 5 | using Android.Runtime; 6 | using Android.Views; 7 | using Android.Widget; 8 | using Android.OS; 9 | using Prism.Unity; 10 | using Microsoft.Practices.Unity; 11 | 12 | namespace InfoSeries.Droid 13 | { 14 | [Activity(Label = "InfoSeries", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 15 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity 16 | { 17 | protected override void OnCreate(Bundle bundle) 18 | { 19 | TabLayoutResource = Resource.Layout.tabs; 20 | ToolbarResource = Resource.Layout.toolbar; 21 | 22 | base.OnCreate(bundle); 23 | 24 | global::Xamarin.Forms.Forms.Init(this, bundle); 25 | LoadApplication(new App(new AndroidInitializer())); 26 | } 27 | } 28 | 29 | public class AndroidInitializer : IPlatformInitializer 30 | { 31 | public void RegisterTypes(IUnityContainer container) 32 | { 33 | 34 | } 35 | } 36 | } 37 | 38 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Models/SerieFollowersVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace InfoSeries.Core.Models 5 | { 6 | public class SerieFollowersVM 7 | { 8 | public int Id { get; set; } 9 | public string Name { get; set; } 10 | public int Followers { get; set; } 11 | public DateTimeOffset FirstAired { get; set; } 12 | public string Country { get; set; } 13 | public string Overview { get; set; } 14 | public int Runtime { get; set; } 15 | public string Status { get; set; } 16 | public string Network { get; set; } 17 | public DayOfWeek? AirDay { get; set; } 18 | public string AirTime { get; set; } 19 | public string ContentRating { get; set; } 20 | public string ImdbId { get; set; } 21 | public int TvdbId { get; set; } 22 | public string Language { get; set; } 23 | public ImagesSerieVM Images { get; set; } 24 | public ICollection Genres { get; set; } 25 | public DateTime Added { get; set; } 26 | public DateTime LastUpdated { get; set; } 27 | public string SlugName { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Models/SerieFollowersVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace InfoSeries.Core.Models 5 | { 6 | public class SerieFollowersVM 7 | { 8 | public int Id { get; set; } 9 | public string Name { get; set; } 10 | public int Followers { get; set; } 11 | public DateTimeOffset FirstAired { get; set; } 12 | public string Country { get; set; } 13 | public string Overview { get; set; } 14 | public int Runtime { get; set; } 15 | public string Status { get; set; } 16 | public string Network { get; set; } 17 | public DayOfWeek? AirDay { get; set; } 18 | public string AirTime { get; set; } 19 | public string ContentRating { get; set; } 20 | public string ImdbId { get; set; } 21 | public int TvdbId { get; set; } 22 | public string Language { get; set; } 23 | public ImagesSerieVM Images { get; set; } 24 | public ICollection Genres { get; set; } 25 | public DateTime Added { get; set; } 26 | public DateTime LastUpdated { get; set; } 27 | public string SlugName { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("InfoSeries.UWP")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("InfoSeries.UWP")] 13 | [assembly: AssemblyCopyright("Copyright © 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Android.App; 4 | using Android.Content.PM; 5 | using Android.Runtime; 6 | using Android.Views; 7 | using Android.Widget; 8 | using Android.OS; 9 | using Prism.Unity; 10 | using Microsoft.Practices.Unity; 11 | 12 | namespace TabbedSample.Droid 13 | { 14 | [Activity(Label = "TabbedSample", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 15 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity 16 | { 17 | protected override void OnCreate(Bundle bundle) 18 | { 19 | TabLayoutResource = Resource.Layout.tabs; 20 | ToolbarResource = Resource.Layout.toolbar; 21 | 22 | base.OnCreate(bundle); 23 | 24 | global::Xamarin.Forms.Forms.Init(this, bundle); 25 | LoadApplication(new App(new AndroidInitializer())); 26 | } 27 | } 28 | 29 | public class AndroidInitializer : IPlatformInitializer 30 | { 31 | public void RegisterTypes(IUnityContainer container) 32 | { 33 | 34 | } 35 | } 36 | } 37 | 38 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("PrismTest.UWP")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PrismTest.UWP")] 13 | [assembly: AssemblyCopyright("Copyright © 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("TabbedSample.UWP")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("TabbedSample.UWP")] 13 | [assembly: AssemblyCopyright("Copyright © 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Resources; 2 | using System.Reflection; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("InfoSeries.Core")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("InfoSeries.Core")] 14 | [assembly: AssemblyCopyright("Copyright © 2016")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: NeutralResourcesLanguage("en")] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Resources; 2 | using System.Reflection; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("InfoSeries")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("InfoSeries")] 14 | [assembly: AssemblyCopyright("Copyright © 2016")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: NeutralResourcesLanguage("en")] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Resources; 2 | using System.Reflection; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("InfoSeries.Core")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("InfoSeries.Core")] 14 | [assembly: AssemblyCopyright("Copyright © 2016")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: NeutralResourcesLanguage("en")] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Resources; 2 | using System.Reflection; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("InfoSeries.Core")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("InfoSeries.Core")] 14 | [assembly: AssemblyCopyright("Copyright © 2016")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: NeutralResourcesLanguage("en")] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Resources; 2 | using System.Reflection; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("PrismTest")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("PrismTest")] 14 | [assembly: AssemblyCopyright("Copyright © 2016")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: NeutralResourcesLanguage("en")] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/ViewModels/DetailPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using InfoSeries.Core.Models; 3 | using InfoSeries.Core.Services; 4 | using Prism.Mvvm; 5 | using Prism.Navigation; 6 | 7 | namespace DeepNavigation.ViewModels 8 | { 9 | public class DetailPageViewModel : BindableBase, INavigationAware 10 | { 11 | private readonly ITsApiService _tsApiService; 12 | private SerieInfoVM _selectedShow; 13 | 14 | public SerieInfoVM SelectedShow 15 | { 16 | get { return _selectedShow; } 17 | set { SetProperty(ref _selectedShow, value); } 18 | } 19 | 20 | public DetailPageViewModel(ITsApiService tsApiService) 21 | { 22 | _tsApiService = tsApiService; 23 | } 24 | 25 | public void OnNavigatedFrom(NavigationParameters parameters) 26 | { 27 | 28 | } 29 | 30 | public async void OnNavigatedTo(NavigationParameters parameters) 31 | { 32 | int id = Convert.ToInt32(parameters["show"]); 33 | SelectedShow = await _tsApiService.GetSerieById(id); 34 | } 35 | 36 | public void OnNavigatingTo(NavigationParameters parameters) 37 | { 38 | 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using DeepNavigation.Views; 2 | using InfoSeries.Core.Services; 3 | using Microsoft.Practices.Unity; 4 | using Prism.Unity; 5 | using Xamarin.Forms; 6 | 7 | namespace DeepNavigation 8 | { 9 | public partial class App : PrismApplication 10 | { 11 | public App(IPlatformInitializer initializer = null) : base(initializer) { } 12 | 13 | protected override async void OnInitialized() 14 | { 15 | InitializeComponent(); 16 | 17 | await NavigationService.NavigateAsync("NavigationPage/MainTabbedPage/ShowsListPage/DetailPage?show=279121"); 18 | //await NavigationService.NavigateAsync("NavigationPage/MainTabbedPage/ShowsListPage"); 19 | } 20 | 21 | protected override void RegisterTypes() 22 | { 23 | Container.RegisterTypeForNavigation(); 24 | Container.RegisterTypeForNavigation(); 25 | Container.RegisterTypeForNavigation(); 26 | Container.RegisterTypeForNavigation(); 27 | Container.RegisterTypeForNavigation(); 28 | Container.RegisterType(); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Services/TsApiService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using InfoSeries.Core.Models; 4 | 5 | namespace InfoSeries.Core.Services 6 | { 7 | public class TsApiService: BaseProvider, ITsApiService 8 | { 9 | public TsApiService() 10 | { 11 | _baseUrl = "https://api.trackseries.tv/v1/"; 12 | } 13 | 14 | public async Task> GetStatsTopSeries() 15 | { 16 | return await Get>("Stats/TopSeries"); 17 | } 18 | 19 | public async Task GetSerieByIdAll(int id) 20 | { 21 | return await Get($"Series/{id}/All"); 22 | } 23 | 24 | public async Task GetSerieById(int id) 25 | { 26 | return await Get($"Series/{id}"); 27 | } 28 | 29 | public async Task> GetSeriesSearch(string name) 30 | { 31 | return await Get>($"Series/Search?query={name}"); 32 | } 33 | 34 | public async Task GetStatsSerieHighlighted() 35 | { 36 | return await Get("Stats/SerieHighlighted"); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Services/TsApiService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using InfoSeries.Core.Models; 4 | 5 | namespace InfoSeries.Core.Services 6 | { 7 | public class TsApiService: BaseProvider, ITsApiService 8 | { 9 | public TsApiService() 10 | { 11 | _baseUrl = "https://api.trackseries.tv/v1/"; 12 | } 13 | 14 | public async Task> GetStatsTopSeries() 15 | { 16 | return await Get>("Stats/TopSeries"); 17 | } 18 | 19 | public async Task GetSerieByIdAll(int id) 20 | { 21 | return await Get($"Series/{id}/All"); 22 | } 23 | 24 | public async Task GetSerieById(int id) 25 | { 26 | return await Get($"Series/{id}"); 27 | } 28 | 29 | public async Task> GetSeriesSearch(string name) 30 | { 31 | return await Get>($"Series/Search?query={name}"); 32 | } 33 | 34 | public async Task GetStatsSerieHighlighted() 35 | { 36 | return await Get("Stats/SerieHighlighted"); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Services/TsApiService.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using InfoSeries.Core.Models; 4 | 5 | namespace InfoSeries.Core.Services 6 | { 7 | public class TsApiService: BaseProvider, ITsApiService 8 | { 9 | public TsApiService() 10 | { 11 | _baseUrl = "https://api.trackseries.tv/v1/"; 12 | } 13 | 14 | public async Task> GetStatsTopSeries() 15 | { 16 | return await Get>("Stats/TopSeries"); 17 | } 18 | 19 | public async Task GetSerieByIdAll(int id) 20 | { 21 | return await Get($"Series/{id}/All"); 22 | } 23 | 24 | public async Task GetSerieById(int id) 25 | { 26 | return await Get($"Series/{id}"); 27 | } 28 | 29 | public async Task> GetSeriesSearch(string name) 30 | { 31 | return await Get>($"Series/Search?query={name}"); 32 | } 33 | 34 | public async Task GetStatsSerieHighlighted() 35 | { 36 | return await Get("Stats/SerieHighlighted"); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Resources; 2 | using System.Reflection; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | using Xamarin.Forms.Xaml; 6 | 7 | // General Information about an assembly is controlled through the following 8 | // set of attributes. Change these attribute values to modify the information 9 | // associated with an assembly. 10 | [assembly: AssemblyTitle("TabbedSample")] 11 | [assembly: AssemblyDescription("")] 12 | [assembly: AssemblyConfiguration("")] 13 | [assembly: AssemblyCompany("")] 14 | [assembly: AssemblyProduct("TabbedSample")] 15 | [assembly: AssemblyCopyright("Copyright © 2016")] 16 | [assembly: AssemblyTrademark("")] 17 | [assembly: AssemblyCulture("")] 18 | [assembly: NeutralResourcesLanguage("en")] 19 | [assembly: XamlCompilation(XamlCompilationOptions.Compile)] 20 | 21 | // Version information for an assembly consists of the following four values: 22 | // 23 | // Major Version 24 | // Minor Version 25 | // Build Number 26 | // Revision 27 | // 28 | // You can specify all the values or you can default the Build and Revision Numbers 29 | // by using the '*' as shown below: 30 | // [assembly: AssemblyVersion("1.0.*")] 31 | [assembly: AssemblyVersion("1.0.0.0")] 32 | [assembly: AssemblyFileVersion("1.0.0.0")] 33 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/Services/UwpShareService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Windows.ApplicationModel.DataTransfer; 3 | using Xamarin.Forms; 4 | using InfoSeries.UWP.Services; 5 | using InfoSeries.Services; 6 | 7 | [assembly: Dependency(typeof(UwpShareService))] 8 | namespace InfoSeries.UWP.Services 9 | { 10 | public class UwpShareService : IShareService 11 | { 12 | private string _title; 13 | private string _url; 14 | 15 | public UwpShareService() 16 | { 17 | DataTransferManager.GetForCurrentView().DataRequested += UwpShareService_DataRequested; 18 | } 19 | 20 | public void Share(string title, string url) 21 | { 22 | _title = title; 23 | _url = url; 24 | 25 | try 26 | { 27 | DataTransferManager.ShowShareUI(); 28 | } 29 | catch { } 30 | } 31 | 32 | private void UwpShareService_DataRequested(DataTransferManager sender, DataRequestedEventArgs args) 33 | { 34 | var deferral = args.Request.GetDeferral(); 35 | args.Request.Data.Properties.Title = _title; 36 | args.Request.Data.Properties.Description = _title; 37 | args.Request.Data.SetText(_url); 38 | deferral.Complete(); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/Views/UpcomingShowsPage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 31 | 32 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/Properties/Default.rd.xml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/Properties/Default.rd.xml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/Properties/Default.rd.xml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using Android.App; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("PrismTest.Droid")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("PrismTest.Droid")] 14 | [assembly: AssemblyCopyright("Copyright © 2016")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: ComVisible(false)] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | 32 | // Add some common permissions, these can be removed if not needed 33 | [assembly: UsesPermission(Android.Manifest.Permission.Internet)] 34 | [assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)] 35 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using Android.App; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("TabbedSample.Droid")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("TabbedSample.Droid")] 14 | [assembly: AssemblyCopyright("Copyright © 2016")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: ComVisible(false)] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | 32 | // Add some common permissions, these can be removed if not needed 33 | [assembly: UsesPermission(Android.Manifest.Permission.Internet)] 34 | [assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)] 35 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/ViewModels/UpcomingShowsPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Prism; 3 | using Prism.Mvvm; 4 | using InfoSeries.Core.Models; 5 | using System.Collections.ObjectModel; 6 | using InfoSeries.Core.Services; 7 | 8 | namespace TabbedSample.ViewModels 9 | { 10 | public class UpcomingShowsPageViewModel : BindableBase, IActiveAware 11 | { 12 | private ITsApiService _tsApiService; 13 | 14 | public UpcomingShowsPageViewModel(ITsApiService tsApiService) 15 | { 16 | _tsApiService = tsApiService; 17 | } 18 | 19 | public event EventHandler IsActiveChanged; 20 | 21 | private ObservableCollection _topSeries; 22 | 23 | public ObservableCollection TopSeries 24 | { 25 | get { return _topSeries; } 26 | set { SetProperty(ref _topSeries, value); } 27 | } 28 | 29 | private bool _isActive; 30 | public bool IsActive 31 | { 32 | get { return _isActive; } 33 | set 34 | { 35 | _isActive = value; 36 | OnActiveTabChangedAsync(); 37 | } 38 | } 39 | 40 | private async void OnActiveTabChangedAsync() 41 | { 42 | if (IsActive) 43 | { 44 | var series = await _tsApiService.GetStatsTopSeries(); 45 | TopSeries = new ObservableCollection(series); 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using Android.App; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("InfoSeries.Droid")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("InfoSeries.Droid")] 14 | [assembly: AssemblyCopyright("Copyright © 2016")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: ComVisible(false)] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | 32 | // Add some common permissions, these can be removed if not needed 33 | [assembly: UsesPermission(Android.Manifest.Permission.Internet)] 34 | [assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)] 35 | [assembly: UsesPermission(Android.Manifest.Permission.AccessNetworkState)] 36 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/ViewModels/ShowsListPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | using InfoSeries.Core.Models; 3 | using InfoSeries.Core.Services; 4 | using Prism.Mvvm; 5 | using Prism; 6 | using System; 7 | 8 | namespace TabbedSample.ViewModels 9 | { 10 | public class ShowsListPageViewModel : BindableBase, IActiveAware 11 | { 12 | private readonly ITsApiService _tsApiService; 13 | 14 | private ObservableCollection _highlightSeries; 15 | 16 | public ObservableCollection HighlightSeries 17 | { 18 | get { return _highlightSeries; } 19 | set { SetProperty(ref _highlightSeries, value); } 20 | } 21 | 22 | 23 | public ShowsListPageViewModel(ITsApiService tsApiService) 24 | { 25 | _tsApiService = tsApiService; 26 | } 27 | 28 | public event EventHandler IsActiveChanged; 29 | 30 | private bool _isActive; 31 | public bool IsActive 32 | { 33 | get { return _isActive; } 34 | set 35 | { 36 | _isActive = value; 37 | OnActiveTabChangedAsync(); 38 | } 39 | } 40 | 41 | private async void OnActiveTabChangedAsync() 42 | { 43 | if (IsActive) 44 | { 45 | var series = await _tsApiService.GetStatsTopSeries(); 46 | HighlightSeries = new ObservableCollection(series); 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Models/SerieVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace InfoSeries.Core.Models 5 | { 6 | public class SerieVM 7 | { 8 | public int Id { get; set; } 9 | public string Name { get; set; } 10 | public DateTimeOffset? FirstAired { get; set; } 11 | public string Country { get; set; } 12 | public string Overview { get; set; } 13 | public int Runtime { get; set; } 14 | public string Status { get; set; } 15 | public string Network { get; set; } 16 | public DayOfWeek? AirDay { get; set; } 17 | public string AirTime { get; set; } 18 | public string ContentRating { get; set; } 19 | public string ImdbId { get; set; } 20 | public int TvdbId { get; set; } 21 | public int TmdbId { get; set; } 22 | public string Language { get; set; } 23 | public string Year { get; set; } 24 | public ImagesSerieVM Images { get; set; } 25 | public virtual ICollection Genres { get; set; } 26 | public virtual ICollection Actors { get; set; } 27 | public DateTime Added { get; set; } 28 | public DateTime LastUpdated { get; set; } 29 | public string SlugName { get; set; } 30 | public List Seasons { get; set; } 31 | public List Videos { get; set; } 32 | 33 | public SerieVM() 34 | { 35 | Images = new ImagesSerieVM(); 36 | Genres = new List(); 37 | Actors = new List(); 38 | } 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Models/SerieVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace InfoSeries.Core.Models 5 | { 6 | public class SerieVM 7 | { 8 | public int Id { get; set; } 9 | public string Name { get; set; } 10 | public DateTimeOffset? FirstAired { get; set; } 11 | public string Country { get; set; } 12 | public string Overview { get; set; } 13 | public int Runtime { get; set; } 14 | public string Status { get; set; } 15 | public string Network { get; set; } 16 | public DayOfWeek? AirDay { get; set; } 17 | public string AirTime { get; set; } 18 | public string ContentRating { get; set; } 19 | public string ImdbId { get; set; } 20 | public int TvdbId { get; set; } 21 | public int TmdbId { get; set; } 22 | public string Language { get; set; } 23 | public string Year { get; set; } 24 | public ImagesSerieVM Images { get; set; } 25 | public virtual ICollection Genres { get; set; } 26 | public virtual ICollection Actors { get; set; } 27 | public DateTime Added { get; set; } 28 | public DateTime LastUpdated { get; set; } 29 | public string SlugName { get; set; } 30 | public List Seasons { get; set; } 31 | public List Videos { get; set; } 32 | 33 | public SerieVM() 34 | { 35 | Images = new ImagesSerieVM(); 36 | Genres = new List(); 37 | Actors = new List(); 38 | } 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Models/SerieVM.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace InfoSeries.Core.Models 5 | { 6 | public class SerieVM 7 | { 8 | public int Id { get; set; } 9 | public string Name { get; set; } 10 | public DateTimeOffset? FirstAired { get; set; } 11 | public string Country { get; set; } 12 | public string Overview { get; set; } 13 | public int Runtime { get; set; } 14 | public string Status { get; set; } 15 | public string Network { get; set; } 16 | public DayOfWeek? AirDay { get; set; } 17 | public string AirTime { get; set; } 18 | public string ContentRating { get; set; } 19 | public string ImdbId { get; set; } 20 | public int TvdbId { get; set; } 21 | public int TmdbId { get; set; } 22 | public string Language { get; set; } 23 | public string Year { get; set; } 24 | public ImagesSerieVM Images { get; set; } 25 | public virtual ICollection Genres { get; set; } 26 | public virtual ICollection Actors { get; set; } 27 | public DateTime Added { get; set; } 28 | public DateTime LastUpdated { get; set; } 29 | public string SlugName { get; set; } 30 | public List Seasons { get; set; } 31 | public List Videos { get; set; } 32 | 33 | public SerieVM() 34 | { 35 | Images = new ImagesSerieVM(); 36 | Genres = new List(); 37 | Actors = new List(); 38 | } 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/Package.appxmanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | PrismTest.UWP 7 | mpagani 8 | Assets\StoreLogo.png 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries/ViewModels/MyCustomDetailViewModel.cs: -------------------------------------------------------------------------------- 1 | using Prism.Commands; 2 | using Prism.Mvvm; 3 | using InfoSeries.Core.Models; 4 | using InfoSeries.Services; 5 | using Prism.Navigation; 6 | 7 | namespace InfoSeries.ViewModels 8 | { 9 | public class MyCustomDetailViewModel : BindableBase, INavigationAware 10 | { 11 | private readonly IShareService _shareService; 12 | private SerieFollowersVM _selectedShow; 13 | 14 | public SerieFollowersVM SelectedShow 15 | { 16 | get { return _selectedShow; } 17 | set { SetProperty(ref _selectedShow, value); } 18 | } 19 | 20 | public MyCustomDetailViewModel(IShareService shareService) 21 | { 22 | _shareService = shareService; 23 | } 24 | 25 | public void OnNavigatedFrom(NavigationParameters parameters) 26 | { 27 | 28 | } 29 | 30 | public void OnNavigatedTo(NavigationParameters parameters) 31 | { 32 | SelectedShow = parameters["show"] as SerieFollowersVM; 33 | } 34 | 35 | public void OnNavigatingTo(NavigationParameters parameters) 36 | { 37 | 38 | } 39 | 40 | private DelegateCommand _shareItemCommand; 41 | 42 | public DelegateCommand ShareItemCommand 43 | { 44 | get 45 | { 46 | if (_shareItemCommand == null) 47 | { 48 | _shareItemCommand = new DelegateCommand(() => 49 | { 50 | _shareService.Share(SelectedShow.Name, SelectedShow.Overview); 51 | }); 52 | } 53 | 54 | return _shareItemCommand; 55 | } 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/Package.appxmanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | 15 | 16 | 17 | InfoSeries.UWP 18 | mpagani 19 | Assets\StoreLogo.png 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/Package.appxmanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | 15 | 16 | 17 | TabbedSample.UWP 18 | mpagani 19 | Assets\StoreLogo.png 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/Resources/AboutResources.txt: -------------------------------------------------------------------------------- 1 | Images, layout descriptions, binary blobs and string dictionaries can be included 2 | in your application as resource files. Various Android APIs are designed to 3 | operate on the resource IDs instead of dealing with images, strings or binary blobs 4 | directly. 5 | 6 | For example, a sample Android app that contains a user interface layout (main.xml), 7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 8 | would keep its resources in the "Resources" directory of the application: 9 | 10 | Resources/ 11 | drawable-hdpi/ 12 | icon.png 13 | 14 | drawable-ldpi/ 15 | icon.png 16 | 17 | drawable-mdpi/ 18 | icon.png 19 | 20 | layout/ 21 | main.xml 22 | 23 | values/ 24 | strings.xml 25 | 26 | In order to get the build system to recognize Android resources, set the build action to 27 | "AndroidResource". The native Android APIs do not operate directly with filenames, but 28 | instead operate on resource IDs. When you compile an Android application that uses resources, 29 | the build system will package the resources for distribution and generate a class called 30 | "Resource" that contains the tokens for each one of the resources included. For example, 31 | for the above Resources layout, this is what the Resource class would expose: 32 | 33 | public class Resource { 34 | public class drawable { 35 | public const int icon = 0x123; 36 | } 37 | 38 | public class layout { 39 | public const int main = 0x456; 40 | } 41 | 42 | public class strings { 43 | public const int first_string = 0xabc; 44 | public const int second_string = 0xbcd; 45 | } 46 | } 47 | 48 | You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main 49 | to reference the layout/main.xml file, or Resource.strings.first_string to reference the first 50 | string in the dictionary file values/strings.xml. 51 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.Droid/Resources/AboutResources.txt: -------------------------------------------------------------------------------- 1 | Images, layout descriptions, binary blobs and string dictionaries can be included 2 | in your application as resource files. Various Android APIs are designed to 3 | operate on the resource IDs instead of dealing with images, strings or binary blobs 4 | directly. 5 | 6 | For example, a sample Android app that contains a user interface layout (main.xml), 7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 8 | would keep its resources in the "Resources" directory of the application: 9 | 10 | Resources/ 11 | drawable-hdpi/ 12 | icon.png 13 | 14 | drawable-ldpi/ 15 | icon.png 16 | 17 | drawable-mdpi/ 18 | icon.png 19 | 20 | layout/ 21 | main.xml 22 | 23 | values/ 24 | strings.xml 25 | 26 | In order to get the build system to recognize Android resources, set the build action to 27 | "AndroidResource". The native Android APIs do not operate directly with filenames, but 28 | instead operate on resource IDs. When you compile an Android application that uses resources, 29 | the build system will package the resources for distribution and generate a class called 30 | "Resource" that contains the tokens for each one of the resources included. For example, 31 | for the above Resources layout, this is what the Resource class would expose: 32 | 33 | public class Resource { 34 | public class drawable { 35 | public const int icon = 0x123; 36 | } 37 | 38 | public class layout { 39 | public const int main = 0x456; 40 | } 41 | 42 | public class strings { 43 | public const int first_string = 0xabc; 44 | public const int second_string = 0xbcd; 45 | } 46 | } 47 | 48 | You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main 49 | to reference the layout/main.xml file, or Resource.strings.first_string to reference the first 50 | string in the dictionary file values/strings.xml. 51 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/Resources/AboutResources.txt: -------------------------------------------------------------------------------- 1 | Images, layout descriptions, binary blobs and string dictionaries can be included 2 | in your application as resource files. Various Android APIs are designed to 3 | operate on the resource IDs instead of dealing with images, strings or binary blobs 4 | directly. 5 | 6 | For example, a sample Android app that contains a user interface layout (main.xml), 7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 8 | would keep its resources in the "Resources" directory of the application: 9 | 10 | Resources/ 11 | drawable-hdpi/ 12 | icon.png 13 | 14 | drawable-ldpi/ 15 | icon.png 16 | 17 | drawable-mdpi/ 18 | icon.png 19 | 20 | layout/ 21 | main.xml 22 | 23 | values/ 24 | strings.xml 25 | 26 | In order to get the build system to recognize Android resources, set the build action to 27 | "AndroidResource". The native Android APIs do not operate directly with filenames, but 28 | instead operate on resource IDs. When you compile an Android application that uses resources, 29 | the build system will package the resources for distribution and generate a class called 30 | "Resource" that contains the tokens for each one of the resources included. For example, 31 | for the above Resources layout, this is what the Resource class would expose: 32 | 33 | public class Resource { 34 | public class drawable { 35 | public const int icon = 0x123; 36 | } 37 | 38 | public class layout { 39 | public const int main = 0x456; 40 | } 41 | 42 | public class strings { 43 | public const int first_string = 0xabc; 44 | public const int second_string = 0xbcd; 45 | } 46 | } 47 | 48 | You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main 49 | to reference the layout/main.xml file, or Resource.strings.first_string to reference the first 50 | string in the dictionary file values/strings.xml. 51 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries/ViewModels/MainPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using Prism.Commands; 2 | using Prism.Mvvm; 3 | using Prism.Navigation; 4 | using System.Collections.ObjectModel; 5 | using InfoSeries.Core.Models; 6 | using InfoSeries.Core.Services; 7 | using Xamarin.Forms; 8 | 9 | namespace InfoSeries.ViewModels 10 | { 11 | public class MainPageViewModel : BindableBase, INavigationAware 12 | { 13 | private readonly ITsApiService _apiService; 14 | private readonly INavigationService _navigationService; 15 | 16 | private ObservableCollection _topSeries; 17 | 18 | public ObservableCollection TopSeries 19 | { 20 | get { return _topSeries; } 21 | set { SetProperty(ref _topSeries, value); } 22 | } 23 | 24 | public MainPageViewModel(ITsApiService apiService, INavigationService navigationService) 25 | { 26 | _apiService = apiService; 27 | _navigationService = navigationService; 28 | } 29 | 30 | public void OnNavigatedFrom(NavigationParameters parameters) 31 | { 32 | 33 | } 34 | 35 | public async void OnNavigatedTo(NavigationParameters parameters) 36 | { 37 | if (TopSeries == null || TopSeries.Count == 0) 38 | { 39 | var result = await _apiService.GetStatsTopSeries(); 40 | TopSeries = new ObservableCollection(result); 41 | } 42 | } 43 | 44 | public void OnNavigatingTo(NavigationParameters parameters) 45 | { 46 | 47 | } 48 | 49 | private DelegateCommand _goToDetailPage; 50 | 51 | public DelegateCommand GoToDetailPage 52 | { 53 | get 54 | { 55 | if (_goToDetailPage == null) 56 | { 57 | _goToDetailPage = new DelegateCommand(async selected => 58 | { 59 | NavigationParameters param = new NavigationParameters(); 60 | param.Add("show", selected.Item); 61 | await _navigationService.NavigateAsync("DetailPage", param); 62 | }); 63 | } 64 | 65 | return _goToDetailPage; 66 | } 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/ViewModels/ShowsListPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | using InfoSeries.Core.Models; 3 | using InfoSeries.Core.Services; 4 | using Prism.Commands; 5 | using Prism.Mvvm; 6 | using Prism.Navigation; 7 | using Xamarin.Forms; 8 | 9 | namespace DeepNavigation.ViewModels 10 | { 11 | public class ShowsListPageViewModel : BindableBase, INavigationAware 12 | { 13 | private readonly ITsApiService _tsApiService; 14 | private readonly INavigationService _navigationService; 15 | private ObservableCollection _highlightSeries; 16 | 17 | public ObservableCollection HighlightSeries 18 | { 19 | get { return _highlightSeries; } 20 | set { SetProperty(ref _highlightSeries, value); } 21 | } 22 | 23 | 24 | public ShowsListPageViewModel(ITsApiService tsApiService, INavigationService navigationService) 25 | { 26 | _tsApiService = tsApiService; 27 | _navigationService = navigationService; 28 | } 29 | 30 | public void OnNavigatedFrom(NavigationParameters parameters) 31 | { 32 | 33 | } 34 | 35 | public async void OnNavigatedTo(NavigationParameters parameters) 36 | { 37 | var series = await _tsApiService.GetStatsTopSeries(); 38 | HighlightSeries = new ObservableCollection(series); 39 | } 40 | 41 | public void OnNavigatingTo(NavigationParameters parameters) 42 | { 43 | 44 | } 45 | 46 | private DelegateCommand _goToDetailPage; 47 | 48 | public DelegateCommand GoToDetailPage 49 | { 50 | get 51 | { 52 | if (_goToDetailPage == null) 53 | { 54 | _goToDetailPage = new DelegateCommand(async selected => 55 | { 56 | NavigationParameters param = new NavigationParameters(); 57 | var serie = selected.Item as SerieFollowersVM; 58 | param.Add("show", serie.Id); 59 | await _navigationService.NavigateAsync("DetailPage", param); 60 | }); 61 | } 62 | 63 | return _goToDetailPage; 64 | } 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/Services/BaseProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Net.Http; 3 | using System.Threading.Tasks; 4 | using InfoSeries.Core.Exceptions; 5 | 6 | namespace InfoSeries.Core.Services 7 | { 8 | public class BaseProvider 9 | { 10 | protected string _baseUrl; 11 | 12 | protected HttpClient GetClient() 13 | { 14 | return GetClient(_baseUrl); 15 | } 16 | 17 | protected virtual HttpClient GetClient(string baseUrl) 18 | { 19 | HttpClient client = new HttpClient(); 20 | client.BaseAddress = new Uri(baseUrl); 21 | 22 | return client; 23 | } 24 | 25 | protected async Task Get(string url) 26 | { 27 | using (HttpClient client = GetClient()) 28 | { 29 | try 30 | { 31 | var response = await client.GetAsync(url); 32 | if (!response.IsSuccessStatusCode) 33 | { 34 | var error = await response.Content.ReadAsAsync(); 35 | throw new TrackSeriesApiException(error.Message, response.StatusCode); 36 | } 37 | } 38 | catch (HttpRequestException ex) 39 | { 40 | throw new TrackSeriesApiException("", false, ex); 41 | } 42 | } 43 | } 44 | 45 | protected async Task Get(string url) 46 | { 47 | using (HttpClient client = GetClient()) 48 | { 49 | try 50 | { 51 | var response = await client.GetAsync(url); 52 | if (!response.IsSuccessStatusCode) 53 | { 54 | var error = await response.Content.ReadAsAsync(); 55 | var message = error != null ? error.Message : ""; 56 | throw new TrackSeriesApiException(message, response.StatusCode); 57 | } 58 | return await response.Content.ReadAsAsync(); 59 | } 60 | catch (HttpRequestException ex) 61 | { 62 | throw new TrackSeriesApiException("", false, ex); 63 | } 64 | catch (UnsupportedMediaTypeException ex) 65 | { 66 | throw new TrackSeriesApiException("", false, ex); 67 | } 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/Services/BaseProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Net.Http; 3 | using System.Threading.Tasks; 4 | using InfoSeries.Core.Exceptions; 5 | 6 | namespace InfoSeries.Core.Services 7 | { 8 | public class BaseProvider 9 | { 10 | protected string _baseUrl; 11 | 12 | protected HttpClient GetClient() 13 | { 14 | return GetClient(_baseUrl); 15 | } 16 | 17 | protected virtual HttpClient GetClient(string baseUrl) 18 | { 19 | HttpClient client = new HttpClient(); 20 | client.BaseAddress = new Uri(baseUrl); 21 | 22 | return client; 23 | } 24 | 25 | protected async Task Get(string url) 26 | { 27 | using (HttpClient client = GetClient()) 28 | { 29 | try 30 | { 31 | var response = await client.GetAsync(url); 32 | if (!response.IsSuccessStatusCode) 33 | { 34 | var error = await response.Content.ReadAsAsync(); 35 | throw new TrackSeriesApiException(error.Message, response.StatusCode); 36 | } 37 | } 38 | catch (HttpRequestException ex) 39 | { 40 | throw new TrackSeriesApiException("", false, ex); 41 | } 42 | } 43 | } 44 | 45 | protected async Task Get(string url) 46 | { 47 | using (HttpClient client = GetClient()) 48 | { 49 | try 50 | { 51 | var response = await client.GetAsync(url); 52 | if (!response.IsSuccessStatusCode) 53 | { 54 | var error = await response.Content.ReadAsAsync(); 55 | var message = error != null ? error.Message : ""; 56 | throw new TrackSeriesApiException(message, response.StatusCode); 57 | } 58 | return await response.Content.ReadAsAsync(); 59 | } 60 | catch (HttpRequestException ex) 61 | { 62 | throw new TrackSeriesApiException("", false, ex); 63 | } 64 | catch (UnsupportedMediaTypeException ex) 65 | { 66 | throw new TrackSeriesApiException("", false, ex); 67 | } 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/Services/BaseProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Net.Http; 3 | using System.Threading.Tasks; 4 | using InfoSeries.Core.Exceptions; 5 | 6 | namespace InfoSeries.Core.Services 7 | { 8 | public class BaseProvider 9 | { 10 | protected string _baseUrl; 11 | 12 | protected HttpClient GetClient() 13 | { 14 | return GetClient(_baseUrl); 15 | } 16 | 17 | protected virtual HttpClient GetClient(string baseUrl) 18 | { 19 | HttpClient client = new HttpClient(); 20 | client.BaseAddress = new Uri(baseUrl); 21 | 22 | return client; 23 | } 24 | 25 | protected async Task Get(string url) 26 | { 27 | using (HttpClient client = GetClient()) 28 | { 29 | try 30 | { 31 | var response = await client.GetAsync(url); 32 | if (!response.IsSuccessStatusCode) 33 | { 34 | var error = await response.Content.ReadAsAsync(); 35 | throw new TrackSeriesApiException(error.Message, response.StatusCode); 36 | } 37 | } 38 | catch (HttpRequestException ex) 39 | { 40 | throw new TrackSeriesApiException("", false, ex); 41 | } 42 | } 43 | } 44 | 45 | protected async Task Get(string url) 46 | { 47 | using (HttpClient client = GetClient()) 48 | { 49 | try 50 | { 51 | var response = await client.GetAsync(url); 52 | if (!response.IsSuccessStatusCode) 53 | { 54 | var error = await response.Content.ReadAsAsync(); 55 | var message = error != null ? error.Message : ""; 56 | throw new TrackSeriesApiException(message, response.StatusCode); 57 | } 58 | return await response.Content.ReadAsAsync(); 59 | } 60 | catch (HttpRequestException ex) 61 | { 62 | throw new TrackSeriesApiException("", false, ex); 63 | } 64 | catch (UnsupportedMediaTypeException ex) 65 | { 66 | throw new TrackSeriesApiException("", false, ex); 67 | } 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries/Views/MainPage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample/Views/ShowsListPage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 52 | 53 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation/Views/ShowsListPage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.UWP/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.ApplicationModel; 7 | using Windows.ApplicationModel.Activation; 8 | using Windows.Foundation; 9 | using Windows.Foundation.Collections; 10 | using Windows.UI.Xaml; 11 | using Windows.UI.Xaml.Controls; 12 | using Windows.UI.Xaml.Controls.Primitives; 13 | using Windows.UI.Xaml.Data; 14 | using Windows.UI.Xaml.Input; 15 | using Windows.UI.Xaml.Media; 16 | using Windows.UI.Xaml.Navigation; 17 | 18 | namespace InfoSeries.UWP 19 | { 20 | /// 21 | /// Provides application-specific behavior to supplement the default Application class. 22 | /// 23 | sealed partial class App : Application 24 | { 25 | /// 26 | /// Initializes the singleton application object. This is the first line of authored code 27 | /// executed, and as such is the logical equivalent of main() or WinMain(). 28 | /// 29 | public App() 30 | { 31 | this.InitializeComponent(); 32 | this.Suspending += OnSuspending; 33 | } 34 | 35 | /// 36 | /// Invoked when the application is launched normally by the end user. Other entry points 37 | /// will be used such as when the application is launched to open a specific file. 38 | /// 39 | /// Details about the launch request and process. 40 | protected override void OnLaunched(LaunchActivatedEventArgs e) 41 | { 42 | 43 | #if DEBUG 44 | if (System.Diagnostics.Debugger.IsAttached) 45 | { 46 | this.DebugSettings.EnableFrameRateCounter = false; 47 | } 48 | #endif 49 | 50 | Frame rootFrame = Window.Current.Content as Frame; 51 | 52 | // Do not repeat app initialization when the Window already has content, 53 | // just ensure that the window is active 54 | if (rootFrame == null) 55 | { 56 | // Create a Frame to act as the navigation context and navigate to the first page 57 | rootFrame = new Frame(); 58 | 59 | rootFrame.NavigationFailed += OnNavigationFailed; 60 | 61 | Xamarin.Forms.Forms.Init(e); 62 | 63 | if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) 64 | { 65 | //TODO: Load state from previously suspended application 66 | } 67 | 68 | // Place the frame in the current Window 69 | Window.Current.Content = rootFrame; 70 | } 71 | 72 | if (rootFrame.Content == null) 73 | { 74 | // When the navigation stack isn't restored navigate to the first page, 75 | // configuring the new page by passing required information as a navigation 76 | // parameter 77 | rootFrame.Navigate(typeof(MainPage), e.Arguments); 78 | } 79 | // Ensure the current window is active 80 | Window.Current.Activate(); 81 | } 82 | 83 | /// 84 | /// Invoked when Navigation to a certain page fails 85 | /// 86 | /// The Frame which failed navigation 87 | /// Details about the navigation failure 88 | void OnNavigationFailed(object sender, NavigationFailedEventArgs e) 89 | { 90 | throw new Exception("Failed to load Page " + e.SourcePageType.FullName); 91 | } 92 | 93 | /// 94 | /// Invoked when application execution is being suspended. Application state is saved 95 | /// without knowing whether the application will be terminated or resumed with the contents 96 | /// of memory still intact. 97 | /// 98 | /// The source of the suspend request. 99 | /// Details about the suspend request. 100 | private void OnSuspending(object sender, SuspendingEventArgs e) 101 | { 102 | var deferral = e.SuspendingOperation.GetDeferral(); 103 | //TODO: Save application state and stop any background activity 104 | deferral.Complete(); 105 | } 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /TabbedSample/TabbedSample/TabbedSample.UWP/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.ApplicationModel; 7 | using Windows.ApplicationModel.Activation; 8 | using Windows.Foundation; 9 | using Windows.Foundation.Collections; 10 | using Windows.UI.Xaml; 11 | using Windows.UI.Xaml.Controls; 12 | using Windows.UI.Xaml.Controls.Primitives; 13 | using Windows.UI.Xaml.Data; 14 | using Windows.UI.Xaml.Input; 15 | using Windows.UI.Xaml.Media; 16 | using Windows.UI.Xaml.Navigation; 17 | 18 | namespace TabbedSample.UWP 19 | { 20 | /// 21 | /// Provides application-specific behavior to supplement the default Application class. 22 | /// 23 | sealed partial class App : Application 24 | { 25 | /// 26 | /// Initializes the singleton application object. This is the first line of authored code 27 | /// executed, and as such is the logical equivalent of main() or WinMain(). 28 | /// 29 | public App() 30 | { 31 | this.InitializeComponent(); 32 | this.Suspending += OnSuspending; 33 | } 34 | 35 | /// 36 | /// Invoked when the application is launched normally by the end user. Other entry points 37 | /// will be used such as when the application is launched to open a specific file. 38 | /// 39 | /// Details about the launch request and process. 40 | protected override void OnLaunched(LaunchActivatedEventArgs e) 41 | { 42 | 43 | #if DEBUG 44 | if (System.Diagnostics.Debugger.IsAttached) 45 | { 46 | this.DebugSettings.EnableFrameRateCounter = true; 47 | } 48 | #endif 49 | 50 | Frame rootFrame = Window.Current.Content as Frame; 51 | 52 | // Do not repeat app initialization when the Window already has content, 53 | // just ensure that the window is active 54 | if (rootFrame == null) 55 | { 56 | // Create a Frame to act as the navigation context and navigate to the first page 57 | rootFrame = new Frame(); 58 | 59 | rootFrame.NavigationFailed += OnNavigationFailed; 60 | 61 | Xamarin.Forms.Forms.Init(e); 62 | 63 | if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) 64 | { 65 | //TODO: Load state from previously suspended application 66 | } 67 | 68 | // Place the frame in the current Window 69 | Window.Current.Content = rootFrame; 70 | } 71 | 72 | if (rootFrame.Content == null) 73 | { 74 | // When the navigation stack isn't restored navigate to the first page, 75 | // configuring the new page by passing required information as a navigation 76 | // parameter 77 | rootFrame.Navigate(typeof(MainPage), e.Arguments); 78 | } 79 | // Ensure the current window is active 80 | Window.Current.Activate(); 81 | } 82 | 83 | /// 84 | /// Invoked when Navigation to a certain page fails 85 | /// 86 | /// The Frame which failed navigation 87 | /// Details about the navigation failure 88 | void OnNavigationFailed(object sender, NavigationFailedEventArgs e) 89 | { 90 | throw new Exception("Failed to load Page " + e.SourcePageType.FullName); 91 | } 92 | 93 | /// 94 | /// Invoked when application execution is being suspended. Application state is saved 95 | /// without knowing whether the application will be terminated or resumed with the contents 96 | /// of memory still intact. 97 | /// 98 | /// The source of the suspend request. 99 | /// Details about the suspend request. 100 | private void OnSuspending(object sender, SuspendingEventArgs e) 101 | { 102 | var deferral = e.SuspendingOperation.GetDeferral(); 103 | //TODO: Save application state and stop any background activity 104 | deferral.Complete(); 105 | } 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.UWP/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.ApplicationModel; 7 | using Windows.ApplicationModel.Activation; 8 | using Windows.Foundation; 9 | using Windows.Foundation.Collections; 10 | using Windows.UI.Xaml; 11 | using Windows.UI.Xaml.Controls; 12 | using Windows.UI.Xaml.Controls.Primitives; 13 | using Windows.UI.Xaml.Data; 14 | using Windows.UI.Xaml.Input; 15 | using Windows.UI.Xaml.Media; 16 | using Windows.UI.Xaml.Navigation; 17 | 18 | namespace DeepNavigation.UWP 19 | { 20 | /// 21 | /// Provides application-specific behavior to supplement the default Application class. 22 | /// 23 | sealed partial class App : Application 24 | { 25 | /// 26 | /// Initializes the singleton application object. This is the first line of authored code 27 | /// executed, and as such is the logical equivalent of main() or WinMain(). 28 | /// 29 | public App() 30 | { 31 | this.InitializeComponent(); 32 | this.Suspending += OnSuspending; 33 | } 34 | 35 | /// 36 | /// Invoked when the application is launched normally by the end user. Other entry points 37 | /// will be used such as when the application is launched to open a specific file. 38 | /// 39 | /// Details about the launch request and process. 40 | protected override void OnLaunched(LaunchActivatedEventArgs e) 41 | { 42 | 43 | #if DEBUG 44 | if (System.Diagnostics.Debugger.IsAttached) 45 | { 46 | this.DebugSettings.EnableFrameRateCounter = false; 47 | } 48 | #endif 49 | 50 | Frame rootFrame = Window.Current.Content as Frame; 51 | 52 | // Do not repeat app initialization when the Window already has content, 53 | // just ensure that the window is active 54 | if (rootFrame == null) 55 | { 56 | // Create a Frame to act as the navigation context and navigate to the first page 57 | rootFrame = new Frame(); 58 | 59 | rootFrame.NavigationFailed += OnNavigationFailed; 60 | 61 | Xamarin.Forms.Forms.Init(e); 62 | 63 | if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) 64 | { 65 | //TODO: Load state from previously suspended application 66 | } 67 | 68 | // Place the frame in the current Window 69 | Window.Current.Content = rootFrame; 70 | } 71 | 72 | if (rootFrame.Content == null) 73 | { 74 | // When the navigation stack isn't restored navigate to the first page, 75 | // configuring the new page by passing required information as a navigation 76 | // parameter 77 | rootFrame.Navigate(typeof(MainPage), e.Arguments); 78 | } 79 | // Ensure the current window is active 80 | Window.Current.Activate(); 81 | } 82 | 83 | /// 84 | /// Invoked when Navigation to a certain page fails 85 | /// 86 | /// The Frame which failed navigation 87 | /// Details about the navigation failure 88 | void OnNavigationFailed(object sender, NavigationFailedEventArgs e) 89 | { 90 | throw new Exception("Failed to load Page " + e.SourcePageType.FullName); 91 | } 92 | 93 | /// 94 | /// Invoked when application execution is being suspended. Application state is saved 95 | /// without knowing whether the application will be terminated or resumed with the contents 96 | /// of memory still intact. 97 | /// 98 | /// The source of the suspend request. 99 | /// Details about the suspend request. 100 | private void OnSuspending(object sender, SuspendingEventArgs e) 101 | { 102 | var deferral = e.SuspendingOperation.GetDeferral(); 103 | //TODO: Save application state and stop any background activity 104 | deferral.Complete(); 105 | } 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # User-specific files 5 | *.suo 6 | *.user 7 | *.userosscache 8 | *.sln.docstates 9 | 10 | # User-specific files (MonoDevelop/Xamarin Studio) 11 | *.userprefs 12 | 13 | # Build results 14 | [Dd]ebug/ 15 | [Dd]ebugPublic/ 16 | [Rr]elease/ 17 | [Rr]eleases/ 18 | [Xx]64/ 19 | [Xx]86/ 20 | [Bb]uild/ 21 | bld/ 22 | [Bb]in/ 23 | [Oo]bj/ 24 | 25 | # Visual Studio 2015 cache/options directory 26 | .vs/ 27 | # Uncomment if you have tasks that create the project's static files in wwwroot 28 | #wwwroot/ 29 | 30 | # MSTest test Results 31 | [Tt]est[Rr]esult*/ 32 | [Bb]uild[Ll]og.* 33 | 34 | # NUNIT 35 | *.VisualState.xml 36 | TestResult.xml 37 | 38 | # Build Results of an ATL Project 39 | [Dd]ebugPS/ 40 | [Rr]eleasePS/ 41 | dlldata.c 42 | 43 | # DNX 44 | project.lock.json 45 | artifacts/ 46 | 47 | *_i.c 48 | *_p.c 49 | *_i.h 50 | *.ilk 51 | *.meta 52 | *.obj 53 | *.pch 54 | *.pdb 55 | *.pgc 56 | *.pgd 57 | *.rsp 58 | *.sbr 59 | *.tlb 60 | *.tli 61 | *.tlh 62 | *.tmp 63 | *.tmp_proj 64 | *.log 65 | *.vspscc 66 | *.vssscc 67 | .builds 68 | *.pidb 69 | *.svclog 70 | *.scc 71 | 72 | # Chutzpah Test files 73 | _Chutzpah* 74 | 75 | # Visual C++ cache files 76 | ipch/ 77 | *.aps 78 | *.ncb 79 | *.opendb 80 | *.opensdf 81 | *.sdf 82 | *.cachefile 83 | *.VC.db 84 | 85 | # Visual Studio profiler 86 | *.psess 87 | *.vsp 88 | *.vspx 89 | *.sap 90 | 91 | # TFS 2012 Local Workspace 92 | $tf/ 93 | 94 | # Guidance Automation Toolkit 95 | *.gpState 96 | 97 | # ReSharper is a .NET coding add-in 98 | _ReSharper*/ 99 | *.[Rr]e[Ss]harper 100 | *.DotSettings.user 101 | 102 | # JustCode is a .NET coding add-in 103 | .JustCode 104 | 105 | # TeamCity is a build add-in 106 | _TeamCity* 107 | 108 | # DotCover is a Code Coverage Tool 109 | *.dotCover 110 | 111 | # NCrunch 112 | _NCrunch_* 113 | .*crunch*.local.xml 114 | nCrunchTemp_* 115 | 116 | # MightyMoose 117 | *.mm.* 118 | AutoTest.Net/ 119 | 120 | # Web workbench (sass) 121 | .sass-cache/ 122 | 123 | # Installshield output folder 124 | [Ee]xpress/ 125 | 126 | # DocProject is a documentation generator add-in 127 | DocProject/buildhelp/ 128 | DocProject/Help/*.HxT 129 | DocProject/Help/*.HxC 130 | DocProject/Help/*.hhc 131 | DocProject/Help/*.hhk 132 | DocProject/Help/*.hhp 133 | DocProject/Help/Html2 134 | DocProject/Help/html 135 | 136 | # Click-Once directory 137 | publish/ 138 | 139 | # Publish Web Output 140 | *.[Pp]ublish.xml 141 | *.azurePubxml 142 | 143 | # TODO: Un-comment the next line if you do not want to checkin 144 | # your web deploy settings because they may include unencrypted 145 | # passwords 146 | #*.pubxml 147 | *.publishproj 148 | 149 | # NuGet Packages 150 | *.nupkg 151 | # The packages folder can be ignored because of Package Restore 152 | **/packages/* 153 | # except build/, which is used as an MSBuild target. 154 | !**/packages/build/ 155 | # Uncomment if necessary however generally it will be regenerated when needed 156 | #!**/packages/repositories.config 157 | # NuGet v3's project.json files produces more ignoreable files 158 | *.nuget.props 159 | *.nuget.targets 160 | 161 | # Microsoft Azure Build Output 162 | csx/ 163 | *.build.csdef 164 | 165 | # Microsoft Azure Emulator 166 | ecf/ 167 | rcf/ 168 | 169 | # Microsoft Azure ApplicationInsights config file 170 | ApplicationInsights.config 171 | 172 | # Windows Store app package directory 173 | AppPackages/ 174 | BundleArtifacts/ 175 | 176 | # Visual Studio cache files 177 | # files ending in .cache can be ignored 178 | *.[Cc]ache 179 | # but keep track of directories ending in .cache 180 | !*.[Cc]ache/ 181 | 182 | # Others 183 | ClientBin/ 184 | [Ss]tyle[Cc]op.* 185 | ~$* 186 | *~ 187 | *.dbmdl 188 | *.dbproj.schemaview 189 | !*.pfx 190 | *.publishsettings 191 | node_modules/ 192 | orleans.codegen.cs 193 | 194 | # RIA/Silverlight projects 195 | Generated_Code/ 196 | 197 | # Backup & report files from converting an old project file 198 | # to a newer Visual Studio version. Backup files are not needed, 199 | # because we have git ;-) 200 | _UpgradeReport_Files/ 201 | Backup*/ 202 | UpgradeLog*.XML 203 | UpgradeLog*.htm 204 | 205 | # SQL Server files 206 | *.mdf 207 | *.ldf 208 | 209 | # Business Intelligence projects 210 | *.rdl.data 211 | *.bim.layout 212 | *.bim_*.settings 213 | 214 | # Microsoft Fakes 215 | FakesAssemblies/ 216 | 217 | # GhostDoc plugin setting file 218 | *.GhostDoc.xml 219 | 220 | # Node.js Tools for Visual Studio 221 | .ntvs_analysis.dat 222 | 223 | # Visual Studio 6 build log 224 | *.plg 225 | 226 | # Visual Studio 6 workspace options file 227 | *.opt 228 | 229 | # Visual Studio LightSwitch build output 230 | **/*.HTMLClient/GeneratedArtifacts 231 | **/*.DesktopClient/GeneratedArtifacts 232 | **/*.DesktopClient/ModelManifest.xml 233 | **/*.Server/GeneratedArtifacts 234 | **/*.Server/ModelManifest.xml 235 | _Pvt_Extensions 236 | 237 | # LightSwitch generated files 238 | GeneratedArtifacts/ 239 | ModelManifest.xml 240 | 241 | # Paket dependency manager 242 | .paket/paket.exe 243 | 244 | # FAKE - F# Make 245 | .fake/ -------------------------------------------------------------------------------- /InfoSeries/InfoSeries.Core/InfoSeries.Core.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10.0 6 | Debug 7 | AnyCPU 8 | {68906DF0-CED1-471A-A585-DBA675AB4E2B} 9 | Library 10 | Properties 11 | InfoSeries.Core 12 | InfoSeries.Core 13 | en-US 14 | 512 15 | {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 16 | Profile111 17 | v4.5 18 | 19 | 20 | 21 | 22 | true 23 | full 24 | false 25 | bin\Debug\ 26 | DEBUG;TRACE 27 | prompt 28 | 4 29 | 30 | 31 | pdbonly 32 | true 33 | bin\Release\ 34 | TRACE 35 | prompt 36 | 4 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | ..\packages\Newtonsoft.Json.10.0.3\lib\portable-net45+win8+wp8+wpa81\Newtonsoft.Json.dll 65 | 66 | 67 | ..\packages\Microsoft.Net.Http.2.2.29\lib\portable-net45+win8+wpa81\System.Net.Http.Extensions.dll 68 | True 69 | 70 | 71 | ..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\portable-wp8+netcore45+net45+wp81+wpa81\System.Net.Http.Formatting.dll 72 | True 73 | 74 | 75 | ..\packages\Microsoft.Net.Http.2.2.29\lib\portable-net45+win8+wpa81\System.Net.Http.Primitives.dll 76 | True 77 | 78 | 79 | 80 | 81 | 82 | 83 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 84 | 85 | 86 | 87 | 94 | -------------------------------------------------------------------------------- /TabbedSample/InfoSeries.Core/InfoSeries.Core.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10.0 6 | Debug 7 | AnyCPU 8 | {68906DF0-CED1-471A-A585-DBA675AB4E2B} 9 | Library 10 | Properties 11 | InfoSeries.Core 12 | InfoSeries.Core 13 | en-US 14 | 512 15 | {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 16 | Profile111 17 | v4.5 18 | 19 | 20 | 21 | 22 | true 23 | full 24 | false 25 | bin\Debug\ 26 | DEBUG;TRACE 27 | prompt 28 | 4 29 | 30 | 31 | pdbonly 32 | true 33 | bin\Release\ 34 | TRACE 35 | prompt 36 | 4 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | ..\packages\Newtonsoft.Json.10.0.3\lib\portable-net45+win8+wp8+wpa81\Newtonsoft.Json.dll 65 | 66 | 67 | ..\packages\Microsoft.Net.Http.2.2.29\lib\portable-net45+win8+wpa81\System.Net.Http.Extensions.dll 68 | True 69 | 70 | 71 | ..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\portable-wp8+netcore45+net45+wp81+wpa81\System.Net.Http.Formatting.dll 72 | True 73 | 74 | 75 | ..\packages\Microsoft.Net.Http.2.2.29\lib\portable-net45+win8+wpa81\System.Net.Http.Primitives.dll 76 | True 77 | 78 | 79 | 80 | 81 | 82 | 83 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 84 | 85 | 86 | 87 | 94 | -------------------------------------------------------------------------------- /DeepNavigation/InfoSeries.Core/InfoSeries.Core.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10.0 6 | Debug 7 | AnyCPU 8 | {68906DF0-CED1-471A-A585-DBA675AB4E2B} 9 | Library 10 | Properties 11 | InfoSeries.Core 12 | InfoSeries.Core 13 | en-US 14 | 512 15 | {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 16 | Profile111 17 | v4.5 18 | 19 | 20 | 21 | 22 | true 23 | full 24 | false 25 | bin\Debug\ 26 | DEBUG;TRACE 27 | prompt 28 | 4 29 | 30 | 31 | pdbonly 32 | true 33 | bin\Release\ 34 | TRACE 35 | prompt 36 | 4 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | ..\packages\Newtonsoft.Json.10.0.3\lib\portable-net45+win8+wp8+wpa81\Newtonsoft.Json.dll 65 | 66 | 67 | ..\packages\Microsoft.Net.Http.2.2.29\lib\portable-net45+win8+wpa81\System.Net.Http.Extensions.dll 68 | True 69 | 70 | 71 | ..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\portable-wp8+netcore45+net45+wp81+wpa81\System.Net.Http.Formatting.dll 72 | True 73 | 74 | 75 | ..\packages\Microsoft.Net.Http.2.2.29\lib\portable-net45+win8+wpa81\System.Net.Http.Primitives.dll 76 | True 77 | 78 | 79 | 80 | 81 | 82 | 83 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 84 | 85 | 86 | 87 | 94 | -------------------------------------------------------------------------------- /InfoSeries/InfoSeries/InfoSeries.Droid/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /DeepNavigation/DeepNavigation/DeepNavigation.Droid/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | --------------------------------------------------------------------------------