org.apache.log4j.spi.ErrorCode#org.jivesoftware.smack.Chat源码实例Demo

下面列出了org.apache.log4j.spi.ErrorCode#org.jivesoftware.smack.Chat 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: SmackAndroidDemo   文件: SmackConnection.java
@Override
public void processMessage(Chat chat, Message message) {
    Log.i(TAG, "processMessage()");
    if (message.getType().equals(Message.Type.chat) || message.getType().equals(Message.Type.normal)) {
        if (message.getBody() != null) {
            Intent intent = new Intent(SmackService.NEW_MESSAGE);
            intent.setPackage(mApplicationContext.getPackageName());
            intent.putExtra(SmackService.BUNDLE_MESSAGE_BODY, message.getBody());
            intent.putExtra(SmackService.BUNDLE_FROM_JID, message.getFrom());
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
                intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
            }
            mApplicationContext.sendBroadcast(intent);
            Log.i(TAG, "processMessage() BroadCast send");
        }
    }
}
 
源代码2 项目: weixin   文件: XmppManager.java
/**
 * 获取或创建聊天窗口
 * 
 * @param friend 好友名
 * @param listenter 聊天監聽器
 * @return
 */
public Chat getFriendChat(String friend, MessageListener listenter) {
	if (getConnection() == null)
		return null;
	/** 判断是否创建聊天窗口 */
	for (String fristr : chatManage.keySet()) {
		if (fristr.equals(friend)) {
			// 存在聊天窗口,则返回对应聊天窗口
			return chatManage.get(fristr);
		}
	}
	/** 创建聊天窗口 */
	Chat chat = getConnection().getChatManager().createChat(friend + "@" + getConnection().getServiceName(), listenter);
	/** 添加聊天窗口到chatManage */
	chatManage.put(friend, chat);
	return chat;
}
 
源代码3 项目: weixin   文件: ChatActivity.java
/**
 * 发送消息
 */
private void sendMsg() {
	new Thread(new Runnable() {

		@Override
		public void run() {
			Chat chat = XmppManager.getInstance().getFriendChat(user.getUserAccount(), null);

			//	friend为好友名,不是JID;listener 监听器可以传null,利用聊天窗口对象调用sendMessage发送消息
			//	这里sendMessage我传的是一个JSON字符串,以便更灵活的控制,发送消息完成~
			try {
				// String msgjson = "{\"messageType\":\""+messageType+"\",\"chanId\":\""+chanId+"\",\"chanName\":\""+chanName+"\"}";
				// chat.sendMessage(msgjson);

				chat.sendMessage(msg);
				handler.sendEmptyMessage(HandlerTypeUtils.WX_HANDLER_TYPE_LOAD_DATA_SUCCESS);
			} catch (XMPPException e) {
				handler.sendEmptyMessage(HandlerTypeUtils.WX_HANDLER_TYPE_LOAD_DATA_FAIL);
				e.printStackTrace();
			}
		}
	}).start();
}
 
private Chat getChat() {
	if (chat == null) {
		chat = ChatManager.getInstanceFor(con).createChat(getUserId(),
				new MessageListener() {

					@Override
					public void processMessage(Chat c, Message m) {
						if (chat != null && listener != null) {
							listener.onMessage(instance, m.getBody());
						}

					}
				});
	}
	return chat;
}
 
源代码5 项目: Smack   文件: XHTMLExtensionTest.java
/**
    * Low level API test.
    * This is a simple test to use with an XMPP client and check if the client receives the message
    * 1. User_1 will send a message with formatted text (XHTML) to user_2
    */
   public void testSendSimpleXHTMLMessage() {
// User1 creates a chat with user2
Chat chat1 = getConnection(0).getChatManager().createChat(getBareJID(1), null);

// User1 creates a message to send to user2
Message msg = new Message();
msg.setSubject("Any subject you want");
msg.setBody("Hey John, this is my new green!!!!");
// Create a XHTMLExtension Package and add it to the message
XHTMLExtension xhtmlExtension = new XHTMLExtension();
xhtmlExtension.addBody(
"<body><p style='font-size:large'>Hey John, this is my new <span style='color:green'>green</span><em>!!!!</em></p></body>");
msg.addExtension(xhtmlExtension);

// User1 sends the message that contains the XHTML to user2
try {
    chat1.sendMessage(msg);
    Thread.sleep(200);
}
catch (Exception e) {
    fail("An error occurred sending the message with XHTML");
}
   }
 
源代码6 项目: jolie   文件: XMPPService.java
private Chat getChat( String userJID ) {
	Chat chat = chats.get( userJID );
	if( chat == null ) {
		chat = connection.getChatManager().createChat(
			userJID,
			( chat1, message ) -> {
				// TODO redirect to embedder
			} );
		chats.put( userJID, chat );
	}

	return chat;
}
 
源代码7 项目: jolie   文件: XMPPService.java
@Identifier( "sendMessage" )
@RequestResponse
public void _sendMessage( Value request )
	throws FaultException {
	Chat chat = getChat( request.getFirstChild( "to" ).strValue() );
	try {
		chat.sendMessage( request.strValue() );
	} catch( XMPPException e ) {
		throw new FaultException( e );
	}
}
 
源代码8 项目: olat   文件: IMAppender.java
/**
 * Send the contents of the cyclic buffer as an IM message.
 */
protected void sendBuffer() {
    try {
        final StringBuilder buf = new StringBuilder();

        final int len = cb.length();
        for (int i = 0; i < len; i++) {
            final LoggingEvent event = cb.get();
            buf.append(layout.format(event));
            // if layout doesn't handle exception, the appender has to do it
            if (layout.ignoresThrowable()) {
                final String[] s = event.getThrowableStrRep();
                if (s != null) {
                    for (int j = 0; j < s.length; j++) {
                        buf.append(Layout.LINE_SEP);
                        buf.append(s[j]);
                    }
                }
            }
        }

        if (chatroom) {
            groupchat.sendMessage(buf.toString());
        } else {
            final Iterator iter = chats.iterator();
            while (iter.hasNext()) {
                final Chat chat = (Chat) iter.next();
                chat.sendMessage(buf.toString());
            }
        }

    } catch (final Exception e) {
        errorHandler.error("Could not send message in IMAppender [" + name + "]", e, ErrorCode.GENERIC_FAILURE);
    }
}
 
源代码9 项目: olat   文件: IMAppender.java
/**
 * Send the contents of the cyclic buffer as an IM message.
 */
protected void sendBuffer() {
    try {
        final StringBuilder buf = new StringBuilder();

        final int len = cb.length();
        for (int i = 0; i < len; i++) {
            final LoggingEvent event = cb.get();
            buf.append(layout.format(event));
            // if layout doesn't handle exception, the appender has to do it
            if (layout.ignoresThrowable()) {
                final String[] s = event.getThrowableStrRep();
                if (s != null) {
                    for (int j = 0; j < s.length; j++) {
                        buf.append(Layout.LINE_SEP);
                        buf.append(s[j]);
                    }
                }
            }
        }

        if (chatroom) {
            groupchat.sendMessage(buf.toString());
        } else {
            final Iterator iter = chats.iterator();
            while (iter.hasNext()) {
                final Chat chat = (Chat) iter.next();
                chat.sendMessage(buf.toString());
            }
        }

    } catch (final Exception e) {
        errorHandler.error("Could not send message in IMAppender [" + name + "]", e, ErrorCode.GENERIC_FAILURE);
    }
}
 
源代码10 项目: SmackAndroidDemo   文件: SmackConnection.java
private void sendMessage(String body, String toJid) {
    Log.i(TAG, "sendMessage()");
    Chat chat = ChatManager.getInstanceFor(mConnection).createChat(toJid, this);
    try {
        chat.sendMessage(body);
    } catch (SmackException.NotConnectedException | XMPPException e) {
        e.printStackTrace();
    }
}
 
源代码11 项目: weixin   文件: TaxiChatManagerListener.java
@Override
public void chatCreated(Chat chat, boolean arg1) {
	chat.addMessageListener(new MessageListener() {

		@Override
		public void processMessage(Chat arg0, Message msg) {//登录用户
			StringUtils.parseName(XmppManager.getInstance().getConnection().getUser());
			//发送消息用户
			msg.getFrom();
			//消息内容
			String body = msg.getBody();
			System.out.println("body--->" + body);
			boolean left = body.substring(0, 1).equals("{");
			boolean right = body.substring(body.length() - 1, body.length()).equals("}");
			if (left && right) {
				try {
					JSONObject obj = new JSONObject(body);
					String type = obj.getString("messageType");
					String chanId = obj.getString("chanId");
					String chanName = obj.getString("chanName");

					System.out.println("---body--->" + body);
				} catch (JSONException e) {
					e.printStackTrace();
				}
			}
			
			
			Intent intent = new Intent("net.cgt.weixin.chat");
			intent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);// 包含从未启动过的应用
			intent.putExtra("from", msg.getFrom());
			intent.putExtra("body", body);
			GlobalParams.activity.sendBroadcast(intent);
		}
	});
}
 
源代码12 项目: KlyphMessenger   文件: MessengerService.java
@Override
public void onCreate()
{
	Log.d(TAG, "onCreate");

	if (instance != null)
		Log.d(TAG, "instance is already defined !");

	instance = this;

	notificationsEnabled = MessengerPreferences.areNotificationsEnabled();
	ringtone = MessengerPreferences.getNotificationRingtone();
	ringtoneUri = MessengerPreferences.getNotificationRingtoneUri();
	vibrateEnabled = MessengerPreferences.isNotificationVibrationEnabled();

	chats = new ArrayList<Chat>();
	roster = new ArrayList<PRosterEntry>();
	savedMessages = new ArrayList<org.jivesoftware.smack.packet.Message>();
	pendingActions = new LinkedHashMap<String, Object>();

	configure(ProviderManager.getInstance());

	Connection.addConnectionCreationListener(new ConnectionCreationListener() {
		public void connectionCreated(Connection connection)
		{
			reconnectionManager = new ReconnectionManager(connection, ConnectionState.getInstance(MessengerService.this).isOnline());
			connection.addConnectionListener(reconnectionManager);
		}
	});

	registerReceiver(new BroadcastReceiver() {
		public void onReceive(Context context, Intent intent)
		{
			Log.i(TAG, "Connection status change to " + ConnectionState.getInstance(MessengerService.this).isOnline());
			onConnectivityChange();
		}
	}, new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE"));

	connect();
}
 
源代码13 项目: KlyphMessenger   文件: MessengerService.java
private void onMessageReceived(Chat chat, org.jivesoftware.smack.packet.Message message)
{
	if (message.getBody() != null)
	{
		Log.d(TAG, "processMessage " + chat.getThreadID() + " " + message.getBody() + " " + message.getTo());
		onMessageReceived(message);
		messageEventManager.sendDeliveredNotification(message.getFrom(), message.getPacketID());
	}
}
 
源代码14 项目: saros   文件: SingleUserChatService.java
@Override
public void processMessage(Chat chat, Message message) {
  if (!message.getBodies().isEmpty()) {

    log.info(
        "chat created between "
            + userJID
            + " <->"
            + chat.getParticipant()
            + ", created local: "
            + false);

    JID jid = new JID(chat.getParticipant());
    SingleUserChat singleUserChat = currentChats.get(jid);

    boolean exists = true;
    if (singleUserChat == null) {
      exists = false;
      singleUserChat = createChat(chat);

      /*
       * The SUC has registered for messages now. As this happened
       * after the notification of listeners started, it won't
       * receive the current, first message. Thus, we have to add
       * it manually.
       */
      singleUserChat.addHistoryEntry(new ChatElement(message, new Date()));
    }

    // do not inform the listener because the chat is reused if
    if (exists) {
      log.info("skipping notification of listeners because the chat already exists");
      return;
    }

    notifyChatCreated(singleUserChat, false);
  }
}
 
源代码15 项目: saros   文件: SingleUserChat.java
@Override
public void processMessage(Chat chat, Message message) {
  log.trace(
      this + " : received message from: " + message.getFrom() + " : " + message.getBody());

  if (message.getFrom() == null || message.getBody() == null) return;

  addHistoryEntry(new ChatElement(message, new Date(System.currentTimeMillis())));

  notifyJIDMessageReceived(new JID(message.getFrom()), message.getBody());
}
 
源代码16 项目: saros   文件: SingleUserChat.java
/**
 * Initializes the chat so that it is possible to exchange messages with the participant.
 *
 * @param userJID {@link JID} of the local user
 * @param chat {@link Chat} object from Smack, contains the recipient
 * @param chatStateManager {@link ChatStateManager} of the current connection
 */
synchronized void initChat(String userJID, Chat chat, ChatStateManager chatStateManager) {
  if (this.chat != null) this.chat.removeMessageListener(chatStateListener);

  this.chat = chat;
  this.chat.addMessageListener(chatStateListener);
  this.chatStateManager = chatStateManager;
  this.userJID = userJID;
}
 
源代码17 项目: saros   文件: SingleUserChat.java
@Override
public void sendMessage(Message message) throws XMPPException {
  Chat currentChat;

  synchronized (SingleUserChat.this) {
    currentChat = chat;

    chat.sendMessage(message);
    message.setFrom(userJID);
  }

  chatStateListener.processMessage(currentChat, message);
}
 
源代码18 项目: HippyJava   文件: Connection.java
public void sendPM(String message, String to) throws XMPPException {
    Chat c;
    if (cache.containsKey(to))
        c = cache.get(to);
    else {
        c = XMPP.getChatManager().createChat(to, this);
        cache.put(to, c);
    }
    c.sendMessage(message);
}
 
源代码19 项目: openhab1-addons   文件: XMPPConsole.java
@Override
public void processMessage(Chat chat, Message msg) {
    logger.debug("Received XMPP message: {} of type {}", msg.getBody(), msg.getType());
    if (msg.getType() == Message.Type.error || msg.getBody() == null) {
        return;
    }
    String cmd = msg.getBody();
    String[] args = cmd.split(" ");
    ConsoleInterpreter.handleRequest(args, new ChatConsole(chat));
}
 
源代码20 项目: carbon-identity   文件: MPAuthenticationProvider.java
/**
 * Read the PIN number sent by the user as the reply.
 *
 * @param connection
 * @param userName
 * @return
 */
public boolean getUserResponse(XMPPConnection connection, String userName) {

    String response = null;
    Presence presence = connection.getRoster().getPresence(userName);

    if (presence.isAvailable()) {
        try {

            ChatManager chatManager = connection.getChatManager();
            Chat chat = chatManager.createChat(userName, null);
            PacketFilter filter =
                    new AndFilter(new PacketTypeFilter(Message.class), new FromContainsFilter(userName));
            XmppResponseListener chatListener = new XmppResponseListener();
            connection.addPacketListener(chatListener, filter);

            if (isPINEnabled) {

                chat.sendMessage("Please reply with your PIN Number here.");

                if (log.isInfoEnabled()) {
                    log.info("User PIN is sent to the user and awaiting for the response.");
                }

                while (!chatListener.isResponseReceived()) {
                    Thread.sleep(100);
                }

                response = chatListener.getResponse();

                if (response != null) {
                    return userPIN.contentEquals(response.trim());
                }
            } else {
                chat.sendMessage(
                        "You are about to get authenticated for your OpenID. Do you want to continue: [Yes] or [No]");

                if (log.isInfoEnabled()) {
                    log.info("User PIN is sent to the user and awaiting for the response.");
                }

                while (!chatListener.isResponseReceived()) {
                    Thread.sleep(100);
                }

                response = chatListener.getResponse();

                if (response != null) {
                    if ("YES".equalsIgnoreCase(response.trim())) {
                        return true;
                    } else if ("NO".equalsIgnoreCase(response.trim())) {
                        return false;
                    } else {
                        pinDisabledResponse = false;
                        return false;
                    }
                }
            }

        } catch (Exception e) {
            log.error("Error while getting user response", e);
        }
    } else {
        return false;
    }
    return false;

}
 
源代码21 项目: olat   文件: ChatController.java
protected void setChatManager(final Chat chatManager) {
    this.chatManager = chatManager;
}
 
源代码22 项目: olat   文件: ChatController.java
protected Chat getChatManager() {
    return chatManager;
}
 
源代码23 项目: olat   文件: ChatController.java
protected void setChatManager(final Chat chatManager) {
    this.chatManager = chatManager;
}
 
源代码24 项目: olat   文件: ChatController.java
protected Chat getChatManager() {
    return chatManager;
}
 
源代码25 项目: SmackAndroidDemo   文件: SmackConnection.java
@Override
public void chatCreated(Chat chat, boolean createdLocally) {
    Log.i(TAG, "chatCreated()");
    chat.addMessageListener(this);
}
 
源代码26 项目: yiim_v2   文件: XmppService.java
@Override
public void onCreate() {
	// TODO Auto-generated method stub
	super.onCreate();
	mHandlerProxy = new YiHandlerProxy(this, this);
	mXmppConnection = null;
	mXmppBinder = new XmppBinder(this);

	NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
	mNotificationManager = new com.ikantech.yiim.common.NotificationManager(
			this, mXmppBinder, notificationManager);
	mKeyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);

	mAVCallManager = new AVCallManager(this);

	mSoundPool = new SoundPool(3, AudioManager.STREAM_MUSIC, 0);
	mSoundIds = new HashMap<String, Integer>();
	mSoundIds.put(MSG_SOUND, mSoundPool.load(this, R.raw.office, 1));

	mVibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);

	mLocker = new Object();
	mMultiUserChats = new HashMap<String, MultiUserChat>();
	mChats = new HashMap<String, Chat>();
	mNeedReInitMultiChatRooms = new ArrayList<String>();

	mMsgReceivedBroadcast = new MsgReceivedBroadcast();
	IntentFilter intentFilter = new IntentFilter();
	intentFilter.addAction(Const.NOTIFY_MSG_RECEIVED_OR_SENT);
	registerReceiver(mMsgReceivedBroadcast, intentFilter);

	mNetworkBroadcastReceiver = new NativeNetworkBroadcastReceiver();
	IntentFilter netIntentFilter = new IntentFilter();
	netIntentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
	registerReceiver(mNetworkBroadcastReceiver, netIntentFilter);

	Connection
			.addConnectionCreationListener(new ConnectionCreationListener() {
				@Override
				public void connectionCreated(Connection connection) {
					// TODO Auto-generated method stub
					initService(connection);
				}
			});

	getHandler().removeMessages(MSG_NETWORK_CONNECTED);
	getHandler().sendEmptyMessageDelayed(MSG_NETWORK_CONNECTED, 1300);
}
 
源代码27 项目: KlyphMessenger   文件: MessengerService.java
private void sendMessageTo(Bundle bundle)
{
	if (!connection.isConnected())
	{
		addPendingAction(ACTION_SEND_MSG, bundle);
	}
	else
	{
		String to = bundle.getString("to");
		String message = bundle.getString("message");

		to = "-" + to + "@chat.facebook.com";
		Log.d(TAG, "sendMessage to " + to + " " + message);
		Chat toChat = null;

		for (Chat chat : chats)
		{
			if (chat.getParticipant().equals(to))
			{
				toChat = chat;
			}
		}

		if (toChat == null)
		{
			toChat = createChat(to);
		}
		
		org.jivesoftware.smack.packet.Message msg = new org.jivesoftware.smack.packet.Message();
		msg.setBody(message);
		msg.setTo(to);
		msg.setType(org.jivesoftware.smack.packet.Message.Type.chat);
		msg.setThread(toChat.getThreadID());
		
		// Add to the message all the notifications requests (offline, delivered, displayed, composing)
	    MessageEventManager.addNotificationsRequests(msg, true, true, true, true);
	    DeliveryReceiptManager.addDeliveryReceiptRequest(msg);
	    
		try
		{
			toChat.sendMessage(msg);
		}
		catch (XMPPException e)
		{
			e.printStackTrace();
		}
	}
}
 
源代码28 项目: saros   文件: SingleUserChatService.java
@Override
public void chatCreated(Chat chat, boolean createdLocally) {
  synchronized (SingleUserChatService.this) {
    chat.addMessageListener(messageListener);
  }
}
 
源代码29 项目: saros   文件: SingleUserChatService.java
/**
 * Creates a new {@link SingleUserChat} with the given {@link Chat}.
 *
 * @param chat {@link Chat} which specifies the participant
 * @return a new {@link SingleUserChat} if it has not been created yet, otherwise the existing
 *     {@link SingleUserChat} is returned.
 */
public synchronized SingleUserChat createChat(Chat chat) {

  JID jid = new JID(chat.getParticipant());

  SingleUserChat createdChat = currentChats.get(jid);

  if (createdChat == null) {
    log.trace("creating new chat between " + userJID + " <->" + jid);

    createdChat = new SingleUserChat();

    createdChat.initChat(userJID, chat, chatStateManager);
    createdChat.setConnected(true);
    currentChats.put(jid, createdChat);
  }

  return createdChat;
}
 
源代码30 项目: saros   文件: SingleUserChat.java
@Override
public void stateChanged(Chat chat, ChatState state) {
  notifyJIDStateChanged(new JID(chat.getParticipant()), state);
}