Skip to content

Instantly share code, notes, and snippets.

View Folyd's full-sized avatar
🦀
Rustacean

Folyd Folyd

🦀
Rustacean
View GitHub Profile
@Folyd
Folyd / git-author_rewrit.sh
Created September 6, 2015 06:58
Rewrite author information.
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="lyshuhow@gmail.com"
CORRECT_NAME="zhushuang"
CORRECT_EMAIL="zhushuang@xiaoyezi.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
@Folyd
Folyd / signe_apk.sh
Created September 6, 2015 07:01
Singed apk file use local key store
#!/usr/bin/env bash
if [ $# -lt 2 ] ;then
echo "Please specify a key store"
exit 0
fi
if [ $# -lt 3 ] ;then
echo "Please specify a source unsigned apk file"
exit 0
fi
@Folyd
Folyd / batch_replace_text.sh
Created September 6, 2015 08:16
Batch replace text in mac os
#!/usr/bin/env bash
old="onFailure(MetaCode"
new="onFailure(int"
# sed -i "s/$old/$new/g" `grep $old -rl $1`
# sed -i -e "s/$old/$new/g" `ls`
#The sed command is a bit different in Mac OS X, the ‘-i’ option
# required a parameter to tell what extension to add for the backup file.
@Folyd
Folyd / NativeCalled.java
Last active September 9, 2015 06:54
A annotation which to indicate the method is called by native code.
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* A annotation which to indicate the method is called by native code.
*
*/
@Folyd
Folyd / FileUtils.java
Created September 9, 2015 06:55
A common utility class for file I/O
import android.content.Context;
import android.os.Environment;
import android.text.TextUtils;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
@Folyd
Folyd / OnLastItemVisibleListener.java
Created September 9, 2015 07:05
A OnLastItemVisibleListener for ListView
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
public abstract class OnLastItemVisibleListener implements AbsListView.OnScrollListener {
private boolean mLastItemVisible = false;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
/**
* Check that the scrolling has stopped, and that the last item is
@Folyd
Folyd / SimpleBitmapAsyncTask.java
Created September 9, 2015 07:08
Simple Bitmap AsyncTask
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class SimpleBitmapAsyncTask extends AsyncTask<String, Void, Bitmap> {
@Folyd
Folyd / Keyboard.java
Created September 9, 2015 07:12
A Piano Keyboarad View in Android
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.View;
import com.theonepiano.smartpiano.R;
@Folyd
Folyd / NonSwipeableViewPager.java
Last active September 9, 2015 11:52
A Custom ViewPager which can been disable swipe.
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.TypedArray;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
import com.folyd.app.R;
public class NonSwipeableViewPager extends ViewPager {
@Folyd
Folyd / ToggleVisibilityHelper.java
Created September 15, 2015 09:01
Toggle visibility helper class
import android.os.Handler;
/**
* A helper class can toggle target object visibility automatically.
* It is very useful for MediaController (or ActionBar) when play video in Activity.
*/
public abstract class ToggleVisibilityHelper {
/**
* Record the time while user lasted click.