Skip to content

Instantly share code, notes, and snippets.

View adolgiy's full-sized avatar

Aleksey Dolgiy adolgiy

View GitHub Profile
@Miha-x64
Miha-x64 / SpanningLinearLayoutManager.java
Last active May 24, 2023 16:37 — forked from janheinrichmerker/LICENSE
LinearLayoutManager which distributes available space equally between all items. Changed: works also when items are added or removed.
package net.aquadc.recycler;
import android.content.Context;
import android.graphics.Rect;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.View;
/**
@green-nick
green-nick / LocalizedString.kt
Last active April 1, 2021 20:32
Wrapper for strings without Android-dependency
package ...
private val identityMap: (String) -> String = { it }
sealed class LocalizedString
data class ResourceString(
val id: Int,
val quantity: Int? = null,
val args: List<Any> = emptyList(),

Singleton

  1. Roll-your-own lazy singleton

    public final class Single {
        private static Single INSTANCE;
        private Single() {}
        
interface Traced<E, S : Trace.Stage> {
val trace: Trace<E, S>
}
data class EffectTracer<E : Traced<E, Trace.Stage.Out>, M : Traced<E, Trace.Stage.In>> internal constructor(
private val state: State,
private val factory: (Trace<E, Trace.Stage.Out>) -> E
) {
fun launch(): Pair<EffectTracer<E, M>, Set<E>> {
@techyourchance
techyourchance / MyPermission.java
Last active January 11, 2022 08:01
Abstraction for clean management of runtime permissions in Android applications
public enum MyPermission {
// declare runtime permissions specific to your app here (don't keep unused ones)
READ_PHONE_STATE(Manifest.permission.READ_PHONE_STATE),
FINE_LOCATION(Manifest.permission.ACCESS_FINE_LOCATION);
public static MyPermission fromAndroidPermission(String androidPermission) {
for (MyPermission permission : MyPermission.values()) {
if (permission.getAndroidPermission().equals(androidPermission)) {
return permission;
}
@Miha-x64
Miha-x64 / EditableAdapter.kt
Last active July 10, 2023 09:24
Another approach to EditTexts inside RecyclerView
import android.text.Editable
import android.text.SpannableStringBuilder
import android.view.ViewGroup
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import android.view.ViewGroup.LayoutParams.WRAP_CONTENT
import android.widget.EditText
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
@iTaysonLab
iTaysonLab / CoilVibrancyTransformation.android.kt
Last active March 26, 2025 00:47
Multiplatform Coil Blur Transformer imitating iOS blurring materials
package bruhcollective.itaysonlab.libvibrancy
import android.graphics.Bitmap
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Paint
import androidx.core.graphics.applyCanvas
import bruhcollective.itaysonlab.libvibrancy.VibrancyMaterial
import coil3.size.Size
import coil3.transform.Transformation
import com.google.android.renderscript.Toolkit