2020-09-26 17:09:01 +00:00
|
|
|
import java.util.regex.Matcher
|
|
|
|
import java.util.regex.Pattern
|
|
|
|
|
2020-03-16 15:41:57 +00:00
|
|
|
apply plugin: 'com.android.application'
|
|
|
|
apply plugin: 'kotlin-android'
|
|
|
|
apply plugin: 'kotlin-android-extensions'
|
2020-03-28 13:29:48 +00:00
|
|
|
apply plugin: 'kotlin-kapt'
|
2020-08-05 16:20:19 +00:00
|
|
|
apply plugin: 'com.google.gms.google-services'
|
2020-08-07 06:37:40 +00:00
|
|
|
apply plugin: 'com.google.firebase.firebase-perf'
|
2020-08-08 16:56:17 +00:00
|
|
|
apply plugin: 'com.google.firebase.crashlytics'
|
2020-08-25 09:05:20 +00:00
|
|
|
apply plugin: 'androidx.navigation.safeargs.kotlin'
|
2020-03-16 15:41:57 +00:00
|
|
|
|
2020-09-26 17:09:01 +00:00
|
|
|
ext.langs = getLanguages()
|
|
|
|
|
2020-03-16 15:41:57 +00:00
|
|
|
android {
|
2020-08-24 17:30:12 +00:00
|
|
|
compileSdkVersion 30
|
|
|
|
buildToolsVersion "30.0.2"
|
2020-03-16 15:41:57 +00:00
|
|
|
|
|
|
|
defaultConfig {
|
|
|
|
applicationId "com.vanced.manager"
|
|
|
|
minSdkVersion 21
|
2020-08-24 17:30:12 +00:00
|
|
|
targetSdkVersion 30
|
2020-11-15 10:48:56 +00:00
|
|
|
versionCode 201
|
|
|
|
versionName "2.0.1 (Android5and6suck)"
|
2020-03-16 15:41:57 +00:00
|
|
|
|
2020-11-05 15:36:50 +00:00
|
|
|
vectorDrawables.useSupportLibrary true
|
2020-09-26 17:09:01 +00:00
|
|
|
|
|
|
|
buildConfigField "String[]", "MANAGER_LANGUAGES", "{" + surroundWithQuotes(langs) + "}"
|
2020-11-03 07:28:18 +00:00
|
|
|
buildConfigField "Boolean", "ENABLE_CROWDIN_AUTH", "false"
|
|
|
|
buildConfigField "String", "CROWDIN_HASH", "\"${System.getenv('CROWDIN_HASH')}\""
|
|
|
|
buildConfigField "String", "CROWDIN_CLIENT_ID", "\"${System.getenv('CROWDIN_CLIENT_ID')}\""
|
|
|
|
buildConfigField "String", "CROWDIN_CLIENT_SECRET", "\"${System.getenv('CROWDIN_CLIENT_SECRET')}\""
|
2020-03-16 15:41:57 +00:00
|
|
|
}
|
|
|
|
|
2020-05-04 20:14:38 +00:00
|
|
|
lintOptions {
|
2020-06-26 16:09:39 +00:00
|
|
|
disable 'MissingTranslation', 'ExtraTranslation'
|
2020-05-04 20:14:38 +00:00
|
|
|
}
|
|
|
|
|
2020-05-01 13:14:52 +00:00
|
|
|
applicationVariants.all { variant ->
|
2020-11-05 15:36:50 +00:00
|
|
|
resValue "string", "versionName", versionName
|
2020-05-01 13:14:52 +00:00
|
|
|
}
|
|
|
|
|
2020-03-16 15:41:57 +00:00
|
|
|
buildTypes {
|
|
|
|
release {
|
2020-05-02 14:17:23 +00:00
|
|
|
minifyEnabled true
|
2020-03-16 15:41:57 +00:00
|
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-07-03 20:26:40 +00:00
|
|
|
buildFeatures {
|
|
|
|
dataBinding true
|
2020-11-14 21:05:35 +00:00
|
|
|
viewBinding true
|
2020-03-28 13:29:48 +00:00
|
|
|
}
|
|
|
|
|
2020-03-16 15:41:57 +00:00
|
|
|
// To inline the bytecode built with JVM target 1.8 into
|
|
|
|
// bytecode that is being built with JVM target 1.6. (e.g. navArgs)
|
|
|
|
|
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
|
|
}
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = "1.8"
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2020-09-26 17:09:01 +00:00
|
|
|
def getLanguages() {
|
|
|
|
List<String> langs = new ArrayList<String>()
|
|
|
|
langs.add("en")
|
2020-11-15 09:49:40 +00:00
|
|
|
//Add languages with dialects
|
|
|
|
langs.add("bn_BD")
|
|
|
|
langs.add("bn_IN")
|
|
|
|
langs.add("pt_BR")
|
|
|
|
langs.add("pt_PT")
|
|
|
|
langs.add("zh_CN")
|
|
|
|
langs.add("zh_TW")
|
|
|
|
List<String> exceptions = [ "bn", "pt", "zh"]
|
2020-09-26 17:09:01 +00:00
|
|
|
Pattern pattern = Pattern.compile("-(\\w+)-")
|
|
|
|
new File("${projectDir}/src/main/res").eachDir { dir ->
|
|
|
|
if (dir.name.startsWith("values-") && !dir.name.contains("v23")) {
|
|
|
|
Matcher matcher = pattern.matcher(dir.name)
|
2020-11-15 09:49:40 +00:00
|
|
|
if (matcher.find() && !exceptions.any { matcher.group(1) == it } ) {
|
|
|
|
langs.add(matcher.group(1))
|
2020-09-26 17:09:01 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-11-15 09:49:40 +00:00
|
|
|
return langs.toArray().toSorted()
|
2020-09-26 17:09:01 +00:00
|
|
|
}
|
|
|
|
|
2020-10-31 21:22:10 +00:00
|
|
|
static def surroundWithQuotes(Object[] arr) {
|
2020-09-26 17:09:01 +00:00
|
|
|
String[] dummyArr = arr
|
|
|
|
for (int i = 0; i < arr.length; i++) {
|
|
|
|
dummyArr[i] = "\"" + arr[i] + "\""
|
|
|
|
}
|
|
|
|
return dummyArr.join(", ")
|
|
|
|
}
|
|
|
|
|
2020-03-16 15:41:57 +00:00
|
|
|
dependencies {
|
2020-07-16 21:34:40 +00:00
|
|
|
|
2020-07-03 20:29:40 +00:00
|
|
|
// Kotlin
|
|
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
2020-07-16 21:34:40 +00:00
|
|
|
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
2020-07-03 20:29:40 +00:00
|
|
|
|
|
|
|
// AndroidX
|
2020-08-07 16:16:34 +00:00
|
|
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
2020-07-03 20:29:40 +00:00
|
|
|
implementation 'androidx.browser:browser:1.2.0'
|
2020-11-01 15:07:00 +00:00
|
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
2020-10-31 19:45:39 +00:00
|
|
|
implementation 'androidx.core:core-ktx:1.3.2'
|
2020-06-21 19:24:14 +00:00
|
|
|
implementation 'androidx.fragment:fragment-ktx:1.2.5'
|
2020-07-03 20:35:05 +00:00
|
|
|
implementation 'androidx.lifecycle:lifecycle-livedata-core-ktx:2.2.0'
|
|
|
|
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'
|
2020-07-03 21:25:37 +00:00
|
|
|
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
|
2020-10-31 19:45:39 +00:00
|
|
|
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.1'
|
|
|
|
implementation 'androidx.navigation:navigation-ui-ktx:2.3.1'
|
2020-07-03 20:29:40 +00:00
|
|
|
implementation 'androidx.preference:preference-ktx:1.1.1'
|
2020-07-05 12:49:35 +00:00
|
|
|
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
2020-10-31 19:45:39 +00:00
|
|
|
implementation 'com.google.android.material:material:1.3.0-alpha03'
|
2020-07-03 20:29:40 +00:00
|
|
|
|
2020-11-05 15:36:50 +00:00
|
|
|
// JSON parser
|
2020-11-01 15:07:00 +00:00
|
|
|
implementation 'com.beust:klaxon:5.4'
|
2020-11-05 15:36:50 +00:00
|
|
|
|
|
|
|
// Crowdin
|
2020-11-01 15:07:00 +00:00
|
|
|
implementation 'com.crowdin.platform:mobile-sdk:1.2.0'
|
2020-11-05 15:36:50 +00:00
|
|
|
|
|
|
|
// Tips
|
2020-10-31 19:45:39 +00:00
|
|
|
implementation 'com.github.florent37:viewtooltip:1.2.2'
|
2020-11-05 15:36:50 +00:00
|
|
|
|
|
|
|
// HTTP networking
|
2020-11-01 15:07:00 +00:00
|
|
|
implementation 'com.github.kittinunf.fuel:fuel:2.3.0'
|
2020-07-11 21:43:43 +00:00
|
|
|
implementation 'com.github.kittinunf.fuel:fuel-coroutines:2.2.3'
|
2020-08-05 16:20:19 +00:00
|
|
|
implementation 'com.github.kittinunf.fuel:fuel-json:2.2.3'
|
2020-11-05 15:36:50 +00:00
|
|
|
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
|
|
|
|
|
|
|
|
// Root permissions
|
2020-10-31 19:45:39 +00:00
|
|
|
implementation 'com.github.topjohnwu.libsu:core:3.0.2'
|
|
|
|
implementation 'com.github.topjohnwu.libsu:io:3.0.2'
|
2020-11-05 15:36:50 +00:00
|
|
|
|
|
|
|
// Layout
|
2020-10-31 19:45:39 +00:00
|
|
|
implementation 'com.google.android:flexbox:2.0.1'
|
2020-11-05 15:36:50 +00:00
|
|
|
|
|
|
|
// File downloader
|
2020-08-05 16:20:19 +00:00
|
|
|
implementation 'com.mindorks.android:prdownloader:0.6.0'
|
2020-07-11 21:43:43 +00:00
|
|
|
|
2020-11-05 15:36:50 +00:00
|
|
|
// Firebase
|
|
|
|
implementation 'com.google.firebase:firebase-analytics-ktx:18.0.0'
|
2020-11-12 19:32:03 +00:00
|
|
|
implementation 'com.google.firebase:firebase-crashlytics:17.3.0'
|
2020-11-05 15:36:50 +00:00
|
|
|
implementation 'com.google.firebase:firebase-messaging:21.0.0'
|
2020-11-12 19:32:03 +00:00
|
|
|
implementation 'com.google.firebase:firebase-perf:19.0.10'
|
2020-03-16 15:41:57 +00:00
|
|
|
}
|