Skip to content

Instantly share code, notes, and snippets.

Avatar

Fung Lam seventhmoon

View GitHub Profile
@seventhmoon
seventhmoon / RecordHelper.java
Last active Feb 21, 2017
Helper function for casting / parsing Record when using Skygear
View RecordHelper.java
import com.google.gson.Gson;
import java.util.Map;
import io.skygear.skygear.Record;
public class RecordHelper {
public static <T> T toObject(Record record, Class<T> classOfT) {
@seventhmoon
seventhmoon / readme.md
Created Feb 17, 2017
Skygear Server Installation (Debian / Ubuntu)
View readme.md
apt-get install postgresql
apt-get install golang
apt-get install postgis
apt-get install postgresql-client
apt-get install postgresql-contrib
apt-get install software-properties-common
apt-get install vim
apt-get install redis-server
service postgresql start
View CursorRecyclerViewAdapter.java
/*
* Copyright (C) 2014 skyfish.jy@gmail.com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
@seventhmoon
seventhmoon / Connectivity.java
Created Jan 4, 2016
Connectivity helper for Android
View Connectivity.java
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.telephony.TelephonyManager;
/**
* Check device's network connectivity and speed
*
* @author emil http://stackoverflow.com/users/220710/emil
@seventhmoon
seventhmoon / GsonRequest.java
Created Jan 4, 2016
GsonRequest for Volley
View GsonRequest.java
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Log;
import com.android.volley.NetworkResponse;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.toolbox.JsonRequest;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@seventhmoon
seventhmoon / OkHttpStack.java
Created Dec 23, 2015
OkHttpStack for Volley
View OkHttpStack.java
import com.android.volley.toolbox.HurlStack;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.OkUrlFactory;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* An {@link com.android.volley.toolbox.HttpStack HttpStack} implementation which
@seventhmoon
seventhmoon / CachedDrmSessionManager.java
Last active Dec 1, 2016
CachedDrmSessionManager for Exoplayer offline playback use
View CachedDrmSessionManager.java
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
@seventhmoon
seventhmoon / AspectRatioImageView.java
Created Oct 27, 2015 — forked from JakeWharton/AspectRatioImageView.java
ImageView that respects an aspect ratio applied to a specific measurement.
View AspectRatioImageView.java
// Copyright 2012 Square, Inc.
package com.squareup.widgets;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.widget.ImageView;
/** Maintains an aspect ratio based on either width or height. Disabled by default. */
public class AspectRatioImageView extends ImageView {
@seventhmoon
seventhmoon / GsonRequest.java
Last active Sep 10, 2015
GsonRequest for Volley
View GsonRequest.java
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Log;
import com.android.volley.NetworkResponse;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.toolbox.JsonRequest;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
View gist:1e2cd5fd098cc88b8ae1
Glide.with(this)
.load(url)
.asBitmap().diskCacheStrategy(DiskCacheStrategy.ALL).centerCrop()
.into(new BitmapImageViewTarget(mImageViewBackdrop) {
@Override
public void onResourceReady(Bitmap bitmap, GlideAnimation anim) {
super.onResourceReady(bitmap, anim);
Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(Palette palette) {