Skip to content

Instantly share code, notes, and snippets.

View emartynov's full-sized avatar
🐾
Hello

Eugen Martynov emartynov

🐾
Hello
View GitHub Profile
@emartynov
emartynov / GlideExtensions.kt
Created September 11, 2019 21:10
Mock glide fetcher
inline fun <reified T : Key> Glide.registerMockStreamModelLoader() = registerMockStreamModelLoader(T::class.java)
fun <T : Key> Glide.registerMockStreamModelLoader(modelClass: Class<T>) {
val modelLoaderFactory: ModelLoaderFactory<T, InputStream> = mock()
val modelLoader = mockStreamModelLoader(modelClass)
whenever(modelLoaderFactory.build(any())).thenReturn(modelLoader)
this.registry.append(modelClass, InputStream::class.java, modelLoaderFactory)
}
inline fun completable(
crossinline action: () -> Unit,
crossinline finally: () -> Unit
): Completable {
return Completable.create { emitter ->
try {
action()
emitter.onComplete()
} catch (t: Throwable) {
// Attempts to emit the specified {@code Throwable} error if the downstream
@emartynov
emartynov / environment.gradle
Created November 13, 2016 13:34
Define ANDROID_HOME if doesn't exist
afterEvaluate {
def sdkPath = prepareAndroidHome()
}
private String prepareAndroidHome()
{
def localProperties = new File( project.rootDir, 'local.properties' )
def properties = new Properties()
if ( localProperties.exists() )
@emartynov
emartynov / build.gradle
Created November 13, 2016 13:31
Adding local dependency instead of maven repo one
dependencies {
compile files('libs/support-annotations-25.0.0.jar')
}
//And in app build.gradle
compile( supportAppCompat ) {
exclude group: 'com.android.support', module: 'support-annotations'
}
compile( supportDesign ) {
exclude group: 'com.android.support', module: 'support-annotations'
@emartynov
emartynov / .travis.yaml
Created November 13, 2016 13:29
Added ANDROID_HOME env variable
jdk: oraclejdk8
before_script:
- export ANDROID_HOME=$HOME/.android
- chmod +x gradlew
@emartynov
emartynov / .travis.yaml
Created November 13, 2016 13:27
Removed android build preparations
jdk: oraclejdk8
before_script:
- chmod +x gradlew
@emartynov
emartynov / build.gradle
Created November 13, 2016 13:26
Original build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
}
}
@emartynov
emartynov / .travis.yaml
Created November 13, 2016 13:24
Original gist file
language: android
jdk: oraclejdk8
android:
components:
- tools
- platform-tools
- tools
- build-tools-25.0.0
- android-25
@emartynov
emartynov / log.txt
Created November 13, 2016 13:08
Dependencies run
gradle allDependencies | grep support-annotations -c
0
@emartynov
emartynov / environment.gradle
Last active November 13, 2016 12:02
Environment gradle file
afterEvaluate {
def sdkPath = prepareAndroidHome()
copyLicenseFiles( sdkPath )
}
private void copyLicenseFiles( String sdkPath )
{
def destinationDir = new File( sdkPath )
if ( !destinationDir.exists() )