Skip to content
This repository was archived by the owner on Jul 25, 2024. It is now read-only.

Commit 47521cd

Browse files
committed
Connection Status: Added Network Broadcast Receiver
Fixes #312
1 parent a4374c1 commit 47521cd

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

Diff for: app/src/main/java/com/zulip/android/activities/ZulipActivity.java

+30
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import android.graphics.Bitmap;
2929
import android.graphics.PorterDuff;
3030
import android.graphics.drawable.Drawable;
31+
import android.net.ConnectivityManager;
3132
import android.net.Uri;
3233
import android.os.Build;
3334
import android.os.Bundle;
@@ -553,6 +554,7 @@ public Cursor runQuery(CharSequence charSequence) {
553554
handleOnFragmentChange();
554555
calendar = Calendar.getInstance();
555556
setupSnackBar();
557+
setupNetworkBroadcastReceiver();
556558
}
557559

558560
/**
@@ -2141,4 +2143,32 @@ public void onClick(View view) {
21412143
public enum Flag {
21422144
RESET_DATABASE,
21432145
}
2146+
public void setupNetworkBroadcastReceiver()
2147+
{
2148+
BroadcastReceiver networkStateReceiver = new BroadcastReceiver() {
2149+
final CoordinatorLayout coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinatorLayout);
2150+
@Override
2151+
public void onReceive(Context context, Intent intent) {
2152+
Log.d("Network Listener", "Network Type Changed");
2153+
boolean isConnected = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
2154+
if(isConnected){
2155+
//Disable fab when there is no connectivity
2156+
fab.setEnabled(false);
2157+
fab.setVisibility(View.INVISIBLE);
2158+
Snackbar.make(coordinatorLayout,"No Connection!",Snackbar.LENGTH_INDEFINITE).show();
2159+
Log.d("Network Listener", "No Internet");
2160+
}
2161+
else{
2162+
//Enabling fab when connection is reestablished
2163+
fab.setEnabled(true);
2164+
fab.setVisibility(View.VISIBLE);
2165+
Snackbar.make(coordinatorLayout,"Connection Established",Snackbar.LENGTH_SHORT).show();
2166+
Log.d("Network Listener", "Internet");
2167+
}
2168+
}
2169+
};
2170+
2171+
IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
2172+
registerReceiver(networkStateReceiver, filter);
2173+
}
21442174
}

0 commit comments

Comments
 (0)