package
com.example.testproject
import
android.annotation.SuppressLint
import
android.content.Context
import
android.content.Intent
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.compose.foundation.layout.*
import
androidx.compose.foundation.text.KeyboardOptions
import
androidx.compose.material.*
import
androidx.compose.runtime.Composable
import
androidx.compose.runtime.mutableStateOf
import
androidx.compose.runtime.remember
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.text.TextStyle
import
androidx.compose.ui.text.font.FontFamily
import
androidx.compose.ui.text.font.FontWeight
import
androidx.compose.ui.text.input.TextFieldValue
import
androidx.compose.ui.text.style.TextAlign
import
androidx.compose.ui.tooling.preview.Preview
import
androidx.compose.ui.unit.dp
import
androidx.compose.ui.unit.sp
import
androidx.core.content.ContextCompat.startActivity
import
com.example.testproject.ui.theme.TestProjectTheme
import
com.example.testproject.ui.theme.greenColor
class
MainActivity : ComponentActivity() {
@SuppressLint
(
"UnusedMaterialScaffoldPaddingParameter"
)
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContent {
TestProjectTheme {
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colors.background
) {
Scaffold(
topBar = {
TopAppBar(backgroundColor = greenColor,
title = {
Text(
text =
"GFG"
,
color = Color.White,
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Center,
)
}
)
}
) {
openEmailer()
}
}
}
}
}
}
@Composable
fun openEmailer() {
val senderEmail = remember {
mutableStateOf(TextFieldValue())
}
val emailSubject = remember {
mutableStateOf(TextFieldValue())
}
val emailBody = remember {
mutableStateOf(TextFieldValue())
}
val ctx = LocalContext.current
Column(
modifier = Modifier
.fillMaxSize()
.fillMaxHeight()
.fillMaxWidth()
.padding(
5
.dp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
TextField(
value = senderEmail.value,
onValueChange = { senderEmail.value = it },
placeholder = { Text(text =
"Enter sender email address"
) },
modifier = Modifier
.padding(
16
.dp)
.fillMaxWidth(),
textStyle = TextStyle(color = Color.Black, fontSize =
15
.sp),
singleLine =
true
,
)
Spacer(modifier = Modifier.height(
10
.dp))
TextField(
value = emailSubject.value,
onValueChange = { emailSubject.value = it },
placeholder = { Text(text =
"Enter email subject"
) },
modifier = Modifier
.padding(
16
.dp)
.fillMaxWidth(),
textStyle = TextStyle(color = Color.Black, fontSize =
15
.sp),
singleLine =
true
,
)
Spacer(modifier = Modifier.height(
10
.dp))
TextField(
value = emailBody.value,
onValueChange = { emailBody.value = it },
placeholder = { Text(text =
"Enter email body"
) },
modifier = Modifier
.padding(
16
.dp)
.fillMaxWidth(),
textStyle = TextStyle(color = Color.Black, fontSize =
15
.sp),
singleLine =
true
,
)
Spacer(modifier = Modifier.height(
20
.dp))
Button(onClick = {
val i = Intent(Intent.ACTION_SEND)
val emailAddress = arrayOf(senderEmail.value.text)
i.putExtra(Intent.EXTRA_EMAIL,emailAddress)
i.putExtra(Intent.EXTRA_SUBJECT,emailSubject.value.text)
i.putExtra(Intent.EXTRA_TEXT,emailBody.value.text)
i.setType(
"message/rfc822"
)
ctx.startActivity(Intent.createChooser(i,
"Choose an Email client : "
))
}) {
Text(
text =
"Send Email"
,
modifier = Modifier.padding(
10
.dp),
color = Color.White,
fontSize =
15
.sp
)
}
}
}