Skip to content

Commit

Permalink
Fix crash when starting external activity for intent without a defaul…
Browse files Browse the repository at this point in the history
…t set
  • Loading branch information
moezbhatti committed Feb 12, 2018
1 parent f1ac0c0 commit fcd1cfc
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions qksms/src/main/java/presentation/common/Navigator.kt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,14 @@ class Navigator @Inject constructor(val context: Context) {
context.startActivity(intent)
}

private fun startActivityExternal(intent: Intent) {
if (intent.resolveActivity(context.packageManager) != null) {
startActivity(intent)
} else {
startActivity(Intent.createChooser(intent, null))
}
}

fun showSetupActivity() {
val intent = Intent(context, SetupActivity::class.java)
startActivity(intent)
Expand Down Expand Up @@ -93,20 +101,20 @@ class Navigator @Inject constructor(val context: Context) {

fun makePhoneCall(address: String) {
val intent = Intent(Intent.ACTION_DIAL, Uri.parse("tel:$address"))
startActivity(intent)
startActivityExternal(intent)
}

fun showSupport() {
val intent = Intent(Intent.ACTION_SENDTO)
intent.data = Uri.parse("mailto:")
intent.putExtra(Intent.EXTRA_EMAIL, arrayOf("team@qklabs.com"))
startActivity(intent)
startActivityExternal(intent)
}

fun addContact(address: String) {
val uri = Uri.parse("tel: $address")
val intent = Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, uri)
startActivity(intent)
startActivityExternal(intent)
}

@TargetApi(Build.VERSION_CODES.O)
Expand Down

0 comments on commit fcd1cfc

Please sign in to comment.