Skip to content

Instantly share code, notes, and snippets.

View evanisnor's full-sized avatar
🇨🇦

Evan Isnor evanisnor

🇨🇦
View GitHub Profile
@evanisnor
evanisnor / EmojiTextWatcherReplacementSupport.kt
Created November 8, 2022 13:52
EmojiCompat TextWatcher that supports rendering glyphs when text is replaced in an EditText widget - https://issuetracker.google.com/issues/257225296
import android.annotation.SuppressLint
import android.text.Editable
import android.text.Selection
import android.text.Spannable
import android.text.TextWatcher
import android.widget.EditText
import androidx.emoji2.text.EmojiCompat
import androidx.emoji2.text.EmojiCompat.InitCallback
import java.lang.ref.Reference
import java.lang.ref.WeakReference

Keybase proof

I hereby claim:

  • I am evanisnor on github.
  • I am ewisnor (https://keybase.io/ewisnor) on keybase.
  • I have a public key whose fingerprint is 5D53 C134 07C0 9CC2 5608 A276 5CC4 99E7 EA3C 12B8

To claim this, I am signing this object:

@evanisnor
evanisnor / HTTPStatusCode.py
Created March 30, 2014 22:47
HTTP Status Codes wrapped up in a Python 3 class
class HTTPStatusCode:
Continue = (100, 'Continue')
SwitchingProtocols = (101, 'Switching Protocols')
Checkpoint = (103, 'Checkpoint')
OK = (200, 'OK')
Created = (201, 'Created')
Accepted = (202, 'Accepted')
NonAuthoritativeInformation = (203, 'Non-Authoritative Information')
NoContent = (204, 'No Content')
ResetContent = (205, 'Reset Content')
@evanisnor
evanisnor / ko wrapper
Last active December 19, 2015 14:49
JavaScript functions to wrap and unwrap a JSON object and its entire contents with KnockoutJS's ko.observable (and ko.observableArray). The odd nested-function layout here is a hangover from using requirejs. Cannibalize as needed.
var ko_wrapper = function(ko) {
var data = {};
data.wrap = function(obj) {
if (Object.prototype.toString.call(obj) == '[object Array]'
|| Object.prototype.toString.call(obj) == '[object Object]') {
for (var i in obj) {
obj[i] = data.wrap(obj[i]);
}
}