Skip to content

Instantly share code, notes, and snippets.

@cattaka
cattaka / mjpg_streamer.sh
Last active November 1, 2015 04:09
/etc/init.d/mjpg_streamer.sh
#!/bin/sh
PORT="18080"
ID="cattaka"
PW="potato"
SIZE="640x480"
FRAMERATE="2"
start() {
echo -n "Starting mjpg_streamer: "
@cattaka
cattaka / collect_git_url.sh
Last active November 22, 2015 00:51
Collect git url under the directory
#!/bin/sh
echo "name url"
for i in * ; do
if [ -d $i -a -f $i/.git/config ] ; then
url=`grep url $i/.git/config | cut -d "=" -f 2`
splited=`echo $url|sed "s/[@:\/]/\t/g"`
echo $i $url $splited
fi
done
@cattaka
cattaka / ConnectionStatus.java
Last active February 8, 2016 08:35
Example of enum that has methods.
public enum ConnectionStatus {
NOT_CONNECTED(false),
CONNECTING(false),
CONNECTED(true);
private final boolean established;
public ConnectionStatus(boolean established) {
this.established = established;
}
@cattaka
cattaka / RelativeLayoutAnimatorHelper.java
Last active April 15, 2016 06:00
RelativeLayoutAnimatorHelper
import android.view.View;
import android.widget.RelativeLayout;
/**
* Save all methods from proguard!!
* <p/>
* Created by cattaka on 2015/11/10.
*/
public class RelativeLayoutAnimatorHelper {
View mView;
/**
* These codes are licensed under CC0.
*/
public class FlexibleListView extends LinearLayout {
public interface OnItemClickListener {
void onItemClick(FlexibleListView parent, View view, int position, long id);
}
private RecyclerView.AdapterDataObserver mAdapterDataObserver = new RecyclerView.AdapterDataObserver() {
@Override
@cattaka
cattaka / waitForOnResume.java
Last active May 4, 2016 06:19
waitForOnResume for JUnit
/** These codes are licensed under CC0. */
/** Fragmentが画面上に表示されてonResumeが呼ばれるまで待つ */
private void waitForOnResume(final Fragment fragment, int timeout) throws Throwable {
waitForTrue(this, new TestUtils.BooleanFunc() {
@Override
public boolean run() {
Rect r = new Rect();
View view = fragment.getView();
if (view != null) {
view.getGlobalVisibleRect(r);
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class LearnGenerics {
static abstract class AbsRecursive<A extends AbsRecursive<A, T>, T> {
RecursiveListener<A, ? super T> mListener;
T mItem;
public <XA extends AbsRecursive<XA, ? super T>>
void setListener(RecursiveListener<? super XA, ? super T> listener) {
// FIXME: I could not fix this.
@SuppressWarnings("unchecked")
RecursiveListener<A, ? super T> l = (RecursiveListener<A, ? super T>) listener;
public class LearnGenericsAssignment {
static class Func<T> {
T item;
public T getItem() {
return item;
}
public void setItem(T item) {
this.item = item;
public class CanNotCompileThisGenerics {
static class AbsScrambleAdapter<A extends AbsScrambleAdapter<A, T>, T> {
}
static class IViewHolderFactory<A extends AbsScrambleAdapter<A, ?>> {
}
static class ScrambleAdapter<T> extends AbsScrambleAdapter<ScrambleAdapter<T>, T> {
}