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 io.jween.rx; | |
import io.reactivex.Observable; | |
import io.reactivex.android.schedulers.AndroidSchedulers; | |
import io.reactivex.functions.Consumer; | |
import io.reactivex.subjects.PublishSubject; | |
/** | |
* RxJava version Event Bus | |
* |
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
/** | |
* Usage: | |
* | |
* 1. Get the Foreground Singleton, passing a Context or Application object unless you | |
* are sure that the Singleton has definitely already been initialised elsewhere. | |
* | |
* 2.a) Perform a direct, synchronous check: Foreground.isForeground() / .isBackground() | |
* | |
* or | |
* |
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
// | |
// read bintray user and api key form gitignored local.properties file | |
// | |
def FILE_LOCAL_PROPERTIES = "local.properties" | |
Properties localProp = new Properties() | |
def getFileInDir = { dir -> | |
File ret = new File("$dir$File.separator$FILE_LOCAL_PROPERTIES") | |
ret?.exists() ? ret : null | |
} |
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
def filterVariant = { variantToFilter, filterTask-> | |
def variantRes = android.sourceSets."${variantToFilter.toLowerCase()}".res | |
variantRes.srcDirs.each{ resDir-> | |
def filterOutput = "${buildDir}/res-filter" | |
if (resDir.toString().contains(filterOutput)) { | |
return | |
} | |
// remove all the add-resource nodes | |
filterTask.from fileTree(dir: resDir, include: 'values*/*.xml') |
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
// requires gradleAfter from [gradle_after](https://gist.github.com/Jween/039f4625b69d598b856d) ahead | |
// | |
// for packaging so files in command line | |
// invoke hint: | |
// > gradle -p someModule -P [unpackageSo=ture|false] | |
// -unpackageSo optional, false by default, to package apk with so files inside | |
// if set to true, the package task will skip packaging so files into apk file | |
// | |
if (gradleAfter(1.12) ) { |
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
// Top-level build file where you can add configuration options common to all sub-projects/modules. | |
buildscript { | |
repositories { | |
mavenCentral() | |
} | |
dependencies { | |
// com.android.tools.build:gradle:0.6.+ -> gradle 1.8 | |
// com.android.tools.build:gradle:0.7.+ -> gradle 1.9 | |
// com.android.tools.build:gradle:0.8.+ -> gradle 1.9/1.10 | |
// com.android.tools.build:gradle:0.9.+ -> gradle 1.10/1.11 |
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
// returns true if greater, null if equal, false otherwise | |
def gradleAfter = { | |
[ | |
gradle.gradleVersion.tokenize('.')*.toInteger(), | |
it.toString().tokenize('.')*.toInteger() | |
].transpose().inject(null){ result, item -> | |
result != null ?: | |
(item[0] > item[1] ?: item[0] == item[1] ? null : false); | |
} | |
} |