From 12ec46f92eb1edbf1da35d6e0ffc678cef2b7065 Mon Sep 17 00:00:00 2001 From: Paul Lammertsma Date: Mon, 24 Sep 2018 13:56:15 +0200 Subject: [PATCH 1/2] compatibility with Gradle 4.10 and Gradle Plugin 3.3.0 --- build.gradle | 34 ++++++++++--------- gradle/wrapper/gradle-wrapper.properties | 2 +- .../morlunk/jumble/util/JumbleException.java | 5 +++ src/main/jni/Application.mk | 4 +-- 4 files changed, 26 insertions(+), 19 deletions(-) diff --git a/build.gradle b/build.gradle index 91fcd0d..5a4496d 100644 --- a/build.gradle +++ b/build.gradle @@ -17,34 +17,35 @@ buildscript { repositories { + google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.2.3' + classpath 'com.android.tools.build:gradle:3.3.0-alpha11' } } apply plugin: 'com.android.library' repositories { + google() jcenter() } dependencies { - compile 'com.android.support:support-v4:21.+' - compile 'com.google.protobuf:protobuf-java:3.0.0' - compile 'com.madgag.spongycastle:core:1.51.0.0' + implementation 'com.android.support:support-v4:21.+' + implementation 'com.google.protobuf:protobuf-java:3.0.0' + api 'com.madgag.spongycastle:core:1.51.0.0' // Custom PKCS12 keybag parse modifications to support Mumble unencrypted certificates // Source: https://github.com/Morlunk/spongycastle/tree/pkcs12-keybag-fixes - compile files('libs/sc-morlunk-prov-1.51.0.0.jar', 'libs/sc-morlunk-pkix-1.51.0.0.jar') + api files('libs/sc-morlunk-prov-1.51.0.0.jar', 'libs/sc-morlunk-pkix-1.51.0.0.jar') - compile 'com.googlecode.javacpp:javacpp:0.7' - compile 'com.intellij:annotations:+@jar' + implementation 'com.googlecode.javacpp:javacpp:0.7' + implementation 'com.intellij:annotations:+@jar' } android { - compileSdkVersion 21 - buildToolsVersion "21.1.1" + compileSdkVersion 28 sourceSets.main.jniLibs.srcDir 'src/main/libs/' sourceSets.main.jni.srcDirs = [] // Disable NDK build support until it supports multiple modules. @@ -53,18 +54,19 @@ android { testApplicationId "com.morlunk.jumble.test" testInstrumentationRunner "android.test.InstrumentationTestRunner" minSdkVersion 9 - targetSdkVersion 19 + targetSdkVersion 28 -// ndk { -// abiFilters "armeabi", "armeabi-v7a", "x86" -// stl "gnustl_static" -// cFlags "-I\$(LOCAL_PATH)/speex/include/ -I\$(LOCAL_PATH)/celt-0.11.0-src/include/ -I\$(LOCAL_PATH)/celt-0.7.0-src/include/ -I\$(LOCAL_PATH)/opus/include -D__EMX__ -DUSE_KISS_FFT -DFIXED_POINT -DEXPORT='' -DHAVE_CONFIG_H -fvisibility=hidden -DOPUS_BUILD -DVAR_ARRAYS -Wno-traditional -DFIXED_POINT" -// } + ndk { + abiFilters "armeabi-v7a", "x86" + stl "gnustl_static" + cFlags "-I\$(LOCAL_PATH)/speex/include/ -I\$(LOCAL_PATH)/celt-0.11.0-src/include/ -I\$(LOCAL_PATH)/celt-0.7.0-src/include/ -I\$(LOCAL_PATH)/opus/include -D__EMX__ -DUSE_KISS_FFT -DFIXED_POINT -DEXPORT='' -DHAVE_CONFIG_H -fvisibility=hidden -DOPUS_BUILD -DVAR_ARRAYS -Wno-traditional -DFIXED_POINT" + } } // Trigger NDK build on java compilation task. task ndkBuild(type: Exec) { - commandLine 'ndk-build', '-C', file('src/main/jni/').absolutePath + def ndkDir = project.android.ndkDirectory + commandLine "$ndkDir/ndk-build", '-C', file('src/main/jni/').absolutePath } tasks.withType(JavaCompile) { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1e61d1f..a7c872c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-all.zip diff --git a/src/main/java/com/morlunk/jumble/util/JumbleException.java b/src/main/java/com/morlunk/jumble/util/JumbleException.java index 5d0a7d1..f423456 100644 --- a/src/main/java/com/morlunk/jumble/util/JumbleException.java +++ b/src/main/java/com/morlunk/jumble/util/JumbleException.java @@ -87,6 +87,11 @@ public Mumble.Reject getReject() { return mReject; } + public boolean isAuthenticationFailure() { + return getReject().getType() == Mumble.Reject.RejectType.WrongUserPW || + getReject().getType() == Mumble.Reject.RejectType.WrongServerPW; + } + public Mumble.UserRemove getUserRemove() { return mUserRemove; } diff --git a/src/main/jni/Application.mk b/src/main/jni/Application.mk index d7d1872..7511f25 100644 --- a/src/main/jni/Application.mk +++ b/src/main/jni/Application.mk @@ -1,3 +1,3 @@ #APP_OPTIM := debug -APP_ABI := armeabi-v7a armeabi x86 -APP_STL := gnustl_static \ No newline at end of file +APP_ABI := armeabi-v7a x86 +APP_STL := c++_static \ No newline at end of file From 1aa69d941c2bf5585757e26251641db1a6bec779 Mon Sep 17 00:00:00 2001 From: Paul Lammertsma Date: Mon, 24 Sep 2018 14:03:08 +0200 Subject: [PATCH 2/2] added 64-bit compatibility --- build.gradle | 2 +- src/main/jni/Application.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 5a4496d..4c40495 100644 --- a/build.gradle +++ b/build.gradle @@ -57,7 +57,7 @@ android { targetSdkVersion 28 ndk { - abiFilters "armeabi-v7a", "x86" + abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64" stl "gnustl_static" cFlags "-I\$(LOCAL_PATH)/speex/include/ -I\$(LOCAL_PATH)/celt-0.11.0-src/include/ -I\$(LOCAL_PATH)/celt-0.7.0-src/include/ -I\$(LOCAL_PATH)/opus/include -D__EMX__ -DUSE_KISS_FFT -DFIXED_POINT -DEXPORT='' -DHAVE_CONFIG_H -fvisibility=hidden -DOPUS_BUILD -DVAR_ARRAYS -Wno-traditional -DFIXED_POINT" } diff --git a/src/main/jni/Application.mk b/src/main/jni/Application.mk index 7511f25..5f3a2d4 100644 --- a/src/main/jni/Application.mk +++ b/src/main/jni/Application.mk @@ -1,3 +1,3 @@ #APP_OPTIM := debug -APP_ABI := armeabi-v7a x86 +APP_ABI := armeabi-v7a arm64-v8a x86 x86_64 APP_STL := c++_static \ No newline at end of file