Skip to content
This repository was archived by the owner on Jul 25, 2024. It is now read-only.

Commit 1513d5e

Browse files
committed
Added retry button to connectivitySnackbar.
1 parent 23c47ee commit 1513d5e

File tree

3 files changed

+19
-7
lines changed

3 files changed

+19
-7
lines changed

app/src/main/java/com/zulip/android/activities/ZulipActivity.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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);

app/src/main/java/com/zulip/android/networking/AsyncGetEvents.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -287,9 +287,8 @@ public void run() {
287287
if (body.getEvents().size() > 0) {
288288
this.processEvents(body);
289289
app.setLastEventId(body.getEvents().get(body.getEvents().size() - 1).getId());
290-
//Shows connected status on receiving data
291-
if (failures > 0)
292-
mActivity.showConnectivitySnackBar(Constants.STATUS_CONNECTED);
290+
//Dismiss Snackbar on Connecting
291+
mActivity.showConnectivitySnackBar(Constants.STATUS_CONNECTED);
293292
failures = 0;
294293
}
295294

app/src/main/res/values/strings.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,6 @@
156156
<string name="copy_message_fetch">Copying message to clipboard</string>
157157
<string name="copy_failed">Copying to clipboard failed</string>
158158
<string name="try_again_error_msg">Something went wrong, try again</string>
159-
<string name="connection_established">Connection Established</string>
160159
<string name="no_connection">Waiting for Connection</string>
161160
<string name="connecting">Connecting ...</string>
162161
</resources>

0 commit comments

Comments
 (0)