diff options
| author | Aleksandr Granin <aleksandr@mullvad.net> | 2021-01-08 15:59:02 +0100 |
|---|---|---|
| committer | Aleksandr Granin <aleksandr@mullvad.net> | 2021-01-19 14:10:29 +0100 |
| commit | 43109a76357ba9d85daa1c8c67d61c8b5fb87b3b (patch) | |
| tree | f88801308525399205b07e427d569e1b2152caa5 /android/src | |
| parent | e9d8f0de61b4598e45177ff96055419536d8b3a2 (diff) | |
| download | mullvadvpn-43109a76357ba9d85daa1c8c67d61c8b5fb87b3b.tar.xz mullvadvpn-43109a76357ba9d85daa1c8c67d61c8b5fb87b3b.zip | |
Migrate to androidX
Diffstat (limited to 'android/src')
35 files changed, 104 insertions, 103 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListAdapter.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListAdapter.kt index 91e1d0f951..1401ffa26b 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListAdapter.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListAdapter.kt @@ -4,9 +4,9 @@ import android.Manifest import android.content.Context import android.content.pm.ApplicationInfo import android.content.pm.PackageManager -import android.support.v7.widget.RecyclerView.Adapter import android.view.LayoutInflater import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView.Adapter import kotlin.properties.Delegates.observable import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.service.SplitTunneling diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListItemHolder.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListItemHolder.kt index ad9fcc3318..2a9a6249dd 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListItemHolder.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/applist/AppListItemHolder.kt @@ -2,10 +2,10 @@ package net.mullvad.mullvadvpn.applist import android.content.pm.PackageManager import android.graphics.drawable.Drawable -import android.support.v7.widget.RecyclerView.ViewHolder import android.view.View import android.widget.ImageView import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView.ViewHolder import kotlin.properties.Delegates.observable import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.service.SplitTunneling diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemHolder.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemHolder.kt index a215930194..a16313f797 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemHolder.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayItemHolder.kt @@ -1,11 +1,11 @@ package net.mullvad.mullvadvpn.relaylist -import android.support.v7.widget.RecyclerView.ViewHolder import android.view.View import android.view.ViewGroup.MarginLayoutParams import android.widget.ImageButton import android.widget.ImageView import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView.ViewHolder import net.mullvad.mullvadvpn.R class RelayItemHolder( diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt index a4f521be3d..0937592399 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt @@ -1,9 +1,9 @@ package net.mullvad.mullvadvpn.relaylist import android.content.res.Resources -import android.support.v7.widget.RecyclerView.Adapter import android.view.LayoutInflater import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView.Adapter import java.lang.ref.WeakReference import java.util.LinkedList import net.mullvad.mullvadvpn.R diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt index a5d05628b2..9ab632f017 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt @@ -47,8 +47,10 @@ class ForegroundNotificationManager( loggedIn = accountNumber != null } - private var tunnelStateEvents - by autoSubscribable<TunnelState>(this, TunnelState.Disconnected()) { newState -> + private var tunnelStateEvents by autoSubscribable<TunnelState>( + this, + TunnelState.Disconnected() + ) { newState -> updater.sendBlocking(UpdaterMessage.NewTunnelState(newState)) } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt index 1b31605adc..4f1f291026 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt @@ -63,8 +63,8 @@ class MullvadVpnService : TalpidVpnService() { } } - private var accountExpiryNotification - by observable<AccountExpiryNotification?>(null) { _, oldNotification, _ -> + private var accountExpiryNotification by observable<AccountExpiryNotification?>(null) { + _, oldNotification, _ -> oldNotification?.onDestroy() } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/NotificationChannel.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/NotificationChannel.kt index 0f4646335c..16d44487c3 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/NotificationChannel.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/NotificationChannel.kt @@ -6,7 +6,7 @@ import android.app.NotificationManager import android.app.PendingIntent import android.content.Context import android.os.Build -import android.support.v4.app.NotificationCompat +import androidx.core.app.NotificationCompat import net.mullvad.mullvadvpn.R class NotificationChannel( diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/TunnelStateNotification.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/TunnelStateNotification.kt index de384379cf..8bb836f0f4 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/TunnelStateNotification.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/notifications/TunnelStateNotification.kt @@ -6,7 +6,7 @@ import android.app.PendingIntent import android.content.Context import android.content.Intent import android.os.Build -import android.support.v4.app.NotificationCompat +import androidx.core.app.NotificationCompat import kotlin.properties.Delegates.observable import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.model.TunnelState diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt index d5644ae72f..86538f71dc 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt @@ -1,10 +1,10 @@ package net.mullvad.mullvadvpn.ui import android.os.Bundle -import android.support.v4.app.FragmentManager import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.fragment.app.FragmentManager import java.text.DateFormat import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.model.TunnelState @@ -139,9 +139,9 @@ class AccountFragment : ServiceDependentFragment(OnNoService.GoBack) { } private fun showRedeemVoucherDialog() { - val transaction = fragmentManager?.beginTransaction() + val transaction = requireFragmentManager().beginTransaction() - transaction?.addToBackStack(null) + transaction.addToBackStack(null) RedeemVoucherDialogFragment().show(transaction, null) } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt index f02f5cca91..b7b9445cbe 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt @@ -1,10 +1,10 @@ package net.mullvad.mullvadvpn.ui import android.os.Bundle -import android.support.v7.widget.LinearLayoutManager import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.recyclerview.widget.LinearLayoutManager import kotlinx.coroutines.CompletableDeferred import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.model.Settings @@ -124,10 +124,10 @@ class AdvancedFragment : ServiceDependentFragment(OnNoService.GoBack) { } private fun showConfirmPublicDnsServerDialog(confirmation: CompletableDeferred<Boolean>) { - val transaction = fragmentManager?.beginTransaction() + val transaction = requireFragmentManager().beginTransaction() detachBackButtonHandler() - transaction?.addToBackStack(null) + transaction.addToBackStack(null) ConfirmPublicDnsDialogFragment() .apply { confirmPublicDns = confirmation } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConfirmNoEmailDialogFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConfirmNoEmailDialogFragment.kt index 1789bd0c64..8271e8141d 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConfirmNoEmailDialogFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConfirmNoEmailDialogFragment.kt @@ -5,12 +5,12 @@ import android.content.Context import android.content.DialogInterface import android.graphics.drawable.ColorDrawable import android.os.Bundle -import android.support.v4.app.DialogFragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.view.ViewGroup.LayoutParams import android.widget.Button +import androidx.fragment.app.DialogFragment import kotlinx.coroutines.CompletableDeferred import net.mullvad.mullvadvpn.R diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConfirmPublicDnsDialogFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConfirmPublicDnsDialogFragment.kt index 3888e756e0..c75662dcf0 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConfirmPublicDnsDialogFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConfirmPublicDnsDialogFragment.kt @@ -4,12 +4,12 @@ import android.app.Dialog import android.content.DialogInterface import android.graphics.drawable.ColorDrawable import android.os.Bundle -import android.support.v4.app.DialogFragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.view.ViewGroup.LayoutParams import android.widget.Button +import androidx.fragment.app.DialogFragment import kotlinx.coroutines.CompletableDeferred import net.mullvad.mullvadvpn.R diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ListItemDividerDecoration.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ListItemDividerDecoration.kt index 55084a0ea2..07753a1265 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ListItemDividerDecoration.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ListItemDividerDecoration.kt @@ -2,10 +2,10 @@ package net.mullvad.mullvadvpn.ui import android.content.Context import android.graphics.Rect -import android.support.v7.widget.RecyclerView -import android.support.v7.widget.RecyclerView.ItemDecoration -import android.support.v7.widget.RecyclerView.State import android.view.View +import androidx.recyclerview.widget.RecyclerView +import androidx.recyclerview.widget.RecyclerView.ItemDecoration +import androidx.recyclerview.widget.RecyclerView.State import kotlin.properties.Delegates.observable class ListItemDividerDecoration(context: Context) : ItemDecoration() { diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt index fa5df39a0e..528524ac23 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt @@ -2,12 +2,12 @@ package net.mullvad.mullvadvpn.ui import android.graphics.Rect import android.os.Bundle -import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ScrollView import android.widget.TextView +import androidx.fragment.app.Fragment import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.delay import net.mullvad.mullvadvpn.R diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt index 613927fe49..5929490065 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt @@ -9,10 +9,10 @@ import android.content.res.Configuration import android.os.Build import android.os.Bundle import android.os.IBinder -import android.support.v4.app.Fragment -import android.support.v4.app.FragmentActivity -import android.support.v4.app.FragmentManager import android.view.WindowManager +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentActivity +import androidx.fragment.app.FragmentManager import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch @@ -170,7 +170,7 @@ class MainActivity : FragmentActivity() { } fun openSettings() { - supportFragmentManager?.beginTransaction()?.apply { + supportFragmentManager.beginTransaction().apply { setCustomAnimations( R.anim.fragment_enter_from_bottom, R.anim.do_nothing, @@ -184,7 +184,7 @@ class MainActivity : FragmentActivity() { } fun returnToLaunchScreen() { - supportFragmentManager?.apply { + supportFragmentManager.apply { popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE) beginTransaction().apply { @@ -206,7 +206,7 @@ class MainActivity : FragmentActivity() { } private fun addInitialFragment() { - supportFragmentManager?.beginTransaction()?.apply { + supportFragmentManager.beginTransaction().apply { add(R.id.main_fragment, LaunchFragment()) commit() } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ProblemReportFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ProblemReportFragment.kt index 491f0d53fc..ce99256e19 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ProblemReportFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ProblemReportFragment.kt @@ -3,7 +3,6 @@ package net.mullvad.mullvadvpn.ui import android.content.Context import android.graphics.Typeface import android.os.Bundle -import android.support.v4.app.Fragment import android.text.Editable import android.text.Spannable import android.text.SpannableStringBuilder @@ -18,6 +17,7 @@ import android.widget.EditText import android.widget.ScrollView import android.widget.TextView import android.widget.ViewSwitcher +import androidx.fragment.app.Fragment import kotlin.properties.Delegates.observable import kotlinx.coroutines.CompletableDeferred import net.mullvad.mullvadvpn.R @@ -197,9 +197,9 @@ class ProblemReportFragment : Fragment() { } private fun showConfirmNoEmailDialog() { - val transaction = fragmentManager?.beginTransaction() + val transaction = requireFragmentManager().beginTransaction() - transaction?.addToBackStack(null) + transaction.addToBackStack(null) ConfirmNoEmailDialogFragment().show(transaction, null) } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/RedeemVoucherDialogFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/RedeemVoucherDialogFragment.kt index 1a300e1fec..5822da9a91 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/RedeemVoucherDialogFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/RedeemVoucherDialogFragment.kt @@ -4,7 +4,6 @@ import android.app.Dialog import android.content.Context import android.graphics.drawable.ColorDrawable import android.os.Bundle -import android.support.v4.app.DialogFragment import android.text.Editable import android.text.TextWatcher import android.view.LayoutInflater @@ -13,6 +12,7 @@ import android.view.ViewGroup import android.view.ViewGroup.LayoutParams import android.widget.EditText import android.widget.TextView +import androidx.fragment.app.DialogFragment import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.model.VoucherSubmissionResult import net.mullvad.mullvadvpn.service.AccountCache diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SelectLocationFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SelectLocationFragment.kt index e35377c690..ddc89d973b 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SelectLocationFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SelectLocationFragment.kt @@ -2,7 +2,6 @@ package net.mullvad.mullvadvpn.ui import android.content.Context import android.os.Bundle -import android.support.v7.widget.LinearLayoutManager import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -10,6 +9,7 @@ import android.view.animation.Animation import android.view.animation.Animation.AnimationListener import android.view.animation.AnimationUtils import android.widget.ImageButton +import androidx.recyclerview.widget.LinearLayoutManager import kotlinx.coroutines.CompletableDeferred import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.model.Constraint diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceAwareFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceAwareFragment.kt index 4bbff22a59..aa70bfd4ca 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceAwareFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceAwareFragment.kt @@ -1,7 +1,7 @@ package net.mullvad.mullvadvpn.ui import android.content.Context -import android.support.v4.app.Fragment +import androidx.fragment.app.Fragment import net.mullvad.mullvadvpn.util.JobTracker abstract class ServiceAwareFragment : Fragment() { diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SplitTunnelingFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SplitTunnelingFragment.kt index 6294a2028a..a7b74ddeb0 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SplitTunnelingFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SplitTunnelingFragment.kt @@ -4,10 +4,10 @@ import android.animation.Animator import android.animation.Animator.AnimatorListener import android.animation.ObjectAnimator import android.os.Bundle -import android.support.v7.widget.LinearLayoutManager import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.recyclerview.widget.LinearLayoutManager import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.applist.AppListAdapter import net.mullvad.mullvadvpn.ui.widget.CellSwitch diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/UnderNotificationBannerBehavior.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/UnderNotificationBannerBehavior.kt index e53a8fe2fe..2b28f21ff1 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/UnderNotificationBannerBehavior.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/UnderNotificationBannerBehavior.kt @@ -1,11 +1,11 @@ package net.mullvad.mullvadvpn.ui import android.content.Context -import android.support.design.widget.CoordinatorLayout -import android.support.design.widget.CoordinatorLayout.Behavior import android.util.AttributeSet import android.view.View import android.widget.ScrollView +import androidx.coordinatorlayout.widget.CoordinatorLayout +import androidx.coordinatorlayout.widget.CoordinatorLayout.Behavior import net.mullvad.mullvadvpn.R class UnderNotificationBannerBehavior( diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ViewLogsFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ViewLogsFragment.kt index 30a81111b9..43a31ccfad 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ViewLogsFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ViewLogsFragment.kt @@ -2,11 +2,11 @@ package net.mullvad.mullvadvpn.ui import android.content.Context import android.os.Bundle -import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.EditText +import androidx.fragment.app.Fragment import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.dataproxy.MullvadProblemReport import net.mullvad.mullvadvpn.util.JobTracker diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/CustomDnsAdapter.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/CustomDnsAdapter.kt index 44af15c1f7..709fc2d1b6 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/CustomDnsAdapter.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/CustomDnsAdapter.kt @@ -1,8 +1,8 @@ package net.mullvad.mullvadvpn.ui.customdns -import android.support.v7.widget.RecyclerView.Adapter import android.view.LayoutInflater import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView.Adapter import java.net.InetAddress import kotlin.properties.Delegates.observable import kotlinx.coroutines.CompletableDeferred @@ -27,8 +27,8 @@ class CustomDnsAdapter(val customDns: CustomDns) : Adapter<CustomDnsItemHolder>( private var editingPosition: Int? = null - private var activeCustomDnsServers - by observable<List<InetAddress>>(emptyList()) { _, _, servers -> + private var activeCustomDnsServers by observable<List<InetAddress>>(emptyList()) { + _, _, servers -> if (servers != cachedCustomDnsServers) { cachedCustomDnsServers = servers.toMutableList() notifyDataSetChanged() diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/CustomDnsItemHolder.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/CustomDnsItemHolder.kt index 3276737e5d..cfaf9399cc 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/CustomDnsItemHolder.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/customdns/CustomDnsItemHolder.kt @@ -1,6 +1,6 @@ package net.mullvad.mullvadvpn.ui.customdns -import android.support.v7.widget.RecyclerView.ViewHolder import android.view.View +import androidx.recyclerview.widget.RecyclerView.ViewHolder abstract class CustomDnsItemHolder(view: View) : ViewHolder(view) diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryAdapter.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryAdapter.kt index 737e4a3859..555d8e75b0 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryAdapter.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryAdapter.kt @@ -1,8 +1,8 @@ package net.mullvad.mullvadvpn.ui.widget -import android.support.v7.widget.RecyclerView.Adapter import android.view.LayoutInflater import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView.Adapter import kotlin.properties.Delegates.observable import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.util.SegmentedTextFormatter diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryHolder.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryHolder.kt index e0e911467b..4a87f4f601 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryHolder.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountHistoryHolder.kt @@ -1,8 +1,8 @@ package net.mullvad.mullvadvpn.ui.widget -import android.support.v7.widget.RecyclerView.ViewHolder import android.view.View import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView.ViewHolder import kotlin.properties.Delegates.observable import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.util.SegmentedTextFormatter diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountLogin.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountLogin.kt index 58051411ff..491c7086e2 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountLogin.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountLogin.kt @@ -3,15 +3,14 @@ package net.mullvad.mullvadvpn.ui.widget import android.animation.ValueAnimator import android.app.Activity import android.content.Context -import android.support.v7.widget.LinearLayoutManager -import android.support.v7.widget.RecyclerView import android.util.AttributeSet import android.view.LayoutInflater import android.view.View import android.view.View.OnLayoutChangeListener -import android.view.ViewGroup.MarginLayoutParams import android.view.inputmethod.InputMethodManager import android.widget.RelativeLayout +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import kotlin.properties.Delegates.observable import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.ui.ListItemDividerDecoration diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CustomItemAnimator.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CustomItemAnimator.kt index 06244067b8..ef8caf7e7c 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CustomItemAnimator.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CustomItemAnimator.kt @@ -1,8 +1,8 @@ package net.mullvad.mullvadvpn.ui.widget -import android.support.v7.widget.DefaultItemAnimator -import android.support.v7.widget.RecyclerView.LayoutManager -import android.support.v7.widget.RecyclerView.ViewHolder +import androidx.recyclerview.widget.DefaultItemAnimator +import androidx.recyclerview.widget.RecyclerView.LayoutManager +import androidx.recyclerview.widget.RecyclerView.ViewHolder import kotlin.math.round class CustomItemAnimator : DefaultItemAnimator() { diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CustomRecyclerView.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CustomRecyclerView.kt index 3e0c4d1d70..4684d50871 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CustomRecyclerView.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CustomRecyclerView.kt @@ -1,9 +1,8 @@ package net.mullvad.mullvadvpn.ui.widget import android.content.Context -import android.support.v7.widget.RecyclerView -import android.support.v7.widget.RecyclerView.LayoutManager import android.util.AttributeSet +import androidx.recyclerview.widget.RecyclerView import net.mullvad.mullvadvpn.util.ListenableScrollableView class CustomRecyclerView : RecyclerView, ListenableScrollableView { diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NavigateCell.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NavigateCell.kt index 9ff9c3588d..1080e4e3fb 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NavigateCell.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NavigateCell.kt @@ -1,10 +1,10 @@ package net.mullvad.mullvadvpn.ui.widget import android.content.Context -import android.support.v4.app.Fragment -import android.support.v4.app.FragmentActivity import android.util.AttributeSet import android.widget.ImageView +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentActivity import kotlin.reflect.KClass import net.mullvad.mullvadvpn.R diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/RedeemVoucherButton.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/RedeemVoucherButton.kt index 308eff37df..f1e27e7b1b 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/RedeemVoucherButton.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/RedeemVoucherButton.kt @@ -1,8 +1,8 @@ package net.mullvad.mullvadvpn.ui.widget import android.content.Context -import android.support.v4.app.FragmentManager import android.util.AttributeSet +import androidx.fragment.app.FragmentManager import net.mullvad.mullvadvpn.ui.RedeemVoucherDialogFragment import net.mullvad.mullvadvpn.util.JobTracker diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/util/AdapterWithHeader.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/util/AdapterWithHeader.kt index 379d58f758..cbf96457ef 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/util/AdapterWithHeader.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/util/AdapterWithHeader.kt @@ -1,11 +1,11 @@ package net.mullvad.mullvadvpn.util -import android.support.v7.widget.RecyclerView.Adapter -import android.support.v7.widget.RecyclerView.AdapterDataObserver -import android.support.v7.widget.RecyclerView.ViewHolder import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView.Adapter +import androidx.recyclerview.widget.RecyclerView.AdapterDataObserver +import androidx.recyclerview.widget.RecyclerView.ViewHolder import kotlin.properties.Delegates.observable class AdapterWithHeader<H : ViewHolder>( diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/util/HeaderOrHolder.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/util/HeaderOrHolder.kt index 631d69100e..308298443a 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/util/HeaderOrHolder.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/util/HeaderOrHolder.kt @@ -1,7 +1,7 @@ package net.mullvad.mullvadvpn.util -import android.support.v7.widget.RecyclerView.ViewHolder import android.view.View +import androidx.recyclerview.widget.RecyclerView.ViewHolder sealed class HeaderOrHolder<H : ViewHolder>(itemView: View) : ViewHolder(itemView) { class Header<H : ViewHolder>(headerView: View) : HeaderOrHolder<H>(headerView) diff --git a/android/src/main/res/layout/account_login.xml b/android/src/main/res/layout/account_login.xml index d91222c73f..8a57930721 100644 --- a/android/src/main/res/layout/account_login.xml +++ b/android/src/main/res/layout/account_login.xml @@ -9,8 +9,8 @@ android:layout_height="48dp" android:layout_alignParentTop="true" android:orientation="horizontal" /> - <android.support.v7.widget.RecyclerView android:id="@+id/history" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_below="@id/input" /> + <androidx.recyclerview.widget.RecyclerView android:id="@+id/history" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_below="@id/input" /> </merge> diff --git a/android/src/main/res/layout/connect.xml b/android/src/main/res/layout/connect.xml index 254dd05442..d6ac999d43 100644 --- a/android/src/main/res/layout/connect.xml +++ b/android/src/main/res/layout/connect.xml @@ -7,8 +7,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:elevation="0.5dp" /> - <android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" - android:layout_height="match_parent"> + <androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="match_parent" + android:layout_height="match_parent"> <net.mullvad.mullvadvpn.ui.widget.NotificationBanner android:id="@+id/notification_banner" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -16,75 +16,76 @@ <ScrollView android:id="@+id/body" android:layout_width="match_parent" android:layout_height="match_parent" - app:layout_behavior="net.mullvad.mullvadvpn.ui.UnderNotificationBannerBehavior" - android:fillViewport="true"> + android:fillViewport="true" + app:layout_behavior="net.mullvad.mullvadvpn.ui.UnderNotificationBannerBehavior"> + <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" - android:orientation="vertical" - android:gravity="bottom"> + android:gravity="bottom" + android:orientation="vertical"> <ProgressBar android:id="@+id/connecting_spinner" android:layout_width="60dp" android:layout_height="60dp" android:layout_gravity="center" android:layout_marginBottom="7dp" android:indeterminate="true" - android:indeterminateOnly="true" - android:indeterminateDuration="600" android:indeterminateDrawable="@drawable/icon_spinner" + android:indeterminateDuration="600" + android:indeterminateOnly="true" android:visibility="invisible" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_weight="0" android:layout_marginTop="7dp" - android:orientation="vertical" - android:gravity="start"> + android:layout_weight="0" + android:gravity="start" + android:orientation="vertical"> <TextView android:id="@+id/connection_status" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginBottom="2dp" android:layout_marginHorizontal="@dimen/side_margin" + android:layout_marginBottom="2dp" + android:text="@string/unsecured_connection" + android:textAllCaps="true" android:textColor="@color/red" android:textSize="@dimen/text_medium" - android:textStyle="bold" - android:text="@string/unsecured_connection" - android:textAllCaps="true" /> + android:textStyle="bold" /> <TextView android:id="@+id/city" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/side_margin" + android:text="" android:textColor="@color/white" android:textSize="@dimen/text_huge" - android:textStyle="bold" - android:text="" /> + android:textStyle="bold" /> <TextView android:id="@+id/country" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/side_margin" android:layout_marginBottom="2dp" + android:text="" android:textColor="@color/white" android:textSize="@dimen/text_huge" - android:textStyle="bold" - android:text="" /> + android:textStyle="bold" /> <LinearLayout android:id="@+id/tunnel_info" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0" - android:orientation="vertical" - android:paddingHorizontal="@dimen/side_margin" - android:gravity="bottom" + android:background="?android:attr/selectableItemBackground" android:clickable="true" android:focusable="true" - android:background="?android:attr/selectableItemBackground"> + android:gravity="bottom" + android:orientation="vertical" + android:paddingHorizontal="@dimen/side_margin"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" - android:orientation="horizontal" - android:gravity="center"> + android:gravity="center" + android:orientation="horizontal"> <TextView android:id="@+id/hostname" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:text="" android:textColor="@color/white40" - android:textSize="@dimen/text_hostname" - android:text="" /> + android:textSize="@dimen/text_hostname" /> <ImageView android:id="@+id/chevron" android:layout_width="24dp" android:layout_height="24dp" @@ -96,23 +97,23 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1dp" + android:text="" android:textColor="@color/white" - android:textSize="@dimen/text_small" - android:text="" /> + android:textSize="@dimen/text_small" /> <TextView android:id="@+id/in_address" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1dp" + android:text="" android:textColor="@color/white" - android:textSize="@dimen/text_small" - android:text="" /> + android:textSize="@dimen/text_small" /> <TextView android:id="@+id/out_address" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1dp" + android:text="" android:textColor="@color/white" - android:textSize="@dimen/text_small" - android:text="" /> + android:textSize="@dimen/text_small" /> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" @@ -130,21 +131,21 @@ android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/action_button" + style="@style/GreenButton" android:layout_weight="1" - android:text="@string/connect" - style="@style/GreenButton" /> + android:text="@string/connect" /> <ImageButton android:id="@+id/reconnect_button" android:layout_width="50dp" android:layout_height="match_parent" - android:layout_weight="0" android:layout_marginLeft="1dp" - android:padding="9dp" + android:layout_weight="0" android:background="@drawable/transparent_red_right_half_button_background" - android:visibility="gone" - android:src="@drawable/icon_reload" /> + android:padding="9dp" + android:src="@drawable/icon_reload" + android:visibility="gone" /> </LinearLayout> </LinearLayout> </LinearLayout> </ScrollView> - </android.support.design.widget.CoordinatorLayout> + </androidx.coordinatorlayout.widget.CoordinatorLayout> </LinearLayout> |
