All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
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 |
# 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 | |
;; |
#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; |
#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"; |
// + 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); | |
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, |
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
#!/bin/bash | |
if [ -z "$1" ] | |
then | |
path="." | |
else | |
path=$1 | |
fi | |
for filename in $path"/strings"*.xml; do |
package me.seebrock3r.common.widget | |
import android.graphics.Canvas | |
import android.graphics.Paint | |
import android.graphics.Rect | |
import android.view.View | |
import androidx.annotation.ColorInt | |
import androidx.annotation.Px | |
import androidx.core.graphics.withTranslation | |
import androidx.core.view.children |
class MarqueeAnimateView @JvmOverloads constructor( | |
context: Context, | |
attrs: AttributeSet? = null, | |
defStyleAttr: Int = 0 | |
) : View(context, attrs, defStyleAttr) { | |
companion object { | |
private const val STATE_START = 0 | |
private const val STATE_STOP = 1 |