Skip to content

Instantly share code, notes, and snippets.

@brkckr
brkckr / SpeedTest.kt
Last active January 14, 2026 22:01
a cheap copy of speedtest on android/jetpack compose
@Composable
fun SpeedTestScreen() {
// State to track if the test is running
var isTesting by remember { mutableStateOf(false) }
// State for download speed
var downloadSpeed by remember { mutableFloatStateOf(0f) }
// Animated speed value for smooth transitions
val animatedSpeed by animateFloatAsState(
@brkckr
brkckr / Dvdscreen.kt
Last active January 14, 2026 21:49
Bouncing DVD logo animation on Jetpack Compose
@Composable
fun DVDScreen() {
var dvdVideoSize by remember { mutableStateOf(Size.Zero) } // dvd+video size
var isSizeReady by remember { mutableStateOf(false) } // is size ready?
var velocityX by remember { mutableFloatStateOf(5f) }
var velocityY by remember { mutableFloatStateOf(5f) }
var textColor by remember { mutableStateOf(Color.Blue) }
fun randomColor(): Color {
return Color(
@brkckr
brkckr / LeadTracker.kt
Last active January 5, 2026 13:48
Cheap copy of EuroBasket's Lead Tracker
@Composable
fun LeadTracker(differences: List<Int>) {
// Guard against empty list
if (differences.isEmpty()) {
Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
Text("No data available", color = Color.Gray)
}
return
}
@brkckr
brkckr / Sphere.kt
Last active January 14, 2026 21:50
Rotating 3D sphere animation in Jetpack Compose using Canvas
@Composable
fun Sphere() {
val infiniteTransition = rememberInfiniteTransition(label = "SphereRotation")
// Smooth 30-second full rotation around Y-axis
val rotationAngleDegrees by infiniteTransition.animateFloat(
initialValue = 0f,
targetValue = 360f,
animationSpec = infiniteRepeatable(
animation = tween(durationMillis = 15000, easing = LinearEasing),