package
com.example.newcanaryproject
import
android.content.Context
import
android.content.Context.BATTERY_SERVICE
import
android.content.Intent
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.foundation.layout.*
import
androidx.compose.material.*
import
androidx.compose.runtime.Composable
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.font.FontWeight
import
androidx.compose.ui.text.style.TextAlign
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.*
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
)
})
}) {
connectionInformation(context = LocalContext.current)
}
}
}
}
}
}
@Composable
fun connectionInformation(context: Context) {
Column(
modifier = Modifier
.fillMaxSize()
.padding(all =
30
.dp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
Text(
text =
"Device Connection Information"
,
color = greenColor,
fontSize =
20
.sp,
fontWeight = FontWeight.Bold
)
val wifiManager = context.getSystemService(Context.WIFI_SERVICE) as WifiManager
val wifiInfo = wifiManager.connectionInfo
val ipAddress = Formatter.formatIpAddress(wifiInfo.ipAddress)
val linkSpeed = wifiInfo.linkSpeed
val networkID = wifiInfo.networkId
val ssid = wifiInfo.ssid
val hssid = wifiInfo.hiddenSSID
val bssid = wifiInfo.bssid
val connectionInfo =
"IP Address:\t$ipAddress\n"
+
"Link Speed:\t$linkSpeed\n"
+
"Network ID:\t$networkID\n"
+
"SSID:\t$ssid\n"
+
"Hidden SSID:\t$hssid\n"
+
"BSSID:\t$bssid\n"
Text(
text = connectionInfo,
color = Color.Black,
fontSize =
18
.sp,
fontWeight = FontWeight.Normal
)
}
}