Skip to content

Instantly share code, notes, and snippets.

Avatar

Nicolas Jafelle nicolasjafelle

View GitHub Profile
@JoseAlcerreca
JoseAlcerreca / EventObserver.kt
Created Apr 26, 2018
An Observer for Events, simplifying the pattern of checking if the Event's content has already been handled.
View EventObserver.kt
/**
* An [Observer] for [Event]s, simplifying the pattern of checking if the [Event]'s content has
* already been handled.
*
* [onEventUnhandledContent] is *only* called if the [Event]'s contents has not been handled.
*/
class EventObserver<T>(private val onEventUnhandledContent: (T) -> Unit) : Observer<Event<T>> {
override fun onChanged(event: Event<T>?) {
event?.getContentIfNotHandled()?.let { value ->
onEventUnhandledContent(value)
@jgilfelt
jgilfelt / CurlLoggingInterceptor.java
Created Jan 9, 2016
An OkHttp interceptor that logs requests as curl shell commands
View CurlLoggingInterceptor.java
/*
* Copyright (C) 2016 Jeff Gilfelt.
*
* 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
View CollapsingTitleLayout.java
/*
* 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
@ManuelPeinado
ManuelPeinado / MainActivity.java
Created Oct 19, 2014
Fading action bar effect using the new Toolbar class from the support library
View MainActivity.java
package com.github.manuelpeinado.toolbartest;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.View;
View SystemUiHelper.java
/*
* Copyright (C) 2014 The Android Open Source Project
*
* 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
@Jogan
Jogan / FloatingActionButton.java
Last active May 15, 2021
Implementation of Android L's floating action button pattern. API 14+
View FloatingActionButton.java
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;
View android_material_design_colours.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- google's material design colours from
http://www.google.com/design/spec/style/color.html#color-ui-color-palette -->
<!--reds-->
<color name="md_red_50">#FFEBEE</color>
<color name="md_red_100">#FFCDD2</color>
<color name="md_red_200">#EF9A9A</color>
@staltz
staltz / introrx.md
Last active Dec 1, 2021
The introduction to Reactive Programming you've been missing
View introrx.md
View FloatLabelLayout.java
/*
* 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
@kpbird
kpbird / MemoryLimits
Created Jul 24, 2013
How to identify memory limits per application in your Android device. This solution require API level 11.
View MemoryLimits
package com.example.androidnative;
import android.app.Activity;
import android.app.ActivityManager;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
@Override