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 <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-04-01 15:17:38 +05:30
parent ed4e8c8430
commit 4dbe4c78a2
2 changed files with 14 additions and 5 deletions

View File

@@ -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)
}
}
}
}

View File

@@ -400,4 +400,5 @@
<string name="device_doze_extra">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.</string>
<string name="failed_apk_export">Failed to export APKs</string>
<string name="action_manage">Manage</string>
<string name="failed_app_link">Unsupported, please try associating links manually</string>
</resources>