This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
val CaptainCrunch = Lib("../android-common--lib-android-captain-crunch", "com.adevinta.android:captaincrunch" to ":captaincrunch") | |
val AndroidExtensions = Lib("../android-common--lib-android-extensions", "com.adevinta.android:android-extensions" to ":android-extensions") | |
val Barista = Lib("../Barista", "com.schibsted.spain:barista" to ":library") | |
val AbTestingRunner = Lib( | |
"../android-common--lib-abtesting-runner", | |
"com.adevinta.android:abtesting" to ":abtesting", | |
"com.adevinta.android:abtesting-apptimize" to ":abtesting-apptimize", | |
"com.adevinta.android:abtesting-optimizely" to ":abtesting-optimizely", | |
"com.adevinta.android:abtesting-debug" to ":abtesting-debug", | |
"com.adevinta.android:abtesting-debugdrawer" to ":abtesting-debugdrawer", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() async { | |
Stopwatch stopwatch = new Stopwatch()..start(); | |
var p1 = delay(Duration(seconds: 2)); | |
var p2 = delay(Duration(seconds: 4)); | |
await p1; | |
await p2; | |
print('Executed in ${stopwatch.elapsed}'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.google.firebase.perf.FirebasePerformance | |
object FirebasePerformanceWrapper { | |
fun <T> trace(name: String, block: () -> T): T { | |
val trace = runCatching { FirebasePerformance.getInstance().newTrace(name) }.getOrNull() | |
trace?.start() | |
val result = block() | |
trace?.stop() | |
return result |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList; | |
import java.util.List; | |
import java.util.concurrent.CompletableFuture; | |
import java.util.stream.Collectors; | |
import java.util.stream.Stream; | |
class SyncAsync { | |
public static void main(String[] args) { | |
for (int i = 0; i < 10; i++) { | |
new Thread(() -> { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
git log --after={2019-06-01} --pretty=format: --name-only | sort | uniq -c | sort -rg | grep "\.java" | head -10 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
git log --name-status $* --after='2018-01-01 00:00:00' | \ | |
grep -E '^[A-Z]\s+' | \ | |
cut -c3-500 | \ | |
sort | \ | |
uniq -c | \ | |
grep -vE '^ {6}1 ' | \ | |
sort -n | \ | |
grep -E '.+\.java?' | \ | |
tail -n 20 | \ | |
sort -n -r |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fun fibKotlinClass(n: Int): String { | |
return when (n) { | |
1, 2 -> "class Fib$n" | |
else -> "class Fib$n(val fibM1: Fib${n - 1}, val fibM2: Fib${n - 2})" | |
} | |
} | |
fun fibKotlinKoinFactory(n: Int): String { | |
return when (n) { | |
1, 2 -> "factory { Fib$n() }" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
open class Counter(context: Context) { | |
open var count: Int = 0 | |
open fun hit() = count++ | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.sloydev.macookbuk.infrastructure.extensions | |
import android.arch.lifecycle.* | |
fun <T, R> LiveData<T>.map(transformation: (T) -> R): LiveData<R> { | |
return Transformations.map(this, transformation) | |
} | |
fun <A, B, C> LiveData<A>.zipWith(other: LiveData<B>, zipFunc: (A, B) -> C): LiveData<C> { | |
return ZippedLiveData<A, B, C>(this, other, zipFunc) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
object DebugNotification { | |
private const val DEBUG_CHANNEL_ID = "debug_channel" | |
@JvmStatic | |
@JvmOverloads | |
fun show(context: Context, title: String, text: String = "Debug notification") { | |
if (BuildConfig.DEBUG) { | |
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { | |
createChannel(context) |
NewerOlder