本文整理汇总了Java中com.quickblox.chat.model.QBChatMessage类的典型用法代码示例。如果您正苦于以下问题:Java QBChatMessage类的具体用法?Java QBChatMessage怎么用?Java QBChatMessage使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
QBChatMessage类属于com.quickblox.chat.model包,在下文中一共展示了QBChatMessage类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: loadChatHistory
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
public void loadChatHistory(QBChatDialog dialog, int skipPagination,
final QBEntityCallback<ArrayList<QBChatMessage>> callback) {
QBRequestGetBuilder customObjectRequestBuilder = new QBRequestGetBuilder();
customObjectRequestBuilder.setSkip(skipPagination);
customObjectRequestBuilder.setLimit(CHAT_HISTORY_ITEMS_PER_PAGE);
customObjectRequestBuilder.sortDesc(CHAT_HISTORY_ITEMS_SORT_FIELD);
QBRestChatService.getDialogMessages(dialog, customObjectRequestBuilder).performAsync(
new QBEntityCallback<ArrayList<QBChatMessage>>() {
@Override
public void onSuccess(ArrayList<QBChatMessage> qbChatMessages, Bundle bundle) {
callback.onSuccess(qbChatMessages, bundle);
}
@Override
public void onError(QBResponseException e) {
callback.onError(e);
}
});
}
示例2: processMessage
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
@Override
public void processMessage(QBChat qbChat, QBChatMessage qbChatMessage) {
User u = null;
try {
QBUser sender = getUserById(qbChatMessage.getSenderId());
u = new User();
u.setId(sender.getId());
u.setLastRequestAt(u.getLastRequestAt());
u.setLogin(sender.getLogin());
u.setEmail(sender.getEmail());
u.setName(sender.getFullName());
} catch (QBResponseException e) {
e.printStackTrace();
return;
}
// Bracket hell ->
EventBus.getDefault().post(new MessageReceivedEvent(new ChatMessage(u, qbChatMessage.getBody())));
Log.d(TAG, "processMessage: " + qbChat + " " + qbChatMessage);
}
示例3: createGroupMessageAboutCreateGroupChat
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
public static QBChatMessage createGroupMessageAboutCreateGroupChat(Context context, QBChatDialog qbDialog, String photoUrl) {
QBChatMessage qbChatMessage = new QBChatMessage();
qbChatMessage.setSaveToHistory(VALUE_SAVE_TO_HISTORY);
qbChatMessage.setProperty(PROPERTY_NOTIFICATION_TYPE,
String.valueOf(NotificationType.GROUP_CHAT_UPDATE.getValue()));
qbChatMessage.setBody(context.getResources().getString(R.string.cht_notification_message));
qbChatMessage.setProperty(PROPERTY_ROOM_CURRENT_OCCUPANTS_IDS,
ChatUtils.getOccupantsIdsStringFromList(qbDialog.getOccupants()));
qbChatMessage.setProperty(PROPERTY_ROOM_ADDED_OCCUPANTS_IDS,
ChatUtils.getOccupantsIdsStringFromList(qbDialog.getOccupants()));
qbChatMessage.setProperty(PROPERTY_ROOM_UPDATED_AT, String.valueOf(qbDialog.getUpdatedAt().getTime()));
qbChatMessage.setProperty(PROPERTY_ROOM_UPDATE_INFO, String.valueOf(
ChatNotificationType.CHAT_OCCUPANTS.getValue()));
if (photoUrl != null) {
qbChatMessage.setProperty(PROPERTY_ROOM_PHOTO, photoUrl);
}
return qbChatMessage;
}
示例4: saveMessagesToCache
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
public static void saveMessagesToCache(Context context, DataManager dataManager,
List<QBChatMessage> qbMessagesList, String dialogId) {
for (int i = 0; i < qbMessagesList.size(); i++) {
QBChatMessage qbChatMessage = qbMessagesList.get(i);
State msgState = State.SYNC;
if (!CollectionsUtil.isEmpty(qbChatMessage.getReadIds())){
msgState = qbChatMessage.getReadIds().contains
(AppSession.getSession().getUser().getId()) ? State.READ : State.SYNC;
}
saveMessageOrNotificationToCache(context, dataManager, dialogId, qbChatMessage, msgState, false);
}
updateDialogModifiedDate(dataManager, dialogId, false);
}
示例5: createLocalMessage
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
public static Message createLocalMessage(QBChatMessage qbChatMessage, DialogOccupant dialogOccupant, State state) {
long dateSent = getMessageDateSent(qbChatMessage);
Message message = new Message();
message.setMessageId(qbChatMessage.getId());
message.setDialogOccupant(dialogOccupant);
message.setCreatedDate(dateSent);
if (messageIsRead(qbChatMessage)) {
state = State.READ;
} else if (messageIsDelivered(qbChatMessage)) {
state = State.DELIVERED;
}
message.setState(state);
message.setBody(qbChatMessage.getBody());
return message;
}
示例6: sendChatMessage
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
public void sendChatMessage(QBChatMessage message, QBChatDialog chatDialog) throws QBResponseException {
message.setMarkable(true);
chatDialog.initForChat(chatService);
if (QBDialogType.GROUP.equals(chatDialog.getType())) {
if (!chatDialog.isJoined()) {
tryJoinRoomChat(chatDialog);
}
}
String error = null;
try {
chatDialog.sendMessage(message);
} catch (SmackException.NotConnectedException e) {
error = context.getString(R.string.dlg_fail_connection);
}
if (error != null) {
throw new QBResponseException(error);
}
}
示例7: checkForSendingNotification
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
protected void checkForSendingNotification(boolean ownMessage, QBChatMessage qbChatMessage, QMUser user,
boolean isPrivateChat) {
String dialogId = qbChatMessage.getDialogId();
if (qbChatMessage.getId() == null || dialogId == null) {
return;
}
if (!ownMessage) {
sendNotificationBroadcast(QBServiceConsts.GOT_CHAT_MESSAGE, qbChatMessage, user, dialogId, isPrivateChat);
}
if (currentDialog != null) {
if (!ownMessage && !currentDialog.getDialogId().equals(dialogId)) {
sendNotificationBroadcast(QBServiceConsts.GOT_CHAT_MESSAGE_LOCAL, qbChatMessage, user, dialogId, isPrivateChat);
}
} else if (!ownMessage) {
sendNotificationBroadcast(QBServiceConsts.GOT_CHAT_MESSAGE_LOCAL, qbChatMessage, user, dialogId,
isPrivateChat);
}
}
示例8: sendNotificationBroadcast
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
private void sendNotificationBroadcast(String action, QBChatMessage chatMessage, QMUser user, String dialogId,
boolean isPrivateMessage) {
Intent intent = new Intent(action);
String messageBody = chatMessage.getBody();
String extraChatMessage;
if (!CollectionsUtil.isEmpty(chatMessage.getAttachments())) {
//in current version we can send only one attachment
QBAttachment attachment = chatMessage.getAttachments().iterator().next();
extraChatMessage = context.getResources().getString(R.string.was_attached, attachment.getType());
} else {
extraChatMessage = messageBody;
}
intent.putExtra(QBServiceConsts.EXTRA_CHAT_MESSAGE, extraChatMessage);
intent.putExtra(QBServiceConsts.EXTRA_USER, user);
intent.putExtra(QBServiceConsts.EXTRA_DIALOG_ID, dialogId);
intent.putExtra(QBServiceConsts.EXTRA_IS_PRIVATE_MESSAGE, isPrivateMessage);
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
context.sendBroadcast(intent);
}
示例9: updateStatusMessageReadServer
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
public void updateStatusMessageReadServer(QBChatDialog chatDialog, CombinationMessage combinationMessage,
boolean isOnline) throws Exception {
if (isOnline) {
chatDialog.initForChat(chatService);
QBChatMessage qbChatMessage = new QBChatMessage();
qbChatMessage.setId(combinationMessage.getMessageId());
qbChatMessage.setDialogId(chatDialog.getDialogId());
qbChatMessage.setSenderId(combinationMessage.getDialogOccupant().getUser().getId());
chatDialog.readMessage(qbChatMessage);
} else {
StringifyArrayList<String> messagesIdsList = new StringifyArrayList<String>();
messagesIdsList.add(combinationMessage.getMessageId());
QBRestChatService.markMessagesAsRead(chatDialog.getDialogId(), messagesIdsList).perform();
}
}
示例10: createGroupDialogByNotification
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
private void createGroupDialogByNotification(QBChatMessage qbChatMessage, DialogNotification.Type notificationType) {
qbChatMessage.setBody(context.getString(R.string.cht_notification_message));
QBChatDialog qbDialog = ChatNotificationUtils.parseDialogFromQBMessage(context, qbChatMessage, qbChatMessage.getBody(), QBDialogType.GROUP);
qbDialog.getOccupants().add(chatCreator.getId());
DbUtils.saveDialogToCache(dataManager, qbDialog);
String roomJidId = qbDialog.getRoomJid();
if (roomJidId != null) {
tryJoinRoomChat(qbDialog);
new FinderUnknownUsers(context, chatCreator, qbDialog).find();
}
DialogNotification dialogNotification = ChatUtils.convertMessageToDialogNotification(parseReceivedMessage(qbChatMessage));
dialogNotification.setType(notificationType);
Message message = ChatUtils.createTempLocalMessage(dialogNotification);
DbUtils.saveTempMessage(dataManager, message);
boolean ownMessage = !message.isIncoming(chatCreator.getId());
QMUser user = QMUserService.getInstance().getUserCache().get((long) qbChatMessage.getSenderId());
checkForSendingNotification(ownMessage, qbChatMessage, user, false);
}
示例11: createGroupChat
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
public QBChatDialog createGroupChat(String name, List<Integer> friendIdsList, String photoUrl) throws Exception {
ArrayList<Integer> occupantIdsList = (ArrayList<Integer>) ChatUtils.getOccupantIdsWithUser(friendIdsList);
QBChatDialog dialogToCreate = new QBChatDialog();
dialogToCreate.setName(name);
dialogToCreate.setType(QBDialogType.GROUP);
dialogToCreate.setOccupantsIds(occupantIdsList);
dialogToCreate.setPhoto(photoUrl);
QBChatDialog qbDialog = QBRestChatService.createChatDialog(dialogToCreate).perform();
DbUtils.saveDialogToCache(dataManager, qbDialog);
joinRoomChat(qbDialog);
sendSystemMessageAboutCreatingGroupChat(qbDialog, friendIdsList);
QBChatMessage chatMessage = ChatNotificationUtils.createGroupMessageAboutCreateGroupChat(context, qbDialog, photoUrl);
sendChatMessage(chatMessage, qbDialog);
return qbDialog;
}
示例12: sendSystemMessage
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
public void sendSystemMessage(QBChatMessage chatMessage, int opponentId, String dialogId) {
addNecessaryPropertyForQBChatMessage(chatMessage, dialogId);
chatMessage.setRecipientId(opponentId);
try {
systemMessagesManager.sendSystemMessage(chatMessage);
} catch (SmackException.NotConnectedException e) {
ErrorUtils.logError(e);
}
}
示例13: sendSystemMessageAboutCreatingGroupChat
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
private void sendSystemMessageAboutCreatingGroupChat(QBChatDialog dialog, Integer friendId) throws Exception {
QBChatMessage chatMessageForSending = ChatNotificationUtils
.createSystemMessageAboutCreatingGroupChat(context, dialog);
addNecessaryPropertyForQBChatMessage(chatMessageForSending, dialog.getDialogId());
sendSystemMessage(chatMessageForSending, friendId, dialog.getDialogId());
}
示例14: updateGroupDialogByNotification
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
private void updateGroupDialogByNotification(QBChatMessage qbChatMessage) {
String dialogId = qbChatMessage.getDialogId();
QBChatDialog qbDialog = dataManager.getQBChatDialogDataManager().getByDialogId(dialogId);
if (qbDialog == null) {
qbDialog = ChatNotificationUtils.parseDialogFromQBMessage(context, qbChatMessage, QBDialogType.GROUP);
}
ChatNotificationUtils.updateDialogFromQBMessage(context, dataManager, qbChatMessage, qbDialog);
DbUtils.saveDialogToCache(dataManager, qbDialog);
notifyUpdatingDialog();
}
示例15: friendRequestMessageReceived
import com.quickblox.chat.model.QBChatMessage; //导入依赖的package包/类
private void friendRequestMessageReceived(QBChatMessage qbChatMessage, DialogNotification.Type notificationType) {
String dialogId = qbChatMessage.getDialogId();
Message message = parseReceivedMessage(qbChatMessage);
if (!QMUserService.getInstance().getUserCache().exists((long) qbChatMessage.getSenderId())) {
QBRestHelper.loadAndSaveUser(qbChatMessage.getSenderId());
}
DialogNotification dialogNotification = ChatUtils.convertMessageToDialogNotification(message);
dialogNotification.setType(notificationType);
QBChatDialog chatDialog = dataManager.getQBChatDialogDataManager().getByDialogId(dialogId);
if (chatDialog == null) {
QBChatDialog newChatDialog = ChatNotificationUtils.parseDialogFromQBMessage(context, qbChatMessage, QBDialogType.PRIVATE);
ArrayList<Integer> occupantsIdsList = ChatUtils.createOccupantsIdsFromPrivateMessage(chatCreator.getId(), qbChatMessage.getSenderId());
newChatDialog.setOccupantsIds(occupantsIdsList);
DbUtils.saveDialogToCache(dataManager, newChatDialog, false);
}
DialogOccupant dialogOccupant = dataManager.getDialogOccupantDataManager().getDialogOccupant(dialogId, qbChatMessage.getSenderId());
DbUtils.saveDialogNotificationToCache(context, dataManager, dialogOccupant, qbChatMessage, false);
if (dialogOccupant != null) {
checkForSendingNotification(false, qbChatMessage, dialogOccupant.getUser(), true);
}
}