diff options
author | Jason Smith <jason.smith@xamarin.com> | 2016-04-24 12:25:26 -0400 |
---|---|---|
committer | Rui Marinho <me@ruimarinho.net> | 2016-04-24 12:25:26 -0400 |
commit | 5907152c50ee2c658b266f2804e6b383bb15a6f1 (patch) | |
tree | 9beb907623359723456c5c03b08922bebc4f41f3 /Xamarin.Forms.Controls/App.cs | |
parent | feac1ba3ed6df5e27b3fa2076bd15c190cbacd1c (diff) | |
download | xamarin-forms-5907152c50ee2c658b266f2804e6b383bb15a6f1.tar.gz xamarin-forms-5907152c50ee2c658b266f2804e6b383bb15a6f1.tar.bz2 xamarin-forms-5907152c50ee2c658b266f2804e6b383bb15a6f1.zip |
Evolve feature branch (#117)
* Initial import of evolve features
* [Android] Add Xamarin.Forms.Platform.Android.AppLinks project
* [iOS] Fix issues with c# 6 features on iOS AppLinks
* Added naive stanza to update-docs-windows.bat to produce Pages docs. Not tested. (#69)
* Update packages
* Add AppLinks android nuspec and fix linker issues
* Fix build
* Fix nusepc
* Fix nuspec
* Update android support nugets to 23.2.1
* Update Xamarin.UITest
* Add CardView
* [iOS] Fix app link for CoreSpotlight
* [Android] Update AppLinks android support libs
* Add Newtonsoft.Json dependency to nuspec
* Fix NRE when setting ControlTemplate to null
* Move to ModernHttpClient for download
* Try fix build
* Preserve android app links
* Fix margin issue
* General coding and simple fixes
Diffstat (limited to 'Xamarin.Forms.Controls/App.cs')
-rw-r--r-- | Xamarin.Forms.Controls/App.cs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls/App.cs b/Xamarin.Forms.Controls/App.cs index 31c356e3..b297097c 100644 --- a/Xamarin.Forms.Controls/App.cs +++ b/Xamarin.Forms.Controls/App.cs @@ -32,6 +32,37 @@ namespace Xamarin.Forms.Controls }; } + protected override void OnAppLinkRequestReceived(Uri uri) + { + + var appDomain = "http://" + AppName.ToLowerInvariant() + "/"; + + if (!uri.ToString().ToLowerInvariant().StartsWith(appDomain)) + return; + + var url = uri.ToString().Replace(appDomain, ""); + + var parts = url.Split('/'); + if (parts.Length == 2) + { + var isPage = parts[0].Trim().ToLower() == "gallery"; + if (isPage) + { + string page = parts[1].Trim(); + var pageForms = Activator.CreateInstance(Type.GetType(page)); + + var appLinkPageGallery = pageForms as AppLinkPageGallery; + if (appLinkPageGallery != null) + { + appLinkPageGallery.ShowLabel = true; + (MainPage as MasterDetailPage)?.Detail.Navigation.PushAsync((pageForms as Page)); + } + } + } + + base.OnAppLinkRequestReceived(uri); + } + public static Dictionary<string, string> Config { get |