Skip to content

Instantly share code, notes, and snippets.

View paramsen's full-sized avatar
🏠
Working from home

Pär Nils Amsen paramsen

🏠
Working from home
View GitHub Profile
@paramsen
paramsen / LogView.java
Last active November 11, 2020 22:14
Android View for printing private logs in realtime, supports lifecycle methods (start->stop)
import android.app.Activity;
import android.content.Context;
import android.content.ContextWrapper;
import android.support.annotation.LayoutRes;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ScrollView;
import android.widget.TextView;
@paramsen
paramsen / ConcurrentRequestSource.java
Last active January 11, 2018 12:17
Concurrent queue workers (download stuff synchronized in parallel)
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
import java.util.concurrent.atomic.AtomicBoolean;
// MIT License
//
// Copyright(c) 2017 Pär Amsen
//
@paramsen
paramsen / StickyHeaderActivity.java
Created May 16, 2017 21:10
StickyHeaderAdapter impl for Mike
package com.paramsen.testground;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@paramsen
paramsen / Timer.java
Created May 11, 2017 07:00
RxJava Timer for fun
/**
* Rx based timer that implements a simple timer functionality. Should be
* disposed when it goes out of scope since RxJava leaks otherwise.
*
* @author Pär Amsen 05/2017
*/
public class Timer {
private Observable<Void> timer;
private long time;
private boolean started;
@paramsen
paramsen / OkHttpFileDownloader.java
Last active February 13, 2018 22:20
Rx/OkHttp Android file downloader
import java.io.File;
import io.reactivex.Single;
import io.reactivex.schedulers.Schedulers;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okio.BufferedSink;
import okio.BufferedSource;
import okio.Okio;