mirror of
https://github.com/deltachat/deltachat-android.git
synced 2025-10-03 01:39:18 +02:00
fix building
This commit is contained in:
parent
2ca581495e
commit
fee58e6eac
415 changed files with 122 additions and 108 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -5,7 +5,6 @@ project.properties
|
||||||
.settings
|
.settings
|
||||||
bin/
|
bin/
|
||||||
gen/
|
gen/
|
||||||
gplay/
|
|
||||||
.idea/
|
.idea/
|
||||||
*.iml
|
*.iml
|
||||||
*.so
|
*.so
|
||||||
|
@ -45,3 +44,5 @@ jni/x86_64
|
||||||
jni/armeabi
|
jni/armeabi
|
||||||
jni/armeabi-v7a
|
jni/armeabi-v7a
|
||||||
jni/arm64-v8a
|
jni/arm64-v8a
|
||||||
|
|
||||||
|
*~
|
|
@ -40,8 +40,8 @@
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||||
|
|
||||||
<!-- force compiling emojipicker on sdk<21 and firebase on sdk<19; runtime checks are required then -->
|
<!-- force compiling emojipicker on sdk<21; runtime checks are required then -->
|
||||||
<uses-sdk tools:overrideLibrary="androidx.emoji2.emojipicker, com.google.firebase.messaging, com.google.android.gms.cloudmessaging"/>
|
<uses-sdk tools:overrideLibrary="androidx.emoji2.emojipicker"/>
|
||||||
|
|
||||||
<application android:name=".ApplicationContext"
|
<application android:name=".ApplicationContext"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
|
@ -57,10 +57,6 @@
|
||||||
android:hasFragileUserData="true"
|
android:hasFragileUserData="true"
|
||||||
>
|
>
|
||||||
|
|
||||||
<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />
|
|
||||||
<meta-data android:name="google_analytics_adid_collection_enabled" android:value="false" />
|
|
||||||
<meta-data android:name="firebase_messaging_auto_init_enabled" android:value="false" />
|
|
||||||
|
|
||||||
<!-- android car support, see https://developer.android.com/training/auto/start/,
|
<!-- android car support, see https://developer.android.com/training/auto/start/,
|
||||||
as this potentially blocks releases on gplay due to extra-checks,
|
as this potentially blocks releases on gplay due to extra-checks,
|
||||||
we disable this during the first gplay releases -->
|
we disable this during the first gplay releases -->
|
||||||
|
@ -381,12 +377,6 @@
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</service>
|
</service>
|
||||||
|
|
||||||
<service android:name=".notifications.FcmReceiveService" android:exported="true">
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="com.google.firebase.MESSAGING_EVENT" />
|
|
||||||
</intent-filter>
|
|
||||||
</service>
|
|
||||||
|
|
||||||
<receiver android:name=".notifications.MarkReadReceiver"
|
<receiver android:name=".notifications.MarkReadReceiver"
|
||||||
android:enabled="true"
|
android:enabled="true"
|
||||||
android:exported="false">
|
android:exported="false">
|
||||||
|
@ -441,12 +431,6 @@
|
||||||
|
|
||||||
</provider>
|
</provider>
|
||||||
|
|
||||||
<provider
|
|
||||||
android:name="com.google.firebase.provider.FirebaseInitProvider"
|
|
||||||
android:authorities="${applicationId}.firebaseinitprovider"
|
|
||||||
tools:node="remove">
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<receiver android:name=".service.BootReceiver"
|
<receiver android:name=".service.BootReceiver"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
|
168
build.gradle
168
build.gradle
|
@ -14,86 +14,6 @@ repositories {
|
||||||
jcenter()
|
jcenter()
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation 'androidx.sharetarget:sharetarget:1.2.0'
|
|
||||||
implementation 'androidx.webkit:webkit:1.8.0'
|
|
||||||
implementation 'androidx.multidex:multidex:2.0.1'
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.6.1'
|
|
||||||
implementation 'com.google.android.material:material:1.10.0'
|
|
||||||
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
|
|
||||||
implementation ('androidx.preference:preference:1.2.1') {
|
|
||||||
exclude group: 'androidx.lifecycle', module:'lifecycle-viewmodel'
|
|
||||||
exclude group: 'androidx.lifecycle', module:'lifecycle-viewmodel-ktx'
|
|
||||||
}
|
|
||||||
implementation 'androidx.legacy:legacy-preference-v14:1.0.0'
|
|
||||||
implementation 'androidx.exifinterface:exifinterface:1.3.6'
|
|
||||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
|
||||||
implementation 'androidx.lifecycle:lifecycle-common-java8:2.6.2'
|
|
||||||
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.6.2'
|
|
||||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2'
|
|
||||||
implementation 'androidx.work:work-runtime:2.8.1'
|
|
||||||
implementation 'androidx.emoji2:emoji2-emojipicker:1.4.0'
|
|
||||||
implementation 'com.google.guava:guava:29.0-android'
|
|
||||||
implementation 'com.google.android.exoplayer:exoplayer-core:2.9.6' // plays video and audio
|
|
||||||
implementation 'com.google.android.exoplayer:exoplayer-ui:2.9.6'
|
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
|
||||||
implementation 'com.journeyapps:zxing-android-embedded:3.4.0' // QR Code scanner
|
|
||||||
implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.1' // used as JSON library
|
|
||||||
implementation 'com.google.code.gson:gson:2.9.1' // used as JSON library. Don't upgrade to 2.10.1: https://github.com/deltachat/deltachat-android/pull/2610
|
|
||||||
implementation "me.leolin:ShortcutBadger:1.1.16" // display messagecount on the home screen icon.
|
|
||||||
implementation 'com.jpardogo.materialtabstrip:library:1.0.9' // used in the emoji selector for the tab selection.
|
|
||||||
implementation 'com.github.chrisbanes:PhotoView:2.1.3' // does the zooming on photos / media
|
|
||||||
implementation 'com.github.penfeizhou.android.animation:glide-plugin:2.25.0' // APNG & animated webp support.
|
|
||||||
implementation 'com.caverock:androidsvg-aar:1.4' // SVG support.
|
|
||||||
implementation 'com.github.bumptech.glide:glide:4.12.0'
|
|
||||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
|
|
||||||
annotationProcessor 'androidx.annotation:annotation:1.7.0'
|
|
||||||
implementation 'com.makeramen:roundedimageview:2.1.0' // crops the avatars to circles
|
|
||||||
implementation 'com.pnikosis:materialish-progress:1.5' // used only in the "Progress Wheel" in Share Activity.
|
|
||||||
implementation 'com.soundcloud.android:android-crop:1.0.1@aar' // used for profile and group avatar selection in Android SDK<19
|
|
||||||
implementation 'com.nineoldandroids:library:2.4.0' // DEPRECATED! Used to slide in the half-camera.
|
|
||||||
implementation 'mobi.upod:time-duration-picker:1.1.3' // Used to pick the time for inactivity.
|
|
||||||
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' // number of unread messages,
|
|
||||||
// the one-letter circle for the contacts (when there is not avatar) and a white background.
|
|
||||||
implementation 'com.googlecode.mp4parser:isoparser:1.0.6' // MP4 recoding; upgrading eg. to 1.1.22 breaks recoding, however, i have not investigated further, just reset to 1.0.6
|
|
||||||
implementation ('com.davemorrissey.labs:subsampling-scale-image-view:3.6.0') { // for the zooming on photos / media
|
|
||||||
exclude group: 'com.android.support', module: 'support-annotations'
|
|
||||||
}
|
|
||||||
implementation 'com.annimon:stream:1.1.8' // brings future java streams api to SDK Version < 24
|
|
||||||
implementation 'com.codewaves.stickyheadergrid:stickyheadergrid:0.9.4' // glues the current time segment text in the gallery to the top.
|
|
||||||
|
|
||||||
// Replacement for ContentResolver
|
|
||||||
// that protects against the Surreptitious Sharing attack.
|
|
||||||
// <https://github.com/cketti/SafeContentResolver>
|
|
||||||
implementation 'de.cketti.safecontentresolver:safe-content-resolver-v14:1.0.0'
|
|
||||||
|
|
||||||
gplayImplementation ('com.google.firebase:firebase-messaging:23.4.1') { // for PUSH notifications
|
|
||||||
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'
|
|
||||||
}
|
|
||||||
|
|
||||||
testImplementation 'junit:junit:4.13.1'
|
|
||||||
testImplementation 'org.assertj:assertj-core:1.7.1'
|
|
||||||
testImplementation 'org.mockito:mockito-core:1.9.5'
|
|
||||||
testImplementation 'org.powermock:powermock-api-mockito:1.6.1'
|
|
||||||
testImplementation 'org.powermock:powermock-module-junit4:1.6.1'
|
|
||||||
testImplementation 'org.powermock:powermock-module-junit4-rule:1.6.1'
|
|
||||||
testImplementation 'org.powermock:powermock-classloading-xstream:1.6.1'
|
|
||||||
|
|
||||||
androidTestImplementation 'androidx.test:runner:1.4.0'
|
|
||||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
|
||||||
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.4.0'
|
|
||||||
androidTestImplementation 'androidx.test:rules:1.4.0'
|
|
||||||
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
|
||||||
androidTestImplementation 'com.android.support:support-annotations:28.0.0'
|
|
||||||
|
|
||||||
androidTestImplementation ('org.assertj:assertj-core:1.7.1') {
|
|
||||||
exclude group: 'org.hamcrest', module: 'hamcrest-core'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace "org.thoughtcrime.securesms"
|
namespace "org.thoughtcrime.securesms"
|
||||||
flavorDimensions "none"
|
flavorDimensions "none"
|
||||||
|
@ -124,7 +44,6 @@ android {
|
||||||
project.ext.set("archivesBaseName", "deltachat");
|
project.ext.set("archivesBaseName", "deltachat");
|
||||||
|
|
||||||
buildConfigField "boolean", "DEV_BUILD", "false"
|
buildConfigField "boolean", "DEV_BUILD", "false"
|
||||||
buildConfigField "boolean", "USE_PLAY_SERVICES", "false"
|
|
||||||
|
|
||||||
ndk {
|
ndk {
|
||||||
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
||||||
|
@ -197,7 +116,6 @@ android {
|
||||||
dimension "none"
|
dimension "none"
|
||||||
applicationId "chat.delta"
|
applicationId "chat.delta"
|
||||||
apply plugin: "com.google.gms.google-services"
|
apply plugin: "com.google.gms.google-services"
|
||||||
buildConfigField "boolean", "USE_PLAY_SERVICES", "true"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,17 +130,10 @@ android {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
main {
|
main {
|
||||||
manifest.srcFile 'AndroidManifest.xml'
|
manifest.srcFile 'AndroidManifest.xml'
|
||||||
java.srcDirs = ['src']
|
|
||||||
resources.srcDirs = ['src']
|
|
||||||
aidl.srcDirs = ['src']
|
|
||||||
renderscript.srcDirs = ['src']
|
|
||||||
res.srcDirs = ['res']
|
res.srcDirs = ['res']
|
||||||
assets.srcDirs = ['assets']
|
assets.srcDirs = ['assets']
|
||||||
jniLibs.srcDirs = ['libs']
|
jniLibs.srcDirs = ['libs']
|
||||||
}
|
}
|
||||||
androidTest {
|
|
||||||
java.srcDirs = ['androidTest']
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
lint {
|
lint {
|
||||||
abortOnError false
|
abortOnError false
|
||||||
|
@ -234,6 +145,85 @@ android {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation 'androidx.sharetarget:sharetarget:1.2.0'
|
||||||
|
implementation 'androidx.webkit:webkit:1.8.0'
|
||||||
|
implementation 'androidx.multidex:multidex:2.0.1'
|
||||||
|
implementation 'androidx.appcompat:appcompat:1.6.1'
|
||||||
|
implementation 'com.google.android.material:material:1.10.0'
|
||||||
|
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
|
||||||
|
implementation ('androidx.preference:preference:1.2.1') {
|
||||||
|
exclude group: 'androidx.lifecycle', module:'lifecycle-viewmodel'
|
||||||
|
exclude group: 'androidx.lifecycle', module:'lifecycle-viewmodel-ktx'
|
||||||
|
}
|
||||||
|
implementation 'androidx.legacy:legacy-preference-v14:1.0.0'
|
||||||
|
implementation 'androidx.exifinterface:exifinterface:1.3.6'
|
||||||
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||||
|
implementation 'androidx.lifecycle:lifecycle-common-java8:2.6.2'
|
||||||
|
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.6.2'
|
||||||
|
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2'
|
||||||
|
implementation 'androidx.work:work-runtime:2.8.1'
|
||||||
|
implementation 'androidx.emoji2:emoji2-emojipicker:1.4.0'
|
||||||
|
implementation 'com.google.guava:guava:29.0-android'
|
||||||
|
implementation 'com.google.android.exoplayer:exoplayer-core:2.9.6' // plays video and audio
|
||||||
|
implementation 'com.google.android.exoplayer:exoplayer-ui:2.9.6'
|
||||||
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||||
|
implementation 'com.journeyapps:zxing-android-embedded:3.4.0' // QR Code scanner
|
||||||
|
implementation 'com.fasterxml.jackson.core:jackson-databind:2.11.1' // used as JSON library
|
||||||
|
implementation 'com.google.code.gson:gson:2.9.1' // used as JSON library. Don't upgrade to 2.10.1: https://github.com/deltachat/deltachat-android/pull/2610
|
||||||
|
implementation "me.leolin:ShortcutBadger:1.1.16" // display messagecount on the home screen icon.
|
||||||
|
implementation 'com.jpardogo.materialtabstrip:library:1.0.9' // used in the emoji selector for the tab selection.
|
||||||
|
implementation 'com.github.chrisbanes:PhotoView:2.1.3' // does the zooming on photos / media
|
||||||
|
implementation 'com.github.penfeizhou.android.animation:glide-plugin:2.25.0' // APNG & animated webp support.
|
||||||
|
implementation 'com.caverock:androidsvg-aar:1.4' // SVG support.
|
||||||
|
implementation 'com.github.bumptech.glide:glide:4.12.0'
|
||||||
|
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
|
||||||
|
annotationProcessor 'androidx.annotation:annotation:1.7.0'
|
||||||
|
implementation 'com.makeramen:roundedimageview:2.1.0' // crops the avatars to circles
|
||||||
|
implementation 'com.pnikosis:materialish-progress:1.5' // used only in the "Progress Wheel" in Share Activity.
|
||||||
|
implementation 'com.soundcloud.android:android-crop:1.0.1@aar' // used for profile and group avatar selection in Android SDK<19
|
||||||
|
implementation 'com.nineoldandroids:library:2.4.0' // DEPRECATED! Used to slide in the half-camera.
|
||||||
|
implementation 'mobi.upod:time-duration-picker:1.1.3' // Used to pick the time for inactivity.
|
||||||
|
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' // number of unread messages,
|
||||||
|
// the one-letter circle for the contacts (when there is not avatar) and a white background.
|
||||||
|
implementation 'com.googlecode.mp4parser:isoparser:1.0.6' // MP4 recoding; upgrading eg. to 1.1.22 breaks recoding, however, i have not investigated further, just reset to 1.0.6
|
||||||
|
implementation ('com.davemorrissey.labs:subsampling-scale-image-view:3.6.0') { // for the zooming on photos / media
|
||||||
|
exclude group: 'com.android.support', module: 'support-annotations'
|
||||||
|
}
|
||||||
|
implementation 'com.annimon:stream:1.1.8' // brings future java streams api to SDK Version < 24
|
||||||
|
implementation 'com.codewaves.stickyheadergrid:stickyheadergrid:0.9.4' // glues the current time segment text in the gallery to the top.
|
||||||
|
|
||||||
|
// Replacement for ContentResolver
|
||||||
|
// that protects against the Surreptitious Sharing attack.
|
||||||
|
// <https://github.com/cketti/SafeContentResolver>
|
||||||
|
implementation 'de.cketti.safecontentresolver:safe-content-resolver-v14:1.0.0'
|
||||||
|
|
||||||
|
gplayImplementation('com.google.firebase:firebase-messaging:23.4.1') { // for PUSH notifications
|
||||||
|
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'
|
||||||
|
}
|
||||||
|
|
||||||
|
testImplementation 'junit:junit:4.13.1'
|
||||||
|
testImplementation 'org.assertj:assertj-core:1.7.1'
|
||||||
|
testImplementation 'org.mockito:mockito-core:1.9.5'
|
||||||
|
testImplementation 'org.powermock:powermock-api-mockito:1.6.1'
|
||||||
|
testImplementation 'org.powermock:powermock-module-junit4:1.6.1'
|
||||||
|
testImplementation 'org.powermock:powermock-module-junit4-rule:1.6.1'
|
||||||
|
testImplementation 'org.powermock:powermock-classloading-xstream:1.6.1'
|
||||||
|
|
||||||
|
androidTestImplementation 'androidx.test:runner:1.4.0'
|
||||||
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
||||||
|
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.4.0'
|
||||||
|
androidTestImplementation 'androidx.test:rules:1.4.0'
|
||||||
|
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
||||||
|
androidTestImplementation 'com.android.support:support-annotations:28.0.0'
|
||||||
|
|
||||||
|
androidTestImplementation ('org.assertj:assertj-core:1.7.1') {
|
||||||
|
exclude group: 'org.hamcrest', module: 'hamcrest-core'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
String buildConfigProperty(String name) {
|
String buildConfigProperty(String name) {
|
||||||
return "\"${propertyOrEmpty(name)}\""
|
return "\"${propertyOrEmpty(name)}\""
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
package org.thoughtcrime.securesms.notifications;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
|
public class FcmReceiveService {
|
||||||
|
public static void register(Context context) {}
|
||||||
|
public static void waitForRegisterFinished() {}
|
||||||
|
public static void deleteToken() {}
|
||||||
|
@Nullable public static String getToken() { return null; }
|
||||||
|
}
|
28
src/gplay/AndroidManifest.xml
Normal file
28
src/gplay/AndroidManifest.xml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
|
<!-- force compiling emojipicker on sdk<21 and firebase on sdk<19; runtime checks are required then -->
|
||||||
|
<uses-sdk tools:overrideLibrary="androidx.emoji2.emojipicker, com.google.firebase.messaging, com.google.android.gms.cloudmessaging"/>
|
||||||
|
|
||||||
|
<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />
|
||||||
|
<meta-data android:name="google_analytics_adid_collection_enabled" android:value="false" />
|
||||||
|
<meta-data android:name="firebase_messaging_auto_init_enabled" android:value="false" />
|
||||||
|
|
||||||
|
<application>
|
||||||
|
<service
|
||||||
|
android:name=".notifications.FcmReceiveService"
|
||||||
|
android:exported="true">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="com.google.firebase.MESSAGING_EVENT" />
|
||||||
|
</intent-filter>
|
||||||
|
</service>
|
||||||
|
|
||||||
|
<provider
|
||||||
|
android:name="com.google.firebase.provider.FirebaseInitProvider"
|
||||||
|
android:authorities="${applicationId}.firebaseinitprovider"
|
||||||
|
tools:node="remove">
|
||||||
|
</provider>
|
||||||
|
</application>
|
||||||
|
|
||||||
|
</manifest>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue