mirror of https://github.com/M66B/FairEmail.git
Added setup connectivity warning
This commit is contained in:
parent
7570a0849f
commit
9638bb8a3f
|
@ -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
|
||||
|
|
|
@ -112,6 +112,22 @@
|
|||
app:layout_constraintStart_toEndOf="@id/one"
|
||||
app:layout_constraintTop_toTopOf="@id/one" />
|
||||
|
||||
<eu.faircode.email.FixedTextView
|
||||
android:id="@+id/tvNoInternet"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:drawableStart="@drawable/twotone_warning_24"
|
||||
android:drawablePadding="6dp"
|
||||
android:drawableTint="?attr/colorWarning"
|
||||
android:text="@string/title_no_internet"
|
||||
android:textAlignment="center"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Small"
|
||||
android:textColor="?attr/colorWarning"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/title1" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/ibHelp"
|
||||
android:layout_width="48dp"
|
||||
|
@ -141,7 +157,7 @@
|
|||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/title1" />
|
||||
app:layout_constraintTop_toBottomOf="@id/tvNoInternet" />
|
||||
|
||||
<eu.faircode.email.FixedTextView
|
||||
android:id="@+id/tvQuickRemarkMultiple"
|
||||
|
|
Loading…
Reference in New Issue