Skip to content

Instantly share code, notes, and snippets.

View VikramParimi's full-sized avatar
🚀
Launch Mode

Vikram Parimi VikramParimi

🚀
Launch Mode
View GitHub Profile
@ChristopherME
ChristopherME / recyclerview-fix-leak-extension.kt
Last active March 25, 2023 14:05
This extension method is a solution for a memory leak problem with recyclerviews.
/**
* Set the adapter and call [clearReference] extension function in one call.
* Use this extension if the current Fragment is going to be REPLACED. (When using fragmentTransaction.add is not necessary) the back stack.
*/
fun <VH : RecyclerView.ViewHolder> RecyclerView.setNullableAdapter(
adapter: RecyclerView.Adapter<VH>
) {
this.adapter = adapter
this.clearReference()
@gmk57
gmk57 / 1 ViewBindingDelegates.kt
Last active June 29, 2025 07:54
Kotlin delegates for Android View Binding with usage examples
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.DialogFragment
import androidx.fragment.app.Fragment
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import androidx.viewbinding.ViewBinding
@robksawyer
robksawyer / excludedActivityTypes.swift
Last active December 12, 2024 10:37
A list of UIActivity.ActivityType for modern apps.
let excludedActivityTypes = [
UIActivity.ActivityType.print,
UIActivity.ActivityType.openInIBooks,
UIActivity.ActivityType.copyToPasteboard,
UIActivity.ActivityType.addToReadingList,
UIActivity.ActivityType.assignToContact,
UIActivity.ActivityType.copyToPasteboard,
UIActivity.ActivityType.mail,
UIActivity.ActivityType.markupAsPDF,
UIActivity.ActivityType.postToFacebook,
data class Resource<out T>(
val status: Status,
val data: T?,
val message:String?
){
companion object{
fun <T> success(data:T?): Resource<T>{
return Resource(Status.SUCCESS, data, null)
}
@nuhkoca
nuhkoca / HiltDataBinding.kt
Last active February 26, 2024 16:33
A demonstration about how to inject BindingAdapters with Dagger Hilt.
BindingScoped.kt
@Scope
@Retention(AnnotationRetention.BINARY)
annotation class BindingScoped
-------------------------------------------------------
CustomBindingComponent.kt
@manojkarki
manojkarki / GridView.swift
Created May 23, 2020 12:05
A SwiftUi GridView to demonstrate multiple downloads using Combine.
import Foundation
import Combine
import SwiftUI
import UIKit
struct GridView: View {
@ObservedObject
var vm = GridViewModel()
let rows: Int = 25
@mahabaleshwarhnr
mahabaleshwarhnr / MockURLProtocol.swift
Created April 13, 2020 23:45
MockURLProtocol used for API mocking in iOS. This class supports cancel and resume operations. You can also test your various API logic
//
// MockURLProtocol.swift
// Cheeta
//
// Created by Mahabaleshwar on 14/04/20.
// Copyright © 2020 TW. All rights reserved.
//
import Foundation
@k-ogasawara
k-ogasawara / README.md
Last active July 14, 2021 07:45
Gmail: post to slack automatically
@Zhuinden
Zhuinden / FragmentViewBindingDelegate.kt
Last active February 11, 2025 09:25
Fragment view binding delegate
// https://github.com/Zhuinden/fragmentviewbindingdelegate-kt
import android.view.View
import androidx.fragment.app.Fragment
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.Observer
import androidx.viewbinding.ViewBinding
import kotlin.properties.ReadOnlyProperty
object MoshiAdapters {
val moshi : Moshi = Moshi.Builder().build()
inline fun <reified T: Any> moshiAdapter(clazz: Class<T> = T::class.java): Lazy<JsonAdapter<T>>
= lazy { moshi.adapter(clazz) }
val movie: JsonAdapter<Movie> by moshiAdapter()
val user: JsonAdapter<User> by moshiAdapter()