mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-01 22:56:33 +02:00
Added setup connectivity warning
This commit is contained in:
@@ -31,6 +31,7 @@ import android.graphics.Paint;
|
||||
import android.graphics.Typeface;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.Network;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
@@ -62,6 +63,7 @@ import java.util.List;
|
||||
public class FragmentSetup extends FragmentBase {
|
||||
private ViewGroup view;
|
||||
|
||||
private TextView tvNoInternet;
|
||||
private ImageButton ibHelp;
|
||||
private Button btnQuick;
|
||||
private TextView tvQuickNew;
|
||||
@@ -127,6 +129,7 @@ public class FragmentSetup extends FragmentBase {
|
||||
|
||||
// Get controls
|
||||
|
||||
tvNoInternet = view.findViewById(R.id.tvNoInternet);
|
||||
ibHelp = view.findViewById(R.id.ibHelp);
|
||||
btnQuick = view.findViewById(R.id.btnQuick);
|
||||
tvQuickNew = view.findViewById(R.id.tvQuickNew);
|
||||
@@ -429,6 +432,7 @@ public class FragmentSetup extends FragmentBase {
|
||||
: R.color.lightColorBackground_cards));
|
||||
}
|
||||
|
||||
tvNoInternet.setVisibility(View.GONE);
|
||||
btnIdentity.setEnabled(false);
|
||||
tvNoComposable.setVisibility(View.GONE);
|
||||
|
||||
@@ -517,6 +521,11 @@ public class FragmentSetup extends FragmentBase {
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
ConnectivityManager cm = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
cm.registerDefaultNetworkCallback(networkCallback);
|
||||
}
|
||||
|
||||
// Doze
|
||||
Boolean ignoring = Helper.isIgnoringOptimizations(getContext());
|
||||
|
||||
@@ -553,6 +562,16 @@ public class FragmentSetup extends FragmentBase {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
ConnectivityManager cm = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
cm.unregisterNetworkCallback(networkCallback);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
for (int i = 0; i < permissions.length; i++)
|
||||
@@ -571,6 +590,28 @@ public class FragmentSetup extends FragmentBase {
|
||||
btnPermissions.setEnabled(!granted);
|
||||
}
|
||||
|
||||
private ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() {
|
||||
@Override
|
||||
public void onAvailable(Network network) {
|
||||
view.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
tvNoInternet.setVisibility(View.GONE);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLost(@NonNull Network network) {
|
||||
view.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
tvNoInternet.setVisibility(View.VISIBLE);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
public static class FragmentDialogDoze extends FragmentDialogBase {
|
||||
@NonNull
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user