Skip to content

Commit

Permalink
Stop crash when clicking on blocked user and stop user from trying to…
Browse files Browse the repository at this point in the history
… send messages to them
  • Loading branch information
markwinter committed Apr 3, 2014
1 parent c019b17 commit b1de4a2
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 23 deletions.
3 changes: 2 additions & 1 deletion app/src/main/java/im/tox/antox/activities/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -493,8 +493,9 @@ private void addFriend() {
}

private void clearUselessNotifications () {
AntoxDB db = new AntoxDB(getApplicationContext());
if (toxSingleton.rightPaneActive && toxSingleton.activeFriendKey != null
&& toxSingleton.friendsList.all().size() > 0) {
&& toxSingleton.friendsList.all().size() > 0 && !db.isFriendBlocked(toxSingleton.activeFriendKey)) {
AntoxFriend friend = toxSingleton.friendsList.getById(toxSingleton.activeFriendKey);
toxSingleton.mNotificationManager.cancel(friend.getFriendnumber());
}
Expand Down
4 changes: 0 additions & 4 deletions app/src/main/java/im/tox/antox/data/AntoxDB.java
Original file line number Diff line number Diff line change
Expand Up @@ -276,19 +276,15 @@ public ArrayList<Friend> getFriendList(int option) {
String selectQuery = "";
switch (option) {
case Constants.OPTION_ALL_FRIENDS:
Log.d("DATABSE", "OPTION_ALL_FRIENDS");
selectQuery = "SELECT * FROM " + Constants.TABLE_FRIENDS;
break;
case Constants.OPTION_ONLINE_FRIENDS:
Log.d("DATABSE", "OPTION_ONLINE_FRIENDS");
selectQuery = "SELECT * FROM " + Constants.TABLE_FRIENDS + " WHERE " + Constants.COLUMN_NAME_ISONLINE + "=1 AND " + Constants.COLUMN_NAME_ISBLOCKED + "=0";
break;
case Constants.OPTION_OFFLINE_FRIENDS:
Log.d("DATABSE", "OPTION_OFFLINE_FRIENDS");
selectQuery = "SELECT * FROM " + Constants.TABLE_FRIENDS + " WHERE " + Constants.COLUMN_NAME_ISONLINE + "=0 AND " + Constants.COLUMN_NAME_ISBLOCKED + "=0";
break;
case Constants.OPTION_BLOCKED_FRIENDS:
Log.d("DATABSE", "OPTION_BLOCKED_FRIENDS");
selectQuery = "SELECT * FROM " + Constants.TABLE_FRIENDS + " WHERE " + Constants.COLUMN_NAME_ISBLOCKED + "=1";
break;
default:
Expand Down
41 changes: 23 additions & 18 deletions app/src/main/java/im/tox/antox/fragments/ChatFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,16 +48,20 @@ public ChatFragment() {


public void sendMessage() {
if(messageBox.getText().toString().length()==0){
return;
AntoxDB db = new AntoxDB(getActivity().getApplicationContext());
if(!db.isFriendBlocked(toxSingleton.activeFriendKey)) {
if (messageBox.getText().toString().length() == 0) {
return;
}
EditText message = (EditText) getView().findViewById(R.id.yourMessage);
Intent intent = new Intent(main_act, ToxService.class);
intent.setAction(Constants.SEND_MESSAGE);
intent.putExtra("message", message.getText().toString());
intent.putExtra("key", toxSingleton.activeFriendKey);
message.setText("");
getActivity().startService(intent);
}
EditText message = (EditText) getView().findViewById(R.id.yourMessage);
Intent intent = new Intent(main_act, ToxService.class);
intent.setAction(Constants.SEND_MESSAGE);
intent.putExtra("message", message.getText().toString());
intent.putExtra("key", toxSingleton.activeFriendKey);
message.setText("");
getActivity().startService(intent);
db.close();
}


Expand All @@ -68,16 +72,17 @@ public void setContact(int position, String contact) {
}

public void updateChat(ArrayList<Message> messages) {
Log.d(TAG, "updating chat");
Log.d(TAG, "chat message size = " + messages.size());
if(messages.size() >= 0 ) {
ArrayList<ChatMessages> data = new ArrayList<ChatMessages>(messages.size());
for (int i = 0; i < messages.size(); i++) {
data.add(new ChatMessages(messages.get(i).message_id, messages.get(i).message, messages.get(i).timestamp.toString(), messages.get(i).is_outgoing, messages.get(i).has_been_received, messages.get(i).successfully_sent));
AntoxDB db = new AntoxDB(getActivity().getApplicationContext());
if(!db.isFriendBlocked(toxSingleton.activeFriendKey)) {
if (messages.size() >= 0) {
ArrayList<ChatMessages> data = new ArrayList<ChatMessages>(messages.size());
for (int i = 0; i < messages.size(); i++) {
data.add(new ChatMessages(messages.get(i).message_id, messages.get(i).message, messages.get(i).timestamp.toString(), messages.get(i).is_outgoing, messages.get(i).has_been_received, messages.get(i).successfully_sent));
}
adapter = new ChatMessagesAdapter(main_act.getApplicationContext(), R.layout.chat_message_row, data);
chatListView.setAdapter(adapter);
chatListView.setSelection(adapter.getCount() - 1);
}
adapter = new ChatMessagesAdapter(main_act.getApplicationContext(), R.layout.chat_message_row, data);
chatListView.setAdapter(adapter);
chatListView.setSelection(adapter.getCount() - 1);
}
}

Expand Down

0 comments on commit b1de4a2

Please sign in to comment.