Skip to content

Instantly share code, notes, and snippets.

Róbert Papp TWiStErRob

Block or report user

Report or block TWiStErRob

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
TWiStErRob /
Last active Feb 28, 2019
Kotlin Script (kts) with dependencies to call a JSON web endpoint, including tests
TWiStErRob / build.gradle
Created Feb 9, 2019
Automatically add `dagger.formatGeneratedSource` if `dagger-compiler` is present in `annotationProcessor` configuration.
View build.gradle
allProjects { project ->
tasks.withType(JavaCompile).configureEach { JavaCompile task ->
task.doFirst {
// annotationProcessorPath is populated around afterEvaluate, but can't use that in configureEach
if (hasDagger(task.options.annotationProcessorPath)) {
task.options.compilerArgs += [
// disable formatting, why wait if it looks almost the same?!
TWiStErRob /
Last active Feb 11, 2017
JUnit Jupiter extension for creating JFixture objects into tests
public class Example {
public static <T1, T2> Predicate<Pair<T1, T2>> expand(BiPredicate<? super T1, ? super T2> func) {
return objects -> func.test(objects.getValue0(), objects.getValue1());

See SO answer.

You can pan (click background), zoom (mousewheel), drag nodes around. Middle click to add more nodes (at mouse).

TWiStErRob /
Last active Dec 2, 2019
Full POC for showing progress of loading in Glide v3 via OkHttp v2
// TODO add <meta-data android:value="GlideModule" android:name="....OkHttpProgressGlideModule" />
// TODO add <meta-data android:value="GlideModule" tools:node="remove" android:name="com.bumptech.glide.integration.okhttp.OkHttpGlideModule" />
// or not use 'okhttp@aar' in Gradle depdendencies
public class OkHttpProgressGlideModule implements GlideModule {
@Override public void applyOptions(Context context, GlideBuilder builder) { }
@Override public void registerComponents(Context context, Glide glide) {
OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(createInterceptor(new DispatchingProgressListener()));
glide.register(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(client));
TWiStErRob /
Last active Dec 31, 2015
Programmatic version of Tushar Roy's Held-Karp TSP video (
package problems.tushar;
import java.util.*;
import java.util.function.Predicate;
import static problems.tushar.TravelingSalesmanHeldKarpX.Algo.*;
import static problems.tushar.TravelingSalesmanHeldKarpX.Utils.*;
TWiStErRob /
Created Nov 26, 2015
LeetCode helper methods for console debugging
static {
System.setOut(new {
int count = 10 * 1024;
@Override public void write(int b) throws IOException {
if (count > 0) {
@Override public void write(byte[] b, int off, int len) throws IOException {
TWiStErRob /
Created Sep 30, 2015
Make GridView or GridLayoutManager items square.
import android.content.Context;
import android.util.AttributeSet;
import android.widget.FrameLayout;
public class SquareFrameLayout extends FrameLayout {
public SquareFrameLayout(Context context) {
TWiStErRob /
Last active Oct 24, 2016
Glide 3.6.0 proof of concept for loading a Bitmap as Bitmap through Glide
class BitmapBitmapResourceDecoder implements ResourceDecoder<Bitmap, Bitmap> {
private final BitmapPool pool;
public BitmapBitmapResourceDecoder(Context context) {
public BitmapBitmapResourceDecoder(BitmapPool pool) {
this.pool = pool;
@Override public Resource<Bitmap> decode(Bitmap source, int width, int height) throws IOException {
You can’t perform that action at this time.