|
@@ -4,6 +4,12 @@ plugins {
|
|
|
|
|
|
|
|
apply plugin: 'com.android.application'
|
|
apply plugin: 'com.android.application'
|
|
|
|
|
|
|
|
|
|
+// only apply the plugin if we are dealing with a AppGallery build
|
|
|
|
|
+if (getGradle().getStartParameter().getTaskRequests().toString().contains("Hms")) {
|
|
|
|
|
+ println "enabling hms plugin"
|
|
|
|
|
+ apply plugin: 'com.huawei.agconnect'
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* Return the git hash, if git is installed.
|
|
* Return the git hash, if git is installed.
|
|
|
*/
|
|
*/
|
|
@@ -60,6 +66,7 @@ def findKeystore = { name ->
|
|
|
def keystores = [
|
|
def keystores = [
|
|
|
debug: findKeystore("debug"),
|
|
debug: findKeystore("debug"),
|
|
|
release: findKeystore("threema"),
|
|
release: findKeystore("threema"),
|
|
|
|
|
+ hms_release: findKeystore("threema_hms"),
|
|
|
]
|
|
]
|
|
|
|
|
|
|
|
android {
|
|
android {
|
|
@@ -75,8 +82,8 @@ android {
|
|
|
vectorDrawables.useSupportLibrary = true
|
|
vectorDrawables.useSupportLibrary = true
|
|
|
applicationId "ch.threema.app"
|
|
applicationId "ch.threema.app"
|
|
|
testApplicationId 'ch.threema.app.test'
|
|
testApplicationId 'ch.threema.app.test'
|
|
|
- versionCode 675
|
|
|
|
|
- versionName "4.53"
|
|
|
|
|
|
|
+ versionCode 679
|
|
|
|
|
+ versionName "4.54"
|
|
|
resValue "string", "version_name_suffix", ""
|
|
resValue "string", "version_name_suffix", ""
|
|
|
resValue "string", "app_name", "Threema"
|
|
resValue "string", "app_name", "Threema"
|
|
|
resValue "string", "uri_scheme", "threema"
|
|
resValue "string", "uri_scheme", "threema"
|
|
@@ -98,6 +105,7 @@ android {
|
|
|
buildConfigField "byte[]", "SERVER_PUBKEY", "new byte[] {(byte) 0x45, (byte) 0x0b, (byte) 0x97, (byte) 0x57, (byte) 0x35, (byte) 0x27, (byte) 0x9f, (byte) 0xde, (byte) 0xcb, (byte) 0x33, (byte) 0x13, (byte) 0x64, (byte) 0x8f, (byte) 0x5f, (byte) 0xc6, (byte) 0xee, (byte) 0x9f, (byte) 0xf4, (byte) 0x36, (byte) 0x0e, (byte) 0xa9, (byte) 0x2a, (byte) 0x8c, (byte) 0x17, (byte) 0x51, (byte) 0xc6, (byte) 0x61, (byte) 0xe4, (byte) 0xc0, (byte) 0xd8, (byte) 0xc9, (byte) 0x09 }"
|
|
buildConfigField "byte[]", "SERVER_PUBKEY", "new byte[] {(byte) 0x45, (byte) 0x0b, (byte) 0x97, (byte) 0x57, (byte) 0x35, (byte) 0x27, (byte) 0x9f, (byte) 0xde, (byte) 0xcb, (byte) 0x33, (byte) 0x13, (byte) 0x64, (byte) 0x8f, (byte) 0x5f, (byte) 0xc6, (byte) 0xee, (byte) 0x9f, (byte) 0xf4, (byte) 0x36, (byte) 0x0e, (byte) 0xa9, (byte) 0x2a, (byte) 0x8c, (byte) 0x17, (byte) 0x51, (byte) 0xc6, (byte) 0x61, (byte) 0xe4, (byte) 0xc0, (byte) 0xd8, (byte) 0xc9, (byte) 0x09 }"
|
|
|
buildConfigField "byte[]", "SERVER_PUBKEY_ALT", "new byte[] {(byte) 0xda, (byte) 0x7c, (byte) 0x73, (byte) 0x79, (byte) 0x8f, (byte) 0x97, (byte) 0xd5, (byte) 0x87, (byte) 0xc3, (byte) 0xa2, (byte) 0x5e, (byte) 0xbe, (byte) 0x0a, (byte) 0x91, (byte) 0x41, (byte) 0x7f, (byte) 0x76, (byte) 0xdb, (byte) 0xcc, (byte) 0xcd, (byte) 0xda, (byte) 0x29, (byte) 0x30, (byte) 0xe6, (byte) 0xa9, (byte) 0x09, (byte) 0x0a, (byte) 0xf6, (byte) 0x2e, (byte) 0xba, (byte) 0x6f, (byte) 0x15 }"
|
|
buildConfigField "byte[]", "SERVER_PUBKEY_ALT", "new byte[] {(byte) 0xda, (byte) 0x7c, (byte) 0x73, (byte) 0x79, (byte) 0x8f, (byte) 0x97, (byte) 0xd5, (byte) 0x87, (byte) 0xc3, (byte) 0xa2, (byte) 0x5e, (byte) 0xbe, (byte) 0x0a, (byte) 0x91, (byte) 0x41, (byte) 0x7f, (byte) 0x76, (byte) 0xdb, (byte) 0xcc, (byte) 0xcd, (byte) 0xda, (byte) 0x29, (byte) 0x30, (byte) 0xe6, (byte) 0xa9, (byte) 0x09, (byte) 0x0a, (byte) 0xf6, (byte) 0x2e, (byte) 0xba, (byte) 0x6f, (byte) 0x15 }"
|
|
|
buildConfigField "String", "GIT_HASH", "\"${getGitHash()}\""
|
|
buildConfigField "String", "GIT_HASH", "\"${getGitHash()}\""
|
|
|
|
|
+ buildConfigField "boolean", "SEND_CONSUMED_DELIVERY_RECEIPTS", "false"
|
|
|
|
|
|
|
|
manifestPlaceholders = [
|
|
manifestPlaceholders = [
|
|
|
actionUrl: "go.threema.ch",
|
|
actionUrl: "go.threema.ch",
|
|
@@ -141,7 +149,7 @@ android {
|
|
|
}
|
|
}
|
|
|
store_threema { }
|
|
store_threema { }
|
|
|
store_google_work {
|
|
store_google_work {
|
|
|
- versionName "4.53k"
|
|
|
|
|
|
|
+ versionName "4.54k"
|
|
|
applicationId "ch.threema.app.work"
|
|
applicationId "ch.threema.app.work"
|
|
|
testApplicationId 'ch.threema.app.work.test'
|
|
testApplicationId 'ch.threema.app.work.test'
|
|
|
resValue "string", "package_name", applicationId
|
|
resValue "string", "package_name", applicationId
|
|
@@ -178,7 +186,7 @@ android {
|
|
|
buildConfigField "byte[]", "SERVER_PUBKEY_ALT", "new byte[] {(byte) 0x5a, (byte) 0x98, (byte) 0xf2, (byte) 0x3d, (byte) 0xe6, (byte) 0x56, (byte) 0x05, (byte) 0xd0, (byte) 0x50, (byte) 0xdc, (byte) 0x00, (byte) 0x64, (byte) 0xbe, (byte) 0x07, (byte) 0xdd, (byte) 0xdd, (byte) 0x81, (byte) 0x1d, (byte) 0xa1, (byte) 0x16, (byte) 0xa5, (byte) 0x43, (byte) 0xce, (byte) 0x43, (byte) 0xaa, (byte) 0x26, (byte) 0x87, (byte) 0xd1, (byte) 0x9f, (byte) 0x20, (byte) 0xaf, (byte) 0x3c }"
|
|
buildConfigField "byte[]", "SERVER_PUBKEY_ALT", "new byte[] {(byte) 0x5a, (byte) 0x98, (byte) 0xf2, (byte) 0x3d, (byte) 0xe6, (byte) 0x56, (byte) 0x05, (byte) 0xd0, (byte) 0x50, (byte) 0xdc, (byte) 0x00, (byte) 0x64, (byte) 0xbe, (byte) 0x07, (byte) 0xdd, (byte) 0xdd, (byte) 0x81, (byte) 0x1d, (byte) 0xa1, (byte) 0x16, (byte) 0xa5, (byte) 0x43, (byte) 0xce, (byte) 0x43, (byte) 0xaa, (byte) 0x26, (byte) 0x87, (byte) 0xd1, (byte) 0x9f, (byte) 0x20, (byte) 0xaf, (byte) 0x3c }"
|
|
|
}
|
|
}
|
|
|
sandbox_work {
|
|
sandbox_work {
|
|
|
- versionName "4.53k"
|
|
|
|
|
|
|
+ versionName "4.54k"
|
|
|
applicationId "ch.threema.app.sandbox.work"
|
|
applicationId "ch.threema.app.sandbox.work"
|
|
|
testApplicationId 'ch.threema.app.sandbox.work.test'
|
|
testApplicationId 'ch.threema.app.sandbox.work.test'
|
|
|
|
|
|
|
@@ -208,7 +216,7 @@ android {
|
|
|
]
|
|
]
|
|
|
}
|
|
}
|
|
|
red { // Essentially like sandbox work, but with a different icon and accent color, used for internal testing
|
|
red { // Essentially like sandbox work, but with a different icon and accent color, used for internal testing
|
|
|
- versionName "4.53r"
|
|
|
|
|
|
|
+ versionName "4.54r"
|
|
|
applicationId "ch.threema.app.red"
|
|
applicationId "ch.threema.app.red"
|
|
|
testApplicationId 'ch.threema.app.red.test'
|
|
testApplicationId 'ch.threema.app.red.test'
|
|
|
|
|
|
|
@@ -230,6 +238,36 @@ android {
|
|
|
buildConfigField "String", "CHAT_SERVER_SUFFIX", "\".0.test.threema.ch\""
|
|
buildConfigField "String", "CHAT_SERVER_SUFFIX", "\".0.test.threema.ch\""
|
|
|
buildConfigField "byte[]", "SERVER_PUBKEY", "new byte[] {(byte) 0x5a, (byte) 0x98, (byte) 0xf2, (byte) 0x3d, (byte) 0xe6, (byte) 0x56, (byte) 0x05, (byte) 0xd0, (byte) 0x50, (byte) 0xdc, (byte) 0x00, (byte) 0x64, (byte) 0xbe, (byte) 0x07, (byte) 0xdd, (byte) 0xdd, (byte) 0x81, (byte) 0x1d, (byte) 0xa1, (byte) 0x16, (byte) 0xa5, (byte) 0x43, (byte) 0xce, (byte) 0x43, (byte) 0xaa, (byte) 0x26, (byte) 0x87, (byte) 0xd1, (byte) 0x9f, (byte) 0x20, (byte) 0xaf, (byte) 0x3c }"
|
|
buildConfigField "byte[]", "SERVER_PUBKEY", "new byte[] {(byte) 0x5a, (byte) 0x98, (byte) 0xf2, (byte) 0x3d, (byte) 0xe6, (byte) 0x56, (byte) 0x05, (byte) 0xd0, (byte) 0x50, (byte) 0xdc, (byte) 0x00, (byte) 0x64, (byte) 0xbe, (byte) 0x07, (byte) 0xdd, (byte) 0xdd, (byte) 0x81, (byte) 0x1d, (byte) 0xa1, (byte) 0x16, (byte) 0xa5, (byte) 0x43, (byte) 0xce, (byte) 0x43, (byte) 0xaa, (byte) 0x26, (byte) 0x87, (byte) 0xd1, (byte) 0x9f, (byte) 0x20, (byte) 0xaf, (byte) 0x3c }"
|
|
|
buildConfigField "byte[]", "SERVER_PUBKEY_ALT", "new byte[] {(byte) 0x5a, (byte) 0x98, (byte) 0xf2, (byte) 0x3d, (byte) 0xe6, (byte) 0x56, (byte) 0x05, (byte) 0xd0, (byte) 0x50, (byte) 0xdc, (byte) 0x00, (byte) 0x64, (byte) 0xbe, (byte) 0x07, (byte) 0xdd, (byte) 0xdd, (byte) 0x81, (byte) 0x1d, (byte) 0xa1, (byte) 0x16, (byte) 0xa5, (byte) 0x43, (byte) 0xce, (byte) 0x43, (byte) 0xaa, (byte) 0x26, (byte) 0x87, (byte) 0xd1, (byte) 0x9f, (byte) 0x20, (byte) 0xaf, (byte) 0x3c }"
|
|
buildConfigField "byte[]", "SERVER_PUBKEY_ALT", "new byte[] {(byte) 0x5a, (byte) 0x98, (byte) 0xf2, (byte) 0x3d, (byte) 0xe6, (byte) 0x56, (byte) 0x05, (byte) 0xd0, (byte) 0x50, (byte) 0xdc, (byte) 0x00, (byte) 0x64, (byte) 0xbe, (byte) 0x07, (byte) 0xdd, (byte) 0xdd, (byte) 0x81, (byte) 0x1d, (byte) 0xa1, (byte) 0x16, (byte) 0xa5, (byte) 0x43, (byte) 0xce, (byte) 0x43, (byte) 0xaa, (byte) 0x26, (byte) 0x87, (byte) 0xd1, (byte) 0x9f, (byte) 0x20, (byte) 0xaf, (byte) 0x3c }"
|
|
|
|
|
+ buildConfigField "boolean", "SEND_CONSUMED_DELIVERY_RECEIPTS", "true"
|
|
|
|
|
+
|
|
|
|
|
+ manifestPlaceholders = [
|
|
|
|
|
+ actionUrl: "work.threema.ch",
|
|
|
|
|
+ uriScheme: "threemawork",
|
|
|
|
|
+ contactActionUrl: "threema.id"
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ hms {
|
|
|
|
|
+ applicationId "ch.threema.app.hms"
|
|
|
|
|
+ resValue "string", "package_name", applicationId
|
|
|
|
|
+ }
|
|
|
|
|
+ hms_work {
|
|
|
|
|
+ versionName "4.54k"
|
|
|
|
|
+ applicationId "ch.threema.app.work.hms"
|
|
|
|
|
+ testApplicationId 'ch.threema.app.work.test.hms'
|
|
|
|
|
+ resValue "string", "package_name", applicationId
|
|
|
|
|
+ resValue "string", "app_name", "Threema Work"
|
|
|
|
|
+ resValue "string", "uri_scheme", "threemawork"
|
|
|
|
|
+ resValue "string", "action_url", "work.threema.ch"
|
|
|
|
|
+ resValue "string", "contact_action_url", "threema.id"
|
|
|
|
|
+ resValue "string", "contacts_mime_type", "vnd.android.cursor.item/vnd.ch.threema.app.work.profile"
|
|
|
|
|
+ resValue "string", "call_mime_type", "vnd.android.cursor.item/vnd.ch.threema.app.work.call"
|
|
|
|
|
+ resValue "integer", "max_group_size", "256"
|
|
|
|
|
+ resValue "string", "shop_download_filename", ""
|
|
|
|
|
+ buildConfigField "String", "CHAT_SERVER_PREFIX", "\"w-\""
|
|
|
|
|
+ buildConfigField "String", "CHAT_SERVER_IPV6_PREFIX", "\"ds.\""
|
|
|
|
|
+ buildConfigField "String", "CHAT_SERVER_SUFFIX", "\".0.threema.ch\""
|
|
|
|
|
+ buildConfigField "String", "MEDIA_PATH", "\"ThreemaWork\""
|
|
|
|
|
+ buildConfigField "boolean", "CHAT_SERVER_GROUPS", "true"
|
|
|
|
|
|
|
|
manifestPlaceholders = [
|
|
manifestPlaceholders = [
|
|
|
actionUrl: "work.threema.ch",
|
|
actionUrl: "work.threema.ch",
|
|
@@ -260,23 +298,57 @@ android {
|
|
|
} else {
|
|
} else {
|
|
|
logger.warn("No release keystore found. Falling back to locally generated keystore.")
|
|
logger.warn("No release keystore found. Falling back to locally generated keystore.")
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // Release config
|
|
|
|
|
+ if (keystores.hms_release != null) {
|
|
|
|
|
+ hms_release {
|
|
|
|
|
+ storeFile file(keystores.hms_release.storeFile)
|
|
|
|
|
+ storePassword keystores.hms_release.storePassword
|
|
|
|
|
+ keyAlias keystores.hms_release.keyAlias
|
|
|
|
|
+ keyPassword keystores.hms_release.keyPassword
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ logger.warn("No hms keystore found. Falling back to locally generated keystore.")
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
sourceSets {
|
|
sourceSets {
|
|
|
|
|
+ none {
|
|
|
|
|
+ java.srcDir 'src/google_services_based/java'
|
|
|
|
|
+ manifest.srcFile 'src/store_google/AndroidManifest.xml'
|
|
|
|
|
+ }
|
|
|
main {
|
|
main {
|
|
|
assets.srcDirs = ['assets']
|
|
assets.srcDirs = ['assets']
|
|
|
jniLibs.srcDirs = ['libs']
|
|
jniLibs.srcDirs = ['libs']
|
|
|
}
|
|
}
|
|
|
|
|
+ store_google{
|
|
|
|
|
+ java.srcDir 'src/google_services_based/java'
|
|
|
|
|
+ }
|
|
|
|
|
+ store_google_work {
|
|
|
|
|
+ java.srcDir 'src/google_services_based/java'
|
|
|
|
|
+ }
|
|
|
|
|
+ store_threema {
|
|
|
|
|
+ java.srcDir 'src/google_services_based/java'
|
|
|
|
|
+ }
|
|
|
|
|
+ hms {
|
|
|
|
|
+ java.srcDir 'src/hms_services_based/java'
|
|
|
|
|
+ }
|
|
|
|
|
+ hms_work {
|
|
|
|
|
+ java.srcDir 'src/hms_services_based/java'
|
|
|
|
|
+ res.srcDir 'src/store_google_work/res'
|
|
|
|
|
+ }
|
|
|
sandbox {
|
|
sandbox {
|
|
|
- java {
|
|
|
|
|
- srcDir 'src/none'
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ java.srcDir 'src/google_services_based/java'
|
|
|
|
|
+ manifest.srcFile 'src/store_google/AndroidManifest.xml'
|
|
|
}
|
|
}
|
|
|
sandbox_work {
|
|
sandbox_work {
|
|
|
- setRoot 'src/store_google_work'
|
|
|
|
|
|
|
+ java.srcDir 'src/google_services_based/java'
|
|
|
|
|
+ res.srcDir 'src/store_google_work/res'
|
|
|
|
|
+ manifest.srcFile 'src/store_google_work/AndroidManifest.xml'
|
|
|
}
|
|
}
|
|
|
red {
|
|
red {
|
|
|
- setRoot 'src/red'
|
|
|
|
|
|
|
+ java.srcDir 'src/google_services_based/java'
|
|
|
|
|
+ res.srcDir 'src/red/res'
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -286,6 +358,7 @@ android {
|
|
|
jniDebuggable false
|
|
jniDebuggable false
|
|
|
multiDexEnabled true
|
|
multiDexEnabled true
|
|
|
multiDexKeepProguard file('multidex-keep.pro')
|
|
multiDexKeepProguard file('multidex-keep.pro')
|
|
|
|
|
+
|
|
|
if (keystores['debug'] != null) {
|
|
if (keystores['debug'] != null) {
|
|
|
signingConfig signingConfigs.debug
|
|
signingConfig signingConfigs.debug
|
|
|
}
|
|
}
|
|
@@ -299,8 +372,20 @@ android {
|
|
|
multiDexEnabled true
|
|
multiDexEnabled true
|
|
|
multiDexKeepProguard file('multidex-keep.pro')
|
|
multiDexKeepProguard file('multidex-keep.pro')
|
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-project.txt'
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-project.txt'
|
|
|
|
|
+
|
|
|
if (keystores['release'] != null) {
|
|
if (keystores['release'] != null) {
|
|
|
- signingConfig signingConfigs.release
|
|
|
|
|
|
|
+ productFlavors.store_google.signingConfig signingConfigs.release
|
|
|
|
|
+ productFlavors.store_google_work.signingConfig signingConfigs.release
|
|
|
|
|
+ productFlavors.store_threema.signingConfig signingConfigs.release
|
|
|
|
|
+ productFlavors.red.signingConfig signingConfigs.release
|
|
|
|
|
+ productFlavors.sandbox.signingConfig signingConfigs.release
|
|
|
|
|
+ productFlavors.sandbox_work.signingConfig signingConfigs.release
|
|
|
|
|
+ productFlavors.none.signingConfig signingConfigs.release
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (keystores['hms_release'] != null) {
|
|
|
|
|
+ productFlavors.hms.signingConfig signingConfigs.hms_release
|
|
|
|
|
+ productFlavors.hms_work.signingConfig signingConfigs.hms_release
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -411,19 +496,6 @@ dependencies {
|
|
|
//resolutionStrategy.failOnVersionConflict()
|
|
//resolutionStrategy.failOnVersionConflict()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // Include all JARs in the "libs" directory
|
|
|
|
|
- implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
|
|
|
-
|
|
|
|
|
- // play services
|
|
|
|
|
- implementation 'com.google.android.gms:play-services-base:16.1.0'
|
|
|
|
|
- implementation 'com.google.android.gms:play-services-wearable:16.0.1'
|
|
|
|
|
- // do not upgrade to a higher version of firebase-messaging - as we do not want the Firebase Installations API in our app
|
|
|
|
|
- implementation('com.google.firebase:firebase-messaging:20.1.0') {
|
|
|
|
|
- exclude group: 'com.google.firebase', module: 'firebase-core'
|
|
|
|
|
- exclude group: 'com.google.firebase', module: 'firebase-analytics'
|
|
|
|
|
- exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
implementation 'net.zetetic:android-database-sqlcipher:4.4.2'
|
|
implementation 'net.zetetic:android-database-sqlcipher:4.4.2'
|
|
|
|
|
|
|
|
implementation 'com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0'
|
|
implementation 'com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0'
|
|
@@ -431,10 +503,9 @@ dependencies {
|
|
|
implementation 'net.lingala.zip4j:zip4j:2.7.0'
|
|
implementation 'net.lingala.zip4j:zip4j:2.7.0'
|
|
|
implementation 'com.getkeepsafe.taptargetview:taptargetview:1.13.2'
|
|
implementation 'com.getkeepsafe.taptargetview:taptargetview:1.13.2'
|
|
|
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
|
|
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1'
|
|
|
- // commons-io 2.6 requires android 4.4
|
|
|
|
|
- implementation 'commons-io:commons-io:2.4'
|
|
|
|
|
- implementation 'org.slf4j:slf4j-api:1.7.25'
|
|
|
|
|
- implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.21'
|
|
|
|
|
|
|
+ implementation 'commons-io:commons-io:2.8.0'
|
|
|
|
|
+ implementation 'org.slf4j:slf4j-api:1.7.30'
|
|
|
|
|
+ implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.23'
|
|
|
implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
|
|
implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
|
|
|
implementation 'com.datatheorem.android.trustkit:trustkit:1.1.3'
|
|
implementation 'com.datatheorem.android.trustkit:trustkit:1.1.3'
|
|
|
implementation 'com.takisoft.preferencex:preferencex:1.1.0'
|
|
implementation 'com.takisoft.preferencex:preferencex:1.1.0'
|
|
@@ -451,12 +522,12 @@ dependencies {
|
|
|
implementation 'androidx.biometric:biometric:1.1.0'
|
|
implementation 'androidx.biometric:biometric:1.1.0'
|
|
|
implementation "androidx.work:work-runtime:2.5.0"
|
|
implementation "androidx.work:work-runtime:2.5.0"
|
|
|
implementation 'androidx.fragment:fragment:1.3.3'
|
|
implementation 'androidx.fragment:fragment:1.3.3'
|
|
|
- implementation 'androidx.activity:activity:1.2.2'
|
|
|
|
|
|
|
+ implementation 'androidx.activity:activity:1.2.3'
|
|
|
implementation 'androidx.sqlite:sqlite:2.1.0'
|
|
implementation 'androidx.sqlite:sqlite:2.1.0'
|
|
|
implementation "androidx.concurrent:concurrent-futures:1.1.0"
|
|
implementation "androidx.concurrent:concurrent-futures:1.1.0"
|
|
|
- implementation "androidx.camera:camera-camera2:1.0.0-rc05"
|
|
|
|
|
- implementation "androidx.camera:camera-lifecycle:1.0.0-rc05"
|
|
|
|
|
- implementation "androidx.camera:camera-view:1.0.0-alpha23"
|
|
|
|
|
|
|
+ implementation "androidx.camera:camera-camera2:1.0.0"
|
|
|
|
|
+ implementation "androidx.camera:camera-lifecycle:1.0.0"
|
|
|
|
|
+ implementation "androidx.camera:camera-view:1.0.0-alpha24"
|
|
|
implementation 'androidx.multidex:multidex:2.0.1'
|
|
implementation 'androidx.multidex:multidex:2.0.1'
|
|
|
implementation "androidx.lifecycle:lifecycle-viewmodel:2.3.1"
|
|
implementation "androidx.lifecycle:lifecycle-viewmodel:2.3.1"
|
|
|
implementation "androidx.lifecycle:lifecycle-livedata:2.3.1"
|
|
implementation "androidx.lifecycle:lifecycle-livedata:2.3.1"
|
|
@@ -467,17 +538,17 @@ dependencies {
|
|
|
implementation "androidx.lifecycle:lifecycle-common-java8:2.3.1"
|
|
implementation "androidx.lifecycle:lifecycle-common-java8:2.3.1"
|
|
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
|
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
|
|
- implementation "androidx.paging:paging-runtime:2.1.2"
|
|
|
|
|
|
|
+ implementation "androidx.paging:paging-runtime:3.0.0"
|
|
|
|
|
|
|
|
implementation 'com.google.android.material:material:1.3.0'
|
|
implementation 'com.google.android.material:material:1.3.0'
|
|
|
implementation 'com.google.android.exoplayer:exoplayer-core:2.13.3'
|
|
implementation 'com.google.android.exoplayer:exoplayer-core:2.13.3'
|
|
|
implementation 'com.google.android.exoplayer:exoplayer-ui:2.13.3'
|
|
implementation 'com.google.android.exoplayer:exoplayer-ui:2.13.3'
|
|
|
implementation 'com.google.protobuf:protobuf-javalite:3.9.1'
|
|
implementation 'com.google.protobuf:protobuf-javalite:3.9.1'
|
|
|
implementation 'com.google.zxing:core:3.3.3' // zxing 3.4 crashes on kitkat
|
|
implementation 'com.google.zxing:core:3.3.3' // zxing 3.4 crashes on kitkat
|
|
|
- implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.20'
|
|
|
|
|
|
|
+ implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.22'
|
|
|
|
|
|
|
|
// webclient dependencies
|
|
// webclient dependencies
|
|
|
- implementation 'org.msgpack:msgpack-core:0.8.20'
|
|
|
|
|
|
|
+ implementation 'org.msgpack:msgpack-core:0.8.22!!'
|
|
|
implementation 'com.neovisionaries:nv-websocket-client:2.9'
|
|
implementation 'com.neovisionaries:nv-websocket-client:2.9'
|
|
|
|
|
|
|
|
// Backport of Streams and CompletableFuture. Remove once API level 24 is supported.
|
|
// Backport of Streams and CompletableFuture. Remove once API level 24 is supported.
|
|
@@ -486,21 +557,16 @@ dependencies {
|
|
|
// Google Assistant Voice Action verification library
|
|
// Google Assistant Voice Action verification library
|
|
|
implementation(name:'libgsaverification-client', ext:'aar')
|
|
implementation(name:'libgsaverification-client', ext:'aar')
|
|
|
|
|
|
|
|
- implementation('org.saltyrtc.client:saltyrtc-client:0.14.1') {
|
|
|
|
|
|
|
+ implementation('org.saltyrtc:saltyrtc-client:0.14.2') {
|
|
|
exclude group: 'org.json'
|
|
exclude group: 'org.json'
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- implementation 'org.saltyrtc.chunked-dc:chunked-dc:1.0.0'
|
|
|
|
|
- implementation 'ch.threema.webrtc:webrtc-android:84.2.0'
|
|
|
|
|
- implementation('org.saltyrtc.tasks.webrtc:saltyrtc-task-webrtc:0.18.0') {
|
|
|
|
|
|
|
+ implementation 'org.saltyrtc:chunked-dc:1.0.1'
|
|
|
|
|
+ implementation 'ch.threema:webrtc-android:91.0.1'
|
|
|
|
|
+ implementation('org.saltyrtc:saltyrtc-task-webrtc:0.18.1') {
|
|
|
exclude module: 'saltyrtc-client'
|
|
exclude module: 'saltyrtc-client'
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // Room components
|
|
|
|
|
- implementation 'androidx.room:room-runtime:2.2.6'
|
|
|
|
|
- annotationProcessor 'androidx.room:room-compiler:2.2.6'
|
|
|
|
|
- androidTestImplementation 'androidx.room:room-testing:2.2.6'
|
|
|
|
|
-
|
|
|
|
|
// Glide components
|
|
// Glide components
|
|
|
implementation 'com.github.bumptech.glide:glide:4.11.0'
|
|
implementation 'com.github.bumptech.glide:glide:4.11.0'
|
|
|
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
|
|
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
|
|
@@ -543,6 +609,53 @@ dependencies {
|
|
|
exclude group: 'androidx.annotation', module: 'annotation'
|
|
exclude group: 'androidx.annotation', module: 'annotation'
|
|
|
}
|
|
}
|
|
|
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
|
|
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
|
|
|
|
|
+
|
|
|
|
|
+ // Google Play Services and related libraries
|
|
|
|
|
+ def googleDependencies = [
|
|
|
|
|
+ // Play services
|
|
|
|
|
+ 'com.google.android.gms:play-services-base:16.1.0': [],
|
|
|
|
|
+
|
|
|
|
|
+ // Support for wearables
|
|
|
|
|
+ 'com.google.android.gms:play-services-wearable:17.0.0': [],
|
|
|
|
|
+
|
|
|
|
|
+ // Firebase push
|
|
|
|
|
+ //
|
|
|
|
|
+ // Note: Do not upgrade to a higher version of firebase-messaging,
|
|
|
|
|
+ // as we do not want the Firebase Installations API in our app
|
|
|
|
|
+ 'com.google.firebase:firebase-messaging:20.1.0': [
|
|
|
|
|
+ [group: 'com.google.firebase', module: 'firebase-core'],
|
|
|
|
|
+ [group: 'com.google.firebase', module: 'firebase-analytics'],
|
|
|
|
|
+ [group: 'com.google.firebase', module: 'firebase-measurement-connector'],
|
|
|
|
|
+ ],
|
|
|
|
|
+ ]
|
|
|
|
|
+ googleDependencies.each {
|
|
|
|
|
+ def dependency = it.key
|
|
|
|
|
+ def excludes = it.value
|
|
|
|
|
+ noneImplementation(dependency) { excludes.each { exclude it } }
|
|
|
|
|
+ store_googleImplementation(dependency) { excludes.each { exclude it } }
|
|
|
|
|
+ store_google_workImplementation(dependency) { excludes.each { exclude it } }
|
|
|
|
|
+ store_threemaImplementation(dependency) { excludes.each { exclude it } }
|
|
|
|
|
+ sandboxImplementation(dependency) { excludes.each { exclude it } }
|
|
|
|
|
+ sandbox_workImplementation(dependency) { excludes.each { exclude it } }
|
|
|
|
|
+ redImplementation(dependency) { excludes.each { exclude it } }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // Huawei related libraries (only for hms* build variants)
|
|
|
|
|
+ def huaweiDependencies = [
|
|
|
|
|
+ // HMS push
|
|
|
|
|
+ 'com.huawei.hms:push:5.0.4.302': [
|
|
|
|
|
+ // Exclude agconnect dependency, we'll replace it with the vendored version below
|
|
|
|
|
+ [group: 'com.huawei.agconnect'],
|
|
|
|
|
+ ],
|
|
|
|
|
+ ]
|
|
|
|
|
+ huaweiDependencies.each {
|
|
|
|
|
+ def dependency = it.key
|
|
|
|
|
+ def excludes = it.value
|
|
|
|
|
+ hmsImplementation(dependency) { excludes.each { exclude it } }
|
|
|
|
|
+ hms_workImplementation(dependency) { excludes.each { exclude it } }
|
|
|
|
|
+ }
|
|
|
|
|
+ hmsImplementation(name: 'agconnect-core-1.4.0.300', ext: 'aar')
|
|
|
|
|
+ hms_workImplementation(name: 'agconnect-core-1.4.0.300', ext: 'aar')
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
sonarqube {
|
|
sonarqube {
|