From 8eb5b66376ecf6e5fb5187d85196402ab3742572 Mon Sep 17 00:00:00 2001 From: Keith Conger Date: Fri, 14 Jul 2023 15:51:08 -0600 Subject: [PATCH] [android] Fix backurl usage Signed-off-by: Keith Conger --- .../java/app/organicmaps/intent/Factory.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/android/app/src/main/java/app/organicmaps/intent/Factory.java b/android/app/src/main/java/app/organicmaps/intent/Factory.java index 5da9d96b59..96f07a1261 100644 --- a/android/app/src/main/java/app/organicmaps/intent/Factory.java +++ b/android/app/src/main/java/app/organicmaps/intent/Factory.java @@ -202,22 +202,25 @@ public class Factory { final ParsingResult result = Framework.nativeParseAndSetApiUrl(getUrl()); - // TODO: Kernel recognizes "mapsme://", "mwm://" and "mapswithme://" schemas only!!! + final Uri uri = Uri.parse(getUrl()); + if (uri.isHierarchical()) + { + final String backUrl = uri.getQueryParameter("backurl"); + if (!TextUtils.isEmpty(backUrl)) + { + final Intent intent = target.getIntent(); + if (intent != null) + intent.putExtra(MwmActivity.EXTRA_BACK_URL, backUrl); + } + } + + // TODO: Kernel recognizes "om://", "mapsme://", "mwm://" and "mapswithme://" schemas only!!! if (result.getUrlType() == ParsingResult.TYPE_INCORRECT) return Map.showMapForUrl(getUrl()); if (!result.isSuccess()) return false; - final Uri uri = Uri.parse(getUrl()); - final String backUrl = uri.getQueryParameter("backurl"); - if (!TextUtils.isEmpty(backUrl)) - { - Intent intent = target.getIntent(); - if (intent != null) - intent.putExtra(MwmActivity.EXTRA_BACK_URL, backUrl); - } - switch (result.getUrlType()) { case ParsingResult.TYPE_INCORRECT: -- 2.45.3