From 3a31d8c7297bd0d7a559f5aad5a363ee6a4fa768 Mon Sep 17 00:00:00 2001 From: sk13 <sk13@5a230232-f31e-4839-b85c-661838634aa0> Date: Tue, 12 Jun 2018 06:10:29 +0000 Subject: [PATCH] Update to latest ANDROID-Studio --- ANONdroidVPN.iml | 2 +- app/app.iml | 152 ++++----- app/build.gradle | 58 ++-- app/src/main/AndroidManifest.xml | 2 +- .../AndroidPersistenceFactory.java | 4 +- .../android/ui/main/MainActivity.java | 3 +- app/src/main/res/values-de/strings.xml | 318 ++++++++++++++++++ app/src/main/res/values-en/strings.xml | 3 +- app/src/main/res/values/strings.xml | 12 +- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 +- 11 files changed, 421 insertions(+), 139 deletions(-) create mode 100644 app/src/main/res/values-de/strings.xml diff --git a/ANONdroidVPN.iml b/ANONdroidVPN.iml index ddf5581..b382e6e 100644 --- a/ANONdroidVPN.iml +++ b/ANONdroidVPN.iml @@ -13,7 +13,7 @@ <content url="file://$MODULE_DIR$"> <excludeFolder url="file://$MODULE_DIR$/.gradle" /> </content> - <orderEntry type="inheritedJdk" /> + <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" /> <orderEntry type="sourceFolder" forTests="false" /> </component> </module> \ No newline at end of file diff --git a/app/app.iml b/app/app.iml index cd33fd1..d6291c4 100644 --- a/app/app.iml +++ b/app/app.iml @@ -8,11 +8,11 @@ </facet> <facet type="android" name="Android"> <configuration> - <option name="SELECTED_BUILD_VARIANT" value="debug" /> - <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" /> - <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" /> + <option name="SELECTED_BUILD_VARIANT" value="release" /> + <option name="ASSEMBLE_TASK_NAME" value="assembleRelease" /> + <option name="COMPILE_JAVA_TASK_NAME" value="compileReleaseSources" /> <afterSyncTasks> - <task>generateDebugSources</task> + <task>generateReleaseSources</task> </afterSyncTasks> <option name="ALLOW_USER_CONFIGURATION" value="false" /> <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" /> @@ -23,55 +23,40 @@ </facet> <facet type="native-android-gradle" name="Native-Android-Gradle"> <configuration> - <option name="SELECTED_BUILD_VARIANT" value="debug" /> + <option name="SELECTED_BUILD_VARIANT" value="release" /> </configuration> </facet> </component> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7"> - <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" /> - <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" /> + <output url="file://$MODULE_DIR$/build/intermediates/classes/release" /> + <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/release" /> <exclude-output /> <content url="file://$MODULE_DIR$"> <sourceFolder url="file://$MODULE_DIR$/src/main/cpp" isTestSource="false" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" /> - <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" /> - <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" /> - <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" /> - <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" /> - <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" /> - <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" /> - <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" /> - <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" /> - <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" /> - <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" /> - <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" /> - <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" /> - <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" /> - <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" /> - <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/jni" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" /> - <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/release" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/release" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/release" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/release" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/release" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/release" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/release" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/release" isTestSource="true" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/release/res" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/release/resources" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/release/assets" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/release/aidl" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/release/java" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/release/jni" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/release/rs" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/release/shaders" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/testRelease/res" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/testRelease/resources" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/testRelease/assets" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/testRelease/aidl" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/testRelease/java" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/testRelease/jni" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/testRelease/rs" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/testRelease/shaders" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" /> @@ -112,53 +97,44 @@ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/splits-support" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" /> - <excludeFolder url="file://$MODULE_DIR$/build/intermediates/tmp" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" /> <excludeFolder url="file://$MODULE_DIR$/build/outputs" /> <excludeFolder url="file://$MODULE_DIR$/build/reports" /> <excludeFolder url="file://$MODULE_DIR$/build/tmp" /> </content> - <orderEntry type="jdk" jdkName="Android API 26 Platform (1)" jdkType="Android SDK" /> + <orderEntry type="jdk" jdkName="Android API 27 Platform" jdkType="Android SDK" /> <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="library" scope="TEST" name="com.android.support.test:exposed-instrumentation-api-publish-0.5" level="project" /> - <orderEntry type="library" name="com.android.support:support-media-compat-26.1.0" level="project" /> - <orderEntry type="library" name="com.android.support:recyclerview-v7-26.1.0" level="project" /> - <orderEntry type="library" name="anon:HTTPClient:00.04.013-SNAPSHOT@jar" level="project" /> - <orderEntry type="library" scope="TEST" name="junit:junit:4.12@jar" level="project" /> - <orderEntry type="library" name="android.arch.lifecycle:common:1.0.0@jar" level="project" /> - <orderEntry type="library" name="com.android.support:support-fragment-26.1.0" level="project" /> - <orderEntry type="library" name="anon:logging:0.1.9-SNAPSHOT@jar" level="project" /> - <orderEntry type="library" scope="TEST" name="javax.inject:javax.inject:1@jar" level="project" /> - <orderEntry type="library" scope="TEST" name="com.squareup:javawriter:2.1.1@jar" level="project" /> - <orderEntry type="library" name="com.android.support:support-vector-drawable-26.1.0" level="project" /> - <orderEntry type="library" name="com.google.code.gson:gson:2.8.1@jar" level="project" /> - <orderEntry type="library" name="android.arch.lifecycle:runtime-1.0.0" level="project" /> - <orderEntry type="library" name="com.android.support:appcompat-v7-26.1.0" level="project" /> - <orderEntry type="library" name="com.android.support:support-annotations:26.1.0@jar" level="project" /> - <orderEntry type="library" name="anon:ANONVPNlib:00.01.071-SNAPSHOT:android@jar" level="project" /> - <orderEntry type="library" name="com.android.support:support-core-utils-26.1.0" level="project" /> - <orderEntry type="library" name="com.android.support:support-core-ui-26.1.0" level="project" /> - <orderEntry type="library" name="anon:log4jForANON:0.0.4-SNAPSHOT@jar" level="project" /> - <orderEntry type="library" scope="TEST" name="com.google.code.findbugs:jsr305:2.0.1@jar" level="project" /> - <orderEntry type="library" scope="TEST" name="org.hamcrest:hamcrest-core:1.3@jar" level="project" /> - <orderEntry type="library" name="com.android.support:support-compat-26.1.0" level="project" /> - <orderEntry type="library" scope="TEST" name="com.android.support.test.espresso:espresso-core-2.2.2" level="project" /> - <orderEntry type="library" scope="TEST" name="com.android.support.test:rules-0.5" level="project" /> - <orderEntry type="library" name="android.arch.core:common:1.0.0@jar" level="project" /> - <orderEntry type="library" scope="TEST" name="org.hamcrest:hamcrest-library:1.3@jar" level="project" /> - <orderEntry type="library" scope="TEST" name="org.hamcrest:hamcrest-integration:1.3@jar" level="project" /> - <orderEntry type="library" scope="TEST" name="com.android.support.test:runner-0.5" level="project" /> - <orderEntry type="library" name="anon:SkypeForANON:0.0.9-SNAPSHOT:android@jar" level="project" /> - <orderEntry type="library" name="com.android.support:support-v4-26.1.0" level="project" /> - <orderEntry type="library" name="anon:ApacheFTPClient:0.0.2-SNAPSHOT@jar" level="project" /> - <orderEntry type="library" name="com.android.support:animated-vector-drawable-26.1.0" level="project" /> - <orderEntry type="library" scope="TEST" name="com.android.support.test.espresso:espresso-idling-resource-2.2.2" level="project" /> - <orderEntry type="library" scope="TEST" name="javax.annotation:javax.annotation-api:1.2@jar" level="project" /> - <orderEntry type="library" name="anon:anonlib:00.20.043-SNAPSHOT:android@jar" level="project" /> - <orderEntry type="library" name="com.android.support:design-26.1.0" level="project" /> - <orderEntry type="library" name="com.android.support:transition-26.1.0" level="project" /> - <orderEntry type="library" name="anon:BouncyCastleLightForAN.ON:01.56.002-SNAPSHOT:android@jar" level="project" /> - <orderEntry type="library" name="org.osmdroid:osmdroid-android-5.6.5" level="project" /> - <orderEntry type="library" name="com.android.support:cardview-v7-26.1.0" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:transition-27.1.1" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:support-v4-27.1.1" level="project" /> + <orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.1@jar" level="project" /> + <orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.1.0@jar" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:support-annotations:27.1.1@jar" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:cardview-v7-27.1.1" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-27.1.1" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:support-compat-27.1.1" level="project" /> + <orderEntry type="library" name="Gradle: android.arch.lifecycle:viewmodel-1.1.0" level="project" /> + <orderEntry type="library" name="Gradle: anon:BouncyCastleLightForAN.ON:01.56.002-SNAPSHOT:android@jar" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:recyclerview-v7-27.1.1" level="project" /> + <orderEntry type="library" name="Gradle: org.osmdroid:osmdroid-android-6.0.1" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable-27.1.1" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:support-media-compat-27.1.1" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:support-core-ui-27.1.1" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:support-core-utils-27.1.1" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:support-fragment-27.1.1" level="project" /> + <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12@jar" level="project" /> + <orderEntry type="library" name="Gradle: android.arch.core:runtime-1.1.0" level="project" /> + <orderEntry type="library" name="Gradle: anon:HTTPClient:00.04.013-SNAPSHOT@jar" level="project" /> + <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3@jar" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:design-27.1.1" level="project" /> + <orderEntry type="library" name="Gradle: anon:ApacheFTPClient:0.0.2-SNAPSHOT@jar" level="project" /> + <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7-27.1.1" level="project" /> + <orderEntry type="library" name="Gradle: anon:anonlib:00.20.044-SNAPSHOT:android@jar" level="project" /> + <orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata-core-1.1.0" level="project" /> + <orderEntry type="library" name="Gradle: anon:ANONVPNlib:00.01.074-SNAPSHOT:android@jar" level="project" /> + <orderEntry type="library" name="Gradle: anon:SkypeForANON:0.0.9-SNAPSHOT:android@jar" level="project" /> + <orderEntry type="library" name="Gradle: android.arch.core:common:1.1.0@jar" level="project" /> + <orderEntry type="library" name="Gradle: anon:logging:0.1.9-SNAPSHOT@jar" level="project" /> + <orderEntry type="library" name="Gradle: anon:log4jForANON:0.0.4-SNAPSHOT@jar" level="project" /> + <orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime-1.1.0" level="project" /> </component> </module> \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 022c426..763961b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -18,15 +18,15 @@ android { keyPassword RELEASE_KEY_PASSWORD } } - compileSdkVersion 26 - buildToolsVersion '27.0.3' + compileSdkVersion 27 + buildToolsVersion '28.0.0' defaultConfig { // multiDexEnabled true applicationId 'anonvpn.anon_next.android' minSdkVersion 14 targetSdkVersion 20 - versionCode 9 - versionName "00.00.009" + versionCode 12 + versionName '00.00.012' testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } @@ -57,54 +57,48 @@ android { } dependencies { - androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) - compile 'com.android.support:appcompat-v7:26.1.0' - compile 'com.android.support:design:26.1.0' - compile 'com.android.support:cardview-v7:26.1.0' - compile 'com.android.support:recyclerview-v7:26.1.0' - compile 'com.android.support:support-v4:26.1.0' - compile 'com.android.support:support-vector-drawable:26.1.0' - testCompile 'junit:junit:4.12' - compile 'org.osmdroid:osmdroid-android:5.6.5' - - def anonvpnlib_version="00.01.073" - def anonlib_version="00.20.043" - - debugCompile("anon:ANONVPNlib:${anonvpnlib_version}-SNAPSHOT:android") { + implementation 'com.android.support:appcompat-v7:27.1.1' + implementation 'com.android.support:design:27.1.1' + implementation 'com.android.support:cardview-v7:27.1.1' + implementation 'com.android.support:recyclerview-v7:27.1.1' + implementation 'com.android.support:support-v4:27.1.1' + implementation 'com.android.support:support-vector-drawable:27.1.1' + testImplementation 'junit:junit:4.12' + implementation 'org.osmdroid:osmdroid-android:6.0.1' + def anonvpnlib_version = "00.01.074" + def anonlib_version = "00.20.044" + debugImplementation("anon:ANONVPNlib:${anonvpnlib_version}-SNAPSHOT:android") { changing = true exclude group: 'anon', module: 'anonlib' } - - - releaseCompile("anon:ANONVPNlib:${anonvpnlib_version}-SNAPSHOT:android") { + releaseImplementation("anon:ANONVPNlib:${anonvpnlib_version}-SNAPSHOT:android") { changing = true exclude group: 'anon', module: 'anonlib' } - - debugCompile("anon:anonlib:${anonlib_version}-SNAPSHOT:android") { + debugImplementation("anon:anonlib:${anonlib_version}-SNAPSHOT:android") { changing = true exclude group: 'anon', module: 'BouncyCastleLightForAN.ON' exclude group: 'anon', module: 'SkypeForANON' } - releaseCompile("anon:anonlib:${anonlib_version}-SNAPSHOT:android") { + releaseImplementation("anon:anonlib:${anonlib_version}-SNAPSHOT:android") { changing = true exclude group: 'anon', module: 'BouncyCastleLightForAN.ON' exclude group: 'anon', module: 'SkypeForANON' } - testCompile("anon:anonlib:${anonlib_version}-SNAPSHOT:android") { + testImplementation("anon:anonlib:${anonlib_version}-SNAPSHOT:android") { changing = true exclude group: 'anon', module: 'BouncyCastleLightForAN.ON' exclude group: 'anon', module: 'SkypeForANON' } - debugCompile 'anon:BouncyCastleLightForAN.ON:01.56.002-SNAPSHOT:android' - debugCompile 'anon:SkypeForANON:0.0.9-SNAPSHOT:android' - releaseCompile 'anon:BouncyCastleLightForAN.ON:01.56.002-SNAPSHOT:android' - releaseCompile 'anon:SkypeForANON:0.0.9-SNAPSHOT:android' - compile 'com.google.code.gson:gson:2.8.1' - - tasks.withType(org.gradle.api.tasks.compile.JavaCompile){ + debugImplementation 'anon:BouncyCastleLightForAN.ON:01.56.002-SNAPSHOT:android' + debugImplementation 'anon:SkypeForANON:0.0.9-SNAPSHOT:android' + releaseImplementation 'anon:BouncyCastleLightForAN.ON:01.56.002-SNAPSHOT:android' + releaseImplementation 'anon:SkypeForANON:0.0.9-SNAPSHOT:android' + implementation 'com.google.code.gson:gson:2.8.1' + tasks.withType(org.gradle.api.tasks.compile.JavaCompile) { options.compilerArgs << "-Xlint:unchecked" } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7910f02..58d0ad6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -31,7 +31,7 @@ android:name="android.permission.ACCESS_FINE_LOCATION" tools:node="remove"/> <uses-permission android:name="android.permission.INTERNET" /> - <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> +<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> --> <application android:allowBackup="true" diff --git a/app/src/main/java/anonvpn/anon_next/android/service/persistence/AndroidPersistenceFactory.java b/app/src/main/java/anonvpn/anon_next/android/service/persistence/AndroidPersistenceFactory.java index 8337ee5..f66e6e8 100644 --- a/app/src/main/java/anonvpn/anon_next/android/service/persistence/AndroidPersistenceFactory.java +++ b/app/src/main/java/anonvpn/anon_next/android/service/persistence/AndroidPersistenceFactory.java @@ -26,10 +26,12 @@ public class AndroidPersistenceFactory implements IPersistenceFactory { mConfig.setString("PrimaryInfoService.Host", "141.76.46.165"); mConfig.setInt("PrimaryInfoService.Port", 6543); + // mConfig.setString("PrimaryInfoService.Host", "141.76.46.139"); + // mConfig.setInt("PrimaryInfoService.Port", 80); } else { - mConfig.setString("PrimaryInfoService.Host", "141.76.45.139"); + mConfig.setString("PrimaryInfoService.Host", "141.76.46.139"); mConfig.setInt("PrimaryInfoService.Port", 80); } } diff --git a/app/src/main/java/anonvpn/anon_next/android/ui/main/MainActivity.java b/app/src/main/java/anonvpn/anon_next/android/ui/main/MainActivity.java index 896c10c..2f38fb0 100644 --- a/app/src/main/java/anonvpn/anon_next/android/ui/main/MainActivity.java +++ b/app/src/main/java/anonvpn/anon_next/android/ui/main/MainActivity.java @@ -20,6 +20,8 @@ import android.view.Menu; import android.view.MenuItem; import org.osmdroid.config.Configuration; +import org.osmdroid.config.IConfigurationProvider; +import org.osmdroid.tileprovider.util.StorageUtils; import anon.AnonLib; import anon.infoservice.MixCascade; @@ -59,7 +61,6 @@ public class MainActivity extends VPNConnectedActivity implements NavigationView protected void onStart() { super.onStart(); - startVPNService(); } diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml new file mode 100644 index 0000000..c326809 --- /dev/null +++ b/app/src/main/res/values-de/strings.xml @@ -0,0 +1,318 @@ +<resources> + + + <string name="accesscontrolcredential">Shared Secret:</string> + + + <!-- General --> + <string name="service_description">ANONguard VPN Service</string> + <string name="text_placeholder">Placeholder</string> + <string name="twonumber_placeholder">100kbit\n10kbit</string> + <string name="main_toast_back">Drücke erneut Zurück, um App zu verlassen</string> + + <!-- Navigation Drawer --> + <string name="navigation_drawer_open">Open navigation drawer</string> + <string name="navigation_drawer_close">Close navigation drawer</string> + <string name="navigation_drawer_anonymity">Übersicht</string> + <string name="navigation_drawer_connection">Anonymisierungsdienste</string> + <string name="navigation_drawer_options">Optionen</string> + + <!-- Action Bar --> + <string name="action_help">Hilfe</string> + <string name="action_info">Über ANONguard</string> + <string name="action_exit">ANONguard beenden</string> + + <!-- SP = Shared Preferences = Persistener Datenspeicher der App --> + <string name="sp_global">ANONmobilePreferences</string> + <string name="sp_appchecked">isChecked</string> + <string name="sp_netchecked">isCheckedNet</string> + <string name="sp_connectchecked">isChosen</string> + <string name="sp_tutorialactive">tutorial_set</string> + + <!-- Notification --> + <string name="noti_label_noloc">Kein Standort</string> + <string name="noti_label_locunknow">Standort: Unbekannt</string> + <string name="noti_label_loc">Standort: </string> + <string name="noti_label_locger">Standort: Deutschland</string> + <string name="noti_label_nonet">Es besteht derzeit keine Verbindung zu einem Netz.</string> + <string name="noti_label_active">Die Anonymisierung ist aktiviert.</string> + <string name="noti_label_netinact">Die Anonymisierung für das aktuelle Netz ist deaktiviert.</string> + <string name="noti_label_inactive">Die Anonymisierung ist deaktiviert.</string> + + <!-- Anon View --> + <string name="start_title">ANONguard</string> + <string name="start_label_state">Sie sind nicht anonym</string> + <string name="start_label_meter">Anonym-O-Meter</string> + <string name="start_label_meterfull">100%</string> + <string name="start_label_meterhalf">50%</string> + <string name="start_label_meterzero">0%</string> + <string name="start_label_tipp">Schalte die Anonymisierung ein, um eine sicherere Verbindung herzustellen.</string> + <string name="start_label_down_per_second">0 kbit/s</string> + <string name="start_label_up_per_second">0 kbit/s</string> + <string name="start_label_down">0 Byte</string> + <string name="start_label_loc">Deutschland</string> + <string name="start_label_observer">(für Beobachter)</string> + <string name="start_label_unit"> kB/s</string> + <string name="start_state_nocon">Es besteht keine Verbindung zu einem Netz.</string> + <string name="start_loc_unknown">Unbekannt</string> + <string name="start_tip_choosenet">Wähle dich in ein Netz ein, um die Anonymisierung zu beginnen.</string> + <string name="start_state_nonet">"Das aktuelle Netz ist nicht anonym!"</string> + <string name="start_state_active">Sie sind anonym!</string> + <string name="start_state_deactive">Sie sind nicht anonym!</string> + <string name="start_label_noconnect">Verbindungsproblem!</string> + <string name="start_state_noservice">Es konnte keine Verbindung zum Anonymisierungsdienst aufgebaut werden.</string> + <string name="start_tip_net">Sie müssen mit einem Netz verbunden sein, um den Dienst zu aktivieren.</string> + <string name="start_state_establish">Verbindung wird aufgebaut</string> + <string name="start_meter_mixamount">Tipp: Wähle eine Verbindung mit mehr Verbindungspunkten, um deine Anonymität zu verstärken</string> + <string name="start_meter_useramount">Tipp: Wähle eine Verbindung mit mehr Nutzern, um deine Anonymität zu verstärken</string> + <string name="start_meter_locations">Tipp: Wähle eine Verbindung mit Verbindungspunkten an unterschiedlichen Orten</string> + <string name="start_meter_save">Deine Anonymität ist sicher!</string> + + <!-- App View --> + <string name="app_title">Appwahl</string> + <string name="app_button_deanon">Alle nicht anonymisieren</string> + <string name="app_button_anon">Alle anonymisieren</string> + <string name="app_label_load">Bitte warten</string> + <string name="app_toast_active">Alle Apps anonymisiert</string> + <string name="app_toast_deactive">Alle Apps nicht anonymisiert</string> + <string name="app_toast_confirm"> ist anonym</string> + <string name="app_toast_dismiss"> ist nicht anonym</string> + + <!-- App Detail --> + <string name="app_label_traffic">Traffic-Verbrauch:</string> + <string name="app_label_perms">Berechtigungen:</string> + <string name="appd_label_title">Appdetails</string> + + <!-- Connection View --> + <string name="connect_title">Auswahl Anonymisierungsdienst</string> + <string name="connect_b_select">Wählen</string> + <string name="connect_devider_recom">Empfehlung</string> + <string name="connect_deivder_other">Weitere</string> + <string name="connect_label_host">Betreiber</string> + <string name="connect_label_loc">Ort</string> + <string name="connect_label_anonlevel">Anonlevel</string> + <string name="connect_label_extra">Extra</string> + <string name="connect_label_user">Nutzer</string> + <string name="connect_text_mixes">Nutzer</string> + <string name="connect_toast_chosen">Neue Verbindung gewählt</string> + <string name="connect_toast_not_chosen">Bitte wählen Sie eine Verbindung aus</string> + <string name="connect_label_yourloc">Dein Standort</string> + <string name="connect_label_observeloc">Dein Standort für Beobachter</string> + <string name="connect_label_mix">Verbindungspunkt: </string> + <string name="connect_text_error">Der Infoservice ist nicht erreichbar. Versuchen Sie es bitte später noch einmal.</string> + + + <!-- Connection Detail --> + <string name="appd_label_host">Betreiber</string> + <string name="appd_label_user">Nutzer: </string> + <string name="appd_text_user">Nicht genutzt</string> + <string name="appd_label_speed">Geschwindigkeit: </string> + <string name="appd_text_speed">0 ms</string> + <string name="appd_label_endip">End-IP-Adresse: </string> + <string name="appd_text_endip">0.0.0.0</string> + <string name="appd_label_response">Antwortzeit: </string> + <string name="appd_text_response">0 ms</string> + <string name="appd_label_mix">Verbindungsknoten:</string> + <string name="appd_label_mixhost">Mix-Betreiber: </string> + <string name="appd_label_mixloc">Ort: </string> + <string name="appd_label_mixip">IP-Adresse: </string> + <string name="appd_text_mixip">0.0.0.0.</string> + <string name="appd_label_contact">Kontakt: </string> + <string name="connectd_label_title">Verbindungsdetails</string> + <string name="connectd_label_endip">End IP</string> + <string name="connectd_label_no_coordinates">Es können nicht alle Koordinaten geladen werden.</string> + <string name="connectd_label_chosen">Dieser Anonymisierungsdienst ist bereits gewählt.</string> + + <!-- Network View --> + <string name="net_title">Netzauswahl</string> + <string name="net_button_deanon">Alle nicht anonymisieren</string> + <string name="net_button_anon">Alle anonymisieren</string> + <string name="title_activity_settings">Settings</string> + <string name="net_toast_active">Alle Netze anonymisiert</string> + <string name="net_toast_deactive">Alle Netze nicht anonymisiert</string> + <string name="net_label_celname">Funknetz</string> + <string name="net_label_celsecure">KASUMI</string> + <string name="net_label_unsave">Nicht sicher!</string> + <string name="net_label_securepsk">WPA-PSK-Sicherheit</string> + <string name="net_label_secureeap">WPA-EAP-Sicherheit</string> + <string name="net_label_securewep">WEP-Sicherheit</string> + <string name="net_toast_notanon">ist nicht anonym</string> + <string name="net_label_connected">Verbunden</string> + + <!-- Network Detail --> + <string name="netd_title_ssid">Netz</string> + <string name="netd_label_kind">Art des Netzwerks: </string> + <string name="netd_text_kind">privat</string> + <string name="netd_label_security">Sicherheit: </string> + <string name="netd_text_secuirty">RSA</string> + <string name="netd_label_protect">Geschützt: </string> + <string name="netd_text_protect">Ja </string> + <string name="netd_label_title">Netzdetails</string> + <string name="netd_label_secureno">nein</string> + <string name="netd_label_secureyes">ja</string> + <string name="netd_label_typeopen">offen</string> + <string name="netd_label_typeprivate">privat</string> + + <!-- About --> + <string name="about_text_desc">ANONguard anonymisiert die Internet-Verbindungen Ihres Smartphones. Dabei verwendet ANONguard die AN.ON-Anonymisierungsserver (https://anon.inf.tu-dresden.de). ANONguard wurde im Rahmen des BMBF geförderten Projektes AN.ON-Next entwickelt (https://anon-next.net). Weitere Informationen zu ANONguard und eine Möglichkeit uns Anregungen und Fehlermeldungen mitzuteilen finden Sie unter https://anonguard.net</string> + <string name="about_label_title">Über ANONguard</string> + + <!-- Help --> + <string name="help_title_fst">Wie funktioniert ANON?</string> + <string name="help_title_snd">Wie funktioniert das ANONYM-O-Meter?</string> + <string name="help_title_thd">Warum sind manche Webtechnologien gefährlich?</string> + <string name="help_title_frth">Was kann anonymisiert werden und was nicht?</string> + <string name="help_title_fith">Weitere Informationen</string> + <string name="help_text_fst">Das Surfen im World Wide Web birgt einige Gefahren für die Privatsphäre. Persönlichkeitsprofile können erstellt werden, Datenverkehr kann zurückverfolgt werden, Hacker können Datenverkehr abhören und in repressiven Staaten werden Menschen aufgrund ihrer Internethistorie gar verfolgt. +Anonymisierungsdienste wie AN.ON verhindern durch eine Umleitung des Datenverkehrs über verschlüsselte Verbindungen die Zurückverfolgbarkeit der Daten. Der Datenverkehr wird also nicht direkt an das Ziel gesendet (z.B. Google), sondern über mehrere voneinander unabhängige Server (sog. Mixe). +Nachdem der Datenverkehr also z.B. über 2 solcher Server gelaufen ist und nun bei seinem Ziel ankommt, sieht der Zielserver nur den letzten Server über den die Daten gesendet wurden.</string> + <string name="help_text_snd">Das ANONnym-O-Meter soll einen Überblick über den Status und Sicherheit ihrer Anonymität geben. Wichtige Faktoren für eine sichere Anonymität ist neben der Deaktivierung des Dienstes, die gewählte Verbindug. +Die Sicherheit ist nämlich einerseits abhängig von der Anzahl der Nutzer, welche die Verbindung nutzen, da jeder gesendete Datenverkehr potentiel von jedem Nutzer der Verbindung stammen kann. Viele Nutzer erschweren daher die Identifizierung eines Einzelnen. Zudem ist die Anzahl der Verbindungspunkte, bzw. Server, relevant sowie die Standorte der einzelnen Punkte. Durch viele Server an unterschiedlichen Orten wird die Wahrscheinlichkeit minimiert, dass Betreiber der einzelnen Verbindungspunkte miteinander zusammenarbeiten, um Datenverkehr zurückzuverfolgen. Eine Zusammenarbeit aller Betreiber wäre erforderlich, um Datenverkehr der gesamten anonymen Verbindung zurückzuverfolgen. Aus diesem Problem ergibt sich jedoch auch die Unsicherheit der Empfehlung. So kann eine Verbindung eine hohe Nutzeranzahl sowie Serveranzahl mit verschiedenen Standorten besitzen. Wenn diese jedoch nicht vertrauenswürdig ist, nützen diese Kriterien nicht. Die Empfehlung sollte also nur als Richtwert dienen und ist keine absolute Garantie für eine sichere Verbindung</string> + <string name="help_text_thd">Manche (Web-)Technologien nutzen teils nicht kontrollierbare oder nicht umleitbare Mechanismen, um den Datenverkehr aufzuzeichnen. +Deshalb sollten vor allem Webanwendungen die JavaScript, Java oder Flash verwenden, gemieden werden oder diese Technologien komplett ausgeschaltet werden, solange Sie anonym im Internet sein möchten. Möchten Sie Anwendungen mit solchen Technologien nutzen, ansonsten aber anonym surfen, nutzen Sie bitte die Appwahl, um entsprechende Anwendungen von der Anonymisierung, also der Nutzung des Aonymisierungsdienstes auszuschließen.</string> + <string name="help_text_frth">Der gesamte Datenverkehr jeglicher Apps und Dienste, der über das Internet verläuft, kann umgeleitet werden und damit die Zurückverfolgbarkeit wesentlich erschweren. Der entsprechende Dienst darf dabei keine der im Artikel \'Warum sind manche Webtechnologien gefährlich\' erwähnten Webtechnologien enthalten. Daten die persönliche und eindeutig zuzurechnende Informationen enthalten, wie Anmeldungen mit Realnamen, können durch Betreiber eines Dienstes, der diese Daten benötigt, abgefragen und so auf dich zurückverfolgen. Lauscher die den Datenverkehr in deinem aktuellen lokalen Netz abhören, können diese Daten, dank Verschlüsselung, wiederum nicht lesen.</string> + <string name="help_text_fith">Weitere Informationen erhalten Sie auf: https://anon.inf.tu-dresden.de/help/jap_help/de/help/index.html</string> + <string name="help_label_title">Hilfe</string> + <string name="help_button_reset_tutorial">Tutorial wiederholen</string> + <string name="help_button_reset_tutorial_toast">Das Tutorial wird beim nächsten Start der App angezeigt.</string> + + <!-- Strings related to Settings --> + <string name="settings_label_title">Optionen</string> + + <!-- General settings --> + <string name="pref_header_general">General</string> + + <string name="pref_title_start_boot">Auto-Start</string> + <string name="pref_description_start_boot"> + Starte die App bei jedem Start des Smartphones + </string> + + <string name="pref_title_standby">Standby-Deaktivierung</string> + <string name="pref_description_standby"> + Dienst deaktivieren, wenn Smartphone im Ruhezustand ist + </string> + + <string name="pref_title_noti">Notification abschalten</string> + <string name="pref_description_noti">Deaktiviere die Anzeige des ANON-Dienstes außerhalb der Applikation</string> + + <string name="pref_title_new_net">Neues Netz melden</string> + <string name="pref_description_new_net"> + Warnmeldung anzeigen, wenn Verbindung zu neuem WLAN-Netz hergestellt wird + </string> + + <string name="pref_title_disconnect">Abbruch melden</string> + <string name="pref_description_disconnect"> + Warnmeldung anzeigen, wenn die Verbindung zum Anonymisierungsdienst abbricht + </string> + + <string name="pref_title_theme">Helles UI-Theme</string> + <string name="pref_description_theme"> + Benutzeroberfläche in hellen Farben anzeigen + </string> + + <string name="pref_title_tcp">TCP bevorzugen</string> + <string name="pref_description_tcp"> + TCP-Verbindungen gegenüber Anonymisierung gefährdenden UDP-Verbindungen bevorzugen + </string> + + <string name="pref_title_log">Debug-Log speichern</string> + <string name="pref_description_log"> + Debug-Informationen zur Fehlerbehebung anzeigen + </string> + + <string name="pref_title_track_location">Dein Standort tracken</string> + <string name="pref_description_track_location"> + Deinen Standort für die Anonymitätsanzeige und die Map in der Verbindungsansicht verwenden + </string> + + <string name="pref_title_tut">Tutorial wiederholen</string> + <string name="pref_description_tut"> + Drücke hier, um das Tutorial nochmals zu starten + </string> + + <string name="pref_title_shutdown">App abschalten</string> + <string name="pref_description_shutdown"> + Drücke hier, um die Applikation vollständig abzuschalten. Achtung: Du bist dann nicht mehr anonym und erhältst keine Sicherheitsbenachrichtungen mehr! + </string> + + <string name="pref_title_lang">Sprachauswahl</string> + <string-array name="pref_example_list_titles"> + <item>Deutsch</item> + <item>Englisch</item> + </string-array> + <string-array name="pref_example_list_values"> + <item>1</item> + <item>0</item> + </string-array> + + + <!-- Tutorial general --> + <string name="tut_continue">Weiter</string> + + <!-- Tutorial Intro App --> + <string name="tutiapp_label_head">Wähle Apps aus, …</string> + <string name="tutiapp_label_fst">… die anonymisiert werden sollen.</string> + <string name="tutiapp_label_snd">Beachte: Anmeldungen mit Realnamen können vom Betreiber eines Dienstes trotzdem auf dich zurückgeführt werden.</string> + <string name="tutiapp_label_thd">Achte bei der Wahl auf Berechtigungen, die eine App von dir verlangt.</string> + + <!-- Tutorial Intro Connection --> + <string name="tuticon_label_head">Wähle eine Verbindung, …</string> + <string name="tuticon_label_fst">… durch die deine Daten geleitet werden sollen, sodass diese nicht mehr auf dich zurückzuführen sind.</string> + <string name="tuticon_label_snd">Für Beobachter ist dein Standort der letzte Verbindungspunkt.</string> + <string name="tuticon_label_thd">Umso mehr Nutzer die Verbindung benutzen, desto stärker ist deine Anonymität.</string> + + <!-- Tutorial Intro Network --> + <string name="tutinet_label_head">Wähle Netze aus …</string> + <string name="tutinet_label_fst">… in denen deine Daten und Apps anonymisiert werden sollen.</string> + <string name="tutinet_label_snd">In geschützten Netzwerken bist du sicherer, bleibst ohne Anonymität aber auch zurückverfolgbar.</string> + <string name="tutinet_label_thd">Ungeschützte Netze wie Hotspots sind sehr unsicher und daher besonders schützenswert.</string> + + <!-- Tutorial Welcome --> + <string name="tutwelc_label_fst">Verhindere, dass dein Datenverkehr zurückverfolgt werden kann, ohne einem VPN-Betreiber vertrauen zu müssen.</string> + <string name="tutwelc_label_snd">Inhalte im WWW freischalten, Ortsbeschränkungen umgehen!</string> + <string name="tutwelc_label_thd">Auch in ungeschützten Netzen sicher surfen.</string> + <string name="tutwelc_label_frh">Selbst entscheiden was anonymisiert werden soll und was nicht.</string> + <string name="tutwelc_label_assist">Einrichtungsassistenten jetzt starten?</string> + <string name="tutwelc_b_no">Vielleicht später</string> + <string name="tutwelc_b_yes">Los gehts!</string> + + <!-- Tutorial Finish --> + <string name="tutfin_label_congrats">Glückwunsch!</string> + <string name="tutfin_label_fst">Deine individuelle Konfiguration des Dienstes ist abgeschlossen.</string> + <string name="tutfin_label_snd">Weitere Informationen und Hinweise findest du im Hilfebereich.</string> + <string name="tutfin_label_thd">Das Tutorial sowie allgemeine Settings findest du im Menü Optionen.</string> + <string name="tutfin_label_frh">Betätige nach Abschluss der Einrichtung den Schalter, um die Anonymisierung zu starten.</string> + + <!-- Dialogs --> + <string name="dialog_tut_nocont">Keine Verbindung ausgewählt!</string> + <string name="dialog_tut_noconm">Bestätige mit dem Wählen-Button eine Verbindung, um fortzufahren.</string> + + <string name="dialog_b_yes">Ja</string> + <string name="dialog_b_no">Nein</string> + <string name="dialog_title_deact">ANONmobile deaktivieren?</string> + <string name="dialog_message_deact">Möchtest du die komplette Anonymisierung wirklich deaktivieren? Du bist dann nicht mehr geschützt!</string> + <string name="dialog_title_vpn">Zugriff auf VPN zulassen</string> + <string name="dialog_message_vpn">Bitte gestatte ANONmobile die VPN-Schnittstelle zu nutzen, um eine Verbindung mit dem Dienst herzustellen.</string> + <string name="dialog_b_confirm">Verstanden</string> + <string name="dialog_b_choose">Jetzt wählen</string> + <string name="dialog_b_later">Später</string> + <string name="dialog_title_unsecurenet">Anonymisierung für ungeschütztes Netz wirklich deaktivieren?</string> + <string name="dialog_message_unsecurenet">Möchtest du die Anonymisierung für das ungeschützte Netz wirklich deaktivieren? Ohne Schutz ist dieses Netz besonders unsicher!</string> + + <!-- ForegroundService Notification --> + <string name="foregroundservice_title">ANONguard</string> + <string name="foregroundservice_desc_active_ip">\nÖffentliche IP Adresse: </string> + <string name="foregroundservice_desc_active_location">\nSichtbarer Standort: </string> + <string name="foregroundservice_desc_active_name">Verbunden zu: </string> + <string name="foregroundservice_desc_active_Tx">Upload: </string> + <string name="foregroundservice_desc_active_Rx">\nDownload: </string> + <string name="foregroundservice_desc_cascade_error">Anonymisierungsdienst ist nicht erreichbar.</string> + <string name="foregroundservice_desc_vpn_disabled">Deaktiviert.</string> + + + <string name="vpn_tunneling_shutdown_progress_notification">Beende Anonymisierung...</string> + <string name="foregroundservice_desc_connecting">Verbinde zum Anonymisierungsdienst...</string> + <string name="foregroundservice_desc_network">Warte auf Verbindung zum Internet</string> + + +</resources> diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index 10e47b6..ee92a9b 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - <string name="app_name">ANONguard</string> <string name="dialog_b_yes">Yes</string> <string name="dialog_b_no">No</string> <string name="vpn_tunneling_shutdown_progress_notification">Stopping anonymisation...</string> + <string name="action_help">Help</string> + <string name="navigation_drawer_options">Settings</string> </resources> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b0319e5..46364d6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,21 +1,11 @@ <resources> - <string name="action_settings">Settings</string> - <string name="app">VPN</string> - <string name="address">Server Address:</string> - <string name="port">Server Port:</string> <string name="accesscontrolcredential">Shared Secret:</string> - <string name="connect">Connect!</string> - <string name="connecting">VPN is connecting...</string> - <string name="connected">VPN is connected!</string> - <string name="disconnected">VPN is disconnected!</string> - <string name="activity_intents">App/Activity/Intents</string> - <string name="intents">Example of launching various Intents.</string> <!-- General --> - <string name="app_name">ANONguard</string> + <string name="app_name" translatable="false">ANONguard</string> <string name="service_description">ANONguard VPN Service</string> <string name="text_placeholder">Placeholder</string> <string name="twonumber_placeholder">100kbit\n10kbit</string> diff --git a/build.gradle b/build.gradle index 2ba7d55..69b3bbe 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.1.0' + classpath 'com.android.tools.build:gradle:3.1.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 08f3294..eca64d3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Oct 26 09:34:27 CEST 2017 +#Thu Apr 05 14:43:14 CEST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.2.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip -- GitLab