2017-01-03 10:30:27 +11:00
|
|
|
apply plugin: 'com.android.application'
|
2017-11-06 08:32:36 +11:00
|
|
|
apply plugin: 'kotlin-android'
|
2018-02-04 08:45:14 +11:00
|
|
|
apply plugin: 'kotlin-android-extensions'
|
2018-09-01 04:35:30 +10:00
|
|
|
apply plugin: 'kotlin-kapt'
|
2017-01-03 10:30:27 +11:00
|
|
|
|
2018-07-17 03:01:34 +10:00
|
|
|
def getGitSha = { ->
|
|
|
|
def stdout = new ByteArrayOutputStream()
|
|
|
|
exec {
|
|
|
|
commandLine 'git', 'rev-parse', '--short' , 'HEAD'
|
|
|
|
standardOutput = stdout
|
|
|
|
}
|
|
|
|
return stdout.toString().trim()
|
|
|
|
}
|
|
|
|
|
2017-01-03 10:30:27 +11:00
|
|
|
android {
|
2018-09-17 03:23:32 +10:00
|
|
|
compileSdkVersion 28
|
2017-01-03 10:30:27 +11:00
|
|
|
defaultConfig {
|
|
|
|
applicationId "com.keylesspalace.tusky"
|
2018-09-17 02:54:12 +10:00
|
|
|
minSdkVersion 21
|
2018-09-17 03:23:32 +10:00
|
|
|
targetSdkVersion 28
|
2018-12-13 06:53:26 +11:00
|
|
|
versionCode 52
|
|
|
|
versionName "4.1"
|
2018-12-18 01:25:35 +11:00
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
2018-09-26 03:04:57 +10:00
|
|
|
vectorDrawables.useSupportLibrary = true
|
2018-12-26 06:06:28 +11:00
|
|
|
|
|
|
|
kapt {
|
|
|
|
arguments {
|
|
|
|
arg("room.schemaLocation", "$projectDir/schemas")
|
|
|
|
}
|
|
|
|
}
|
2017-01-03 10:30:27 +11:00
|
|
|
}
|
|
|
|
buildTypes {
|
|
|
|
release {
|
2017-04-08 08:08:51 +10:00
|
|
|
minifyEnabled true
|
|
|
|
shrinkResources true
|
2018-08-16 04:46:37 +10:00
|
|
|
proguardFiles 'proguard-rules.pro'
|
2017-01-03 10:30:27 +11:00
|
|
|
}
|
2018-07-17 03:01:34 +10:00
|
|
|
debug { }
|
|
|
|
}
|
|
|
|
|
|
|
|
flavorDimensions "color"
|
|
|
|
productFlavors {
|
|
|
|
blue { }
|
|
|
|
green {
|
2017-12-08 22:15:46 +11:00
|
|
|
applicationIdSuffix ".test"
|
2018-07-17 03:01:34 +10:00
|
|
|
versionNameSuffix "-"+getGitSha()
|
2017-12-08 22:15:46 +11:00
|
|
|
}
|
2017-01-03 10:30:27 +11:00
|
|
|
}
|
2017-10-26 06:56:27 +11:00
|
|
|
|
2017-04-13 14:01:02 +10:00
|
|
|
lintOptions {
|
|
|
|
disable 'MissingTranslation'
|
|
|
|
}
|
2017-11-16 07:28:49 +11:00
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
|
|
}
|
2018-03-03 23:24:03 +11:00
|
|
|
androidExtensions {
|
|
|
|
experimental = true
|
|
|
|
}
|
2018-03-10 08:02:32 +11:00
|
|
|
testOptions {
|
|
|
|
unitTests {
|
|
|
|
includeAndroidResources = true
|
|
|
|
}
|
|
|
|
}
|
2018-12-26 06:06:28 +11:00
|
|
|
sourceSets {
|
|
|
|
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
|
|
|
|
}
|
|
|
|
|
2018-12-18 05:08:32 +11:00
|
|
|
|
|
|
|
packagingOptions {
|
|
|
|
// Exclude unneeded files added by libraries
|
|
|
|
exclude 'LICENSE_OFL'
|
|
|
|
exclude 'LICENSE_UNICODE'
|
|
|
|
}
|
2017-01-03 10:30:27 +11:00
|
|
|
}
|
|
|
|
|
2018-11-16 23:31:03 +11:00
|
|
|
ext.daggerVersion = '2.19'
|
2017-08-04 01:01:02 +10:00
|
|
|
|
2018-06-25 21:02:34 +10:00
|
|
|
// if libraries are changed here, they should also be changed in LicenseActivity
|
2017-01-03 10:30:27 +11:00
|
|
|
dependencies {
|
2018-12-18 01:25:35 +11:00
|
|
|
implementation('com.mikepenz:materialdrawer:6.1.1@aar') {
|
2017-03-12 18:31:20 +11:00
|
|
|
transitive = true
|
|
|
|
}
|
2018-12-18 01:25:35 +11:00
|
|
|
implementation 'androidx.appcompat:appcompat:1.0.2'
|
|
|
|
implementation 'androidx.browser:browser:1.0.0'
|
|
|
|
implementation 'androidx.recyclerview:recyclerview:1.0.0'
|
|
|
|
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
|
2018-12-19 08:05:33 +11:00
|
|
|
implementation 'com.google.android.material:material:1.1.0-alpha02'
|
2018-12-18 01:25:35 +11:00
|
|
|
implementation 'androidx.exifinterface:exifinterface:1.0.0'
|
|
|
|
implementation 'androidx.cardview:cardview:1.0.0'
|
2018-12-19 08:05:33 +11:00
|
|
|
implementation 'androidx.preference:preference:1.1.0-alpha02'
|
2018-12-18 01:25:35 +11:00
|
|
|
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
|
|
|
|
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
|
Caching toots (#809)
* Initial timeline cache implementation
* Fix build/DI errors for caching
* Rename timeline entities tables. Add migration. Add DB scheme file.
* Fix uniqueness problem, change offline strategy, improve mapping
* Try to merge in new statuses, fix bottom loading, fix saving spans.
* Fix reblogs IDs, fix inserting elements from top
* Send one more request to get latest timeline statuses
* Give Timeline placeholders string id. Rewrite Either in Kotlin
* Initial placeholder implementation for caching
* Fix crash on removing overlap statuses
* Migrate counters to long
* Remove unused counters. Add minimal TimelineDAOTest
* Fix bug with placeholder ID
* Update cache in response to events. Refactor TimelineCases
* Fix crash, reduce number of placeholders
* Fix crash, fix filtering, improve placeholder handling
* Fix migration, add 8-9 migration test
* Fix initial timeline update, remove more placeholders
* Add cleanup for old statuses
* Fix cleanup
* Delete ExampleInstrumentedTest
* Improve timeline UX regarding caching
* Fix typos
* Fix initial timeline update
* Cleanup/fix initial timeline update
* Workaround for weird behavior of first post on initial tl update.
* Change counter types back to int
* Clear timeline cache on logout
* Fix loading when timeline is completely empty
* Fix androidx migration issues
* Fix tests
* Apply caching feedback
* Save account emojis to cache
* Fix warnings and bugs
2019-01-15 08:05:08 +11:00
|
|
|
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'
|
2017-12-03 00:59:24 +11:00
|
|
|
implementation 'com.squareup.picasso:picasso:2.5.2'
|
2018-12-18 01:25:35 +11:00
|
|
|
implementation 'com.squareup.okhttp3:okhttp:3.12.0'
|
|
|
|
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.0'
|
2017-12-03 00:59:24 +11:00
|
|
|
implementation 'com.jakewharton.picasso:picasso2-okhttp3-downloader:1.1.0'
|
2018-12-18 01:25:35 +11:00
|
|
|
implementation 'com.github.connyduck:sparkbutton:2.0.0'
|
|
|
|
implementation 'com.github.chrisbanes:PhotoView:2.3.0'
|
|
|
|
implementation 'com.mikepenz:google-material-typeface:3.0.1.3.original@aar'
|
|
|
|
implementation('com.theartofdev.edmodo:android-image-cropper:2.8.0') {
|
2018-03-02 08:18:50 +11:00
|
|
|
exclude group: 'com.android.support'
|
|
|
|
}
|
2018-06-08 06:59:03 +10:00
|
|
|
implementation 'com.evernote:android-job:1.2.6'
|
2018-12-18 01:25:35 +11:00
|
|
|
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
2018-05-10 19:16:56 +10:00
|
|
|
// EmojiCompat
|
2018-12-18 01:25:35 +11:00
|
|
|
implementation 'androidx.emoji:emoji:1.0.0'
|
|
|
|
implementation 'androidx.emoji:emoji-appcompat:1.0.0'
|
2018-07-30 23:31:35 +10:00
|
|
|
implementation 'de.c1710:filemojicompat:1.0.14'
|
2018-06-18 21:26:18 +10:00
|
|
|
// architecture components
|
2018-12-18 01:25:35 +11:00
|
|
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
|
2017-07-06 00:34:59 +10:00
|
|
|
//room
|
2018-12-18 01:25:35 +11:00
|
|
|
implementation 'androidx.room:room-runtime:2.0.0'
|
|
|
|
kapt 'androidx.room:room-compiler:2.0.0'
|
Caching toots (#809)
* Initial timeline cache implementation
* Fix build/DI errors for caching
* Rename timeline entities tables. Add migration. Add DB scheme file.
* Fix uniqueness problem, change offline strategy, improve mapping
* Try to merge in new statuses, fix bottom loading, fix saving spans.
* Fix reblogs IDs, fix inserting elements from top
* Send one more request to get latest timeline statuses
* Give Timeline placeholders string id. Rewrite Either in Kotlin
* Initial placeholder implementation for caching
* Fix crash on removing overlap statuses
* Migrate counters to long
* Remove unused counters. Add minimal TimelineDAOTest
* Fix bug with placeholder ID
* Update cache in response to events. Refactor TimelineCases
* Fix crash, reduce number of placeholders
* Fix crash, fix filtering, improve placeholder handling
* Fix migration, add 8-9 migration test
* Fix initial timeline update, remove more placeholders
* Add cleanup for old statuses
* Fix cleanup
* Delete ExampleInstrumentedTest
* Improve timeline UX regarding caching
* Fix typos
* Fix initial timeline update
* Cleanup/fix initial timeline update
* Workaround for weird behavior of first post on initial tl update.
* Change counter types back to int
* Clear timeline cache on logout
* Fix loading when timeline is completely empty
* Fix androidx migration issues
* Fix tests
* Apply caching feedback
* Save account emojis to cache
* Fix warnings and bugs
2019-01-15 08:05:08 +11:00
|
|
|
implementation 'android.arch.persistence.room:rxjava2:1.1.1'
|
2018-04-21 07:18:37 +10:00
|
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
2018-03-10 08:02:32 +11:00
|
|
|
testImplementation 'junit:junit:4.12'
|
2018-03-28 04:47:00 +11:00
|
|
|
implementation "com.google.dagger:dagger:$daggerVersion"
|
|
|
|
kapt "com.google.dagger:dagger-compiler:$daggerVersion"
|
|
|
|
implementation "com.google.dagger:dagger-android:$daggerVersion"
|
|
|
|
implementation "com.google.dagger:dagger-android-support:$daggerVersion"
|
|
|
|
kapt "com.google.dagger:dagger-android-processor:$daggerVersion"
|
2018-12-19 08:05:33 +11:00
|
|
|
testImplementation 'org.robolectric:robolectric:4.1'
|
|
|
|
testImplementation 'org.mockito:mockito-inline:2.23.4'
|
2018-12-18 01:25:35 +11:00
|
|
|
androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', {
|
2017-10-19 23:39:56 +11:00
|
|
|
exclude group: 'com.android.support', module: 'support-annotations'
|
|
|
|
})
|
Caching toots (#809)
* Initial timeline cache implementation
* Fix build/DI errors for caching
* Rename timeline entities tables. Add migration. Add DB scheme file.
* Fix uniqueness problem, change offline strategy, improve mapping
* Try to merge in new statuses, fix bottom loading, fix saving spans.
* Fix reblogs IDs, fix inserting elements from top
* Send one more request to get latest timeline statuses
* Give Timeline placeholders string id. Rewrite Either in Kotlin
* Initial placeholder implementation for caching
* Fix crash on removing overlap statuses
* Migrate counters to long
* Remove unused counters. Add minimal TimelineDAOTest
* Fix bug with placeholder ID
* Update cache in response to events. Refactor TimelineCases
* Fix crash, reduce number of placeholders
* Fix crash, fix filtering, improve placeholder handling
* Fix migration, add 8-9 migration test
* Fix initial timeline update, remove more placeholders
* Add cleanup for old statuses
* Fix cleanup
* Delete ExampleInstrumentedTest
* Improve timeline UX regarding caching
* Fix typos
* Fix initial timeline update
* Cleanup/fix initial timeline update
* Workaround for weird behavior of first post on initial tl update.
* Change counter types back to int
* Clear timeline cache on logout
* Fix loading when timeline is completely empty
* Fix androidx migration issues
* Fix tests
* Apply caching feedback
* Save account emojis to cache
* Fix warnings and bugs
2019-01-15 08:05:08 +11:00
|
|
|
androidTestImplementation('android.arch.persistence.room:testing:1.1.1')
|
|
|
|
androidTestImplementation "androidx.test.ext:junit:1.1.0"
|
2018-03-03 23:54:58 +11:00
|
|
|
debugImplementation 'im.dino:dbinspector:3.4.1@aar'
|
2018-12-18 01:25:35 +11:00
|
|
|
implementation 'io.reactivex.rxjava2:rxjava:2.2.4'
|
2018-09-01 04:35:30 +10:00
|
|
|
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
|
2018-10-04 05:27:52 +10:00
|
|
|
implementation 'io.reactivex.rxjava2:rxkotlin:2.3.0'
|
2018-12-18 01:25:35 +11:00
|
|
|
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'
|
2018-12-19 08:05:33 +11:00
|
|
|
implementation 'com.uber.autodispose:autodispose-android-archcomponents:1.1.0'
|
|
|
|
implementation 'com.uber.autodispose:autodispose-ktx:1.1.0'
|
2017-11-06 08:32:36 +11:00
|
|
|
}
|