Coverage Summary for Class: LinkOpener (com.vsevolodganin.clicktrack.common)

Class Class, % Method, % Branch, % Line, % Instruction, %
LinkOpener 0% (0/1) 0% (0/4) 0% (0/10) 0% (0/62)


 package com.vsevolodganin.clicktrack.common
 
 import android.app.Activity
 import android.content.ActivityNotFoundException
 import android.content.Context
 import android.content.Intent
 import android.net.Uri
 import com.vsevolodganin.clicktrack.di.component.MainControllerScope
 import me.tatarka.inject.annotations.Inject
 
 @MainControllerScope
 @Inject
 actual class LinkOpener(private val context: Activity) {
     actual fun url(url: String) {
         val uri: Uri = Uri.parse(url)
         val intent = Intent(Intent.ACTION_VIEW, uri)
         context.startActivityIfAble(intent)
     }
 
     actual fun email(email: String) {
         val intent = Intent(Intent.ACTION_SENDTO).apply {
             data = Uri.parse("mailto:")
             putExtra(Intent.EXTRA_EMAIL, arrayOf(email))
         }
         context.startActivityIfAble(intent)
     }
 
     private fun Context.startActivityIfAble(intent: Intent) {
         try {
             startActivity(intent)
         } catch (e: ActivityNotFoundException) {
             // Ignoring
         }
     }
 }