Skip to content

Instantly share code, notes, and snippets.

Avatar
🇱🇹
Programming

Andrius Semionovas neworld

🇱🇹
Programming
  • Vinted
  • Vilnius, Lithuania
View GitHub Profile
View successOnlyCacheTest.lt
@Test(timeout = 10000)
fun secondSubscription_returnsImmediate() {
val subject = PublishSubject.create<Int>()
val cachedSubject = subject.successOnlyCache()
cachedSubject.test() //first subscription
cachedSubject.test() //second subscription
//this method will never finishes if subscription is blocked.
}
View TextDrawable.kt
package com.vinted.drawables
import android.content.res.ColorStateList
import android.graphics.*
import android.graphics.drawable.Drawable
import android.text.DynamicLayout
import android.text.Editable
import android.text.Layout
import android.text.TextPaint
View kodein_compare.kt
package com.neworldwar
import com.neworldwar.utils.Random
import org.junit.jupiter.api.BeforeAll
import org.junit.jupiter.api.RepeatedTest
import org.junit.jupiter.api.TestInstance
const val REQUESTS = 100
const val TOTAL_DEPENDENCIES = 1000
const val DEPENDENCIES_PER_REQUEST = 100
View emitter_isDisposed_RC.kt
val checkLock = Object()
val disposeLock = Object()
val completable = Completable.create { emitter ->
synchronized(checkLock) {
checkLock.notify()
}
if (!emitter.isDisposed) {
synchronized(disposeLock) {
try {
View duff.c
send(to, from, count)
register short *to, *from;
register count;
{
register n = (count + 7) / 8;
switch (count % 8) {
case 0: do { *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
View tree.hs
data Tree a = Empty | Tree a (Tree a) (Tree a) deriving (Show)
singleton :: a -> Tree a
singleton x = Tree x Empty Empty
addToTree :: (Ord a) => a -> Tree a -> Tree a
addToTree new Empty = singleton new
addToTree new (Tree value left right)
| new < value = Tree value (addToTree new left) right
| otherwise = Tree value left (addToTree new right)
View TimedDynamicText.java
public class TimedDynamicText extends SpannableStringBuilder {
private final ArrayDeque<Pair<Integer, CharSequence>> list;
private Handler handler = new Handler();
private CharSequence nextText = "";
public TimedDynamicText(CharSequence initialText, Collection<Pair<Integer, CharSequence>> list) {
this.list = new ArrayDeque<>(list);
nextText = initialText;
next();
View github-img.js
// ==UserScript==
// @name Markdown img to html converter
// @namespace neworld
// @version 0.2.0
// @description Converts markdown img tag to html
// @author Neworld
// @match https://*.github.com/*
// @grant none
// @run-at context-menu
// ==/UserScript==
View git-complete.sh
# bash/zsh completion support for core Git.
#
# Copyright (C) 2006,2007 Shawn O. Pearce <spearce@spearce.org>
# Conceptually based on gitcompletion (http://gitweb.hawaga.org.uk/).
# Distributed under the GNU General Public License, version 2.0.
#
# The contained completion routines provide support for completing:
#
# *) local and remote branch names
# *) local and remote tag names
View copy.sh
#!/bin/sh
# Copy templates to Android Studio in default location
TMP_PATH=`pwd`
TEMPLATES_PATH="/Applications/Android Studio.app/Contents/plugins/android/lib/templates/other"
DIRS=`find $TMP_PATH -type d -maxdepth 1 -not -name '.*' -not -path $TMP_PATH`
for f in $DIRS