1
0
Fork 0
mirror of https://github.com/syncthing/syncthing-android.git synced 2024-11-26 14:21:16 +00:00
syncthing-android/app/build.gradle
Catfriend1 f6f90c9c2b
Allow specifying different sync conditions per folder (fixes #57) (#66)
* WIP - https://github.com/Catfriend1/syncthing-android/issues/57

* Add sync conditions activity

* Update folder edit layout

Implement SyncConditionsActivity stub

* Add dialog open logic

* Fix UI glitches

* Update APK version to 0.14.51.4 / 4167

* Revert "Update APK version to 0.14.51.4 / 4167"

This reverts commit 47bc4aa9ba219c134047765cc2fb49a9fa651fbe.

* Implement WiFi Ssid Whitelist UI

* Read per-folder sync conditions from prefs

* Implement onCheckedChange listeners

* Implement saving object sync conditions

* Remove early draft stuff

* Implement per folder master switch for custom sync conditions

* FolderActivity - More log

* Improve generation of object-specific constants

* Added onSyncPreconditionChanged to RunConditionMonitor

* Fix UI glitch

* Fix non-harming typos

* Refactor "on mobile data" sync condition

* Refactor "on wifi" sync condition

* Refactor "on whitelisted wifi" sync condition

* Refactor "on metered wifi" sync condition

* Refactor RunConditionMonitor#decideShouldRun

* RunConditionMonitor - Rename variables

* Pause/Unpause folders using RunConditionMonitor events

* Implement RunConditionMonitor#SyncConditionResult

* Fix lint - use editor.apply instead of editor.commit

* Updated translations

* Add null check in RestApi

* Fix missing explanation text

* Fix german translation

* Update APK version to 0.14.51.6 / 4169

* Update whatsnew
2018-10-15 00:29:52 +02:00

94 lines
3.1 KiB
Groovy

apply plugin: 'com.android.application'
apply plugin: 'com.github.ben-manes.versions'
apply plugin: 'com.github.triplet.play'
dependencies {
implementation 'eu.chainfire:libsuperuser:1.0.0.201704021214'
implementation 'com.android.support:design:28.0.0'
implementation 'com.google.zxing:android-integration:3.3.0'
implementation 'com.google.code.gson:gson:2.8.2'
implementation 'org.mindrot:jbcrypt:0.4'
implementation 'com.google.guava:guava:23.6-android'
implementation 'com.annimon:stream:1.1.9'
implementation 'com.android.volley:volley:1.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.google.dagger:dagger:2.14.1'
annotationProcessor "com.google.dagger:dagger-compiler:2.14.1"
androidTestImplementation 'com.android.support.test:rules:1.0.2'
androidTestImplementation 'com.android.support:support-annotations:28.0.0'
}
android {
// Changes to these values need to be reflected in `.travis.yml`
compileSdkVersion 28
buildToolsVersion '28.0.2'
buildTypes.debug.applicationIdSuffix ".debug"
dataBinding.enabled = true
playAccountConfigs {
defaultAccountConfig {
jsonFile = file(System.getenv("SYNCTHING_RELEASE_PLAY_ACCOUNT_CONFIG_FILE") ?: 'keys.json')
}
}
defaultConfig {
applicationId "com.github.catfriend1.syncthingandroid"
minSdkVersion 16
targetSdkVersion 26
versionCode 4169
versionName "0.14.51.6"
testApplicationId 'com.github.catfriend1.syncthingandroid.test'
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
playAccountConfig = playAccountConfigs.defaultAccountConfig
}
signingConfigs {
release {
storeFile = {
def path = System.getenv("SYNCTHING_RELEASE_STORE_FILE")
return (path) ? file(path) : null
}()
storePassword System.getenv("SIGNING_PASSWORD") ?: ""
keyAlias System.getenv("SYNCTHING_RELEASE_KEY_ALIAS") ?: ""
keyPassword System.getenv("SIGNING_PASSWORD") ?: ""
}
}
buildTypes {
release {
signingConfig = signingConfigs.release.storeFile ? signingConfigs.release : null
}
debug {
gradle.buildFinished {
buildResult -> if (!buildResult.failure) {
pushToDevice.execute()
}
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
play {
jsonFile = file(System.getenv("SYNCTHING_RELEASE_PLAY_ACCOUNT_CONFIG_FILE") ?: 'keys.json')
uploadImages = false
track = 'beta'
}
/**
* Some languages are not supported by Google Play, so we ignore them.
*/
task deleteUnsupportedPlayTranslations(type: Delete) {
delete 'src/main/play/nn'
delete 'src/main/play/el-EL'
delete 'src/main/play/nb'
delete 'src/main/play/en/'
}
task pushToDevice(type: Exec) {
executable = 'python'
args = ['-u', './push-to-device.py']
}