diff --git a/app/src/main/java/com/itsaky/androidide/activities/editor/BaseEditorActivity.kt b/app/src/main/java/com/itsaky/androidide/activities/editor/BaseEditorActivity.kt
index 9f72f90d7..c44686ecc 100644
--- a/app/src/main/java/com/itsaky/androidide/activities/editor/BaseEditorActivity.kt
+++ b/app/src/main/java/com/itsaky/androidide/activities/editor/BaseEditorActivity.kt
@@ -192,13 +192,12 @@ abstract class BaseEditorActivity :
if (packageName != null) {
Snackbar.make(binding.realContainer, string.msg_action_open_application, Snackbar.LENGTH_LONG)
.setAction(string.yes) {
- val launchIntent = packageManager.getLaunchIntentForPackage(packageName)
- launchIntent?.let { startActivity(it) }
+ tryLaunchApp(packageName)
}
.show()
}
}
-
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -407,6 +406,18 @@ abstract class BaseEditorActivity :
viewModel.statusText = text
viewModel.statusGravity = gravity
}
+
+ private fun tryLaunchApp(packageName: String) {
+ val launchIntent = packageManager.getLaunchIntentForPackage(packageName)
+ launchIntent?.let {
+ try {
+ startActivity(it)
+ } catch (e: Throwable) {
+ flashError(string.msg_app_launch_failed)
+ log.error("Failed to launch application with package name '$packageName'", e)
+ }
+ }
+ }
private fun checkIsDestroying() {
if (!isDestroying && isFinishing) {
diff --git a/resources/src/main/res/values/strings.xml b/resources/src/main/res/values/strings.xml
index 13686d0dc..87f45caca 100644
--- a/resources/src/main/res/values/strings.xml
+++ b/resources/src/main/res/values/strings.xml
@@ -536,4 +536,5 @@
Material You
Enjoy an experience closer to your device (requires restart).
Project configuration
+ Failed to launch application. See IDE logs for more info.