Skip to content

Instantly share code, notes, and snippets.

View gumil's full-sized avatar
🌚
No Activity

Miguel Panelo gumil

🌚
No Activity
View GitHub Profile
internal sealed class ListState : State {
data class Screen(
val giphies: List<GiphyItem> = emptyList(),
val loadingMode: Mode = Mode.IDLE_REFRESH
) : ListState()
data class Error(
val errorMessage: Int
) : ListState(), SingleEvent
@gumil
gumil / actions.kt
Last active February 17, 2019 17:39
Giphy Kaskade Medium Article
internal sealed class ListAction : Action {
data class Refresh(
val limit: Int = DEFAULT_LIMIT
) : ListAction()
data class LoadMore(
val offset: Int
) : ListAction()
@gumil
gumil / Component.kt
Last active December 19, 2019 14:52
Simple DI
import kotlin.reflect.KProperty
internal class Component(modules: List<Module>, private val parentComponent: Component? = null) {
private val providers: Map<Class<*>, Provider<*>> = hashMapOf<Class<*>, Provider<*>>().apply {
modules.forEach { putAll(it) }
}
inline fun <reified T> get() = get(T::class.java)
@gumil
gumil / RecyclerLoadingView.java
Created May 25, 2016 07:17
RecyclerView with SwipeRefreshLayout, Loading, and Error Message
import android.content.Context;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.FrameLayout;
import android.widget.ProgressBar;
import android.widget.TextView;