Skip to content

Instantly share code, notes, and snippets.

View dannyroa's full-sized avatar

Danny Roa dannyroa

View GitHub Profile
@untalfranfernandez
untalfranfernandez / dex-methods.sh
Created April 3, 2014 19:38
Bash script to find out how many methods your .apk file will contain. (Original idea from @rochoa)
#! /bin/bash
if [ $# -ne 1 ]; then
echo
echo " Usage: dex-methods.sh [dex file to explore] "
echo
echo
else
NUMBER=`cat $@ | head -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"'`
echo "The number of methods found is: " $NUMBER
fi
@chrisbanes
chrisbanes / FloatLabelLayout.java
Last active October 26, 2025 18:47
FloatLabelLayout
/*
* Copyright 2014 Chris Banes
*
* 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
@gsoltis
gsoltis / RxFirebase.java
Last active May 6, 2024 03:16
RxJava Bindings for Firebase
package com.firebase.client;
import com.firebase.client.core.Constants;
import rx.Observable;
import rx.Subscriber;
import rx.functions.Action0;
import rx.functions.Func1;
import rx.subscriptions.Subscriptions;
public class RxFirebase {
@devunwired
devunwired / ExampleFragment.java
Created May 15, 2014 17:03
Method for animating Android fragment positions during a add/replace/remove transition using custom properties. This method does not require subclassing target views with additional setter methods, but instead requires subclassing the fragment...something you are likely already doing.
/**
* An example of adding these transitions to a Fragment. This simple
* version just applies opposite transitions to any Fragment whether it is
* entering or exiting view. You can also inspect the transit mode parameter
* (i.e. TRANSIT_FRAGMENT_OPEN, TRANSIT_FRAGMENT_CLOSE) in combination to do
* different animations for, say, adding a fragment versus popping the back stack.
*
* Transactions without an explicit transit mode set, in this example, will not
* animate. Allowing the initial fragment add, for example, to simply appear.
*/
public class CircularProgressDrawable extends Drawable
implements Animatable {
private static final Interpolator ANGLE_INTERPOLATOR = new LinearInterpolator();
private static final Interpolator SWEEP_INTERPOLATOR = new DecelerateInterpolator();
private static final int ANGLE_ANIMATOR_DURATION = 2000;
private static final int SWEEP_ANIMATOR_DURATION = 600;
private static final int MIN_SWEEP_ANGLE = 30;
private final RectF fBounds = new RectF();
@dmarcato
dmarcato / strip_play_services.gradle
Last active December 21, 2022 10:10
Gradle task to strip unused packages on Google Play Services library
def toCamelCase(String string) {
String result = ""
string.findAll("[^\\W]+") { String word ->
result += word.capitalize()
}
return result
}
afterEvaluate { project ->
Configuration runtimeConfiguration = project.configurations.getByName('compile')
@Jogan
Jogan / FloatingActionButton.java
Last active February 6, 2025 22:38
Implementation of Android L's floating action button pattern. API 14+
package your_package;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
@tyvsmith
tyvsmith / App.java
Last active August 29, 2015 14:04
Android ListAdapter using custom ViewGroup over ViewHolder pattern
package com.example.app;
public class App {
public String id;
public String name;
public String icon_url;
@Override
public String toString() {
return name;
@JakeWharton
JakeWharton / AutoGson.java
Last active October 26, 2025 18:45
A Gson TypeAdapterFactory which allows serialization of @autovalue types. Apache 2 licensed.
import com.google.auto.value.AutoValue;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Marks an {@link AutoValue @AutoValue}-annotated type for proper Gson serialization.
* <p>
@hectorups
hectorups / gist:0561b7f184fba7c077a2
Last active August 29, 2015 14:05
Create S3 signature
#!/usr/bin/env ruby
require 'json'
require 'base64'
require 'openssl'
require 'digest/sha1'
aws_access_key = "AKIAJ7YGAAAGKXEVQX2Q"
aws_secret_key = "xxxxxx"
bucket_name = "bucket-name"
s3_directory = ''