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.jfrog.bintray.gradle.BintrayExtension | |
import com.jfrog.bintray.gradle.BintrayPlugin | |
import java.io.FileInputStream | |
import java.util.* | |
buildscript { | |
repositories { | |
jcenter() | |
} |
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
#!/bin/bash | |
BOLD=$(tput bold) | |
NORMAL=$(tput sgr0) | |
PROPERTY_FILE=local.properties | |
function getProperty() { | |
PROP_KEY=$1 | |
# shellcheck disable=SC2002 | |
PROP_VALUE=$(cat $PROPERTY_FILE | grep -w "$PROP_KEY" | cut -d'=' -f2-) | |
echo "$PROP_VALUE" |
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.android.build.gradle.internal.dsl.SigningConfig | |
import java.io.FileInputStream | |
import java.util.* | |
signingConfigs { | |
if (File("signing.properties").exists()) { | |
create("releaseDistribution") { | |
val prop = Properties().apply { load(FileInputStream(File("signing.properties"))) } | |
storeFile = File(prop.getProperty("keystorePath")) | |
storePassword = prop.getProperty("keystorePassword") |
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
image: bitbucketpipelines/android-ci-image | |
pipelines: | |
tags: | |
firebase-*: | |
- step: | |
name: Setup & Deploy | |
image: java:8 #remove this line if plugin "com.starter.easylauncher" isn't used | |
caches: | |
- android-sdk |
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 android.annotation.SuppressLint | |
import com.blissapplications.kotlin.core.common.threads.ReactivexThreadSchedulerProvider | |
import io.reactivex.Completable | |
import io.reactivex.Single | |
import io.reactivex.disposables.CompositeDisposable | |
import io.reactivex.disposables.Disposable | |
/** | |
* Examples of usage of this extensions functions: | |
* |
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 io.mockk.clearAllMocks | |
import kotlinx.coroutines.Dispatchers | |
import kotlinx.coroutines.ExperimentalCoroutinesApi | |
import kotlinx.coroutines.delay | |
import kotlinx.coroutines.test.TestCoroutineDispatcher | |
import kotlinx.coroutines.test.resetMain | |
import kotlinx.coroutines.test.runBlockingTest | |
import kotlinx.coroutines.test.setMain | |
import org.assertj.core.api.Assertions.assertThat | |
import org.junit.jupiter.api.* |
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 kotlinx.coroutines.* | |
fun throttleClick(scope: CoroutineScope = CoroutineScope(Dispatchers.Main), clickAction: (Unit) -> Unit): (Unit) -> Unit { | |
return throttleFirst(1_000, scope, clickAction) | |
} | |
/** | |
* Processes input data and passes the first data to [action] and skips all new data for the next [skipMs]. | |
*/ | |
fun <T> throttleFirst(skipMs: Long = 700L, scope: CoroutineScope = CoroutineScope(Dispatchers.Main), action: (T) -> Unit): (T) -> Unit { |
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 androidx.recyclerview.widget.LinearLayoutManager | |
import androidx.recyclerview.widget.RecyclerView | |
@Suppress("unused") | |
abstract class EndlessRecyclerOnScrollListener( | |
manager: LinearLayoutManager | |
) : RecyclerView.OnScrollListener() { | |
private var layoutManager: LinearLayoutManager = manager |
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
# Collapse Unity-generated files on GitHub | |
*.asset linguist-generated | |
*.mat linguist-generated | |
*.meta linguist-generated | |
*.prefab linguist-generated | |
*.unity linguist-generated | |
# 3D models | |
*.3dm filter=lfs diff=lfs merge=lfs -text | |
*.3ds filter=lfs diff=lfs merge=lfs -text |
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
language: android | |
dist: trusty | |
notifications: | |
email: false | |
jdk: | |
- oraclejdk8 | |
env: |
NewerOlder