diff --git a/kotlin-extensions/src/main/java/ru/touchin/extensions/Context.kt b/kotlin-extensions/src/main/java/ru/touchin/extensions/Context.kt index 54b0f09..b9e1bf2 100644 --- a/kotlin-extensions/src/main/java/ru/touchin/extensions/Context.kt +++ b/kotlin-extensions/src/main/java/ru/touchin/extensions/Context.kt @@ -4,6 +4,7 @@ import android.content.Context import android.content.Intent import android.net.Uri import android.os.Bundle +import android.provider.Browser fun Context.safeStartActivity(intent: Intent, options: Bundle? = null, resolveFlags: Int = 0) = try { @@ -15,6 +16,18 @@ fun Context.openBrowser(url: String) = Intent(Intent.ACTION_VIEW) .setData(Uri.parse(url)) .let { intent -> safeStartActivity(intent) } +fun Context.openBrowserWithHeaders(url: String, headersMap: Map) = Intent(Intent.ACTION_VIEW) + .setData(Uri.parse(url)) + .let { intent -> + val bundle = Bundle().apply { + headersMap.forEach { (key, value) -> + putString(key, value) + } + } + intent.putExtra(Browser.EXTRA_HEADERS, bundle) + safeStartActivity(intent) + } + fun Context.callToPhoneNumber(phoneNumber: String) = Intent(Intent.ACTION_VIEW) .setData(Uri.parse("tel:$phoneNumber")) .let { intent -> safeStartActivity(intent) }