package com.rizoma.trazo import android.content.Context import android.content.Intent import android.os.Bundle import android.provider.Settings import android.view.inputmethod.InputMethodManager import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.core.view.WindowCompat import com.rizoma.trazo.ui.theme.NeonCian import com.rizoma.trazo.ui.theme.NeonRosa import com.rizoma.trazo.ui.theme.NeonVerde import com.rizoma.trazo.ui.theme.Tecla import com.rizoma.trazo.ui.theme.Tenue import com.rizoma.trazo.ui.theme.TrazoTheme import com.rizoma.trazo.ui.theme.Vacio /** Pantalla mínima para activar Trazo y elegirlo como teclado. */ class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) setContent { TrazoTheme { Setup( onActivar = { startActivity(Intent(Settings.ACTION_INPUT_METHOD_SETTINGS)) }, onElegir = { (getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager) .showInputMethodPicker() }, ) } } } } @Composable private fun Setup(onActivar: () -> Unit, onElegir: () -> Unit) { Column( Modifier .fillMaxSize() .background(Vacio) .padding(horizontal = 32.dp), verticalArrangement = Arrangement.Center, ) { Text("Trazo", color = NeonVerde, fontSize = 44.sp, fontWeight = FontWeight.Light) Spacer(Modifier.height(8.dp)) Text( "teclado de trazos — un toque, ocho gestos.", color = Tenue, fontSize = 15.sp, ) Spacer(Modifier.height(40.dp)) Paso("1", "activa Trazo en ajustes del sistema", NeonCian, onActivar) Spacer(Modifier.height(16.dp)) Paso("2", "elígelo como teclado actual", NeonRosa, onElegir) } } @Composable private fun Paso(num: String, label: String, accent: androidx.compose.ui.graphics.Color, onClick: () -> Unit) { Column( Modifier .fillMaxWidth() .clip(RoundedCornerShape(18.dp)) .background(Tecla) .border(1.dp, accent.copy(alpha = 0.4f), RoundedCornerShape(18.dp)) .clickable(onClick = onClick) .padding(20.dp), ) { Text(num, color = accent, fontSize = 13.sp, fontWeight = FontWeight.Bold) Spacer(Modifier.height(6.dp)) Text(label, color = androidx.compose.ui.graphics.Color.White, fontSize = 17.sp) } }