From 1435671aa0ede50ff91194da0eb89c20219cead3 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 12 Jan 2019 08:21:42 +0000 Subject: [PATCH] Explicitly show connection type --- .../eu/faircode/email/FragmentOptions.java | 35 +++++---------- app/src/main/res/layout/fragment_legend.xml | 44 +------------------ app/src/main/res/layout/fragment_options.xml | 16 ++++++- app/src/main/res/menu/menu_options.xml | 9 ---- 4 files changed, 26 insertions(+), 78 deletions(-) delete mode 100644 app/src/main/res/menu/menu_options.xml diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java index c5ae9ad54c..d42db43c55 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptions.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java @@ -32,15 +32,13 @@ import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.Button; import android.widget.CompoundButton; import android.widget.Spinner; +import android.widget.TextView; import java.io.IOException; @@ -55,6 +53,7 @@ public class FragmentOptions extends FragmentEx implements SharedPreferences.OnS private SwitchCompat swEnabled; private SwitchCompat swUpdates; + private TextView tvConnectionType; private SwitchCompat swMetered; private Spinner spDownload; @@ -98,6 +97,7 @@ public class FragmentOptions extends FragmentEx implements SharedPreferences.OnS swEnabled = view.findViewById(R.id.swEnabled); swUpdates = view.findViewById(R.id.swUpdates); + tvConnectionType = view.findViewById(R.id.tvConnectionType); swMetered = view.findViewById(R.id.swMetered); spDownload = view.findViewById(R.id.spDownload); @@ -411,8 +411,6 @@ public class FragmentOptions extends FragmentEx implements SharedPreferences.OnS ConnectivityManager cm = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkRequest.Builder builder = new NetworkRequest.Builder(); builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); - // Removed because of Android VPN service - // builder.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED); cm.registerNetworkCallback(builder.build(), networkCallback); } @@ -427,39 +425,26 @@ public class FragmentOptions extends FragmentEx implements SharedPreferences.OnS private ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { - getActivity().invalidateOptionsMenu(); + showConnectionType(); } @Override public void onCapabilitiesChanged(Network network, NetworkCapabilities networkCapabilities) { - getActivity().invalidateOptionsMenu(); + showConnectionType(); } @Override public void onLost(Network network) { - getActivity().invalidateOptionsMenu(); + showConnectionType(); } }; - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - inflater.inflate(R.menu.menu_options, menu); - super.onCreateOptionsMenu(menu, inflater); - } - - @Override - public void onPrepareOptionsMenu(Menu menu) { + public void showConnectionType() { Boolean metered = Helper.isMetered(getContext(), false); - MenuItem menuMetered = menu.findItem(R.id.menu_metered); - menuMetered.setVisible(metered != null); - if (metered != null) { - menuMetered.setIcon( - metered ? R.drawable.baseline_attach_money_24 : R.drawable.baseline_money_off_24); - menuMetered.setTitle( - metered ? R.string.title_legend_metered : R.string.title_legend_unmetered); - } - super.onPrepareOptionsMenu(menu); + tvConnectionType.setVisibility(metered == null ? View.GONE : View.VISIBLE); + if (metered != null) + tvConnectionType.setText(metered ? R.string.title_legend_metered : R.string.title_legend_unmetered); } @Override diff --git a/app/src/main/res/layout/fragment_legend.xml b/app/src/main/res/layout/fragment_legend.xml index bdbc3bfa6a..a1d0c47937 100644 --- a/app/src/main/res/layout/fragment_legend.xml +++ b/app/src/main/res/layout/fragment_legend.xml @@ -638,48 +638,6 @@ app:layout_constraintStart_toEndOf="@id/ivClosing" app:layout_constraintTop_toTopOf="@id/ivClosing" /> - - - - - - - - + app:layout_constraintTop_toBottomOf="@id/tvClosing" /> + + - - -