package
com.example.newcanaryproject
import
android.app.Activity
import
android.content.Context
import
android.content.Intent
import
android.content.SharedPreferences
import
android.content.pm.PackageManager
import
android.net.Uri
import
android.os.Bundle
import
android.util.Log
import
android.widget.Toast
import
androidx.activity.ComponentActivity
import
androidx.activity.compose.setContent
import
androidx.browser.customtabs.CustomTabColorSchemeParams
import
androidx.browser.customtabs.CustomTabsIntent
import
androidx.compose.foundation.layout.*
import
androidx.compose.material.*
import
androidx.compose.material.icons.Icons
import
androidx.compose.material.icons.filled.Email
import
androidx.compose.material.icons.filled.Password
import
androidx.compose.runtime.*
import
androidx.compose.ui.Alignment
import
androidx.compose.ui.Modifier
import
androidx.compose.ui.graphics.Color
import
androidx.compose.ui.platform.LocalContext
import
androidx.compose.ui.res.colorResource
import
androidx.compose.ui.text.TextStyle
import
androidx.compose.ui.text.font.FontFamily
import
androidx.compose.ui.text.font.FontWeight
import
androidx.compose.ui.text.input.PasswordVisualTransformation
import
androidx.compose.ui.text.input.TextFieldValue
import
androidx.compose.ui.text.style.TextAlign
import
androidx.compose.ui.unit.*
import
androidx.core.content.ContextCompat
import
com.example.newcanaryproject.ui.theme.*
class
MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContent {
NewCanaryProjectTheme {
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colors.background
) {
Scaffold(
topBar = {
TopAppBar(backgroundColor = greenColor,
title = {
Text(
text =
"Custom Chrome Tabs"
,
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Center,
color = Color.White
)
}
)
}
) {
customChromeTab()
}
}
}
}
}
}
@Composable
fun customChromeTab() {
val ctx = LocalContext.current
Column(
modifier = Modifier
.fillMaxSize()
.fillMaxWidth()
.fillMaxHeight(),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
Button(
modifier = Modifier
.fillMaxWidth()
.padding(
18
.dp),
colors = ButtonDefaults.buttonColors(backgroundColor = greenColor),
onClick = {
openTab(ctx)
})
{
Text(text =
"Open custom chrome tab"
, modifier = Modifier.padding(
8
.dp))
}
}
}
fun openTab(context: Context) {
val package_name =
"com.android.chrome"
val activity = (context as? Activity)
val builder = CustomTabsIntent.Builder()
builder.setShowTitle(
true
)
builder.setInstantAppsEnabled(
true
)
builder.setToolbarColor(ContextCompat.getColor(context, R.color.purple_200))
val customBuilder = builder.build()
if
(package_name !=
null
) {
customBuilder.intent.setPackage(package_name)
customBuilder.launchUrl(context, Uri.parse(URL))
}
else
{
val i = Intent(Intent.ACTION_VIEW, Uri.parse(URL))
activity?.startActivity(i)
}
}