Skip to content

Instantly share code, notes, and snippets.

Eugenio Marletti Takhion

Block or report user

Report or block Takhion

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@Takhion
Takhion / SwitchFamilyName.java
Last active Jan 1, 2016
A android.widget.Switch that accepts the attribute "android:fontFamily" inside a style defined by the attribute "android:switchTextAppearance". Makes sense from API 16+ as before the attribute doesn't exist; however it can easily be modified with a custom one.
View SwitchFamilyName.java
package android.widget;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.widget.Switch;
/**
@Takhion
Takhion / build.gradle
Last active Dec 20, 2017 — forked from gabrielemariotti/build.gradle
Store APK signing credentials in an external file using Gradle
View build.gradle
android {
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
@Takhion
Takhion / ArcUtils.java
Last active Feb 12, 2020
Collection of methods to achieve better circular arc drawing, as Canvas.drawArc() is unreliable. See the related article: https://medium.com/p/9155f49166b8
View ArcUtils.java
/**
* ArcUtils.java
*
* Copyright (c) 2014 BioWink GmbH.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
@Takhion
Takhion / build.gradle
Last active May 13, 2018 — forked from dmarcato/strip_play_services.gradle
Gradle task to strip unused packages on Google Play Services library, so you don't have to use necessarily Proguard or MultiDex
View build.gradle
apply from: 'strip_play_services.gradle'
View MapWrapper.java
import android.content.Intent;
import android.support.annotation.NonNull;
import java.io.Serializable;
import java.util.Map;
/**
* Provides a way to wrap a serializable {@link Map} in order to preserve its class
* during serialization inside an {@link Intent}, otherwise it would be "flattened"
* in a {@link android.os.Parcel} and unparceled as a {@link java.util.HashMap}.
View MapSerializer.java
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
View AnimatorUtils.java
import android.animation.Animator;
import android.animation.AnimatorSet;
import android.animation.Keyframe;
import android.animation.PropertyValuesHolder;
import android.animation.ValueAnimator;
import android.os.Build;
import android.support.annotation.Nullable;
import java.lang.reflect.Field;
View build.gradle
def buildConfigAndResStringField(variant, name, value) {
variant.resValue 'string', name.toLowerCase(), value
variant.buildConfigField 'String', name, "\"$value\""
}
afterEvaluate {
android.applicationVariants.all { variant ->
variant.resValue 'string', 'application_id', variant.applicationId
buildConfigAndResStringField variant, "ACCOUNT_TYPE", variant.applicationId
buildConfigAndResStringField variant, "CONTENT_AUTHORITY", variant.applicationId + ".provider"
View HistoryTransformer.java
import android.support.v4.util.Pair;
import rx.Observable;
public class HistoryTransformer<T> implements Observable.Transformer<T, Pair<T,T>> {
@Override
public Observable<Pair<T,T>> call(Observable<T> observable) {
//noinspection unchecked
return observable
.map(value -> {
@Takhion
Takhion / build.gradle
Created May 30, 2015
Automatic Java home (7/8) for Retrolambda with Gradle
View build.gradle
String getJavaHome(String version)
{
def stdout = new ByteArrayOutputStream()
exec {
commandLine "/usr/libexec/java_home", "-v", version
standardOutput = stdout;
}
return stdout.toString().trim()
}
You can’t perform that action at this time.