diff --git a/LastenradBayern/TINK/App.xaml.cs b/LastenradBayern/TINK/App.xaml.cs index 9f18395..cedd67f 100644 --- a/LastenradBayern/TINK/App.xaml.cs +++ b/LastenradBayern/TINK/App.xaml.cs @@ -259,17 +259,19 @@ namespace TINK protected override void OnAppLinkRequestReceived(Uri uri) { base.OnAppLinkRequestReceived(uri); - // TODO: Adjust to correct host if (uri.Host.ToLower() == "sharee.bike") { - // Input e.g. sharee.bike/sharee/lastenrad/?lat=49.921&long=32.51 + // Input e.g. sharee.bike/sharee?lat=49.921&long=32.51 Array segments = Array.ConvertAll(uri.Segments, segment => segment.Replace("/", "")).Skip(1).ToArray(); - Dictionary queryDict = uri.Query - .Substring(1) - .Split("&") - .Select(query => query.Split('=')) - .ToDictionary(query => query.FirstOrDefault(), query => query.Skip(1).FirstOrDefault()); - // segments == ["sharee", "lastenrad"] + if (uri.Query.Length > 0) + { + Dictionary queryDict = uri.Query + .Substring(1) + .Split("&") + .Select(query => query.Split('=')) + .ToDictionary(query => query.FirstOrDefault(), query => query.Skip(1).FirstOrDefault()); + } + // segments == ["sharee"] // queryDict == [{["lat", "49.921"]}], {["long", "32.51"]}] // => Navigate and pass params depending on linkinput // If no custom navigation is configured, the app just opens as if the user opened it diff --git a/Meinkonrad/TINK/App.xaml.cs b/Meinkonrad/TINK/App.xaml.cs index 5cae528..2a818da 100644 --- a/Meinkonrad/TINK/App.xaml.cs +++ b/Meinkonrad/TINK/App.xaml.cs @@ -259,17 +259,19 @@ namespace TINK protected override void OnAppLinkRequestReceived(Uri uri) { base.OnAppLinkRequestReceived(uri); - // TODO: Adjust to correct host if (uri.Host.ToLower() == "sharee.bike") { - // Input e.g. sharee.bike/sharee/lastenrad/?lat=49.921&long=32.51 + // Input e.g. sharee.bike/sharee/?lat=49.921&long=32.51 Array segments = Array.ConvertAll(uri.Segments, segment => segment.Replace("/", "")).Skip(1).ToArray(); - Dictionary queryDict = uri.Query - .Substring(1) - .Split("&") - .Select(query => query.Split('=')) - .ToDictionary(query => query.FirstOrDefault(), query => query.Skip(1).FirstOrDefault()); - // segments == ["sharee", "lastenrad"] + if (uri.Query.Length > 0) + { + Dictionary queryDict = uri.Query + .Substring(1) + .Split("&") + .Select(query => query.Split('=')) + .ToDictionary(query => query.FirstOrDefault(), query => query.Skip(1).FirstOrDefault()); + } + // segments == ["sharee"] // queryDict == [{["lat", "49.921"]}], {["long", "32.51"]}] // => Navigate and pass params depending on linkinput // If no custom navigation is configured, the app just opens as if the user opened it diff --git a/TINK/TINK/App.xaml.cs b/TINK/TINK/App.xaml.cs index 960fb22..fd668d3 100644 --- a/TINK/TINK/App.xaml.cs +++ b/TINK/TINK/App.xaml.cs @@ -261,14 +261,17 @@ namespace TINK base.OnAppLinkRequestReceived(uri); if (uri.Host.ToLower() == "sharee.bike") { - // Input e.g. sharee.bike/sharee/lastenrad/?lat=49.921&long=32.51 + // Input e.g. sharee.bike/sharee/?lat=49.921&long=32.51 Array segments = Array.ConvertAll(uri.Segments, segment => segment.Replace("/", "")).Skip(1).ToArray(); - Dictionary queryDict = uri.Query - .Substring(1) - .Split("&") - .Select(query => query.Split('=')) - .ToDictionary(query => query.FirstOrDefault(), query => query.Skip(1).FirstOrDefault()); - // segments == ["sharee", "lastenrad"] + if (uri.Query.Length > 0) + { + Dictionary queryDict = uri.Query + .Substring(1) + .Split("&") + .Select(query => query.Split('=')) + .ToDictionary(query => query.FirstOrDefault(), query => query.Skip(1).FirstOrDefault()); + } + // segments == ["sharee"] // queryDict == [{["lat", "49.921"]}], {["long", "32.51"]}] // => Navigate and pass params depending on linkinput // If no custom navigation is configured, the app just opens as if the user opened it