From 4dbe4c78a21ee6e56c84c5a2738edfa602be9da1 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Mon, 1 Apr 2024 15:17:38 +0530 Subject: [PATCH] AppLinksFragment: Wrap app link activity start in try-catch block Android warns that it may not exist on all devices and samsung devices seems to prove that true. Signed-off-by: Aayush Gupta --- .../view/ui/onboarding/AppLinksFragment.kt | 18 +++++++++++++----- app/src/main/res/values/strings.xml | 1 + 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/aurora/store/view/ui/onboarding/AppLinksFragment.kt b/app/src/main/java/com/aurora/store/view/ui/onboarding/AppLinksFragment.kt index 952d1c6b2..4e1af813c 100644 --- a/app/src/main/java/com/aurora/store/view/ui/onboarding/AppLinksFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/onboarding/AppLinksFragment.kt @@ -6,6 +6,7 @@ import android.content.pm.verify.domain.DomainVerificationUserState import android.net.Uri import android.os.Bundle import android.provider.Settings.ACTION_APP_OPEN_BY_DEFAULT_SETTINGS +import android.util.Log import android.view.View import androidx.activity.result.contract.ActivityResultContracts import androidx.fragment.app.Fragment @@ -19,6 +20,8 @@ import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint class AppLinksFragment : Fragment(R.layout.fragment_app_links) { + private val TAG = AppLinksFragment::class.java.simpleName + private var _binding: FragmentAppLinksBinding? = null private val binding get() = _binding!! @@ -51,11 +54,16 @@ class AppLinksFragment : Fragment(R.layout.fragment_app_links) { if (isSAndAbove()) { buttons.values.forEach { it.setOnClickListener { - val intent = Intent( - ACTION_APP_OPEN_BY_DEFAULT_SETTINGS, - Uri.parse("package:${view.context.packageName}") - ) - startForResult.launch(intent) + try { + val intent = Intent( + ACTION_APP_OPEN_BY_DEFAULT_SETTINGS, + Uri.parse("package:${view.context.packageName}") + ) + startForResult.launch(intent) + } catch (exception: Exception) { + Log.e(TAG, "Failed to open app links screen", exception) + toast(R.string.failed_app_link) + } } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fd50bbc46..3ff493933 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -400,4 +400,5 @@ Optionally you can choose to keep the optimizations enabled, but then you won\'t be able to take benefit of background downloads and automated updates, so choice is yours. Failed to export APKs Manage + Unsupported, please try associating links manually