@@ -156,6 +156,7 @@ public class ZulipActivity extends BaseActivity implements
156
156
final int allPeopleId = -1 ;
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 ;
@@ -2381,21 +2382,34 @@ public void showConnectivitySnackBar(final String networkState) {
2381
2382
public void handleMessage (android .os .Message msg ) {
2382
2383
if (networkState .equals (Constants .STATUS_CONNECTING )) {
2383
2384
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 ();
2385
2387
2386
2388
} else if (networkState .equals (Constants .STATUS_CONNECTED )) {
2389
+ if (connectivitySnackbar !=null )
2390
+ {
2391
+ connectivitySnackbar .dismiss ();
2392
+ }
2387
2393
//Starts a network request only when there is an active network connection
2388
2394
startRequests ();
2389
2395
networkStatus = Constants .STATUS_CONNECTED ;
2390
- Snackbar .make (coordinatorLayout , R .string .connection_established , Snackbar .LENGTH_SHORT ).show ();
2391
2396
} else {
2392
2397
displayChatBox (false );
2393
2398
displayFAB (true );
2394
2399
//Displays old offline messages
2395
2400
if (!networkStatus .equals (Constants .STATUS_CONNECTED ))
2396
2401
onReadyToDisplay (true );
2397
2402
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 ();
2399
2413
}
2400
2414
Log .d ("NetworkStatus" , networkState );
2401
2415
super .handleMessage (msg );
0 commit comments