Skip to content

Instantly share code, notes, and snippets.

View ridsatrio's full-sized avatar

Ridho Hadi Satrio ridsatrio

View GitHub Profile
@ridsatrio
ridsatrio / Optional.java
Created December 28, 2015 05:01
Fork of Java 8's Optional, adapted to suit older Java usages.
import java.util.NoSuchElementException;
public final class Optional<T> {
/**
* Common instance for {@code empty()}.
*/
private static final Optional<?> EMPTY = new Optional<>();
/**
* If non-null, the formatted; if null, indicates no formatted is present
@ridsatrio
ridsatrio / JsonBackedObject.java
Last active December 23, 2015 09:20
Base class to facilitate JSON-backed entities
import org.json.JSONException;
import org.json.JSONObject;
public abstract class JsonBackedObject {
protected final JSONObject source;
JsonBackedObject(String json) {
source = parsedObject(json);
}
@ridsatrio
ridsatrio / SquareGlideView.java
Last active December 23, 2015 09:19
An squared (width == height) ImageView extension that uses Glide to assist with loading images.
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
public final class GlideView extends ImageView {
public GlideView(Context context) {
super(context);
@ridsatrio
ridsatrio / DividerItemDecoration.java
Last active December 23, 2015 09:19
An ItemDecoration that would draw a line between every RecyclerView items.
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.View;