@@ -87,7 +87,8 @@ public class SessionService {
8787 private Handler handler ;
8888 private boolean mute = false ;
8989
90- private boolean canSended = true ;
90+ private boolean isFriend = true ;
91+ private boolean isInBlackList = false ;
9192
9293 private SessionService () {
9394 }
@@ -557,15 +558,15 @@ public void startSession(Handler handler, String sessionId, String type) {
557558 sessionTypeEnum = SessionUtil .getSessionType (type );
558559
559560 if (sessionTypeEnum == SessionTypeEnum .P2P ) {
560- canSended = NIMClient .getService (FriendService .class ).isMyFriend (sessionId );
561+ isFriend = NIMClient .getService (FriendService .class ).isMyFriend (sessionId );
562+ isInBlackList = NIMClient .getService (FriendService .class ).isInBlackList (sessionId );
563+
561564 this .mute = !NIMClient .getService (FriendService .class ).isNeedMessageNotify (sessionId );
562565 } else {
563566 Team t = TeamDataCache .getInstance ().getTeamById (sessionId );
564567 if (t != null ) {
565568 this .mute = t .mute ();
566- canSended = t .isMyTeam ();
567569 } else {
568- canSended = false ;
569570 }
570571 }
571572 registerObservers (true );
@@ -608,9 +609,10 @@ public int onResult(int code, IMMessage message) {
608609 IMMessage item = message ;
609610 item .setStatus (MsgStatusEnum .sending );
610611 deleteItem (item , true );
611- onMsgSend (item );
612- appendPushConfig (item );
613- getMsgService ().sendMessage (item , true );
612+ // onMsgSend(item);
613+ // appendPushConfig(item);
614+ // getMsgService().sendMessage(item, true);
615+ sendMessageSelf (item , null , true );
614616 return 0 ;
615617 }
616618 });
@@ -628,7 +630,7 @@ public void sendTextMessage(String content, List<String> selectedMembers, OnSend
628630// message.setPushContent("有人@了你");
629631 message .setMemberPushOption (option );
630632 }
631- sendMessageSelf (message , onSendMessageListener );
633+ sendMessageSelf (message , onSendMessageListener , false );
632634 }
633635
634636 /**
@@ -649,7 +651,7 @@ public void sendTipMessage(String content, OnSendMessageListener onSendMessageLi
649651
650652 message .setContent (content );
651653 message .setConfig (config );
652- sendMessageSelf (message , onSendMessageListener );
654+ sendMessageSelf (message , onSendMessageListener , false );
653655 }
654656 }
655657
@@ -663,15 +665,15 @@ public void sendImageMessage(String file, String displayName, OnSendMessageListe
663665 }
664666 LogUtil .w (TAG , "path:" + f .getPath () + "-size:" + FileUtil .formatFileSize (f .length ()));
665667 IMMessage message = MessageBuilder .createImageMessage (sessionId , sessionTypeEnum , f , TextUtils .isEmpty (displayName ) ? f .getName () : displayName );
666- sendMessageSelf (message , onSendMessageListener );
668+ sendMessageSelf (message , onSendMessageListener , false );
667669 }
668670
669671 public void sendAudioMessage (String file , long duration , OnSendMessageListener onSendMessageListener ) {
670672 file = Uri .parse (file ).getPath ();
671673 File f = new File (file );
672674
673675 IMMessage message = MessageBuilder .createAudioMessage (sessionId , sessionTypeEnum , f , duration );
674- sendMessageSelf (message , onSendMessageListener );
676+ sendMessageSelf (message , onSendMessageListener , false );
675677 }
676678
677679 // String md5Path = StorageUtil.getWritePath(filename, StorageType.TYPE_VIDEO);
@@ -693,7 +695,7 @@ public void sendVideoMessage(String file, String duration, int width, int height
693695 e .printStackTrace ();
694696 }
695697 IMMessage message = MessageBuilder .createVideoMessage (sessionId , sessionTypeEnum , f , durationL , width , height , md5 );
696- sendMessageSelf (message , onSendMessageListener );
698+ sendMessageSelf (message , onSendMessageListener , false );
697699 }
698700
699701 public void sendLocationMessage (String latitude , String longitude , String address , OnSendMessageListener onSendMessageListener ) {
@@ -710,7 +712,7 @@ public void sendLocationMessage(String latitude, String longitude, String addres
710712 e .printStackTrace ();
711713 }
712714 IMMessage message = MessageBuilder .createLocationMessage (sessionId , sessionTypeEnum , lat , lon , address );
713- sendMessageSelf (message , onSendMessageListener );
715+ sendMessageSelf (message , onSendMessageListener , false );
714716 }
715717
716718 public void sendDefaultMessage (String type , String digst , String content , OnSendMessageListener onSendMessageListener ) {
@@ -719,7 +721,7 @@ public void sendDefaultMessage(String type, String digst, String content, OnSend
719721 attachment .setDigst (digst );
720722 attachment .setContent (content );
721723 IMMessage message = MessageBuilder .createCustomMessage (sessionId , sessionTypeEnum , digst , attachment , config );
722- sendMessageSelf (message , onSendMessageListener );
724+ sendMessageSelf (message , onSendMessageListener , false );
723725 }
724726
725727 public void sendRedPacketOpenMessage (String sendId , String openId , String hasRedPacket , String serialNo , OnSendMessageListener onSendMessageListener ) {
@@ -731,7 +733,7 @@ public void sendRedPacketOpenMessage(String sendId, String openId, String hasRed
731733// IMMessage message = MessageBuilder.createCustomMessage(sessionId, sessionTypeEnum, sendId + ";" + openId, attachment, config);
732734//
733735//// message.
734- // sendMessageSelf(message, onSendMessageListener);
736+ // sendMessageSelf(message, onSendMessageListener,false );
735737 long timestamp = new Date ().getTime () / 1000 ;
736738 SessionUtil .sendRedPacketOpenNotification (sessionId , sessionTypeEnum , sendId , openId , hasRedPacket , serialNo , timestamp );
737739 SessionUtil .sendRedPacketOpenLocal (sessionId , sessionTypeEnum , sendId , openId , hasRedPacket , serialNo , timestamp );
@@ -742,15 +744,15 @@ public void sendRedPacketMessage(String type, String comments, String serialNo,
742744 RedPacketAttachement attachment = new RedPacketAttachement ();
743745 attachment .setParams (type , comments , serialNo );
744746 IMMessage message = MessageBuilder .createCustomMessage (sessionId , sessionTypeEnum , comments , attachment , config );
745- sendMessageSelf (message , onSendMessageListener );
747+ sendMessageSelf (message , onSendMessageListener , false );
746748 }
747749
748750 public void sendBankTransferMessage (String amount , String comments , String serialNo , OnSendMessageListener onSendMessageListener ) {
749751 CustomMessageConfig config = new CustomMessageConfig ();
750752 BankTransferAttachment attachment = new BankTransferAttachment ();
751753 attachment .setParams (amount , comments , serialNo );
752754 IMMessage message = MessageBuilder .createCustomMessage (sessionId , sessionTypeEnum , comments , attachment , config );
753- sendMessageSelf (message , onSendMessageListener );
755+ sendMessageSelf (message , onSendMessageListener , false );
754756 }
755757
756758 public int sendForwardMessage (IMMessage selectMessage , final String sessionId , final String sessionType , String content , OnSendMessageListener onSendMessageListener ) {
@@ -765,7 +767,7 @@ public int sendForwardMessage(IMMessage selectMessage, final String sessionId, f
765767 if (message == null ) {
766768 return 1 ;
767769 }
768- sendMessageSelf (message , onSendMessageListener );
770+ sendMessageSelf (message , onSendMessageListener , false );
769771 return 2 ;
770772 }
771773
@@ -841,12 +843,18 @@ public void updateMessage(final IMMessage message, MsgStatusEnum statusEnum) {
841843 getMsgService ().updateIMMessageStatus (message );
842844 }
843845
844- public void sendMessageSelf (final IMMessage message , final OnSendMessageListener onSendMessageListener ) {
846+ public void sendMessageSelf (final IMMessage message , final OnSendMessageListener onSendMessageListener , boolean send ) {
845847
846848
847849 appendPushConfig (message );
850+ if (isInBlackList ){
851+
852+ }
853+ if (!isFriend ){
854+
855+ }
848856
849- getMsgService ().sendMessage (message , false );
857+ getMsgService ().sendMessage (message , send );
850858 onMessageStatusChange (message , true );
851859
852860 }
@@ -867,7 +875,7 @@ private void appendPushConfig(IMMessage message) {
867875 body .put ("sessionId" , message .getSessionId ());
868876
869877 }
870- body .put ("sessionName" , SessionUtil .getSessionName (sessionId ,message .getSessionType (),true ));
878+ body .put ("sessionName" , SessionUtil .getSessionName (sessionId , message .getSessionType (), true ));
871879 payload .put ("sessionBody" , body );
872880 message .setPushPayload (payload );
873881// }
0 commit comments