Skip to content

Instantly share code, notes, and snippets.

View shinil7's full-sized avatar
🎯
Focusing

Shinil shinil7

🎯
Focusing
View GitHub Profile
@ardakazanci
ardakazanci / InteractiveTouchCanvas.kt
Created February 15, 2024 18:09
Interactive Canvas for jetpack compose
@Composable
fun InteractiveCanvas(maxWidth: Int, maxHeight: Int) {
val random = remember { Random.Default }
var touchPosition by remember { mutableStateOf(Offset.Unspecified) }
val heartSize = 75F
val heartPath = createHeartPath(heartSize)
val heartOffsets = remember { mutableStateListOf<Offset>() }
val heartColors = remember { mutableStateListOf<Color>() }
if (heartOffsets.isEmpty()) {
@ardakazanci
ardakazanci / DraggableDrawingShape.kt
Created January 23, 2024 18:58
Drag and drop canvas playground
@Composable
fun DraggableLineDrawing() {
Box(modifier = Modifier.fillMaxSize()) {
val buttonSize = 50.dp
val buttonRadius = buttonSize.value / 2
val buttonsState = remember { List(10) { mutableStateOf(Offset.Zero) } }
val explodedState = remember { mutableStateListOf<Boolean>().apply { repeat(10) { add(false) } } }
val secondaryColor = MaterialTheme.colorScheme.secondary
val brush = Brush.horizontalGradient(listOf(Color.Red, Color.Blue))
val brushSecond = Brush.horizontalGradient(listOf(Color.Gray, Color.Black))
@realvjy
realvjy / ChoasLinesShader.metal
Last active March 7, 2026 10:41
Choas Lines - Metal Shader
// Lines
float hash( float n ) {
return fract(sin(n)*753.5453123);
}
// Slight modification of iq's noise function.
float noise(vector_float2 x )
{
vector_float2 p = floor(x);
vector_float2 f = fract(x);
@sam016
sam016 / AllGattCharacteristics.java
Last active February 27, 2026 21:47
Bluetooth GATT Services & Characteristics
package com.sam016.vsflatomation.service.ble;
import java.util.HashMap;
import java.util.UUID;
public class AllGattCharacteristics {
private static HashMap<String, String> attributes = new HashMap();
static {
attributes.put("00002a00-0000-1000-8000-00805f9b34fb", "Device Name");
@arekolek
arekolek / LiveDataReactiveStreamsActivity.kt
Last active August 27, 2020 04:09
Using LiveDataReactiveStreams to handle lifecycle and threading while computing list diff for recycler view
package com.github.arekolek.diffutil
import android.arch.lifecycle.*
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.support.v7.util.DiffUtil
import android.support.v7.widget.RecyclerView
import android.util.Log
import android.view.LayoutInflater
import android.view.View
@michalkejzlar
michalkejzlar / DownloadProductPicturesUseCase.java
Created February 12, 2017 19:36
Android - Download multiple pictures from remote server at once and save them into local path using Picasso, Okio and RxJava
import android.content.Context;
import android.net.Uri;
import android.util.Log;
import com.fernandocejas.frodo.annotation.RxLogObservable;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import okio.BufferedSink;
import okio.BufferedSource;
import okio.Okio;
@jaredsburrows
jaredsburrows / Rx1TestBase.java
Last active July 28, 2019 04:16
RxAndroid overriding schedulers
import org.junit.After;
import org.junit.Before;
import rx.Scheduler;
import rx.android.plugins.RxAndroidPlugins;
import rx.android.plugins.RxAndroidSchedulersHook;
import rx.schedulers.Schedulers;
/**
* JUnit Tests.
*
apply plugin: 'com.android.application'
apply plugin: 'android-apt'
android {
compileSdkVersion versions.compileSdk
buildToolsVersion versions.buildTools
defaultConfig {
applicationId "samples.linhtruong.com.ui_reactive_rxjava_realm"
minSdkVersion versions.minSdk
@guillermomuntaner
guillermomuntaner / CutCopyPaste.java
Last active November 2, 2025 19:51
EditText which notifies of Cut, Copy and Paste events via an attachable listener
import android.content.Context;
import android.util.AttributeSet;
import android.widget.EditText;
/**
* Original:
* An EditText, which notifies when something was cut/copied/pasted inside it.
* @author Lukas Knuth
* @version 1.0
*
@danielgomezrico
danielgomezrico / DistanceCalculator.java
Last active January 6, 2021 00:37
Java / Android - calculate the distance between two coordinates with great circle formula.
import static java.lang.Math.acos;
import static java.lang.Math.cos;
import static java.lang.Math.sin;
/**
* Calculate distance between coordinates.
*/
public class DistanceCalculator {
static double PI_RAD = Math.PI / 180.0;