package com.example.runtimepermissions
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
RuntimePermissionsScreen(onOkClicked = { finish() })
}
}
}
@Composable
fun RuntimePermissionsScreen(onOkClicked: () -> Unit) {
Column(
modifier = Modifier
.fillMaxSize()
.padding(16.dp),
verticalArrangement = Arrangement.SpaceBetween
) {
Column {
Text(
text = "Runtime Permissions Explanation",
fontSize = 24.sp,
fontWeight = FontWeight.Bold,
modifier = Modifier.padding(bottom = 24.dp)
)
Text(text = "1. User control: Apps ask for permission when needed.", fontSize = 18.sp, modifier = Modifier.padding(bottom = 12.dp))
Text(text = "2. Transparency: Users see what data apps want.", fontSize = 18.sp, modifier = Modifier.padding(bottom = 12.dp))
Text(text = "3. Privacy: Apps can't access sensitive info without permission.", fontSize = 18.sp)
}
Button(
onClick = onOkClicked,
modifier = Modifier
.fillMaxWidth()
.height(48.dp)
) {
Text(text = "OK")
}
}
}
This screen uses a vertical column layout with padding for spacing. The title is bold and larger to stand out. Below it, three simple sentences explain why runtime permissions protect privacy, using friendly and clear language. The OK button at the bottom closes the screen when tapped, giving a natural way to exit.
This approach helps users understand the importance of permissions in a calm and simple way, respecting their control and privacy.