|
28 | 28 | import android.graphics.Bitmap;
|
29 | 29 | import android.graphics.PorterDuff;
|
30 | 30 | import android.graphics.drawable.Drawable;
|
| 31 | +import android.net.ConnectivityManager; |
31 | 32 | import android.net.Uri;
|
32 | 33 | import android.os.Build;
|
33 | 34 | import android.os.Bundle;
|
@@ -553,6 +554,7 @@ public Cursor runQuery(CharSequence charSequence) {
|
553 | 554 | handleOnFragmentChange();
|
554 | 555 | calendar = Calendar.getInstance();
|
555 | 556 | setupSnackBar();
|
| 557 | + setupNetworkBroadcastReceiver(); |
556 | 558 | }
|
557 | 559 |
|
558 | 560 | /**
|
@@ -2141,4 +2143,32 @@ public void onClick(View view) {
|
2141 | 2143 | public enum Flag {
|
2142 | 2144 | RESET_DATABASE,
|
2143 | 2145 | }
|
| 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 | + } |
2144 | 2174 | }
|
0 commit comments