Skip to content

Instantly share code, notes, and snippets.

View tmstaedt's full-sized avatar

Thomas Mittelstaedt tmstaedt

View GitHub Profile
@burkeholland
burkeholland / prd.md
Created April 10, 2025 19:50
TheUrlist PRD

Project Requirements Document: The Urlist Website

The following table outlines the detailed functional requirements of The Urlist website.

Requirement ID Description User Story Expected Behavior/Outcome
FR001 Creating a New URL List As a user, I want to be able to start a new, empty list so I can begin adding URLs. The system should provide a clear way for the user to initiate the creation of a new list, potentially presenting an empty list view or an "add new list" button.
FR002 A
@tkuenneth
tkuenneth / MainActivity.kt
Last active November 12, 2024 02:08
Jetpack Compose LazyColumn with animated header
package de.thomaskuenneth.animatedheaderdemo
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
@adibhanna
adibhanna / tmux.conf
Last active September 11, 2025 08:54
Tmux config
#--------------------------------------------------------------------------
# Configuration
#--------------------------------------------------------------------------
# Use Vi mode
setw -g mode-keys vi
# Increase scrollback buffer size
set -g history-limit 10000
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.animation.core.Animatable
import androidx.compose.animation.core.Spring
import androidx.compose.animation.core.VectorConverter
import androidx.compose.animation.core.spring
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.forEachGesture
@Zhuinden
Zhuinden / MyFragment.java
Last active September 10, 2022 11:02
Nested child fragments for bottom navigation view in Java
public class MyFragment
extends Fragment {
public MyFragment() {
super(R.layout.my_fragment);
}
private int selectedIndex = 0;
private FirstFragment firstFragment;
@theapache64
theapache64 / launcTime.sh
Last active August 18, 2022 13:09
To measure average Activity startup time
# To measure lauch time
fun launchTime(){
# Config
LAUNCH_COUNT=10
REGEX='TotalTime: (\d+)'
# The two params are configurable via argument
DEFAULT_PACKAGE_NAME='com.your.packagename'
@okmanideep
okmanideep / EventQueue.kt
Last active October 2, 2024 04:19
Event abstraction for Jetpack Compose
import androidx.compose.runtime.*
import kotlinx.coroutines.CoroutineScope
@Stable
internal class Event<T>(val value: T)
class MutableEventQueue<T>
internal constructor(): EventQueue<T>() {
private val events = mutableListOf<Event<T>>()
private val nextEventAsState = mutableStateOf<Event<T>?>(null)
@hvisser
hvisser / MaterialConversions.kt
Last active May 15, 2024 09:16
Using both Material 3 and material components in Compose within the same theme
// conversions based on https://material.io/blog/migrating-material-3, deprecated colors set to Colors.Red
@Composable
fun fromMaterial3Theme(isLight: Boolean): Colors {
val scheme = MaterialTheme.colorScheme
return Colors(
primary = scheme.primary,
primaryVariant = Color.Red,
secondary = scheme.secondary,
secondaryVariant = Color.Red,
background = scheme.background,
@cedrickring
cedrickring / ColoredShadow.kt
Last active September 5, 2024 21:56
Draw a colored shadow in Android Jetpack Compose
/*
Copyright 2020 Cedric Kring.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,