@@ -156,6 +156,7 @@ public class ZulipActivity extends BaseActivity implements
156
156
private static final int HIDE_FAB_AFTER_SEC = 5 ;
157
157
public MessageListFragment currentList ;
158
158
public CommonProgressDialog commonProgressDialog ;
159
+ private Snackbar connectivitySnackbar ;
159
160
FloatingActionButton fab ;
160
161
NarrowFilter narrowFilter ;
161
162
String prevId = null ;
@@ -2442,21 +2443,33 @@ public void showConnectivitySnackBar(final String networkState) {
2442
2443
public void handleMessage (android .os .Message msg ) {
2443
2444
if (networkState .equals (Constants .STATUS_CONNECTING )) {
2444
2445
networkStatus = Constants .STATUS_CONNECTING ;
2445
- Snackbar .make (coordinatorLayout , R .string .connecting , Snackbar .LENGTH_INDEFINITE ).show ();
2446
+ connectivitySnackbar = Snackbar .make (coordinatorLayout , R .string .connecting , Snackbar .LENGTH_INDEFINITE );
2447
+ connectivitySnackbar .show ();
2446
2448
2447
2449
} else if (networkState .equals (Constants .STATUS_CONNECTED )) {
2450
+ if (connectivitySnackbar != null ) {
2451
+ connectivitySnackbar .dismiss ();
2452
+ }
2448
2453
//Starts a network request only when there is an active network connection
2449
2454
startRequests ();
2450
2455
networkStatus = Constants .STATUS_CONNECTED ;
2451
- Snackbar .make (coordinatorLayout , R .string .connection_established , Snackbar .LENGTH_SHORT ).show ();
2452
2456
} else {
2453
2457
displayChatBox (false );
2454
2458
displayFAB (true );
2455
2459
//Displays old offline messages
2456
2460
if (!networkStatus .equals (Constants .STATUS_CONNECTED ))
2457
2461
onReadyToDisplay (true );
2458
2462
networkStatus = Constants .STATUS_NOT_CONNECTED ;
2459
- Snackbar .make (coordinatorLayout , R .string .no_connection , Snackbar .LENGTH_INDEFINITE ).show ();
2463
+ connectivitySnackbar = Snackbar .make (coordinatorLayout , R .string .no_connection , Snackbar .LENGTH_INDEFINITE );
2464
+ connectivitySnackbar .setAction ("RETRY" , new View .OnClickListener () {
2465
+ @ Override
2466
+ public void onClick (View view ) {
2467
+ showConnectivitySnackBar (Constants .STATUS_CONNECTING );
2468
+ startRequests ();
2469
+ }
2470
+ });
2471
+ connectivitySnackbar .setActionTextColor (getResources ().getColor (R .color .top_snackbar_show_button_text_color ));
2472
+ connectivitySnackbar .show ();
2460
2473
}
2461
2474
Log .d ("NetworkStatus" , networkState );
2462
2475
super .handleMessage (msg );
0 commit comments