Add ActivityNotFoundException handling to ConversationFragment.

This commit is contained in:
Alex Hart
2023-08-04 15:17:47 -03:00
parent f25a716d62
commit b4ef95a9b4

View File

@@ -9,6 +9,7 @@ import android.Manifest
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.ActivityOptions import android.app.ActivityOptions
import android.app.PendingIntent import android.app.PendingIntent
import android.content.ActivityNotFoundException
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
@@ -20,6 +21,7 @@ import android.graphics.PorterDuffColorFilter
import android.graphics.Rect import android.graphics.Rect
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.provider.Browser
import android.provider.Settings import android.provider.Settings
import android.text.Editable import android.text.Editable
import android.text.TextWatcher import android.text.TextWatcher
@@ -656,6 +658,22 @@ class ConversationFragment :
Permissions.onRequestPermissionsResult(this, requestCode, permissions, grantResults) Permissions.onRequestPermissionsResult(this, requestCode, permissions, grantResults)
} }
override fun startActivity(intent: Intent) {
if (intent.getStringArrayExtra(Browser.EXTRA_APPLICATION_ID) != null) {
intent.removeExtra(Browser.EXTRA_APPLICATION_ID)
}
try {
super.startActivity(intent)
} catch (e: ActivityNotFoundException) {
Log.w(TAG, e)
toast(
toastTextId = R.string.ConversationActivity_there_is_no_app_available_to_handle_this_link_on_your_device,
toastDuration = Toast.LENGTH_LONG
)
}
}
//endregion //endregion
//region Fragment callbacks and listeners //region Fragment callbacks and listeners