@@ -156,6 +156,7 @@ public class ZulipActivity extends BaseActivity implements
156156 private static final int HIDE_FAB_AFTER_SEC = 5 ;
157157 public MessageListFragment currentList ;
158158 public CommonProgressDialog commonProgressDialog ;
159+ private Snackbar connectivitySnackbar ;
159160 FloatingActionButton fab ;
160161 NarrowFilter narrowFilter ;
161162 String prevId = null ;
@@ -2442,21 +2443,33 @@ public void showConnectivitySnackBar(final String networkState) {
24422443 public void handleMessage (android .os .Message msg ) {
24432444 if (networkState .equals (Constants .STATUS_CONNECTING )) {
24442445 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 ();
24462448
24472449 } else if (networkState .equals (Constants .STATUS_CONNECTED )) {
2450+ if (connectivitySnackbar != null ) {
2451+ connectivitySnackbar .dismiss ();
2452+ }
24482453 //Starts a network request only when there is an active network connection
24492454 startRequests ();
24502455 networkStatus = Constants .STATUS_CONNECTED ;
2451- Snackbar .make (coordinatorLayout , R .string .connection_established , Snackbar .LENGTH_SHORT ).show ();
24522456 } else {
24532457 displayChatBox (false );
24542458 displayFAB (true );
24552459 //Displays old offline messages
24562460 if (!networkStatus .equals (Constants .STATUS_CONNECTED ))
24572461 onReadyToDisplay (true );
24582462 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 ();
24602473 }
24612474 Log .d ("NetworkStatus" , networkState );
24622475 super .handleMessage (msg );
0 commit comments