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

Commit 8bb7245

Browse files
committed
Added retry button to connectivitySnackbar.
1 parent 23160b6 commit 8bb7245

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

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

+16-3
Original file line numberDiff line numberDiff line change
@@ -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);

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

+3-4
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
import com.zulip.android.networking.response.events.GetEventResponse;
2727
import com.zulip.android.networking.response.events.MessageWrapper;
2828
import com.zulip.android.networking.response.events.MutedTopicsWrapper;
29-
import com.zulip.android.networking.response.events.StreamWrapper;
3029
import com.zulip.android.networking.response.events.StarWrapper;
30+
import com.zulip.android.networking.response.events.StreamWrapper;
3131
import com.zulip.android.networking.response.events.SubscriptionWrapper;
3232
import com.zulip.android.networking.response.events.UpdateMessageWrapper;
3333
import com.zulip.android.util.Constants;
@@ -293,9 +293,8 @@ public void run() {
293293
if (body.getEvents().size() > 0) {
294294
this.processEvents(body);
295295
app.setLastEventId(body.getEvents().get(body.getEvents().size() - 1).getId());
296-
//Shows connected status on receiving data
297-
if (failures > 0)
298-
mActivity.showConnectivitySnackBar(Constants.STATUS_CONNECTED);
296+
//Dismiss Snackbar on Connecting
297+
mActivity.showConnectivitySnackBar(Constants.STATUS_CONNECTED);
299298
failures = 0;
300299
}
301300

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

-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@
167167
<string name="people_drawer_recent_pm_label">Recent Private Messages</string>
168168
<string name="people_drawer_others_label">New Private Message</string>
169169
<string name="mentions">\@-mentions</string>
170-
<string name="connection_established">Connection Established</string>
171170
<string name="no_connection">Waiting for Connection</string>
172171
<string name="connecting">Connecting ...</string>
173172
</resources>

0 commit comments

Comments
 (0)