Skip to content

Commit 5912678

Browse files
author
Sid Zi
committed
chat bug fix
1 parent 319157e commit 5912678

File tree

3 files changed

+38
-37
lines changed

3 files changed

+38
-37
lines changed

app/src/main/java/com/sidzi/circleofmusic/adapters/ChatAdapter.java

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -33,46 +33,37 @@ public ChatAdapter(Context context) {
3333
super();
3434
mContext = context;
3535
chatMessageList = new ArrayList<>();
36+
populate();
3637
}
3738

38-
public void populate(final String message) {
39+
void populate() {
3940
RequestQueue rq = Volley.newRequestQueue(mContext);
40-
JSONObject params;
41-
String url;
42-
43-
final int method;
44-
if (message == null) {
45-
method = Request.Method.GET;
46-
params = null;
47-
url = "getMessages";
48-
} else {
49-
method = Request.Method.POST;
50-
params = new JSONObject();
51-
url = "postMessage";
52-
try {
53-
params.put("message_text", message);
54-
} catch (JSONException e) {
55-
e.printStackTrace();
41+
BasicAuthJsonObjectRequest request = new BasicAuthJsonObjectRequest(mContext, Request.Method.GET, config.com_url + "getMessages", null, new Response.Listener<JSONObject>() {
42+
@Override
43+
public void onResponse(JSONObject response) {
44+
addToArrayList(response);
5645
}
46+
}, new Response.ErrorListener() {
47+
@Override
48+
public void onErrorResponse(VolleyError error) {
49+
error.printStackTrace();
50+
}
51+
});
52+
rq.add(request);
53+
}
54+
55+
public void sendMessage(String message) {
56+
JSONObject params = new JSONObject();
57+
try {
58+
params.put("message_text", message);
59+
} catch (JSONException e) {
60+
e.printStackTrace();
5761
}
58-
BasicAuthJsonObjectRequest request = new BasicAuthJsonObjectRequest(mContext, method, config.com_url + url, params, new Response.Listener<JSONObject>() {
62+
RequestQueue rq = Volley.newRequestQueue(mContext);
63+
BasicAuthJsonObjectRequest request = new BasicAuthJsonObjectRequest(mContext, Request.Method.POST, config.com_url + "postMessage", params, new Response.Listener<JSONObject>() {
5964
@Override
6065
public void onResponse(JSONObject response) {
61-
try {
62-
if (method == Request.Method.POST)
63-
populate(null);
64-
else {
65-
JSONArray messages_list = response.getJSONArray("messages");
66-
chatMessageList.clear();
67-
for (int i = 0; i < messages_list.length(); i++) {
68-
chatMessageList.add(new ChatMessage(messages_list.getJSONObject(i).getString("username"), messages_list.getJSONObject(i).getString("message_text")));
69-
}
70-
notifyDataSetChanged();
71-
}
72-
} catch (JSONException e) {
73-
e.printStackTrace();
74-
}
75-
66+
addToArrayList(response);
7667
}
7768
}, new Response.ErrorListener() {
7869
@Override
@@ -83,6 +74,19 @@ public void onErrorResponse(VolleyError error) {
8374
rq.add(request);
8475
}
8576

77+
private void addToArrayList(JSONObject response) {
78+
try {
79+
JSONArray messages_list = response.getJSONArray("messages");
80+
chatMessageList.clear();
81+
for (int i = 0; i < messages_list.length(); i++) {
82+
chatMessageList.add(new ChatMessage(messages_list.getJSONObject(i).getString("username"), messages_list.getJSONObject(i).getString("message_text")));
83+
}
84+
} catch (JSONException e) {
85+
e.printStackTrace();
86+
}
87+
notifyDataSetChanged();
88+
}
89+
8690
@Override
8791
public ChatAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
8892
final View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_chat, parent, false);

app/src/main/java/com/sidzi/circleofmusic/fragments/ShoutboxFragment.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
2222
View homeView = inflater.inflate(R.layout.fragment_chat_bot, container, false);
2323
final RecyclerView chatRecyclerView = (RecyclerView) homeView.findViewById(R.id.rvChatConsole);
2424
final ChatAdapter chatAdapter = new ChatAdapter(getContext());
25-
chatAdapter.populate(null);
2625
final LinearLayoutManager chatLayoutManager = new LinearLayoutManager(getContext());
2726

2827
chatLayoutManager.setStackFromEnd(true);
@@ -37,7 +36,7 @@ public void onClick(View view) {
3736
if (!message.equals("")) {
3837
etChatMessage.setText("");
3938
// Send message to server here
40-
chatAdapter.populate(message);
39+
chatAdapter.sendMessage(message);
4140
}
4241
}
4342
});

app/src/main/java/com/sidzi/circleofmusic/helpers/BasicAuthJsonObjectRequest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@ public Map<String, String> getHeaders() throws AuthFailureError {
2929
Map<String, String> params = new HashMap<>();
3030
params.put("Authorization", AuthToken);
3131
params.put("Username", UserName);
32-
params.put("Content-Type", "application/json");
33-
params.put("Accept", "application/json");
3432
return params;
3533
}
3634
}

0 commit comments

Comments
 (0)