获取远程消息支持按照类型来获取

This commit is contained in:
heavyrain2012
2021-11-23 13:56:59 +08:00
parent 7824fb3844
commit 92c59d2fe8
7 changed files with 452 additions and 21 deletions
+1
View File
@@ -0,0 +1 @@
alter table `t_user_messages` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
+257
View File
@@ -0,0 +1,257 @@
alter table `t_user_messages` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_0` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_1` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_2` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_3` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_4` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_5` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_6` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_7` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_8` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_9` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_10` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_11` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_12` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_13` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_14` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_15` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_16` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_17` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_18` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_19` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_20` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_21` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_22` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_23` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_24` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_25` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_26` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_27` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_28` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_29` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_30` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_31` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_32` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_33` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_34` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_35` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_36` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_37` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_38` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_39` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_40` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_41` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_42` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_43` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_44` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_45` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_46` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_47` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_48` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_49` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_50` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_51` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_52` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_53` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_54` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_55` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_56` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_57` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_58` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_59` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_60` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_61` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_62` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_63` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_64` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_65` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_66` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_67` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_68` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_69` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_70` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_71` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_72` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_73` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_74` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_75` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_76` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_77` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_78` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_79` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_80` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_81` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_82` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_83` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_84` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_85` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_86` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_87` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_88` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_89` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_90` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_91` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_92` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_93` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_94` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_95` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_96` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_97` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_98` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_99` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_100` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_101` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_102` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_103` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_104` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_105` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_106` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_107` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_108` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_109` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_110` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_111` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_112` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_113` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_114` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_115` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_116` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_117` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_118` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_119` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_120` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_121` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_122` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_123` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_124` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_125` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_126` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_127` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
@@ -38,7 +38,7 @@ public class LoadRemoteMessagesHandler extends IMHandler<WFCMessage.LoadRemoteMe
}
}
WFCMessage.PullMessageResult result = m_messagesStore.loadRemoteMessages(fromUser, request.getConversation(), beforeUid, request.getCount());
WFCMessage.PullMessageResult result = m_messagesStore.loadRemoteMessages(fromUser, request.getConversation(), beforeUid, request.getCount(), request.getContentTypeList());
byte[] data = result.toByteArray();
LOG.info("User {} load message with count({}), payload size({})", fromUser, result.getMessageCount(), data.length);
ackPayload.ensureWritable(data.length).writeBytes(data);
@@ -784,13 +784,13 @@ public class DatabaseStore {
}
}
List<WFCMessage.Message> loadRemoteMessages(String user, WFCMessage.Conversation conversation, long beforeUid, int count) {
List<WFCMessage.Message> loadRemoteMessages(String user, WFCMessage.Conversation conversation, long beforeUid, int count, Collection<Integer> contentTypes) {
List<WFCMessage.Message> messages = new ArrayList<>();
long[] before = new long[1];
before[0] = beforeUid;
boolean hasMore = loadRemoteMessagesFromTable(user, conversation, before, count, MessageShardingUtil.getMessageTable(beforeUid), messages);
boolean hasMore = loadRemoteMessagesFromTable(user, conversation, before, count, MessageShardingUtil.getMessageTable(beforeUid), messages, contentTypes);
while (messages.size() < count && hasMore) {
hasMore = loadRemoteMessagesFromTable(user, conversation, before, count - messages.size(), MessageShardingUtil.getMessageTable(beforeUid), messages);
hasMore = loadRemoteMessagesFromTable(user, conversation, before, count - messages.size(), MessageShardingUtil.getMessageTable(beforeUid), messages, contentTypes);
}
int month = 0;
@@ -800,7 +800,7 @@ public class DatabaseStore {
int size = messages.size();
hasMore = true;
while (size == messages.size() && hasMore) {
hasMore = loadRemoteMessagesFromTable(user, conversation, before, count - messages.size(), nexTable, messages);
hasMore = loadRemoteMessagesFromTable(user, conversation, before, count - messages.size(), nexTable, messages, contentTypes);
}
if (size < messages.size()) {
@@ -811,7 +811,7 @@ public class DatabaseStore {
return messages;
}
boolean loadRemoteMessagesFromTable(String user, WFCMessage.Conversation conversation, long[] before, int count, String table, List<WFCMessage.Message> messages) {
boolean loadRemoteMessagesFromTable(String user, WFCMessage.Conversation conversation, long[] before, int count, String table, List<WFCMessage.Message> messages, Collection<Integer> contentTypes) {
long beforeUid = before[0];
String sql = "select `_mid`, `_from`, `_type`, `_target`, `_line`, `_data`, `_dt`, `_to` from " + table +" where";
if (conversation.getType() == ProtoConstants.ConversationType.ConversationType_Private) {
@@ -820,7 +820,21 @@ public class DatabaseStore {
sql += " _type = ? and _line = ? and _mid < ? and _target = ?";
}
sql += "order by `_mid` DESC limit ?";
if(contentTypes != null && !contentTypes.isEmpty()) {
sql += " and _content_type in (";
boolean first = true;
for (int i:contentTypes) {
if(first) {
first = false;
} else {
sql += ",";
}
sql += i;
}
sql += ")";
}
sql += " order by `_mid` DESC limit ?";
Connection connection = null;
PreparedStatement statement = null;
@@ -893,20 +907,21 @@ public class DatabaseStore {
return false;
}
void persistUserMessage(final String userId, final long messageId, final long messageSeq) {
void persistUserMessage(final String userId, final long messageId, final long messageSeq, final int messageContentType) {
mScheduler.execute(()->{
Connection connection = null;
PreparedStatement statement = null;
try {
connection = DBUtil.getConnection();
String sql = "insert into " + getUserMessageTable(userId) + " (`_mid`, `_uid`, `_seq`) values(?, ?, ?)";
String sql = "insert into " + getUserMessageTable(userId) + " (`_mid`, `_uid`, `_seq`, `_cont_type`) values(?, ?, ?, ?)";
statement = connection.prepareStatement(sql);
int index = 1;
statement.setLong(index++, messageId);
statement.setString(index++, userId);
statement.setLong(index++, messageSeq);
statement.setInt(index++, messageContentType);
int count = statement.executeUpdate();
LOG.info("Update rows {}", count);
} catch (SQLException e) {
@@ -732,7 +732,7 @@ public class MemoryMessagesStore implements IMessagesStore {
}
@Override
public WFCMessage.PullMessageResult loadRemoteMessages(String user, WFCMessage.Conversation conversation, long beforeUid, int count) {
public WFCMessage.PullMessageResult loadRemoteMessages(String user, WFCMessage.Conversation conversation, long beforeUid, int count, Collection<Integer> contentTypes) {
WFCMessage.PullMessageResult.Builder builder = WFCMessage.PullMessageResult.newBuilder();
List<WFCMessage.Message> messages;
boolean loadMessage = IS_MESSAGE_REMOTE_HISTORY_MESSAGE;
@@ -741,7 +741,7 @@ public class MemoryMessagesStore implements IMessagesStore {
}
if (loadMessage) {
messages = databaseStore.loadRemoteMessages(user, conversation, beforeUid, count);
messages = databaseStore.loadRemoteMessages(user, conversation, beforeUid, count, contentTypes);
} else {
messages = new ArrayList<>();
}
@@ -871,7 +871,7 @@ public class MemoryMessagesStore implements IMessagesStore {
mWriteLock.unlock();
}
databaseStore.persistUserMessage(user, messageId, messageSeq);
databaseStore.persistUserMessage(user, messageId, messageSeq, messageContentType);
return messageSeq;
}
@@ -104,7 +104,7 @@ public interface IMessagesStore {
int getNotifyReceivers(String fromUser, WFCMessage.Message.Builder message, Set<String> notifyReceivers);
Set<String> getAllEnds();
WFCMessage.PullMessageResult fetchMessage(String user, String exceptClientId, long fromMessageId, int pullType);
WFCMessage.PullMessageResult loadRemoteMessages(String user, WFCMessage.Conversation conversation, long beforeUid, int count);
WFCMessage.PullMessageResult loadRemoteMessages(String user, WFCMessage.Conversation conversation, long beforeUid, int count, Collection<Integer> contentTypes);
long insertUserMessages(String sender, int conversationType, String target, int line, int messageContentType, String userId, long messageId);
WFCMessage.GroupInfo createGroup(String operator, WFCMessage.GroupInfo groupInfo, List<WFCMessage.GroupMember> memberList, String memberExtra, boolean isAdmin);
ErrorCode addGroupMembers(String operator, boolean isAdmin, String groupId, List<WFCMessage.GroupMember> memberList, String extra);
@@ -59417,6 +59417,20 @@ public final class WFCMessage {
* <code>required int32 count = 3;</code>
*/
int getCount();
// repeated int32 content_type = 4;
/**
* <code>repeated int32 content_type = 4;</code>
*/
java.util.List<java.lang.Integer> getContentTypeList();
/**
* <code>repeated int32 content_type = 4;</code>
*/
int getContentTypeCount();
/**
* <code>repeated int32 content_type = 4;</code>
*/
int getContentType(int index);
}
/**
* Protobuf type {@code LoadRemoteMessages}
@@ -59492,6 +59506,27 @@ public final class WFCMessage {
count_ = input.readInt32();
break;
}
case 32: {
if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
contentType_ = new java.util.ArrayList<java.lang.Integer>();
mutable_bitField0_ |= 0x00000008;
}
contentType_.add(input.readInt32());
break;
}
case 34: {
int length = input.readRawVarint32();
int limit = input.pushLimit(length);
if (!((mutable_bitField0_ & 0x00000008) == 0x00000008) && input.getBytesUntilLimit() > 0) {
contentType_ = new java.util.ArrayList<java.lang.Integer>();
mutable_bitField0_ |= 0x00000008;
}
while (input.getBytesUntilLimit() > 0) {
contentType_.add(input.readInt32());
}
input.popLimit(limit);
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -59500,6 +59535,9 @@ public final class WFCMessage {
throw new com.google.protobuf.InvalidProtocolBufferException(
e.getMessage()).setUnfinishedMessage(this);
} finally {
if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
contentType_ = java.util.Collections.unmodifiableList(contentType_);
}
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
@@ -59586,10 +59624,34 @@ public final class WFCMessage {
return count_;
}
// repeated int32 content_type = 4;
public static final int CONTENT_TYPE_FIELD_NUMBER = 4;
private java.util.List<java.lang.Integer> contentType_;
/**
* <code>repeated int32 content_type = 4;</code>
*/
public java.util.List<java.lang.Integer>
getContentTypeList() {
return contentType_;
}
/**
* <code>repeated int32 content_type = 4;</code>
*/
public int getContentTypeCount() {
return contentType_.size();
}
/**
* <code>repeated int32 content_type = 4;</code>
*/
public int getContentType(int index) {
return contentType_.get(index);
}
private void initFields() {
conversation_ = cn.wildfirechat.proto.WFCMessage.Conversation.getDefaultInstance();
beforeUid_ = 0L;
count_ = 0;
contentType_ = java.util.Collections.emptyList();
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
@@ -59628,6 +59690,9 @@ public final class WFCMessage {
if (((bitField0_ & 0x00000004) == 0x00000004)) {
output.writeInt32(3, count_);
}
for (int i = 0; i < contentType_.size(); i++) {
output.writeInt32(4, contentType_.get(i));
}
getUnknownFields().writeTo(output);
}
@@ -59649,6 +59714,15 @@ public final class WFCMessage {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(3, count_);
}
{
int dataSize = 0;
for (int i = 0; i < contentType_.size(); i++) {
dataSize += com.google.protobuf.CodedOutputStream
.computeInt32SizeNoTag(contentType_.get(i));
}
size += dataSize;
size += 1 * getContentTypeList().size();
}
size += getUnknownFields().getSerializedSize();
memoizedSerializedSize = size;
return size;
@@ -59776,6 +59850,8 @@ public final class WFCMessage {
bitField0_ = (bitField0_ & ~0x00000002);
count_ = 0;
bitField0_ = (bitField0_ & ~0x00000004);
contentType_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000008);
return this;
}
@@ -59820,6 +59896,11 @@ public final class WFCMessage {
to_bitField0_ |= 0x00000004;
}
result.count_ = count_;
if (((bitField0_ & 0x00000008) == 0x00000008)) {
contentType_ = java.util.Collections.unmodifiableList(contentType_);
bitField0_ = (bitField0_ & ~0x00000008);
}
result.contentType_ = contentType_;
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
@@ -59845,6 +59926,16 @@ public final class WFCMessage {
if (other.hasCount()) {
setCount(other.getCount());
}
if (!other.contentType_.isEmpty()) {
if (contentType_.isEmpty()) {
contentType_ = other.contentType_;
bitField0_ = (bitField0_ & ~0x00000008);
} else {
ensureContentTypeIsMutable();
contentType_.addAll(other.contentType_);
}
onChanged();
}
this.mergeUnknownFields(other.getUnknownFields());
return this;
}
@@ -60071,6 +60162,72 @@ public final class WFCMessage {
return this;
}
// repeated int32 content_type = 4;
private java.util.List<java.lang.Integer> contentType_ = java.util.Collections.emptyList();
private void ensureContentTypeIsMutable() {
if (!((bitField0_ & 0x00000008) == 0x00000008)) {
contentType_ = new java.util.ArrayList<java.lang.Integer>(contentType_);
bitField0_ |= 0x00000008;
}
}
/**
* <code>repeated int32 content_type = 4;</code>
*/
public java.util.List<java.lang.Integer>
getContentTypeList() {
return java.util.Collections.unmodifiableList(contentType_);
}
/**
* <code>repeated int32 content_type = 4;</code>
*/
public int getContentTypeCount() {
return contentType_.size();
}
/**
* <code>repeated int32 content_type = 4;</code>
*/
public int getContentType(int index) {
return contentType_.get(index);
}
/**
* <code>repeated int32 content_type = 4;</code>
*/
public Builder setContentType(
int index, int value) {
ensureContentTypeIsMutable();
contentType_.set(index, value);
onChanged();
return this;
}
/**
* <code>repeated int32 content_type = 4;</code>
*/
public Builder addContentType(int value) {
ensureContentTypeIsMutable();
contentType_.add(value);
onChanged();
return this;
}
/**
* <code>repeated int32 content_type = 4;</code>
*/
public Builder addAllContentType(
java.lang.Iterable<? extends java.lang.Integer> values) {
ensureContentTypeIsMutable();
super.addAll(values, contentType_);
onChanged();
return this;
}
/**
* <code>repeated int32 content_type = 4;</code>
*/
public Builder clearContentType() {
contentType_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000008);
onChanged();
return this;
}
// @@protoc_insertion_point(builder_scope:LoadRemoteMessages)
}
@@ -62158,14 +62315,15 @@ public final class WFCMessage {
"t\030\001 \002(\t\022\021\n\tlong_port\030\002 \002(\005\022\022\n\nshort_port" +
"\030\003 \002(\005\"G\n\017GetTokenRequest\022\017\n\007user_id\030\001 \002" +
"(\t\022\021\n\tclient_id\030\002 \002(\t\022\020\n\010platform\030\003 \001(\005\"" +
"\\\n\022LoadRemoteMessages\022#\n\014conversation\030\001 " +
"r\n\022LoadRemoteMessages\022#\n\014conversation\030\001 " +
"\002(\0132\r.Conversation\022\022\n\nbefore_uid\030\002 \002(\003\022\r" +
"\n\005count\030\003 \002(\005\"a\n\020MultiCastMessage\022\021\n\tfro",
"m_user\030\001 \002(\t\022 \n\007content\030\002 \002(\0132\017.MessageC" +
"ontent\022\n\n\002to\030\003 \003(\t\022\014\n\004line\030\004 \002(\005\"E\n\035Reca" +
"llMultiCastMessageRequest\022\022\n\nmessage_id\030" +
"\001 \002(\003\022\020\n\010receiver\030\002 \003(\tB#\n\025cn.wildfirech" +
"at.protoB\nWFCMessage"
"\n\005count\030\003 \002(\005\022\024\n\014content_type\030\004 \003(\005\"a\n\020M",
"ultiCastMessage\022\021\n\tfrom_user\030\001 \002(\t\022 \n\007co" +
"ntent\030\002 \002(\0132\017.MessageContent\022\n\n\002to\030\003 \003(\t" +
"\022\014\n\004line\030\004 \002(\005\"E\n\035RecallMultiCastMessage" +
"Request\022\022\n\nmessage_id\030\001 \002(\003\022\020\n\010receiver\030" +
"\002 \003(\tB#\n\025cn.wildfirechat.protoB\nWFCMessa" +
"ge"
};
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
@@ -62591,7 +62749,7 @@ public final class WFCMessage {
internal_static_LoadRemoteMessages_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_LoadRemoteMessages_descriptor,
new java.lang.String[] { "Conversation", "BeforeUid", "Count", });
new java.lang.String[] { "Conversation", "BeforeUid", "Count", "ContentType", });
internal_static_MultiCastMessage_descriptor =
getDescriptor().getMessageTypes().get(70);
internal_static_MultiCastMessage_fieldAccessorTable = new