Skip to content

Instantly share code, notes, and snippets.

View ed-george's full-sized avatar
🌍
Working remotely...

Ed Holloway-George ed-george

🌍
Working remotely...
View GitHub Profile
@ed-george
ed-george / app-build.gradle
Last active February 12, 2020 13:29
A small example of how to generate a report for a Gradle Project's dependencies as per - https://ed-george.github.io/articles/12-02-2020/versioning
// APP Level app/build.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply from: '../dependency-update.gradle'
android {
@ed-george
ed-george / gist:47766747a634bb900860d7fba3ed2406
Created November 5, 2019 11:31
Print a method's parameters using Live Template
groovyScript("'' + _1.collect { it + ' = [${' + it + '}]'}.join(', ') + ''", functionParameters())
@ed-george
ed-george / Ext.kt
Last active October 15, 2021 07:02
A RecyclerView that can display a 'masked' selection
package com.himumsaiddad.example.util
import android.content.res.Resources
val Int.dp: Int
get() = (this * Resources.getSystem().displayMetrics.density).toInt()
data class DFA(
val states: Set<State>,
val inputs: Set<Input>,
val delta: (State, Input) -> State,
val initialState: State,
val isFinalState: (State) -> Boolean
)
data class State(val name: String)
data class Input(val value: String)
@ed-george
ed-george / party-gif-creator.sh
Created July 18, 2018 16:01
Create a party gif using a black template image (requires ImageMagick)
#! /bin/bash
# Pass image as first param
IMAGE=$1
# Declare array
declare -a color=("rgb(66,0,69)" "rgb(0,137,60)" "rgb(0,118,137)" "rgb(14,0,49)" "rgb(200,76,23)")
# For each color, create a recolored version of the all black template
for i in "${!color[@]}"; do
@ed-george
ed-george / fix_versioning_tags.sh
Last active April 9, 2018 19:07
A simple script for finding non-v.X.Y.Z tags in a repository, renaming and replacing them
#!/bin/bash
# A simple dumb tag clean-up utility that appends a 'v' to non X.Y.Z tags stored locally and remotely
# Written with love by Ed George - ed@himumsaiddad.com
# =========== =========== ===========
# Constants
# =========== =========== ===========
# Reset
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Outline;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.RectF;
import android.util.AttributeSet;
@ed-george
ed-george / FadeInNetworkImageView.java
Created March 29, 2016 11:30 — forked from benvd/FadeInNetworkImageView.java
Extension of Volley's NetworkImageView that fades in images as they're loaded
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.*;
import android.util.AttributeSet;
import com.android.volley.toolbox.NetworkImageView;
public class FadeInNetworkImageView extends NetworkImageView {
private static final int FADE_IN_TIME_MS = 250;
@ed-george
ed-george / AppBarStateChangedListener.java
Last active July 13, 2022 12:05
Simple listener to determine if the AppBarLayout of a view is collapsed or expanded
public abstract class AppBarStateChangedListener implements AppBarLayout.OnOffsetChangedListener {
public enum State {
EXPANDED,
COLLAPSED,
IDLE
}
private State mCurrentState = State.IDLE;
@ed-george
ed-george / OptimizeImage.java
Created May 26, 2015 14:52
Image compression script using online service - TinyPNG
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.io.File;
import javax.xml.bind.DatatypeConverter;