Skip to content

Instantly share code, notes, and snippets.

View daverix's full-sized avatar

David Laurell daverix

View GitHub Profile
@daverix
daverix / apk-signature
Created March 16, 2020 11:56
apk signature
#!/bin/bash
keytool -list -printcert -jarfile $1
package net.daverix.util
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.ViewModelProviders
inline fun <reified T : ViewModel> FragmentActivity.getViewModel(crossinline factory: ()->T): T {
return ViewModelProviders.of(this, object : ViewModelProvider.Factory {
@Suppress("UNCHECKED_CAST")
@daverix
daverix / mock.kt
Created April 6, 2019 15:05
kotlin home made mock
package net.daverix.mock
import com.google.common.truth.Truth.assertThat
import net.daverix.transparentcalendarwidget.db.EventsProvider
import net.daverix.transparentcalendarwidget.model.CalendarEvent
import org.junit.Test
import java.lang.reflect.InvocationHandler
import java.lang.reflect.Method
import java.lang.reflect.Proxy
@daverix
daverix / Strings.kt
Created July 25, 2018 09:13
from camel case to screaming snake case
fun String.fromCamelCaseToScreamingSnakeCase(): String {
val builder = StringBuilder()
for(i in 0 until length) {
if(i > 0 && i < length-1 && this[i].isUpperCase())
builder.append("_")
builder.append(this[i].toUpperCase())
}
return builder.toString()
}
@daverix
daverix / lunch.php
Last active December 10, 2017 22:16
lunch.php
<?php
function loadDocument($url) {
$pageContent = file_get_contents($url);
$document = new DOMDocument();
$document->loadHtml($pageContent);
return $document;
}
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$restaurants['af'] = function($weekday) {
@daverix
daverix / averagecolor.java
Last active September 12, 2016 16:46
calculate color from pixel buffer in RGBX_8888 mode
final int limit = buffer.limit();
final int pixels = limit / 4;
long red = 0;
long green = 0;
long blue = 0;
for(int i=0;i<limit;i+=4) {
int color = buffer.getInt(i);
red += 0xFF & color;
green += 0x00FF & (color >> 8);
@daverix
daverix / Day1Test.cs
Last active December 4, 2015 09:57
AdventOfCode
namespace AdventOfCode {
public class Day1Test {
[Test]
public void SolveSanta1()
{
const string puzzle =
"((((()(()(((((((()))(((()((((()())(())()(((()((((((()((()(()(((()(()((())))()((()()())))))))))()((((((())((()))(((((()(((((((((()()))((()(())()((())((()(()))((()))()))()(((((()(((()()))()())((()((((())()())()((((())()(()(()(((()(())(()(())(((((((())()()(((())(()(()(()(())))(()((((())((()))(((()(()()(((((()()(()(((()(((((())()))()((()(()))()((()((((())((((())(()(((())()()(()()()()()(())((((())((())(()()))()((((())))((((()())()((((())((()())((())(())(((((()((((()(((()((((())(()(((()()))()))((((((()((())()())))(((()(()))(()()(()(((()(()))((()()()())((()()()(((())())()())())())((()))(()(()))(((((()(()(())((()(())(())()((((()())()))((((())(())((())())((((()(((())(())((()()((((()((((((()(())()()(()(()()((((()))(())()())()))(())))(())))())()()(())(()))()((()(()(())()()))(()())))))(()))(()()))(())(((((()(()(()()((())()())))))((())())((())(()(())((()))(())((
@daverix
daverix / Testing.java
Last active December 30, 2017 11:38
Dagger2 sub components example
package com.example;
import javax.inject.Scope;
import javax.inject.Singleton;
import dagger.Component;
import dagger.Module;
import dagger.Provides;
import dagger.Subcomponent;
@daverix
daverix / Test.java
Created May 6, 2015 18:21
Let Dagger Components extend interfaces to get same methods for all dependencies
package com.example;
import javax.inject.Scope;
import javax.inject.Singleton;
import dagger.Component;
import dagger.Module;
import dagger.Provides;
public class Test {
@daverix
daverix / designer.html
Created April 15, 2015 14:08
designer
<link rel="import" href="../topeka-elements/topeka-datasource.html">
<link rel="import" href="../topeka-elements/theme.html">
<link rel="import" href="../topeka-elements/topeka-resources.html">
<link rel="import" href="../topeka-elements/topeka-app.html">
<polymer-element name="my-element">
<template>
<style>
:host {