Skip to content

Instantly share code, notes, and snippets.

View daverix's full-sized avatar

David Laurell daverix

View GitHub Profile
@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 / 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
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 / apk-signature
Created March 16, 2020 11:56
apk signature
#!/bin/bash
keytool -list -printcert -jarfile $1