@@ -156,6 +156,7 @@ public class ZulipActivity extends BaseActivity implements
156156 final int allPeopleId = -1 ;
157157 public MessageListFragment currentList ;
158158 public CommonProgressDialog commonProgressDialog ;
159+ private Snackbar connectivitySnackbar ;
159160 FloatingActionButton fab ;
160161 NarrowFilter narrowFilter ;
161162 String prevId = null ;
@@ -2381,21 +2382,34 @@ public void showConnectivitySnackBar(final String networkState) {
23812382 public void handleMessage (android .os .Message msg ) {
23822383 if (networkState .equals (Constants .STATUS_CONNECTING )) {
23832384 networkStatus = Constants .STATUS_CONNECTING ;
2384- Snackbar .make (coordinatorLayout , R .string .connecting , Snackbar .LENGTH_INDEFINITE ).show ();
2385+ connectivitySnackbar =Snackbar .make (coordinatorLayout , R .string .connecting , Snackbar .LENGTH_INDEFINITE );
2386+ connectivitySnackbar .show ();
23852387
23862388 } else if (networkState .equals (Constants .STATUS_CONNECTED )) {
2389+ if (connectivitySnackbar !=null )
2390+ {
2391+ connectivitySnackbar .dismiss ();
2392+ }
23872393 //Starts a network request only when there is an active network connection
23882394 startRequests ();
23892395 networkStatus = Constants .STATUS_CONNECTED ;
2390- Snackbar .make (coordinatorLayout , R .string .connection_established , Snackbar .LENGTH_SHORT ).show ();
23912396 } else {
23922397 displayChatBox (false );
23932398 displayFAB (true );
23942399 //Displays old offline messages
23952400 if (!networkStatus .equals (Constants .STATUS_CONNECTED ))
23962401 onReadyToDisplay (true );
23972402 networkStatus = Constants .STATUS_NOT_CONNECTED ;
2398- Snackbar .make (coordinatorLayout , R .string .no_connection , Snackbar .LENGTH_INDEFINITE ).show ();
2403+ connectivitySnackbar =Snackbar .make (coordinatorLayout , R .string .no_connection , Snackbar .LENGTH_INDEFINITE );
2404+ connectivitySnackbar .setAction ("RETRY" , new View .OnClickListener () {
2405+ @ Override
2406+ public void onClick (View view ) {
2407+ showConnectivitySnackBar (Constants .STATUS_CONNECTING );
2408+ startRequests ();
2409+ }
2410+ });
2411+ connectivitySnackbar .setActionTextColor (getResources ().getColor (R .color .top_snackbar_show_button_text_color ));
2412+ connectivitySnackbar .show ();
23992413 }
24002414 Log .d ("NetworkStatus" , networkState );
24012415 super .handleMessage (msg );
0 commit comments