All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.craxiom.messaging.BluetoothRecordData Maven / Gradle / Ivy

There is a newer version: 1.6.0
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: com/craxiom/messaging/bluetooth_record.proto
// Protobuf Java Version: 4.27.3

package com.craxiom.messaging;

/**
 * Protobuf type {@code com.craxiom.messaging.BluetoothRecordData}
 */
public final class BluetoothRecordData extends
    com.google.protobuf.GeneratedMessage implements
    // @@protoc_insertion_point(message_implements:com.craxiom.messaging.BluetoothRecordData)
    BluetoothRecordDataOrBuilder {
private static final long serialVersionUID = 0L;
  static {
    com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
      com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
      /* major= */ 4,
      /* minor= */ 27,
      /* patch= */ 3,
      /* suffix= */ "",
      BluetoothRecordData.class.getName());
  }
  // Use BluetoothRecordData.newBuilder() to construct.
  private BluetoothRecordData(com.google.protobuf.GeneratedMessage.Builder builder) {
    super(builder);
  }
  private BluetoothRecordData() {
    deviceSerialNumber_ = "";
    deviceName_ = "";
    deviceTime_ = "";
    missionId_ = "";
    sourceAddress_ = "";
    destinationAddress_ = "";
    technology_ = 0;
    supportedTechnologies_ = 0;
    otaDeviceName_ = "";
  }

  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return com.craxiom.messaging.BluetoothRecordOuterClass.internal_static_com_craxiom_messaging_BluetoothRecordData_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.craxiom.messaging.BluetoothRecordOuterClass.internal_static_com_craxiom_messaging_BluetoothRecordData_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.craxiom.messaging.BluetoothRecordData.class, com.craxiom.messaging.BluetoothRecordData.Builder.class);
  }

  private int bitField0_;
  public static final int DEVICESERIALNUMBER_FIELD_NUMBER = 1;
  @SuppressWarnings("serial")
  private volatile java.lang.Object deviceSerialNumber_ = "";
  /**
   * string deviceSerialNumber = 1;
   * @return The deviceSerialNumber.
   */
  @java.lang.Override
  public java.lang.String getDeviceSerialNumber() {
    java.lang.Object ref = deviceSerialNumber_;
    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();
      deviceSerialNumber_ = s;
      return s;
    }
  }
  /**
   * string deviceSerialNumber = 1;
   * @return The bytes for deviceSerialNumber.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDeviceSerialNumberBytes() {
    java.lang.Object ref = deviceSerialNumber_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      deviceSerialNumber_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int DEVICENAME_FIELD_NUMBER = 2;
  @SuppressWarnings("serial")
  private volatile java.lang.Object deviceName_ = "";
  /**
   * string deviceName = 2;
   * @return The deviceName.
   */
  @java.lang.Override
  public java.lang.String getDeviceName() {
    java.lang.Object ref = deviceName_;
    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();
      deviceName_ = s;
      return s;
    }
  }
  /**
   * string deviceName = 2;
   * @return The bytes for deviceName.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDeviceNameBytes() {
    java.lang.Object ref = deviceName_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      deviceName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int DEVICETIME_FIELD_NUMBER = 3;
  @SuppressWarnings("serial")
  private volatile java.lang.Object deviceTime_ = "";
  /**
   * string deviceTime = 3;
   * @return The deviceTime.
   */
  @java.lang.Override
  public java.lang.String getDeviceTime() {
    java.lang.Object ref = deviceTime_;
    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();
      deviceTime_ = s;
      return s;
    }
  }
  /**
   * string deviceTime = 3;
   * @return The bytes for deviceTime.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDeviceTimeBytes() {
    java.lang.Object ref = deviceTime_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      deviceTime_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int LATITUDE_FIELD_NUMBER = 4;
  private double latitude_ = 0D;
  /**
   * double latitude = 4;
   * @return The latitude.
   */
  @java.lang.Override
  public double getLatitude() {
    return latitude_;
  }

  public static final int LONGITUDE_FIELD_NUMBER = 5;
  private double longitude_ = 0D;
  /**
   * double longitude = 5;
   * @return The longitude.
   */
  @java.lang.Override
  public double getLongitude() {
    return longitude_;
  }

  public static final int ALTITUDE_FIELD_NUMBER = 6;
  private float altitude_ = 0F;
  /**
   * float altitude = 6;
   * @return The altitude.
   */
  @java.lang.Override
  public float getAltitude() {
    return altitude_;
  }

  public static final int MISSIONID_FIELD_NUMBER = 7;
  @SuppressWarnings("serial")
  private volatile java.lang.Object missionId_ = "";
  /**
   * string missionId = 7;
   * @return The missionId.
   */
  @java.lang.Override
  public java.lang.String getMissionId() {
    java.lang.Object ref = missionId_;
    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();
      missionId_ = s;
      return s;
    }
  }
  /**
   * string missionId = 7;
   * @return The bytes for missionId.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getMissionIdBytes() {
    java.lang.Object ref = missionId_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      missionId_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int RECORDNUMBER_FIELD_NUMBER = 8;
  private int recordNumber_ = 0;
  /**
   * int32 recordNumber = 8;
   * @return The recordNumber.
   */
  @java.lang.Override
  public int getRecordNumber() {
    return recordNumber_;
  }

  public static final int ACCURACY_FIELD_NUMBER = 9;
  private int accuracy_ = 0;
  /**
   * int32 accuracy = 9;
   * @return The accuracy.
   */
  @java.lang.Override
  public int getAccuracy() {
    return accuracy_;
  }

  public static final int HEADING_FIELD_NUMBER = 50;
  private float heading_ = 0F;
  /**
   * float heading = 50;
   * @return The heading.
   */
  @java.lang.Override
  public float getHeading() {
    return heading_;
  }

  public static final int PITCH_FIELD_NUMBER = 51;
  private float pitch_ = 0F;
  /**
   * float pitch = 51;
   * @return The pitch.
   */
  @java.lang.Override
  public float getPitch() {
    return pitch_;
  }

  public static final int ROLL_FIELD_NUMBER = 52;
  private float roll_ = 0F;
  /**
   * float roll = 52;
   * @return The roll.
   */
  @java.lang.Override
  public float getRoll() {
    return roll_;
  }

  public static final int FIELDOFVIEW_FIELD_NUMBER = 53;
  private float fieldOfView_ = 0F;
  /**
   * float fieldOfView = 53;
   * @return The fieldOfView.
   */
  @java.lang.Override
  public float getFieldOfView() {
    return fieldOfView_;
  }

  public static final int RECEIVERSENSITIVITY_FIELD_NUMBER = 54;
  private float receiverSensitivity_ = 0F;
  /**
   * float receiverSensitivity = 54;
   * @return The receiverSensitivity.
   */
  @java.lang.Override
  public float getReceiverSensitivity() {
    return receiverSensitivity_;
  }

  public static final int SPEED_FIELD_NUMBER = 55;
  private float speed_ = 0F;
  /**
   * float speed = 55;
   * @return The speed.
   */
  @java.lang.Override
  public float getSpeed() {
    return speed_;
  }

  public static final int SOURCEADDRESS_FIELD_NUMBER = 10;
  @SuppressWarnings("serial")
  private volatile java.lang.Object sourceAddress_ = "";
  /**
   * string sourceAddress = 10;
   * @return The sourceAddress.
   */
  @java.lang.Override
  public java.lang.String getSourceAddress() {
    java.lang.Object ref = sourceAddress_;
    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();
      sourceAddress_ = s;
      return s;
    }
  }
  /**
   * string sourceAddress = 10;
   * @return The bytes for sourceAddress.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getSourceAddressBytes() {
    java.lang.Object ref = sourceAddress_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      sourceAddress_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int DESTINATIONADDRESS_FIELD_NUMBER = 11;
  @SuppressWarnings("serial")
  private volatile java.lang.Object destinationAddress_ = "";
  /**
   * string destinationAddress = 11;
   * @return The destinationAddress.
   */
  @java.lang.Override
  public java.lang.String getDestinationAddress() {
    java.lang.Object ref = destinationAddress_;
    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();
      destinationAddress_ = s;
      return s;
    }
  }
  /**
   * string destinationAddress = 11;
   * @return The bytes for destinationAddress.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDestinationAddressBytes() {
    java.lang.Object ref = destinationAddress_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      destinationAddress_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int SIGNALSTRENGTH_FIELD_NUMBER = 12;
  private com.google.protobuf.FloatValue signalStrength_;
  /**
   * .google.protobuf.FloatValue signalStrength = 12;
   * @return Whether the signalStrength field is set.
   */
  @java.lang.Override
  public boolean hasSignalStrength() {
    return ((bitField0_ & 0x00000001) != 0);
  }
  /**
   * .google.protobuf.FloatValue signalStrength = 12;
   * @return The signalStrength.
   */
  @java.lang.Override
  public com.google.protobuf.FloatValue getSignalStrength() {
    return signalStrength_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : signalStrength_;
  }
  /**
   * .google.protobuf.FloatValue signalStrength = 12;
   */
  @java.lang.Override
  public com.google.protobuf.FloatValueOrBuilder getSignalStrengthOrBuilder() {
    return signalStrength_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : signalStrength_;
  }

  public static final int TXPOWER_FIELD_NUMBER = 13;
  private com.google.protobuf.FloatValue txPower_;
  /**
   * .google.protobuf.FloatValue txPower = 13;
   * @return Whether the txPower field is set.
   */
  @java.lang.Override
  public boolean hasTxPower() {
    return ((bitField0_ & 0x00000002) != 0);
  }
  /**
   * .google.protobuf.FloatValue txPower = 13;
   * @return The txPower.
   */
  @java.lang.Override
  public com.google.protobuf.FloatValue getTxPower() {
    return txPower_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : txPower_;
  }
  /**
   * .google.protobuf.FloatValue txPower = 13;
   */
  @java.lang.Override
  public com.google.protobuf.FloatValueOrBuilder getTxPowerOrBuilder() {
    return txPower_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : txPower_;
  }

  public static final int TECHNOLOGY_FIELD_NUMBER = 14;
  private int technology_ = 0;
  /**
   * .com.craxiom.messaging.bluetooth.tech.Technology technology = 14;
   * @return The enum numeric value on the wire for technology.
   */
  @java.lang.Override public int getTechnologyValue() {
    return technology_;
  }
  /**
   * .com.craxiom.messaging.bluetooth.tech.Technology technology = 14;
   * @return The technology.
   */
  @java.lang.Override public com.craxiom.messaging.bluetooth.Technology getTechnology() {
    com.craxiom.messaging.bluetooth.Technology result = com.craxiom.messaging.bluetooth.Technology.forNumber(technology_);
    return result == null ? com.craxiom.messaging.bluetooth.Technology.UNRECOGNIZED : result;
  }

  public static final int SUPPORTEDTECHNOLOGIES_FIELD_NUMBER = 15;
  private int supportedTechnologies_ = 0;
  /**
   * .com.craxiom.messaging.bluetooth.supportedtech.SupportedTechnologies supportedTechnologies = 15;
   * @return The enum numeric value on the wire for supportedTechnologies.
   */
  @java.lang.Override public int getSupportedTechnologiesValue() {
    return supportedTechnologies_;
  }
  /**
   * .com.craxiom.messaging.bluetooth.supportedtech.SupportedTechnologies supportedTechnologies = 15;
   * @return The supportedTechnologies.
   */
  @java.lang.Override public com.craxiom.messaging.bluetooth.SupportedTechnologies getSupportedTechnologies() {
    com.craxiom.messaging.bluetooth.SupportedTechnologies result = com.craxiom.messaging.bluetooth.SupportedTechnologies.forNumber(supportedTechnologies_);
    return result == null ? com.craxiom.messaging.bluetooth.SupportedTechnologies.UNRECOGNIZED : result;
  }

  public static final int OTADEVICENAME_FIELD_NUMBER = 16;
  @SuppressWarnings("serial")
  private volatile java.lang.Object otaDeviceName_ = "";
  /**
   * string otaDeviceName = 16;
   * @return The otaDeviceName.
   */
  @java.lang.Override
  public java.lang.String getOtaDeviceName() {
    java.lang.Object ref = otaDeviceName_;
    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();
      otaDeviceName_ = s;
      return s;
    }
  }
  /**
   * string otaDeviceName = 16;
   * @return The bytes for otaDeviceName.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getOtaDeviceNameBytes() {
    java.lang.Object ref = otaDeviceName_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      otaDeviceName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int CHANNEL_FIELD_NUMBER = 17;
  private com.google.protobuf.Int32Value channel_;
  /**
   * .google.protobuf.Int32Value channel = 17;
   * @return Whether the channel field is set.
   */
  @java.lang.Override
  public boolean hasChannel() {
    return ((bitField0_ & 0x00000004) != 0);
  }
  /**
   * .google.protobuf.Int32Value channel = 17;
   * @return The channel.
   */
  @java.lang.Override
  public com.google.protobuf.Int32Value getChannel() {
    return channel_ == null ? com.google.protobuf.Int32Value.getDefaultInstance() : channel_;
  }
  /**
   * .google.protobuf.Int32Value channel = 17;
   */
  @java.lang.Override
  public com.google.protobuf.Int32ValueOrBuilder getChannelOrBuilder() {
    return channel_ == null ? com.google.protobuf.Int32Value.getDefaultInstance() : channel_;
  }

  private byte memoizedIsInitialized = -1;
  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceSerialNumber_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 1, deviceSerialNumber_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceName_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 2, deviceName_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceTime_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 3, deviceTime_);
    }
    if (java.lang.Double.doubleToRawLongBits(latitude_) != 0) {
      output.writeDouble(4, latitude_);
    }
    if (java.lang.Double.doubleToRawLongBits(longitude_) != 0) {
      output.writeDouble(5, longitude_);
    }
    if (java.lang.Float.floatToRawIntBits(altitude_) != 0) {
      output.writeFloat(6, altitude_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(missionId_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 7, missionId_);
    }
    if (recordNumber_ != 0) {
      output.writeInt32(8, recordNumber_);
    }
    if (accuracy_ != 0) {
      output.writeInt32(9, accuracy_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(sourceAddress_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 10, sourceAddress_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(destinationAddress_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 11, destinationAddress_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      output.writeMessage(12, getSignalStrength());
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      output.writeMessage(13, getTxPower());
    }
    if (technology_ != com.craxiom.messaging.bluetooth.Technology.UNKNOWN.getNumber()) {
      output.writeEnum(14, technology_);
    }
    if (supportedTechnologies_ != com.craxiom.messaging.bluetooth.SupportedTechnologies.UNKNOWN.getNumber()) {
      output.writeEnum(15, supportedTechnologies_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(otaDeviceName_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 16, otaDeviceName_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      output.writeMessage(17, getChannel());
    }
    if (java.lang.Float.floatToRawIntBits(heading_) != 0) {
      output.writeFloat(50, heading_);
    }
    if (java.lang.Float.floatToRawIntBits(pitch_) != 0) {
      output.writeFloat(51, pitch_);
    }
    if (java.lang.Float.floatToRawIntBits(roll_) != 0) {
      output.writeFloat(52, roll_);
    }
    if (java.lang.Float.floatToRawIntBits(fieldOfView_) != 0) {
      output.writeFloat(53, fieldOfView_);
    }
    if (java.lang.Float.floatToRawIntBits(receiverSensitivity_) != 0) {
      output.writeFloat(54, receiverSensitivity_);
    }
    if (java.lang.Float.floatToRawIntBits(speed_) != 0) {
      output.writeFloat(55, speed_);
    }
    getUnknownFields().writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceSerialNumber_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(1, deviceSerialNumber_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceName_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(2, deviceName_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceTime_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(3, deviceTime_);
    }
    if (java.lang.Double.doubleToRawLongBits(latitude_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeDoubleSize(4, latitude_);
    }
    if (java.lang.Double.doubleToRawLongBits(longitude_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeDoubleSize(5, longitude_);
    }
    if (java.lang.Float.floatToRawIntBits(altitude_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(6, altitude_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(missionId_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(7, missionId_);
    }
    if (recordNumber_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(8, recordNumber_);
    }
    if (accuracy_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(9, accuracy_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(sourceAddress_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(10, sourceAddress_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(destinationAddress_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(11, destinationAddress_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(12, getSignalStrength());
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(13, getTxPower());
    }
    if (technology_ != com.craxiom.messaging.bluetooth.Technology.UNKNOWN.getNumber()) {
      size += com.google.protobuf.CodedOutputStream
        .computeEnumSize(14, technology_);
    }
    if (supportedTechnologies_ != com.craxiom.messaging.bluetooth.SupportedTechnologies.UNKNOWN.getNumber()) {
      size += com.google.protobuf.CodedOutputStream
        .computeEnumSize(15, supportedTechnologies_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(otaDeviceName_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(16, otaDeviceName_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(17, getChannel());
    }
    if (java.lang.Float.floatToRawIntBits(heading_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(50, heading_);
    }
    if (java.lang.Float.floatToRawIntBits(pitch_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(51, pitch_);
    }
    if (java.lang.Float.floatToRawIntBits(roll_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(52, roll_);
    }
    if (java.lang.Float.floatToRawIntBits(fieldOfView_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(53, fieldOfView_);
    }
    if (java.lang.Float.floatToRawIntBits(receiverSensitivity_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(54, receiverSensitivity_);
    }
    if (java.lang.Float.floatToRawIntBits(speed_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(55, speed_);
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof com.craxiom.messaging.BluetoothRecordData)) {
      return super.equals(obj);
    }
    com.craxiom.messaging.BluetoothRecordData other = (com.craxiom.messaging.BluetoothRecordData) obj;

    if (!getDeviceSerialNumber()
        .equals(other.getDeviceSerialNumber())) return false;
    if (!getDeviceName()
        .equals(other.getDeviceName())) return false;
    if (!getDeviceTime()
        .equals(other.getDeviceTime())) return false;
    if (java.lang.Double.doubleToLongBits(getLatitude())
        != java.lang.Double.doubleToLongBits(
            other.getLatitude())) return false;
    if (java.lang.Double.doubleToLongBits(getLongitude())
        != java.lang.Double.doubleToLongBits(
            other.getLongitude())) return false;
    if (java.lang.Float.floatToIntBits(getAltitude())
        != java.lang.Float.floatToIntBits(
            other.getAltitude())) return false;
    if (!getMissionId()
        .equals(other.getMissionId())) return false;
    if (getRecordNumber()
        != other.getRecordNumber()) return false;
    if (getAccuracy()
        != other.getAccuracy()) return false;
    if (java.lang.Float.floatToIntBits(getHeading())
        != java.lang.Float.floatToIntBits(
            other.getHeading())) return false;
    if (java.lang.Float.floatToIntBits(getPitch())
        != java.lang.Float.floatToIntBits(
            other.getPitch())) return false;
    if (java.lang.Float.floatToIntBits(getRoll())
        != java.lang.Float.floatToIntBits(
            other.getRoll())) return false;
    if (java.lang.Float.floatToIntBits(getFieldOfView())
        != java.lang.Float.floatToIntBits(
            other.getFieldOfView())) return false;
    if (java.lang.Float.floatToIntBits(getReceiverSensitivity())
        != java.lang.Float.floatToIntBits(
            other.getReceiverSensitivity())) return false;
    if (java.lang.Float.floatToIntBits(getSpeed())
        != java.lang.Float.floatToIntBits(
            other.getSpeed())) return false;
    if (!getSourceAddress()
        .equals(other.getSourceAddress())) return false;
    if (!getDestinationAddress()
        .equals(other.getDestinationAddress())) return false;
    if (hasSignalStrength() != other.hasSignalStrength()) return false;
    if (hasSignalStrength()) {
      if (!getSignalStrength()
          .equals(other.getSignalStrength())) return false;
    }
    if (hasTxPower() != other.hasTxPower()) return false;
    if (hasTxPower()) {
      if (!getTxPower()
          .equals(other.getTxPower())) return false;
    }
    if (technology_ != other.technology_) return false;
    if (supportedTechnologies_ != other.supportedTechnologies_) return false;
    if (!getOtaDeviceName()
        .equals(other.getOtaDeviceName())) return false;
    if (hasChannel() != other.hasChannel()) return false;
    if (hasChannel()) {
      if (!getChannel()
          .equals(other.getChannel())) return false;
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + DEVICESERIALNUMBER_FIELD_NUMBER;
    hash = (53 * hash) + getDeviceSerialNumber().hashCode();
    hash = (37 * hash) + DEVICENAME_FIELD_NUMBER;
    hash = (53 * hash) + getDeviceName().hashCode();
    hash = (37 * hash) + DEVICETIME_FIELD_NUMBER;
    hash = (53 * hash) + getDeviceTime().hashCode();
    hash = (37 * hash) + LATITUDE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        java.lang.Double.doubleToLongBits(getLatitude()));
    hash = (37 * hash) + LONGITUDE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        java.lang.Double.doubleToLongBits(getLongitude()));
    hash = (37 * hash) + ALTITUDE_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getAltitude());
    hash = (37 * hash) + MISSIONID_FIELD_NUMBER;
    hash = (53 * hash) + getMissionId().hashCode();
    hash = (37 * hash) + RECORDNUMBER_FIELD_NUMBER;
    hash = (53 * hash) + getRecordNumber();
    hash = (37 * hash) + ACCURACY_FIELD_NUMBER;
    hash = (53 * hash) + getAccuracy();
    hash = (37 * hash) + HEADING_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getHeading());
    hash = (37 * hash) + PITCH_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getPitch());
    hash = (37 * hash) + ROLL_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getRoll());
    hash = (37 * hash) + FIELDOFVIEW_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getFieldOfView());
    hash = (37 * hash) + RECEIVERSENSITIVITY_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getReceiverSensitivity());
    hash = (37 * hash) + SPEED_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getSpeed());
    hash = (37 * hash) + SOURCEADDRESS_FIELD_NUMBER;
    hash = (53 * hash) + getSourceAddress().hashCode();
    hash = (37 * hash) + DESTINATIONADDRESS_FIELD_NUMBER;
    hash = (53 * hash) + getDestinationAddress().hashCode();
    if (hasSignalStrength()) {
      hash = (37 * hash) + SIGNALSTRENGTH_FIELD_NUMBER;
      hash = (53 * hash) + getSignalStrength().hashCode();
    }
    if (hasTxPower()) {
      hash = (37 * hash) + TXPOWER_FIELD_NUMBER;
      hash = (53 * hash) + getTxPower().hashCode();
    }
    hash = (37 * hash) + TECHNOLOGY_FIELD_NUMBER;
    hash = (53 * hash) + technology_;
    hash = (37 * hash) + SUPPORTEDTECHNOLOGIES_FIELD_NUMBER;
    hash = (53 * hash) + supportedTechnologies_;
    hash = (37 * hash) + OTADEVICENAME_FIELD_NUMBER;
    hash = (53 * hash) + getOtaDeviceName().hashCode();
    if (hasChannel()) {
      hash = (37 * hash) + CHANNEL_FIELD_NUMBER;
      hash = (53 * hash) + getChannel().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.craxiom.messaging.BluetoothRecordData parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.craxiom.messaging.BluetoothRecordData parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.craxiom.messaging.BluetoothRecordData parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.craxiom.messaging.BluetoothRecordData parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.craxiom.messaging.BluetoothRecordData parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.craxiom.messaging.BluetoothRecordData parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.craxiom.messaging.BluetoothRecordData parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseWithIOException(PARSER, input);
  }
  public static com.craxiom.messaging.BluetoothRecordData parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  public static com.craxiom.messaging.BluetoothRecordData parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseDelimitedWithIOException(PARSER, input);
  }

  public static com.craxiom.messaging.BluetoothRecordData parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static com.craxiom.messaging.BluetoothRecordData parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseWithIOException(PARSER, input);
  }
  public static com.craxiom.messaging.BluetoothRecordData parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() { return newBuilder(); }
  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }
  public static Builder newBuilder(com.craxiom.messaging.BluetoothRecordData prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }
  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE
        ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(
      com.google.protobuf.GeneratedMessage.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code com.craxiom.messaging.BluetoothRecordData}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessage.Builder implements
      // @@protoc_insertion_point(builder_implements:com.craxiom.messaging.BluetoothRecordData)
      com.craxiom.messaging.BluetoothRecordDataOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.craxiom.messaging.BluetoothRecordOuterClass.internal_static_com_craxiom_messaging_BluetoothRecordData_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.craxiom.messaging.BluetoothRecordOuterClass.internal_static_com_craxiom_messaging_BluetoothRecordData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.craxiom.messaging.BluetoothRecordData.class, com.craxiom.messaging.BluetoothRecordData.Builder.class);
    }

    // Construct using com.craxiom.messaging.BluetoothRecordData.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessage
              .alwaysUseFieldBuilders) {
        getSignalStrengthFieldBuilder();
        getTxPowerFieldBuilder();
        getChannelFieldBuilder();
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      deviceSerialNumber_ = "";
      deviceName_ = "";
      deviceTime_ = "";
      latitude_ = 0D;
      longitude_ = 0D;
      altitude_ = 0F;
      missionId_ = "";
      recordNumber_ = 0;
      accuracy_ = 0;
      heading_ = 0F;
      pitch_ = 0F;
      roll_ = 0F;
      fieldOfView_ = 0F;
      receiverSensitivity_ = 0F;
      speed_ = 0F;
      sourceAddress_ = "";
      destinationAddress_ = "";
      signalStrength_ = null;
      if (signalStrengthBuilder_ != null) {
        signalStrengthBuilder_.dispose();
        signalStrengthBuilder_ = null;
      }
      txPower_ = null;
      if (txPowerBuilder_ != null) {
        txPowerBuilder_.dispose();
        txPowerBuilder_ = null;
      }
      technology_ = 0;
      supportedTechnologies_ = 0;
      otaDeviceName_ = "";
      channel_ = null;
      if (channelBuilder_ != null) {
        channelBuilder_.dispose();
        channelBuilder_ = null;
      }
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return com.craxiom.messaging.BluetoothRecordOuterClass.internal_static_com_craxiom_messaging_BluetoothRecordData_descriptor;
    }

    @java.lang.Override
    public com.craxiom.messaging.BluetoothRecordData getDefaultInstanceForType() {
      return com.craxiom.messaging.BluetoothRecordData.getDefaultInstance();
    }

    @java.lang.Override
    public com.craxiom.messaging.BluetoothRecordData build() {
      com.craxiom.messaging.BluetoothRecordData result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.craxiom.messaging.BluetoothRecordData buildPartial() {
      com.craxiom.messaging.BluetoothRecordData result = new com.craxiom.messaging.BluetoothRecordData(this);
      if (bitField0_ != 0) { buildPartial0(result); }
      onBuilt();
      return result;
    }

    private void buildPartial0(com.craxiom.messaging.BluetoothRecordData result) {
      int from_bitField0_ = bitField0_;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        result.deviceSerialNumber_ = deviceSerialNumber_;
      }
      if (((from_bitField0_ & 0x00000002) != 0)) {
        result.deviceName_ = deviceName_;
      }
      if (((from_bitField0_ & 0x00000004) != 0)) {
        result.deviceTime_ = deviceTime_;
      }
      if (((from_bitField0_ & 0x00000008) != 0)) {
        result.latitude_ = latitude_;
      }
      if (((from_bitField0_ & 0x00000010) != 0)) {
        result.longitude_ = longitude_;
      }
      if (((from_bitField0_ & 0x00000020) != 0)) {
        result.altitude_ = altitude_;
      }
      if (((from_bitField0_ & 0x00000040) != 0)) {
        result.missionId_ = missionId_;
      }
      if (((from_bitField0_ & 0x00000080) != 0)) {
        result.recordNumber_ = recordNumber_;
      }
      if (((from_bitField0_ & 0x00000100) != 0)) {
        result.accuracy_ = accuracy_;
      }
      if (((from_bitField0_ & 0x00000200) != 0)) {
        result.heading_ = heading_;
      }
      if (((from_bitField0_ & 0x00000400) != 0)) {
        result.pitch_ = pitch_;
      }
      if (((from_bitField0_ & 0x00000800) != 0)) {
        result.roll_ = roll_;
      }
      if (((from_bitField0_ & 0x00001000) != 0)) {
        result.fieldOfView_ = fieldOfView_;
      }
      if (((from_bitField0_ & 0x00002000) != 0)) {
        result.receiverSensitivity_ = receiverSensitivity_;
      }
      if (((from_bitField0_ & 0x00004000) != 0)) {
        result.speed_ = speed_;
      }
      if (((from_bitField0_ & 0x00008000) != 0)) {
        result.sourceAddress_ = sourceAddress_;
      }
      if (((from_bitField0_ & 0x00010000) != 0)) {
        result.destinationAddress_ = destinationAddress_;
      }
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00020000) != 0)) {
        result.signalStrength_ = signalStrengthBuilder_ == null
            ? signalStrength_
            : signalStrengthBuilder_.build();
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00040000) != 0)) {
        result.txPower_ = txPowerBuilder_ == null
            ? txPower_
            : txPowerBuilder_.build();
        to_bitField0_ |= 0x00000002;
      }
      if (((from_bitField0_ & 0x00080000) != 0)) {
        result.technology_ = technology_;
      }
      if (((from_bitField0_ & 0x00100000) != 0)) {
        result.supportedTechnologies_ = supportedTechnologies_;
      }
      if (((from_bitField0_ & 0x00200000) != 0)) {
        result.otaDeviceName_ = otaDeviceName_;
      }
      if (((from_bitField0_ & 0x00400000) != 0)) {
        result.channel_ = channelBuilder_ == null
            ? channel_
            : channelBuilder_.build();
        to_bitField0_ |= 0x00000004;
      }
      result.bitField0_ |= to_bitField0_;
    }

    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof com.craxiom.messaging.BluetoothRecordData) {
        return mergeFrom((com.craxiom.messaging.BluetoothRecordData)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.craxiom.messaging.BluetoothRecordData other) {
      if (other == com.craxiom.messaging.BluetoothRecordData.getDefaultInstance()) return this;
      if (!other.getDeviceSerialNumber().isEmpty()) {
        deviceSerialNumber_ = other.deviceSerialNumber_;
        bitField0_ |= 0x00000001;
        onChanged();
      }
      if (!other.getDeviceName().isEmpty()) {
        deviceName_ = other.deviceName_;
        bitField0_ |= 0x00000002;
        onChanged();
      }
      if (!other.getDeviceTime().isEmpty()) {
        deviceTime_ = other.deviceTime_;
        bitField0_ |= 0x00000004;
        onChanged();
      }
      if (other.getLatitude() != 0D) {
        setLatitude(other.getLatitude());
      }
      if (other.getLongitude() != 0D) {
        setLongitude(other.getLongitude());
      }
      if (other.getAltitude() != 0F) {
        setAltitude(other.getAltitude());
      }
      if (!other.getMissionId().isEmpty()) {
        missionId_ = other.missionId_;
        bitField0_ |= 0x00000040;
        onChanged();
      }
      if (other.getRecordNumber() != 0) {
        setRecordNumber(other.getRecordNumber());
      }
      if (other.getAccuracy() != 0) {
        setAccuracy(other.getAccuracy());
      }
      if (other.getHeading() != 0F) {
        setHeading(other.getHeading());
      }
      if (other.getPitch() != 0F) {
        setPitch(other.getPitch());
      }
      if (other.getRoll() != 0F) {
        setRoll(other.getRoll());
      }
      if (other.getFieldOfView() != 0F) {
        setFieldOfView(other.getFieldOfView());
      }
      if (other.getReceiverSensitivity() != 0F) {
        setReceiverSensitivity(other.getReceiverSensitivity());
      }
      if (other.getSpeed() != 0F) {
        setSpeed(other.getSpeed());
      }
      if (!other.getSourceAddress().isEmpty()) {
        sourceAddress_ = other.sourceAddress_;
        bitField0_ |= 0x00008000;
        onChanged();
      }
      if (!other.getDestinationAddress().isEmpty()) {
        destinationAddress_ = other.destinationAddress_;
        bitField0_ |= 0x00010000;
        onChanged();
      }
      if (other.hasSignalStrength()) {
        mergeSignalStrength(other.getSignalStrength());
      }
      if (other.hasTxPower()) {
        mergeTxPower(other.getTxPower());
      }
      if (other.technology_ != 0) {
        setTechnologyValue(other.getTechnologyValue());
      }
      if (other.supportedTechnologies_ != 0) {
        setSupportedTechnologiesValue(other.getSupportedTechnologiesValue());
      }
      if (!other.getOtaDeviceName().isEmpty()) {
        otaDeviceName_ = other.otaDeviceName_;
        bitField0_ |= 0x00200000;
        onChanged();
      }
      if (other.hasChannel()) {
        mergeChannel(other.getChannel());
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              deviceSerialNumber_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000001;
              break;
            } // case 10
            case 18: {
              deviceName_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000002;
              break;
            } // case 18
            case 26: {
              deviceTime_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000004;
              break;
            } // case 26
            case 33: {
              latitude_ = input.readDouble();
              bitField0_ |= 0x00000008;
              break;
            } // case 33
            case 41: {
              longitude_ = input.readDouble();
              bitField0_ |= 0x00000010;
              break;
            } // case 41
            case 53: {
              altitude_ = input.readFloat();
              bitField0_ |= 0x00000020;
              break;
            } // case 53
            case 58: {
              missionId_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000040;
              break;
            } // case 58
            case 64: {
              recordNumber_ = input.readInt32();
              bitField0_ |= 0x00000080;
              break;
            } // case 64
            case 72: {
              accuracy_ = input.readInt32();
              bitField0_ |= 0x00000100;
              break;
            } // case 72
            case 82: {
              sourceAddress_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00008000;
              break;
            } // case 82
            case 90: {
              destinationAddress_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00010000;
              break;
            } // case 90
            case 98: {
              input.readMessage(
                  getSignalStrengthFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00020000;
              break;
            } // case 98
            case 106: {
              input.readMessage(
                  getTxPowerFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00040000;
              break;
            } // case 106
            case 112: {
              technology_ = input.readEnum();
              bitField0_ |= 0x00080000;
              break;
            } // case 112
            case 120: {
              supportedTechnologies_ = input.readEnum();
              bitField0_ |= 0x00100000;
              break;
            } // case 120
            case 130: {
              otaDeviceName_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00200000;
              break;
            } // case 130
            case 138: {
              input.readMessage(
                  getChannelFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00400000;
              break;
            } // case 138
            case 405: {
              heading_ = input.readFloat();
              bitField0_ |= 0x00000200;
              break;
            } // case 405
            case 413: {
              pitch_ = input.readFloat();
              bitField0_ |= 0x00000400;
              break;
            } // case 413
            case 421: {
              roll_ = input.readFloat();
              bitField0_ |= 0x00000800;
              break;
            } // case 421
            case 429: {
              fieldOfView_ = input.readFloat();
              bitField0_ |= 0x00001000;
              break;
            } // case 429
            case 437: {
              receiverSensitivity_ = input.readFloat();
              bitField0_ |= 0x00002000;
              break;
            } // case 437
            case 445: {
              speed_ = input.readFloat();
              bitField0_ |= 0x00004000;
              break;
            } // case 445
            default: {
              if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                done = true; // was an endgroup tag
              }
              break;
            } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }
    private int bitField0_;

    private java.lang.Object deviceSerialNumber_ = "";
    /**
     * string deviceSerialNumber = 1;
     * @return The deviceSerialNumber.
     */
    public java.lang.String getDeviceSerialNumber() {
      java.lang.Object ref = deviceSerialNumber_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        deviceSerialNumber_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string deviceSerialNumber = 1;
     * @return The bytes for deviceSerialNumber.
     */
    public com.google.protobuf.ByteString
        getDeviceSerialNumberBytes() {
      java.lang.Object ref = deviceSerialNumber_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deviceSerialNumber_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string deviceSerialNumber = 1;
     * @param value The deviceSerialNumber to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceSerialNumber(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      deviceSerialNumber_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }
    /**
     * string deviceSerialNumber = 1;
     * @return This builder for chaining.
     */
    public Builder clearDeviceSerialNumber() {
      deviceSerialNumber_ = getDefaultInstance().getDeviceSerialNumber();
      bitField0_ = (bitField0_ & ~0x00000001);
      onChanged();
      return this;
    }
    /**
     * string deviceSerialNumber = 1;
     * @param value The bytes for deviceSerialNumber to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceSerialNumberBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      deviceSerialNumber_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }

    private java.lang.Object deviceName_ = "";
    /**
     * string deviceName = 2;
     * @return The deviceName.
     */
    public java.lang.String getDeviceName() {
      java.lang.Object ref = deviceName_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        deviceName_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string deviceName = 2;
     * @return The bytes for deviceName.
     */
    public com.google.protobuf.ByteString
        getDeviceNameBytes() {
      java.lang.Object ref = deviceName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deviceName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string deviceName = 2;
     * @param value The deviceName to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceName(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      deviceName_ = value;
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     * string deviceName = 2;
     * @return This builder for chaining.
     */
    public Builder clearDeviceName() {
      deviceName_ = getDefaultInstance().getDeviceName();
      bitField0_ = (bitField0_ & ~0x00000002);
      onChanged();
      return this;
    }
    /**
     * string deviceName = 2;
     * @param value The bytes for deviceName to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      deviceName_ = value;
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }

    private java.lang.Object deviceTime_ = "";
    /**
     * string deviceTime = 3;
     * @return The deviceTime.
     */
    public java.lang.String getDeviceTime() {
      java.lang.Object ref = deviceTime_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        deviceTime_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string deviceTime = 3;
     * @return The bytes for deviceTime.
     */
    public com.google.protobuf.ByteString
        getDeviceTimeBytes() {
      java.lang.Object ref = deviceTime_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deviceTime_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string deviceTime = 3;
     * @param value The deviceTime to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceTime(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      deviceTime_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }
    /**
     * string deviceTime = 3;
     * @return This builder for chaining.
     */
    public Builder clearDeviceTime() {
      deviceTime_ = getDefaultInstance().getDeviceTime();
      bitField0_ = (bitField0_ & ~0x00000004);
      onChanged();
      return this;
    }
    /**
     * string deviceTime = 3;
     * @param value The bytes for deviceTime to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceTimeBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      deviceTime_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }

    private double latitude_ ;
    /**
     * double latitude = 4;
     * @return The latitude.
     */
    @java.lang.Override
    public double getLatitude() {
      return latitude_;
    }
    /**
     * double latitude = 4;
     * @param value The latitude to set.
     * @return This builder for chaining.
     */
    public Builder setLatitude(double value) {

      latitude_ = value;
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }
    /**
     * double latitude = 4;
     * @return This builder for chaining.
     */
    public Builder clearLatitude() {
      bitField0_ = (bitField0_ & ~0x00000008);
      latitude_ = 0D;
      onChanged();
      return this;
    }

    private double longitude_ ;
    /**
     * double longitude = 5;
     * @return The longitude.
     */
    @java.lang.Override
    public double getLongitude() {
      return longitude_;
    }
    /**
     * double longitude = 5;
     * @param value The longitude to set.
     * @return This builder for chaining.
     */
    public Builder setLongitude(double value) {

      longitude_ = value;
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     * double longitude = 5;
     * @return This builder for chaining.
     */
    public Builder clearLongitude() {
      bitField0_ = (bitField0_ & ~0x00000010);
      longitude_ = 0D;
      onChanged();
      return this;
    }

    private float altitude_ ;
    /**
     * float altitude = 6;
     * @return The altitude.
     */
    @java.lang.Override
    public float getAltitude() {
      return altitude_;
    }
    /**
     * float altitude = 6;
     * @param value The altitude to set.
     * @return This builder for chaining.
     */
    public Builder setAltitude(float value) {

      altitude_ = value;
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }
    /**
     * float altitude = 6;
     * @return This builder for chaining.
     */
    public Builder clearAltitude() {
      bitField0_ = (bitField0_ & ~0x00000020);
      altitude_ = 0F;
      onChanged();
      return this;
    }

    private java.lang.Object missionId_ = "";
    /**
     * string missionId = 7;
     * @return The missionId.
     */
    public java.lang.String getMissionId() {
      java.lang.Object ref = missionId_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        missionId_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string missionId = 7;
     * @return The bytes for missionId.
     */
    public com.google.protobuf.ByteString
        getMissionIdBytes() {
      java.lang.Object ref = missionId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        missionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string missionId = 7;
     * @param value The missionId to set.
     * @return This builder for chaining.
     */
    public Builder setMissionId(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      missionId_ = value;
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     * string missionId = 7;
     * @return This builder for chaining.
     */
    public Builder clearMissionId() {
      missionId_ = getDefaultInstance().getMissionId();
      bitField0_ = (bitField0_ & ~0x00000040);
      onChanged();
      return this;
    }
    /**
     * string missionId = 7;
     * @param value The bytes for missionId to set.
     * @return This builder for chaining.
     */
    public Builder setMissionIdBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      missionId_ = value;
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }

    private int recordNumber_ ;
    /**
     * int32 recordNumber = 8;
     * @return The recordNumber.
     */
    @java.lang.Override
    public int getRecordNumber() {
      return recordNumber_;
    }
    /**
     * int32 recordNumber = 8;
     * @param value The recordNumber to set.
     * @return This builder for chaining.
     */
    public Builder setRecordNumber(int value) {

      recordNumber_ = value;
      bitField0_ |= 0x00000080;
      onChanged();
      return this;
    }
    /**
     * int32 recordNumber = 8;
     * @return This builder for chaining.
     */
    public Builder clearRecordNumber() {
      bitField0_ = (bitField0_ & ~0x00000080);
      recordNumber_ = 0;
      onChanged();
      return this;
    }

    private int accuracy_ ;
    /**
     * int32 accuracy = 9;
     * @return The accuracy.
     */
    @java.lang.Override
    public int getAccuracy() {
      return accuracy_;
    }
    /**
     * int32 accuracy = 9;
     * @param value The accuracy to set.
     * @return This builder for chaining.
     */
    public Builder setAccuracy(int value) {

      accuracy_ = value;
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     * int32 accuracy = 9;
     * @return This builder for chaining.
     */
    public Builder clearAccuracy() {
      bitField0_ = (bitField0_ & ~0x00000100);
      accuracy_ = 0;
      onChanged();
      return this;
    }

    private float heading_ ;
    /**
     * float heading = 50;
     * @return The heading.
     */
    @java.lang.Override
    public float getHeading() {
      return heading_;
    }
    /**
     * float heading = 50;
     * @param value The heading to set.
     * @return This builder for chaining.
     */
    public Builder setHeading(float value) {

      heading_ = value;
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }
    /**
     * float heading = 50;
     * @return This builder for chaining.
     */
    public Builder clearHeading() {
      bitField0_ = (bitField0_ & ~0x00000200);
      heading_ = 0F;
      onChanged();
      return this;
    }

    private float pitch_ ;
    /**
     * float pitch = 51;
     * @return The pitch.
     */
    @java.lang.Override
    public float getPitch() {
      return pitch_;
    }
    /**
     * float pitch = 51;
     * @param value The pitch to set.
     * @return This builder for chaining.
     */
    public Builder setPitch(float value) {

      pitch_ = value;
      bitField0_ |= 0x00000400;
      onChanged();
      return this;
    }
    /**
     * float pitch = 51;
     * @return This builder for chaining.
     */
    public Builder clearPitch() {
      bitField0_ = (bitField0_ & ~0x00000400);
      pitch_ = 0F;
      onChanged();
      return this;
    }

    private float roll_ ;
    /**
     * float roll = 52;
     * @return The roll.
     */
    @java.lang.Override
    public float getRoll() {
      return roll_;
    }
    /**
     * float roll = 52;
     * @param value The roll to set.
     * @return This builder for chaining.
     */
    public Builder setRoll(float value) {

      roll_ = value;
      bitField0_ |= 0x00000800;
      onChanged();
      return this;
    }
    /**
     * float roll = 52;
     * @return This builder for chaining.
     */
    public Builder clearRoll() {
      bitField0_ = (bitField0_ & ~0x00000800);
      roll_ = 0F;
      onChanged();
      return this;
    }

    private float fieldOfView_ ;
    /**
     * float fieldOfView = 53;
     * @return The fieldOfView.
     */
    @java.lang.Override
    public float getFieldOfView() {
      return fieldOfView_;
    }
    /**
     * float fieldOfView = 53;
     * @param value The fieldOfView to set.
     * @return This builder for chaining.
     */
    public Builder setFieldOfView(float value) {

      fieldOfView_ = value;
      bitField0_ |= 0x00001000;
      onChanged();
      return this;
    }
    /**
     * float fieldOfView = 53;
     * @return This builder for chaining.
     */
    public Builder clearFieldOfView() {
      bitField0_ = (bitField0_ & ~0x00001000);
      fieldOfView_ = 0F;
      onChanged();
      return this;
    }

    private float receiverSensitivity_ ;
    /**
     * float receiverSensitivity = 54;
     * @return The receiverSensitivity.
     */
    @java.lang.Override
    public float getReceiverSensitivity() {
      return receiverSensitivity_;
    }
    /**
     * float receiverSensitivity = 54;
     * @param value The receiverSensitivity to set.
     * @return This builder for chaining.
     */
    public Builder setReceiverSensitivity(float value) {

      receiverSensitivity_ = value;
      bitField0_ |= 0x00002000;
      onChanged();
      return this;
    }
    /**
     * float receiverSensitivity = 54;
     * @return This builder for chaining.
     */
    public Builder clearReceiverSensitivity() {
      bitField0_ = (bitField0_ & ~0x00002000);
      receiverSensitivity_ = 0F;
      onChanged();
      return this;
    }

    private float speed_ ;
    /**
     * float speed = 55;
     * @return The speed.
     */
    @java.lang.Override
    public float getSpeed() {
      return speed_;
    }
    /**
     * float speed = 55;
     * @param value The speed to set.
     * @return This builder for chaining.
     */
    public Builder setSpeed(float value) {

      speed_ = value;
      bitField0_ |= 0x00004000;
      onChanged();
      return this;
    }
    /**
     * float speed = 55;
     * @return This builder for chaining.
     */
    public Builder clearSpeed() {
      bitField0_ = (bitField0_ & ~0x00004000);
      speed_ = 0F;
      onChanged();
      return this;
    }

    private java.lang.Object sourceAddress_ = "";
    /**
     * string sourceAddress = 10;
     * @return The sourceAddress.
     */
    public java.lang.String getSourceAddress() {
      java.lang.Object ref = sourceAddress_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        sourceAddress_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string sourceAddress = 10;
     * @return The bytes for sourceAddress.
     */
    public com.google.protobuf.ByteString
        getSourceAddressBytes() {
      java.lang.Object ref = sourceAddress_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        sourceAddress_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string sourceAddress = 10;
     * @param value The sourceAddress to set.
     * @return This builder for chaining.
     */
    public Builder setSourceAddress(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      sourceAddress_ = value;
      bitField0_ |= 0x00008000;
      onChanged();
      return this;
    }
    /**
     * string sourceAddress = 10;
     * @return This builder for chaining.
     */
    public Builder clearSourceAddress() {
      sourceAddress_ = getDefaultInstance().getSourceAddress();
      bitField0_ = (bitField0_ & ~0x00008000);
      onChanged();
      return this;
    }
    /**
     * string sourceAddress = 10;
     * @param value The bytes for sourceAddress to set.
     * @return This builder for chaining.
     */
    public Builder setSourceAddressBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      sourceAddress_ = value;
      bitField0_ |= 0x00008000;
      onChanged();
      return this;
    }

    private java.lang.Object destinationAddress_ = "";
    /**
     * string destinationAddress = 11;
     * @return The destinationAddress.
     */
    public java.lang.String getDestinationAddress() {
      java.lang.Object ref = destinationAddress_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        destinationAddress_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string destinationAddress = 11;
     * @return The bytes for destinationAddress.
     */
    public com.google.protobuf.ByteString
        getDestinationAddressBytes() {
      java.lang.Object ref = destinationAddress_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        destinationAddress_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string destinationAddress = 11;
     * @param value The destinationAddress to set.
     * @return This builder for chaining.
     */
    public Builder setDestinationAddress(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      destinationAddress_ = value;
      bitField0_ |= 0x00010000;
      onChanged();
      return this;
    }
    /**
     * string destinationAddress = 11;
     * @return This builder for chaining.
     */
    public Builder clearDestinationAddress() {
      destinationAddress_ = getDefaultInstance().getDestinationAddress();
      bitField0_ = (bitField0_ & ~0x00010000);
      onChanged();
      return this;
    }
    /**
     * string destinationAddress = 11;
     * @param value The bytes for destinationAddress to set.
     * @return This builder for chaining.
     */
    public Builder setDestinationAddressBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      destinationAddress_ = value;
      bitField0_ |= 0x00010000;
      onChanged();
      return this;
    }

    private com.google.protobuf.FloatValue signalStrength_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> signalStrengthBuilder_;
    /**
     * .google.protobuf.FloatValue signalStrength = 12;
     * @return Whether the signalStrength field is set.
     */
    public boolean hasSignalStrength() {
      return ((bitField0_ & 0x00020000) != 0);
    }
    /**
     * .google.protobuf.FloatValue signalStrength = 12;
     * @return The signalStrength.
     */
    public com.google.protobuf.FloatValue getSignalStrength() {
      if (signalStrengthBuilder_ == null) {
        return signalStrength_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : signalStrength_;
      } else {
        return signalStrengthBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.FloatValue signalStrength = 12;
     */
    public Builder setSignalStrength(com.google.protobuf.FloatValue value) {
      if (signalStrengthBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        signalStrength_ = value;
      } else {
        signalStrengthBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00020000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue signalStrength = 12;
     */
    public Builder setSignalStrength(
        com.google.protobuf.FloatValue.Builder builderForValue) {
      if (signalStrengthBuilder_ == null) {
        signalStrength_ = builderForValue.build();
      } else {
        signalStrengthBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00020000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue signalStrength = 12;
     */
    public Builder mergeSignalStrength(com.google.protobuf.FloatValue value) {
      if (signalStrengthBuilder_ == null) {
        if (((bitField0_ & 0x00020000) != 0) &&
          signalStrength_ != null &&
          signalStrength_ != com.google.protobuf.FloatValue.getDefaultInstance()) {
          getSignalStrengthBuilder().mergeFrom(value);
        } else {
          signalStrength_ = value;
        }
      } else {
        signalStrengthBuilder_.mergeFrom(value);
      }
      if (signalStrength_ != null) {
        bitField0_ |= 0x00020000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.FloatValue signalStrength = 12;
     */
    public Builder clearSignalStrength() {
      bitField0_ = (bitField0_ & ~0x00020000);
      signalStrength_ = null;
      if (signalStrengthBuilder_ != null) {
        signalStrengthBuilder_.dispose();
        signalStrengthBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue signalStrength = 12;
     */
    public com.google.protobuf.FloatValue.Builder getSignalStrengthBuilder() {
      bitField0_ |= 0x00020000;
      onChanged();
      return getSignalStrengthFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.FloatValue signalStrength = 12;
     */
    public com.google.protobuf.FloatValueOrBuilder getSignalStrengthOrBuilder() {
      if (signalStrengthBuilder_ != null) {
        return signalStrengthBuilder_.getMessageOrBuilder();
      } else {
        return signalStrength_ == null ?
            com.google.protobuf.FloatValue.getDefaultInstance() : signalStrength_;
      }
    }
    /**
     * .google.protobuf.FloatValue signalStrength = 12;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> 
        getSignalStrengthFieldBuilder() {
      if (signalStrengthBuilder_ == null) {
        signalStrengthBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder>(
                getSignalStrength(),
                getParentForChildren(),
                isClean());
        signalStrength_ = null;
      }
      return signalStrengthBuilder_;
    }

    private com.google.protobuf.FloatValue txPower_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> txPowerBuilder_;
    /**
     * .google.protobuf.FloatValue txPower = 13;
     * @return Whether the txPower field is set.
     */
    public boolean hasTxPower() {
      return ((bitField0_ & 0x00040000) != 0);
    }
    /**
     * .google.protobuf.FloatValue txPower = 13;
     * @return The txPower.
     */
    public com.google.protobuf.FloatValue getTxPower() {
      if (txPowerBuilder_ == null) {
        return txPower_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : txPower_;
      } else {
        return txPowerBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.FloatValue txPower = 13;
     */
    public Builder setTxPower(com.google.protobuf.FloatValue value) {
      if (txPowerBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        txPower_ = value;
      } else {
        txPowerBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00040000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue txPower = 13;
     */
    public Builder setTxPower(
        com.google.protobuf.FloatValue.Builder builderForValue) {
      if (txPowerBuilder_ == null) {
        txPower_ = builderForValue.build();
      } else {
        txPowerBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00040000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue txPower = 13;
     */
    public Builder mergeTxPower(com.google.protobuf.FloatValue value) {
      if (txPowerBuilder_ == null) {
        if (((bitField0_ & 0x00040000) != 0) &&
          txPower_ != null &&
          txPower_ != com.google.protobuf.FloatValue.getDefaultInstance()) {
          getTxPowerBuilder().mergeFrom(value);
        } else {
          txPower_ = value;
        }
      } else {
        txPowerBuilder_.mergeFrom(value);
      }
      if (txPower_ != null) {
        bitField0_ |= 0x00040000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.FloatValue txPower = 13;
     */
    public Builder clearTxPower() {
      bitField0_ = (bitField0_ & ~0x00040000);
      txPower_ = null;
      if (txPowerBuilder_ != null) {
        txPowerBuilder_.dispose();
        txPowerBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue txPower = 13;
     */
    public com.google.protobuf.FloatValue.Builder getTxPowerBuilder() {
      bitField0_ |= 0x00040000;
      onChanged();
      return getTxPowerFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.FloatValue txPower = 13;
     */
    public com.google.protobuf.FloatValueOrBuilder getTxPowerOrBuilder() {
      if (txPowerBuilder_ != null) {
        return txPowerBuilder_.getMessageOrBuilder();
      } else {
        return txPower_ == null ?
            com.google.protobuf.FloatValue.getDefaultInstance() : txPower_;
      }
    }
    /**
     * .google.protobuf.FloatValue txPower = 13;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> 
        getTxPowerFieldBuilder() {
      if (txPowerBuilder_ == null) {
        txPowerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder>(
                getTxPower(),
                getParentForChildren(),
                isClean());
        txPower_ = null;
      }
      return txPowerBuilder_;
    }

    private int technology_ = 0;
    /**
     * .com.craxiom.messaging.bluetooth.tech.Technology technology = 14;
     * @return The enum numeric value on the wire for technology.
     */
    @java.lang.Override public int getTechnologyValue() {
      return technology_;
    }
    /**
     * .com.craxiom.messaging.bluetooth.tech.Technology technology = 14;
     * @param value The enum numeric value on the wire for technology to set.
     * @return This builder for chaining.
     */
    public Builder setTechnologyValue(int value) {
      technology_ = value;
      bitField0_ |= 0x00080000;
      onChanged();
      return this;
    }
    /**
     * .com.craxiom.messaging.bluetooth.tech.Technology technology = 14;
     * @return The technology.
     */
    @java.lang.Override
    public com.craxiom.messaging.bluetooth.Technology getTechnology() {
      com.craxiom.messaging.bluetooth.Technology result = com.craxiom.messaging.bluetooth.Technology.forNumber(technology_);
      return result == null ? com.craxiom.messaging.bluetooth.Technology.UNRECOGNIZED : result;
    }
    /**
     * .com.craxiom.messaging.bluetooth.tech.Technology technology = 14;
     * @param value The technology to set.
     * @return This builder for chaining.
     */
    public Builder setTechnology(com.craxiom.messaging.bluetooth.Technology value) {
      if (value == null) {
        throw new NullPointerException();
      }
      bitField0_ |= 0x00080000;
      technology_ = value.getNumber();
      onChanged();
      return this;
    }
    /**
     * .com.craxiom.messaging.bluetooth.tech.Technology technology = 14;
     * @return This builder for chaining.
     */
    public Builder clearTechnology() {
      bitField0_ = (bitField0_ & ~0x00080000);
      technology_ = 0;
      onChanged();
      return this;
    }

    private int supportedTechnologies_ = 0;
    /**
     * .com.craxiom.messaging.bluetooth.supportedtech.SupportedTechnologies supportedTechnologies = 15;
     * @return The enum numeric value on the wire for supportedTechnologies.
     */
    @java.lang.Override public int getSupportedTechnologiesValue() {
      return supportedTechnologies_;
    }
    /**
     * .com.craxiom.messaging.bluetooth.supportedtech.SupportedTechnologies supportedTechnologies = 15;
     * @param value The enum numeric value on the wire for supportedTechnologies to set.
     * @return This builder for chaining.
     */
    public Builder setSupportedTechnologiesValue(int value) {
      supportedTechnologies_ = value;
      bitField0_ |= 0x00100000;
      onChanged();
      return this;
    }
    /**
     * .com.craxiom.messaging.bluetooth.supportedtech.SupportedTechnologies supportedTechnologies = 15;
     * @return The supportedTechnologies.
     */
    @java.lang.Override
    public com.craxiom.messaging.bluetooth.SupportedTechnologies getSupportedTechnologies() {
      com.craxiom.messaging.bluetooth.SupportedTechnologies result = com.craxiom.messaging.bluetooth.SupportedTechnologies.forNumber(supportedTechnologies_);
      return result == null ? com.craxiom.messaging.bluetooth.SupportedTechnologies.UNRECOGNIZED : result;
    }
    /**
     * .com.craxiom.messaging.bluetooth.supportedtech.SupportedTechnologies supportedTechnologies = 15;
     * @param value The supportedTechnologies to set.
     * @return This builder for chaining.
     */
    public Builder setSupportedTechnologies(com.craxiom.messaging.bluetooth.SupportedTechnologies value) {
      if (value == null) {
        throw new NullPointerException();
      }
      bitField0_ |= 0x00100000;
      supportedTechnologies_ = value.getNumber();
      onChanged();
      return this;
    }
    /**
     * .com.craxiom.messaging.bluetooth.supportedtech.SupportedTechnologies supportedTechnologies = 15;
     * @return This builder for chaining.
     */
    public Builder clearSupportedTechnologies() {
      bitField0_ = (bitField0_ & ~0x00100000);
      supportedTechnologies_ = 0;
      onChanged();
      return this;
    }

    private java.lang.Object otaDeviceName_ = "";
    /**
     * string otaDeviceName = 16;
     * @return The otaDeviceName.
     */
    public java.lang.String getOtaDeviceName() {
      java.lang.Object ref = otaDeviceName_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        otaDeviceName_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string otaDeviceName = 16;
     * @return The bytes for otaDeviceName.
     */
    public com.google.protobuf.ByteString
        getOtaDeviceNameBytes() {
      java.lang.Object ref = otaDeviceName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        otaDeviceName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string otaDeviceName = 16;
     * @param value The otaDeviceName to set.
     * @return This builder for chaining.
     */
    public Builder setOtaDeviceName(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      otaDeviceName_ = value;
      bitField0_ |= 0x00200000;
      onChanged();
      return this;
    }
    /**
     * string otaDeviceName = 16;
     * @return This builder for chaining.
     */
    public Builder clearOtaDeviceName() {
      otaDeviceName_ = getDefaultInstance().getOtaDeviceName();
      bitField0_ = (bitField0_ & ~0x00200000);
      onChanged();
      return this;
    }
    /**
     * string otaDeviceName = 16;
     * @param value The bytes for otaDeviceName to set.
     * @return This builder for chaining.
     */
    public Builder setOtaDeviceNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      otaDeviceName_ = value;
      bitField0_ |= 0x00200000;
      onChanged();
      return this;
    }

    private com.google.protobuf.Int32Value channel_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.Int32Value, com.google.protobuf.Int32Value.Builder, com.google.protobuf.Int32ValueOrBuilder> channelBuilder_;
    /**
     * .google.protobuf.Int32Value channel = 17;
     * @return Whether the channel field is set.
     */
    public boolean hasChannel() {
      return ((bitField0_ & 0x00400000) != 0);
    }
    /**
     * .google.protobuf.Int32Value channel = 17;
     * @return The channel.
     */
    public com.google.protobuf.Int32Value getChannel() {
      if (channelBuilder_ == null) {
        return channel_ == null ? com.google.protobuf.Int32Value.getDefaultInstance() : channel_;
      } else {
        return channelBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.Int32Value channel = 17;
     */
    public Builder setChannel(com.google.protobuf.Int32Value value) {
      if (channelBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        channel_ = value;
      } else {
        channelBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00400000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.Int32Value channel = 17;
     */
    public Builder setChannel(
        com.google.protobuf.Int32Value.Builder builderForValue) {
      if (channelBuilder_ == null) {
        channel_ = builderForValue.build();
      } else {
        channelBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00400000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.Int32Value channel = 17;
     */
    public Builder mergeChannel(com.google.protobuf.Int32Value value) {
      if (channelBuilder_ == null) {
        if (((bitField0_ & 0x00400000) != 0) &&
          channel_ != null &&
          channel_ != com.google.protobuf.Int32Value.getDefaultInstance()) {
          getChannelBuilder().mergeFrom(value);
        } else {
          channel_ = value;
        }
      } else {
        channelBuilder_.mergeFrom(value);
      }
      if (channel_ != null) {
        bitField0_ |= 0x00400000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.Int32Value channel = 17;
     */
    public Builder clearChannel() {
      bitField0_ = (bitField0_ & ~0x00400000);
      channel_ = null;
      if (channelBuilder_ != null) {
        channelBuilder_.dispose();
        channelBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.Int32Value channel = 17;
     */
    public com.google.protobuf.Int32Value.Builder getChannelBuilder() {
      bitField0_ |= 0x00400000;
      onChanged();
      return getChannelFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.Int32Value channel = 17;
     */
    public com.google.protobuf.Int32ValueOrBuilder getChannelOrBuilder() {
      if (channelBuilder_ != null) {
        return channelBuilder_.getMessageOrBuilder();
      } else {
        return channel_ == null ?
            com.google.protobuf.Int32Value.getDefaultInstance() : channel_;
      }
    }
    /**
     * .google.protobuf.Int32Value channel = 17;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.Int32Value, com.google.protobuf.Int32Value.Builder, com.google.protobuf.Int32ValueOrBuilder> 
        getChannelFieldBuilder() {
      if (channelBuilder_ == null) {
        channelBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.Int32Value, com.google.protobuf.Int32Value.Builder, com.google.protobuf.Int32ValueOrBuilder>(
                getChannel(),
                getParentForChildren(),
                isClean());
        channel_ = null;
      }
      return channelBuilder_;
    }

    // @@protoc_insertion_point(builder_scope:com.craxiom.messaging.BluetoothRecordData)
  }

  // @@protoc_insertion_point(class_scope:com.craxiom.messaging.BluetoothRecordData)
  private static final com.craxiom.messaging.BluetoothRecordData DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new com.craxiom.messaging.BluetoothRecordData();
  }

  public static com.craxiom.messaging.BluetoothRecordData getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser
      PARSER = new com.google.protobuf.AbstractParser() {
    @java.lang.Override
    public BluetoothRecordData parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      Builder builder = newBuilder();
      try {
        builder.mergeFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(builder.buildPartial());
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(e)
            .setUnfinishedMessage(builder.buildPartial());
      }
      return builder.buildPartial();
    }
  };

  public static com.google.protobuf.Parser parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public com.craxiom.messaging.BluetoothRecordData getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy