mirror of
https://github.com/Matte23/circolapp.git
synced 2025-12-05 23:19:10 +00:00
Use custom tabs on Android
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 =
|
||||
|
||||
Reference in New Issue
Block a user