Skip to content

Instantly share code, notes, and snippets.

View renaudmathieu's full-sized avatar

Renaud Mathieu renaudmathieu

View GitHub Profile
@renaudmathieu
renaudmathieu / GCMBroadcastReceiver.java
Last active January 18, 2016 14:09
Using your own BroadcastReceiver with Localytics and any other Receiver
public class GCMBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = GCMBroadcastReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent) {
if ("com.google.android.c2dm.intent.REGISTRATION".equals(intent.getAction())) {
// Register Localytics (this will call Localytics.handleRegistration(intent))
@renaudmathieu
renaudmathieu / global.sh
Last active September 23, 2016 13:52
A simple Android developer basic file.
#!/bin/bash
# ------------------------------------------------------------------------------
# This is a configuration file to set up a clean and safe development environment.
# To use this file, you need to source it (add a call in your ~/.bashrc file
# for example) then you can simply run functions
# Contact renaudmathieu.fr if you have any question.
# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------
@renaudmathieu
renaudmathieu / Dockerfile
Last active June 30, 2016 10:30
Continuous Integration Platform for Android with Jenkins using Docker
###############################################################################
# Continuous Integration Platform for Android with Jenkins using Docker
# You can provide your plugin list in a plugin.txt file
###############################################################################
FROM jenkins
MAINTAINER Renaud MATHIEU
ENV API_LEVEL 23
@renaudmathieu
renaudmathieu / .gitignore
Created January 9, 2017 16:28
gitignore For Android
# Built application files
*.apk
*.ap_
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
@renaudmathieu
renaudmathieu / ListPaddingDecoration.kt
Last active November 17, 2018 16:07
Divider Item decoration for RecyclerView in Kotlin with paddings
import android.content.Context
import android.graphics.Canvas
import android.graphics.drawable.Drawable
import android.support.v4.content.ContextCompat
import android.support.v7.widget.RecyclerView
class ListPaddingDecoration(
context: Context,
val paddingLeft: Int,
val paddingRight: Int
@renaudmathieu
renaudmathieu / ConnectivityLiveData.kt
Created July 5, 2019 09:39
A LiveData class which wraps the network connection status
/**
* A LiveData class which wraps the network connection status
* Requires Permission: ACCESS_NETWORK_STATE
*
* See https://developer.android.com/training/monitoring-device-state/connectivity-monitoring
* See https://developer.android.com/reference/android/net/ConnectivityManager
* See https://developer.android.com/reference/android/net/ConnectivityManager#CONNECTIVITY_ACTION
*/
class ConnectivityLiveData @VisibleForTesting internal constructor(
private val connectivityManager: ConnectivityManager
@renaudmathieu
renaudmathieu / build.gradle
Created November 2, 2020 14:44
EitherNet + MultiDex + minSDK 19
plugins {
id 'com.android.application'
id 'kotlin-android'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
dependencies {
// Kotlin
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:${Kotlin.version}")
// Ktor
implementation("io.ktor:ktor-server-netty:${Ktor.version}")
implementation("io.ktor:ktor-server-core:${Ktor.version}")
implementation("io.ktor:ktor-locations:${Ktor.version}")
implementation("io.ktor:ktor-server-tests:${Ktor.version}")
object Kotlin {
const val version = "1.5.0"
}
object Ktor {
const val version = "1.5.4"
}
object Moshi {
const val version = "1.12.0"
@renaudmathieu
renaudmathieu / build.gradle.kts
Created June 14, 2021 10:33
openapi-code-generator
plugins {
id("org.openapi.generator") version "5.1.1"
}
openApiGenerate {
generatorName.set("kotlin")
inputSpec.set("./api-client.yml")
outputDir.set("$buildDir")
apiPackage.set("com.innovorder.data.api")
modelPackage.set("com.innovorder.data.models")