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

Commit d3a2c16

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

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

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

Lines changed: 18 additions & 5 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;
@@ -1980,7 +1981,7 @@ public boolean onCreateOptionsMenu(Menu menu) {
19801981

19811982
@Override
19821983
public boolean onPrepareOptionsMenu(Menu menu) {
1983-
if (networkStatus.equals(Constants.STATUS_CONNECTED)||networkStatus.equals(Constants.STATUS_CONNECTING)) {
1984+
if (networkStatus.equals(Constants.STATUS_CONNECTED) || networkStatus.equals(Constants.STATUS_CONNECTING)) {
19841985
menu.findItem(R.id.refresh).setEnabled(true);
19851986
} else {
19861987
//Disabling the refresh button
@@ -2381,21 +2382,33 @@ 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+
connectivitySnackbar.dismiss();
2391+
}
23872392
//Starts a network request only when there is an active network connection
23882393
startRequests();
23892394
networkStatus = Constants.STATUS_CONNECTED;
2390-
Snackbar.make(coordinatorLayout, R.string.connection_established, Snackbar.LENGTH_SHORT).show();
23912395
} else {
23922396
displayChatBox(false);
23932397
displayFAB(true);
23942398
//Displays old offline messages
2395-
if(!networkStatus.equals(Constants.STATUS_CONNECTED))
2399+
if (!networkStatus.equals(Constants.STATUS_CONNECTED))
23962400
onReadyToDisplay(true);
23972401
networkStatus = Constants.STATUS_NOT_CONNECTED;
2398-
Snackbar.make(coordinatorLayout, R.string.no_connection, Snackbar.LENGTH_INDEFINITE).show();
2402+
connectivitySnackbar = Snackbar.make(coordinatorLayout, R.string.no_connection, Snackbar.LENGTH_INDEFINITE);
2403+
connectivitySnackbar.setAction("RETRY", new View.OnClickListener() {
2404+
@Override
2405+
public void onClick(View view) {
2406+
showConnectivitySnackBar(Constants.STATUS_CONNECTING);
2407+
startRequests();
2408+
}
2409+
});
2410+
connectivitySnackbar.setActionTextColor(getResources().getColor(R.color.top_snackbar_show_button_text_color));
2411+
connectivitySnackbar.show();
23992412
}
24002413
Log.d("NetworkStatus", networkState);
24012414
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)