Skip to content

Commit a2dfc06

Browse files
author
João Parreira
committed
Merge pull request #3 from JoaoCaixinha/master
Added unsubscribe channel
2 parents 98325b6 + ceaab08 commit a2dfc06

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

RTMChat/app/src/main/java/handlers/OrtcHandler.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import ibt.ortc.extensibility.OrtcFactory;
1717
import interfaces.InterfaceRefresher;
1818
import preferences.PreferencesManager;
19+
import rtmchat.realtime.co.rtmchat.activities.MessageActivity;
1920

2021
import java.text.SimpleDateFormat;
2122
import java.util.ArrayList;
@@ -50,6 +51,12 @@ public void run(OrtcClient sender, String channel, String message) {
5051
;
5152
});
5253
}
54+
55+
56+
public static void unsubscribeChannel(String channel)
57+
{
58+
client.unsubscribe(channel);
59+
}
5360

5461
public static void prepareClient(Context context, InterfaceRefresher rootView){
5562
selfHandler = new OrtcHandler();
@@ -143,7 +150,7 @@ public void handleMessage(String msg, String channel){
143150
list.setUnRead(list.getUnRead() + 1);
144151
list.addMessage(newMsg);
145152

146-
if(messagesView != null)
153+
if(messagesView != null && ((MessageActivity)messagesView).getChannel().equals(channel))
147154
messagesView.refreshData(newMsg);
148155

149156
if(chatRoom != null)

RTMChat/app/src/main/java/rtmchat/realtime/co/rtmchat/activities/ChatRoomActivity.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,10 @@ public void addChat(String chatName) {
9797
}
9898

9999
public void delChat(String chatName) {
100+
OrtcHandler.unsubscribeChannel(chatName);
100101
int index = this.channels.indexOf(chatName);
101102
channels.remove(index);
103+
102104
clearChannelsList();
103105
setChannels();
104106
}

RTMChat/app/src/main/java/rtmchat/realtime/co/rtmchat/activities/MessageActivity.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ public class MessageActivity extends ActionBarActivity implements InterfaceRefre
2525
private boolean pause;
2626
private static boolean mIsInForegroundMode;
2727

28+
29+
public String getChannel(){
30+
return channel;
31+
}
32+
2833
@Override
2934
protected void onCreate(Bundle savedInstanceState) {
3035
super.onCreate(savedInstanceState);

0 commit comments

Comments
 (0)