I hereby claim:
- I am rock3r on github.
- I am rock3r (https://keybase.io/rock3r) on keybase.
- I have a public key ASAFs_czYB4sp1Df7-lZ0TUdAT-5jye6IxjyE9OKPIVoIwo
To claim this, I am signing this object:
// H/t to https://github.com/ethankhall/scripts/blob/master/gradle/find-file.gradle for the idea; | |
// this re-written version actually works in modern Gradle and Android Gradle plugins. | |
task findInDependencies { | |
doLast { | |
println() | |
def resolvableConfigs = project.getConfigurations() | |
.stream() | |
.filter { it.isCanBeResolved() } |
package me.seebrock3r.utils | |
import android.os.Build.VERSION_CODES.JELLY_BEAN_MR1 | |
import android.os.Build.VERSION_CODES.JELLY_BEAN_MR2 | |
import android.os.Build.VERSION_CODES.KITKAT | |
import android.os.Build.VERSION_CODES.LOLLIPOP | |
import android.os.Build.VERSION_CODES.LOLLIPOP_MR1 | |
import android.os.Build.VERSION_CODES.M | |
import android.os.Build.VERSION_CODES.N | |
import org.assertj.core.api.Assertions.assertThat |
I hereby claim:
To claim this, I am signing this object:
#!/bin/sh | |
# License for any modification to the original (linked below): | |
# ---------------------------------------------------------------------------- | |
# "THE BEER-WARE LICENSE" (Revision 42): | |
# Sebastiano Poggi wrote this file. As long as you retain | |
# this notice you can do whatever you want with this stuff. If we meet some day, | |
# and you think this stuff is worth it, you can buy us a beer in return. | |
#### SETUP/USAGE INSTRUCTIONS #### |
package me.seebrock3r.extensions.reactivex | |
import io.reactivex.Flowable | |
import io.reactivex.Observable | |
import io.reactivex.rxkotlin.ofType | |
@Deprecated( | |
message = "This is just a shorthand for RxKotlin's ofType()", | |
replaceWith = ReplaceWith("ofType<R>()", "io.reactivex.rxkotlin.ofType") | |
) |
/* | |
* ---------------------------------------------------------------------------- | |
* "THE BEER-WARE LICENSE" (Revision 42): | |
* Sebastiano Poggi wrote this file. As long as you retain this notice you | |
* can do whatever you want with this stuff. If we meet some day, and you think | |
* this stuff is worth it, you can buy me a beer in return. Seb | |
* ---------------------------------------------------------------------------- | |
* Feel free to attribute this code in compiled products if you feel like it, | |
* but it's not required. | |
*/ |
package me.seebrock3r.common.widget | |
import android.graphics.Canvas | |
import android.graphics.Paint | |
import android.graphics.Rect | |
import android.view.View | |
import androidx.annotation.ColorInt | |
import androidx.annotation.Px | |
import androidx.core.graphics.withTranslation | |
import androidx.core.view.children |
package me.seebrock3r.util | |
import me.seebrock3r.util.CacheableProperty.CachedValue.* | |
import kotlin.properties.* | |
import kotlin.reflect.* | |
import kotlin.reflect.jvm.* | |
fun <T> cache(producer: () -> T): CacheableProperty<T> = CacheableProperty(producer) | |
class CacheableProperty<out T>(val producer: () -> T) : ReadOnlyProperty<Any, T> { |
package me.seebrock3r.util | |
/** | |
* Calls the specified function [block] as a side effect of a previous expression. | |
* | |
* This is similar to [run] in that it's used to chain side effects, but it | |
* doesn't return anything and the block doesn't have any parameters. If your | |
* side effects require either of those things, use [run] or [also] instead. | |
* | |
* @see run |
tasks.register("kotlinPluginVersions") { | |
description = "Shows the resolved Kotlin plugin version for all subprojects" | |
group = "documentation" | |
doLast { | |
subprojects.forEach { subproject -> | |
System.err.println("****** Project ${subproject.name} plugins ******") | |
subproject.plugins.filterIsInstance<KotlinBasePluginWrapper>() | |
.forEach { | |
System.err.println("Kotlin plugin ${it.kotlinPluginVersion}") | |
} |