diff --git a/app/build.gradle b/app/build.gradle index 5eb5783..7883904 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -141,6 +141,9 @@ dependencies { // Timber implementation 'com.jakewharton.timber:timber:4.7.1' + // Custom Tabs + implementation 'androidx.browser:browser:1.0.0' + // Testing testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.2.0' diff --git a/app/src/main/java/com/koalatea/sedaily/util/UiExtensions.kt b/app/src/main/java/com/koalatea/sedaily/util/UiExtensions.kt index 97e23f2..334fbd8 100644 --- a/app/src/main/java/com/koalatea/sedaily/util/UiExtensions.kt +++ b/app/src/main/java/com/koalatea/sedaily/util/UiExtensions.kt @@ -3,11 +3,11 @@ package com.koalatea.sedaily.util import android.app.Activity import android.app.ActivityManager import android.content.Context -import android.content.Intent import android.net.Uri import android.util.TypedValue import android.view.inputmethod.InputMethodManager import androidx.appcompat.app.AppCompatActivity +import androidx.browser.customtabs.CustomTabsIntent import androidx.fragment.app.Fragment import androidx.navigation.NavController import androidx.navigation.ui.AppBarConfiguration @@ -46,16 +46,12 @@ fun Fragment.openUrl(url: String): Boolean { url } - val intent = Intent(Intent.ACTION_VIEW).setData(Uri.parse(validUrl)) + CustomTabsIntent.Builder() + .setShowTitle(true) + .build() + .launchUrl(context, Uri.parse(validUrl)) - val context = this.context - if (context != null && intent.resolveActivity(context.packageManager) != null) { - startActivity(intent) - - return true - } - - return false + return true } catch (e: Exception) { Timber.e(e)