diff --git a/app/build.gradle b/app/build.gradle
index 0f74bcd0da..95ab0c4421 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -158,7 +158,7 @@ dependencies {
testImplementation 'org.robolectric:shadows-multidex:4.4'
}
-def canonicalVersionCode = 254
+def canonicalVersionCode = 259
def canonicalVersionName = "1.12.4"
def postFixSize = 10
diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/model/DisplayRecord.java b/app/src/main/java/org/thoughtcrime/securesms/database/model/DisplayRecord.java
index 6a6b6bb052..5bec3b720d 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/database/model/DisplayRecord.java
+++ b/app/src/main/java/org/thoughtcrime/securesms/database/model/DisplayRecord.java
@@ -122,6 +122,6 @@ public abstract class DisplayRecord {
public boolean isControlMessage() {
return isGroupUpdateMessage() || isExpirationTimerUpdate() || isDataExtractionNotification()
- || isMessageRequestResponse() || || isCallLog();
+ || isMessageRequestResponse() || isCallLog();
}
}
diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/ReceivedMessageHandler.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/ReceivedMessageHandler.kt
index 05a52ab495..ee2664d02e 100644
--- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/ReceivedMessageHandler.kt
+++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/ReceivedMessageHandler.kt
@@ -6,6 +6,7 @@ import org.session.libsession.messaging.MessagingModuleConfiguration
import org.session.libsession.messaging.jobs.AttachmentDownloadJob
import org.session.libsession.messaging.jobs.JobQueue
import org.session.libsession.messaging.messages.Message
+import org.session.libsession.messaging.messages.control.CallMessage
import org.session.libsession.messaging.messages.control.ClosedGroupControlMessage
import org.session.libsession.messaging.messages.control.ConfigurationMessage
import org.session.libsession.messaging.messages.control.DataExtractionNotification
diff --git a/libsignal/src/main/java/org/session/libsignal/protos/SignalServiceProtos.java b/libsignal/src/main/java/org/session/libsignal/protos/SignalServiceProtos.java
index 294fe61a19..25bbb0e447 100644
--- a/libsignal/src/main/java/org/session/libsignal/protos/SignalServiceProtos.java
+++ b/libsignal/src/main/java/org/session/libsignal/protos/SignalServiceProtos.java
@@ -2454,6 +2454,20 @@ public final class SignalServiceProtos {
* optional .signalservice.UnsendRequest unsendRequest = 9;
*/
org.session.libsignal.protos.SignalServiceProtos.UnsendRequestOrBuilder getUnsendRequestOrBuilder();
+
+ // optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ boolean hasMessageRequestResponse();
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse getMessageRequestResponse();
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponseOrBuilder getMessageRequestResponseOrBuilder();
}
/**
* Protobuf type {@code signalservice.Content}
@@ -2597,6 +2611,19 @@ public final class SignalServiceProtos {
bitField0_ |= 0x00000040;
break;
}
+ case 82: {
+ org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000080) == 0x00000080)) {
+ subBuilder = messageRequestResponse_.toBuilder();
+ }
+ messageRequestResponse_ = input.readMessage(org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(messageRequestResponse_);
+ messageRequestResponse_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000080;
+ break;
+ }
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -2791,6 +2818,28 @@ public final class SignalServiceProtos {
return unsendRequest_;
}
+ // optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ public static final int MESSAGEREQUESTRESPONSE_FIELD_NUMBER = 10;
+ private org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse messageRequestResponse_;
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ public boolean hasMessageRequestResponse() {
+ return ((bitField0_ & 0x00000080) == 0x00000080);
+ }
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ public org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse getMessageRequestResponse() {
+ return messageRequestResponse_;
+ }
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ public org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponseOrBuilder getMessageRequestResponseOrBuilder() {
+ return messageRequestResponse_;
+ }
+
private void initFields() {
dataMessage_ = org.session.libsignal.protos.SignalServiceProtos.DataMessage.getDefaultInstance();
callMessage_ = org.session.libsignal.protos.SignalServiceProtos.CallMessage.getDefaultInstance();
@@ -2799,6 +2848,7 @@ public final class SignalServiceProtos {
configurationMessage_ = org.session.libsignal.protos.SignalServiceProtos.ConfigurationMessage.getDefaultInstance();
dataExtractionNotification_ = org.session.libsignal.protos.SignalServiceProtos.DataExtractionNotification.getDefaultInstance();
unsendRequest_ = org.session.libsignal.protos.SignalServiceProtos.UnsendRequest.getDefaultInstance();
+ messageRequestResponse_ = org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.getDefaultInstance();
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
@@ -2847,6 +2897,12 @@ public final class SignalServiceProtos {
return false;
}
}
+ if (hasMessageRequestResponse()) {
+ if (!getMessageRequestResponse().isInitialized()) {
+ memoizedIsInitialized = 0;
+ return false;
+ }
+ }
memoizedIsInitialized = 1;
return true;
}
@@ -2875,6 +2931,9 @@ public final class SignalServiceProtos {
if (((bitField0_ & 0x00000040) == 0x00000040)) {
output.writeMessage(9, unsendRequest_);
}
+ if (((bitField0_ & 0x00000080) == 0x00000080)) {
+ output.writeMessage(10, messageRequestResponse_);
+ }
getUnknownFields().writeTo(output);
}
@@ -2912,6 +2971,10 @@ public final class SignalServiceProtos {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(9, unsendRequest_);
}
+ if (((bitField0_ & 0x00000080) == 0x00000080)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(10, messageRequestResponse_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSerializedSize = size;
return size;
@@ -3027,6 +3090,7 @@ public final class SignalServiceProtos {
getConfigurationMessageFieldBuilder();
getDataExtractionNotificationFieldBuilder();
getUnsendRequestFieldBuilder();
+ getMessageRequestResponseFieldBuilder();
}
}
private static Builder create() {
@@ -3077,6 +3141,12 @@ public final class SignalServiceProtos {
unsendRequestBuilder_.clear();
}
bitField0_ = (bitField0_ & ~0x00000040);
+ if (messageRequestResponseBuilder_ == null) {
+ messageRequestResponse_ = org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.getDefaultInstance();
+ } else {
+ messageRequestResponseBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000080);
return this;
}
@@ -3161,6 +3231,14 @@ public final class SignalServiceProtos {
} else {
result.unsendRequest_ = unsendRequestBuilder_.build();
}
+ if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
+ to_bitField0_ |= 0x00000080;
+ }
+ if (messageRequestResponseBuilder_ == null) {
+ result.messageRequestResponse_ = messageRequestResponse_;
+ } else {
+ result.messageRequestResponse_ = messageRequestResponseBuilder_.build();
+ }
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
@@ -3198,6 +3276,9 @@ public final class SignalServiceProtos {
if (other.hasUnsendRequest()) {
mergeUnsendRequest(other.getUnsendRequest());
}
+ if (other.hasMessageRequestResponse()) {
+ mergeMessageRequestResponse(other.getMessageRequestResponse());
+ }
this.mergeUnknownFields(other.getUnknownFields());
return this;
}
@@ -3245,6 +3326,12 @@ public final class SignalServiceProtos {
return false;
}
}
+ if (hasMessageRequestResponse()) {
+ if (!getMessageRequestResponse().isInitialized()) {
+
+ return false;
+ }
+ }
return true;
}
@@ -4086,6 +4173,123 @@ public final class SignalServiceProtos {
return unsendRequestBuilder_;
}
+ // optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ private org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse messageRequestResponse_ = org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.getDefaultInstance();
+ private com.google.protobuf.SingleFieldBuilder<
+ org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse, org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.Builder, org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponseOrBuilder> messageRequestResponseBuilder_;
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ public boolean hasMessageRequestResponse() {
+ return ((bitField0_ & 0x00000080) == 0x00000080);
+ }
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ public org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse getMessageRequestResponse() {
+ if (messageRequestResponseBuilder_ == null) {
+ return messageRequestResponse_;
+ } else {
+ return messageRequestResponseBuilder_.getMessage();
+ }
+ }
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ public Builder setMessageRequestResponse(org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse value) {
+ if (messageRequestResponseBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ messageRequestResponse_ = value;
+ onChanged();
+ } else {
+ messageRequestResponseBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000080;
+ return this;
+ }
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ public Builder setMessageRequestResponse(
+ org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.Builder builderForValue) {
+ if (messageRequestResponseBuilder_ == null) {
+ messageRequestResponse_ = builderForValue.build();
+ onChanged();
+ } else {
+ messageRequestResponseBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000080;
+ return this;
+ }
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ public Builder mergeMessageRequestResponse(org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse value) {
+ if (messageRequestResponseBuilder_ == null) {
+ if (((bitField0_ & 0x00000080) == 0x00000080) &&
+ messageRequestResponse_ != org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.getDefaultInstance()) {
+ messageRequestResponse_ =
+ org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.newBuilder(messageRequestResponse_).mergeFrom(value).buildPartial();
+ } else {
+ messageRequestResponse_ = value;
+ }
+ onChanged();
+ } else {
+ messageRequestResponseBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000080;
+ return this;
+ }
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ public Builder clearMessageRequestResponse() {
+ if (messageRequestResponseBuilder_ == null) {
+ messageRequestResponse_ = org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.getDefaultInstance();
+ onChanged();
+ } else {
+ messageRequestResponseBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000080);
+ return this;
+ }
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ public org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.Builder getMessageRequestResponseBuilder() {
+ bitField0_ |= 0x00000080;
+ onChanged();
+ return getMessageRequestResponseFieldBuilder().getBuilder();
+ }
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ public org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponseOrBuilder getMessageRequestResponseOrBuilder() {
+ if (messageRequestResponseBuilder_ != null) {
+ return messageRequestResponseBuilder_.getMessageOrBuilder();
+ } else {
+ return messageRequestResponse_;
+ }
+ }
+ /**
+ * optional .signalservice.MessageRequestResponse messageRequestResponse = 10;
+ */
+ private com.google.protobuf.SingleFieldBuilder<
+ org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse, org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.Builder, org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponseOrBuilder>
+ getMessageRequestResponseFieldBuilder() {
+ if (messageRequestResponseBuilder_ == null) {
+ messageRequestResponseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+ org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse, org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.Builder, org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponseOrBuilder>(
+ messageRequestResponse_,
+ getParentForChildren(),
+ isClean());
+ messageRequestResponse_ = null;
+ }
+ return messageRequestResponseBuilder_;
+ }
+
// @@protoc_insertion_point(builder_scope:signalservice.Content)
}
@@ -17605,6 +17809,36 @@ public final class SignalServiceProtos {
* optional bytes profileKey = 4;
*/
com.google.protobuf.ByteString getProfileKey();
+
+ // optional bool isApproved = 5;
+ /**
+ * optional bool isApproved = 5;
+ */
+ boolean hasIsApproved();
+ /**
+ * optional bool isApproved = 5;
+ */
+ boolean getIsApproved();
+
+ // optional bool isBlocked = 6;
+ /**
+ * optional bool isBlocked = 6;
+ */
+ boolean hasIsBlocked();
+ /**
+ * optional bool isBlocked = 6;
+ */
+ boolean getIsBlocked();
+
+ // optional bool didApproveMe = 7;
+ /**
+ * optional bool didApproveMe = 7;
+ */
+ boolean hasDidApproveMe();
+ /**
+ * optional bool didApproveMe = 7;
+ */
+ boolean getDidApproveMe();
}
/**
* Protobuf type {@code signalservice.ConfigurationMessage.Contact}
@@ -17677,6 +17911,21 @@ public final class SignalServiceProtos {
profileKey_ = input.readBytes();
break;
}
+ case 40: {
+ bitField0_ |= 0x00000010;
+ isApproved_ = input.readBool();
+ break;
+ }
+ case 48: {
+ bitField0_ |= 0x00000020;
+ isBlocked_ = input.readBool();
+ break;
+ }
+ case 56: {
+ bitField0_ |= 0x00000040;
+ didApproveMe_ = input.readBool();
+ break;
+ }
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -17855,11 +18104,62 @@ public final class SignalServiceProtos {
return profileKey_;
}
+ // optional bool isApproved = 5;
+ public static final int ISAPPROVED_FIELD_NUMBER = 5;
+ private boolean isApproved_;
+ /**
+ * optional bool isApproved = 5;
+ */
+ public boolean hasIsApproved() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * optional bool isApproved = 5;
+ */
+ public boolean getIsApproved() {
+ return isApproved_;
+ }
+
+ // optional bool isBlocked = 6;
+ public static final int ISBLOCKED_FIELD_NUMBER = 6;
+ private boolean isBlocked_;
+ /**
+ * optional bool isBlocked = 6;
+ */
+ public boolean hasIsBlocked() {
+ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+ /**
+ * optional bool isBlocked = 6;
+ */
+ public boolean getIsBlocked() {
+ return isBlocked_;
+ }
+
+ // optional bool didApproveMe = 7;
+ public static final int DIDAPPROVEME_FIELD_NUMBER = 7;
+ private boolean didApproveMe_;
+ /**
+ * optional bool didApproveMe = 7;
+ */
+ public boolean hasDidApproveMe() {
+ return ((bitField0_ & 0x00000040) == 0x00000040);
+ }
+ /**
+ * optional bool didApproveMe = 7;
+ */
+ public boolean getDidApproveMe() {
+ return didApproveMe_;
+ }
+
private void initFields() {
publicKey_ = com.google.protobuf.ByteString.EMPTY;
name_ = "";
profilePicture_ = "";
profileKey_ = com.google.protobuf.ByteString.EMPTY;
+ isApproved_ = false;
+ isBlocked_ = false;
+ didApproveMe_ = false;
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
@@ -17893,6 +18193,15 @@ public final class SignalServiceProtos {
if (((bitField0_ & 0x00000008) == 0x00000008)) {
output.writeBytes(4, profileKey_);
}
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeBool(5, isApproved_);
+ }
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ output.writeBool(6, isBlocked_);
+ }
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ output.writeBool(7, didApproveMe_);
+ }
getUnknownFields().writeTo(output);
}
@@ -17918,6 +18227,18 @@ public final class SignalServiceProtos {
size += com.google.protobuf.CodedOutputStream
.computeBytesSize(4, profileKey_);
}
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(5, isApproved_);
+ }
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(6, isBlocked_);
+ }
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(7, didApproveMe_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSerializedSize = size;
return size;
@@ -18042,6 +18363,12 @@ public final class SignalServiceProtos {
bitField0_ = (bitField0_ & ~0x00000004);
profileKey_ = com.google.protobuf.ByteString.EMPTY;
bitField0_ = (bitField0_ & ~0x00000008);
+ isApproved_ = false;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ isBlocked_ = false;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ didApproveMe_ = false;
+ bitField0_ = (bitField0_ & ~0x00000040);
return this;
}
@@ -18086,6 +18413,18 @@ public final class SignalServiceProtos {
to_bitField0_ |= 0x00000008;
}
result.profileKey_ = profileKey_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.isApproved_ = isApproved_;
+ if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
+ to_bitField0_ |= 0x00000020;
+ }
+ result.isBlocked_ = isBlocked_;
+ if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
+ to_bitField0_ |= 0x00000040;
+ }
+ result.didApproveMe_ = didApproveMe_;
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
@@ -18118,6 +18457,15 @@ public final class SignalServiceProtos {
if (other.hasProfileKey()) {
setProfileKey(other.getProfileKey());
}
+ if (other.hasIsApproved()) {
+ setIsApproved(other.getIsApproved());
+ }
+ if (other.hasIsBlocked()) {
+ setIsBlocked(other.getIsBlocked());
+ }
+ if (other.hasDidApproveMe()) {
+ setDidApproveMe(other.getDidApproveMe());
+ }
this.mergeUnknownFields(other.getUnknownFields());
return this;
}
@@ -18413,6 +18761,105 @@ public final class SignalServiceProtos {
return this;
}
+ // optional bool isApproved = 5;
+ private boolean isApproved_ ;
+ /**
+ * optional bool isApproved = 5;
+ */
+ public boolean hasIsApproved() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * optional bool isApproved = 5;
+ */
+ public boolean getIsApproved() {
+ return isApproved_;
+ }
+ /**
+ * optional bool isApproved = 5;
+ */
+ public Builder setIsApproved(boolean value) {
+ bitField0_ |= 0x00000010;
+ isApproved_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * optional bool isApproved = 5;
+ */
+ public Builder clearIsApproved() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ isApproved_ = false;
+ onChanged();
+ return this;
+ }
+
+ // optional bool isBlocked = 6;
+ private boolean isBlocked_ ;
+ /**
+ * optional bool isBlocked = 6;
+ */
+ public boolean hasIsBlocked() {
+ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+ /**
+ * optional bool isBlocked = 6;
+ */
+ public boolean getIsBlocked() {
+ return isBlocked_;
+ }
+ /**
+ * optional bool isBlocked = 6;
+ */
+ public Builder setIsBlocked(boolean value) {
+ bitField0_ |= 0x00000020;
+ isBlocked_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * optional bool isBlocked = 6;
+ */
+ public Builder clearIsBlocked() {
+ bitField0_ = (bitField0_ & ~0x00000020);
+ isBlocked_ = false;
+ onChanged();
+ return this;
+ }
+
+ // optional bool didApproveMe = 7;
+ private boolean didApproveMe_ ;
+ /**
+ * optional bool didApproveMe = 7;
+ */
+ public boolean hasDidApproveMe() {
+ return ((bitField0_ & 0x00000040) == 0x00000040);
+ }
+ /**
+ * optional bool didApproveMe = 7;
+ */
+ public boolean getDidApproveMe() {
+ return didApproveMe_;
+ }
+ /**
+ * optional bool didApproveMe = 7;
+ */
+ public Builder setDidApproveMe(boolean value) {
+ bitField0_ |= 0x00000040;
+ didApproveMe_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * optional bool didApproveMe = 7;
+ */
+ public Builder clearDidApproveMe() {
+ bitField0_ = (bitField0_ & ~0x00000040);
+ didApproveMe_ = false;
+ onChanged();
+ return this;
+ }
+
// @@protoc_insertion_point(builder_scope:signalservice.ConfigurationMessage.Contact)
}
@@ -19817,29 +20264,465 @@ public final class SignalServiceProtos {
// @@protoc_insertion_point(class_scope:signalservice.ConfigurationMessage)
}
- public interface ReceiptMessageOrBuilder
+ public interface MessageRequestResponseOrBuilder
extends com.google.protobuf.MessageOrBuilder {
- // required .signalservice.ReceiptMessage.Type type = 1;
+ // required bool isApproved = 1;
/**
- * required .signalservice.ReceiptMessage.Type type = 1;
+ * required bool isApproved = 1;
*
*
* @required **/ - boolean hasType(); + boolean hasIsApproved(); /** - *
required .signalservice.ReceiptMessage.Type type = 1;
+ * required bool isApproved = 1;
*
* * @required **/ - org.session.libsignal.protos.SignalServiceProtos.ReceiptMessage.Type getType(); + boolean getIsApproved(); + } + /** + * Protobuf type {@code signalservice.MessageRequestResponse} + */ + public static final class MessageRequestResponse extends + com.google.protobuf.GeneratedMessage + implements MessageRequestResponseOrBuilder { + // Use MessageRequestResponse.newBuilder() to construct. + private MessageRequestResponse(com.google.protobuf.GeneratedMessage.Builder> builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private MessageRequestResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } - // repeated uint64 timestamp = 2; - /** + private static final MessageRequestResponse defaultInstance; + public static MessageRequestResponse getDefaultInstance() { + return defaultInstance; + } + + public MessageRequestResponse getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private MessageRequestResponse( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + bitField0_ |= 0x00000001; + isApproved_ = input.readBool(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.session.libsignal.protos.SignalServiceProtos.internal_static_signalservice_MessageRequestResponse_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.session.libsignal.protos.SignalServiceProtos.internal_static_signalservice_MessageRequestResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.class, org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse.Builder.class); + } + + public static com.google.protobuf.Parser
required bool isApproved = 1;
+ *
+ * + * @required + *+ */ + public boolean hasIsApproved() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + *
required bool isApproved = 1;
+ *
+ * + * @required + *+ */ + public boolean getIsApproved() { + return isApproved_; + } + + private void initFields() { + isApproved_ = false; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasIsApproved()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBool(1, isApproved_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(1, isApproved_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(org.session.libsignal.protos.SignalServiceProtos.MessageRequestResponse prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code signalservice.MessageRequestResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder
required bool isApproved = 1;
+ *
+ * + * @required + *+ */ + public boolean hasIsApproved() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + *
required bool isApproved = 1;
+ *
+ * + * @required + *+ */ + public boolean getIsApproved() { + return isApproved_; + } + /** + *
required bool isApproved = 1;
+ *
+ * + * @required + *+ */ + public Builder setIsApproved(boolean value) { + bitField0_ |= 0x00000001; + isApproved_ = value; + onChanged(); + return this; + } + /** + *
required bool isApproved = 1;
+ *
+ * + * @required + *+ */ + public Builder clearIsApproved() { + bitField0_ = (bitField0_ & ~0x00000001); + isApproved_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:signalservice.MessageRequestResponse) + } + + static { + defaultInstance = new MessageRequestResponse(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:signalservice.MessageRequestResponse) + } + + public interface ReceiptMessageOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required .signalservice.ReceiptMessage.Type type = 1; + /** + *
required .signalservice.ReceiptMessage.Type type = 1;
+ *
+ * + * @required + *+ */ + boolean hasType(); + /** + *
required .signalservice.ReceiptMessage.Type type = 1;
+ *
+ * + * @required + *+ */ + org.session.libsignal.protos.SignalServiceProtos.ReceiptMessage.Type getType(); + + // repeated uint64 timestamp = 2; + /** *
repeated uint64 timestamp = 2;
*/
java.util.List