Skip to content

Instantly share code, notes, and snippets.

View Neferetheka's full-sized avatar

Galaad Linosfil Neferetheka

View GitHub Profile
@Neferetheka
Neferetheka / Reflection.php
Created July 23, 2014 13:23
PHP method to create an array from an object using Reflection
/**
* Awesome method to create an array from an object using Reflection. Useful for JSON serialization
* @return array : array of object properties.
*/
public function asArray()
{
$reflectionClass = new ReflectionClass(get_class($this));
$array = array();
foreach ($reflectionClass->getProperties() as $property) {
$property->setAccessible(true);
/*
* From Google IO 2014 app
* Copyright 2014 Google Inc. All rights reserved.
*
* 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
@Neferetheka
Neferetheka / gist:8df2ef1eeee2de8eb57b
Created October 20, 2014 06:27
Actionbar drawer toggle with arrow transformation
<style name="AppTheme" parent="android:Theme.Material">
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>
<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">@android:color/white</item>
</style>
@Neferetheka
Neferetheka / LinearCardView.java
Created November 3, 2014 20:39
LinearLayout-based CardView
/*
* 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
import android.content.Context;
import android.support.v4.widget.SwipeRefreshLayout;
import android.util.AttributeSet;
/**
* Fix for SwipeRefreshLayout, which doesn't display the loading indicator if the onMeasure method hasn't been called.
* From https://code.google.com/p/android/issues/detail?id=77712
*/
public class FixedSwipeRefreshLayout extends SwipeRefreshLayout {
@Neferetheka
Neferetheka / MultiCorrectActivity.java
Created September 17, 2015 13:57
multiAutoCompleteTextView with autocorrect
multiAutoCompleteTextView.setRawInputType(InputType.TYPE_CLASS_TEXT
|InputType.TYPE_TEXT_FLAG_CAP_SENTENCES
|InputType.TYPE_TEXT_FLAG_AUTO_CORRECT
|InputType.TYPE_TEXT_FLAG_MULTI_LINE);
@Neferetheka
Neferetheka / SampleRecommendationContentProvider
Created March 4, 2016 09:04 — forked from kingargyle/SampleRecommendationContentProvider
RecomendationCardView ContentProvider Example
/**
* The MIT License (MIT)
* Copyright (c) 2014 David Carver
* 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 furnished to do so, subject to
* the following conditions:
@Neferetheka
Neferetheka / pikadayFr.js
Created August 8, 2016 13:37 — forked from fedir/pikadayFr.js
Pikaday French i18n
var i18n = {
previousMonth : 'Mois précédent',
nextMonth : 'Mois prochain',
months : ['Janvier','Février', 'Mars','Avril','Mai','Juin','Juillet','Août','Septembre',"Octobre","Novembre","Décembre"],
weekdays : ['dimanche'," lundi "," mardi "," mercredi "," jeudi "," vendredi "," samedi "],
weekdaysShort : ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam']
};
$("#date").pikaday({
format: "YYYY-MM-DD", //adjust to your liking
changeMonth: true,
/**
* Compat permissions related methods.
*/
public final class PermissionUtils {
/**
* Private constructor - avoid class instantiation.
*/
private PermissionUtils() {
throw new UnsupportedOperationException();
}
@Neferetheka
Neferetheka / BaseActivityTest.java
Created February 9, 2017 16:15
BaseActivityTest
/**
* Base class for all Espresso tests
*/
public abstract class BaseActivityTest {
protected boolean doesViewExist(@IdRes int id) {
try {
onView(withId(id)).check(matches(isDisplayed()));
return true;
} catch (AssertionFailedError er){
return false;