diff --git a/apps/flipcash/core/src/main/kotlin/com/flipcash/app/core/android/IntentUtils.kt b/apps/flipcash/core/src/main/kotlin/com/flipcash/app/core/android/IntentUtils.kt
index df54d80a4..d405fbbe7 100644
--- a/apps/flipcash/core/src/main/kotlin/com/flipcash/app/core/android/IntentUtils.kt
+++ b/apps/flipcash/core/src/main/kotlin/com/flipcash/app/core/android/IntentUtils.kt
@@ -24,7 +24,7 @@ object IntentUtils {
fun tweet(message: String) = Intent(Intent.ACTION_VIEW).apply {
val url = Linkify.tweet(message)
- setData(url.toUri())
+ data = url.toUri()
flags = Intent.FLAG_ACTIVITY_NEW_TASK
}
@@ -57,7 +57,7 @@ object IntentUtils {
}
fun appStoreListing(packageName: String) = Intent(Intent.ACTION_VIEW).apply {
- setData(Uri.parse("https://play.google.com/store/apps/details?id=$packageName"))
+ data = "https://play.google.com/store/apps/details?id=$packageName".toUri()
flags = Intent.FLAG_ACTIVITY_NEW_TASK
}
diff --git a/apps/flipcash/core/src/main/res/values/strings.xml b/apps/flipcash/core/src/main/res/values/strings.xml
index 6c02ab334..6ef05b575 100644
--- a/apps/flipcash/core/src/main/res/values/strings.xml
+++ b/apps/flipcash/core/src/main/res/values/strings.xml
@@ -367,10 +367,11 @@
Verify Your Phone Number And Email To Continue
This will allow you to add funds from your debit card
- "
Email
Open Mail
+ No email app found on this device
+ Please install an email app to receive your verification email
Check your inbox
Tap the link we sent to
Didn\'t get an email?
diff --git a/apps/flipcash/features/contact-verification/src/main/kotlin/com/flipcash/app/contact/verification/email/EmailMagicLinkScreen.kt b/apps/flipcash/features/contact-verification/src/main/kotlin/com/flipcash/app/contact/verification/email/EmailMagicLinkScreen.kt
index 8b1a8de36..e992600e1 100644
--- a/apps/flipcash/features/contact-verification/src/main/kotlin/com/flipcash/app/contact/verification/email/EmailMagicLinkScreen.kt
+++ b/apps/flipcash/features/contact-verification/src/main/kotlin/com/flipcash/app/contact/verification/email/EmailMagicLinkScreen.kt
@@ -12,11 +12,15 @@ import com.flipcash.app.analytics.Analytics
import com.flipcash.app.analytics.rememberAnalytics
import com.flipcash.app.contact.verification.internal.email.EmailMagicLinkScreen
import com.flipcash.app.contact.verification.internal.email.EmailVerificationViewModel
+import android.content.ActivityNotFoundException
+import android.widget.Toast
+import androidx.compose.ui.platform.LocalResources
import com.flipcash.app.core.android.IntentUtils
import com.flipcash.app.core.verification.VerificationResult
import com.flipcash.app.core.verification.VerificationStep
import com.flipcash.app.core.verification.email.EmailDeeplinkOrigin
import com.flipcash.features.contact.verification.R
+import com.getcode.manager.BottomBarManager
import com.getcode.navigation.flow.flowSharedViewModel
import com.getcode.navigation.flow.rememberFlowNavigator
import com.getcode.ui.components.AppBarWithTitle
@@ -59,12 +63,20 @@ fun EmailMagicLinkContent(
viewModel.dispatchEvent(EmailVerificationViewModel.Event.OnDataProvided(email, code))
}
+ val resources = LocalResources.current
val context = LocalContext.current
LaunchedEffect(viewModel) {
viewModel.eventFlow
.filterIsInstance()
.onEach {
- context.startActivity(IntentUtils.emailApp())
+ try {
+ context.startActivity(IntentUtils.emailApp())
+ } catch (_: ActivityNotFoundException) {
+ BottomBarManager.showError(
+ title = resources.getString(R.string.error_title_noEmailAppFound),
+ message = resources.getString(R.string.error_description_noEmailAppFound),
+ )
+ }
}.launchIn(this)
}