From 87b6c2deef92af194750f60c9b05a95fba0814f4 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Sun, 16 Mar 2025 20:39:06 +0100 Subject: [PATCH] Prevent crash clinking on link if no browser is installed on device --- .../ui/assistant/fragment/LandingFragment.kt | 13 +++++++++++++ .../ui/assistant/fragment/RegisterFragment.kt | 5 +++++ .../ThirdPartySipAccountWarningFragment.kt | 5 +++++ .../ui/main/fragment/DrawerMenuFragment.kt | 5 +++++ .../ui/main/help/fragment/HelpFragment.kt | 17 +++++++++++++++++ 5 files changed, 45 insertions(+) diff --git a/app/src/main/java/org/linphone/ui/assistant/fragment/LandingFragment.kt b/app/src/main/java/org/linphone/ui/assistant/fragment/LandingFragment.kt index f61341868..017875fea 100644 --- a/app/src/main/java/org/linphone/ui/assistant/fragment/LandingFragment.kt +++ b/app/src/main/java/org/linphone/ui/assistant/fragment/LandingFragment.kt @@ -19,6 +19,7 @@ */ package org.linphone.ui.assistant.fragment +import android.content.ActivityNotFoundException import android.content.Context import android.content.Intent import android.os.Bundle @@ -110,6 +111,10 @@ class LandingFragment : GenericFragment() { Log.e( "$TAG Can't start ACTION_VIEW intent for URL [$url], IllegalStateException: $ise" ) + } catch (anfe: ActivityNotFoundException) { + Log.e( + "$TAG Can't start ACTION_VIEW intent for URL [$url], ActivityNotFoundException: $anfe" + ) } } @@ -213,6 +218,10 @@ class LandingFragment : GenericFragment() { Log.e( "$TAG Can't start ACTION_VIEW intent for URL [$url], IllegalStateException: $ise" ) + } catch (anfe: ActivityNotFoundException) { + Log.e( + "$TAG Can't start ACTION_VIEW intent for URL [$url], ActivityNotFoundException: $anfe" + ) } } } @@ -227,6 +236,10 @@ class LandingFragment : GenericFragment() { Log.e( "$TAG Can't start ACTION_VIEW intent for URL [$url], IllegalStateException: $ise" ) + } catch (anfe: ActivityNotFoundException) { + Log.e( + "$TAG Can't start ACTION_VIEW intent for URL [$url], ActivityNotFoundException: $anfe" + ) } } } diff --git a/app/src/main/java/org/linphone/ui/assistant/fragment/RegisterFragment.kt b/app/src/main/java/org/linphone/ui/assistant/fragment/RegisterFragment.kt index 10f0aba41..693bf485d 100644 --- a/app/src/main/java/org/linphone/ui/assistant/fragment/RegisterFragment.kt +++ b/app/src/main/java/org/linphone/ui/assistant/fragment/RegisterFragment.kt @@ -19,6 +19,7 @@ */ package org.linphone.ui.assistant.fragment +import android.content.ActivityNotFoundException import android.content.Context import android.content.Intent import android.os.Bundle @@ -108,6 +109,10 @@ class RegisterFragment : GenericFragment() { Log.e( "$TAG Can't start ACTION_VIEW intent for URL [$url], IllegalStateException: $ise" ) + } catch (anfe: ActivityNotFoundException) { + Log.e( + "$TAG Can't start ACTION_VIEW intent for URL [$url], ActivityNotFoundException: $anfe" + ) } } diff --git a/app/src/main/java/org/linphone/ui/assistant/fragment/ThirdPartySipAccountWarningFragment.kt b/app/src/main/java/org/linphone/ui/assistant/fragment/ThirdPartySipAccountWarningFragment.kt index 57e7528be..050caff26 100644 --- a/app/src/main/java/org/linphone/ui/assistant/fragment/ThirdPartySipAccountWarningFragment.kt +++ b/app/src/main/java/org/linphone/ui/assistant/fragment/ThirdPartySipAccountWarningFragment.kt @@ -19,6 +19,7 @@ */ package org.linphone.ui.assistant.fragment +import android.content.ActivityNotFoundException import android.content.Intent import android.os.Bundle import android.view.LayoutInflater @@ -67,6 +68,10 @@ class ThirdPartySipAccountWarningFragment : GenericFragment() { Log.e( "$TAG Can't start ACTION_VIEW intent for URL [$url], IllegalStateException: $ise" ) + } catch (anfe: ActivityNotFoundException) { + Log.e( + "$TAG Can't start ACTION_VIEW intent for URL [$url], ActivityNotFoundException: $anfe" + ) } } diff --git a/app/src/main/java/org/linphone/ui/main/fragment/DrawerMenuFragment.kt b/app/src/main/java/org/linphone/ui/main/fragment/DrawerMenuFragment.kt index 067a35ea0..95fccd147 100644 --- a/app/src/main/java/org/linphone/ui/main/fragment/DrawerMenuFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/fragment/DrawerMenuFragment.kt @@ -19,6 +19,7 @@ */ package org.linphone.ui.main.fragment +import android.content.ActivityNotFoundException import android.content.Intent import android.os.Bundle import android.view.Gravity @@ -152,6 +153,10 @@ class DrawerMenuFragment : GenericMainFragment() { Log.e( "$TAG Can't start ACTION_VIEW intent for URL [$link], IllegalStateException: $ise" ) + } catch (anfe: ActivityNotFoundException) { + Log.e( + "$TAG Can't start ACTION_VIEW intent for URL [$link], ActivityNotFoundException: $anfe" + ) } } } diff --git a/app/src/main/java/org/linphone/ui/main/help/fragment/HelpFragment.kt b/app/src/main/java/org/linphone/ui/main/help/fragment/HelpFragment.kt index 8111b60e7..3d7e7c43b 100644 --- a/app/src/main/java/org/linphone/ui/main/help/fragment/HelpFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/help/fragment/HelpFragment.kt @@ -19,6 +19,7 @@ */ package org.linphone.ui.main.help.fragment +import android.content.ActivityNotFoundException import android.content.Intent import android.os.Bundle import android.view.LayoutInflater @@ -84,6 +85,10 @@ class HelpFragment : GenericMainFragment() { Log.e( "$TAG Can't start ACTION_VIEW intent for URL [$url], IllegalStateException: $ise" ) + } catch (anfe: ActivityNotFoundException) { + Log.e( + "$TAG Can't start ACTION_VIEW intent for URL [$url], ActivityNotFoundException: $anfe" + ) } } @@ -96,6 +101,10 @@ class HelpFragment : GenericMainFragment() { Log.e( "$TAG Can't start ACTION_VIEW intent for URL [$url], IllegalStateException: $ise" ) + } catch (anfe: ActivityNotFoundException) { + Log.e( + "$TAG Can't start ACTION_VIEW intent for URL [$url], ActivityNotFoundException: $anfe" + ) } } @@ -108,6 +117,10 @@ class HelpFragment : GenericMainFragment() { Log.e( "$TAG Can't start ACTION_VIEW intent for URL [$url], IllegalStateException: $ise" ) + } catch (anfe: ActivityNotFoundException) { + Log.e( + "$TAG Can't start ACTION_VIEW intent for URL [$url], ActivityNotFoundException: $anfe" + ) } } @@ -163,6 +176,10 @@ class HelpFragment : GenericMainFragment() { Log.e( "$TAG Can't start ACTION_VIEW intent for URL [$url], IllegalStateException: $ise" ) + } catch (anfe: ActivityNotFoundException) { + Log.e( + "$TAG Can't start ACTION_VIEW intent for URL [$url], ActivityNotFoundException: $anfe" + ) } dialog.dismiss() }