Infinity-For-Lemmy/app/build.gradle
MChen321 132bd354cd
Fixed bug that doesnt show user being followed (#707)
* In anonymous mode, fixed bug in CheckIsFollowingUser.java that does not check if accountName is null or not, which prevents room from retrieving SubscribedUserData to check if the user is followed or not.

Also updated Room version to 2.4.2 to be compatible with M1 macbook.

* Simplified SubscribedUserData accountName null check code
2022-06-17 15:51:20 +08:00

190 lines
7.1 KiB
Groovy

apply plugin: 'com.android.application'
android {
compileSdkVersion 31
defaultConfig {
applicationId "ml.docilealligator.infinityforreddit"
minSdkVersion 21
targetSdkVersion 31
versionCode 99
versionName "5.2.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
arguments = [eventBusIndex: 'ml.docilealligator.infinityforreddit.EventBusIndex']
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
minifiedRelease {
initWith buildTypes.release
zipAlignEnabled true
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
lintOptions {
disable 'MissingTranslation'
}
bundle {
language {
enableSplit = false
}
}
}
dependencies {
/** AndroidX **/
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'androidx.biometric:biometric:1.2.0-alpha04'
implementation 'androidx.browser:browser:1.4.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
def lifecycleVersion = "2.3.1"
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion"
implementation "androidx.lifecycle:lifecycle-livedata:$lifecycleVersion"
implementation "androidx.lifecycle:lifecycle-process:$lifecycleVersion"
implementation "androidx.lifecycle:lifecycle-runtime:$lifecycleVersion"
implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycleVersion"
def pagingVersion = '3.1.0'
implementation "androidx.paging:paging-runtime:$pagingVersion"
implementation "androidx.paging:paging-guava:$pagingVersion"
implementation 'androidx.preference:preference:1.1.1'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
def roomVersion = "2.4.2"
implementation "androidx.room:room-runtime:$roomVersion"
annotationProcessor "androidx.room:room-compiler:$roomVersion"
implementation 'androidx.viewpager2:viewpager2:1.1.0-beta01'
implementation 'androidx.work:work-runtime:2.7.1'
implementation 'com.google.android.material:material:1.5.0-alpha05'
/** ExoPlayer **/
def exoplayerVersion = "2.10.8"
implementation "com.google.android.exoplayer:exoplayer-core:$exoplayerVersion"
implementation "com.google.android.exoplayer:exoplayer-dash:$exoplayerVersion"
implementation "com.google.android.exoplayer:exoplayer-hls:$exoplayerVersion"
implementation "com.google.android.exoplayer:exoplayer-ui:$exoplayerVersion"
def toroVersion = "3.7.0.2010003"
implementation "im.ene.toro3:toro:$toroVersion"
implementation("im.ene.toro3:toro-ext-exoplayer:$toroVersion") {
exclude module: 'extension-ima'
}
/** Third-party **/
/**** Backend logic ****/
// HTTP clients
def retrofitVersion = "2.9.0"
implementation "com.squareup.retrofit2:retrofit:$retrofitVersion"
implementation "com.squareup.retrofit2:converter-scalars:$retrofitVersion"
implementation "com.squareup.retrofit2:adapter-guava:$retrofitVersion"
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
// Dependency injection
def daggerVersion = '2.40.5'
implementation "com.google.dagger:dagger:$daggerVersion"
annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
// Binding
// NOTE: Deprecated in favor of viewbinding
def butterknifeVersion = "10.2.3"
implementation "com.jakewharton:butterknife:$butterknifeVersion"
annotationProcessor "com.jakewharton:butterknife-compiler:$butterknifeVersion"
// Events
def eventbusVersion = "3.3.1"
implementation "org.greenrobot:eventbus:$eventbusVersion"
annotationProcessor "org.greenrobot:eventbus-annotation-processor:$eventbusVersion"
// TransactionTooLargeException avoidance
implementation 'com.github.livefront:bridge:v2.0.2'
// Bundle-saving without boilerplate
// NOTE: Deprecated
def stateVersion = "1.4.1"
implementation "com.evernote:android-state:$stateVersion"
annotationProcessor "com.evernote:android-state-processor:$stateVersion"
// Object to JSON
// NOTE: Replace with Squareup's Moshi?
implementation 'com.google.code.gson:gson:2.8.9'
// Java library for zip files and streams
implementation 'net.lingala.zip4j:zip4j:2.9.0'
// IO functionality
implementation 'commons-io:commons-io:2.5'
// Crash reporting
implementation 'com.github.FunkyMuse:Crashy:1.2.0'
/**** User Interface (frontend) ****/
//Image loading
def glideVersion = "4.12.0"
implementation "com.github.bumptech.glide:glide:$glideVersion"
annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion"
implementation 'jp.wasabeef:glide-transformations:4.3.0'
implementation 'com.github.santalu:aspect-ratio-imageview:1.0.9'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.23'
def bivVersion = "1.8.1"
implementation "com.github.piasy:BigImageViewer:$bivVersion"
implementation "com.github.piasy:GlideImageLoader:$bivVersion"
implementation "com.github.piasy:GlideImageViewFactory:$bivVersion"
// Markdown
def markwonVersion = "4.6.2"
implementation "io.noties.markwon:core:$markwonVersion"
implementation "io.noties.markwon:ext-strikethrough:$markwonVersion"
implementation "io.noties.markwon:linkify:$markwonVersion"
implementation "io.noties.markwon:recycler-table:$markwonVersion"
implementation "io.noties.markwon:simple-ext:$markwonVersion"
implementation "io.noties.markwon:html:$markwonVersion"
implementation "io.noties.markwon:inline-parser:$markwonVersion"
implementation 'com.atlassian.commonmark:commonmark-ext-gfm-tables:0.14.0'
implementation 'me.saket:better-link-movement-method:2.2.0'
// Animations
implementation 'com.airbnb.android:lottie:4.2.2'
// Loading ProgressBar
implementation 'com.lsjwzh:materialloadingprogressbar:0.5.8-RELEASE'
// Customizable TextView
implementation 'com.libRG:customtextview:2.4'
// Dismiss gesturing
implementation 'com.r0adkll:slidableactivity:2.1.0'
implementation 'app.futured.hauler:hauler:5.0.0'
// Bottom sheet with rounded corners
implementation 'com.github.Deishelon:RoundedBottomSheet:1.0.1'
// FlowLayout (auto-spacing)
implementation 'com.nex3z:flow-layout:1.3.3'
// RecyclerView fast scrolling
implementation 'me.zhanghai.android.fastscroll:library:1.1.8'
implementation 'com.otaliastudios:zoomlayout:1.9.0'
/**** Builds and flavors ****/
// debugImplementation because LeakCanary should only run in debug builds.
//debugImplementation 'com.squareup.leakcanary:leakcanary-android:x.y'
}