diff --git a/.travis.yml b/.travis.yml index e524a79..d6289e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,17 +5,17 @@ android: components: - tools - platform-tools - - build-tools-27.0.3 - - android-27 + - build-tools-28.0.3 + - android-28 - extra-android-support - extra-google-m2repository - extra-android-m2repository licenses: - '.+' before_install: - - yes | sdkmanager "platforms;android-27" +- yes | sdkmanager "platforms;android-28" script: - chmod 777 gradlew - ./gradlew clean assembleDebug after_success: - - bash <(curl -s https://codecov.io/bash) \ No newline at end of file + - bash <(curl -s https://codecov.io/bash) diff --git a/app/build.gradle b/app/build.gradle index 077f968..a54bbdd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,12 +4,12 @@ apply plugin: 'io.fabric' def gitCommit = 'git rev-parse --short HEAD'.execute([], project.rootDir).text.trim() android { - compileSdkVersion 27 - buildToolsVersion "27.0.3" + compileSdkVersion 28 + buildToolsVersion "28.0.3" defaultConfig { applicationId "org.itxtech.daedalus" minSdkVersion 15 - targetSdkVersion 27 + targetSdkVersion 28 versionCode 17 versionName "1.12.1" @@ -39,19 +39,19 @@ android { dependencies { //Support - implementation 'com.android.support:appcompat-v7:27.1.1' - implementation 'com.android.support:design:27.1.1' - implementation 'com.android.support:support-v4:27.1.1' - implementation 'com.android.support:percent:27.1.1' - implementation 'com.android.support:cardview-v7:27.1.1' + implementation 'androidx.appcompat:appcompat:1.0.0' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'androidx.percentlayout:percentlayout:1.0.0' + implementation 'androidx.cardview:cardview:1.0.0' + implementation 'com.google.android.material:material:1.0.0' //DNS implementation 'org.pcap4j:pcap4j-core:1.7.3' implementation 'org.pcap4j:pcap4j-packetfactory-static:1.7.3' - implementation 'org.minidns:minidns-client:0.3.2' + implementation 'org.minidns:minidns-client:0.3.3' implementation 'com.google.code.gson:gson:2.8.5' implementation 'com.squareup.okhttp3:okhttp:3.11.0' //Analytics - implementation 'com.google.firebase:firebase-core:16.0.4' + implementation 'com.google.firebase:firebase-core:16.0.5' implementation 'com.crashlytics.sdk.android:crashlytics:2.9.5' } diff --git a/app/src/main/java/org/itxtech/daedalus/activity/ConfigActivity.java b/app/src/main/java/org/itxtech/daedalus/activity/ConfigActivity.java index f679d0d..500a669 100644 --- a/app/src/main/java/org/itxtech/daedalus/activity/ConfigActivity.java +++ b/app/src/main/java/org/itxtech/daedalus/activity/ConfigActivity.java @@ -5,10 +5,10 @@ import android.app.FragmentTransaction; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Bundle; -import android.support.v4.content.ContextCompat; -import android.support.v4.graphics.drawable.DrawableCompat; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.drawable.DrawableCompat; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.R; import org.itxtech.daedalus.fragment.ConfigFragment; diff --git a/app/src/main/java/org/itxtech/daedalus/activity/MainActivity.java b/app/src/main/java/org/itxtech/daedalus/activity/MainActivity.java index 03e2aac..5797891 100644 --- a/app/src/main/java/org/itxtech/daedalus/activity/MainActivity.java +++ b/app/src/main/java/org/itxtech/daedalus/activity/MainActivity.java @@ -7,19 +7,19 @@ import android.content.DialogInterface; import android.content.Intent; import android.net.VpnService; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.design.widget.NavigationView; -import android.support.v4.view.GravityCompat; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.app.ActionBarDrawerToggle; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.MenuItem; import android.view.inputmethod.InputMethodManager; import android.widget.Button; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.core.view.GravityCompat; +import androidx.drawerlayout.widget.DrawerLayout; +import com.google.android.material.navigation.NavigationView; import org.itxtech.daedalus.BuildConfig; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.R; diff --git a/app/src/main/java/org/itxtech/daedalus/fragment/ConfigFragment.java b/app/src/main/java/org/itxtech/daedalus/fragment/ConfigFragment.java index e6a4ef9..33a54e2 100644 --- a/app/src/main/java/org/itxtech/daedalus/fragment/ConfigFragment.java +++ b/app/src/main/java/org/itxtech/daedalus/fragment/ConfigFragment.java @@ -2,7 +2,7 @@ package org.itxtech.daedalus.fragment; import android.content.Intent; import android.preference.PreferenceFragment; -import android.support.v7.widget.Toolbar; +import androidx.appcompat.widget.Toolbar; /** * Daedalus Project diff --git a/app/src/main/java/org/itxtech/daedalus/fragment/DNSServerConfigFragment.java b/app/src/main/java/org/itxtech/daedalus/fragment/DNSServerConfigFragment.java index b221833..411eaed 100644 --- a/app/src/main/java/org/itxtech/daedalus/fragment/DNSServerConfigFragment.java +++ b/app/src/main/java/org/itxtech/daedalus/fragment/DNSServerConfigFragment.java @@ -3,11 +3,11 @@ package org.itxtech.daedalus.fragment; import android.app.AlertDialog; import android.os.Bundle; import android.preference.EditTextPreference; -import android.support.design.widget.Snackbar; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; +import com.google.android.material.snackbar.Snackbar; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.R; import org.itxtech.daedalus.activity.ConfigActivity; diff --git a/app/src/main/java/org/itxtech/daedalus/fragment/DNSServersFragment.java b/app/src/main/java/org/itxtech/daedalus/fragment/DNSServersFragment.java index f64e029..7e9428a 100644 --- a/app/src/main/java/org/itxtech/daedalus/fragment/DNSServersFragment.java +++ b/app/src/main/java/org/itxtech/daedalus/fragment/DNSServersFragment.java @@ -2,16 +2,16 @@ package org.itxtech.daedalus.fragment; import android.content.Intent; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.design.widget.FloatingActionButton; -import android.support.design.widget.Snackbar; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.helper.ItemTouchHelper; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.ItemTouchHelper; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import com.google.android.material.floatingactionbutton.FloatingActionButton; +import com.google.android.material.snackbar.Snackbar; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.R; import org.itxtech.daedalus.activity.ConfigActivity; diff --git a/app/src/main/java/org/itxtech/daedalus/fragment/GlobalConfigFragment.java b/app/src/main/java/org/itxtech/daedalus/fragment/GlobalConfigFragment.java index 30414a5..47aea8d 100644 --- a/app/src/main/java/org/itxtech/daedalus/fragment/GlobalConfigFragment.java +++ b/app/src/main/java/org/itxtech/daedalus/fragment/GlobalConfigFragment.java @@ -4,8 +4,8 @@ import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.preference.*; -import android.support.design.widget.Snackbar; import android.view.View; +import com.google.android.material.snackbar.Snackbar; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.R; import org.itxtech.daedalus.activity.MainActivity; diff --git a/app/src/main/java/org/itxtech/daedalus/fragment/LogFragment.java b/app/src/main/java/org/itxtech/daedalus/fragment/LogFragment.java index 653e20d..dc8880d 100644 --- a/app/src/main/java/org/itxtech/daedalus/fragment/LogFragment.java +++ b/app/src/main/java/org/itxtech/daedalus/fragment/LogFragment.java @@ -1,13 +1,13 @@ package org.itxtech.daedalus.fragment; import android.os.Bundle; -import android.support.design.widget.Snackbar; -import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; +import androidx.appcompat.widget.Toolbar; +import com.google.android.material.snackbar.Snackbar; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.R; import org.itxtech.daedalus.util.Logger; diff --git a/app/src/main/java/org/itxtech/daedalus/fragment/RuleConfigFragment.java b/app/src/main/java/org/itxtech/daedalus/fragment/RuleConfigFragment.java index 1ae452e..88c2d6c 100644 --- a/app/src/main/java/org/itxtech/daedalus/fragment/RuleConfigFragment.java +++ b/app/src/main/java/org/itxtech/daedalus/fragment/RuleConfigFragment.java @@ -11,11 +11,11 @@ import android.os.Handler; import android.os.Message; import android.preference.EditTextPreference; import android.preference.ListPreference; -import android.support.design.widget.Snackbar; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; +import com.google.android.material.snackbar.Snackbar; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; diff --git a/app/src/main/java/org/itxtech/daedalus/fragment/RulesFragment.java b/app/src/main/java/org/itxtech/daedalus/fragment/RulesFragment.java index b153fcf..fa3e621 100644 --- a/app/src/main/java/org/itxtech/daedalus/fragment/RulesFragment.java +++ b/app/src/main/java/org/itxtech/daedalus/fragment/RulesFragment.java @@ -2,18 +2,18 @@ package org.itxtech.daedalus.fragment; import android.content.Intent; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.design.widget.FloatingActionButton; -import android.support.design.widget.Snackbar; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.Toolbar; -import android.support.v7.widget.helper.ItemTouchHelper; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.appcompat.widget.Toolbar; +import androidx.recyclerview.widget.ItemTouchHelper; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import com.google.android.material.floatingactionbutton.FloatingActionButton; +import com.google.android.material.snackbar.Snackbar; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.R; import org.itxtech.daedalus.activity.ConfigActivity; diff --git a/app/src/main/java/org/itxtech/daedalus/fragment/ToolbarFragment.java b/app/src/main/java/org/itxtech/daedalus/fragment/ToolbarFragment.java index bcd212c..7c8ff05 100644 --- a/app/src/main/java/org/itxtech/daedalus/fragment/ToolbarFragment.java +++ b/app/src/main/java/org/itxtech/daedalus/fragment/ToolbarFragment.java @@ -2,10 +2,10 @@ package org.itxtech.daedalus.fragment; import android.app.Fragment; import android.os.Bundle; -import android.support.design.widget.NavigationView; -import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.View; +import androidx.appcompat.widget.Toolbar; +import com.google.android.material.navigation.NavigationView; import org.itxtech.daedalus.R; /** diff --git a/app/src/main/java/org/itxtech/daedalus/provider/HttpsProvider.java b/app/src/main/java/org/itxtech/daedalus/provider/HttpsProvider.java index b63f193..497739c 100644 --- a/app/src/main/java/org/itxtech/daedalus/provider/HttpsProvider.java +++ b/app/src/main/java/org/itxtech/daedalus/provider/HttpsProvider.java @@ -3,11 +3,11 @@ package org.itxtech.daedalus.provider; import android.annotation.TargetApi; import android.os.Build; import android.os.ParcelFileDescriptor; -import android.support.annotation.NonNull; import android.system.Os; import android.system.OsConstants; import android.system.StructPollfd; import android.util.Log; +import androidx.annotation.NonNull; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.service.DaedalusVpnService; import org.itxtech.daedalus.util.Logger; diff --git a/app/src/main/java/org/itxtech/daedalus/provider/TcpProvider.java b/app/src/main/java/org/itxtech/daedalus/provider/TcpProvider.java index c622c8f..202fca5 100644 --- a/app/src/main/java/org/itxtech/daedalus/provider/TcpProvider.java +++ b/app/src/main/java/org/itxtech/daedalus/provider/TcpProvider.java @@ -3,12 +3,12 @@ package org.itxtech.daedalus.provider; import android.annotation.TargetApi; import android.os.Build; import android.os.ParcelFileDescriptor; -import android.support.annotation.NonNull; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; import android.system.StructPollfd; import android.util.Log; +import androidx.annotation.NonNull; import org.itxtech.daedalus.service.DaedalusVpnService; import org.itxtech.daedalus.util.Logger; import org.itxtech.daedalus.util.server.DNSServerHelper; diff --git a/app/src/main/java/org/itxtech/daedalus/provider/UdpProvider.java b/app/src/main/java/org/itxtech/daedalus/provider/UdpProvider.java index 818f434..cba4ed6 100644 --- a/app/src/main/java/org/itxtech/daedalus/provider/UdpProvider.java +++ b/app/src/main/java/org/itxtech/daedalus/provider/UdpProvider.java @@ -3,11 +3,11 @@ package org.itxtech.daedalus.provider; import android.annotation.TargetApi; import android.os.Build; import android.os.ParcelFileDescriptor; -import android.support.annotation.NonNull; import android.system.Os; import android.system.OsConstants; import android.system.StructPollfd; import android.util.Log; +import androidx.annotation.NonNull; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.service.DaedalusVpnService; import org.itxtech.daedalus.util.Logger; diff --git a/app/src/main/java/org/itxtech/daedalus/service/DaedalusTileService.java b/app/src/main/java/org/itxtech/daedalus/service/DaedalusTileService.java index 1dd4bc3..7123109 100644 --- a/app/src/main/java/org/itxtech/daedalus/service/DaedalusTileService.java +++ b/app/src/main/java/org/itxtech/daedalus/service/DaedalusTileService.java @@ -3,7 +3,7 @@ package org.itxtech.daedalus.service; import android.os.Build; import android.service.quicksettings.Tile; import android.service.quicksettings.TileService; -import android.support.annotation.RequiresApi; +import androidx.annotation.RequiresApi; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.R; diff --git a/app/src/main/java/org/itxtech/daedalus/service/DaedalusVpnService.java b/app/src/main/java/org/itxtech/daedalus/service/DaedalusVpnService.java index c3e903c..29b78f7 100644 --- a/app/src/main/java/org/itxtech/daedalus/service/DaedalusVpnService.java +++ b/app/src/main/java/org/itxtech/daedalus/service/DaedalusVpnService.java @@ -10,9 +10,9 @@ import android.content.Intent; import android.net.VpnService; import android.os.Build; import android.os.ParcelFileDescriptor; -import android.support.v4.app.NotificationCompat; import android.system.OsConstants; import android.util.Log; +import androidx.core.app.NotificationCompat; import org.itxtech.daedalus.Daedalus; import org.itxtech.daedalus.R; import org.itxtech.daedalus.activity.MainActivity; diff --git a/app/src/main/java/org/itxtech/daedalus/widget/ClearAutoCompleteTextView.java b/app/src/main/java/org/itxtech/daedalus/widget/ClearAutoCompleteTextView.java index 7d9bd83..0caec68 100644 --- a/app/src/main/java/org/itxtech/daedalus/widget/ClearAutoCompleteTextView.java +++ b/app/src/main/java/org/itxtech/daedalus/widget/ClearAutoCompleteTextView.java @@ -2,14 +2,14 @@ package org.itxtech.daedalus.widget; import android.content.Context; import android.graphics.drawable.Drawable; -import android.support.v4.content.ContextCompat; -import android.support.v4.graphics.drawable.DrawableCompat; -import android.support.v7.widget.AppCompatAutoCompleteTextView; import android.text.Editable; import android.text.TextWatcher; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; +import androidx.appcompat.widget.AppCompatAutoCompleteTextView; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.drawable.DrawableCompat; import org.itxtech.daedalus.R; /** diff --git a/app/src/main/res/layout/activity_config.xml b/app/src/main/res/layout/activity_config.xml index 5f40cf9..cab3ee1 100644 --- a/app/src/main/res/layout/activity_config.xml +++ b/app/src/main/res/layout/activity_config.xml @@ -1,5 +1,5 @@ - - - - + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index b065d30..61b0671 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,5 +1,5 @@ - - - + diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml index 65a9ea6..ffc1a53 100644 --- a/app/src/main/res/layout/app_bar_main.xml +++ b/app/src/main/res/layout/app_bar_main.xml @@ -1,5 +1,5 @@ - - - - + - - + diff --git a/app/src/main/res/layout/card_rule.xml b/app/src/main/res/layout/card_rule.xml index 9e03aa1..d448b35 100644 --- a/app/src/main/res/layout/card_rule.xml +++ b/app/src/main/res/layout/card_rule.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content"> - - + \ No newline at end of file diff --git a/app/src/main/res/layout/card_server.xml b/app/src/main/res/layout/card_server.xml index 7f03fdb..1a350a2 100644 --- a/app/src/main/res/layout/card_server.xml +++ b/app/src/main/res/layout/card_server.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_dns_servers.xml b/app/src/main/res/layout/fragment_dns_servers.xml index 2727cb4..d012c3e 100644 --- a/app/src/main/res/layout/fragment_dns_servers.xml +++ b/app/src/main/res/layout/fragment_dns_servers.xml @@ -1,11 +1,11 @@ - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml index dfe48fd..9ada810 100644 --- a/app/src/main/res/layout/fragment_main.xml +++ b/app/src/main/res/layout/fragment_main.xml @@ -1,5 +1,5 @@ - - + diff --git a/app/src/main/res/layout/fragment_rules.xml b/app/src/main/res/layout/fragment_rules.xml index af1d203..05d0491 100644 --- a/app/src/main/res/layout/fragment_rules.xml +++ b/app/src/main/res/layout/fragment_rules.xml @@ -1,11 +1,11 @@ - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index bbe9ac2..7a5f021 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -1,4 +1,4 @@ -TCP UDP TLS - HTTPS (IETF draft) + HTTPS (RFC8484) HTTPS (Google JSON) Rule Name diff --git a/build.gradle b/build.gradle index 9e6df6f..cb2ee4a 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ buildscript { } } dependencies { - classpath 'com.android.tools.build:gradle:3.1.4' + classpath 'com.android.tools.build:gradle:3.2.1' classpath 'com.google.gms:google-services:4.0.1' classpath 'io.fabric.tools:gradle:1.25.4' diff --git a/gradle.properties b/gradle.properties index 743d692..8de5058 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,6 +6,8 @@ # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. +android.enableJetifier=true +android.useAndroidX=true org.gradle.jvmargs=-Xmx1536m # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit