Skip to content

Instantly share code, notes, and snippets.

View sergiandreplace's full-sized avatar
:shipit:
Fluuuttering

Sergi Martínez sergiandreplace

:shipit:
Fluuuttering
View GitHub Profile
@sergiandreplace
sergiandreplace / RecyclerViewAdapter.kt
Created August 15, 2019 09:59
AS File extension for RecyclerView adapters
#set($ModelName = $Model.replace("ViewModel",""))
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME}#end
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
class ${NAME}: RecyclerView.Adapter<${ModelName}ViewHolder>() {
@sergiandreplace
sergiandreplace / styles.xml
Created August 11, 2019 16:48
Styling an inputLayout
<style name="Form.Field.EditText"
parent="@style/Widget.MaterialComponents.TextInputEditText.OutlinedBox.Dense">
<item name="android:paddingTop">8dp</item>
<item name="android:paddingLeft">16dp</item>
<item name="android:paddingBottom">8dp</item>
<item name="android:paddingRight">16dp</item>
<item name="android:paddingStart">16dp</item>
<item name="android:paddingEnd">16dp</item>
</style>
@sergiandreplace
sergiandreplace / bash
Created March 28, 2018 11:41
find wrong urls
for URL in `cat urls`; do curl -m 10 -s -X GET -I $1 "$URL" | grep HTTP/1.1 | (awk {'printf $2 '}; echo " $URL")| grep "^[^2]"; done
@sergiandreplace
sergiandreplace / pre-commit.sh
Created March 21, 2018 11:54
Pre-commit script for git. To save without extension
#!/bin/sh
local_branch=$(git rev-parse --abbrev-ref HEAD)
if [[ ! "$local_branch" == feature* ]]
then
echo 'Failed to push. Branch name should start by feature/'
exit 1
fi
if [ "${#local_branch}" -ge 38 ]
then
echo 'Failed to push. Branch name could not be longer than 30 characters'
@sergiandreplace
sergiandreplace / shell.sh
Created March 20, 2018 20:43
Extract class names
find . -type f -exec grep -n "class [A-Z]" {} +^C
@sergiandreplace
sergiandreplace / httpget.dart
Created October 3, 2017 11:13
Api request on dart
import 'dart:async';
import 'dart:convert';
import 'package:flutter/services.dart';
class SWApi {
Future<Map<String, String>> getCharacter(String id) async {
var httpClient = createHttpClient();
var response = await httpClient.get('https://swapi.co/api/people/${id}/');
Map<String, Object> character = JSON.decode(response.body);
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
public class SquareTextView extends android.support.v7.widget.AppCompatTextView {
public SquareTextView(Context context) {
super(context);
}
@sergiandreplace
sergiandreplace / Cache.java
Created August 19, 2016 06:27
Attempt to create a caching system that can be integrated into rx
package com.scmspain.bluejobs.candidateagent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import rx.Observable;
public abstract class Cache<I, T> {
@sergiandreplace
sergiandreplace / build.gradle
Last active April 1, 2016 07:53
Adding Rx and Retrolambda in an Android project
apply plugin: 'me.tatarka.retrolambda' //actives use of Retrolambda
buildscript {
repositories {
jcenter(); // to find plugins
}
dependencies {
classpath 'me.tatarka:gradle-retrolambda:3.3.0-beta4' //retrolambda
classpath 'me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' //lombok for that makes lint work with retrolambda
}
@sergiandreplace
sergiandreplace / MyActivity.java
Created December 22, 2015 12:00
Making a textview with multiple lines scrollable
myTextView.setMovementMethod(new ScrollingMovementMethod());