diff --git a/android/build.gradle b/android/build.gradle index f4c5b335d1..7656360c9e 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -4,7 +4,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:1.1.0' + classpath 'com.android.tools.build:gradle:1.2.3' } } diff --git a/build.gradle b/build.gradle index 27c20cc06c..61f98e31d7 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ subprojects { - ext.version_number = "1.5.0" + ext.version_number = "1.6.0-RC4" ext.group_info = "org.whispersystems" ext.axolotl_version = "1.3.1" diff --git a/java/src/main/java/org/whispersystems/textsecure/api/TextSecureMessageReceiver.java b/java/src/main/java/org/whispersystems/textsecure/api/TextSecureMessageReceiver.java index bb3b46b454..c1b239abfb 100644 --- a/java/src/main/java/org/whispersystems/textsecure/api/TextSecureMessageReceiver.java +++ b/java/src/main/java/org/whispersystems/textsecure/api/TextSecureMessageReceiver.java @@ -19,6 +19,7 @@ package org.whispersystems.textsecure.api; import org.whispersystems.libaxolotl.InvalidMessageException; import org.whispersystems.textsecure.api.crypto.AttachmentCipherInputStream; import org.whispersystems.textsecure.api.messages.TextSecureAttachmentPointer; +import org.whispersystems.textsecure.api.messages.TextSecureDataMessage; import org.whispersystems.textsecure.api.messages.TextSecureEnvelope; import org.whispersystems.textsecure.api.push.TrustStore; import org.whispersystems.textsecure.api.util.CredentialsProvider; @@ -80,7 +81,7 @@ public class TextSecureMessageReceiver { * Retrieves a TextSecure attachment. * * @param pointer The {@link org.whispersystems.textsecure.api.messages.TextSecureAttachmentPointer} - * received in a {@link org.whispersystems.textsecure.api.messages.TextSecureMessage}. + * received in a {@link TextSecureDataMessage}. * @param destination The download destination for this attachment. * * @return An InputStream that streams the plaintext attachment contents. @@ -119,7 +120,8 @@ public class TextSecureMessageReceiver { for (TextSecureEnvelopeEntity entity : entities) { TextSecureEnvelope envelope = new TextSecureEnvelope(entity.getType(), entity.getSource(), entity.getSourceDevice(), entity.getRelay(), - entity.getTimestamp(), entity.getMessage()); + entity.getTimestamp(), entity.getMessage(), + entity.getContent()); callback.onMessage(envelope); results.add(envelope); diff --git a/java/src/main/java/org/whispersystems/textsecure/api/TextSecureMessageSender.java b/java/src/main/java/org/whispersystems/textsecure/api/TextSecureMessageSender.java index 144cbc75a1..803605fb2f 100644 --- a/java/src/main/java/org/whispersystems/textsecure/api/TextSecureMessageSender.java +++ b/java/src/main/java/org/whispersystems/textsecure/api/TextSecureMessageSender.java @@ -30,8 +30,8 @@ import org.whispersystems.textsecure.api.crypto.TextSecureCipher; import org.whispersystems.textsecure.api.crypto.UntrustedIdentityException; import org.whispersystems.textsecure.api.messages.TextSecureAttachment; import org.whispersystems.textsecure.api.messages.TextSecureAttachmentStream; +import org.whispersystems.textsecure.api.messages.TextSecureDataMessage; import org.whispersystems.textsecure.api.messages.TextSecureGroup; -import org.whispersystems.textsecure.api.messages.TextSecureMessage; import org.whispersystems.textsecure.api.push.TextSecureAddress; import org.whispersystems.textsecure.api.push.TrustStore; import org.whispersystems.textsecure.api.push.exceptions.EncapsulatedExceptions; @@ -42,10 +42,14 @@ import org.whispersystems.textsecure.internal.push.MismatchedDevices; import org.whispersystems.textsecure.internal.push.OutgoingPushMessage; import org.whispersystems.textsecure.internal.push.OutgoingPushMessageList; import org.whispersystems.textsecure.internal.push.PushAttachmentData; -import org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext; import org.whispersystems.textsecure.internal.push.PushServiceSocket; import org.whispersystems.textsecure.internal.push.SendMessageResponse; import org.whispersystems.textsecure.internal.push.StaleDevices; +import org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer; +import org.whispersystems.textsecure.internal.push.TextSecureProtos.Content; +import org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage; +import org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext; +import org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage; import org.whispersystems.textsecure.internal.push.exceptions.MismatchedDevicesException; import org.whispersystems.textsecure.internal.push.exceptions.StaleDevicesException; import org.whispersystems.textsecure.internal.util.StaticCredentialsProvider; @@ -55,10 +59,6 @@ import java.io.IOException; import java.util.LinkedList; import java.util.List; -import static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent; -import static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer; -import static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext; - /** * The main interface for sending TextSecure messages. * @@ -114,16 +114,16 @@ public class TextSecureMessageSender { * @throws UntrustedIdentityException * @throws IOException */ - public void sendMessage(TextSecureAddress recipient, TextSecureMessage message) + public void sendMessage(TextSecureAddress recipient, TextSecureDataMessage message) throws UntrustedIdentityException, IOException { byte[] content = createMessageContent(message); long timestamp = message.getTimestamp(); - SendMessageResponse response = sendMessage(recipient, timestamp, content); + SendMessageResponse response = sendMessage(recipient, timestamp, content, true); if (response != null && response.getNeedsSync()) { - byte[] syncMessage = createSyncMessageContent(content, Optional.of(recipient), timestamp); - sendMessage(localAddress, timestamp, syncMessage); + byte[] syncMessage = createSentTranscriptMessage(content, Optional.of(recipient), timestamp); + sendMessage(localAddress, timestamp, syncMessage, false); } if (message.isEndSession()) { @@ -143,26 +143,33 @@ public class TextSecureMessageSender { * @throws IOException * @throws EncapsulatedExceptions */ - public void sendMessage(List recipients, TextSecureMessage message) + public void sendMessage(List recipients, TextSecureDataMessage message) throws IOException, EncapsulatedExceptions { byte[] content = createMessageContent(message); long timestamp = message.getTimestamp(); - SendMessageResponse response = sendMessage(recipients, timestamp, content); + SendMessageResponse response = sendMessage(recipients, timestamp, content, true); try { if (response != null && response.getNeedsSync()) { - byte[] syncMessage = createSyncMessageContent(content, Optional.absent(), timestamp); - sendMessage(localAddress, timestamp, syncMessage); + byte[] syncMessage = createSentTranscriptMessage(content, Optional.absent(), timestamp); + sendMessage(localAddress, timestamp, syncMessage, false); } } catch (UntrustedIdentityException e) { throw new EncapsulatedExceptions(e); } } - private byte[] createMessageContent(TextSecureMessage message) throws IOException { - PushMessageContent.Builder builder = PushMessageContent.newBuilder(); - List pointers = createAttachmentPointers(message.getAttachments()); + public void sendMultiDeviceContactsUpdate(TextSecureAttachmentStream contacts) + throws IOException, UntrustedIdentityException + { + byte[] content = createMultiDeviceContactsContent(contacts); + sendMessage(localAddress, System.currentTimeMillis(), content, false); + } + + private byte[] createMessageContent(TextSecureDataMessage message) throws IOException { + DataMessage.Builder builder = DataMessage.newBuilder(); + List pointers = createAttachmentPointers(message.getAttachments()); if (!pointers.isEmpty()) { builder.addAllAttachments(pointers); @@ -177,25 +184,34 @@ public class TextSecureMessageSender { } if (message.isEndSession()) { - builder.setFlags(PushMessageContent.Flags.END_SESSION_VALUE); + builder.setFlags(DataMessage.Flags.END_SESSION_VALUE); } return builder.build().toByteArray(); } - private byte[] createSyncMessageContent(byte[] content, Optional recipient, long timestamp) { + private byte[] createMultiDeviceContactsContent(TextSecureAttachmentStream contacts) throws IOException { + SyncMessage.Builder builder = SyncMessage.newBuilder(); + builder.setContacts(SyncMessage.Contacts.newBuilder() + .setBlob(createAttachmentPointer(contacts))); + + return builder.build().toByteArray(); + } + + private byte[] createSentTranscriptMessage(byte[] content, Optional recipient, long timestamp) { try { - SyncMessageContext.Builder syncMessageContext = SyncMessageContext.newBuilder(); - syncMessageContext.setTimestamp(timestamp); + Content.Builder container = Content.newBuilder(); + SyncMessage.Builder syncMessage = SyncMessage.newBuilder(); + SyncMessage.Sent.Builder sentMessage = SyncMessage.Sent.newBuilder(); + + sentMessage.setTimestamp(timestamp); + sentMessage.setMessage(DataMessage.parseFrom(content)); if (recipient.isPresent()) { - syncMessageContext.setDestination(recipient.get().getNumber()); + sentMessage.setDestination(recipient.get().getNumber()); } - PushMessageContent.Builder builder = PushMessageContent.parseFrom(content).toBuilder(); - builder.setSync(syncMessageContext.build()); - - return builder.build().toByteArray(); + return container.setSyncMessage(syncMessage.setSent(sentMessage)).build().toByteArray(); } catch (InvalidProtocolBufferException e) { throw new AssertionError(e); } @@ -224,7 +240,7 @@ public class TextSecureMessageSender { return builder.build(); } - private SendMessageResponse sendMessage(List recipients, long timestamp, byte[] content) + private SendMessageResponse sendMessage(List recipients, long timestamp, byte[] content, boolean legacy) throws IOException, EncapsulatedExceptions { List untrustedIdentities = new LinkedList<>(); @@ -235,7 +251,7 @@ public class TextSecureMessageSender { for (TextSecureAddress recipient : recipients) { try { - response = sendMessage(recipient, timestamp, content); + response = sendMessage(recipient, timestamp, content, legacy); } catch (UntrustedIdentityException e) { Log.w(TAG, e); untrustedIdentities.add(e); @@ -255,12 +271,12 @@ public class TextSecureMessageSender { return response; } - private SendMessageResponse sendMessage(TextSecureAddress recipient, long timestamp, byte[] content) + private SendMessageResponse sendMessage(TextSecureAddress recipient, long timestamp, byte[] content, boolean legacy) throws UntrustedIdentityException, IOException { for (int i=0;i<3;i++) { try { - OutgoingPushMessageList messages = getEncryptedMessages(socket, recipient, timestamp, content); + OutgoingPushMessageList messages = getEncryptedMessages(socket, recipient, timestamp, content, legacy); return socket.sendMessage(messages); } catch (MismatchedDevicesException mde) { Log.w(TAG, mde); @@ -314,23 +330,24 @@ public class TextSecureMessageSender { private OutgoingPushMessageList getEncryptedMessages(PushServiceSocket socket, TextSecureAddress recipient, long timestamp, - byte[] plaintext) + byte[] plaintext, + boolean legacy) throws IOException, UntrustedIdentityException { List messages = new LinkedList<>(); if (!recipient.equals(localAddress)) { - messages.add(getEncryptedMessage(socket, recipient, TextSecureAddress.DEFAULT_DEVICE_ID, plaintext)); + messages.add(getEncryptedMessage(socket, recipient, TextSecureAddress.DEFAULT_DEVICE_ID, plaintext, legacy)); } for (int deviceId : store.getSubDeviceSessions(recipient.getNumber())) { - messages.add(getEncryptedMessage(socket, recipient, deviceId, plaintext)); + messages.add(getEncryptedMessage(socket, recipient, deviceId, plaintext, legacy)); } return new OutgoingPushMessageList(recipient.getNumber(), timestamp, recipient.getRelay().orNull(), messages); } - private OutgoingPushMessage getEncryptedMessage(PushServiceSocket socket, TextSecureAddress recipient, int deviceId, byte[] plaintext) + private OutgoingPushMessage getEncryptedMessage(PushServiceSocket socket, TextSecureAddress recipient, int deviceId, byte[] plaintext, boolean legacy) throws IOException, UntrustedIdentityException { AxolotlAddress axolotlAddress = new AxolotlAddress(recipient.getNumber(), deviceId); @@ -358,7 +375,7 @@ public class TextSecureMessageSender { } } - return cipher.encrypt(axolotlAddress, plaintext); + return cipher.encrypt(axolotlAddress, plaintext, legacy); } private void handleMismatchedDevices(PushServiceSocket socket, TextSecureAddress recipient, diff --git a/java/src/main/java/org/whispersystems/textsecure/api/crypto/TextSecureCipher.java b/java/src/main/java/org/whispersystems/textsecure/api/crypto/TextSecureCipher.java index ed3c62f07c..b3f9b12080 100644 --- a/java/src/main/java/org/whispersystems/textsecure/api/crypto/TextSecureCipher.java +++ b/java/src/main/java/org/whispersystems/textsecure/api/crypto/TextSecureCipher.java @@ -28,27 +28,33 @@ import org.whispersystems.libaxolotl.LegacyMessageException; import org.whispersystems.libaxolotl.NoSessionException; import org.whispersystems.libaxolotl.SessionCipher; import org.whispersystems.libaxolotl.UntrustedIdentityException; +import org.whispersystems.libaxolotl.logging.Log; import org.whispersystems.libaxolotl.protocol.CiphertextMessage; import org.whispersystems.libaxolotl.protocol.PreKeyWhisperMessage; import org.whispersystems.libaxolotl.protocol.WhisperMessage; import org.whispersystems.libaxolotl.state.AxolotlStore; import org.whispersystems.textsecure.api.messages.TextSecureAttachment; import org.whispersystems.textsecure.api.messages.TextSecureAttachmentPointer; +import org.whispersystems.textsecure.api.messages.TextSecureContent; import org.whispersystems.textsecure.api.messages.TextSecureEnvelope; import org.whispersystems.textsecure.api.messages.TextSecureGroup; -import org.whispersystems.textsecure.api.messages.TextSecureMessage; -import org.whispersystems.textsecure.api.messages.TextSecureSyncContext; +import org.whispersystems.textsecure.api.messages.TextSecureDataMessage; +import org.whispersystems.textsecure.api.messages.multidevice.SentTranscriptMessage; +import org.whispersystems.textsecure.api.messages.multidevice.TextSecureSyncMessage; import org.whispersystems.textsecure.api.push.TextSecureAddress; import org.whispersystems.textsecure.internal.push.OutgoingPushMessage; import org.whispersystems.textsecure.internal.push.PushTransportDetails; +import org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer; +import org.whispersystems.textsecure.internal.push.TextSecureProtos.Content; +import org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage; +import org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type; +import org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage; import org.whispersystems.textsecure.internal.util.Base64; import java.util.LinkedList; import java.util.List; -import static org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type; -import static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent; -import static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type.DELIVER; +import static org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type.DELIVER; /** * This is used to decrypt received {@link org.whispersystems.textsecure.api.messages.TextSecureEnvelope}s. @@ -57,6 +63,8 @@ import static org.whispersystems.textsecure.internal.push.PushMessageProtos.Push */ public class TextSecureCipher { + private static final String TAG = TextSecureCipher.class.getSimpleName(); + private final AxolotlStore axolotlStore; private final TextSecureAddress localAddress; @@ -65,7 +73,7 @@ public class TextSecureCipher { this.localAddress = localAddress; } - public OutgoingPushMessage encrypt(AxolotlAddress destination, byte[] unpaddedMessage) { + public OutgoingPushMessage encrypt(AxolotlAddress destination, byte[] unpaddedMessage, boolean legacy) { SessionCipher sessionCipher = new SessionCipher(axolotlStore, destination); PushTransportDetails transportDetails = new PushTransportDetails(sessionCipher.getSessionVersion()); CiphertextMessage message = sessionCipher.encrypt(transportDetails.getPaddedMessageBody(unpaddedMessage)); @@ -80,7 +88,8 @@ public class TextSecureCipher { default: throw new AssertionError("Bad type: " + message.getType()); } - return new OutgoingPushMessage(type, destination.getDeviceId(), remoteRegistrationId, body); + return new OutgoingPushMessage(type, destination.getDeviceId(), remoteRegistrationId, + legacy ? body : null, legacy ? null : body); } /** @@ -97,60 +106,83 @@ public class TextSecureCipher { * @throws LegacyMessageException * @throws NoSessionException */ - public TextSecureMessage decrypt(TextSecureEnvelope envelope) + public TextSecureContent decrypt(TextSecureEnvelope envelope) throws InvalidVersionException, InvalidMessageException, InvalidKeyException, DuplicateMessageException, InvalidKeyIdException, UntrustedIdentityException, LegacyMessageException, NoSessionException { try { - AxolotlAddress sourceAddress = new AxolotlAddress(envelope.getSource(), envelope.getSourceDevice()); - SessionCipher sessionCipher = new SessionCipher(axolotlStore, sourceAddress); + TextSecureContent content = new TextSecureContent(); - byte[] paddedMessage; + if (envelope.hasLegacyMessage()) { + DataMessage message = DataMessage.parseFrom(decrypt(envelope, envelope.getLegacyMessage())); + content = new TextSecureContent(createTextSecureMessage(envelope, message)); + } else if (envelope.hasContent()) { + Content message = Content.parseFrom(decrypt(envelope, envelope.getContent())); - if (envelope.isPreKeyWhisperMessage()) { - paddedMessage = sessionCipher.decrypt(new PreKeyWhisperMessage(envelope.getMessage())); - } else if (envelope.isWhisperMessage()) { - paddedMessage = sessionCipher.decrypt(new WhisperMessage(envelope.getMessage())); - } else { - throw new InvalidMessageException("Unknown type: " + envelope.getType()); + if (message.hasDataMessage()) { + content = new TextSecureContent(createTextSecureMessage(envelope, message.getDataMessage())); + } else if (message.hasSyncMessage() && localAddress.getNumber().equals(envelope.getSource())) { + content = new TextSecureContent(createSynchronizeMessage(envelope, message.getSyncMessage())); + } } - PushTransportDetails transportDetails = new PushTransportDetails(sessionCipher.getSessionVersion()); - PushMessageContent content = PushMessageContent.parseFrom(transportDetails.getStrippedPaddingMessageBody(paddedMessage)); - - return createTextSecureMessage(envelope, content); + return content; } catch (InvalidProtocolBufferException e) { throw new InvalidMessageException(e); } } - private TextSecureMessage createTextSecureMessage(TextSecureEnvelope envelope, PushMessageContent content) { - TextSecureGroup groupInfo = createGroupInfo(envelope, content); - TextSecureSyncContext syncContext = createSyncContext(envelope, content); - List attachments = new LinkedList<>(); - boolean endSession = ((content.getFlags() & PushMessageContent.Flags.END_SESSION_VALUE) != 0); + private byte[] decrypt(TextSecureEnvelope envelope, byte[] ciphertext) + throws InvalidVersionException, InvalidMessageException, InvalidKeyException, + DuplicateMessageException, InvalidKeyIdException, UntrustedIdentityException, + LegacyMessageException, NoSessionException + { + AxolotlAddress sourceAddress = new AxolotlAddress(envelope.getSource(), envelope.getSourceDevice()); + SessionCipher sessionCipher = new SessionCipher(axolotlStore, sourceAddress); - for (PushMessageContent.AttachmentPointer pointer : content.getAttachmentsList()) { + byte[] paddedMessage; + + if (envelope.isPreKeyWhisperMessage()) { + paddedMessage = sessionCipher.decrypt(new PreKeyWhisperMessage(ciphertext)); + } else if (envelope.isWhisperMessage()) { + paddedMessage = sessionCipher.decrypt(new WhisperMessage(ciphertext)); + } else { + throw new InvalidMessageException("Unknown type: " + envelope.getType()); + } + + PushTransportDetails transportDetails = new PushTransportDetails(sessionCipher.getSessionVersion()); + return transportDetails.getStrippedPaddingMessageBody(paddedMessage); + } + + private TextSecureDataMessage createTextSecureMessage(TextSecureEnvelope envelope, DataMessage content) { + TextSecureGroup groupInfo = createGroupInfo(envelope, content); + List attachments = new LinkedList<>(); + boolean endSession = ((content.getFlags() & DataMessage.Flags.END_SESSION_VALUE) != 0); + + for (AttachmentPointer pointer : content.getAttachmentsList()) { attachments.add(new TextSecureAttachmentPointer(pointer.getId(), pointer.getContentType(), pointer.getKey().toByteArray(), envelope.getRelay())); } - return new TextSecureMessage(envelope.getTimestamp(), groupInfo, attachments, - content.getBody(), syncContext, endSession); + return new TextSecureDataMessage(envelope.getTimestamp(), groupInfo, attachments, + content.getBody(), endSession); } - private TextSecureSyncContext createSyncContext(TextSecureEnvelope envelope, PushMessageContent content) { - if (!content.hasSync()) return null; - if (!envelope.getSource().equals(localAddress.getNumber())) return null; + private TextSecureSyncMessage createSynchronizeMessage(TextSecureEnvelope envelope, SyncMessage content) { + if (content.hasSent()) { + SyncMessage.Sent sentContent = content.getSent(); + return new TextSecureSyncMessage(new SentTranscriptMessage(sentContent.getDestination(), + sentContent.getTimestamp(), + createTextSecureMessage(envelope, sentContent.getMessage()))); + } - return new TextSecureSyncContext(content.getSync().getDestination(), - content.getSync().getTimestamp()); + return new TextSecureSyncMessage(); } - private TextSecureGroup createGroupInfo(TextSecureEnvelope envelope, PushMessageContent content) { + private TextSecureGroup createGroupInfo(TextSecureEnvelope envelope, DataMessage content) { if (!content.hasGroup()) return null; TextSecureGroup.Type type; diff --git a/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureContent.java b/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureContent.java new file mode 100644 index 0000000000..40b498f508 --- /dev/null +++ b/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureContent.java @@ -0,0 +1,33 @@ +package org.whispersystems.textsecure.api.messages; + +import org.whispersystems.libaxolotl.util.guava.Optional; +import org.whispersystems.textsecure.api.messages.multidevice.TextSecureSyncMessage; + +public class TextSecureContent { + + private final Optional message; + private final Optional synchronizeMessage; + + public TextSecureContent() { + this.message = Optional.absent(); + this.synchronizeMessage = Optional.absent(); + } + + public TextSecureContent(TextSecureDataMessage message) { + this.message = Optional.fromNullable(message); + this.synchronizeMessage = Optional.absent(); + } + + public TextSecureContent(TextSecureSyncMessage synchronizeMessage) { + this.message = Optional.absent(); + this.synchronizeMessage = Optional.fromNullable(synchronizeMessage); + } + + public Optional getDataMessage() { + return message; + } + + public Optional getSyncMessage() { + return synchronizeMessage; + } +} diff --git a/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureMessage.java b/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureDataMessage.java similarity index 82% rename from java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureMessage.java rename to java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureDataMessage.java index 6551814cef..a946785cb4 100644 --- a/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureMessage.java +++ b/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureDataMessage.java @@ -24,13 +24,12 @@ import java.util.List; /** * Represents a decrypted text secure message. */ -public class TextSecureMessage { +public class TextSecureDataMessage { private final long timestamp; private final Optional> attachments; private final Optional body; private final Optional group; - private final Optional syncContext; private final boolean endSession; /** @@ -39,11 +38,11 @@ public class TextSecureMessage { * @param timestamp The sent timestamp. * @param body The message contents. */ - public TextSecureMessage(long timestamp, String body) { + public TextSecureDataMessage(long timestamp, String body) { this(timestamp, (List)null, body); } - public TextSecureMessage(final long timestamp, final TextSecureAttachment attachment, final String body) { + public TextSecureDataMessage(final long timestamp, final TextSecureAttachment attachment, final String body) { this(timestamp, new LinkedList() {{add(attachment);}}, body); } @@ -54,7 +53,7 @@ public class TextSecureMessage { * @param attachments The attachments. * @param body The message contents. */ - public TextSecureMessage(long timestamp, List attachments, String body) { + public TextSecureDataMessage(long timestamp, List attachments, String body) { this(timestamp, null, attachments, body); } @@ -66,8 +65,8 @@ public class TextSecureMessage { * @param attachments The attachments. * @param body The message contents. */ - public TextSecureMessage(long timestamp, TextSecureGroup group, List attachments, String body) { - this(timestamp, group, attachments, body, null, false); + public TextSecureDataMessage(long timestamp, TextSecureGroup group, List attachments, String body) { + this(timestamp, group, attachments, body, false); } /** @@ -79,11 +78,10 @@ public class TextSecureMessage { * @param body The message contents. * @param endSession Flag indicating whether this message should close a session. */ - public TextSecureMessage(long timestamp, TextSecureGroup group, List attachments, String body, TextSecureSyncContext syncContext, boolean endSession) { + public TextSecureDataMessage(long timestamp, TextSecureGroup group, List attachments, String body, boolean endSession) { this.timestamp = timestamp; this.body = Optional.fromNullable(body); this.group = Optional.fromNullable(group); - this.syncContext = Optional.fromNullable(syncContext); this.endSession = endSession; if (attachments != null && !attachments.isEmpty()) { @@ -125,10 +123,6 @@ public class TextSecureMessage { return group; } - public Optional getSyncContext() { - return syncContext; - } - public boolean isEndSession() { return endSession; } @@ -182,9 +176,9 @@ public class TextSecureMessage { return this; } - public TextSecureMessage build() { + public TextSecureDataMessage build() { if (timestamp == 0) timestamp = System.currentTimeMillis(); - return new TextSecureMessage(timestamp, group, attachments, body, null, endSession); + return new TextSecureDataMessage(timestamp, group, attachments, body, endSession); } } } diff --git a/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureEnvelope.java b/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureEnvelope.java index ef1e73fc56..d7f95cd120 100644 --- a/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureEnvelope.java +++ b/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureEnvelope.java @@ -22,7 +22,7 @@ import org.whispersystems.libaxolotl.InvalidVersionException; import org.whispersystems.libaxolotl.logging.Log; import org.whispersystems.libaxolotl.util.guava.Optional; import org.whispersystems.textsecure.api.push.TextSecureAddress; -import org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal; +import org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope; import org.whispersystems.textsecure.internal.util.Base64; import org.whispersystems.textsecure.internal.util.Hex; @@ -63,7 +63,7 @@ public class TextSecureEnvelope { private static final int IV_LENGTH = 16; private static final int CIPHERTEXT_OFFSET = IV_OFFSET + IV_LENGTH; - private final IncomingPushMessageSignal signal; + private final Envelope envelope; /** * Construct an envelope from a serialized, Base64 encoded TextSecureEnvelope, encrypted @@ -99,42 +99,46 @@ public class TextSecureEnvelope { verifyMac(ciphertext, macKey); - this.signal = IncomingPushMessageSignal.parseFrom(getPlaintext(ciphertext, cipherKey)); + this.envelope = Envelope.parseFrom(getPlaintext(ciphertext, cipherKey)); } public TextSecureEnvelope(int type, String source, int sourceDevice, - String relay, long timestamp, byte[] message) + String relay, long timestamp, + byte[] legacyMessage, byte[] content) { - this.signal = IncomingPushMessageSignal.newBuilder() - .setType(IncomingPushMessageSignal.Type.valueOf(type)) - .setSource(source) - .setSourceDevice(sourceDevice) - .setRelay(relay) - .setTimestamp(timestamp) - .setMessage(ByteString.copyFrom(message)) - .build(); + Envelope.Builder builder = Envelope.newBuilder() + .setType(Envelope.Type.valueOf(type)) + .setSource(source) + .setSourceDevice(sourceDevice) + .setRelay(relay) + .setTimestamp(timestamp); + + if (legacyMessage != null) builder.setLegacyMessage(ByteString.copyFrom(legacyMessage)); + if (content != null) builder.setContent(ByteString.copyFrom(content)); + + this.envelope = builder.build(); } /** * @return The envelope's sender. */ public String getSource() { - return signal.getSource(); + return envelope.getSource(); } /** * @return The envelope's sender device ID. */ public int getSourceDevice() { - return signal.getSourceDevice(); + return envelope.getSourceDevice(); } /** * @return The envelope's sender as a TextSecureAddress. */ public TextSecureAddress getSourceAddress() { - return new TextSecureAddress(signal.getSource(), - signal.hasRelay() ? Optional.fromNullable(signal.getRelay()) : + return new TextSecureAddress(envelope.getSource(), + envelope.hasRelay() ? Optional.fromNullable(envelope.getRelay()) : Optional.absent()); } @@ -142,49 +146,70 @@ public class TextSecureEnvelope { * @return The envelope content type. */ public int getType() { - return signal.getType().getNumber(); + return envelope.getType().getNumber(); } /** * @return The federated server this envelope came from. */ public String getRelay() { - return signal.getRelay(); + return envelope.getRelay(); } /** * @return The timestamp this envelope was sent. */ public long getTimestamp() { - return signal.getTimestamp(); + return envelope.getTimestamp(); } /** - * @return The envelope's containing message. + * @return Whether the envelope contains a TextSecureDataMessage */ - public byte[] getMessage() { - return signal.getMessage().toByteArray(); + public boolean hasLegacyMessage() { + return envelope.hasLegacyMessage(); + } + + /** + * @return The envelope's containing TextSecure message. + */ + public byte[] getLegacyMessage() { + return envelope.getLegacyMessage().toByteArray(); + } + + /** + * @return Whether the envelope contains an encrypted TextSecureContent + */ + public boolean hasContent() { + return envelope.hasContent(); + } + + /** + * @return The envelope's encrypted TextSecureContent. + */ + public byte[] getContent() { + return envelope.getContent().toByteArray(); } /** * @return true if the containing message is a {@link org.whispersystems.libaxolotl.protocol.WhisperMessage} */ public boolean isWhisperMessage() { - return signal.getType().getNumber() == IncomingPushMessageSignal.Type.CIPHERTEXT_VALUE; + return envelope.getType().getNumber() == Envelope.Type.CIPHERTEXT_VALUE; } /** * @return true if the containing message is a {@link org.whispersystems.libaxolotl.protocol.PreKeyWhisperMessage} */ public boolean isPreKeyWhisperMessage() { - return signal.getType().getNumber() == IncomingPushMessageSignal.Type.PREKEY_BUNDLE_VALUE; + return envelope.getType().getNumber() == Envelope.Type.PREKEY_BUNDLE_VALUE; } /** * @return true if the containing message is a delivery receipt. */ public boolean isReceipt() { - return signal.getType().getNumber() == IncomingPushMessageSignal.Type.RECEIPT_VALUE; + return envelope.getType().getNumber() == Envelope.Type.RECEIPT_VALUE; } private byte[] getPlaintext(byte[] ciphertext, SecretKeySpec cipherKey) throws IOException { diff --git a/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureSyncContext.java b/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureSyncContext.java deleted file mode 100644 index 36589a0b1a..0000000000 --- a/java/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureSyncContext.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.whispersystems.textsecure.api.messages; - -public class TextSecureSyncContext { - - private final String destination; - private final long timestamp; - - public TextSecureSyncContext(String destination, long timestamp) { - this.destination = destination; - this.timestamp = timestamp; - } - - public String getDestination() { - return destination; - } - - public long getTimestamp() { - return timestamp; - } -} diff --git a/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/DeviceContact.java b/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/DeviceContact.java new file mode 100644 index 0000000000..da55a8fdbf --- /dev/null +++ b/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/DeviceContact.java @@ -0,0 +1,30 @@ +package org.whispersystems.textsecure.api.messages.multidevice; + +import org.whispersystems.libaxolotl.util.guava.Optional; +import org.whispersystems.textsecure.api.messages.TextSecureAttachmentStream; + +public class DeviceContact { + + private final String number; + private final Optional name; + private final Optional avatar; + + public DeviceContact(String number, Optional name, Optional avatar) { + this.number = number; + this.name = name; + this.avatar = avatar; + } + + public Optional getAvatar() { + return avatar; + } + + public Optional getName() { + return name; + } + + public String getNumber() { + return number; + } + +} diff --git a/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/DeviceContactsInputStream.java b/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/DeviceContactsInputStream.java new file mode 100644 index 0000000000..d66727f3bd --- /dev/null +++ b/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/DeviceContactsInputStream.java @@ -0,0 +1,121 @@ +package org.whispersystems.textsecure.api.messages.multidevice; + +import org.whispersystems.libaxolotl.util.guava.Optional; +import org.whispersystems.textsecure.api.messages.TextSecureAttachmentStream; +import org.whispersystems.textsecure.internal.push.TextSecureProtos; +import org.whispersystems.textsecure.internal.util.Util; + +import java.io.FilterInputStream; +import java.io.IOException; +import java.io.InputStream; + +public class DeviceContactsInputStream { + + private final InputStream in; + + public DeviceContactsInputStream(InputStream in) { + this.in = in; + } + + public DeviceContact read() throws IOException { + long detailsLength = readRawVarint64(); + byte[] detailsSerialized = new byte[(int)detailsLength]; + Util.readFully(in, detailsSerialized); + + TextSecureProtos.ContactDetails details = TextSecureProtos.ContactDetails.parseFrom(detailsSerialized); + String number = details.getNumber(); + Optional name = Optional.fromNullable(details.getName()); + Optional avatar = Optional.absent(); + + if (details.hasAvatar()) { + long avatarLength = details.getAvatar().getLength(); + InputStream avatarStream = new LimitedInputStream(in, avatarLength); + String avatarContentType = details.getAvatar().getContentType(); + + avatar = Optional.of(new TextSecureAttachmentStream(avatarStream, avatarContentType, avatarLength)); + } + + return new DeviceContact(number, name, avatar); + } + + private long readRawVarint64() throws IOException { + int shift = 0; + long result = 0; + while (shift < 64) { + final byte b = (byte)in.read(); + result |= (long)(b & 0x7F) << shift; + if ((b & 0x80) == 0) { + return result; + } + shift += 7; + } + + throw new IOException("Malformed varint!"); + } + + private static final class LimitedInputStream extends FilterInputStream { + + private long left; + private long mark = -1; + + LimitedInputStream(InputStream in, long limit) { + super(in); + left = limit; + } + + @Override public int available() throws IOException { + return (int) Math.min(in.available(), left); + } + + // it's okay to mark even if mark isn't supported, as reset won't work + @Override public synchronized void mark(int readLimit) { + in.mark(readLimit); + mark = left; + } + + @Override public int read() throws IOException { + if (left == 0) { + return -1; + } + + int result = in.read(); + if (result != -1) { + --left; + } + return result; + } + + @Override public int read(byte[] b, int off, int len) throws IOException { + if (left == 0) { + return -1; + } + + len = (int) Math.min(len, left); + int result = in.read(b, off, len); + if (result != -1) { + left -= result; + } + return result; + } + + @Override public synchronized void reset() throws IOException { + if (!in.markSupported()) { + throw new IOException("Mark not supported"); + } + if (mark == -1) { + throw new IOException("Mark not set"); + } + + in.reset(); + left = mark; + } + + @Override public long skip(long n) throws IOException { + n = Math.min(n, left); + long skipped = in.skip(n); + left -= skipped; + return skipped; + } + } + +} diff --git a/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/DeviceContactsOutputStream.java b/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/DeviceContactsOutputStream.java new file mode 100644 index 0000000000..881a52958f --- /dev/null +++ b/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/DeviceContactsOutputStream.java @@ -0,0 +1,64 @@ +package org.whispersystems.textsecure.api.messages.multidevice; + +import org.whispersystems.textsecure.internal.push.TextSecureProtos; +import org.whispersystems.textsecure.internal.util.Util; + +import java.io.IOException; +import java.io.OutputStream; + +public class DeviceContactsOutputStream { + + private final OutputStream out; + + public DeviceContactsOutputStream(OutputStream out) { + this.out = out; + } + + public void write(DeviceContact contact) throws IOException { + writeContactDetails(contact); + writeAvatarImage(contact); + } + + public void close() throws IOException { + out.close(); + } + + private void writeAvatarImage(DeviceContact contact) throws IOException { + if (contact.getAvatar().isPresent()) { + Util.copy(contact.getAvatar().get().getInputStream(), out); + } + } + + private void writeContactDetails(DeviceContact contact) throws IOException { + TextSecureProtos.ContactDetails.Builder contactDetails = TextSecureProtos.ContactDetails.newBuilder(); + contactDetails.setNumber(contact.getNumber()); + + if (contact.getName().isPresent()) { + contactDetails.setName(contact.getName().get()); + } + + if (contact.getAvatar().isPresent()) { + TextSecureProtos.ContactDetails.Avatar.Builder avatarBuilder = TextSecureProtos.ContactDetails.Avatar.newBuilder(); + avatarBuilder.setContentType(contact.getAvatar().get().getContentType()); + avatarBuilder.setLength(contact.getAvatar().get().getLength()); + } + + byte[] serializedContactDetails = contactDetails.build().toByteArray(); + + writeVarint64(serializedContactDetails.length); + out.write(serializedContactDetails); + } + + public void writeVarint64(long value) throws IOException { + while (true) { + if ((value & ~0x7FL) == 0) { + out.write((int) value); + return; + } else { + out.write(((int) value & 0x7F) | 0x80); + value >>>= 7; + } + } + } + +} diff --git a/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/SentTranscriptMessage.java b/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/SentTranscriptMessage.java new file mode 100644 index 0000000000..ec4575182c --- /dev/null +++ b/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/SentTranscriptMessage.java @@ -0,0 +1,35 @@ +package org.whispersystems.textsecure.api.messages.multidevice; + +import org.whispersystems.libaxolotl.util.guava.Optional; +import org.whispersystems.textsecure.api.messages.TextSecureDataMessage; + +public class SentTranscriptMessage { + + private final Optional destination; + private final long timestamp; + private final TextSecureDataMessage message; + + public SentTranscriptMessage(String destination, long timestamp, TextSecureDataMessage message) { + this.destination = Optional.of(destination); + this.timestamp = timestamp; + this.message = message; + } + + public SentTranscriptMessage(long timestamp, TextSecureDataMessage message) { + this.destination = Optional.absent(); + this.timestamp = timestamp; + this.message = message; + } + + public Optional getDestination() { + return destination; + } + + public long getTimestamp() { + return timestamp; + } + + public TextSecureDataMessage getMessage() { + return message; + } +} diff --git a/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/TextSecureSyncMessage.java b/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/TextSecureSyncMessage.java new file mode 100644 index 0000000000..c0f5e78c0c --- /dev/null +++ b/java/src/main/java/org/whispersystems/textsecure/api/messages/multidevice/TextSecureSyncMessage.java @@ -0,0 +1,49 @@ +package org.whispersystems.textsecure.api.messages.multidevice; + +import org.whispersystems.libaxolotl.util.guava.Optional; +import org.whispersystems.textsecure.api.messages.TextSecureAttachment; +import org.whispersystems.textsecure.api.messages.TextSecureGroup; + +public class TextSecureSyncMessage { + + private final Optional sent; + private final Optional contacts; + private final Optional group; + + public TextSecureSyncMessage() { + this.sent = Optional.absent(); + this.contacts = Optional.absent(); + this.group = Optional.absent(); + } + + public TextSecureSyncMessage(SentTranscriptMessage sent) { + this.sent = Optional.of(sent); + this.contacts = Optional.absent(); + this.group = Optional.absent(); + } + + public TextSecureSyncMessage(TextSecureAttachment contacts) { + this.contacts = Optional.of(contacts); + this.sent = Optional.absent(); + this.group = Optional.absent(); + } + + public TextSecureSyncMessage(TextSecureGroup group) { + this.group = Optional.of(group); + this.sent = Optional.absent(); + this.contacts = Optional.absent(); + } + + public Optional getSent() { + return sent; + } + + public Optional getGroup() { + return group; + } + + public Optional getContacts() { + return contacts; + } + +} diff --git a/java/src/main/java/org/whispersystems/textsecure/internal/push/OutgoingPushMessage.java b/java/src/main/java/org/whispersystems/textsecure/internal/push/OutgoingPushMessage.java index 6ce3645324..0bcfb6057f 100644 --- a/java/src/main/java/org/whispersystems/textsecure/internal/push/OutgoingPushMessage.java +++ b/java/src/main/java/org/whispersystems/textsecure/internal/push/OutgoingPushMessage.java @@ -32,31 +32,18 @@ public class OutgoingPushMessage { private int destinationRegistrationId; @JsonProperty private String body; + @JsonProperty + private String content; public OutgoingPushMessage(int type, int destinationDeviceId, int destinationRegistrationId, - String body) + String legacyMessage, String content) { this.type = type; this.destinationDeviceId = destinationDeviceId; this.destinationRegistrationId = destinationRegistrationId; - this.body = body; - } - - public int getDestinationDeviceId() { - return destinationDeviceId; - } - - public String getBody() { - return body; - } - - public int getType() { - return type; - } - - public int getDestinationRegistrationId() { - return destinationRegistrationId; + this.body = legacyMessage; + this.content = content; } } diff --git a/java/src/main/java/org/whispersystems/textsecure/internal/push/PushMessageProtos.java b/java/src/main/java/org/whispersystems/textsecure/internal/push/PushMessageProtos.java deleted file mode 100644 index db02e48e4d..0000000000 --- a/java/src/main/java/org/whispersystems/textsecure/internal/push/PushMessageProtos.java +++ /dev/null @@ -1,4910 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: IncomingPushMessageSignal.proto - -package org.whispersystems.textsecure.internal.push; - -public final class PushMessageProtos { - private PushMessageProtos() {} - public static void registerAllExtensions( - com.google.protobuf.ExtensionRegistry registry) { - } - public interface IncomingPushMessageSignalOrBuilder - extends com.google.protobuf.MessageOrBuilder { - - // optional .textsecure.IncomingPushMessageSignal.Type type = 1; - /** - * optional .textsecure.IncomingPushMessageSignal.Type type = 1; - */ - boolean hasType(); - /** - * optional .textsecure.IncomingPushMessageSignal.Type type = 1; - */ - org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type getType(); - - // optional string source = 2; - /** - * optional string source = 2; - */ - boolean hasSource(); - /** - * optional string source = 2; - */ - java.lang.String getSource(); - /** - * optional string source = 2; - */ - com.google.protobuf.ByteString - getSourceBytes(); - - // optional uint32 sourceDevice = 7; - /** - * optional uint32 sourceDevice = 7; - */ - boolean hasSourceDevice(); - /** - * optional uint32 sourceDevice = 7; - */ - int getSourceDevice(); - - // optional string relay = 3; - /** - * optional string relay = 3; - */ - boolean hasRelay(); - /** - * optional string relay = 3; - */ - java.lang.String getRelay(); - /** - * optional string relay = 3; - */ - com.google.protobuf.ByteString - getRelayBytes(); - - // optional uint64 timestamp = 5; - /** - * optional uint64 timestamp = 5; - */ - boolean hasTimestamp(); - /** - * optional uint64 timestamp = 5; - */ - long getTimestamp(); - - // optional bytes message = 6; - /** - * optional bytes message = 6; - * - *
-     * Contains an encrypted PushMessageContent
-     * 
- */ - boolean hasMessage(); - /** - * optional bytes message = 6; - * - *
-     * Contains an encrypted PushMessageContent
-     * 
- */ - com.google.protobuf.ByteString getMessage(); - } - /** - * Protobuf type {@code textsecure.IncomingPushMessageSignal} - */ - public static final class IncomingPushMessageSignal extends - com.google.protobuf.GeneratedMessage - implements IncomingPushMessageSignalOrBuilder { - // Use IncomingPushMessageSignal.newBuilder() to construct. - private IncomingPushMessageSignal(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - this.unknownFields = builder.getUnknownFields(); - } - private IncomingPushMessageSignal(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } - - private static final IncomingPushMessageSignal defaultInstance; - public static IncomingPushMessageSignal getDefaultInstance() { - return defaultInstance; - } - - public IncomingPushMessageSignal getDefaultInstanceForType() { - return defaultInstance; - } - - private final com.google.protobuf.UnknownFieldSet unknownFields; - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private IncomingPushMessageSignal( - 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: { - int rawValue = input.readEnum(); - org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type value = org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type.valueOf(rawValue); - if (value == null) { - unknownFields.mergeVarintField(1, rawValue); - } else { - bitField0_ |= 0x00000001; - type_ = value; - } - break; - } - case 18: { - bitField0_ |= 0x00000002; - source_ = input.readBytes(); - break; - } - case 26: { - bitField0_ |= 0x00000008; - relay_ = input.readBytes(); - break; - } - case 40: { - bitField0_ |= 0x00000010; - timestamp_ = input.readUInt64(); - break; - } - case 50: { - bitField0_ |= 0x00000020; - message_ = input.readBytes(); - break; - } - case 56: { - bitField0_ |= 0x00000004; - sourceDevice_ = input.readUInt32(); - 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.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_IncomingPushMessageSignal_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_IncomingPushMessageSignal_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.class, org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Builder.class); - } - - public static com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { - public IncomingPushMessageSignal parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new IncomingPushMessageSignal(input, extensionRegistry); - } - }; - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - /** - * Protobuf enum {@code textsecure.IncomingPushMessageSignal.Type} - */ - public enum Type - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UNKNOWN = 0; - */ - UNKNOWN(0, 0), - /** - * CIPHERTEXT = 1; - */ - CIPHERTEXT(1, 1), - /** - * KEY_EXCHANGE = 2; - */ - KEY_EXCHANGE(2, 2), - /** - * PREKEY_BUNDLE = 3; - */ - PREKEY_BUNDLE(3, 3), - /** - * RECEIPT = 5; - * - *
-       *    PLAINTEXT     = 4; // No longer supported
-       * 
- */ - RECEIPT(4, 5), - ; - - /** - * UNKNOWN = 0; - */ - public static final int UNKNOWN_VALUE = 0; - /** - * CIPHERTEXT = 1; - */ - public static final int CIPHERTEXT_VALUE = 1; - /** - * KEY_EXCHANGE = 2; - */ - public static final int KEY_EXCHANGE_VALUE = 2; - /** - * PREKEY_BUNDLE = 3; - */ - public static final int PREKEY_BUNDLE_VALUE = 3; - /** - * RECEIPT = 5; - * - *
-       *    PLAINTEXT     = 4; // No longer supported
-       * 
- */ - public static final int RECEIPT_VALUE = 5; - - - public final int getNumber() { return value; } - - public static Type valueOf(int value) { - switch (value) { - case 0: return UNKNOWN; - case 1: return CIPHERTEXT; - case 2: return KEY_EXCHANGE; - case 3: return PREKEY_BUNDLE; - case 5: return RECEIPT; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static com.google.protobuf.Internal.EnumLiteMap - internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Type findValueByNumber(int number) { - return Type.valueOf(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - return getDescriptor().getValues().get(index); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.getDescriptor().getEnumTypes().get(0); - } - - private static final Type[] VALUES = values(); - - public static Type valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - return VALUES[desc.getIndex()]; - } - - private final int index; - private final int value; - - private Type(int index, int value) { - this.index = index; - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:textsecure.IncomingPushMessageSignal.Type) - } - - private int bitField0_; - // optional .textsecure.IncomingPushMessageSignal.Type type = 1; - public static final int TYPE_FIELD_NUMBER = 1; - private org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type type_; - /** - * optional .textsecure.IncomingPushMessageSignal.Type type = 1; - */ - public boolean hasType() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional .textsecure.IncomingPushMessageSignal.Type type = 1; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type getType() { - return type_; - } - - // optional string source = 2; - public static final int SOURCE_FIELD_NUMBER = 2; - private java.lang.Object source_; - /** - * optional string source = 2; - */ - public boolean hasSource() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string source = 2; - */ - public java.lang.String getSource() { - java.lang.Object ref = source_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - source_ = s; - } - return s; - } - } - /** - * optional string source = 2; - */ - public com.google.protobuf.ByteString - getSourceBytes() { - java.lang.Object ref = source_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - source_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - // optional uint32 sourceDevice = 7; - public static final int SOURCEDEVICE_FIELD_NUMBER = 7; - private int sourceDevice_; - /** - * optional uint32 sourceDevice = 7; - */ - public boolean hasSourceDevice() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional uint32 sourceDevice = 7; - */ - public int getSourceDevice() { - return sourceDevice_; - } - - // optional string relay = 3; - public static final int RELAY_FIELD_NUMBER = 3; - private java.lang.Object relay_; - /** - * optional string relay = 3; - */ - public boolean hasRelay() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - * optional string relay = 3; - */ - public java.lang.String getRelay() { - java.lang.Object ref = relay_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - relay_ = s; - } - return s; - } - } - /** - * optional string relay = 3; - */ - public com.google.protobuf.ByteString - getRelayBytes() { - java.lang.Object ref = relay_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - relay_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - // optional uint64 timestamp = 5; - public static final int TIMESTAMP_FIELD_NUMBER = 5; - private long timestamp_; - /** - * optional uint64 timestamp = 5; - */ - public boolean hasTimestamp() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - * optional uint64 timestamp = 5; - */ - public long getTimestamp() { - return timestamp_; - } - - // optional bytes message = 6; - public static final int MESSAGE_FIELD_NUMBER = 6; - private com.google.protobuf.ByteString message_; - /** - * optional bytes message = 6; - * - *
-     * Contains an encrypted PushMessageContent
-     * 
- */ - public boolean hasMessage() { - return ((bitField0_ & 0x00000020) == 0x00000020); - } - /** - * optional bytes message = 6; - * - *
-     * Contains an encrypted PushMessageContent
-     * 
- */ - public com.google.protobuf.ByteString getMessage() { - return message_; - } - - private void initFields() { - type_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type.UNKNOWN; - source_ = ""; - sourceDevice_ = 0; - relay_ = ""; - timestamp_ = 0L; - message_ = com.google.protobuf.ByteString.EMPTY; - } - private byte memoizedIsInitialized = -1; - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized != -1) return isInitialized == 1; - - memoizedIsInitialized = 1; - return true; - } - - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - getSerializedSize(); - if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeEnum(1, type_.getNumber()); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeBytes(2, getSourceBytes()); - } - if (((bitField0_ & 0x00000008) == 0x00000008)) { - output.writeBytes(3, getRelayBytes()); - } - if (((bitField0_ & 0x00000010) == 0x00000010)) { - output.writeUInt64(5, timestamp_); - } - if (((bitField0_ & 0x00000020) == 0x00000020)) { - output.writeBytes(6, message_); - } - if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeUInt32(7, sourceDevice_); - } - 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 - .computeEnumSize(1, type_.getNumber()); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(2, getSourceBytes()); - } - if (((bitField0_ & 0x00000008) == 0x00000008)) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(3, getRelayBytes()); - } - if (((bitField0_ & 0x00000010) == 0x00000010)) { - size += com.google.protobuf.CodedOutputStream - .computeUInt64Size(5, timestamp_); - } - if (((bitField0_ & 0x00000020) == 0x00000020)) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(6, message_); - } - if (((bitField0_ & 0x00000004) == 0x00000004)) { - size += com.google.protobuf.CodedOutputStream - .computeUInt32Size(7, sourceDevice_); - } - 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.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal parseFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseFrom(input, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal 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.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal 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 textsecure.IncomingPushMessageSignal} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder - implements org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignalOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_IncomingPushMessageSignal_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_IncomingPushMessageSignal_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.class, org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Builder.class); - } - - // Construct using org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { - } - } - private static Builder create() { - return new Builder(); - } - - public Builder clear() { - super.clear(); - type_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type.UNKNOWN; - bitField0_ = (bitField0_ & ~0x00000001); - source_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); - sourceDevice_ = 0; - bitField0_ = (bitField0_ & ~0x00000004); - relay_ = ""; - bitField0_ = (bitField0_ & ~0x00000008); - timestamp_ = 0L; - bitField0_ = (bitField0_ & ~0x00000010); - message_ = com.google.protobuf.ByteString.EMPTY; - bitField0_ = (bitField0_ & ~0x00000020); - return this; - } - - public Builder clone() { - return create().mergeFrom(buildPartial()); - } - - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_IncomingPushMessageSignal_descriptor; - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal getDefaultInstanceForType() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.getDefaultInstance(); - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal build() { - org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal buildPartial() { - org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal result = new org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } - result.type_ = type_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } - result.source_ = source_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; - } - result.sourceDevice_ = sourceDevice_; - if (((from_bitField0_ & 0x00000008) == 0x00000008)) { - to_bitField0_ |= 0x00000008; - } - result.relay_ = relay_; - if (((from_bitField0_ & 0x00000010) == 0x00000010)) { - to_bitField0_ |= 0x00000010; - } - result.timestamp_ = timestamp_; - if (((from_bitField0_ & 0x00000020) == 0x00000020)) { - to_bitField0_ |= 0x00000020; - } - result.message_ = message_; - result.bitField0_ = to_bitField0_; - onBuilt(); - return result; - } - - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal) { - return mergeFrom((org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal other) { - if (other == org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.getDefaultInstance()) return this; - if (other.hasType()) { - setType(other.getType()); - } - if (other.hasSource()) { - bitField0_ |= 0x00000002; - source_ = other.source_; - onChanged(); - } - if (other.hasSourceDevice()) { - setSourceDevice(other.getSourceDevice()); - } - if (other.hasRelay()) { - bitField0_ |= 0x00000008; - relay_ = other.relay_; - onChanged(); - } - if (other.hasTimestamp()) { - setTimestamp(other.getTimestamp()); - } - if (other.hasMessage()) { - setMessage(other.getMessage()); - } - this.mergeUnknownFields(other.getUnknownFields()); - return this; - } - - public final boolean isInitialized() { - return true; - } - - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal) e.getUnfinishedMessage(); - throw e; - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - // optional .textsecure.IncomingPushMessageSignal.Type type = 1; - private org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type type_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type.UNKNOWN; - /** - * optional .textsecure.IncomingPushMessageSignal.Type type = 1; - */ - public boolean hasType() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional .textsecure.IncomingPushMessageSignal.Type type = 1; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type getType() { - return type_; - } - /** - * optional .textsecure.IncomingPushMessageSignal.Type type = 1; - */ - public Builder setType(org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000001; - type_ = value; - onChanged(); - return this; - } - /** - * optional .textsecure.IncomingPushMessageSignal.Type type = 1; - */ - public Builder clearType() { - bitField0_ = (bitField0_ & ~0x00000001); - type_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.IncomingPushMessageSignal.Type.UNKNOWN; - onChanged(); - return this; - } - - // optional string source = 2; - private java.lang.Object source_ = ""; - /** - * optional string source = 2; - */ - public boolean hasSource() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string source = 2; - */ - public java.lang.String getSource() { - java.lang.Object ref = source_; - if (!(ref instanceof java.lang.String)) { - java.lang.String s = ((com.google.protobuf.ByteString) ref) - .toStringUtf8(); - source_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * optional string source = 2; - */ - public com.google.protobuf.ByteString - getSourceBytes() { - java.lang.Object ref = source_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - source_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * optional string source = 2; - */ - public Builder setSource( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000002; - source_ = value; - onChanged(); - return this; - } - /** - * optional string source = 2; - */ - public Builder clearSource() { - bitField0_ = (bitField0_ & ~0x00000002); - source_ = getDefaultInstance().getSource(); - onChanged(); - return this; - } - /** - * optional string source = 2; - */ - public Builder setSourceBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000002; - source_ = value; - onChanged(); - return this; - } - - // optional uint32 sourceDevice = 7; - private int sourceDevice_ ; - /** - * optional uint32 sourceDevice = 7; - */ - public boolean hasSourceDevice() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional uint32 sourceDevice = 7; - */ - public int getSourceDevice() { - return sourceDevice_; - } - /** - * optional uint32 sourceDevice = 7; - */ - public Builder setSourceDevice(int value) { - bitField0_ |= 0x00000004; - sourceDevice_ = value; - onChanged(); - return this; - } - /** - * optional uint32 sourceDevice = 7; - */ - public Builder clearSourceDevice() { - bitField0_ = (bitField0_ & ~0x00000004); - sourceDevice_ = 0; - onChanged(); - return this; - } - - // optional string relay = 3; - private java.lang.Object relay_ = ""; - /** - * optional string relay = 3; - */ - public boolean hasRelay() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - * optional string relay = 3; - */ - public java.lang.String getRelay() { - java.lang.Object ref = relay_; - if (!(ref instanceof java.lang.String)) { - java.lang.String s = ((com.google.protobuf.ByteString) ref) - .toStringUtf8(); - relay_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * optional string relay = 3; - */ - public com.google.protobuf.ByteString - getRelayBytes() { - java.lang.Object ref = relay_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - relay_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * optional string relay = 3; - */ - public Builder setRelay( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000008; - relay_ = value; - onChanged(); - return this; - } - /** - * optional string relay = 3; - */ - public Builder clearRelay() { - bitField0_ = (bitField0_ & ~0x00000008); - relay_ = getDefaultInstance().getRelay(); - onChanged(); - return this; - } - /** - * optional string relay = 3; - */ - public Builder setRelayBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000008; - relay_ = value; - onChanged(); - return this; - } - - // optional uint64 timestamp = 5; - private long timestamp_ ; - /** - * optional uint64 timestamp = 5; - */ - public boolean hasTimestamp() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - * optional uint64 timestamp = 5; - */ - public long getTimestamp() { - return timestamp_; - } - /** - * optional uint64 timestamp = 5; - */ - public Builder setTimestamp(long value) { - bitField0_ |= 0x00000010; - timestamp_ = value; - onChanged(); - return this; - } - /** - * optional uint64 timestamp = 5; - */ - public Builder clearTimestamp() { - bitField0_ = (bitField0_ & ~0x00000010); - timestamp_ = 0L; - onChanged(); - return this; - } - - // optional bytes message = 6; - private com.google.protobuf.ByteString message_ = com.google.protobuf.ByteString.EMPTY; - /** - * optional bytes message = 6; - * - *
-       * Contains an encrypted PushMessageContent
-       * 
- */ - public boolean hasMessage() { - return ((bitField0_ & 0x00000020) == 0x00000020); - } - /** - * optional bytes message = 6; - * - *
-       * Contains an encrypted PushMessageContent
-       * 
- */ - public com.google.protobuf.ByteString getMessage() { - return message_; - } - /** - * optional bytes message = 6; - * - *
-       * Contains an encrypted PushMessageContent
-       * 
- */ - public Builder setMessage(com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000020; - message_ = value; - onChanged(); - return this; - } - /** - * optional bytes message = 6; - * - *
-       * Contains an encrypted PushMessageContent
-       * 
- */ - public Builder clearMessage() { - bitField0_ = (bitField0_ & ~0x00000020); - message_ = getDefaultInstance().getMessage(); - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:textsecure.IncomingPushMessageSignal) - } - - static { - defaultInstance = new IncomingPushMessageSignal(true); - defaultInstance.initFields(); - } - - // @@protoc_insertion_point(class_scope:textsecure.IncomingPushMessageSignal) - } - - public interface PushMessageContentOrBuilder - extends com.google.protobuf.MessageOrBuilder { - - // optional string body = 1; - /** - * optional string body = 1; - */ - boolean hasBody(); - /** - * optional string body = 1; - */ - java.lang.String getBody(); - /** - * optional string body = 1; - */ - com.google.protobuf.ByteString - getBodyBytes(); - - // repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - java.util.List - getAttachmentsList(); - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer getAttachments(int index); - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - int getAttachmentsCount(); - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - java.util.List - getAttachmentsOrBuilderList(); - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder getAttachmentsOrBuilder( - int index); - - // optional .textsecure.PushMessageContent.GroupContext group = 3; - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - boolean hasGroup(); - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext getGroup(); - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContextOrBuilder getGroupOrBuilder(); - - // optional uint32 flags = 4; - /** - * optional uint32 flags = 4; - */ - boolean hasFlags(); - /** - * optional uint32 flags = 4; - */ - int getFlags(); - - // optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - boolean hasSync(); - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext getSync(); - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContextOrBuilder getSyncOrBuilder(); - } - /** - * Protobuf type {@code textsecure.PushMessageContent} - */ - public static final class PushMessageContent extends - com.google.protobuf.GeneratedMessage - implements PushMessageContentOrBuilder { - // Use PushMessageContent.newBuilder() to construct. - private PushMessageContent(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - this.unknownFields = builder.getUnknownFields(); - } - private PushMessageContent(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } - - private static final PushMessageContent defaultInstance; - public static PushMessageContent getDefaultInstance() { - return defaultInstance; - } - - public PushMessageContent getDefaultInstanceForType() { - return defaultInstance; - } - - private final com.google.protobuf.UnknownFieldSet unknownFields; - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private PushMessageContent( - 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 10: { - bitField0_ |= 0x00000001; - body_ = input.readBytes(); - break; - } - case 18: { - if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) { - attachments_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000002; - } - attachments_.add(input.readMessage(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.PARSER, extensionRegistry)); - break; - } - case 26: { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Builder subBuilder = null; - if (((bitField0_ & 0x00000002) == 0x00000002)) { - subBuilder = group_.toBuilder(); - } - group_ = input.readMessage(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.PARSER, extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(group_); - group_ = subBuilder.buildPartial(); - } - bitField0_ |= 0x00000002; - break; - } - case 32: { - bitField0_ |= 0x00000004; - flags_ = input.readUInt32(); - break; - } - case 42: { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.Builder subBuilder = null; - if (((bitField0_ & 0x00000008) == 0x00000008)) { - subBuilder = sync_.toBuilder(); - } - sync_ = input.readMessage(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.PARSER, extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(sync_); - sync_ = subBuilder.buildPartial(); - } - bitField0_ |= 0x00000008; - 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 { - if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) { - attachments_ = java.util.Collections.unmodifiableList(attachments_); - } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.class, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.Builder.class); - } - - public static com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { - public PushMessageContent parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new PushMessageContent(input, extensionRegistry); - } - }; - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - /** - * Protobuf enum {@code textsecure.PushMessageContent.Flags} - */ - public enum Flags - implements com.google.protobuf.ProtocolMessageEnum { - /** - * END_SESSION = 1; - */ - END_SESSION(0, 1), - ; - - /** - * END_SESSION = 1; - */ - public static final int END_SESSION_VALUE = 1; - - - public final int getNumber() { return value; } - - public static Flags valueOf(int value) { - switch (value) { - case 1: return END_SESSION; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static com.google.protobuf.Internal.EnumLiteMap - internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Flags findValueByNumber(int number) { - return Flags.valueOf(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - return getDescriptor().getValues().get(index); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.getDescriptor().getEnumTypes().get(0); - } - - private static final Flags[] VALUES = values(); - - public static Flags valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - return VALUES[desc.getIndex()]; - } - - private final int index; - private final int value; - - private Flags(int index, int value) { - this.index = index; - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:textsecure.PushMessageContent.Flags) - } - - public interface AttachmentPointerOrBuilder - extends com.google.protobuf.MessageOrBuilder { - - // optional fixed64 id = 1; - /** - * optional fixed64 id = 1; - */ - boolean hasId(); - /** - * optional fixed64 id = 1; - */ - long getId(); - - // optional string contentType = 2; - /** - * optional string contentType = 2; - */ - boolean hasContentType(); - /** - * optional string contentType = 2; - */ - java.lang.String getContentType(); - /** - * optional string contentType = 2; - */ - com.google.protobuf.ByteString - getContentTypeBytes(); - - // optional bytes key = 3; - /** - * optional bytes key = 3; - */ - boolean hasKey(); - /** - * optional bytes key = 3; - */ - com.google.protobuf.ByteString getKey(); - } - /** - * Protobuf type {@code textsecure.PushMessageContent.AttachmentPointer} - */ - public static final class AttachmentPointer extends - com.google.protobuf.GeneratedMessage - implements AttachmentPointerOrBuilder { - // Use AttachmentPointer.newBuilder() to construct. - private AttachmentPointer(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - this.unknownFields = builder.getUnknownFields(); - } - private AttachmentPointer(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } - - private static final AttachmentPointer defaultInstance; - public static AttachmentPointer getDefaultInstance() { - return defaultInstance; - } - - public AttachmentPointer getDefaultInstanceForType() { - return defaultInstance; - } - - private final com.google.protobuf.UnknownFieldSet unknownFields; - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private AttachmentPointer( - 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 9: { - bitField0_ |= 0x00000001; - id_ = input.readFixed64(); - break; - } - case 18: { - bitField0_ |= 0x00000002; - contentType_ = input.readBytes(); - break; - } - case 26: { - bitField0_ |= 0x00000004; - key_ = input.readBytes(); - 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.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_AttachmentPointer_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_AttachmentPointer_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.class, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder.class); - } - - public static com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { - public AttachmentPointer parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new AttachmentPointer(input, extensionRegistry); - } - }; - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - private int bitField0_; - // optional fixed64 id = 1; - public static final int ID_FIELD_NUMBER = 1; - private long id_; - /** - * optional fixed64 id = 1; - */ - public boolean hasId() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional fixed64 id = 1; - */ - public long getId() { - return id_; - } - - // optional string contentType = 2; - public static final int CONTENTTYPE_FIELD_NUMBER = 2; - private java.lang.Object contentType_; - /** - * optional string contentType = 2; - */ - public boolean hasContentType() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string contentType = 2; - */ - public java.lang.String getContentType() { - java.lang.Object ref = contentType_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - contentType_ = s; - } - return s; - } - } - /** - * optional string contentType = 2; - */ - public com.google.protobuf.ByteString - getContentTypeBytes() { - java.lang.Object ref = contentType_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - contentType_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - // optional bytes key = 3; - public static final int KEY_FIELD_NUMBER = 3; - private com.google.protobuf.ByteString key_; - /** - * optional bytes key = 3; - */ - public boolean hasKey() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional bytes key = 3; - */ - public com.google.protobuf.ByteString getKey() { - return key_; - } - - private void initFields() { - id_ = 0L; - contentType_ = ""; - key_ = com.google.protobuf.ByteString.EMPTY; - } - private byte memoizedIsInitialized = -1; - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized != -1) return isInitialized == 1; - - memoizedIsInitialized = 1; - return true; - } - - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - getSerializedSize(); - if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeFixed64(1, id_); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeBytes(2, getContentTypeBytes()); - } - if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeBytes(3, key_); - } - 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 - .computeFixed64Size(1, id_); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(2, getContentTypeBytes()); - } - if (((bitField0_ & 0x00000004) == 0x00000004)) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(3, key_); - } - 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.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer parseFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseFrom(input, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer 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.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer 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 textsecure.PushMessageContent.AttachmentPointer} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder - implements org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_AttachmentPointer_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_AttachmentPointer_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.class, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder.class); - } - - // Construct using org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { - } - } - private static Builder create() { - return new Builder(); - } - - public Builder clear() { - super.clear(); - id_ = 0L; - bitField0_ = (bitField0_ & ~0x00000001); - contentType_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); - key_ = com.google.protobuf.ByteString.EMPTY; - bitField0_ = (bitField0_ & ~0x00000004); - return this; - } - - public Builder clone() { - return create().mergeFrom(buildPartial()); - } - - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_AttachmentPointer_descriptor; - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer getDefaultInstanceForType() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.getDefaultInstance(); - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer build() { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer buildPartial() { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer result = new org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } - result.id_ = id_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } - result.contentType_ = contentType_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; - } - result.key_ = key_; - result.bitField0_ = to_bitField0_; - onBuilt(); - return result; - } - - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer) { - return mergeFrom((org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer other) { - if (other == org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.getDefaultInstance()) return this; - if (other.hasId()) { - setId(other.getId()); - } - if (other.hasContentType()) { - bitField0_ |= 0x00000002; - contentType_ = other.contentType_; - onChanged(); - } - if (other.hasKey()) { - setKey(other.getKey()); - } - this.mergeUnknownFields(other.getUnknownFields()); - return this; - } - - public final boolean isInitialized() { - return true; - } - - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer) e.getUnfinishedMessage(); - throw e; - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - // optional fixed64 id = 1; - private long id_ ; - /** - * optional fixed64 id = 1; - */ - public boolean hasId() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional fixed64 id = 1; - */ - public long getId() { - return id_; - } - /** - * optional fixed64 id = 1; - */ - public Builder setId(long value) { - bitField0_ |= 0x00000001; - id_ = value; - onChanged(); - return this; - } - /** - * optional fixed64 id = 1; - */ - public Builder clearId() { - bitField0_ = (bitField0_ & ~0x00000001); - id_ = 0L; - onChanged(); - return this; - } - - // optional string contentType = 2; - private java.lang.Object contentType_ = ""; - /** - * optional string contentType = 2; - */ - public boolean hasContentType() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string contentType = 2; - */ - public java.lang.String getContentType() { - java.lang.Object ref = contentType_; - if (!(ref instanceof java.lang.String)) { - java.lang.String s = ((com.google.protobuf.ByteString) ref) - .toStringUtf8(); - contentType_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * optional string contentType = 2; - */ - public com.google.protobuf.ByteString - getContentTypeBytes() { - java.lang.Object ref = contentType_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - contentType_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * optional string contentType = 2; - */ - public Builder setContentType( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000002; - contentType_ = value; - onChanged(); - return this; - } - /** - * optional string contentType = 2; - */ - public Builder clearContentType() { - bitField0_ = (bitField0_ & ~0x00000002); - contentType_ = getDefaultInstance().getContentType(); - onChanged(); - return this; - } - /** - * optional string contentType = 2; - */ - public Builder setContentTypeBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000002; - contentType_ = value; - onChanged(); - return this; - } - - // optional bytes key = 3; - private com.google.protobuf.ByteString key_ = com.google.protobuf.ByteString.EMPTY; - /** - * optional bytes key = 3; - */ - public boolean hasKey() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional bytes key = 3; - */ - public com.google.protobuf.ByteString getKey() { - return key_; - } - /** - * optional bytes key = 3; - */ - public Builder setKey(com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000004; - key_ = value; - onChanged(); - return this; - } - /** - * optional bytes key = 3; - */ - public Builder clearKey() { - bitField0_ = (bitField0_ & ~0x00000004); - key_ = getDefaultInstance().getKey(); - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:textsecure.PushMessageContent.AttachmentPointer) - } - - static { - defaultInstance = new AttachmentPointer(true); - defaultInstance.initFields(); - } - - // @@protoc_insertion_point(class_scope:textsecure.PushMessageContent.AttachmentPointer) - } - - public interface GroupContextOrBuilder - extends com.google.protobuf.MessageOrBuilder { - - // optional bytes id = 1; - /** - * optional bytes id = 1; - */ - boolean hasId(); - /** - * optional bytes id = 1; - */ - com.google.protobuf.ByteString getId(); - - // optional .textsecure.PushMessageContent.GroupContext.Type type = 2; - /** - * optional .textsecure.PushMessageContent.GroupContext.Type type = 2; - */ - boolean hasType(); - /** - * optional .textsecure.PushMessageContent.GroupContext.Type type = 2; - */ - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type getType(); - - // optional string name = 3; - /** - * optional string name = 3; - */ - boolean hasName(); - /** - * optional string name = 3; - */ - java.lang.String getName(); - /** - * optional string name = 3; - */ - com.google.protobuf.ByteString - getNameBytes(); - - // repeated string members = 4; - /** - * repeated string members = 4; - */ - java.util.List - getMembersList(); - /** - * repeated string members = 4; - */ - int getMembersCount(); - /** - * repeated string members = 4; - */ - java.lang.String getMembers(int index); - /** - * repeated string members = 4; - */ - com.google.protobuf.ByteString - getMembersBytes(int index); - - // optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - boolean hasAvatar(); - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer getAvatar(); - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder getAvatarOrBuilder(); - } - /** - * Protobuf type {@code textsecure.PushMessageContent.GroupContext} - */ - public static final class GroupContext extends - com.google.protobuf.GeneratedMessage - implements GroupContextOrBuilder { - // Use GroupContext.newBuilder() to construct. - private GroupContext(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - this.unknownFields = builder.getUnknownFields(); - } - private GroupContext(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } - - private static final GroupContext defaultInstance; - public static GroupContext getDefaultInstance() { - return defaultInstance; - } - - public GroupContext getDefaultInstanceForType() { - return defaultInstance; - } - - private final com.google.protobuf.UnknownFieldSet unknownFields; - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private GroupContext( - 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 10: { - bitField0_ |= 0x00000001; - id_ = input.readBytes(); - break; - } - case 16: { - int rawValue = input.readEnum(); - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type value = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type.valueOf(rawValue); - if (value == null) { - unknownFields.mergeVarintField(2, rawValue); - } else { - bitField0_ |= 0x00000002; - type_ = value; - } - break; - } - case 26: { - bitField0_ |= 0x00000004; - name_ = input.readBytes(); - break; - } - case 34: { - if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) { - members_ = new com.google.protobuf.LazyStringArrayList(); - mutable_bitField0_ |= 0x00000008; - } - members_.add(input.readBytes()); - break; - } - case 42: { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder subBuilder = null; - if (((bitField0_ & 0x00000008) == 0x00000008)) { - subBuilder = avatar_.toBuilder(); - } - avatar_ = input.readMessage(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.PARSER, extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(avatar_); - avatar_ = subBuilder.buildPartial(); - } - bitField0_ |= 0x00000008; - 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 { - if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) { - members_ = new com.google.protobuf.UnmodifiableLazyStringList(members_); - } - this.unknownFields = unknownFields.build(); - makeExtensionsImmutable(); - } - } - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_GroupContext_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_GroupContext_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.class, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Builder.class); - } - - public static com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { - public GroupContext parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new GroupContext(input, extensionRegistry); - } - }; - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - /** - * Protobuf enum {@code textsecure.PushMessageContent.GroupContext.Type} - */ - public enum Type - implements com.google.protobuf.ProtocolMessageEnum { - /** - * UNKNOWN = 0; - */ - UNKNOWN(0, 0), - /** - * UPDATE = 1; - */ - UPDATE(1, 1), - /** - * DELIVER = 2; - */ - DELIVER(2, 2), - /** - * QUIT = 3; - */ - QUIT(3, 3), - ; - - /** - * UNKNOWN = 0; - */ - public static final int UNKNOWN_VALUE = 0; - /** - * UPDATE = 1; - */ - public static final int UPDATE_VALUE = 1; - /** - * DELIVER = 2; - */ - public static final int DELIVER_VALUE = 2; - /** - * QUIT = 3; - */ - public static final int QUIT_VALUE = 3; - - - public final int getNumber() { return value; } - - public static Type valueOf(int value) { - switch (value) { - case 0: return UNKNOWN; - case 1: return UPDATE; - case 2: return DELIVER; - case 3: return QUIT; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { - return internalValueMap; - } - private static com.google.protobuf.Internal.EnumLiteMap - internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public Type findValueByNumber(int number) { - return Type.valueOf(number); - } - }; - - public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { - return getDescriptor().getValues().get(index); - } - public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { - return getDescriptor(); - } - public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.getDescriptor().getEnumTypes().get(0); - } - - private static final Type[] VALUES = values(); - - public static Type valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { - if (desc.getType() != getDescriptor()) { - throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); - } - return VALUES[desc.getIndex()]; - } - - private final int index; - private final int value; - - private Type(int index, int value) { - this.index = index; - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:textsecure.PushMessageContent.GroupContext.Type) - } - - private int bitField0_; - // optional bytes id = 1; - public static final int ID_FIELD_NUMBER = 1; - private com.google.protobuf.ByteString id_; - /** - * optional bytes id = 1; - */ - public boolean hasId() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional bytes id = 1; - */ - public com.google.protobuf.ByteString getId() { - return id_; - } - - // optional .textsecure.PushMessageContent.GroupContext.Type type = 2; - public static final int TYPE_FIELD_NUMBER = 2; - private org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type type_; - /** - * optional .textsecure.PushMessageContent.GroupContext.Type type = 2; - */ - public boolean hasType() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional .textsecure.PushMessageContent.GroupContext.Type type = 2; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type getType() { - return type_; - } - - // optional string name = 3; - public static final int NAME_FIELD_NUMBER = 3; - private java.lang.Object name_; - /** - * optional string name = 3; - */ - public boolean hasName() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional string name = 3; - */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - name_ = s; - } - return s; - } - } - /** - * optional string name = 3; - */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - // repeated string members = 4; - public static final int MEMBERS_FIELD_NUMBER = 4; - private com.google.protobuf.LazyStringList members_; - /** - * repeated string members = 4; - */ - public java.util.List - getMembersList() { - return members_; - } - /** - * repeated string members = 4; - */ - public int getMembersCount() { - return members_.size(); - } - /** - * repeated string members = 4; - */ - public java.lang.String getMembers(int index) { - return members_.get(index); - } - /** - * repeated string members = 4; - */ - public com.google.protobuf.ByteString - getMembersBytes(int index) { - return members_.getByteString(index); - } - - // optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - public static final int AVATAR_FIELD_NUMBER = 5; - private org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer avatar_; - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - public boolean hasAvatar() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer getAvatar() { - return avatar_; - } - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder getAvatarOrBuilder() { - return avatar_; - } - - private void initFields() { - id_ = com.google.protobuf.ByteString.EMPTY; - type_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type.UNKNOWN; - name_ = ""; - members_ = com.google.protobuf.LazyStringArrayList.EMPTY; - avatar_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.getDefaultInstance(); - } - private byte memoizedIsInitialized = -1; - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized != -1) return isInitialized == 1; - - memoizedIsInitialized = 1; - return true; - } - - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - getSerializedSize(); - if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeBytes(1, id_); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeEnum(2, type_.getNumber()); - } - if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeBytes(3, getNameBytes()); - } - for (int i = 0; i < members_.size(); i++) { - output.writeBytes(4, members_.getByteString(i)); - } - if (((bitField0_ & 0x00000008) == 0x00000008)) { - output.writeMessage(5, avatar_); - } - 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 - .computeBytesSize(1, id_); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, type_.getNumber()); - } - if (((bitField0_ & 0x00000004) == 0x00000004)) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(3, getNameBytes()); - } - { - int dataSize = 0; - for (int i = 0; i < members_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeBytesSizeNoTag(members_.getByteString(i)); - } - size += dataSize; - size += 1 * getMembersList().size(); - } - if (((bitField0_ & 0x00000008) == 0x00000008)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, avatar_); - } - 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.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext parseFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseFrom(input, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext 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.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext 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 textsecure.PushMessageContent.GroupContext} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder - implements org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContextOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_GroupContext_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_GroupContext_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.class, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Builder.class); - } - - // Construct using org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { - getAvatarFieldBuilder(); - } - } - private static Builder create() { - return new Builder(); - } - - public Builder clear() { - super.clear(); - id_ = com.google.protobuf.ByteString.EMPTY; - bitField0_ = (bitField0_ & ~0x00000001); - type_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type.UNKNOWN; - bitField0_ = (bitField0_ & ~0x00000002); - name_ = ""; - bitField0_ = (bitField0_ & ~0x00000004); - members_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000008); - if (avatarBuilder_ == null) { - avatar_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.getDefaultInstance(); - } else { - avatarBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000010); - return this; - } - - public Builder clone() { - return create().mergeFrom(buildPartial()); - } - - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_GroupContext_descriptor; - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext getDefaultInstanceForType() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.getDefaultInstance(); - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext build() { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext buildPartial() { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext result = new org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } - result.id_ = id_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } - result.type_ = type_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; - } - result.name_ = name_; - if (((bitField0_ & 0x00000008) == 0x00000008)) { - members_ = new com.google.protobuf.UnmodifiableLazyStringList( - members_); - bitField0_ = (bitField0_ & ~0x00000008); - } - result.members_ = members_; - if (((from_bitField0_ & 0x00000010) == 0x00000010)) { - to_bitField0_ |= 0x00000008; - } - if (avatarBuilder_ == null) { - result.avatar_ = avatar_; - } else { - result.avatar_ = avatarBuilder_.build(); - } - result.bitField0_ = to_bitField0_; - onBuilt(); - return result; - } - - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext) { - return mergeFrom((org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext other) { - if (other == org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.getDefaultInstance()) return this; - if (other.hasId()) { - setId(other.getId()); - } - if (other.hasType()) { - setType(other.getType()); - } - if (other.hasName()) { - bitField0_ |= 0x00000004; - name_ = other.name_; - onChanged(); - } - if (!other.members_.isEmpty()) { - if (members_.isEmpty()) { - members_ = other.members_; - bitField0_ = (bitField0_ & ~0x00000008); - } else { - ensureMembersIsMutable(); - members_.addAll(other.members_); - } - onChanged(); - } - if (other.hasAvatar()) { - mergeAvatar(other.getAvatar()); - } - this.mergeUnknownFields(other.getUnknownFields()); - return this; - } - - public final boolean isInitialized() { - return true; - } - - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext) e.getUnfinishedMessage(); - throw e; - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - // optional bytes id = 1; - private com.google.protobuf.ByteString id_ = com.google.protobuf.ByteString.EMPTY; - /** - * optional bytes id = 1; - */ - public boolean hasId() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional bytes id = 1; - */ - public com.google.protobuf.ByteString getId() { - return id_; - } - /** - * optional bytes id = 1; - */ - public Builder setId(com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000001; - id_ = value; - onChanged(); - return this; - } - /** - * optional bytes id = 1; - */ - public Builder clearId() { - bitField0_ = (bitField0_ & ~0x00000001); - id_ = getDefaultInstance().getId(); - onChanged(); - return this; - } - - // optional .textsecure.PushMessageContent.GroupContext.Type type = 2; - private org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type type_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type.UNKNOWN; - /** - * optional .textsecure.PushMessageContent.GroupContext.Type type = 2; - */ - public boolean hasType() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional .textsecure.PushMessageContent.GroupContext.Type type = 2; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type getType() { - return type_; - } - /** - * optional .textsecure.PushMessageContent.GroupContext.Type type = 2; - */ - public Builder setType(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000002; - type_ = value; - onChanged(); - return this; - } - /** - * optional .textsecure.PushMessageContent.GroupContext.Type type = 2; - */ - public Builder clearType() { - bitField0_ = (bitField0_ & ~0x00000002); - type_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Type.UNKNOWN; - onChanged(); - return this; - } - - // optional string name = 3; - private java.lang.Object name_ = ""; - /** - * optional string name = 3; - */ - public boolean hasName() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional string name = 3; - */ - public java.lang.String getName() { - java.lang.Object ref = name_; - if (!(ref instanceof java.lang.String)) { - java.lang.String s = ((com.google.protobuf.ByteString) ref) - .toStringUtf8(); - name_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * optional string name = 3; - */ - public com.google.protobuf.ByteString - getNameBytes() { - java.lang.Object ref = name_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - name_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * optional string name = 3; - */ - public Builder setName( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000004; - name_ = value; - onChanged(); - return this; - } - /** - * optional string name = 3; - */ - public Builder clearName() { - bitField0_ = (bitField0_ & ~0x00000004); - name_ = getDefaultInstance().getName(); - onChanged(); - return this; - } - /** - * optional string name = 3; - */ - public Builder setNameBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000004; - name_ = value; - onChanged(); - return this; - } - - // repeated string members = 4; - private com.google.protobuf.LazyStringList members_ = com.google.protobuf.LazyStringArrayList.EMPTY; - private void ensureMembersIsMutable() { - if (!((bitField0_ & 0x00000008) == 0x00000008)) { - members_ = new com.google.protobuf.LazyStringArrayList(members_); - bitField0_ |= 0x00000008; - } - } - /** - * repeated string members = 4; - */ - public java.util.List - getMembersList() { - return java.util.Collections.unmodifiableList(members_); - } - /** - * repeated string members = 4; - */ - public int getMembersCount() { - return members_.size(); - } - /** - * repeated string members = 4; - */ - public java.lang.String getMembers(int index) { - return members_.get(index); - } - /** - * repeated string members = 4; - */ - public com.google.protobuf.ByteString - getMembersBytes(int index) { - return members_.getByteString(index); - } - /** - * repeated string members = 4; - */ - public Builder setMembers( - int index, java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureMembersIsMutable(); - members_.set(index, value); - onChanged(); - return this; - } - /** - * repeated string members = 4; - */ - public Builder addMembers( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - ensureMembersIsMutable(); - members_.add(value); - onChanged(); - return this; - } - /** - * repeated string members = 4; - */ - public Builder addAllMembers( - java.lang.Iterable values) { - ensureMembersIsMutable(); - super.addAll(values, members_); - onChanged(); - return this; - } - /** - * repeated string members = 4; - */ - public Builder clearMembers() { - members_ = com.google.protobuf.LazyStringArrayList.EMPTY; - bitField0_ = (bitField0_ & ~0x00000008); - onChanged(); - return this; - } - /** - * repeated string members = 4; - */ - public Builder addMembersBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - ensureMembersIsMutable(); - members_.add(value); - onChanged(); - return this; - } - - // optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - private org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer avatar_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.getDefaultInstance(); - private com.google.protobuf.SingleFieldBuilder< - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder> avatarBuilder_; - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - public boolean hasAvatar() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer getAvatar() { - if (avatarBuilder_ == null) { - return avatar_; - } else { - return avatarBuilder_.getMessage(); - } - } - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - public Builder setAvatar(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer value) { - if (avatarBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - avatar_ = value; - onChanged(); - } else { - avatarBuilder_.setMessage(value); - } - bitField0_ |= 0x00000010; - return this; - } - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - public Builder setAvatar( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder builderForValue) { - if (avatarBuilder_ == null) { - avatar_ = builderForValue.build(); - onChanged(); - } else { - avatarBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000010; - return this; - } - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - public Builder mergeAvatar(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer value) { - if (avatarBuilder_ == null) { - if (((bitField0_ & 0x00000010) == 0x00000010) && - avatar_ != org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.getDefaultInstance()) { - avatar_ = - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.newBuilder(avatar_).mergeFrom(value).buildPartial(); - } else { - avatar_ = value; - } - onChanged(); - } else { - avatarBuilder_.mergeFrom(value); - } - bitField0_ |= 0x00000010; - return this; - } - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - public Builder clearAvatar() { - if (avatarBuilder_ == null) { - avatar_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.getDefaultInstance(); - onChanged(); - } else { - avatarBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000010); - return this; - } - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder getAvatarBuilder() { - bitField0_ |= 0x00000010; - onChanged(); - return getAvatarFieldBuilder().getBuilder(); - } - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder getAvatarOrBuilder() { - if (avatarBuilder_ != null) { - return avatarBuilder_.getMessageOrBuilder(); - } else { - return avatar_; - } - } - /** - * optional .textsecure.PushMessageContent.AttachmentPointer avatar = 5; - */ - private com.google.protobuf.SingleFieldBuilder< - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder> - getAvatarFieldBuilder() { - if (avatarBuilder_ == null) { - avatarBuilder_ = new com.google.protobuf.SingleFieldBuilder< - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder>( - avatar_, - getParentForChildren(), - isClean()); - avatar_ = null; - } - return avatarBuilder_; - } - - // @@protoc_insertion_point(builder_scope:textsecure.PushMessageContent.GroupContext) - } - - static { - defaultInstance = new GroupContext(true); - defaultInstance.initFields(); - } - - // @@protoc_insertion_point(class_scope:textsecure.PushMessageContent.GroupContext) - } - - public interface SyncMessageContextOrBuilder - extends com.google.protobuf.MessageOrBuilder { - - // optional string destination = 1; - /** - * optional string destination = 1; - */ - boolean hasDestination(); - /** - * optional string destination = 1; - */ - java.lang.String getDestination(); - /** - * optional string destination = 1; - */ - com.google.protobuf.ByteString - getDestinationBytes(); - - // optional uint64 timestamp = 2; - /** - * optional uint64 timestamp = 2; - */ - boolean hasTimestamp(); - /** - * optional uint64 timestamp = 2; - */ - long getTimestamp(); - } - /** - * Protobuf type {@code textsecure.PushMessageContent.SyncMessageContext} - */ - public static final class SyncMessageContext extends - com.google.protobuf.GeneratedMessage - implements SyncMessageContextOrBuilder { - // Use SyncMessageContext.newBuilder() to construct. - private SyncMessageContext(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - this.unknownFields = builder.getUnknownFields(); - } - private SyncMessageContext(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } - - private static final SyncMessageContext defaultInstance; - public static SyncMessageContext getDefaultInstance() { - return defaultInstance; - } - - public SyncMessageContext getDefaultInstanceForType() { - return defaultInstance; - } - - private final com.google.protobuf.UnknownFieldSet unknownFields; - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private SyncMessageContext( - 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 10: { - bitField0_ |= 0x00000001; - destination_ = input.readBytes(); - break; - } - case 16: { - bitField0_ |= 0x00000002; - timestamp_ = input.readUInt64(); - 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.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_SyncMessageContext_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_SyncMessageContext_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.class, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.Builder.class); - } - - public static com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { - public SyncMessageContext parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new SyncMessageContext(input, extensionRegistry); - } - }; - - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; - } - - private int bitField0_; - // optional string destination = 1; - public static final int DESTINATION_FIELD_NUMBER = 1; - private java.lang.Object destination_; - /** - * optional string destination = 1; - */ - public boolean hasDestination() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string destination = 1; - */ - public java.lang.String getDestination() { - java.lang.Object ref = destination_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - destination_ = s; - } - return s; - } - } - /** - * optional string destination = 1; - */ - public com.google.protobuf.ByteString - getDestinationBytes() { - java.lang.Object ref = destination_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - destination_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - // optional uint64 timestamp = 2; - public static final int TIMESTAMP_FIELD_NUMBER = 2; - private long timestamp_; - /** - * optional uint64 timestamp = 2; - */ - public boolean hasTimestamp() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional uint64 timestamp = 2; - */ - public long getTimestamp() { - return timestamp_; - } - - private void initFields() { - destination_ = ""; - timestamp_ = 0L; - } - private byte memoizedIsInitialized = -1; - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized != -1) return isInitialized == 1; - - memoizedIsInitialized = 1; - return true; - } - - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - getSerializedSize(); - if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeBytes(1, getDestinationBytes()); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeUInt64(2, timestamp_); - } - 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 - .computeBytesSize(1, getDestinationBytes()); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - size += com.google.protobuf.CodedOutputStream - .computeUInt64Size(2, timestamp_); - } - 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.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext parseFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseFrom(input, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext 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.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext 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 textsecure.PushMessageContent.SyncMessageContext} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder - implements org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContextOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_SyncMessageContext_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_SyncMessageContext_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.class, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.Builder.class); - } - - // Construct using org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { - } - } - private static Builder create() { - return new Builder(); - } - - public Builder clear() { - super.clear(); - destination_ = ""; - bitField0_ = (bitField0_ & ~0x00000001); - timestamp_ = 0L; - bitField0_ = (bitField0_ & ~0x00000002); - return this; - } - - public Builder clone() { - return create().mergeFrom(buildPartial()); - } - - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_SyncMessageContext_descriptor; - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext getDefaultInstanceForType() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.getDefaultInstance(); - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext build() { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext buildPartial() { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext result = new org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } - result.destination_ = destination_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } - result.timestamp_ = timestamp_; - result.bitField0_ = to_bitField0_; - onBuilt(); - return result; - } - - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext) { - return mergeFrom((org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext other) { - if (other == org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.getDefaultInstance()) return this; - if (other.hasDestination()) { - bitField0_ |= 0x00000001; - destination_ = other.destination_; - onChanged(); - } - if (other.hasTimestamp()) { - setTimestamp(other.getTimestamp()); - } - this.mergeUnknownFields(other.getUnknownFields()); - return this; - } - - public final boolean isInitialized() { - return true; - } - - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext) e.getUnfinishedMessage(); - throw e; - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - // optional string destination = 1; - private java.lang.Object destination_ = ""; - /** - * optional string destination = 1; - */ - public boolean hasDestination() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string destination = 1; - */ - public java.lang.String getDestination() { - java.lang.Object ref = destination_; - if (!(ref instanceof java.lang.String)) { - java.lang.String s = ((com.google.protobuf.ByteString) ref) - .toStringUtf8(); - destination_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * optional string destination = 1; - */ - public com.google.protobuf.ByteString - getDestinationBytes() { - java.lang.Object ref = destination_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - destination_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * optional string destination = 1; - */ - public Builder setDestination( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000001; - destination_ = value; - onChanged(); - return this; - } - /** - * optional string destination = 1; - */ - public Builder clearDestination() { - bitField0_ = (bitField0_ & ~0x00000001); - destination_ = getDefaultInstance().getDestination(); - onChanged(); - return this; - } - /** - * optional string destination = 1; - */ - public Builder setDestinationBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000001; - destination_ = value; - onChanged(); - return this; - } - - // optional uint64 timestamp = 2; - private long timestamp_ ; - /** - * optional uint64 timestamp = 2; - */ - public boolean hasTimestamp() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional uint64 timestamp = 2; - */ - public long getTimestamp() { - return timestamp_; - } - /** - * optional uint64 timestamp = 2; - */ - public Builder setTimestamp(long value) { - bitField0_ |= 0x00000002; - timestamp_ = value; - onChanged(); - return this; - } - /** - * optional uint64 timestamp = 2; - */ - public Builder clearTimestamp() { - bitField0_ = (bitField0_ & ~0x00000002); - timestamp_ = 0L; - onChanged(); - return this; - } - - // @@protoc_insertion_point(builder_scope:textsecure.PushMessageContent.SyncMessageContext) - } - - static { - defaultInstance = new SyncMessageContext(true); - defaultInstance.initFields(); - } - - // @@protoc_insertion_point(class_scope:textsecure.PushMessageContent.SyncMessageContext) - } - - private int bitField0_; - // optional string body = 1; - public static final int BODY_FIELD_NUMBER = 1; - private java.lang.Object body_; - /** - * optional string body = 1; - */ - public boolean hasBody() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string body = 1; - */ - public java.lang.String getBody() { - java.lang.Object ref = body_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - body_ = s; - } - return s; - } - } - /** - * optional string body = 1; - */ - public com.google.protobuf.ByteString - getBodyBytes() { - java.lang.Object ref = body_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - body_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - // repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - public static final int ATTACHMENTS_FIELD_NUMBER = 2; - private java.util.List attachments_; - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public java.util.List getAttachmentsList() { - return attachments_; - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public java.util.List - getAttachmentsOrBuilderList() { - return attachments_; - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public int getAttachmentsCount() { - return attachments_.size(); - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer getAttachments(int index) { - return attachments_.get(index); - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder getAttachmentsOrBuilder( - int index) { - return attachments_.get(index); - } - - // optional .textsecure.PushMessageContent.GroupContext group = 3; - public static final int GROUP_FIELD_NUMBER = 3; - private org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext group_; - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - public boolean hasGroup() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext getGroup() { - return group_; - } - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContextOrBuilder getGroupOrBuilder() { - return group_; - } - - // optional uint32 flags = 4; - public static final int FLAGS_FIELD_NUMBER = 4; - private int flags_; - /** - * optional uint32 flags = 4; - */ - public boolean hasFlags() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional uint32 flags = 4; - */ - public int getFlags() { - return flags_; - } - - // optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - public static final int SYNC_FIELD_NUMBER = 5; - private org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext sync_; - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - public boolean hasSync() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext getSync() { - return sync_; - } - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContextOrBuilder getSyncOrBuilder() { - return sync_; - } - - private void initFields() { - body_ = ""; - attachments_ = java.util.Collections.emptyList(); - group_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.getDefaultInstance(); - flags_ = 0; - sync_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.getDefaultInstance(); - } - private byte memoizedIsInitialized = -1; - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized != -1) return isInitialized == 1; - - memoizedIsInitialized = 1; - return true; - } - - public void writeTo(com.google.protobuf.CodedOutputStream output) - throws java.io.IOException { - getSerializedSize(); - if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeBytes(1, getBodyBytes()); - } - for (int i = 0; i < attachments_.size(); i++) { - output.writeMessage(2, attachments_.get(i)); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeMessage(3, group_); - } - if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeUInt32(4, flags_); - } - if (((bitField0_ & 0x00000008) == 0x00000008)) { - output.writeMessage(5, sync_); - } - 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 - .computeBytesSize(1, getBodyBytes()); - } - for (int i = 0; i < attachments_.size(); i++) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(2, attachments_.get(i)); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(3, group_); - } - if (((bitField0_ & 0x00000004) == 0x00000004)) { - size += com.google.protobuf.CodedOutputStream - .computeUInt32Size(4, flags_); - } - if (((bitField0_ & 0x00000008) == 0x00000008)) { - size += com.google.protobuf.CodedOutputStream - .computeMessageSize(5, sync_); - } - 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.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent parseFrom( - com.google.protobuf.ByteString data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent parseFrom( - com.google.protobuf.ByteString data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent parseFrom(byte[] data) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent parseFrom( - byte[] data, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent parseFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent parseFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseFrom(input, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent parseDelimitedFrom( - java.io.InputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input, extensionRegistry); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent parseFrom( - com.google.protobuf.CodedInputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent 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.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent 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 textsecure.PushMessageContent} - */ - public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder - implements org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContentOrBuilder { - public static final com.google.protobuf.Descriptors.Descriptor - getDescriptor() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable - internalGetFieldAccessorTable() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_fieldAccessorTable - .ensureFieldAccessorsInitialized( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.class, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.Builder.class); - } - - // Construct using org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private Builder( - com.google.protobuf.GeneratedMessage.BuilderParent parent) { - super(parent); - maybeForceBuilderInitialization(); - } - private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { - getAttachmentsFieldBuilder(); - getGroupFieldBuilder(); - getSyncFieldBuilder(); - } - } - private static Builder create() { - return new Builder(); - } - - public Builder clear() { - super.clear(); - body_ = ""; - bitField0_ = (bitField0_ & ~0x00000001); - if (attachmentsBuilder_ == null) { - attachments_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - } else { - attachmentsBuilder_.clear(); - } - if (groupBuilder_ == null) { - group_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.getDefaultInstance(); - } else { - groupBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - flags_ = 0; - bitField0_ = (bitField0_ & ~0x00000008); - if (syncBuilder_ == null) { - sync_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.getDefaultInstance(); - } else { - syncBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000010); - return this; - } - - public Builder clone() { - return create().mergeFrom(buildPartial()); - } - - public com.google.protobuf.Descriptors.Descriptor - getDescriptorForType() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.internal_static_textsecure_PushMessageContent_descriptor; - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent getDefaultInstanceForType() { - return org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.getDefaultInstance(); - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent build() { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent buildPartial() { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent result = new org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } - result.body_ = body_; - if (attachmentsBuilder_ == null) { - if (((bitField0_ & 0x00000002) == 0x00000002)) { - attachments_ = java.util.Collections.unmodifiableList(attachments_); - bitField0_ = (bitField0_ & ~0x00000002); - } - result.attachments_ = attachments_; - } else { - result.attachments_ = attachmentsBuilder_.build(); - } - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000002; - } - if (groupBuilder_ == null) { - result.group_ = group_; - } else { - result.group_ = groupBuilder_.build(); - } - if (((from_bitField0_ & 0x00000008) == 0x00000008)) { - to_bitField0_ |= 0x00000004; - } - result.flags_ = flags_; - if (((from_bitField0_ & 0x00000010) == 0x00000010)) { - to_bitField0_ |= 0x00000008; - } - if (syncBuilder_ == null) { - result.sync_ = sync_; - } else { - result.sync_ = syncBuilder_.build(); - } - result.bitField0_ = to_bitField0_; - onBuilt(); - return result; - } - - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent) { - return mergeFrom((org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent)other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent other) { - if (other == org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.getDefaultInstance()) return this; - if (other.hasBody()) { - bitField0_ |= 0x00000001; - body_ = other.body_; - onChanged(); - } - if (attachmentsBuilder_ == null) { - if (!other.attachments_.isEmpty()) { - if (attachments_.isEmpty()) { - attachments_ = other.attachments_; - bitField0_ = (bitField0_ & ~0x00000002); - } else { - ensureAttachmentsIsMutable(); - attachments_.addAll(other.attachments_); - } - onChanged(); - } - } else { - if (!other.attachments_.isEmpty()) { - if (attachmentsBuilder_.isEmpty()) { - attachmentsBuilder_.dispose(); - attachmentsBuilder_ = null; - attachments_ = other.attachments_; - bitField0_ = (bitField0_ & ~0x00000002); - attachmentsBuilder_ = - com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - getAttachmentsFieldBuilder() : null; - } else { - attachmentsBuilder_.addAllMessages(other.attachments_); - } - } - } - if (other.hasGroup()) { - mergeGroup(other.getGroup()); - } - if (other.hasFlags()) { - setFlags(other.getFlags()); - } - if (other.hasSync()) { - mergeSync(other.getSync()); - } - this.mergeUnknownFields(other.getUnknownFields()); - return this; - } - - public final boolean isInitialized() { - return true; - } - - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent) e.getUnfinishedMessage(); - throw e; - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - // optional string body = 1; - private java.lang.Object body_ = ""; - /** - * optional string body = 1; - */ - public boolean hasBody() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string body = 1; - */ - public java.lang.String getBody() { - java.lang.Object ref = body_; - if (!(ref instanceof java.lang.String)) { - java.lang.String s = ((com.google.protobuf.ByteString) ref) - .toStringUtf8(); - body_ = s; - return s; - } else { - return (java.lang.String) ref; - } - } - /** - * optional string body = 1; - */ - public com.google.protobuf.ByteString - getBodyBytes() { - java.lang.Object ref = body_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - body_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - /** - * optional string body = 1; - */ - public Builder setBody( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000001; - body_ = value; - onChanged(); - return this; - } - /** - * optional string body = 1; - */ - public Builder clearBody() { - bitField0_ = (bitField0_ & ~0x00000001); - body_ = getDefaultInstance().getBody(); - onChanged(); - return this; - } - /** - * optional string body = 1; - */ - public Builder setBodyBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000001; - body_ = value; - onChanged(); - return this; - } - - // repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - private java.util.List attachments_ = - java.util.Collections.emptyList(); - private void ensureAttachmentsIsMutable() { - if (!((bitField0_ & 0x00000002) == 0x00000002)) { - attachments_ = new java.util.ArrayList(attachments_); - bitField0_ |= 0x00000002; - } - } - - private com.google.protobuf.RepeatedFieldBuilder< - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder> attachmentsBuilder_; - - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public java.util.List getAttachmentsList() { - if (attachmentsBuilder_ == null) { - return java.util.Collections.unmodifiableList(attachments_); - } else { - return attachmentsBuilder_.getMessageList(); - } - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public int getAttachmentsCount() { - if (attachmentsBuilder_ == null) { - return attachments_.size(); - } else { - return attachmentsBuilder_.getCount(); - } - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer getAttachments(int index) { - if (attachmentsBuilder_ == null) { - return attachments_.get(index); - } else { - return attachmentsBuilder_.getMessage(index); - } - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public Builder setAttachments( - int index, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer value) { - if (attachmentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureAttachmentsIsMutable(); - attachments_.set(index, value); - onChanged(); - } else { - attachmentsBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public Builder setAttachments( - int index, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder builderForValue) { - if (attachmentsBuilder_ == null) { - ensureAttachmentsIsMutable(); - attachments_.set(index, builderForValue.build()); - onChanged(); - } else { - attachmentsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public Builder addAttachments(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer value) { - if (attachmentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureAttachmentsIsMutable(); - attachments_.add(value); - onChanged(); - } else { - attachmentsBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public Builder addAttachments( - int index, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer value) { - if (attachmentsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureAttachmentsIsMutable(); - attachments_.add(index, value); - onChanged(); - } else { - attachmentsBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public Builder addAttachments( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder builderForValue) { - if (attachmentsBuilder_ == null) { - ensureAttachmentsIsMutable(); - attachments_.add(builderForValue.build()); - onChanged(); - } else { - attachmentsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public Builder addAttachments( - int index, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder builderForValue) { - if (attachmentsBuilder_ == null) { - ensureAttachmentsIsMutable(); - attachments_.add(index, builderForValue.build()); - onChanged(); - } else { - attachmentsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public Builder addAllAttachments( - java.lang.Iterable values) { - if (attachmentsBuilder_ == null) { - ensureAttachmentsIsMutable(); - super.addAll(values, attachments_); - onChanged(); - } else { - attachmentsBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public Builder clearAttachments() { - if (attachmentsBuilder_ == null) { - attachments_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000002); - onChanged(); - } else { - attachmentsBuilder_.clear(); - } - return this; - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public Builder removeAttachments(int index) { - if (attachmentsBuilder_ == null) { - ensureAttachmentsIsMutable(); - attachments_.remove(index); - onChanged(); - } else { - attachmentsBuilder_.remove(index); - } - return this; - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder getAttachmentsBuilder( - int index) { - return getAttachmentsFieldBuilder().getBuilder(index); - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder getAttachmentsOrBuilder( - int index) { - if (attachmentsBuilder_ == null) { - return attachments_.get(index); } else { - return attachmentsBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public java.util.List - getAttachmentsOrBuilderList() { - if (attachmentsBuilder_ != null) { - return attachmentsBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(attachments_); - } - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder addAttachmentsBuilder() { - return getAttachmentsFieldBuilder().addBuilder( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.getDefaultInstance()); - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder addAttachmentsBuilder( - int index) { - return getAttachmentsFieldBuilder().addBuilder( - index, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.getDefaultInstance()); - } - /** - * repeated .textsecure.PushMessageContent.AttachmentPointer attachments = 2; - */ - public java.util.List - getAttachmentsBuilderList() { - return getAttachmentsFieldBuilder().getBuilderList(); - } - private com.google.protobuf.RepeatedFieldBuilder< - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder> - getAttachmentsFieldBuilder() { - if (attachmentsBuilder_ == null) { - attachmentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.AttachmentPointerOrBuilder>( - attachments_, - ((bitField0_ & 0x00000002) == 0x00000002), - getParentForChildren(), - isClean()); - attachments_ = null; - } - return attachmentsBuilder_; - } - - // optional .textsecure.PushMessageContent.GroupContext group = 3; - private org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext group_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.getDefaultInstance(); - private com.google.protobuf.SingleFieldBuilder< - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Builder, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContextOrBuilder> groupBuilder_; - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - public boolean hasGroup() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext getGroup() { - if (groupBuilder_ == null) { - return group_; - } else { - return groupBuilder_.getMessage(); - } - } - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - public Builder setGroup(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext value) { - if (groupBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - group_ = value; - onChanged(); - } else { - groupBuilder_.setMessage(value); - } - bitField0_ |= 0x00000004; - return this; - } - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - public Builder setGroup( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Builder builderForValue) { - if (groupBuilder_ == null) { - group_ = builderForValue.build(); - onChanged(); - } else { - groupBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000004; - return this; - } - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - public Builder mergeGroup(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext value) { - if (groupBuilder_ == null) { - if (((bitField0_ & 0x00000004) == 0x00000004) && - group_ != org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.getDefaultInstance()) { - group_ = - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.newBuilder(group_).mergeFrom(value).buildPartial(); - } else { - group_ = value; - } - onChanged(); - } else { - groupBuilder_.mergeFrom(value); - } - bitField0_ |= 0x00000004; - return this; - } - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - public Builder clearGroup() { - if (groupBuilder_ == null) { - group_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.getDefaultInstance(); - onChanged(); - } else { - groupBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000004); - return this; - } - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Builder getGroupBuilder() { - bitField0_ |= 0x00000004; - onChanged(); - return getGroupFieldBuilder().getBuilder(); - } - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContextOrBuilder getGroupOrBuilder() { - if (groupBuilder_ != null) { - return groupBuilder_.getMessageOrBuilder(); - } else { - return group_; - } - } - /** - * optional .textsecure.PushMessageContent.GroupContext group = 3; - */ - private com.google.protobuf.SingleFieldBuilder< - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Builder, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContextOrBuilder> - getGroupFieldBuilder() { - if (groupBuilder_ == null) { - groupBuilder_ = new com.google.protobuf.SingleFieldBuilder< - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContext.Builder, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.GroupContextOrBuilder>( - group_, - getParentForChildren(), - isClean()); - group_ = null; - } - return groupBuilder_; - } - - // optional uint32 flags = 4; - private int flags_ ; - /** - * optional uint32 flags = 4; - */ - public boolean hasFlags() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - * optional uint32 flags = 4; - */ - public int getFlags() { - return flags_; - } - /** - * optional uint32 flags = 4; - */ - public Builder setFlags(int value) { - bitField0_ |= 0x00000008; - flags_ = value; - onChanged(); - return this; - } - /** - * optional uint32 flags = 4; - */ - public Builder clearFlags() { - bitField0_ = (bitField0_ & ~0x00000008); - flags_ = 0; - onChanged(); - return this; - } - - // optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - private org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext sync_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.getDefaultInstance(); - private com.google.protobuf.SingleFieldBuilder< - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.Builder, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContextOrBuilder> syncBuilder_; - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - public boolean hasSync() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext getSync() { - if (syncBuilder_ == null) { - return sync_; - } else { - return syncBuilder_.getMessage(); - } - } - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - public Builder setSync(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext value) { - if (syncBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - sync_ = value; - onChanged(); - } else { - syncBuilder_.setMessage(value); - } - bitField0_ |= 0x00000010; - return this; - } - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - public Builder setSync( - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.Builder builderForValue) { - if (syncBuilder_ == null) { - sync_ = builderForValue.build(); - onChanged(); - } else { - syncBuilder_.setMessage(builderForValue.build()); - } - bitField0_ |= 0x00000010; - return this; - } - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - public Builder mergeSync(org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext value) { - if (syncBuilder_ == null) { - if (((bitField0_ & 0x00000010) == 0x00000010) && - sync_ != org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.getDefaultInstance()) { - sync_ = - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.newBuilder(sync_).mergeFrom(value).buildPartial(); - } else { - sync_ = value; - } - onChanged(); - } else { - syncBuilder_.mergeFrom(value); - } - bitField0_ |= 0x00000010; - return this; - } - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - public Builder clearSync() { - if (syncBuilder_ == null) { - sync_ = org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.getDefaultInstance(); - onChanged(); - } else { - syncBuilder_.clear(); - } - bitField0_ = (bitField0_ & ~0x00000010); - return this; - } - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.Builder getSyncBuilder() { - bitField0_ |= 0x00000010; - onChanged(); - return getSyncFieldBuilder().getBuilder(); - } - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - public org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContextOrBuilder getSyncOrBuilder() { - if (syncBuilder_ != null) { - return syncBuilder_.getMessageOrBuilder(); - } else { - return sync_; - } - } - /** - * optional .textsecure.PushMessageContent.SyncMessageContext sync = 5; - */ - private com.google.protobuf.SingleFieldBuilder< - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.Builder, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContextOrBuilder> - getSyncFieldBuilder() { - if (syncBuilder_ == null) { - syncBuilder_ = new com.google.protobuf.SingleFieldBuilder< - org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContext.Builder, org.whispersystems.textsecure.internal.push.PushMessageProtos.PushMessageContent.SyncMessageContextOrBuilder>( - sync_, - getParentForChildren(), - isClean()); - sync_ = null; - } - return syncBuilder_; - } - - // @@protoc_insertion_point(builder_scope:textsecure.PushMessageContent) - } - - static { - defaultInstance = new PushMessageContent(true); - defaultInstance.initFields(); - } - - // @@protoc_insertion_point(class_scope:textsecure.PushMessageContent) - } - - private static com.google.protobuf.Descriptors.Descriptor - internal_static_textsecure_IncomingPushMessageSignal_descriptor; - private static - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_textsecure_IncomingPushMessageSignal_fieldAccessorTable; - private static com.google.protobuf.Descriptors.Descriptor - internal_static_textsecure_PushMessageContent_descriptor; - private static - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_textsecure_PushMessageContent_fieldAccessorTable; - private static com.google.protobuf.Descriptors.Descriptor - internal_static_textsecure_PushMessageContent_AttachmentPointer_descriptor; - private static - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_textsecure_PushMessageContent_AttachmentPointer_fieldAccessorTable; - private static com.google.protobuf.Descriptors.Descriptor - internal_static_textsecure_PushMessageContent_GroupContext_descriptor; - private static - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_textsecure_PushMessageContent_GroupContext_fieldAccessorTable; - private static com.google.protobuf.Descriptors.Descriptor - internal_static_textsecure_PushMessageContent_SyncMessageContext_descriptor; - private static - com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_textsecure_PushMessageContent_SyncMessageContext_fieldAccessorTable; - - public static com.google.protobuf.Descriptors.FileDescriptor - getDescriptor() { - return descriptor; - } - private static com.google.protobuf.Descriptors.FileDescriptor - descriptor; - static { - java.lang.String[] descriptorData = { - "\n\037IncomingPushMessageSignal.proto\022\ntexts" + - "ecure\"\205\002\n\031IncomingPushMessageSignal\0228\n\004t" + - "ype\030\001 \001(\0162*.textsecure.IncomingPushMessa" + - "geSignal.Type\022\016\n\006source\030\002 \001(\t\022\024\n\014sourceD" + - "evice\030\007 \001(\r\022\r\n\005relay\030\003 \001(\t\022\021\n\ttimestamp\030" + - "\005 \001(\004\022\017\n\007message\030\006 \001(\014\"U\n\004Type\022\013\n\007UNKNOW" + - "N\020\000\022\016\n\nCIPHERTEXT\020\001\022\020\n\014KEY_EXCHANGE\020\002\022\021\n" + - "\rPREKEY_BUNDLE\020\003\022\013\n\007RECEIPT\020\005\"\206\005\n\022PushMe" + - "ssageContent\022\014\n\004body\030\001 \001(\t\022E\n\013attachment" + - "s\030\002 \003(\01320.textsecure.PushMessageContent.", - "AttachmentPointer\022:\n\005group\030\003 \001(\0132+.texts" + - "ecure.PushMessageContent.GroupContext\022\r\n" + - "\005flags\030\004 \001(\r\022?\n\004sync\030\005 \001(\01321.textsecure." + - "PushMessageContent.SyncMessageContext\032A\n" + - "\021AttachmentPointer\022\n\n\002id\030\001 \001(\006\022\023\n\013conten" + - "tType\030\002 \001(\t\022\013\n\003key\030\003 \001(\014\032\363\001\n\014GroupContex" + - "t\022\n\n\002id\030\001 \001(\014\022>\n\004type\030\002 \001(\01620.textsecure" + - ".PushMessageContent.GroupContext.Type\022\014\n" + - "\004name\030\003 \001(\t\022\017\n\007members\030\004 \003(\t\022@\n\006avatar\030\005" + - " \001(\01320.textsecure.PushMessageContent.Att", - "achmentPointer\"6\n\004Type\022\013\n\007UNKNOWN\020\000\022\n\n\006U" + - "PDATE\020\001\022\013\n\007DELIVER\020\002\022\010\n\004QUIT\020\003\032<\n\022SyncMe" + - "ssageContext\022\023\n\013destination\030\001 \001(\t\022\021\n\ttim" + - "estamp\030\002 \001(\004\"\030\n\005Flags\022\017\n\013END_SESSION\020\001B@" + - "\n+org.whispersystems.textsecure.internal" + - ".pushB\021PushMessageProtos" - }; - com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = - new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { - public com.google.protobuf.ExtensionRegistry assignDescriptors( - com.google.protobuf.Descriptors.FileDescriptor root) { - descriptor = root; - internal_static_textsecure_IncomingPushMessageSignal_descriptor = - getDescriptor().getMessageTypes().get(0); - internal_static_textsecure_IncomingPushMessageSignal_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_textsecure_IncomingPushMessageSignal_descriptor, - new java.lang.String[] { "Type", "Source", "SourceDevice", "Relay", "Timestamp", "Message", }); - internal_static_textsecure_PushMessageContent_descriptor = - getDescriptor().getMessageTypes().get(1); - internal_static_textsecure_PushMessageContent_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_textsecure_PushMessageContent_descriptor, - new java.lang.String[] { "Body", "Attachments", "Group", "Flags", "Sync", }); - internal_static_textsecure_PushMessageContent_AttachmentPointer_descriptor = - internal_static_textsecure_PushMessageContent_descriptor.getNestedTypes().get(0); - internal_static_textsecure_PushMessageContent_AttachmentPointer_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_textsecure_PushMessageContent_AttachmentPointer_descriptor, - new java.lang.String[] { "Id", "ContentType", "Key", }); - internal_static_textsecure_PushMessageContent_GroupContext_descriptor = - internal_static_textsecure_PushMessageContent_descriptor.getNestedTypes().get(1); - internal_static_textsecure_PushMessageContent_GroupContext_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_textsecure_PushMessageContent_GroupContext_descriptor, - new java.lang.String[] { "Id", "Type", "Name", "Members", "Avatar", }); - internal_static_textsecure_PushMessageContent_SyncMessageContext_descriptor = - internal_static_textsecure_PushMessageContent_descriptor.getNestedTypes().get(2); - internal_static_textsecure_PushMessageContent_SyncMessageContext_fieldAccessorTable = new - com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_textsecure_PushMessageContent_SyncMessageContext_descriptor, - new java.lang.String[] { "Destination", "Timestamp", }); - return null; - } - }; - com.google.protobuf.Descriptors.FileDescriptor - .internalBuildGeneratedFileFrom(descriptorData, - new com.google.protobuf.Descriptors.FileDescriptor[] { - }, assigner); - } - - // @@protoc_insertion_point(outer_class_scope) -} diff --git a/java/src/main/java/org/whispersystems/textsecure/internal/push/TextSecureEnvelopeEntity.java b/java/src/main/java/org/whispersystems/textsecure/internal/push/TextSecureEnvelopeEntity.java index 6d1a33c392..445f8593b2 100644 --- a/java/src/main/java/org/whispersystems/textsecure/internal/push/TextSecureEnvelopeEntity.java +++ b/java/src/main/java/org/whispersystems/textsecure/internal/push/TextSecureEnvelopeEntity.java @@ -22,6 +22,9 @@ public class TextSecureEnvelopeEntity { @JsonProperty private byte[] message; + @JsonProperty + private byte[] content; + public TextSecureEnvelopeEntity() {} public int getType() { @@ -47,4 +50,8 @@ public class TextSecureEnvelopeEntity { public byte[] getMessage() { return message; } + + public byte[] getContent() { + return content; + } } diff --git a/java/src/main/java/org/whispersystems/textsecure/internal/push/TextSecureProtos.java b/java/src/main/java/org/whispersystems/textsecure/internal/push/TextSecureProtos.java new file mode 100644 index 0000000000..05d96f2590 --- /dev/null +++ b/java/src/main/java/org/whispersystems/textsecure/internal/push/TextSecureProtos.java @@ -0,0 +1,9068 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: TextSecure.proto + +package org.whispersystems.textsecure.internal.push; + +public final class TextSecureProtos { + private TextSecureProtos() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + } + public interface EnvelopeOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional .textsecure.Envelope.Type type = 1; + /** + * optional .textsecure.Envelope.Type type = 1; + */ + boolean hasType(); + /** + * optional .textsecure.Envelope.Type type = 1; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type getType(); + + // optional string source = 2; + /** + * optional string source = 2; + */ + boolean hasSource(); + /** + * optional string source = 2; + */ + java.lang.String getSource(); + /** + * optional string source = 2; + */ + com.google.protobuf.ByteString + getSourceBytes(); + + // optional uint32 sourceDevice = 7; + /** + * optional uint32 sourceDevice = 7; + */ + boolean hasSourceDevice(); + /** + * optional uint32 sourceDevice = 7; + */ + int getSourceDevice(); + + // optional string relay = 3; + /** + * optional string relay = 3; + */ + boolean hasRelay(); + /** + * optional string relay = 3; + */ + java.lang.String getRelay(); + /** + * optional string relay = 3; + */ + com.google.protobuf.ByteString + getRelayBytes(); + + // optional uint64 timestamp = 5; + /** + * optional uint64 timestamp = 5; + */ + boolean hasTimestamp(); + /** + * optional uint64 timestamp = 5; + */ + long getTimestamp(); + + // optional bytes legacyMessage = 6; + /** + * optional bytes legacyMessage = 6; + * + *
+     * Contains an encrypted DataMessage
+     * 
+ */ + boolean hasLegacyMessage(); + /** + * optional bytes legacyMessage = 6; + * + *
+     * Contains an encrypted DataMessage
+     * 
+ */ + com.google.protobuf.ByteString getLegacyMessage(); + + // optional bytes content = 8; + /** + * optional bytes content = 8; + * + *
+     * Contains an encrypted Content
+     * 
+ */ + boolean hasContent(); + /** + * optional bytes content = 8; + * + *
+     * Contains an encrypted Content
+     * 
+ */ + com.google.protobuf.ByteString getContent(); + } + /** + * Protobuf type {@code textsecure.Envelope} + */ + public static final class Envelope extends + com.google.protobuf.GeneratedMessage + implements EnvelopeOrBuilder { + // Use Envelope.newBuilder() to construct. + private Envelope(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private Envelope(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final Envelope defaultInstance; + public static Envelope getDefaultInstance() { + return defaultInstance; + } + + public Envelope getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Envelope( + 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: { + int rawValue = input.readEnum(); + org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type value = org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(1, rawValue); + } else { + bitField0_ |= 0x00000001; + type_ = value; + } + break; + } + case 18: { + bitField0_ |= 0x00000002; + source_ = input.readBytes(); + break; + } + case 26: { + bitField0_ |= 0x00000008; + relay_ = input.readBytes(); + break; + } + case 40: { + bitField0_ |= 0x00000010; + timestamp_ = input.readUInt64(); + break; + } + case 50: { + bitField0_ |= 0x00000020; + legacyMessage_ = input.readBytes(); + break; + } + case 56: { + bitField0_ |= 0x00000004; + sourceDevice_ = input.readUInt32(); + break; + } + case 66: { + bitField0_ |= 0x00000040; + content_ = input.readBytes(); + 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.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_Envelope_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_Envelope_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public Envelope parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Envelope(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + /** + * Protobuf enum {@code textsecure.Envelope.Type} + */ + public enum Type + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UNKNOWN = 0; + */ + UNKNOWN(0, 0), + /** + * CIPHERTEXT = 1; + */ + CIPHERTEXT(1, 1), + /** + * KEY_EXCHANGE = 2; + */ + KEY_EXCHANGE(2, 2), + /** + * PREKEY_BUNDLE = 3; + */ + PREKEY_BUNDLE(3, 3), + /** + * RECEIPT = 5; + */ + RECEIPT(4, 5), + ; + + /** + * UNKNOWN = 0; + */ + public static final int UNKNOWN_VALUE = 0; + /** + * CIPHERTEXT = 1; + */ + public static final int CIPHERTEXT_VALUE = 1; + /** + * KEY_EXCHANGE = 2; + */ + public static final int KEY_EXCHANGE_VALUE = 2; + /** + * PREKEY_BUNDLE = 3; + */ + public static final int PREKEY_BUNDLE_VALUE = 3; + /** + * RECEIPT = 5; + */ + public static final int RECEIPT_VALUE = 5; + + + public final int getNumber() { return value; } + + public static Type valueOf(int value) { + switch (value) { + case 0: return UNKNOWN; + case 1: return CIPHERTEXT; + case 2: return KEY_EXCHANGE; + case 3: return PREKEY_BUNDLE; + case 5: return RECEIPT; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Type findValueByNumber(int number) { + return Type.valueOf(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.getDescriptor().getEnumTypes().get(0); + } + + private static final Type[] VALUES = values(); + + public static Type valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + + private final int index; + private final int value; + + private Type(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:textsecure.Envelope.Type) + } + + private int bitField0_; + // optional .textsecure.Envelope.Type type = 1; + public static final int TYPE_FIELD_NUMBER = 1; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type type_; + /** + * optional .textsecure.Envelope.Type type = 1; + */ + public boolean hasType() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .textsecure.Envelope.Type type = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type getType() { + return type_; + } + + // optional string source = 2; + public static final int SOURCE_FIELD_NUMBER = 2; + private java.lang.Object source_; + /** + * optional string source = 2; + */ + public boolean hasSource() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string source = 2; + */ + public java.lang.String getSource() { + java.lang.Object ref = source_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + source_ = s; + } + return s; + } + } + /** + * optional string source = 2; + */ + public com.google.protobuf.ByteString + getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // optional uint32 sourceDevice = 7; + public static final int SOURCEDEVICE_FIELD_NUMBER = 7; + private int sourceDevice_; + /** + * optional uint32 sourceDevice = 7; + */ + public boolean hasSourceDevice() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional uint32 sourceDevice = 7; + */ + public int getSourceDevice() { + return sourceDevice_; + } + + // optional string relay = 3; + public static final int RELAY_FIELD_NUMBER = 3; + private java.lang.Object relay_; + /** + * optional string relay = 3; + */ + public boolean hasRelay() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional string relay = 3; + */ + public java.lang.String getRelay() { + java.lang.Object ref = relay_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + relay_ = s; + } + return s; + } + } + /** + * optional string relay = 3; + */ + public com.google.protobuf.ByteString + getRelayBytes() { + java.lang.Object ref = relay_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + relay_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // optional uint64 timestamp = 5; + public static final int TIMESTAMP_FIELD_NUMBER = 5; + private long timestamp_; + /** + * optional uint64 timestamp = 5; + */ + public boolean hasTimestamp() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional uint64 timestamp = 5; + */ + public long getTimestamp() { + return timestamp_; + } + + // optional bytes legacyMessage = 6; + public static final int LEGACYMESSAGE_FIELD_NUMBER = 6; + private com.google.protobuf.ByteString legacyMessage_; + /** + * optional bytes legacyMessage = 6; + * + *
+     * Contains an encrypted DataMessage
+     * 
+ */ + public boolean hasLegacyMessage() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * optional bytes legacyMessage = 6; + * + *
+     * Contains an encrypted DataMessage
+     * 
+ */ + public com.google.protobuf.ByteString getLegacyMessage() { + return legacyMessage_; + } + + // optional bytes content = 8; + public static final int CONTENT_FIELD_NUMBER = 8; + private com.google.protobuf.ByteString content_; + /** + * optional bytes content = 8; + * + *
+     * Contains an encrypted Content
+     * 
+ */ + public boolean hasContent() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * optional bytes content = 8; + * + *
+     * Contains an encrypted Content
+     * 
+ */ + public com.google.protobuf.ByteString getContent() { + return content_; + } + + private void initFields() { + type_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type.UNKNOWN; + source_ = ""; + sourceDevice_ = 0; + relay_ = ""; + timestamp_ = 0L; + legacyMessage_ = com.google.protobuf.ByteString.EMPTY; + content_ = com.google.protobuf.ByteString.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeEnum(1, type_.getNumber()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getSourceBytes()); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeBytes(3, getRelayBytes()); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeUInt64(5, timestamp_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + output.writeBytes(6, legacyMessage_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeUInt32(7, sourceDevice_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + output.writeBytes(8, content_); + } + 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 + .computeEnumSize(1, type_.getNumber()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getSourceBytes()); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(3, getRelayBytes()); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt64Size(5, timestamp_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(6, legacyMessage_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(7, sourceDevice_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(8, content_); + } + 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.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope 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.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope 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 textsecure.Envelope} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.whispersystems.textsecure.internal.push.TextSecureProtos.EnvelopeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_Envelope_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_Envelope_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Builder.class); + } + + // Construct using org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + type_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type.UNKNOWN; + bitField0_ = (bitField0_ & ~0x00000001); + source_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + sourceDevice_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + relay_ = ""; + bitField0_ = (bitField0_ & ~0x00000008); + timestamp_ = 0L; + bitField0_ = (bitField0_ & ~0x00000010); + legacyMessage_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000020); + content_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000040); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_Envelope_descriptor; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope getDefaultInstanceForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.getDefaultInstance(); + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope build() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope buildPartial() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope result = new org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.type_ = type_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.source_ = source_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.sourceDevice_ = sourceDevice_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.relay_ = relay_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + result.timestamp_ = timestamp_; + if (((from_bitField0_ & 0x00000020) == 0x00000020)) { + to_bitField0_ |= 0x00000020; + } + result.legacyMessage_ = legacyMessage_; + if (((from_bitField0_ & 0x00000040) == 0x00000040)) { + to_bitField0_ |= 0x00000040; + } + result.content_ = content_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope) { + return mergeFrom((org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope other) { + if (other == org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.getDefaultInstance()) return this; + if (other.hasType()) { + setType(other.getType()); + } + if (other.hasSource()) { + bitField0_ |= 0x00000002; + source_ = other.source_; + onChanged(); + } + if (other.hasSourceDevice()) { + setSourceDevice(other.getSourceDevice()); + } + if (other.hasRelay()) { + bitField0_ |= 0x00000008; + relay_ = other.relay_; + onChanged(); + } + if (other.hasTimestamp()) { + setTimestamp(other.getTimestamp()); + } + if (other.hasLegacyMessage()) { + setLegacyMessage(other.getLegacyMessage()); + } + if (other.hasContent()) { + setContent(other.getContent()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional .textsecure.Envelope.Type type = 1; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type type_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type.UNKNOWN; + /** + * optional .textsecure.Envelope.Type type = 1; + */ + public boolean hasType() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .textsecure.Envelope.Type type = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type getType() { + return type_; + } + /** + * optional .textsecure.Envelope.Type type = 1; + */ + public Builder setType(org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + type_ = value; + onChanged(); + return this; + } + /** + * optional .textsecure.Envelope.Type type = 1; + */ + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000001); + type_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.Envelope.Type.UNKNOWN; + onChanged(); + return this; + } + + // optional string source = 2; + private java.lang.Object source_ = ""; + /** + * optional string source = 2; + */ + public boolean hasSource() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string source = 2; + */ + public java.lang.String getSource() { + java.lang.Object ref = source_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + source_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string source = 2; + */ + public com.google.protobuf.ByteString + getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string source = 2; + */ + public Builder setSource( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + source_ = value; + onChanged(); + return this; + } + /** + * optional string source = 2; + */ + public Builder clearSource() { + bitField0_ = (bitField0_ & ~0x00000002); + source_ = getDefaultInstance().getSource(); + onChanged(); + return this; + } + /** + * optional string source = 2; + */ + public Builder setSourceBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + source_ = value; + onChanged(); + return this; + } + + // optional uint32 sourceDevice = 7; + private int sourceDevice_ ; + /** + * optional uint32 sourceDevice = 7; + */ + public boolean hasSourceDevice() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional uint32 sourceDevice = 7; + */ + public int getSourceDevice() { + return sourceDevice_; + } + /** + * optional uint32 sourceDevice = 7; + */ + public Builder setSourceDevice(int value) { + bitField0_ |= 0x00000004; + sourceDevice_ = value; + onChanged(); + return this; + } + /** + * optional uint32 sourceDevice = 7; + */ + public Builder clearSourceDevice() { + bitField0_ = (bitField0_ & ~0x00000004); + sourceDevice_ = 0; + onChanged(); + return this; + } + + // optional string relay = 3; + private java.lang.Object relay_ = ""; + /** + * optional string relay = 3; + */ + public boolean hasRelay() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional string relay = 3; + */ + public java.lang.String getRelay() { + java.lang.Object ref = relay_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + relay_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string relay = 3; + */ + public com.google.protobuf.ByteString + getRelayBytes() { + java.lang.Object ref = relay_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + relay_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string relay = 3; + */ + public Builder setRelay( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + relay_ = value; + onChanged(); + return this; + } + /** + * optional string relay = 3; + */ + public Builder clearRelay() { + bitField0_ = (bitField0_ & ~0x00000008); + relay_ = getDefaultInstance().getRelay(); + onChanged(); + return this; + } + /** + * optional string relay = 3; + */ + public Builder setRelayBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + relay_ = value; + onChanged(); + return this; + } + + // optional uint64 timestamp = 5; + private long timestamp_ ; + /** + * optional uint64 timestamp = 5; + */ + public boolean hasTimestamp() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional uint64 timestamp = 5; + */ + public long getTimestamp() { + return timestamp_; + } + /** + * optional uint64 timestamp = 5; + */ + public Builder setTimestamp(long value) { + bitField0_ |= 0x00000010; + timestamp_ = value; + onChanged(); + return this; + } + /** + * optional uint64 timestamp = 5; + */ + public Builder clearTimestamp() { + bitField0_ = (bitField0_ & ~0x00000010); + timestamp_ = 0L; + onChanged(); + return this; + } + + // optional bytes legacyMessage = 6; + private com.google.protobuf.ByteString legacyMessage_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes legacyMessage = 6; + * + *
+       * Contains an encrypted DataMessage
+       * 
+ */ + public boolean hasLegacyMessage() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * optional bytes legacyMessage = 6; + * + *
+       * Contains an encrypted DataMessage
+       * 
+ */ + public com.google.protobuf.ByteString getLegacyMessage() { + return legacyMessage_; + } + /** + * optional bytes legacyMessage = 6; + * + *
+       * Contains an encrypted DataMessage
+       * 
+ */ + public Builder setLegacyMessage(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000020; + legacyMessage_ = value; + onChanged(); + return this; + } + /** + * optional bytes legacyMessage = 6; + * + *
+       * Contains an encrypted DataMessage
+       * 
+ */ + public Builder clearLegacyMessage() { + bitField0_ = (bitField0_ & ~0x00000020); + legacyMessage_ = getDefaultInstance().getLegacyMessage(); + onChanged(); + return this; + } + + // optional bytes content = 8; + private com.google.protobuf.ByteString content_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes content = 8; + * + *
+       * Contains an encrypted Content
+       * 
+ */ + public boolean hasContent() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * optional bytes content = 8; + * + *
+       * Contains an encrypted Content
+       * 
+ */ + public com.google.protobuf.ByteString getContent() { + return content_; + } + /** + * optional bytes content = 8; + * + *
+       * Contains an encrypted Content
+       * 
+ */ + public Builder setContent(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000040; + content_ = value; + onChanged(); + return this; + } + /** + * optional bytes content = 8; + * + *
+       * Contains an encrypted Content
+       * 
+ */ + public Builder clearContent() { + bitField0_ = (bitField0_ & ~0x00000040); + content_ = getDefaultInstance().getContent(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:textsecure.Envelope) + } + + static { + defaultInstance = new Envelope(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:textsecure.Envelope) + } + + public interface ContentOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional .textsecure.DataMessage dataMessage = 1; + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + boolean hasDataMessage(); + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage getDataMessage(); + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder getDataMessageOrBuilder(); + + // optional .textsecure.SyncMessage syncMessage = 2; + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + boolean hasSyncMessage(); + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage getSyncMessage(); + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessageOrBuilder getSyncMessageOrBuilder(); + } + /** + * Protobuf type {@code textsecure.Content} + */ + public static final class Content extends + com.google.protobuf.GeneratedMessage + implements ContentOrBuilder { + // Use Content.newBuilder() to construct. + private Content(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private Content(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final Content defaultInstance; + public static Content getDefaultInstance() { + return defaultInstance; + } + + public Content getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Content( + 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 10: { + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + subBuilder = dataMessage_.toBuilder(); + } + dataMessage_ = input.readMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(dataMessage_); + dataMessage_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000001; + break; + } + case 18: { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) == 0x00000002)) { + subBuilder = syncMessage_.toBuilder(); + } + syncMessage_ = input.readMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(syncMessage_); + syncMessage_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000002; + 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.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_Content_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_Content_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.Content.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.Content.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public Content parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Content(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional .textsecure.DataMessage dataMessage = 1; + public static final int DATAMESSAGE_FIELD_NUMBER = 1; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage dataMessage_; + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + public boolean hasDataMessage() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage getDataMessage() { + return dataMessage_; + } + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder getDataMessageOrBuilder() { + return dataMessage_; + } + + // optional .textsecure.SyncMessage syncMessage = 2; + public static final int SYNCMESSAGE_FIELD_NUMBER = 2; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage syncMessage_; + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + public boolean hasSyncMessage() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage getSyncMessage() { + return syncMessage_; + } + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessageOrBuilder getSyncMessageOrBuilder() { + return syncMessage_; + } + + private void initFields() { + dataMessage_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDefaultInstance(); + syncMessage_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeMessage(1, dataMessage_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeMessage(2, syncMessage_); + } + 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 + .computeMessageSize(1, dataMessage_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, syncMessage_); + } + 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.whispersystems.textsecure.internal.push.TextSecureProtos.Content parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Content parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Content parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Content parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Content parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Content parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Content parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Content parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Content parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.Content 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.whispersystems.textsecure.internal.push.TextSecureProtos.Content 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 textsecure.Content} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.whispersystems.textsecure.internal.push.TextSecureProtos.ContentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_Content_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_Content_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.Content.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.Content.Builder.class); + } + + // Construct using org.whispersystems.textsecure.internal.push.TextSecureProtos.Content.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getDataMessageFieldBuilder(); + getSyncMessageFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + if (dataMessageBuilder_ == null) { + dataMessage_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDefaultInstance(); + } else { + dataMessageBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + if (syncMessageBuilder_ == null) { + syncMessage_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.getDefaultInstance(); + } else { + syncMessageBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_Content_descriptor; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.Content getDefaultInstanceForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.Content.getDefaultInstance(); + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.Content build() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.Content result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.Content buildPartial() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.Content result = new org.whispersystems.textsecure.internal.push.TextSecureProtos.Content(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + if (dataMessageBuilder_ == null) { + result.dataMessage_ = dataMessage_; + } else { + result.dataMessage_ = dataMessageBuilder_.build(); + } + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + if (syncMessageBuilder_ == null) { + result.syncMessage_ = syncMessage_; + } else { + result.syncMessage_ = syncMessageBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.whispersystems.textsecure.internal.push.TextSecureProtos.Content) { + return mergeFrom((org.whispersystems.textsecure.internal.push.TextSecureProtos.Content)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.whispersystems.textsecure.internal.push.TextSecureProtos.Content other) { + if (other == org.whispersystems.textsecure.internal.push.TextSecureProtos.Content.getDefaultInstance()) return this; + if (other.hasDataMessage()) { + mergeDataMessage(other.getDataMessage()); + } + if (other.hasSyncMessage()) { + mergeSyncMessage(other.getSyncMessage()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.whispersystems.textsecure.internal.push.TextSecureProtos.Content parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.whispersystems.textsecure.internal.push.TextSecureProtos.Content) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional .textsecure.DataMessage dataMessage = 1; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage dataMessage_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder> dataMessageBuilder_; + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + public boolean hasDataMessage() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage getDataMessage() { + if (dataMessageBuilder_ == null) { + return dataMessage_; + } else { + return dataMessageBuilder_.getMessage(); + } + } + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + public Builder setDataMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage value) { + if (dataMessageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + dataMessage_ = value; + onChanged(); + } else { + dataMessageBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + public Builder setDataMessage( + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder builderForValue) { + if (dataMessageBuilder_ == null) { + dataMessage_ = builderForValue.build(); + onChanged(); + } else { + dataMessageBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + public Builder mergeDataMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage value) { + if (dataMessageBuilder_ == null) { + if (((bitField0_ & 0x00000001) == 0x00000001) && + dataMessage_ != org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDefaultInstance()) { + dataMessage_ = + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.newBuilder(dataMessage_).mergeFrom(value).buildPartial(); + } else { + dataMessage_ = value; + } + onChanged(); + } else { + dataMessageBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + public Builder clearDataMessage() { + if (dataMessageBuilder_ == null) { + dataMessage_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDefaultInstance(); + onChanged(); + } else { + dataMessageBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder getDataMessageBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getDataMessageFieldBuilder().getBuilder(); + } + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder getDataMessageOrBuilder() { + if (dataMessageBuilder_ != null) { + return dataMessageBuilder_.getMessageOrBuilder(); + } else { + return dataMessage_; + } + } + /** + * optional .textsecure.DataMessage dataMessage = 1; + */ + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder> + getDataMessageFieldBuilder() { + if (dataMessageBuilder_ == null) { + dataMessageBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder>( + dataMessage_, + getParentForChildren(), + isClean()); + dataMessage_ = null; + } + return dataMessageBuilder_; + } + + // optional .textsecure.SyncMessage syncMessage = 2; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage syncMessage_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessageOrBuilder> syncMessageBuilder_; + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + public boolean hasSyncMessage() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage getSyncMessage() { + if (syncMessageBuilder_ == null) { + return syncMessage_; + } else { + return syncMessageBuilder_.getMessage(); + } + } + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + public Builder setSyncMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage value) { + if (syncMessageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + syncMessage_ = value; + onChanged(); + } else { + syncMessageBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + public Builder setSyncMessage( + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Builder builderForValue) { + if (syncMessageBuilder_ == null) { + syncMessage_ = builderForValue.build(); + onChanged(); + } else { + syncMessageBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + public Builder mergeSyncMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage value) { + if (syncMessageBuilder_ == null) { + if (((bitField0_ & 0x00000002) == 0x00000002) && + syncMessage_ != org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.getDefaultInstance()) { + syncMessage_ = + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.newBuilder(syncMessage_).mergeFrom(value).buildPartial(); + } else { + syncMessage_ = value; + } + onChanged(); + } else { + syncMessageBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + public Builder clearSyncMessage() { + if (syncMessageBuilder_ == null) { + syncMessage_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.getDefaultInstance(); + onChanged(); + } else { + syncMessageBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Builder getSyncMessageBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getSyncMessageFieldBuilder().getBuilder(); + } + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessageOrBuilder getSyncMessageOrBuilder() { + if (syncMessageBuilder_ != null) { + return syncMessageBuilder_.getMessageOrBuilder(); + } else { + return syncMessage_; + } + } + /** + * optional .textsecure.SyncMessage syncMessage = 2; + */ + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessageOrBuilder> + getSyncMessageFieldBuilder() { + if (syncMessageBuilder_ == null) { + syncMessageBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessageOrBuilder>( + syncMessage_, + getParentForChildren(), + isClean()); + syncMessage_ = null; + } + return syncMessageBuilder_; + } + + // @@protoc_insertion_point(builder_scope:textsecure.Content) + } + + static { + defaultInstance = new Content(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:textsecure.Content) + } + + public interface DataMessageOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional string body = 1; + /** + * optional string body = 1; + */ + boolean hasBody(); + /** + * optional string body = 1; + */ + java.lang.String getBody(); + /** + * optional string body = 1; + */ + com.google.protobuf.ByteString + getBodyBytes(); + + // repeated .textsecure.AttachmentPointer attachments = 2; + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + java.util.List + getAttachmentsList(); + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer getAttachments(int index); + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + int getAttachmentsCount(); + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + java.util.List + getAttachmentsOrBuilderList(); + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder getAttachmentsOrBuilder( + int index); + + // optional .textsecure.GroupContext group = 3; + /** + * optional .textsecure.GroupContext group = 3; + */ + boolean hasGroup(); + /** + * optional .textsecure.GroupContext group = 3; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext getGroup(); + /** + * optional .textsecure.GroupContext group = 3; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder getGroupOrBuilder(); + + // optional uint32 flags = 4; + /** + * optional uint32 flags = 4; + */ + boolean hasFlags(); + /** + * optional uint32 flags = 4; + */ + int getFlags(); + } + /** + * Protobuf type {@code textsecure.DataMessage} + */ + public static final class DataMessage extends + com.google.protobuf.GeneratedMessage + implements DataMessageOrBuilder { + // Use DataMessage.newBuilder() to construct. + private DataMessage(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private DataMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final DataMessage defaultInstance; + public static DataMessage getDefaultInstance() { + return defaultInstance; + } + + public DataMessage getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private DataMessage( + 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 10: { + bitField0_ |= 0x00000001; + body_ = input.readBytes(); + break; + } + case 18: { + if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + attachments_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + attachments_.add(input.readMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.PARSER, extensionRegistry)); + break; + } + case 26: { + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) == 0x00000002)) { + subBuilder = group_.toBuilder(); + } + group_ = input.readMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(group_); + group_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000002; + break; + } + case 32: { + bitField0_ |= 0x00000004; + flags_ = input.readUInt32(); + 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 { + if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + attachments_ = java.util.Collections.unmodifiableList(attachments_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_DataMessage_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_DataMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public DataMessage parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new DataMessage(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + /** + * Protobuf enum {@code textsecure.DataMessage.Flags} + */ + public enum Flags + implements com.google.protobuf.ProtocolMessageEnum { + /** + * END_SESSION = 1; + */ + END_SESSION(0, 1), + ; + + /** + * END_SESSION = 1; + */ + public static final int END_SESSION_VALUE = 1; + + + public final int getNumber() { return value; } + + public static Flags valueOf(int value) { + switch (value) { + case 1: return END_SESSION; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Flags findValueByNumber(int number) { + return Flags.valueOf(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDescriptor().getEnumTypes().get(0); + } + + private static final Flags[] VALUES = values(); + + public static Flags valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + + private final int index; + private final int value; + + private Flags(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:textsecure.DataMessage.Flags) + } + + private int bitField0_; + // optional string body = 1; + public static final int BODY_FIELD_NUMBER = 1; + private java.lang.Object body_; + /** + * optional string body = 1; + */ + public boolean hasBody() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional string body = 1; + */ + public java.lang.String getBody() { + java.lang.Object ref = body_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + body_ = s; + } + return s; + } + } + /** + * optional string body = 1; + */ + public com.google.protobuf.ByteString + getBodyBytes() { + java.lang.Object ref = body_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + body_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // repeated .textsecure.AttachmentPointer attachments = 2; + public static final int ATTACHMENTS_FIELD_NUMBER = 2; + private java.util.List attachments_; + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public java.util.List getAttachmentsList() { + return attachments_; + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public java.util.List + getAttachmentsOrBuilderList() { + return attachments_; + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public int getAttachmentsCount() { + return attachments_.size(); + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer getAttachments(int index) { + return attachments_.get(index); + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder getAttachmentsOrBuilder( + int index) { + return attachments_.get(index); + } + + // optional .textsecure.GroupContext group = 3; + public static final int GROUP_FIELD_NUMBER = 3; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext group_; + /** + * optional .textsecure.GroupContext group = 3; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional .textsecure.GroupContext group = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext getGroup() { + return group_; + } + /** + * optional .textsecure.GroupContext group = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder getGroupOrBuilder() { + return group_; + } + + // optional uint32 flags = 4; + public static final int FLAGS_FIELD_NUMBER = 4; + private int flags_; + /** + * optional uint32 flags = 4; + */ + public boolean hasFlags() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional uint32 flags = 4; + */ + public int getFlags() { + return flags_; + } + + private void initFields() { + body_ = ""; + attachments_ = java.util.Collections.emptyList(); + group_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDefaultInstance(); + flags_ = 0; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getBodyBytes()); + } + for (int i = 0; i < attachments_.size(); i++) { + output.writeMessage(2, attachments_.get(i)); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeMessage(3, group_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeUInt32(4, flags_); + } + 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 + .computeBytesSize(1, getBodyBytes()); + } + for (int i = 0; i < attachments_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, attachments_.get(i)); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, group_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, flags_); + } + 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.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage 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.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage 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 textsecure.DataMessage} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_DataMessage_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_DataMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder.class); + } + + // Construct using org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getAttachmentsFieldBuilder(); + getGroupFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + body_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + if (attachmentsBuilder_ == null) { + attachments_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + attachmentsBuilder_.clear(); + } + if (groupBuilder_ == null) { + group_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDefaultInstance(); + } else { + groupBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + flags_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_DataMessage_descriptor; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage getDefaultInstanceForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDefaultInstance(); + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage build() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage buildPartial() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage result = new org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.body_ = body_; + if (attachmentsBuilder_ == null) { + if (((bitField0_ & 0x00000002) == 0x00000002)) { + attachments_ = java.util.Collections.unmodifiableList(attachments_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.attachments_ = attachments_; + } else { + result.attachments_ = attachmentsBuilder_.build(); + } + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000002; + } + if (groupBuilder_ == null) { + result.group_ = group_; + } else { + result.group_ = groupBuilder_.build(); + } + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000004; + } + result.flags_ = flags_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage) { + return mergeFrom((org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage other) { + if (other == org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDefaultInstance()) return this; + if (other.hasBody()) { + bitField0_ |= 0x00000001; + body_ = other.body_; + onChanged(); + } + if (attachmentsBuilder_ == null) { + if (!other.attachments_.isEmpty()) { + if (attachments_.isEmpty()) { + attachments_ = other.attachments_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureAttachmentsIsMutable(); + attachments_.addAll(other.attachments_); + } + onChanged(); + } + } else { + if (!other.attachments_.isEmpty()) { + if (attachmentsBuilder_.isEmpty()) { + attachmentsBuilder_.dispose(); + attachmentsBuilder_ = null; + attachments_ = other.attachments_; + bitField0_ = (bitField0_ & ~0x00000002); + attachmentsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + getAttachmentsFieldBuilder() : null; + } else { + attachmentsBuilder_.addAllMessages(other.attachments_); + } + } + } + if (other.hasGroup()) { + mergeGroup(other.getGroup()); + } + if (other.hasFlags()) { + setFlags(other.getFlags()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional string body = 1; + private java.lang.Object body_ = ""; + /** + * optional string body = 1; + */ + public boolean hasBody() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional string body = 1; + */ + public java.lang.String getBody() { + java.lang.Object ref = body_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + body_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string body = 1; + */ + public com.google.protobuf.ByteString + getBodyBytes() { + java.lang.Object ref = body_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + body_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string body = 1; + */ + public Builder setBody( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + body_ = value; + onChanged(); + return this; + } + /** + * optional string body = 1; + */ + public Builder clearBody() { + bitField0_ = (bitField0_ & ~0x00000001); + body_ = getDefaultInstance().getBody(); + onChanged(); + return this; + } + /** + * optional string body = 1; + */ + public Builder setBodyBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + body_ = value; + onChanged(); + return this; + } + + // repeated .textsecure.AttachmentPointer attachments = 2; + private java.util.List attachments_ = + java.util.Collections.emptyList(); + private void ensureAttachmentsIsMutable() { + if (!((bitField0_ & 0x00000002) == 0x00000002)) { + attachments_ = new java.util.ArrayList(attachments_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder> attachmentsBuilder_; + + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public java.util.List getAttachmentsList() { + if (attachmentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(attachments_); + } else { + return attachmentsBuilder_.getMessageList(); + } + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public int getAttachmentsCount() { + if (attachmentsBuilder_ == null) { + return attachments_.size(); + } else { + return attachmentsBuilder_.getCount(); + } + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer getAttachments(int index) { + if (attachmentsBuilder_ == null) { + return attachments_.get(index); + } else { + return attachmentsBuilder_.getMessage(index); + } + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public Builder setAttachments( + int index, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer value) { + if (attachmentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAttachmentsIsMutable(); + attachments_.set(index, value); + onChanged(); + } else { + attachmentsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public Builder setAttachments( + int index, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder builderForValue) { + if (attachmentsBuilder_ == null) { + ensureAttachmentsIsMutable(); + attachments_.set(index, builderForValue.build()); + onChanged(); + } else { + attachmentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public Builder addAttachments(org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer value) { + if (attachmentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAttachmentsIsMutable(); + attachments_.add(value); + onChanged(); + } else { + attachmentsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public Builder addAttachments( + int index, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer value) { + if (attachmentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAttachmentsIsMutable(); + attachments_.add(index, value); + onChanged(); + } else { + attachmentsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public Builder addAttachments( + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder builderForValue) { + if (attachmentsBuilder_ == null) { + ensureAttachmentsIsMutable(); + attachments_.add(builderForValue.build()); + onChanged(); + } else { + attachmentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public Builder addAttachments( + int index, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder builderForValue) { + if (attachmentsBuilder_ == null) { + ensureAttachmentsIsMutable(); + attachments_.add(index, builderForValue.build()); + onChanged(); + } else { + attachmentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public Builder addAllAttachments( + java.lang.Iterable values) { + if (attachmentsBuilder_ == null) { + ensureAttachmentsIsMutable(); + super.addAll(values, attachments_); + onChanged(); + } else { + attachmentsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public Builder clearAttachments() { + if (attachmentsBuilder_ == null) { + attachments_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + attachmentsBuilder_.clear(); + } + return this; + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public Builder removeAttachments(int index) { + if (attachmentsBuilder_ == null) { + ensureAttachmentsIsMutable(); + attachments_.remove(index); + onChanged(); + } else { + attachmentsBuilder_.remove(index); + } + return this; + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder getAttachmentsBuilder( + int index) { + return getAttachmentsFieldBuilder().getBuilder(index); + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder getAttachmentsOrBuilder( + int index) { + if (attachmentsBuilder_ == null) { + return attachments_.get(index); } else { + return attachmentsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public java.util.List + getAttachmentsOrBuilderList() { + if (attachmentsBuilder_ != null) { + return attachmentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(attachments_); + } + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder addAttachmentsBuilder() { + return getAttachmentsFieldBuilder().addBuilder( + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance()); + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder addAttachmentsBuilder( + int index) { + return getAttachmentsFieldBuilder().addBuilder( + index, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance()); + } + /** + * repeated .textsecure.AttachmentPointer attachments = 2; + */ + public java.util.List + getAttachmentsBuilderList() { + return getAttachmentsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder> + getAttachmentsFieldBuilder() { + if (attachmentsBuilder_ == null) { + attachmentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder>( + attachments_, + ((bitField0_ & 0x00000002) == 0x00000002), + getParentForChildren(), + isClean()); + attachments_ = null; + } + return attachmentsBuilder_; + } + + // optional .textsecure.GroupContext group = 3; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext group_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder> groupBuilder_; + /** + * optional .textsecure.GroupContext group = 3; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .textsecure.GroupContext group = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext getGroup() { + if (groupBuilder_ == null) { + return group_; + } else { + return groupBuilder_.getMessage(); + } + } + /** + * optional .textsecure.GroupContext group = 3; + */ + public Builder setGroup(org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext value) { + if (groupBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + group_ = value; + onChanged(); + } else { + groupBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .textsecure.GroupContext group = 3; + */ + public Builder setGroup( + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder builderForValue) { + if (groupBuilder_ == null) { + group_ = builderForValue.build(); + onChanged(); + } else { + groupBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .textsecure.GroupContext group = 3; + */ + public Builder mergeGroup(org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext value) { + if (groupBuilder_ == null) { + if (((bitField0_ & 0x00000004) == 0x00000004) && + group_ != org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDefaultInstance()) { + group_ = + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.newBuilder(group_).mergeFrom(value).buildPartial(); + } else { + group_ = value; + } + onChanged(); + } else { + groupBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .textsecure.GroupContext group = 3; + */ + public Builder clearGroup() { + if (groupBuilder_ == null) { + group_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDefaultInstance(); + onChanged(); + } else { + groupBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + /** + * optional .textsecure.GroupContext group = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder getGroupBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getGroupFieldBuilder().getBuilder(); + } + /** + * optional .textsecure.GroupContext group = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder getGroupOrBuilder() { + if (groupBuilder_ != null) { + return groupBuilder_.getMessageOrBuilder(); + } else { + return group_; + } + } + /** + * optional .textsecure.GroupContext group = 3; + */ + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder> + getGroupFieldBuilder() { + if (groupBuilder_ == null) { + groupBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder>( + group_, + getParentForChildren(), + isClean()); + group_ = null; + } + return groupBuilder_; + } + + // optional uint32 flags = 4; + private int flags_ ; + /** + * optional uint32 flags = 4; + */ + public boolean hasFlags() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional uint32 flags = 4; + */ + public int getFlags() { + return flags_; + } + /** + * optional uint32 flags = 4; + */ + public Builder setFlags(int value) { + bitField0_ |= 0x00000008; + flags_ = value; + onChanged(); + return this; + } + /** + * optional uint32 flags = 4; + */ + public Builder clearFlags() { + bitField0_ = (bitField0_ & ~0x00000008); + flags_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:textsecure.DataMessage) + } + + static { + defaultInstance = new DataMessage(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:textsecure.DataMessage) + } + + public interface SyncMessageOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional .textsecure.SyncMessage.Sent sent = 1; + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + boolean hasSent(); + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent getSent(); + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.SentOrBuilder getSentOrBuilder(); + + // optional .textsecure.SyncMessage.Contacts contacts = 2; + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + boolean hasContacts(); + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts getContacts(); + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.ContactsOrBuilder getContactsOrBuilder(); + + // optional .textsecure.SyncMessage.Group group = 3; + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + boolean hasGroup(); + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group getGroup(); + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.GroupOrBuilder getGroupOrBuilder(); + } + /** + * Protobuf type {@code textsecure.SyncMessage} + */ + public static final class SyncMessage extends + com.google.protobuf.GeneratedMessage + implements SyncMessageOrBuilder { + // Use SyncMessage.newBuilder() to construct. + private SyncMessage(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private SyncMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final SyncMessage defaultInstance; + public static SyncMessage getDefaultInstance() { + return defaultInstance; + } + + public SyncMessage getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private SyncMessage( + 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 10: { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + subBuilder = sent_.toBuilder(); + } + sent_ = input.readMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(sent_); + sent_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000001; + break; + } + case 18: { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) == 0x00000002)) { + subBuilder = contacts_.toBuilder(); + } + contacts_ = input.readMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(contacts_); + contacts_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000002; + break; + } + case 26: { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) == 0x00000004)) { + subBuilder = group_.toBuilder(); + } + group_ = input.readMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(group_); + group_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + 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.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public SyncMessage parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SyncMessage(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + public interface SentOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional string destination = 1; + /** + * optional string destination = 1; + */ + boolean hasDestination(); + /** + * optional string destination = 1; + */ + java.lang.String getDestination(); + /** + * optional string destination = 1; + */ + com.google.protobuf.ByteString + getDestinationBytes(); + + // optional uint64 timestamp = 2; + /** + * optional uint64 timestamp = 2; + */ + boolean hasTimestamp(); + /** + * optional uint64 timestamp = 2; + */ + long getTimestamp(); + + // optional .textsecure.DataMessage message = 3; + /** + * optional .textsecure.DataMessage message = 3; + */ + boolean hasMessage(); + /** + * optional .textsecure.DataMessage message = 3; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage getMessage(); + /** + * optional .textsecure.DataMessage message = 3; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder getMessageOrBuilder(); + } + /** + * Protobuf type {@code textsecure.SyncMessage.Sent} + */ + public static final class Sent extends + com.google.protobuf.GeneratedMessage + implements SentOrBuilder { + // Use Sent.newBuilder() to construct. + private Sent(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private Sent(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final Sent defaultInstance; + public static Sent getDefaultInstance() { + return defaultInstance; + } + + public Sent getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Sent( + 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 10: { + bitField0_ |= 0x00000001; + destination_ = input.readBytes(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + timestamp_ = input.readUInt64(); + break; + } + case 26: { + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) == 0x00000004)) { + subBuilder = message_.toBuilder(); + } + message_ = input.readMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(message_); + message_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + 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.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Sent_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Sent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public Sent parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Sent(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional string destination = 1; + public static final int DESTINATION_FIELD_NUMBER = 1; + private java.lang.Object destination_; + /** + * optional string destination = 1; + */ + public boolean hasDestination() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional string destination = 1; + */ + public java.lang.String getDestination() { + java.lang.Object ref = destination_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + destination_ = s; + } + return s; + } + } + /** + * optional string destination = 1; + */ + public com.google.protobuf.ByteString + getDestinationBytes() { + java.lang.Object ref = destination_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + destination_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // optional uint64 timestamp = 2; + public static final int TIMESTAMP_FIELD_NUMBER = 2; + private long timestamp_; + /** + * optional uint64 timestamp = 2; + */ + public boolean hasTimestamp() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional uint64 timestamp = 2; + */ + public long getTimestamp() { + return timestamp_; + } + + // optional .textsecure.DataMessage message = 3; + public static final int MESSAGE_FIELD_NUMBER = 3; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage message_; + /** + * optional .textsecure.DataMessage message = 3; + */ + public boolean hasMessage() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .textsecure.DataMessage message = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage getMessage() { + return message_; + } + /** + * optional .textsecure.DataMessage message = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder getMessageOrBuilder() { + return message_; + } + + private void initFields() { + destination_ = ""; + timestamp_ = 0L; + message_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getDestinationBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeUInt64(2, timestamp_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeMessage(3, message_); + } + 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 + .computeBytesSize(1, getDestinationBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt64Size(2, timestamp_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, message_); + } + 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.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent 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.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent 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 textsecure.SyncMessage.Sent} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.SentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Sent_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Sent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.Builder.class); + } + + // Construct using org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getMessageFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + destination_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + timestamp_ = 0L; + bitField0_ = (bitField0_ & ~0x00000002); + if (messageBuilder_ == null) { + message_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDefaultInstance(); + } else { + messageBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Sent_descriptor; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent getDefaultInstanceForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.getDefaultInstance(); + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent build() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent buildPartial() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent result = new org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.destination_ = destination_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.timestamp_ = timestamp_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + if (messageBuilder_ == null) { + result.message_ = message_; + } else { + result.message_ = messageBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent) { + return mergeFrom((org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent other) { + if (other == org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.getDefaultInstance()) return this; + if (other.hasDestination()) { + bitField0_ |= 0x00000001; + destination_ = other.destination_; + onChanged(); + } + if (other.hasTimestamp()) { + setTimestamp(other.getTimestamp()); + } + if (other.hasMessage()) { + mergeMessage(other.getMessage()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional string destination = 1; + private java.lang.Object destination_ = ""; + /** + * optional string destination = 1; + */ + public boolean hasDestination() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional string destination = 1; + */ + public java.lang.String getDestination() { + java.lang.Object ref = destination_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + destination_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string destination = 1; + */ + public com.google.protobuf.ByteString + getDestinationBytes() { + java.lang.Object ref = destination_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + destination_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string destination = 1; + */ + public Builder setDestination( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + destination_ = value; + onChanged(); + return this; + } + /** + * optional string destination = 1; + */ + public Builder clearDestination() { + bitField0_ = (bitField0_ & ~0x00000001); + destination_ = getDefaultInstance().getDestination(); + onChanged(); + return this; + } + /** + * optional string destination = 1; + */ + public Builder setDestinationBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + destination_ = value; + onChanged(); + return this; + } + + // optional uint64 timestamp = 2; + private long timestamp_ ; + /** + * optional uint64 timestamp = 2; + */ + public boolean hasTimestamp() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional uint64 timestamp = 2; + */ + public long getTimestamp() { + return timestamp_; + } + /** + * optional uint64 timestamp = 2; + */ + public Builder setTimestamp(long value) { + bitField0_ |= 0x00000002; + timestamp_ = value; + onChanged(); + return this; + } + /** + * optional uint64 timestamp = 2; + */ + public Builder clearTimestamp() { + bitField0_ = (bitField0_ & ~0x00000002); + timestamp_ = 0L; + onChanged(); + return this; + } + + // optional .textsecure.DataMessage message = 3; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage message_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder> messageBuilder_; + /** + * optional .textsecure.DataMessage message = 3; + */ + public boolean hasMessage() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .textsecure.DataMessage message = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage getMessage() { + if (messageBuilder_ == null) { + return message_; + } else { + return messageBuilder_.getMessage(); + } + } + /** + * optional .textsecure.DataMessage message = 3; + */ + public Builder setMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage value) { + if (messageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + message_ = value; + onChanged(); + } else { + messageBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .textsecure.DataMessage message = 3; + */ + public Builder setMessage( + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder builderForValue) { + if (messageBuilder_ == null) { + message_ = builderForValue.build(); + onChanged(); + } else { + messageBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .textsecure.DataMessage message = 3; + */ + public Builder mergeMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage value) { + if (messageBuilder_ == null) { + if (((bitField0_ & 0x00000004) == 0x00000004) && + message_ != org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDefaultInstance()) { + message_ = + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.newBuilder(message_).mergeFrom(value).buildPartial(); + } else { + message_ = value; + } + onChanged(); + } else { + messageBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .textsecure.DataMessage message = 3; + */ + public Builder clearMessage() { + if (messageBuilder_ == null) { + message_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.getDefaultInstance(); + onChanged(); + } else { + messageBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + /** + * optional .textsecure.DataMessage message = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder getMessageBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getMessageFieldBuilder().getBuilder(); + } + /** + * optional .textsecure.DataMessage message = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder getMessageOrBuilder() { + if (messageBuilder_ != null) { + return messageBuilder_.getMessageOrBuilder(); + } else { + return message_; + } + } + /** + * optional .textsecure.DataMessage message = 3; + */ + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder> + getMessageFieldBuilder() { + if (messageBuilder_ == null) { + messageBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessage.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.DataMessageOrBuilder>( + message_, + getParentForChildren(), + isClean()); + message_ = null; + } + return messageBuilder_; + } + + // @@protoc_insertion_point(builder_scope:textsecure.SyncMessage.Sent) + } + + static { + defaultInstance = new Sent(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:textsecure.SyncMessage.Sent) + } + + public interface ContactsOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional .textsecure.AttachmentPointer blob = 1; + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + boolean hasBlob(); + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer getBlob(); + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder getBlobOrBuilder(); + } + /** + * Protobuf type {@code textsecure.SyncMessage.Contacts} + */ + public static final class Contacts extends + com.google.protobuf.GeneratedMessage + implements ContactsOrBuilder { + // Use Contacts.newBuilder() to construct. + private Contacts(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private Contacts(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final Contacts defaultInstance; + public static Contacts getDefaultInstance() { + return defaultInstance; + } + + public Contacts getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Contacts( + 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 10: { + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + subBuilder = blob_.toBuilder(); + } + blob_ = input.readMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(blob_); + blob_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000001; + 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.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Contacts_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Contacts_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public Contacts parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Contacts(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional .textsecure.AttachmentPointer blob = 1; + public static final int BLOB_FIELD_NUMBER = 1; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer blob_; + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + public boolean hasBlob() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer getBlob() { + return blob_; + } + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder getBlobOrBuilder() { + return blob_; + } + + private void initFields() { + blob_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeMessage(1, blob_); + } + 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 + .computeMessageSize(1, blob_); + } + 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.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts 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.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts 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 textsecure.SyncMessage.Contacts} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.ContactsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Contacts_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Contacts_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.Builder.class); + } + + // Construct using org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getBlobFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + if (blobBuilder_ == null) { + blob_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance(); + } else { + blobBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Contacts_descriptor; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts getDefaultInstanceForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.getDefaultInstance(); + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts build() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts buildPartial() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts result = new org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + if (blobBuilder_ == null) { + result.blob_ = blob_; + } else { + result.blob_ = blobBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts) { + return mergeFrom((org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts other) { + if (other == org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.getDefaultInstance()) return this; + if (other.hasBlob()) { + mergeBlob(other.getBlob()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional .textsecure.AttachmentPointer blob = 1; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer blob_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder> blobBuilder_; + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + public boolean hasBlob() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer getBlob() { + if (blobBuilder_ == null) { + return blob_; + } else { + return blobBuilder_.getMessage(); + } + } + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + public Builder setBlob(org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer value) { + if (blobBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + blob_ = value; + onChanged(); + } else { + blobBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + public Builder setBlob( + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder builderForValue) { + if (blobBuilder_ == null) { + blob_ = builderForValue.build(); + onChanged(); + } else { + blobBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + public Builder mergeBlob(org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer value) { + if (blobBuilder_ == null) { + if (((bitField0_ & 0x00000001) == 0x00000001) && + blob_ != org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance()) { + blob_ = + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.newBuilder(blob_).mergeFrom(value).buildPartial(); + } else { + blob_ = value; + } + onChanged(); + } else { + blobBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + public Builder clearBlob() { + if (blobBuilder_ == null) { + blob_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance(); + onChanged(); + } else { + blobBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder getBlobBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getBlobFieldBuilder().getBuilder(); + } + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder getBlobOrBuilder() { + if (blobBuilder_ != null) { + return blobBuilder_.getMessageOrBuilder(); + } else { + return blob_; + } + } + /** + * optional .textsecure.AttachmentPointer blob = 1; + */ + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder> + getBlobFieldBuilder() { + if (blobBuilder_ == null) { + blobBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder>( + blob_, + getParentForChildren(), + isClean()); + blob_ = null; + } + return blobBuilder_; + } + + // @@protoc_insertion_point(builder_scope:textsecure.SyncMessage.Contacts) + } + + static { + defaultInstance = new Contacts(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:textsecure.SyncMessage.Contacts) + } + + public interface GroupOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional .textsecure.GroupContext group = 1; + /** + * optional .textsecure.GroupContext group = 1; + */ + boolean hasGroup(); + /** + * optional .textsecure.GroupContext group = 1; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext getGroup(); + /** + * optional .textsecure.GroupContext group = 1; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder getGroupOrBuilder(); + } + /** + * Protobuf type {@code textsecure.SyncMessage.Group} + */ + public static final class Group extends + com.google.protobuf.GeneratedMessage + implements GroupOrBuilder { + // Use Group.newBuilder() to construct. + private Group(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private Group(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final Group defaultInstance; + public static Group getDefaultInstance() { + return defaultInstance; + } + + public Group getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Group( + 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 10: { + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + subBuilder = group_.toBuilder(); + } + group_ = input.readMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(group_); + group_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000001; + 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.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Group_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Group_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public Group parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Group(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional .textsecure.GroupContext group = 1; + public static final int GROUP_FIELD_NUMBER = 1; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext group_; + /** + * optional .textsecure.GroupContext group = 1; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .textsecure.GroupContext group = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext getGroup() { + return group_; + } + /** + * optional .textsecure.GroupContext group = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder getGroupOrBuilder() { + return group_; + } + + private void initFields() { + group_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeMessage(1, group_); + } + 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 + .computeMessageSize(1, group_); + } + 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.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group 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.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group 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 textsecure.SyncMessage.Group} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.GroupOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Group_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Group_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.Builder.class); + } + + // Construct using org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getGroupFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + if (groupBuilder_ == null) { + group_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDefaultInstance(); + } else { + groupBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_Group_descriptor; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group getDefaultInstanceForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.getDefaultInstance(); + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group build() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group buildPartial() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group result = new org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + if (groupBuilder_ == null) { + result.group_ = group_; + } else { + result.group_ = groupBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group) { + return mergeFrom((org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group other) { + if (other == org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.getDefaultInstance()) return this; + if (other.hasGroup()) { + mergeGroup(other.getGroup()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional .textsecure.GroupContext group = 1; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext group_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder> groupBuilder_; + /** + * optional .textsecure.GroupContext group = 1; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .textsecure.GroupContext group = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext getGroup() { + if (groupBuilder_ == null) { + return group_; + } else { + return groupBuilder_.getMessage(); + } + } + /** + * optional .textsecure.GroupContext group = 1; + */ + public Builder setGroup(org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext value) { + if (groupBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + group_ = value; + onChanged(); + } else { + groupBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .textsecure.GroupContext group = 1; + */ + public Builder setGroup( + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder builderForValue) { + if (groupBuilder_ == null) { + group_ = builderForValue.build(); + onChanged(); + } else { + groupBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .textsecure.GroupContext group = 1; + */ + public Builder mergeGroup(org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext value) { + if (groupBuilder_ == null) { + if (((bitField0_ & 0x00000001) == 0x00000001) && + group_ != org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDefaultInstance()) { + group_ = + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.newBuilder(group_).mergeFrom(value).buildPartial(); + } else { + group_ = value; + } + onChanged(); + } else { + groupBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .textsecure.GroupContext group = 1; + */ + public Builder clearGroup() { + if (groupBuilder_ == null) { + group_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDefaultInstance(); + onChanged(); + } else { + groupBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + /** + * optional .textsecure.GroupContext group = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder getGroupBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getGroupFieldBuilder().getBuilder(); + } + /** + * optional .textsecure.GroupContext group = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder getGroupOrBuilder() { + if (groupBuilder_ != null) { + return groupBuilder_.getMessageOrBuilder(); + } else { + return group_; + } + } + /** + * optional .textsecure.GroupContext group = 1; + */ + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder> + getGroupFieldBuilder() { + if (groupBuilder_ == null) { + groupBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder>( + group_, + getParentForChildren(), + isClean()); + group_ = null; + } + return groupBuilder_; + } + + // @@protoc_insertion_point(builder_scope:textsecure.SyncMessage.Group) + } + + static { + defaultInstance = new Group(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:textsecure.SyncMessage.Group) + } + + private int bitField0_; + // optional .textsecure.SyncMessage.Sent sent = 1; + public static final int SENT_FIELD_NUMBER = 1; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent sent_; + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + public boolean hasSent() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent getSent() { + return sent_; + } + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.SentOrBuilder getSentOrBuilder() { + return sent_; + } + + // optional .textsecure.SyncMessage.Contacts contacts = 2; + public static final int CONTACTS_FIELD_NUMBER = 2; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts contacts_; + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + public boolean hasContacts() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts getContacts() { + return contacts_; + } + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.ContactsOrBuilder getContactsOrBuilder() { + return contacts_; + } + + // optional .textsecure.SyncMessage.Group group = 3; + public static final int GROUP_FIELD_NUMBER = 3; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group group_; + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group getGroup() { + return group_; + } + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.GroupOrBuilder getGroupOrBuilder() { + return group_; + } + + private void initFields() { + sent_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.getDefaultInstance(); + contacts_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.getDefaultInstance(); + group_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeMessage(1, sent_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeMessage(2, contacts_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeMessage(3, group_); + } + 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 + .computeMessageSize(1, sent_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, contacts_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, group_); + } + 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.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage 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.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage 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 textsecure.SyncMessage} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Builder.class); + } + + // Construct using org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getSentFieldBuilder(); + getContactsFieldBuilder(); + getGroupFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + if (sentBuilder_ == null) { + sent_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.getDefaultInstance(); + } else { + sentBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + if (contactsBuilder_ == null) { + contacts_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.getDefaultInstance(); + } else { + contactsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + if (groupBuilder_ == null) { + group_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.getDefaultInstance(); + } else { + groupBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_SyncMessage_descriptor; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage getDefaultInstanceForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.getDefaultInstance(); + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage build() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage buildPartial() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage result = new org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + if (sentBuilder_ == null) { + result.sent_ = sent_; + } else { + result.sent_ = sentBuilder_.build(); + } + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + if (contactsBuilder_ == null) { + result.contacts_ = contacts_; + } else { + result.contacts_ = contactsBuilder_.build(); + } + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + if (groupBuilder_ == null) { + result.group_ = group_; + } else { + result.group_ = groupBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage) { + return mergeFrom((org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage other) { + if (other == org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.getDefaultInstance()) return this; + if (other.hasSent()) { + mergeSent(other.getSent()); + } + if (other.hasContacts()) { + mergeContacts(other.getContacts()); + } + if (other.hasGroup()) { + mergeGroup(other.getGroup()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional .textsecure.SyncMessage.Sent sent = 1; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent sent_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.SentOrBuilder> sentBuilder_; + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + public boolean hasSent() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent getSent() { + if (sentBuilder_ == null) { + return sent_; + } else { + return sentBuilder_.getMessage(); + } + } + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + public Builder setSent(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent value) { + if (sentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + sent_ = value; + onChanged(); + } else { + sentBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + public Builder setSent( + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.Builder builderForValue) { + if (sentBuilder_ == null) { + sent_ = builderForValue.build(); + onChanged(); + } else { + sentBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + public Builder mergeSent(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent value) { + if (sentBuilder_ == null) { + if (((bitField0_ & 0x00000001) == 0x00000001) && + sent_ != org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.getDefaultInstance()) { + sent_ = + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.newBuilder(sent_).mergeFrom(value).buildPartial(); + } else { + sent_ = value; + } + onChanged(); + } else { + sentBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + public Builder clearSent() { + if (sentBuilder_ == null) { + sent_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.getDefaultInstance(); + onChanged(); + } else { + sentBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.Builder getSentBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getSentFieldBuilder().getBuilder(); + } + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.SentOrBuilder getSentOrBuilder() { + if (sentBuilder_ != null) { + return sentBuilder_.getMessageOrBuilder(); + } else { + return sent_; + } + } + /** + * optional .textsecure.SyncMessage.Sent sent = 1; + */ + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.SentOrBuilder> + getSentFieldBuilder() { + if (sentBuilder_ == null) { + sentBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Sent.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.SentOrBuilder>( + sent_, + getParentForChildren(), + isClean()); + sent_ = null; + } + return sentBuilder_; + } + + // optional .textsecure.SyncMessage.Contacts contacts = 2; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts contacts_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.ContactsOrBuilder> contactsBuilder_; + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + public boolean hasContacts() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts getContacts() { + if (contactsBuilder_ == null) { + return contacts_; + } else { + return contactsBuilder_.getMessage(); + } + } + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + public Builder setContacts(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts value) { + if (contactsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + contacts_ = value; + onChanged(); + } else { + contactsBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + public Builder setContacts( + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.Builder builderForValue) { + if (contactsBuilder_ == null) { + contacts_ = builderForValue.build(); + onChanged(); + } else { + contactsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + public Builder mergeContacts(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts value) { + if (contactsBuilder_ == null) { + if (((bitField0_ & 0x00000002) == 0x00000002) && + contacts_ != org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.getDefaultInstance()) { + contacts_ = + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.newBuilder(contacts_).mergeFrom(value).buildPartial(); + } else { + contacts_ = value; + } + onChanged(); + } else { + contactsBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + public Builder clearContacts() { + if (contactsBuilder_ == null) { + contacts_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.getDefaultInstance(); + onChanged(); + } else { + contactsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.Builder getContactsBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getContactsFieldBuilder().getBuilder(); + } + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.ContactsOrBuilder getContactsOrBuilder() { + if (contactsBuilder_ != null) { + return contactsBuilder_.getMessageOrBuilder(); + } else { + return contacts_; + } + } + /** + * optional .textsecure.SyncMessage.Contacts contacts = 2; + */ + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.ContactsOrBuilder> + getContactsFieldBuilder() { + if (contactsBuilder_ == null) { + contactsBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Contacts.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.ContactsOrBuilder>( + contacts_, + getParentForChildren(), + isClean()); + contacts_ = null; + } + return contactsBuilder_; + } + + // optional .textsecure.SyncMessage.Group group = 3; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group group_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.GroupOrBuilder> groupBuilder_; + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + public boolean hasGroup() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group getGroup() { + if (groupBuilder_ == null) { + return group_; + } else { + return groupBuilder_.getMessage(); + } + } + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + public Builder setGroup(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group value) { + if (groupBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + group_ = value; + onChanged(); + } else { + groupBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + public Builder setGroup( + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.Builder builderForValue) { + if (groupBuilder_ == null) { + group_ = builderForValue.build(); + onChanged(); + } else { + groupBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + public Builder mergeGroup(org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group value) { + if (groupBuilder_ == null) { + if (((bitField0_ & 0x00000004) == 0x00000004) && + group_ != org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.getDefaultInstance()) { + group_ = + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.newBuilder(group_).mergeFrom(value).buildPartial(); + } else { + group_ = value; + } + onChanged(); + } else { + groupBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + public Builder clearGroup() { + if (groupBuilder_ == null) { + group_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.getDefaultInstance(); + onChanged(); + } else { + groupBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.Builder getGroupBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getGroupFieldBuilder().getBuilder(); + } + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.GroupOrBuilder getGroupOrBuilder() { + if (groupBuilder_ != null) { + return groupBuilder_.getMessageOrBuilder(); + } else { + return group_; + } + } + /** + * optional .textsecure.SyncMessage.Group group = 3; + */ + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.GroupOrBuilder> + getGroupFieldBuilder() { + if (groupBuilder_ == null) { + groupBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.Group.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.SyncMessage.GroupOrBuilder>( + group_, + getParentForChildren(), + isClean()); + group_ = null; + } + return groupBuilder_; + } + + // @@protoc_insertion_point(builder_scope:textsecure.SyncMessage) + } + + static { + defaultInstance = new SyncMessage(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:textsecure.SyncMessage) + } + + public interface AttachmentPointerOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional fixed64 id = 1; + /** + * optional fixed64 id = 1; + */ + boolean hasId(); + /** + * optional fixed64 id = 1; + */ + long getId(); + + // optional string contentType = 2; + /** + * optional string contentType = 2; + */ + boolean hasContentType(); + /** + * optional string contentType = 2; + */ + java.lang.String getContentType(); + /** + * optional string contentType = 2; + */ + com.google.protobuf.ByteString + getContentTypeBytes(); + + // optional bytes key = 3; + /** + * optional bytes key = 3; + */ + boolean hasKey(); + /** + * optional bytes key = 3; + */ + com.google.protobuf.ByteString getKey(); + } + /** + * Protobuf type {@code textsecure.AttachmentPointer} + */ + public static final class AttachmentPointer extends + com.google.protobuf.GeneratedMessage + implements AttachmentPointerOrBuilder { + // Use AttachmentPointer.newBuilder() to construct. + private AttachmentPointer(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private AttachmentPointer(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final AttachmentPointer defaultInstance; + public static AttachmentPointer getDefaultInstance() { + return defaultInstance; + } + + public AttachmentPointer getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private AttachmentPointer( + 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 9: { + bitField0_ |= 0x00000001; + id_ = input.readFixed64(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + contentType_ = input.readBytes(); + break; + } + case 26: { + bitField0_ |= 0x00000004; + key_ = input.readBytes(); + 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.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_AttachmentPointer_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_AttachmentPointer_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public AttachmentPointer parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new AttachmentPointer(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional fixed64 id = 1; + public static final int ID_FIELD_NUMBER = 1; + private long id_; + /** + * optional fixed64 id = 1; + */ + public boolean hasId() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional fixed64 id = 1; + */ + public long getId() { + return id_; + } + + // optional string contentType = 2; + public static final int CONTENTTYPE_FIELD_NUMBER = 2; + private java.lang.Object contentType_; + /** + * optional string contentType = 2; + */ + public boolean hasContentType() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string contentType = 2; + */ + public java.lang.String getContentType() { + java.lang.Object ref = contentType_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + contentType_ = s; + } + return s; + } + } + /** + * optional string contentType = 2; + */ + public com.google.protobuf.ByteString + getContentTypeBytes() { + java.lang.Object ref = contentType_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + contentType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // optional bytes key = 3; + public static final int KEY_FIELD_NUMBER = 3; + private com.google.protobuf.ByteString key_; + /** + * optional bytes key = 3; + */ + public boolean hasKey() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional bytes key = 3; + */ + public com.google.protobuf.ByteString getKey() { + return key_; + } + + private void initFields() { + id_ = 0L; + contentType_ = ""; + key_ = com.google.protobuf.ByteString.EMPTY; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeFixed64(1, id_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getContentTypeBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeBytes(3, key_); + } + 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 + .computeFixed64Size(1, id_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getContentTypeBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(3, key_); + } + 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.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer 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.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer 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 textsecure.AttachmentPointer} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_AttachmentPointer_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_AttachmentPointer_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder.class); + } + + // Construct using org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + id_ = 0L; + bitField0_ = (bitField0_ & ~0x00000001); + contentType_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + key_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_AttachmentPointer_descriptor; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer getDefaultInstanceForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance(); + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer build() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer buildPartial() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer result = new org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.id_ = id_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.contentType_ = contentType_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.key_ = key_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer) { + return mergeFrom((org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer other) { + if (other == org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance()) return this; + if (other.hasId()) { + setId(other.getId()); + } + if (other.hasContentType()) { + bitField0_ |= 0x00000002; + contentType_ = other.contentType_; + onChanged(); + } + if (other.hasKey()) { + setKey(other.getKey()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional fixed64 id = 1; + private long id_ ; + /** + * optional fixed64 id = 1; + */ + public boolean hasId() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional fixed64 id = 1; + */ + public long getId() { + return id_; + } + /** + * optional fixed64 id = 1; + */ + public Builder setId(long value) { + bitField0_ |= 0x00000001; + id_ = value; + onChanged(); + return this; + } + /** + * optional fixed64 id = 1; + */ + public Builder clearId() { + bitField0_ = (bitField0_ & ~0x00000001); + id_ = 0L; + onChanged(); + return this; + } + + // optional string contentType = 2; + private java.lang.Object contentType_ = ""; + /** + * optional string contentType = 2; + */ + public boolean hasContentType() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string contentType = 2; + */ + public java.lang.String getContentType() { + java.lang.Object ref = contentType_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + contentType_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string contentType = 2; + */ + public com.google.protobuf.ByteString + getContentTypeBytes() { + java.lang.Object ref = contentType_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + contentType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string contentType = 2; + */ + public Builder setContentType( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + contentType_ = value; + onChanged(); + return this; + } + /** + * optional string contentType = 2; + */ + public Builder clearContentType() { + bitField0_ = (bitField0_ & ~0x00000002); + contentType_ = getDefaultInstance().getContentType(); + onChanged(); + return this; + } + /** + * optional string contentType = 2; + */ + public Builder setContentTypeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + contentType_ = value; + onChanged(); + return this; + } + + // optional bytes key = 3; + private com.google.protobuf.ByteString key_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes key = 3; + */ + public boolean hasKey() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional bytes key = 3; + */ + public com.google.protobuf.ByteString getKey() { + return key_; + } + /** + * optional bytes key = 3; + */ + public Builder setKey(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + key_ = value; + onChanged(); + return this; + } + /** + * optional bytes key = 3; + */ + public Builder clearKey() { + bitField0_ = (bitField0_ & ~0x00000004); + key_ = getDefaultInstance().getKey(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:textsecure.AttachmentPointer) + } + + static { + defaultInstance = new AttachmentPointer(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:textsecure.AttachmentPointer) + } + + public interface GroupContextOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional bytes id = 1; + /** + * optional bytes id = 1; + */ + boolean hasId(); + /** + * optional bytes id = 1; + */ + com.google.protobuf.ByteString getId(); + + // optional .textsecure.GroupContext.Type type = 2; + /** + * optional .textsecure.GroupContext.Type type = 2; + */ + boolean hasType(); + /** + * optional .textsecure.GroupContext.Type type = 2; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type getType(); + + // optional string name = 3; + /** + * optional string name = 3; + */ + boolean hasName(); + /** + * optional string name = 3; + */ + java.lang.String getName(); + /** + * optional string name = 3; + */ + com.google.protobuf.ByteString + getNameBytes(); + + // repeated string members = 4; + /** + * repeated string members = 4; + */ + java.util.List + getMembersList(); + /** + * repeated string members = 4; + */ + int getMembersCount(); + /** + * repeated string members = 4; + */ + java.lang.String getMembers(int index); + /** + * repeated string members = 4; + */ + com.google.protobuf.ByteString + getMembersBytes(int index); + + // optional .textsecure.AttachmentPointer avatar = 5; + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + boolean hasAvatar(); + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer getAvatar(); + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder getAvatarOrBuilder(); + } + /** + * Protobuf type {@code textsecure.GroupContext} + */ + public static final class GroupContext extends + com.google.protobuf.GeneratedMessage + implements GroupContextOrBuilder { + // Use GroupContext.newBuilder() to construct. + private GroupContext(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private GroupContext(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final GroupContext defaultInstance; + public static GroupContext getDefaultInstance() { + return defaultInstance; + } + + public GroupContext getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private GroupContext( + 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 10: { + bitField0_ |= 0x00000001; + id_ = input.readBytes(); + break; + } + case 16: { + int rawValue = input.readEnum(); + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type value = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(2, rawValue); + } else { + bitField0_ |= 0x00000002; + type_ = value; + } + break; + } + case 26: { + bitField0_ |= 0x00000004; + name_ = input.readBytes(); + break; + } + case 34: { + if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) { + members_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000008; + } + members_.add(input.readBytes()); + break; + } + case 42: { + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder subBuilder = null; + if (((bitField0_ & 0x00000008) == 0x00000008)) { + subBuilder = avatar_.toBuilder(); + } + avatar_ = input.readMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(avatar_); + avatar_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000008; + 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 { + if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) { + members_ = new com.google.protobuf.UnmodifiableLazyStringList(members_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_GroupContext_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_GroupContext_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public GroupContext parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new GroupContext(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + /** + * Protobuf enum {@code textsecure.GroupContext.Type} + */ + public enum Type + implements com.google.protobuf.ProtocolMessageEnum { + /** + * UNKNOWN = 0; + */ + UNKNOWN(0, 0), + /** + * UPDATE = 1; + */ + UPDATE(1, 1), + /** + * DELIVER = 2; + */ + DELIVER(2, 2), + /** + * QUIT = 3; + */ + QUIT(3, 3), + ; + + /** + * UNKNOWN = 0; + */ + public static final int UNKNOWN_VALUE = 0; + /** + * UPDATE = 1; + */ + public static final int UPDATE_VALUE = 1; + /** + * DELIVER = 2; + */ + public static final int DELIVER_VALUE = 2; + /** + * QUIT = 3; + */ + public static final int QUIT_VALUE = 3; + + + public final int getNumber() { return value; } + + public static Type valueOf(int value) { + switch (value) { + case 0: return UNKNOWN; + case 1: return UPDATE; + case 2: return DELIVER; + case 3: return QUIT; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Type findValueByNumber(int number) { + return Type.valueOf(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDescriptor().getEnumTypes().get(0); + } + + private static final Type[] VALUES = values(); + + public static Type valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + + private final int index; + private final int value; + + private Type(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:textsecure.GroupContext.Type) + } + + private int bitField0_; + // optional bytes id = 1; + public static final int ID_FIELD_NUMBER = 1; + private com.google.protobuf.ByteString id_; + /** + * optional bytes id = 1; + */ + public boolean hasId() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional bytes id = 1; + */ + public com.google.protobuf.ByteString getId() { + return id_; + } + + // optional .textsecure.GroupContext.Type type = 2; + public static final int TYPE_FIELD_NUMBER = 2; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type type_; + /** + * optional .textsecure.GroupContext.Type type = 2; + */ + public boolean hasType() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional .textsecure.GroupContext.Type type = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type getType() { + return type_; + } + + // optional string name = 3; + public static final int NAME_FIELD_NUMBER = 3; + private java.lang.Object name_; + /** + * optional string name = 3; + */ + public boolean hasName() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional string name = 3; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + name_ = s; + } + return s; + } + } + /** + * optional string name = 3; + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // repeated string members = 4; + public static final int MEMBERS_FIELD_NUMBER = 4; + private com.google.protobuf.LazyStringList members_; + /** + * repeated string members = 4; + */ + public java.util.List + getMembersList() { + return members_; + } + /** + * repeated string members = 4; + */ + public int getMembersCount() { + return members_.size(); + } + /** + * repeated string members = 4; + */ + public java.lang.String getMembers(int index) { + return members_.get(index); + } + /** + * repeated string members = 4; + */ + public com.google.protobuf.ByteString + getMembersBytes(int index) { + return members_.getByteString(index); + } + + // optional .textsecure.AttachmentPointer avatar = 5; + public static final int AVATAR_FIELD_NUMBER = 5; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer avatar_; + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + public boolean hasAvatar() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer getAvatar() { + return avatar_; + } + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder getAvatarOrBuilder() { + return avatar_; + } + + private void initFields() { + id_ = com.google.protobuf.ByteString.EMPTY; + type_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type.UNKNOWN; + name_ = ""; + members_ = com.google.protobuf.LazyStringArrayList.EMPTY; + avatar_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, id_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeEnum(2, type_.getNumber()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeBytes(3, getNameBytes()); + } + for (int i = 0; i < members_.size(); i++) { + output.writeBytes(4, members_.getByteString(i)); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeMessage(5, avatar_); + } + 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 + .computeBytesSize(1, id_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, type_.getNumber()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(3, getNameBytes()); + } + { + int dataSize = 0; + for (int i = 0; i < members_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeBytesSizeNoTag(members_.getByteString(i)); + } + size += dataSize; + size += 1 * getMembersList().size(); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, avatar_); + } + 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.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext 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.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext 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 textsecure.GroupContext} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContextOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_GroupContext_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_GroupContext_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Builder.class); + } + + // Construct using org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getAvatarFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + id_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + type_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type.UNKNOWN; + bitField0_ = (bitField0_ & ~0x00000002); + name_ = ""; + bitField0_ = (bitField0_ & ~0x00000004); + members_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000008); + if (avatarBuilder_ == null) { + avatar_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance(); + } else { + avatarBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_GroupContext_descriptor; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext getDefaultInstanceForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDefaultInstance(); + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext build() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext buildPartial() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext result = new org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.id_ = id_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.type_ = type_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.name_ = name_; + if (((bitField0_ & 0x00000008) == 0x00000008)) { + members_ = new com.google.protobuf.UnmodifiableLazyStringList( + members_); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.members_ = members_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000008; + } + if (avatarBuilder_ == null) { + result.avatar_ = avatar_; + } else { + result.avatar_ = avatarBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext) { + return mergeFrom((org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext other) { + if (other == org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.getDefaultInstance()) return this; + if (other.hasId()) { + setId(other.getId()); + } + if (other.hasType()) { + setType(other.getType()); + } + if (other.hasName()) { + bitField0_ |= 0x00000004; + name_ = other.name_; + onChanged(); + } + if (!other.members_.isEmpty()) { + if (members_.isEmpty()) { + members_ = other.members_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureMembersIsMutable(); + members_.addAll(other.members_); + } + onChanged(); + } + if (other.hasAvatar()) { + mergeAvatar(other.getAvatar()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional bytes id = 1; + private com.google.protobuf.ByteString id_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes id = 1; + */ + public boolean hasId() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional bytes id = 1; + */ + public com.google.protobuf.ByteString getId() { + return id_; + } + /** + * optional bytes id = 1; + */ + public Builder setId(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + id_ = value; + onChanged(); + return this; + } + /** + * optional bytes id = 1; + */ + public Builder clearId() { + bitField0_ = (bitField0_ & ~0x00000001); + id_ = getDefaultInstance().getId(); + onChanged(); + return this; + } + + // optional .textsecure.GroupContext.Type type = 2; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type type_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type.UNKNOWN; + /** + * optional .textsecure.GroupContext.Type type = 2; + */ + public boolean hasType() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional .textsecure.GroupContext.Type type = 2; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type getType() { + return type_; + } + /** + * optional .textsecure.GroupContext.Type type = 2; + */ + public Builder setType(org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + type_ = value; + onChanged(); + return this; + } + /** + * optional .textsecure.GroupContext.Type type = 2; + */ + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000002); + type_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext.Type.UNKNOWN; + onChanged(); + return this; + } + + // optional string name = 3; + private java.lang.Object name_ = ""; + /** + * optional string name = 3; + */ + public boolean hasName() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional string name = 3; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string name = 3; + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string name = 3; + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + name_ = value; + onChanged(); + return this; + } + /** + * optional string name = 3; + */ + public Builder clearName() { + bitField0_ = (bitField0_ & ~0x00000004); + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * optional string name = 3; + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + name_ = value; + onChanged(); + return this; + } + + // repeated string members = 4; + private com.google.protobuf.LazyStringList members_ = com.google.protobuf.LazyStringArrayList.EMPTY; + private void ensureMembersIsMutable() { + if (!((bitField0_ & 0x00000008) == 0x00000008)) { + members_ = new com.google.protobuf.LazyStringArrayList(members_); + bitField0_ |= 0x00000008; + } + } + /** + * repeated string members = 4; + */ + public java.util.List + getMembersList() { + return java.util.Collections.unmodifiableList(members_); + } + /** + * repeated string members = 4; + */ + public int getMembersCount() { + return members_.size(); + } + /** + * repeated string members = 4; + */ + public java.lang.String getMembers(int index) { + return members_.get(index); + } + /** + * repeated string members = 4; + */ + public com.google.protobuf.ByteString + getMembersBytes(int index) { + return members_.getByteString(index); + } + /** + * repeated string members = 4; + */ + public Builder setMembers( + int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureMembersIsMutable(); + members_.set(index, value); + onChanged(); + return this; + } + /** + * repeated string members = 4; + */ + public Builder addMembers( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureMembersIsMutable(); + members_.add(value); + onChanged(); + return this; + } + /** + * repeated string members = 4; + */ + public Builder addAllMembers( + java.lang.Iterable values) { + ensureMembersIsMutable(); + super.addAll(values, members_); + onChanged(); + return this; + } + /** + * repeated string members = 4; + */ + public Builder clearMembers() { + members_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + /** + * repeated string members = 4; + */ + public Builder addMembersBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + ensureMembersIsMutable(); + members_.add(value); + onChanged(); + return this; + } + + // optional .textsecure.AttachmentPointer avatar = 5; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer avatar_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder> avatarBuilder_; + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + public boolean hasAvatar() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer getAvatar() { + if (avatarBuilder_ == null) { + return avatar_; + } else { + return avatarBuilder_.getMessage(); + } + } + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + public Builder setAvatar(org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer value) { + if (avatarBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + avatar_ = value; + onChanged(); + } else { + avatarBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + public Builder setAvatar( + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder builderForValue) { + if (avatarBuilder_ == null) { + avatar_ = builderForValue.build(); + onChanged(); + } else { + avatarBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + public Builder mergeAvatar(org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer value) { + if (avatarBuilder_ == null) { + if (((bitField0_ & 0x00000010) == 0x00000010) && + avatar_ != org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance()) { + avatar_ = + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.newBuilder(avatar_).mergeFrom(value).buildPartial(); + } else { + avatar_ = value; + } + onChanged(); + } else { + avatarBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + public Builder clearAvatar() { + if (avatarBuilder_ == null) { + avatar_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.getDefaultInstance(); + onChanged(); + } else { + avatarBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder getAvatarBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return getAvatarFieldBuilder().getBuilder(); + } + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder getAvatarOrBuilder() { + if (avatarBuilder_ != null) { + return avatarBuilder_.getMessageOrBuilder(); + } else { + return avatar_; + } + } + /** + * optional .textsecure.AttachmentPointer avatar = 5; + */ + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder> + getAvatarFieldBuilder() { + if (avatarBuilder_ == null) { + avatarBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointerOrBuilder>( + avatar_, + getParentForChildren(), + isClean()); + avatar_ = null; + } + return avatarBuilder_; + } + + // @@protoc_insertion_point(builder_scope:textsecure.GroupContext) + } + + static { + defaultInstance = new GroupContext(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:textsecure.GroupContext) + } + + public interface ContactDetailsOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional string number = 1; + /** + * optional string number = 1; + */ + boolean hasNumber(); + /** + * optional string number = 1; + */ + java.lang.String getNumber(); + /** + * optional string number = 1; + */ + com.google.protobuf.ByteString + getNumberBytes(); + + // optional string name = 2; + /** + * optional string name = 2; + */ + boolean hasName(); + /** + * optional string name = 2; + */ + java.lang.String getName(); + /** + * optional string name = 2; + */ + com.google.protobuf.ByteString + getNameBytes(); + + // optional .textsecure.ContactDetails.Avatar avatar = 3; + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + boolean hasAvatar(); + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar getAvatar(); + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.AvatarOrBuilder getAvatarOrBuilder(); + } + /** + * Protobuf type {@code textsecure.ContactDetails} + */ + public static final class ContactDetails extends + com.google.protobuf.GeneratedMessage + implements ContactDetailsOrBuilder { + // Use ContactDetails.newBuilder() to construct. + private ContactDetails(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private ContactDetails(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final ContactDetails defaultInstance; + public static ContactDetails getDefaultInstance() { + return defaultInstance; + } + + public ContactDetails getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ContactDetails( + 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 10: { + bitField0_ |= 0x00000001; + number_ = input.readBytes(); + break; + } + case 18: { + bitField0_ |= 0x00000002; + name_ = input.readBytes(); + break; + } + case 26: { + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) == 0x00000004)) { + subBuilder = avatar_.toBuilder(); + } + avatar_ = input.readMessage(org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(avatar_); + avatar_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + 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.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_ContactDetails_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_ContactDetails_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public ContactDetails parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ContactDetails(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + public interface AvatarOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional string contentType = 1; + /** + * optional string contentType = 1; + */ + boolean hasContentType(); + /** + * optional string contentType = 1; + */ + java.lang.String getContentType(); + /** + * optional string contentType = 1; + */ + com.google.protobuf.ByteString + getContentTypeBytes(); + + // optional uint64 length = 2; + /** + * optional uint64 length = 2; + */ + boolean hasLength(); + /** + * optional uint64 length = 2; + */ + long getLength(); + } + /** + * Protobuf type {@code textsecure.ContactDetails.Avatar} + */ + public static final class Avatar extends + com.google.protobuf.GeneratedMessage + implements AvatarOrBuilder { + // Use Avatar.newBuilder() to construct. + private Avatar(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private Avatar(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final Avatar defaultInstance; + public static Avatar getDefaultInstance() { + return defaultInstance; + } + + public Avatar getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Avatar( + 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 10: { + bitField0_ |= 0x00000001; + contentType_ = input.readBytes(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + length_ = input.readUInt64(); + 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.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_ContactDetails_Avatar_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_ContactDetails_Avatar_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public Avatar parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Avatar(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional string contentType = 1; + public static final int CONTENTTYPE_FIELD_NUMBER = 1; + private java.lang.Object contentType_; + /** + * optional string contentType = 1; + */ + public boolean hasContentType() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional string contentType = 1; + */ + public java.lang.String getContentType() { + java.lang.Object ref = contentType_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + contentType_ = s; + } + return s; + } + } + /** + * optional string contentType = 1; + */ + public com.google.protobuf.ByteString + getContentTypeBytes() { + java.lang.Object ref = contentType_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + contentType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // optional uint64 length = 2; + public static final int LENGTH_FIELD_NUMBER = 2; + private long length_; + /** + * optional uint64 length = 2; + */ + public boolean hasLength() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional uint64 length = 2; + */ + public long getLength() { + return length_; + } + + private void initFields() { + contentType_ = ""; + length_ = 0L; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getContentTypeBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeUInt64(2, length_); + } + 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 + .computeBytesSize(1, getContentTypeBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt64Size(2, length_); + } + 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.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar 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.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar 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 textsecure.ContactDetails.Avatar} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.AvatarOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_ContactDetails_Avatar_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_ContactDetails_Avatar_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.Builder.class); + } + + // Construct using org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + contentType_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + length_ = 0L; + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_ContactDetails_Avatar_descriptor; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar getDefaultInstanceForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.getDefaultInstance(); + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar build() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar buildPartial() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar result = new org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.contentType_ = contentType_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.length_ = length_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar) { + return mergeFrom((org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar other) { + if (other == org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.getDefaultInstance()) return this; + if (other.hasContentType()) { + bitField0_ |= 0x00000001; + contentType_ = other.contentType_; + onChanged(); + } + if (other.hasLength()) { + setLength(other.getLength()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional string contentType = 1; + private java.lang.Object contentType_ = ""; + /** + * optional string contentType = 1; + */ + public boolean hasContentType() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional string contentType = 1; + */ + public java.lang.String getContentType() { + java.lang.Object ref = contentType_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + contentType_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string contentType = 1; + */ + public com.google.protobuf.ByteString + getContentTypeBytes() { + java.lang.Object ref = contentType_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + contentType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string contentType = 1; + */ + public Builder setContentType( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + contentType_ = value; + onChanged(); + return this; + } + /** + * optional string contentType = 1; + */ + public Builder clearContentType() { + bitField0_ = (bitField0_ & ~0x00000001); + contentType_ = getDefaultInstance().getContentType(); + onChanged(); + return this; + } + /** + * optional string contentType = 1; + */ + public Builder setContentTypeBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + contentType_ = value; + onChanged(); + return this; + } + + // optional uint64 length = 2; + private long length_ ; + /** + * optional uint64 length = 2; + */ + public boolean hasLength() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional uint64 length = 2; + */ + public long getLength() { + return length_; + } + /** + * optional uint64 length = 2; + */ + public Builder setLength(long value) { + bitField0_ |= 0x00000002; + length_ = value; + onChanged(); + return this; + } + /** + * optional uint64 length = 2; + */ + public Builder clearLength() { + bitField0_ = (bitField0_ & ~0x00000002); + length_ = 0L; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:textsecure.ContactDetails.Avatar) + } + + static { + defaultInstance = new Avatar(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:textsecure.ContactDetails.Avatar) + } + + private int bitField0_; + // optional string number = 1; + public static final int NUMBER_FIELD_NUMBER = 1; + private java.lang.Object number_; + /** + * optional string number = 1; + */ + public boolean hasNumber() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional string number = 1; + */ + public java.lang.String getNumber() { + java.lang.Object ref = number_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + number_ = s; + } + return s; + } + } + /** + * optional string number = 1; + */ + public com.google.protobuf.ByteString + getNumberBytes() { + java.lang.Object ref = number_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + number_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // optional string name = 2; + public static final int NAME_FIELD_NUMBER = 2; + private java.lang.Object name_; + /** + * optional string name = 2; + */ + public boolean hasName() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string name = 2; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + name_ = s; + } + return s; + } + } + /** + * optional string name = 2; + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // optional .textsecure.ContactDetails.Avatar avatar = 3; + public static final int AVATAR_FIELD_NUMBER = 3; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar avatar_; + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + public boolean hasAvatar() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar getAvatar() { + return avatar_; + } + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.AvatarOrBuilder getAvatarOrBuilder() { + return avatar_; + } + + private void initFields() { + number_ = ""; + name_ = ""; + avatar_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getNumberBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getNameBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeMessage(3, avatar_); + } + 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 + .computeBytesSize(1, getNumberBytes()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(2, getNameBytes()); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, avatar_); + } + 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.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails 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.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails 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 textsecure.ContactDetails} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetailsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_ContactDetails_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_ContactDetails_fieldAccessorTable + .ensureFieldAccessorsInitialized( + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.class, org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Builder.class); + } + + // Construct using org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getAvatarFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + number_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + name_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + if (avatarBuilder_ == null) { + avatar_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.getDefaultInstance(); + } else { + avatarBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.internal_static_textsecure_ContactDetails_descriptor; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails getDefaultInstanceForType() { + return org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.getDefaultInstance(); + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails build() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails buildPartial() { + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails result = new org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.number_ = number_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.name_ = name_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + if (avatarBuilder_ == null) { + result.avatar_ = avatar_; + } else { + result.avatar_ = avatarBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails) { + return mergeFrom((org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails other) { + if (other == org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.getDefaultInstance()) return this; + if (other.hasNumber()) { + bitField0_ |= 0x00000001; + number_ = other.number_; + onChanged(); + } + if (other.hasName()) { + bitField0_ |= 0x00000002; + name_ = other.name_; + onChanged(); + } + if (other.hasAvatar()) { + mergeAvatar(other.getAvatar()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional string number = 1; + private java.lang.Object number_ = ""; + /** + * optional string number = 1; + */ + public boolean hasNumber() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional string number = 1; + */ + public java.lang.String getNumber() { + java.lang.Object ref = number_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + number_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string number = 1; + */ + public com.google.protobuf.ByteString + getNumberBytes() { + java.lang.Object ref = number_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + number_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string number = 1; + */ + public Builder setNumber( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + number_ = value; + onChanged(); + return this; + } + /** + * optional string number = 1; + */ + public Builder clearNumber() { + bitField0_ = (bitField0_ & ~0x00000001); + number_ = getDefaultInstance().getNumber(); + onChanged(); + return this; + } + /** + * optional string number = 1; + */ + public Builder setNumberBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + number_ = value; + onChanged(); + return this; + } + + // optional string name = 2; + private java.lang.Object name_ = ""; + /** + * optional string name = 2; + */ + public boolean hasName() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string name = 2; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string name = 2; + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string name = 2; + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + name_ = value; + onChanged(); + return this; + } + /** + * optional string name = 2; + */ + public Builder clearName() { + bitField0_ = (bitField0_ & ~0x00000002); + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * optional string name = 2; + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + name_ = value; + onChanged(); + return this; + } + + // optional .textsecure.ContactDetails.Avatar avatar = 3; + private org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar avatar_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar, org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.AvatarOrBuilder> avatarBuilder_; + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + public boolean hasAvatar() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar getAvatar() { + if (avatarBuilder_ == null) { + return avatar_; + } else { + return avatarBuilder_.getMessage(); + } + } + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + public Builder setAvatar(org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar value) { + if (avatarBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + avatar_ = value; + onChanged(); + } else { + avatarBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + public Builder setAvatar( + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.Builder builderForValue) { + if (avatarBuilder_ == null) { + avatar_ = builderForValue.build(); + onChanged(); + } else { + avatarBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + public Builder mergeAvatar(org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar value) { + if (avatarBuilder_ == null) { + if (((bitField0_ & 0x00000004) == 0x00000004) && + avatar_ != org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.getDefaultInstance()) { + avatar_ = + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.newBuilder(avatar_).mergeFrom(value).buildPartial(); + } else { + avatar_ = value; + } + onChanged(); + } else { + avatarBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + public Builder clearAvatar() { + if (avatarBuilder_ == null) { + avatar_ = org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.getDefaultInstance(); + onChanged(); + } else { + avatarBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.Builder getAvatarBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getAvatarFieldBuilder().getBuilder(); + } + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + public org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.AvatarOrBuilder getAvatarOrBuilder() { + if (avatarBuilder_ != null) { + return avatarBuilder_.getMessageOrBuilder(); + } else { + return avatar_; + } + } + /** + * optional .textsecure.ContactDetails.Avatar avatar = 3; + */ + private com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar, org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.AvatarOrBuilder> + getAvatarFieldBuilder() { + if (avatarBuilder_ == null) { + avatarBuilder_ = new com.google.protobuf.SingleFieldBuilder< + org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar, org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.Avatar.Builder, org.whispersystems.textsecure.internal.push.TextSecureProtos.ContactDetails.AvatarOrBuilder>( + avatar_, + getParentForChildren(), + isClean()); + avatar_ = null; + } + return avatarBuilder_; + } + + // @@protoc_insertion_point(builder_scope:textsecure.ContactDetails) + } + + static { + defaultInstance = new ContactDetails(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:textsecure.ContactDetails) + } + + private static com.google.protobuf.Descriptors.Descriptor + internal_static_textsecure_Envelope_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_textsecure_Envelope_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_textsecure_Content_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_textsecure_Content_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_textsecure_DataMessage_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_textsecure_DataMessage_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_textsecure_SyncMessage_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_textsecure_SyncMessage_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_textsecure_SyncMessage_Sent_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_textsecure_SyncMessage_Sent_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_textsecure_SyncMessage_Contacts_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_textsecure_SyncMessage_Contacts_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_textsecure_SyncMessage_Group_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_textsecure_SyncMessage_Group_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_textsecure_AttachmentPointer_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_textsecure_AttachmentPointer_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_textsecure_GroupContext_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_textsecure_GroupContext_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_textsecure_ContactDetails_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_textsecure_ContactDetails_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_textsecure_ContactDetails_Avatar_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_textsecure_ContactDetails_Avatar_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\n\020TextSecure.proto\022\ntextsecure\"\372\001\n\010Envel" + + "ope\022\'\n\004type\030\001 \001(\0162\031.textsecure.Envelope." + + "Type\022\016\n\006source\030\002 \001(\t\022\024\n\014sourceDevice\030\007 \001" + + "(\r\022\r\n\005relay\030\003 \001(\t\022\021\n\ttimestamp\030\005 \001(\004\022\025\n\r" + + "legacyMessage\030\006 \001(\014\022\017\n\007content\030\010 \001(\014\"U\n\004" + + "Type\022\013\n\007UNKNOWN\020\000\022\016\n\nCIPHERTEXT\020\001\022\020\n\014KEY" + + "_EXCHANGE\020\002\022\021\n\rPREKEY_BUNDLE\020\003\022\013\n\007RECEIP" + + "T\020\005\"e\n\007Content\022,\n\013dataMessage\030\001 \001(\0132\027.te" + + "xtsecure.DataMessage\022,\n\013syncMessage\030\002 \001(" + + "\0132\027.textsecure.SyncMessage\"\241\001\n\013DataMessa", + "ge\022\014\n\004body\030\001 \001(\t\0222\n\013attachments\030\002 \003(\0132\035." + + "textsecure.AttachmentPointer\022\'\n\005group\030\003 " + + "\001(\0132\030.textsecure.GroupContext\022\r\n\005flags\030\004" + + " \001(\r\"\030\n\005Flags\022\017\n\013END_SESSION\020\001\"\340\002\n\013SyncM" + + "essage\022*\n\004sent\030\001 \001(\0132\034.textsecure.SyncMe" + + "ssage.Sent\0222\n\010contacts\030\002 \001(\0132 .textsecur" + + "e.SyncMessage.Contacts\022,\n\005group\030\003 \001(\0132\035." + + "textsecure.SyncMessage.Group\032X\n\004Sent\022\023\n\013" + + "destination\030\001 \001(\t\022\021\n\ttimestamp\030\002 \001(\004\022(\n\007" + + "message\030\003 \001(\0132\027.textsecure.DataMessage\0327", + "\n\010Contacts\022+\n\004blob\030\001 \001(\0132\035.textsecure.At" + + "tachmentPointer\0320\n\005Group\022\'\n\005group\030\001 \001(\0132" + + "\030.textsecure.GroupContext\"A\n\021AttachmentP" + + "ointer\022\n\n\002id\030\001 \001(\006\022\023\n\013contentType\030\002 \001(\t\022" + + "\013\n\003key\030\003 \001(\014\"\315\001\n\014GroupContext\022\n\n\002id\030\001 \001(" + + "\014\022+\n\004type\030\002 \001(\0162\035.textsecure.GroupContex" + + "t.Type\022\014\n\004name\030\003 \001(\t\022\017\n\007members\030\004 \003(\t\022-\n" + + "\006avatar\030\005 \001(\0132\035.textsecure.AttachmentPoi" + + "nter\"6\n\004Type\022\013\n\007UNKNOWN\020\000\022\n\n\006UPDATE\020\001\022\013\n" + + "\007DELIVER\020\002\022\010\n\004QUIT\020\003\"\220\001\n\016ContactDetails\022", + "\016\n\006number\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\0221\n\006avatar\030" + + "\003 \001(\0132!.textsecure.ContactDetails.Avatar" + + "\032-\n\006Avatar\022\023\n\013contentType\030\001 \001(\t\022\016\n\006lengt" + + "h\030\002 \001(\004B?\n+org.whispersystems.textsecure" + + ".internal.pushB\020TextSecureProtos" + }; + com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = + new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { + public com.google.protobuf.ExtensionRegistry assignDescriptors( + com.google.protobuf.Descriptors.FileDescriptor root) { + descriptor = root; + internal_static_textsecure_Envelope_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_textsecure_Envelope_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_textsecure_Envelope_descriptor, + new java.lang.String[] { "Type", "Source", "SourceDevice", "Relay", "Timestamp", "LegacyMessage", "Content", }); + internal_static_textsecure_Content_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_textsecure_Content_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_textsecure_Content_descriptor, + new java.lang.String[] { "DataMessage", "SyncMessage", }); + internal_static_textsecure_DataMessage_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_textsecure_DataMessage_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_textsecure_DataMessage_descriptor, + new java.lang.String[] { "Body", "Attachments", "Group", "Flags", }); + internal_static_textsecure_SyncMessage_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_textsecure_SyncMessage_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_textsecure_SyncMessage_descriptor, + new java.lang.String[] { "Sent", "Contacts", "Group", }); + internal_static_textsecure_SyncMessage_Sent_descriptor = + internal_static_textsecure_SyncMessage_descriptor.getNestedTypes().get(0); + internal_static_textsecure_SyncMessage_Sent_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_textsecure_SyncMessage_Sent_descriptor, + new java.lang.String[] { "Destination", "Timestamp", "Message", }); + internal_static_textsecure_SyncMessage_Contacts_descriptor = + internal_static_textsecure_SyncMessage_descriptor.getNestedTypes().get(1); + internal_static_textsecure_SyncMessage_Contacts_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_textsecure_SyncMessage_Contacts_descriptor, + new java.lang.String[] { "Blob", }); + internal_static_textsecure_SyncMessage_Group_descriptor = + internal_static_textsecure_SyncMessage_descriptor.getNestedTypes().get(2); + internal_static_textsecure_SyncMessage_Group_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_textsecure_SyncMessage_Group_descriptor, + new java.lang.String[] { "Group", }); + internal_static_textsecure_AttachmentPointer_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_textsecure_AttachmentPointer_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_textsecure_AttachmentPointer_descriptor, + new java.lang.String[] { "Id", "ContentType", "Key", }); + internal_static_textsecure_GroupContext_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_textsecure_GroupContext_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_textsecure_GroupContext_descriptor, + new java.lang.String[] { "Id", "Type", "Name", "Members", "Avatar", }); + internal_static_textsecure_ContactDetails_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_textsecure_ContactDetails_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_textsecure_ContactDetails_descriptor, + new java.lang.String[] { "Number", "Name", "Avatar", }); + internal_static_textsecure_ContactDetails_Avatar_descriptor = + internal_static_textsecure_ContactDetails_descriptor.getNestedTypes().get(0); + internal_static_textsecure_ContactDetails_Avatar_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_textsecure_ContactDetails_Avatar_descriptor, + new java.lang.String[] { "ContentType", "Length", }); + return null; + } + }; + com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }, assigner); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java/src/main/java/org/whispersystems/textsecure/internal/util/Util.java b/java/src/main/java/org/whispersystems/textsecure/internal/util/Util.java index 1147f1da7a..15917f987a 100644 --- a/java/src/main/java/org/whispersystems/textsecure/internal/util/Util.java +++ b/java/src/main/java/org/whispersystems/textsecure/internal/util/Util.java @@ -125,4 +125,18 @@ public class Util { } } + public static byte[] toVarint64(long value) { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + + while (true) { + if ((value & ~0x7FL) == 0) { + out.write((int) value); + return out.toByteArray(); + } else { + out.write(((int) value & 0x7F) | 0x80); + value >>>= 7; + } + } + } + } diff --git a/protobuf/IncomingPushMessageSignal.proto b/protobuf/IncomingPushMessageSignal.proto deleted file mode 100644 index 61b2afaf7a..0000000000 --- a/protobuf/IncomingPushMessageSignal.proto +++ /dev/null @@ -1,59 +0,0 @@ -package textsecure; - -option java_package = "org.whispersystems.textsecure.internal.push"; -option java_outer_classname = "PushMessageProtos"; - -message IncomingPushMessageSignal { - enum Type { - UNKNOWN = 0; - CIPHERTEXT = 1; - KEY_EXCHANGE = 2; - PREKEY_BUNDLE = 3; -// PLAINTEXT = 4; // No longer supported - RECEIPT = 5; - } - optional Type type = 1; - optional string source = 2; - optional uint32 sourceDevice = 7; - optional string relay = 3; - optional uint64 timestamp = 5; - optional bytes message = 6; // Contains an encrypted PushMessageContent -// repeated string destinations = 4; // No longer supported -} - -message PushMessageContent { - message AttachmentPointer { - optional fixed64 id = 1; - optional string contentType = 2; - optional bytes key = 3; - } - - message GroupContext { - enum Type { - UNKNOWN = 0; - UPDATE = 1; - DELIVER = 2; - QUIT = 3; - } - optional bytes id = 1; - optional Type type = 2; - optional string name = 3; - repeated string members = 4; - optional AttachmentPointer avatar = 5; - } - - message SyncMessageContext { - optional string destination = 1; - optional uint64 timestamp = 2; - } - - enum Flags { - END_SESSION = 1; - } - - optional string body = 1; - repeated AttachmentPointer attachments = 2; - optional GroupContext group = 3; - optional uint32 flags = 4; - optional SyncMessageContext sync = 5; -} diff --git a/protobuf/Makefile b/protobuf/Makefile index d9591b8711..13a7c54785 100644 --- a/protobuf/Makefile +++ b/protobuf/Makefile @@ -1,3 +1,3 @@ all: - protoc --java_out=../java/src/main/java/ IncomingPushMessageSignal.proto Provisioning.proto WebSocketResources.proto + protoc --java_out=../java/src/main/java/ TextSecure.proto Provisioning.proto WebSocketResources.proto diff --git a/protobuf/TextSecure.proto b/protobuf/TextSecure.proto new file mode 100644 index 0000000000..0f86b7c731 --- /dev/null +++ b/protobuf/TextSecure.proto @@ -0,0 +1,89 @@ +package textsecure; + +option java_package = "org.whispersystems.textsecure.internal.push"; +option java_outer_classname = "TextSecureProtos"; + +message Envelope { + enum Type { + UNKNOWN = 0; + CIPHERTEXT = 1; + KEY_EXCHANGE = 2; + PREKEY_BUNDLE = 3; + RECEIPT = 5; + } + + optional Type type = 1; + optional string source = 2; + optional uint32 sourceDevice = 7; + optional string relay = 3; + optional uint64 timestamp = 5; + optional bytes legacyMessage = 6; // Contains an encrypted DataMessage + optional bytes content = 8; // Contains an encrypted Content +} + +message Content { + optional DataMessage dataMessage = 1; + optional SyncMessage syncMessage = 2; +} + +message DataMessage { + enum Flags { + END_SESSION = 1; + } + + optional string body = 1; + repeated AttachmentPointer attachments = 2; + optional GroupContext group = 3; + optional uint32 flags = 4; +} + +message SyncMessage { + message Sent { + optional string destination = 1; + optional uint64 timestamp = 2; + optional DataMessage message = 3; + } + + message Contacts { + optional AttachmentPointer blob = 1; + } + + message Group { + optional GroupContext group = 1; + } + + optional Sent sent = 1; + optional Contacts contacts = 2; + optional Group group = 3; +} + +message AttachmentPointer { + optional fixed64 id = 1; + optional string contentType = 2; + optional bytes key = 3; +} + +message GroupContext { + enum Type { + UNKNOWN = 0; + UPDATE = 1; + DELIVER = 2; + QUIT = 3; + } + optional bytes id = 1; + optional Type type = 2; + optional string name = 3; + repeated string members = 4; + optional AttachmentPointer avatar = 5; +} + +message ContactDetails { + message Avatar { + optional string contentType = 1; + optional uint64 length = 2; + } + + optional string number = 1; + optional string name = 2; + optional Avatar avatar = 3; +}