diff --git a/app/src/main/java/org/androidlabs/applistbackup/docs/DocsViewerActivity.kt b/app/src/main/java/org/androidlabs/applistbackup/docs/DocsViewerActivity.kt index 7ed0d01..f0131e1 100644 --- a/app/src/main/java/org/androidlabs/applistbackup/docs/DocsViewerActivity.kt +++ b/app/src/main/java/org/androidlabs/applistbackup/docs/DocsViewerActivity.kt @@ -1,10 +1,12 @@ package org.androidlabs.applistbackup.docs +import android.content.ActivityNotFoundException import android.content.Intent import android.os.Bundle import android.webkit.WebResourceRequest import android.webkit.WebView import android.webkit.WebViewClient +import android.widget.Toast import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.fillMaxSize @@ -66,7 +68,15 @@ fun WebViewComposable(filename: String, modifier: Modifier = Modifier) { ): Boolean { request?.url?.let { url -> val intent = Intent(Intent.ACTION_VIEW, url) - context.startActivity(intent) + try { + context.startActivity(intent) + } catch (e: ActivityNotFoundException) { + Toast.makeText( + context, + R.string.no_app_to_open_link, + Toast.LENGTH_SHORT + ).show() + } return true } return false diff --git a/app/src/main/java/org/androidlabs/applistbackup/reader/BackupWebView.kt b/app/src/main/java/org/androidlabs/applistbackup/reader/BackupWebView.kt index 4ff5ec3..7636edd 100644 --- a/app/src/main/java/org/androidlabs/applistbackup/reader/BackupWebView.kt +++ b/app/src/main/java/org/androidlabs/applistbackup/reader/BackupWebView.kt @@ -1,6 +1,7 @@ package org.androidlabs.applistbackup.reader import android.annotation.SuppressLint +import android.content.ActivityNotFoundException import android.content.Intent import android.graphics.Bitmap import android.net.Uri @@ -9,6 +10,7 @@ import android.webkit.WebResourceRequest import android.webkit.WebSettings import android.webkit.WebView import android.webkit.WebViewClient +import android.widget.Toast import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.CircularProgressIndicator @@ -27,6 +29,7 @@ import androidx.compose.ui.viewinterop.AndroidView import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +import org.androidlabs.applistbackup.R @SuppressLint("SetJavaScriptEnabled") @Composable @@ -72,7 +75,17 @@ fun BackupWebView( coroutineScope.launch(Dispatchers.IO) { val intent = Intent(Intent.ACTION_VIEW, url) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - context.startActivity(intent) + try { + context.startActivity(intent) + } catch (e: ActivityNotFoundException) { + withContext(Dispatchers.Main) { + Toast.makeText( + context, + R.string.no_app_to_open_link, + Toast.LENGTH_SHORT + ).show() + } + } } return true } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 74a2c4a..ded7895 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,6 @@ AppListBackup + No app available to open this link Backup now Backing up This widget allow you to create backup immediately.