package
com.example.newcanaryproject
import
android.content.Context
import
android.content.Context.BATTERY_SERVICE
import
android.content.Intent
import
android.graphics.drawable.Animatable
import
android.net.wifi.WifiManager
import
android.text.format.Formatter
import
android.os.BatteryManager
import
android.os.Build
import
android.os.Bundle
import
android.provider.Settings
import
androidx.activity.ComponentActivity
import
androidx.activity.compose.setContent
import
androidx.annotation.RequiresApi
import
androidx.compose.animation.core.LinearOutSlowInEasing
import
androidx.compose.animation.core.RepeatMode
import
androidx.compose.animation.core.infiniteRepeatable
import
androidx.compose.animation.core.keyframes
import
androidx.compose.foundation.background
import
androidx.compose.foundation.layout.*
import
androidx.compose.foundation.shape.CircleShape
import
androidx.compose.material.*
import
androidx.compose.runtime.Composable
import
androidx.compose.runtime.LaunchedEffect
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.graphics.graphicsLayer
import
androidx.compose.ui.platform.LocalContext
import
androidx.compose.ui.platform.LocalDensity
import
androidx.compose.ui.text.font.FontWeight
import
androidx.compose.ui.text.style.TextAlign
import
androidx.compose.ui.unit.Dp
import
androidx.compose.ui.unit.dp
import
androidx.compose.ui.unit.sp
import
com.example.newcanaryproject.ui.theme.NewCanaryProjectTheme
import
com.example.newcanaryproject.ui.theme.greenColor
import
com.github.skydoves.colorpicker.compose.*
import
kotlinx.coroutines.delay
class
MainActivity : ComponentActivity() {
@RequiresApi
(Build.VERSION_CODES.M)
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 =
"GFG"
,
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Center,
color = Color.White
)
})
}) {
servicesUI(context = LocalContext.current)
}
}
}
}
}
}
@Composable
fun servicesUI(context: Context) {
val serviceStatus = remember {
mutableStateOf(
false
)
}
val buttonValue = remember {
mutableStateOf(
"Start Service"
)
}
Column(
modifier = Modifier
.fillMaxSize()
.padding(all =
30
.dp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
Text(
text =
"Services in Android"
,
color = greenColor,
fontSize =
20
.sp,
fontWeight = FontWeight.Bold
)
Spacer(modifier = Modifier.height(
20
.dp))
Button(onClick = {
if
(serviceStatus.value) {
serviceStatus.value = !serviceStatus.value
buttonValue.value =
"Start Service"
context.stopService(Intent(context, MyService::
class
.java))
}
else
{
serviceStatus.value = !serviceStatus.value
buttonValue.value =
"Stop Service"
context.startService(Intent(context, MyService::
class
.java))
}
}) {
Text(
text = buttonValue.value,
modifier = Modifier.padding(
10
.dp),
color = Color.White,
fontSize =
20
.sp
)
}
}
}