2022-11-05 12:34:47 +00:00
|
|
|
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
|
|
|
|
|
2022-08-12 15:23:51 +00:00
|
|
|
apply plugin: 'com.android.library'
|
2013-10-25 15:19:00 +00:00
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
2018-07-30 02:07:02 +00:00
|
|
|
google()
|
2013-10-25 15:19:00 +00:00
|
|
|
}
|
|
|
|
|
2016-10-11 11:57:01 +00:00
|
|
|
configurations {
|
|
|
|
compile.exclude module: 'support-v4'
|
|
|
|
}
|
|
|
|
|
2019-05-14 12:08:05 +00:00
|
|
|
configurations.all {
|
|
|
|
exclude group: 'com.google.firebase', module: 'firebase-core'
|
2020-12-23 07:48:30 +00:00
|
|
|
exclude group: 'androidx.recyclerview', module: 'recyclerview'
|
2019-05-14 12:08:05 +00:00
|
|
|
}
|
|
|
|
|
2013-10-25 15:19:00 +00:00
|
|
|
dependencies {
|
2023-09-22 14:40:36 +00:00
|
|
|
implementation 'androidx.fragment:fragment:1.2.0'
|
2023-07-20 20:15:36 +00:00
|
|
|
implementation 'androidx.core:core:1.10.1'
|
2019-05-14 12:08:05 +00:00
|
|
|
implementation 'androidx.palette:palette:1.0.0'
|
2023-09-22 14:40:36 +00:00
|
|
|
implementation 'androidx.exifinterface:exifinterface:1.3.6'
|
2020-04-24 09:21:58 +00:00
|
|
|
implementation 'androidx.dynamicanimation:dynamicanimation:1.0.0'
|
2020-07-26 08:03:38 +00:00
|
|
|
implementation 'androidx.multidex:multidex:2.0.1'
|
2022-11-20 21:12:39 +00:00
|
|
|
implementation "androidx.sharetarget:sharetarget:1.2.0"
|
2023-09-22 14:40:36 +00:00
|
|
|
implementation 'androidx.interpolator:interpolator:1.0.0'
|
2024-03-31 19:10:51 +00:00
|
|
|
implementation 'androidx.biometric:biometric:1.1.0'
|
2019-05-14 12:08:05 +00:00
|
|
|
|
2019-01-23 17:03:33 +00:00
|
|
|
compileOnly 'org.checkerframework:checker-qual:2.5.2'
|
2018-08-27 08:33:11 +00:00
|
|
|
compileOnly 'org.checkerframework:checker-compat-qual:2.5.0'
|
2021-06-25 00:43:10 +00:00
|
|
|
implementation 'com.google.firebase:firebase-messaging:22.0.0'
|
2021-08-31 19:06:39 +00:00
|
|
|
implementation 'com.google.firebase:firebase-config:21.0.1'
|
2021-11-05 10:06:49 +00:00
|
|
|
implementation 'com.google.firebase:firebase-datatransport:18.1.0'
|
2021-06-25 00:43:10 +00:00
|
|
|
implementation 'com.google.firebase:firebase-appindexing:20.0.0'
|
2022-12-06 19:13:44 +00:00
|
|
|
implementation 'com.google.android.gms:play-services-maps:18.1.0'
|
|
|
|
implementation 'com.google.android.gms:play-services-auth:20.4.0'
|
2021-11-05 10:06:49 +00:00
|
|
|
implementation 'com.google.android.gms:play-services-vision:20.1.3'
|
2022-12-06 19:13:44 +00:00
|
|
|
implementation 'com.google.android.gms:play-services-wearable:18.0.0'
|
|
|
|
implementation 'com.google.android.gms:play-services-location:21.0.1'
|
|
|
|
implementation 'com.google.android.gms:play-services-wallet:19.1.0'
|
2018-08-27 08:33:11 +00:00
|
|
|
implementation 'com.googlecode.mp4parser:isoparser:1.0.6'
|
|
|
|
implementation 'com.stripe:stripe-android:2.0.2'
|
2021-12-30 10:52:40 +00:00
|
|
|
implementation 'com.google.mlkit:language-id:16.1.1'
|
2024-08-14 12:33:13 +00:00
|
|
|
implementation 'com.android.billingclient:billing:6.0.1'
|
2024-09-10 21:07:16 +00:00
|
|
|
implementation 'com.google.code.gson:gson:2.11.0'
|
2023-02-25 08:01:39 +00:00
|
|
|
implementation 'com.google.guava:guava:31.1-android'
|
2024-06-03 06:21:03 +00:00
|
|
|
implementation 'com.google.android.play:integrity:1.3.0'
|
|
|
|
implementation 'com.google.android.gms:play-services-safetynet:18.0.1'
|
2020-08-14 16:58:22 +00:00
|
|
|
|
2023-12-31 12:05:27 +00:00
|
|
|
implementation 'com.google.android.gms:play-services-mlkit-subject-segmentation:16.0.0-beta1'
|
2024-05-02 16:38:57 +00:00
|
|
|
implementation 'com.google.android.gms:play-services-mlkit-image-labeling:16.0.8'
|
2023-12-31 12:05:27 +00:00
|
|
|
constraints {
|
|
|
|
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
|
|
|
|
because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
|
|
|
|
}
|
|
|
|
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
|
|
|
|
because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-03-19 10:25:58 +00:00
|
|
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
|
2013-10-25 15:19:00 +00:00
|
|
|
}
|
|
|
|
|
2022-11-05 12:34:47 +00:00
|
|
|
def isWindows = String.valueOf(DefaultNativePlatform.currentOperatingSystem.toFamilyName() == OperatingSystemFamily.WINDOWS)
|
2013-10-25 15:19:00 +00:00
|
|
|
android {
|
2024-09-10 21:07:16 +00:00
|
|
|
compileSdkVersion 34
|
|
|
|
buildToolsVersion '34.0.0'
|
2021-06-25 00:43:10 +00:00
|
|
|
ndkVersion "21.4.7075529"
|
2017-12-08 17:35:59 +00:00
|
|
|
|
2016-10-11 11:57:01 +00:00
|
|
|
sourceSets.main.jniLibs.srcDirs = ['./jni/']
|
|
|
|
|
|
|
|
externalNativeBuild {
|
2020-09-30 13:48:47 +00:00
|
|
|
cmake {
|
|
|
|
path 'jni/CMakeLists.txt'
|
2016-10-11 11:57:01 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-07-30 02:07:02 +00:00
|
|
|
lintOptions {
|
|
|
|
disable 'MissingTranslation'
|
|
|
|
disable 'ExtraTranslation'
|
2019-09-10 10:56:11 +00:00
|
|
|
disable 'BlockedPrivateApi'
|
2018-07-30 02:07:02 +00:00
|
|
|
}
|
|
|
|
|
2017-03-30 23:58:05 +00:00
|
|
|
dexOptions {
|
|
|
|
jumboMode = true
|
|
|
|
}
|
|
|
|
|
2015-01-02 22:15:07 +00:00
|
|
|
compileOptions {
|
2018-08-27 08:33:11 +00:00
|
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
2020-08-14 16:58:22 +00:00
|
|
|
|
|
|
|
coreLibraryDesugaringEnabled true
|
2015-01-02 22:15:07 +00:00
|
|
|
}
|
2014-03-22 22:31:55 +00:00
|
|
|
|
2013-12-20 19:25:49 +00:00
|
|
|
|
2022-08-12 15:23:51 +00:00
|
|
|
defaultConfig {
|
2022-11-20 21:12:39 +00:00
|
|
|
minSdkVersion 19
|
2024-09-10 21:07:16 +00:00
|
|
|
targetSdkVersion 34
|
2022-08-12 15:23:51 +00:00
|
|
|
|
|
|
|
vectorDrawables.generatedDensities = ['mdpi', 'hdpi', 'xhdpi', 'xxhdpi']
|
|
|
|
|
|
|
|
multiDexEnabled true
|
|
|
|
|
|
|
|
externalNativeBuild {
|
|
|
|
cmake {
|
|
|
|
version '3.10.2'
|
2024-09-10 21:07:16 +00:00
|
|
|
arguments '-DANDROID_STL=c++_static', '-DANDROID_PLATFORM=android-16'
|
2022-08-12 15:23:51 +00:00
|
|
|
}
|
2013-12-20 19:25:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
buildTypes {
|
|
|
|
debug {
|
2014-11-10 11:05:22 +00:00
|
|
|
jniDebuggable true
|
2020-12-23 07:48:30 +00:00
|
|
|
minifyEnabled false
|
|
|
|
shrinkResources false
|
2020-04-24 09:21:58 +00:00
|
|
|
multiDexEnabled true
|
2022-08-12 15:23:51 +00:00
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), '../TMessagesProj/proguard-rules.pro'
|
2020-12-23 07:48:30 +00:00
|
|
|
ndk.debugSymbolLevel = 'FULL'
|
2023-12-31 12:05:27 +00:00
|
|
|
buildConfigField "String", "BUILD_VERSION_STRING", "\"" + APP_VERSION_NAME + "\""
|
2022-09-21 14:20:30 +00:00
|
|
|
buildConfigField "String", "APP_CENTER_HASH", "\"\""
|
|
|
|
buildConfigField "boolean", "DEBUG_VERSION", "true"
|
2022-11-05 12:34:47 +00:00
|
|
|
buildConfigField "boolean", "DEBUG_PRIVATE_VERSION", "true"
|
|
|
|
buildConfigField "boolean", "BUILD_HOST_IS_WINDOWS", isWindows
|
2013-12-20 19:25:49 +00:00
|
|
|
}
|
|
|
|
|
2022-09-21 14:20:30 +00:00
|
|
|
HA_private {
|
2019-01-23 17:03:33 +00:00
|
|
|
jniDebuggable false
|
|
|
|
minifyEnabled true
|
2020-04-24 09:21:58 +00:00
|
|
|
multiDexEnabled true
|
2022-08-12 15:23:51 +00:00
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), '../TMessagesProj/proguard-rules.pro'
|
2020-12-23 07:48:30 +00:00
|
|
|
ndk.debugSymbolLevel = 'FULL'
|
2023-12-31 12:05:27 +00:00
|
|
|
buildConfigField "String", "BUILD_VERSION_STRING", "\"" + APP_VERSION_NAME + "\""
|
2022-09-21 14:20:30 +00:00
|
|
|
buildConfigField "String", "APP_CENTER_HASH", "\"" + getProps("APP_CENTER_HASH_PRIVATE") + "\""
|
|
|
|
buildConfigField "boolean", "DEBUG_VERSION", "true"
|
|
|
|
buildConfigField "boolean", "DEBUG_PRIVATE_VERSION", "true"
|
2022-11-05 12:34:47 +00:00
|
|
|
buildConfigField "boolean", "BUILD_HOST_IS_WINDOWS", isWindows
|
2022-09-21 14:20:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
HA_public {
|
|
|
|
jniDebuggable false
|
|
|
|
minifyEnabled true
|
|
|
|
multiDexEnabled true
|
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), '../TMessagesProj/proguard-rules.pro'
|
|
|
|
ndk.debugSymbolLevel = 'FULL'
|
2023-12-31 12:05:27 +00:00
|
|
|
buildConfigField "String", "BUILD_VERSION_STRING", "\"" + APP_VERSION_NAME + "\""
|
2022-09-21 14:20:30 +00:00
|
|
|
buildConfigField "String", "APP_CENTER_HASH", "\"" + getProps("APP_CENTER_HASH_PUBLIC") + "\""
|
|
|
|
buildConfigField "boolean", "DEBUG_VERSION", "true"
|
|
|
|
buildConfigField "boolean", "DEBUG_PRIVATE_VERSION", "false"
|
2022-11-05 12:34:47 +00:00
|
|
|
buildConfigField "boolean", "BUILD_HOST_IS_WINDOWS", isWindows
|
2019-01-23 17:03:33 +00:00
|
|
|
}
|
|
|
|
|
2023-09-22 14:40:36 +00:00
|
|
|
HA_hardcore {
|
|
|
|
jniDebuggable false
|
|
|
|
minifyEnabled true
|
|
|
|
multiDexEnabled true
|
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), '../TMessagesProj/proguard-rules.pro'
|
|
|
|
ndk.debugSymbolLevel = 'FULL'
|
2023-12-31 12:05:27 +00:00
|
|
|
buildConfigField "String", "BUILD_VERSION_STRING", "\"" + APP_VERSION_NAME + "\""
|
2023-09-22 14:40:36 +00:00
|
|
|
buildConfigField "String", "APP_CENTER_HASH", "\"" + getProps("APP_CENTER_HASH_HARDCORE") + "\""
|
|
|
|
buildConfigField "boolean", "DEBUG_VERSION", "true"
|
|
|
|
buildConfigField "boolean", "DEBUG_PRIVATE_VERSION", "true"
|
|
|
|
buildConfigField "boolean", "BUILD_HOST_IS_WINDOWS", isWindows
|
|
|
|
}
|
|
|
|
|
2021-04-14 01:44:46 +00:00
|
|
|
standalone {
|
|
|
|
jniDebuggable false
|
|
|
|
minifyEnabled true
|
|
|
|
multiDexEnabled true
|
2022-08-12 15:23:51 +00:00
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), '../TMessagesProj/proguard-rules.pro'
|
2021-04-14 01:44:46 +00:00
|
|
|
ndk.debugSymbolLevel = 'FULL'
|
2023-12-31 12:05:27 +00:00
|
|
|
buildConfigField "String", "BUILD_VERSION_STRING", "\"" + APP_VERSION_NAME + "\""
|
2022-09-21 14:20:30 +00:00
|
|
|
buildConfigField "String", "APP_CENTER_HASH", "\"\""
|
|
|
|
buildConfigField "boolean", "DEBUG_VERSION", "false"
|
|
|
|
buildConfigField "boolean", "DEBUG_PRIVATE_VERSION", "false"
|
2022-11-05 12:34:47 +00:00
|
|
|
buildConfigField "boolean", "BUILD_HOST_IS_WINDOWS", isWindows
|
2021-04-14 01:44:46 +00:00
|
|
|
}
|
|
|
|
|
2013-12-20 19:25:49 +00:00
|
|
|
release {
|
2014-11-10 11:05:22 +00:00
|
|
|
jniDebuggable false
|
2018-07-30 02:07:02 +00:00
|
|
|
minifyEnabled true
|
2017-03-30 23:58:05 +00:00
|
|
|
shrinkResources false
|
2020-04-24 09:21:58 +00:00
|
|
|
multiDexEnabled true
|
2022-08-12 15:23:51 +00:00
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), '../TMessagesProj/proguard-rules.pro'
|
2020-12-23 07:48:30 +00:00
|
|
|
ndk.debugSymbolLevel = 'FULL'
|
2023-12-31 12:05:27 +00:00
|
|
|
buildConfigField "String", "BUILD_VERSION_STRING", "\"" + APP_VERSION_NAME + "\""
|
2022-09-21 14:20:30 +00:00
|
|
|
buildConfigField "String", "APP_CENTER_HASH", "\"\""
|
|
|
|
buildConfigField "boolean", "DEBUG_VERSION", "false"
|
|
|
|
buildConfigField "boolean", "DEBUG_PRIVATE_VERSION", "false"
|
2022-11-05 12:34:47 +00:00
|
|
|
buildConfigField "boolean", "BUILD_HOST_IS_WINDOWS", isWindows
|
2013-12-20 19:25:49 +00:00
|
|
|
}
|
2014-03-22 22:31:55 +00:00
|
|
|
}
|
2024-09-10 21:07:16 +00:00
|
|
|
namespace 'org.telegram.messenger'
|
2013-10-25 15:19:00 +00:00
|
|
|
}
|
2016-04-22 13:49:00 +00:00
|
|
|
|
2022-09-21 14:20:30 +00:00
|
|
|
|
|
|
|
def getProps(String propName) {
|
|
|
|
def propsFile = rootProject.file('local.properties')
|
|
|
|
if (propsFile.exists()) {
|
|
|
|
def props = new Properties()
|
|
|
|
props.load(new FileInputStream(propsFile))
|
|
|
|
return props[propName]
|
|
|
|
} else {
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
}
|
2016-04-22 13:49:00 +00:00
|
|
|
apply plugin: 'com.google.gms.google-services'
|
2024-07-11 07:45:28 +00:00
|
|
|
|
|
|
|
task checkVisibility {
|
|
|
|
doFirst {
|
2024-08-14 12:33:13 +00:00
|
|
|
def isPrivateBuild = project.gradle.startParameter.taskNames.find {
|
|
|
|
it.contains("HA_private") || it.contains("Debug") || it.contains("Release")
|
|
|
|
}
|
2024-07-11 07:45:28 +00:00
|
|
|
def isPublicAllowed = !project.hasProperty("IS_PRIVATE") || !project.property("IS_PRIVATE").toBoolean()
|
|
|
|
if (!isPrivateBuild && !isPublicAllowed) {
|
|
|
|
throw new GradleException("Building public version of private code!")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
doLast {
|
|
|
|
if (project.gradle.startParameter.taskNames.find { it.contains("HA_public") }) {
|
|
|
|
def privateBuild = file("${projectDir}_AppHockeyApp/afat/HA_private/app.apk")
|
|
|
|
if (privateBuild.exists()) {
|
|
|
|
privateBuild.delete()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
preBuild.dependsOn checkVisibility
|