Skip to content

Instantly share code, notes, and snippets.

@hector6872
hector6872 / AdapterUpdatable.kt
Last active November 22, 2018 09:49
AdapterUpdatable for Kotlin (RecyclerView+DiffUtil)
interface AdapterUpdatable<TYPE> {
companion object {
private const val DEFAULT_UPDATE_CURRENT_LIST = false
}
val list: MutableList<TYPE>
fun update(
newList: List<TYPE>,
updateCurrentList: Boolean = DEFAULT_UPDATE_CURRENT_LIST,
@hector6872
hector6872 / arduino-wifi-connect.ino
Last active December 2, 2018 11:48
wifi-connect Arduino sketch
// + info: https://arduino-esp8266.readthedocs.io/en/2.4.2/esp8266wifi/readme.html
#include <ESP8266WiFi.h>
const char* SSID = "SSID";
const char* PASSWORD = "PASSWORD";
void setup() {
Serial.begin(115200);
delay(100);
@hector6872
hector6872 / arduino-api-request.ino
Last active May 16, 2020 19:58
api-request Arduino sketch
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <ArduinoJson.h>
const char* SSID = "SSID";
const char* PASSWORD = "PASSWORD";
const String API_KEY = "API_KEY";
const char* SYMBOL = "BTC";
@hector6872
hector6872 / arduino-display.ino
Last active December 2, 2018 12:19
display Arduino sketch
#include <U8g2lib.h>
// constructor
U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE, /* clock=*/ 4, /* data=*/ 5);
// fake data
const String SYMBOL = "Bitcoin";
const String QUOTE = "USD";
const float PRICE = 20000.12345;
const float PERCENT_1h = -1.12345;
@hector6872
hector6872 / ParameterizedKotlinTest.kt
Created December 13, 2018 11:09 — forked from rossharper/ParameterizedKotlinTest.kt
Parameterized JUnit4 test example in Kotlin
@RunWith(Parameterized::class)
class KotlinTest(val paramOne: Int, val paramTwo: String) {
companion object {
@JvmStatic
@Parameterized.Parameters
fun data() : Collection<Array<Any>> {
return listOf(
arrayOf(1, "I"), // First test: (paramOne = 1, paramTwo = "I")
arrayOf(1999, "MCMXCIX") // Second test: (paramOne = 1999, paramTwo = "MCMXCIX")
@hector6872
hector6872 / .zshrc
Last active January 11, 2021 14:56
My awesome Zsh prompt
# ALIAS
# =============
alias ..='cd ..'
case `uname` in
Darwin)
alias flushdns='sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;say cache flushed'
alias ls='ls -GpF' # Mac OSX specific
alias ll='ls -alGpF' # Mac OSX specific
;;
@hector6872
hector6872 / Demo.kt
Last active January 25, 2019 20:47 — forked from alexfu/Demo.kt
Making (Android) Spannable great again with Kotlin
val world = "World"
val spannedText = SpannableString("Hello $world!")
spannedText
.spanWith(world) {
what = BackgroundColorSpan(Color.RED)
flags = Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
}
.spanWith(world) {
what = StyleSpan(Typeface.BOLD)
flags = Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
@hector6872
hector6872 / BindableRecyclerView.kt
Created January 28, 2019 18:20
BindableRecyclerView for Kotlin
abstract class BindableAdapter<TYPE : MultiType>(private val list: MutableList<TYPE>) : RecyclerView.Adapter<BindableViewHolder<TYPE>>() {
override fun onBindViewHolder(
holder: BindableViewHolder<TYPE>,
position: Int
) = holder.bind(list[position])
override fun getItemViewType(position: Int): Int = list[position].type
override fun getItemCount(): Int = list.size
}