diff --git a/build.gradle b/build.gradle
index 5f356026..eb6cd821 100644
--- a/build.gradle
+++ b/build.gradle
@@ -6,8 +6,7 @@ buildscript {
ext {
androidPluginVersion = '3.2.0-beta03'
kotlinVersion = '1.2.51'
- supportLibraryVersion = '28.0.0-alpha3'
- takisoftFixVersion = '27.1.1.2'
+ androidxVersion = '1.0.0-beta01'
}
repositories {
google()
diff --git a/gradle.properties b/gradle.properties
index aac7c9b4..9e6fce10 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -9,6 +9,8 @@
# 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.
diff --git a/mobile/build.gradle b/mobile/build.gradle
index 34bb8418..091264c5 100644
--- a/mobile/build.gradle
+++ b/mobile/build.gradle
@@ -13,7 +13,7 @@ android {
resConfigs "zh-rCN"
versionCode 29
versionName "1.3.5"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
@@ -43,18 +43,18 @@ dependencies {
kapt "androidx.databinding:databinding-compiler:$androidPluginVersion"
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.billingclient:billing:1.1'
- implementation "com.android.support:customtabs:$supportLibraryVersion"
- implementation "com.android.support:design:$supportLibraryVersion"
- implementation "com.android.support:preference-v14:$supportLibraryVersion"
- implementation 'com.android.support.constraint:constraint-layout:1.1.2'
+ implementation "androidx.browser:browser:$androidxVersion"
+ implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha1'
+ implementation "androidx.preference:preference:$androidxVersion"
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.4'
implementation 'com.github.luongvo:BadgeView:1.1.5'
+ implementation "com.google.android.material:material:$androidxVersion"
implementation 'com.linkedin.dexmaker:dexmaker-mockito:2.19.0'
- implementation "com.takisoft.fix:preference-v7:$takisoftFixVersion"
+ implementation 'com.takisoft.preferencex:preferencex:1.0.0-alpha1'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion"
testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.2'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
+ androidTestImplementation 'androidx.test:runner:1.1.0-alpha3'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha3'
}
kapt.generateStubs = true
diff --git a/mobile/src/main/AndroidManifest.xml b/mobile/src/main/AndroidManifest.xml
index 2796e587..96d5babb 100644
--- a/mobile/src/main/AndroidManifest.xml
+++ b/mobile/src/main/AndroidManifest.xml
@@ -73,7 +73,7 @@
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/App.kt b/mobile/src/main/java/be/mygod/vpnhotspot/App.kt
index 613f8c77..c545bfa1 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/App.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/App.kt
@@ -10,7 +10,7 @@ import android.net.wifi.WifiManager
import android.os.Build
import android.os.Handler
import android.preference.PreferenceManager
-import android.support.annotation.StringRes
+import androidx.annotation.StringRes
import android.widget.Toast
import be.mygod.vpnhotspot.util.Event0
import be.mygod.vpnhotspot.util.systemService
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/EBegFragment.kt b/mobile/src/main/java/be/mygod/vpnhotspot/EBegFragment.kt
index d217df2d..2ac3342c 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/EBegFragment.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/EBegFragment.kt
@@ -3,7 +3,7 @@ package be.mygod.vpnhotspot
import android.app.AlertDialog
import android.net.Uri
import android.os.Bundle
-import android.support.v4.app.DialogFragment
+import androidx.fragment.app.DialogFragment
import android.util.Log
import android.view.LayoutInflater
import android.view.View
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/LocalOnlyHotspotService.kt b/mobile/src/main/java/be/mygod/vpnhotspot/LocalOnlyHotspotService.kt
index 0dfa92f2..21d01120 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/LocalOnlyHotspotService.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/LocalOnlyHotspotService.kt
@@ -3,7 +3,7 @@ package be.mygod.vpnhotspot
import android.content.Intent
import android.content.IntentFilter
import android.net.wifi.WifiManager
-import android.support.annotation.RequiresApi
+import androidx.annotation.RequiresApi
import android.widget.Toast
import be.mygod.vpnhotspot.App.Companion.app
import be.mygod.vpnhotspot.manage.LocalOnlyHotspotManager
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/MainActivity.kt b/mobile/src/main/java/be/mygod/vpnhotspot/MainActivity.kt
index 47b0b862..398af633 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/MainActivity.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/MainActivity.kt
@@ -3,17 +3,16 @@ package be.mygod.vpnhotspot
import android.content.ComponentName
import android.content.Intent
import android.content.ServiceConnection
-import android.databinding.DataBindingUtil
+import androidx.databinding.DataBindingUtil
import android.net.Uri
import android.os.Bundle
import android.os.IBinder
-import android.support.customtabs.CustomTabsIntent
-import android.support.design.internal.BottomNavigationMenuView
-import android.support.design.widget.BottomNavigationView
-import android.support.design.widget.Snackbar
-import android.support.v4.app.Fragment
-import android.support.v4.content.ContextCompat
-import android.support.v7.app.AppCompatActivity
+import androidx.browser.customtabs.CustomTabsIntent
+import com.google.android.material.bottomnavigation.BottomNavigationView
+import com.google.android.material.snackbar.Snackbar
+import androidx.fragment.app.Fragment
+import androidx.core.content.ContextCompat
+import androidx.appcompat.app.AppCompatActivity
import android.view.Gravity
import android.view.MenuItem
import be.mygod.vpnhotspot.client.ClientMonitorService
@@ -21,6 +20,7 @@ import be.mygod.vpnhotspot.client.ClientsFragment
import be.mygod.vpnhotspot.databinding.ActivityMainBinding
import be.mygod.vpnhotspot.manage.TetheringFragment
import be.mygod.vpnhotspot.util.ServiceForegroundConnector
+import com.google.android.material.bottomnavigation.BottomNavigationMenuView
import q.rorbin.badgeview.QBadgeView
class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemSelectedListener, ServiceConnection {
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterService.kt b/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterService.kt
index 57a0eae4..cacc5bc1 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterService.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterService.kt
@@ -10,7 +10,7 @@ import android.net.wifi.p2p.WifiP2pGroup
import android.net.wifi.p2p.WifiP2pInfo
import android.net.wifi.p2p.WifiP2pManager
import android.os.Looper
-import android.support.annotation.StringRes
+import androidx.annotation.StringRes
import android.util.Log
import android.widget.Toast
import be.mygod.vpnhotspot.App.Companion.app
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterTileService.kt b/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterTileService.kt
index ceabc206..2e8a0d94 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterTileService.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterTileService.kt
@@ -9,8 +9,8 @@ import android.net.wifi.p2p.WifiP2pGroup
import android.os.IBinder
import android.service.quicksettings.Tile
import android.service.quicksettings.TileService
-import android.support.annotation.RequiresApi
-import android.support.v4.content.ContextCompat
+import androidx.annotation.RequiresApi
+import androidx.core.content.ContextCompat
import be.mygod.vpnhotspot.util.stopAndUnbind
@RequiresApi(24)
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/ServiceNotification.kt b/mobile/src/main/java/be/mygod/vpnhotspot/ServiceNotification.kt
index 45f2383c..f77b025e 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/ServiceNotification.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/ServiceNotification.kt
@@ -5,8 +5,8 @@ import android.app.*
import android.content.Context
import android.content.Intent
import android.os.Build
-import android.support.v4.app.NotificationCompat
-import android.support.v4.content.ContextCompat
+import androidx.core.app.NotificationCompat
+import androidx.core.content.ContextCompat
import be.mygod.vpnhotspot.App.Companion.app
import be.mygod.vpnhotspot.util.systemService
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/SettingsPreferenceFragment.kt b/mobile/src/main/java/be/mygod/vpnhotspot/SettingsPreferenceFragment.kt
index 360aad82..5bb28525 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/SettingsPreferenceFragment.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/SettingsPreferenceFragment.kt
@@ -5,8 +5,8 @@ import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Bundle
-import android.support.v4.content.FileProvider
-import android.support.v7.preference.Preference
+import androidx.core.content.FileProvider
+import androidx.preference.Preference
import be.mygod.vpnhotspot.App.Companion.app
import be.mygod.vpnhotspot.net.Routing
import be.mygod.vpnhotspot.net.UpstreamMonitor
@@ -15,7 +15,7 @@ import be.mygod.vpnhotspot.preference.SharedPreferenceDataStore
import be.mygod.vpnhotspot.util.loggerSuStream
import be.mygod.vpnhotspot.util.put
import com.crashlytics.android.Crashlytics
-import com.takisoft.fix.support.v7.preference.PreferenceFragmentCompat
+import com.takisoft.preferencex.PreferenceFragmentCompat
import java.io.File
import java.io.IOException
import java.io.PrintWriter
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/client/Client.kt b/mobile/src/main/java/be/mygod/vpnhotspot/client/Client.kt
index 58c4c7e4..26dd2590 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/client/Client.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/client/Client.kt
@@ -1,6 +1,6 @@
package be.mygod.vpnhotspot.client
-import android.support.v7.util.DiffUtil
+import androidx.recyclerview.widget.DiffUtil
import be.mygod.vpnhotspot.App.Companion.app
import be.mygod.vpnhotspot.R
import be.mygod.vpnhotspot.net.IpNeighbour
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/client/ClientsFragment.kt b/mobile/src/main/java/be/mygod/vpnhotspot/client/ClientsFragment.kt
index 27b1c6ce..aaf981c1 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/client/ClientsFragment.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/client/ClientsFragment.kt
@@ -2,14 +2,14 @@ package be.mygod.vpnhotspot.client
import android.content.ComponentName
import android.content.ServiceConnection
-import android.databinding.DataBindingUtil
+import androidx.databinding.DataBindingUtil
import android.os.Bundle
import android.os.IBinder
-import android.support.v4.app.Fragment
-import android.support.v7.recyclerview.extensions.ListAdapter
-import android.support.v7.widget.DefaultItemAnimator
-import android.support.v7.widget.LinearLayoutManager
-import android.support.v7.widget.RecyclerView
+import androidx.fragment.app.Fragment
+import androidx.recyclerview.widget.ListAdapter
+import androidx.recyclerview.widget.DefaultItemAnimator
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/manage/Data.kt b/mobile/src/main/java/be/mygod/vpnhotspot/manage/Data.kt
index 3e58824f..a38b8347 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/manage/Data.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/manage/Data.kt
@@ -1,6 +1,6 @@
package be.mygod.vpnhotspot.manage
-import android.databinding.BaseObservable
+import androidx.databinding.BaseObservable
abstract class Data : BaseObservable() {
abstract val icon: Int
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/manage/InterfaceManager.kt b/mobile/src/main/java/be/mygod/vpnhotspot/manage/InterfaceManager.kt
index 1518b803..c1ed6142 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/manage/InterfaceManager.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/manage/InterfaceManager.kt
@@ -1,8 +1,8 @@
package be.mygod.vpnhotspot.manage
import android.content.Intent
-import android.support.v4.content.ContextCompat
-import android.support.v7.widget.RecyclerView
+import androidx.core.content.ContextCompat
+import androidx.recyclerview.widget.RecyclerView
import android.view.View
import be.mygod.vpnhotspot.TetheringService
import be.mygod.vpnhotspot.databinding.ListitemInterfaceBinding
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/manage/LocalOnlyHotspotManager.kt b/mobile/src/main/java/be/mygod/vpnhotspot/manage/LocalOnlyHotspotManager.kt
index 20d670b3..b689053b 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/manage/LocalOnlyHotspotManager.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/manage/LocalOnlyHotspotManager.kt
@@ -11,7 +11,7 @@ import android.location.LocationManager
import android.os.Build
import android.os.IBinder
import android.provider.Settings
-import android.support.v7.widget.RecyclerView
+import androidx.recyclerview.widget.RecyclerView
import android.view.View
import android.widget.Toast
import be.mygod.vpnhotspot.LocalOnlyHotspotService
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/manage/ManageBar.kt b/mobile/src/main/java/be/mygod/vpnhotspot/manage/ManageBar.kt
index 6d90e0e5..8bee37ef 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/manage/ManageBar.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/manage/ManageBar.kt
@@ -3,7 +3,7 @@ package be.mygod.vpnhotspot.manage
import android.content.ActivityNotFoundException
import android.content.Context
import android.content.Intent
-import android.support.v7.widget.RecyclerView
+import androidx.recyclerview.widget.RecyclerView
import android.view.View
import com.crashlytics.android.Crashlytics
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/manage/Manager.kt b/mobile/src/main/java/be/mygod/vpnhotspot/manage/Manager.kt
index c783ae64..8b2681d6 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/manage/Manager.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/manage/Manager.kt
@@ -1,8 +1,8 @@
package be.mygod.vpnhotspot.manage
import android.annotation.TargetApi
-import android.support.v7.util.DiffUtil
-import android.support.v7.widget.RecyclerView
+import androidx.recyclerview.widget.DiffUtil
+import androidx.recyclerview.widget.RecyclerView
import android.view.LayoutInflater
import android.view.ViewGroup
import be.mygod.vpnhotspot.R
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/manage/RepeaterManager.kt b/mobile/src/main/java/be/mygod/vpnhotspot/manage/RepeaterManager.kt
index 7074f7d3..40f5783e 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/manage/RepeaterManager.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/manage/RepeaterManager.kt
@@ -4,15 +4,15 @@ import android.content.ComponentName
import android.content.DialogInterface
import android.content.Intent
import android.content.ServiceConnection
-import android.databinding.BaseObservable
-import android.databinding.Bindable
+import androidx.databinding.BaseObservable
+import androidx.databinding.Bindable
import android.net.wifi.WifiConfiguration
import android.net.wifi.p2p.WifiP2pGroup
import android.os.IBinder
-import android.support.v4.content.ContextCompat
-import android.support.v7.app.AlertDialog
-import android.support.v7.app.AppCompatDialog
-import android.support.v7.widget.RecyclerView
+import androidx.core.content.ContextCompat
+import androidx.appcompat.app.AlertDialog
+import androidx.appcompat.app.AppCompatDialog
+import androidx.recyclerview.widget.RecyclerView
import android.view.WindowManager
import android.widget.EditText
import android.widget.Toast
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/manage/TetherManager.kt b/mobile/src/main/java/be/mygod/vpnhotspot/manage/TetherManager.kt
index 31a37162..f2a348f2 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/manage/TetherManager.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/manage/TetherManager.kt
@@ -1,9 +1,9 @@
package be.mygod.vpnhotspot.manage
import android.annotation.SuppressLint
-import android.arch.lifecycle.Lifecycle
-import android.arch.lifecycle.LifecycleObserver
-import android.arch.lifecycle.OnLifecycleEvent
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleObserver
+import androidx.lifecycle.OnLifecycleEvent
import android.bluetooth.BluetoothAdapter
import android.bluetooth.BluetoothProfile
import android.content.ActivityNotFoundException
@@ -11,8 +11,8 @@ import android.content.Intent
import android.net.Uri
import android.os.Build
import android.provider.Settings
-import android.support.annotation.RequiresApi
-import android.support.v7.widget.RecyclerView
+import androidx.annotation.RequiresApi
+import androidx.recyclerview.widget.RecyclerView
import android.view.View
import be.mygod.vpnhotspot.App.Companion.app
import be.mygod.vpnhotspot.MainActivity
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/manage/TetheringFragment.kt b/mobile/src/main/java/be/mygod/vpnhotspot/manage/TetheringFragment.kt
index 1c918f83..fa5c85bd 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/manage/TetheringFragment.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/manage/TetheringFragment.kt
@@ -6,15 +6,15 @@ import android.content.Intent
import android.content.IntentFilter
import android.content.ServiceConnection
import android.content.pm.PackageManager
-import android.databinding.DataBindingUtil
+import androidx.databinding.DataBindingUtil
import android.os.Build
import android.os.Bundle
import android.os.IBinder
-import android.support.v4.app.Fragment
-import android.support.v7.recyclerview.extensions.ListAdapter
-import android.support.v7.widget.DefaultItemAnimator
-import android.support.v7.widget.LinearLayoutManager
-import android.support.v7.widget.RecyclerView
+import androidx.fragment.app.Fragment
+import androidx.recyclerview.widget.ListAdapter
+import androidx.recyclerview.widget.DefaultItemAnimator
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/net/TetheringManager.kt b/mobile/src/main/java/be/mygod/vpnhotspot/net/TetheringManager.kt
index 4cdbd24b..961c9af6 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/net/TetheringManager.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/net/TetheringManager.kt
@@ -5,7 +5,7 @@ import android.net.ConnectivityManager
import android.os.Build
import android.os.Bundle
import android.os.Handler
-import android.support.annotation.RequiresApi
+import androidx.annotation.RequiresApi
import android.util.Log
import be.mygod.vpnhotspot.App.Companion.app
import com.android.dx.stock.ProxyBuilder
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/WifiP2pDialog.kt b/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/WifiP2pDialog.kt
index dd3aa03f..e888d441 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/WifiP2pDialog.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/WifiP2pDialog.kt
@@ -5,8 +5,8 @@ import android.content.DialogInterface
import android.net.wifi.WifiConfiguration
import android.net.wifi.WifiConfiguration.AuthAlgorithm
import android.os.Bundle
-import android.support.design.widget.TextInputLayout
-import android.support.v7.app.AlertDialog
+import com.google.android.material.textfield.TextInputLayout
+import androidx.appcompat.app.AlertDialog
import android.text.Editable
import android.text.TextWatcher
import android.view.View
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/preference/AlwaysAutoCompleteEditTextPreference.kt b/mobile/src/main/java/be/mygod/vpnhotspot/preference/AlwaysAutoCompleteEditTextPreference.kt
index 98a2bc1b..43a29ac4 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/preference/AlwaysAutoCompleteEditTextPreference.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/preference/AlwaysAutoCompleteEditTextPreference.kt
@@ -5,7 +5,7 @@ import android.text.TextUtils
import android.util.AttributeSet
import be.mygod.vpnhotspot.R
import be.mygod.vpnhotspot.widget.AlwaysAutoCompleteEditText
-import com.takisoft.fix.support.v7.preference.AutoSummaryEditTextPreference
+import com.takisoft.preferencex.AutoSummaryEditTextPreference
open class AlwaysAutoCompleteEditTextPreference @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = R.attr.editTextPreferenceStyle,
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/preference/AlwaysAutoCompleteEditTextPreferenceDialogFragmentCompat.kt b/mobile/src/main/java/be/mygod/vpnhotspot/preference/AlwaysAutoCompleteEditTextPreferenceDialogFragmentCompat.kt
index d7b71a58..09c1fc3a 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/preference/AlwaysAutoCompleteEditTextPreferenceDialogFragmentCompat.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/preference/AlwaysAutoCompleteEditTextPreferenceDialogFragmentCompat.kt
@@ -1,7 +1,7 @@
package be.mygod.vpnhotspot.preference
-import android.support.v7.preference.PreferenceDialogFragmentCompat
-import android.support.v7.widget.AppCompatAutoCompleteTextView
+import androidx.preference.PreferenceDialogFragmentCompat
+import androidx.appcompat.widget.AppCompatAutoCompleteTextView
import android.view.View
import android.view.ViewGroup
import android.widget.ArrayAdapter
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/preference/SharedPreferenceDataStore.kt b/mobile/src/main/java/be/mygod/vpnhotspot/preference/SharedPreferenceDataStore.kt
index f6a1a69d..cc2bdf2f 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/preference/SharedPreferenceDataStore.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/preference/SharedPreferenceDataStore.kt
@@ -1,7 +1,7 @@
package be.mygod.vpnhotspot.preference
import android.content.SharedPreferences
-import android.support.v7.preference.PreferenceDataStore
+import androidx.preference.PreferenceDataStore
class SharedPreferenceDataStore(private val pref: SharedPreferences) : PreferenceDataStore() {
override fun getBoolean(key: String?, defValue: Boolean) = pref.getBoolean(key, defValue)
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/util/ServiceForegroundConnector.kt b/mobile/src/main/java/be/mygod/vpnhotspot/util/ServiceForegroundConnector.kt
index 710107bb..f9a74032 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/util/ServiceForegroundConnector.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/util/ServiceForegroundConnector.kt
@@ -1,14 +1,14 @@
package be.mygod.vpnhotspot.util
import android.app.Service
-import android.arch.lifecycle.Lifecycle
-import android.arch.lifecycle.LifecycleObserver
-import android.arch.lifecycle.LifecycleOwner
-import android.arch.lifecycle.OnLifecycleEvent
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleObserver
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.OnLifecycleEvent
import android.content.Context
import android.content.Intent
import android.content.ServiceConnection
-import android.support.v4.app.Fragment
+import androidx.fragment.app.Fragment
import kotlin.reflect.KClass
/**
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/util/Utils.kt b/mobile/src/main/java/be/mygod/vpnhotspot/util/Utils.kt
index f29bf796..e86df668 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/util/Utils.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/util/Utils.kt
@@ -1,10 +1,10 @@
package be.mygod.vpnhotspot.util
import android.content.*
-import android.databinding.BindingAdapter
+import androidx.databinding.BindingAdapter
import android.os.Bundle
-import android.support.annotation.DrawableRes
-import android.support.v4.content.ContextCompat
+import androidx.annotation.DrawableRes
+import androidx.core.content.ContextCompat
import android.util.Log
import android.view.View
import android.widget.ImageView
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/widget/AlwaysAutoCompleteEditText.kt b/mobile/src/main/java/be/mygod/vpnhotspot/widget/AlwaysAutoCompleteEditText.kt
index f8f50c4a..366bdbaf 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/widget/AlwaysAutoCompleteEditText.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/widget/AlwaysAutoCompleteEditText.kt
@@ -2,7 +2,7 @@ package be.mygod.vpnhotspot.widget
import android.content.Context
import android.graphics.Rect
-import android.support.v7.widget.AppCompatAutoCompleteTextView
+import androidx.appcompat.widget.AppCompatAutoCompleteTextView
import android.util.AttributeSet
import android.view.View
import be.mygod.vpnhotspot.R
diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/widget/AutoCollapseTextView.kt b/mobile/src/main/java/be/mygod/vpnhotspot/widget/AutoCollapseTextView.kt
index afeaa0b4..edf48e40 100644
--- a/mobile/src/main/java/be/mygod/vpnhotspot/widget/AutoCollapseTextView.kt
+++ b/mobile/src/main/java/be/mygod/vpnhotspot/widget/AutoCollapseTextView.kt
@@ -1,7 +1,7 @@
package be.mygod.vpnhotspot.widget
import android.content.Context
-import android.support.v7.widget.AppCompatTextView
+import androidx.appcompat.widget.AppCompatTextView
import android.util.AttributeSet
import android.view.View
diff --git a/mobile/src/main/res/layout/activity_main.xml b/mobile/src/main/res/layout/activity_main.xml
index ec060fba..1bc74492 100644
--- a/mobile/src/main/res/layout/activity_main.xml
+++ b/mobile/src/main/res/layout/activity_main.xml
@@ -3,12 +3,12 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
-
-
-
-
+
-
-
+
diff --git a/mobile/src/main/res/layout/dialog_wifi_ap.xml b/mobile/src/main/res/layout/dialog_wifi_ap.xml
index db280c00..0a80f97d 100644
--- a/mobile/src/main/res/layout/dialog_wifi_ap.xml
+++ b/mobile/src/main/res/layout/dialog_wifi_ap.xml
@@ -22,13 +22,13 @@
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
style="@style/wifi_item">
-
-
-
-
+
-
-
+
diff --git a/mobile/src/main/res/layout/fragment_repeater.xml b/mobile/src/main/res/layout/fragment_repeater.xml
index d31c066b..4f3c9fea 100644
--- a/mobile/src/main/res/layout/fragment_repeater.xml
+++ b/mobile/src/main/res/layout/fragment_repeater.xml
@@ -3,17 +3,17 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
-
-
-
+
diff --git a/mobile/src/main/res/layout/fragment_tethering.xml b/mobile/src/main/res/layout/fragment_tethering.xml
index 00023420..cc5c3a97 100644
--- a/mobile/src/main/res/layout/fragment_tethering.xml
+++ b/mobile/src/main/res/layout/fragment_tethering.xml
@@ -2,7 +2,7 @@
-
-
diff --git a/mobile/src/main/res/values/styles.xml b/mobile/src/main/res/values/styles.xml
index e2d504af..e85158c1 100644
--- a/mobile/src/main/res/values/styles.xml
+++ b/mobile/src/main/res/values/styles.xml
@@ -1,16 +1,9 @@
-
-