diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 857fef0..0ce3222 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -64,6 +64,7 @@ dependencies { implementation(Dependencies.AndroidX.navigationFragment) implementation(Dependencies.AndroidX.navigationUi) implementation(Dependencies.AndroidX.workManager) + implementation(Dependencies.AndroidX.browser) // Google implementation(Dependencies.Google.material) diff --git a/app/src/main/java/net/underdesk/circolapp/utils/FileUtils.kt b/app/src/main/java/net/underdesk/circolapp/utils/FileUtils.kt index 26a1ad6..873da4a 100644 --- a/app/src/main/java/net/underdesk/circolapp/utils/FileUtils.kt +++ b/app/src/main/java/net/underdesk/circolapp/utils/FileUtils.kt @@ -6,6 +6,8 @@ import android.content.Intent import android.content.pm.PackageManager import android.net.Uri import androidx.appcompat.app.AppCompatActivity +import androidx.browser.customtabs.CustomTabColorSchemeParams +import androidx.browser.customtabs.CustomTabsIntent.* import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import com.google.android.material.dialog.MaterialAlertDialogBuilder @@ -15,9 +17,8 @@ import net.underdesk.circolapp.adapters.CircularLetterAdapter object FileUtils { fun viewFile(url: String, context: Context) { - val viewIntent = Intent(Intent.ACTION_VIEW) - if (url.endsWith(".pdf")) { + val viewIntent = Intent(Intent.ACTION_VIEW) viewIntent.setDataAndType(Uri.parse(url), "application/pdf") if (viewIntent.resolveActivity(context.packageManager) == null) { @@ -36,11 +37,24 @@ object FileUtils { return } - } else { - viewIntent.data = Uri.parse(url) - } - context.startActivity(viewIntent) + context.startActivity(viewIntent) + } else { + val primaryColor = ContextCompat.getColor(context, R.color.colorPrimary) + + val otherParams = CustomTabColorSchemeParams.Builder() + .setToolbarColor(primaryColor) + .build() + + val customTabsIntent = Builder() + .setShowTitle(true) + .setColorScheme(COLOR_SCHEME_SYSTEM) + .setDefaultColorSchemeParams(otherParams) + .setShareState(SHARE_STATE_ON) + .build() + + customTabsIntent.launchUrl(context, Uri.parse(url)) + } } fun shareFile(url: String, context: Context) { diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index db882ba..b956e15 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -14,6 +14,7 @@ object Dependencies { const val lifecycleExtensions = "androidx.lifecycle:lifecycle-extensions:2.2.0" const val lifecycleLiveData = "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0" const val preference = "androidx.preference:preference-ktx:1.1.1" + const val browser = "androidx.browser:browser:1.3.0" private const val navigationVersion = "2.3.2" const val navigationFragment =