Improved setup internet check

master
M66B 3 weeks ago
parent 1662125df7
commit 3f3de64705

@ -910,6 +910,12 @@ public class FragmentSetup extends FragmentBase implements SharedPreferences.OnS
return view; return view;
} }
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
checkInternet.run();
}
@Override @Override
public void onDestroyView() { public void onDestroyView() {
PreferenceManager.getDefaultSharedPreferences(getContext()).unregisterOnSharedPreferenceChangeListener(this); PreferenceManager.getDefaultSharedPreferences(getContext()).unregisterOnSharedPreferenceChangeListener(this);
@ -1493,31 +1499,37 @@ public class FragmentSetup extends FragmentBase implements SharedPreferences.OnS
} }
}; };
private ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() { private final ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
getMainHandler().post(new Runnable() {
@Override @Override
public void run() { public void onAvailable(@NonNull Network network) {
updateInternet(true); check();
}
});
} }
@Override @Override
public void onLost(@NonNull Network network) { public void onLost(@NonNull Network network) {
check();
}
private void check() {
getMainHandler().post(new Runnable() { getMainHandler().post(new Runnable() {
@Override @Override
public void run() { public void run() {
updateInternet(false); if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED))
checkInternet.run();
} }
}); });
} }
};
private void updateInternet(boolean available) { private final Runnable checkInternet = new Runnable() {
if (!getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) @Override
return; public void run() {
tvNoInternet.setVisibility(available ? View.GONE : View.VISIBLE); try {
ConnectionHelper.NetworkState state = ConnectionHelper.getNetworkState(getContext());
tvNoInternet.setVisibility(state.isConnected() ? View.GONE : View.VISIBLE);
} catch (Throwable ex) {
Log.e(ex);
}
} }
}; };
} }

Loading…
Cancel
Save