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

com.craxiom.messaging.DeviceStatusData 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/device_status.proto
// Protobuf Java Version: 4.27.3

package com.craxiom.messaging;

/**
 * Protobuf type {@code com.craxiom.messaging.DeviceStatusData}
 */
public final class DeviceStatusData extends
    com.google.protobuf.GeneratedMessage implements
    // @@protoc_insertion_point(message_implements:com.craxiom.messaging.DeviceStatusData)
    DeviceStatusDataOrBuilder {
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= */ "",
      DeviceStatusData.class.getName());
  }
  // Use DeviceStatusData.newBuilder() to construct.
  private DeviceStatusData(com.google.protobuf.GeneratedMessage.Builder builder) {
    super(builder);
  }
  private DeviceStatusData() {
    deviceSerialNumber_ = "";
    deviceName_ = "";
    deviceTime_ = "";
    deviceModel_ = "";
    appVersion_ = "";
  }

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

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.craxiom.messaging.DeviceStatusOuterClass.internal_static_com_craxiom_messaging_DeviceStatusData_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.craxiom.messaging.DeviceStatusData.class, com.craxiom.messaging.DeviceStatusData.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 DEVICEMODEL_FIELD_NUMBER = 8;
  @SuppressWarnings("serial")
  private volatile java.lang.Object deviceModel_ = "";
  /**
   * string deviceModel = 8;
   * @return The deviceModel.
   */
  @java.lang.Override
  public java.lang.String getDeviceModel() {
    java.lang.Object ref = deviceModel_;
    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();
      deviceModel_ = s;
      return s;
    }
  }
  /**
   * string deviceModel = 8;
   * @return The bytes for deviceModel.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDeviceModelBytes() {
    java.lang.Object ref = deviceModel_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      deviceModel_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  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 BATTERYLEVELPERCENT_FIELD_NUMBER = 7;
  private com.google.protobuf.Int32Value batteryLevelPercent_;
  /**
   * .google.protobuf.Int32Value batteryLevelPercent = 7;
   * @return Whether the batteryLevelPercent field is set.
   */
  @java.lang.Override
  public boolean hasBatteryLevelPercent() {
    return ((bitField0_ & 0x00000001) != 0);
  }
  /**
   * .google.protobuf.Int32Value batteryLevelPercent = 7;
   * @return The batteryLevelPercent.
   */
  @java.lang.Override
  public com.google.protobuf.Int32Value getBatteryLevelPercent() {
    return batteryLevelPercent_ == null ? com.google.protobuf.Int32Value.getDefaultInstance() : batteryLevelPercent_;
  }
  /**
   * .google.protobuf.Int32Value batteryLevelPercent = 7;
   */
  @java.lang.Override
  public com.google.protobuf.Int32ValueOrBuilder getBatteryLevelPercentOrBuilder() {
    return batteryLevelPercent_ == null ? com.google.protobuf.Int32Value.getDefaultInstance() : batteryLevelPercent_;
  }

  public static final int ERROR_FIELD_NUMBER = 10;
  private com.craxiom.messaging.Error error_;
  /**
   * .com.craxiom.messaging.Error error = 10;
   * @return Whether the error field is set.
   */
  @java.lang.Override
  public boolean hasError() {
    return ((bitField0_ & 0x00000002) != 0);
  }
  /**
   * .com.craxiom.messaging.Error error = 10;
   * @return The error.
   */
  @java.lang.Override
  public com.craxiom.messaging.Error getError() {
    return error_ == null ? com.craxiom.messaging.Error.getDefaultInstance() : error_;
  }
  /**
   * .com.craxiom.messaging.Error error = 10;
   */
  @java.lang.Override
  public com.craxiom.messaging.ErrorOrBuilder getErrorOrBuilder() {
    return error_ == null ? com.craxiom.messaging.Error.getDefaultInstance() : error_;
  }

  public static final int MDMOVERRIDE_FIELD_NUMBER = 11;
  private com.google.protobuf.BoolValue mdmOverride_;
  /**
   * .google.protobuf.BoolValue mdmOverride = 11;
   * @return Whether the mdmOverride field is set.
   */
  @java.lang.Override
  public boolean hasMdmOverride() {
    return ((bitField0_ & 0x00000004) != 0);
  }
  /**
   * .google.protobuf.BoolValue mdmOverride = 11;
   * @return The mdmOverride.
   */
  @java.lang.Override
  public com.google.protobuf.BoolValue getMdmOverride() {
    return mdmOverride_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : mdmOverride_;
  }
  /**
   * .google.protobuf.BoolValue mdmOverride = 11;
   */
  @java.lang.Override
  public com.google.protobuf.BoolValueOrBuilder getMdmOverrideOrBuilder() {
    return mdmOverride_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : mdmOverride_;
  }

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

  public static final int GNSSLATITUDE_FIELD_NUMBER = 15;
  private double gnssLatitude_ = 0D;
  /**
   * double gnssLatitude = 15;
   * @return The gnssLatitude.
   */
  @java.lang.Override
  public double getGnssLatitude() {
    return gnssLatitude_;
  }

  public static final int GNSSLONGITUDE_FIELD_NUMBER = 16;
  private double gnssLongitude_ = 0D;
  /**
   * double gnssLongitude = 16;
   * @return The gnssLongitude.
   */
  @java.lang.Override
  public double getGnssLongitude() {
    return gnssLongitude_;
  }

  public static final int GNSSALTITUDE_FIELD_NUMBER = 17;
  private float gnssAltitude_ = 0F;
  /**
   * float gnssAltitude = 17;
   * @return The gnssAltitude.
   */
  @java.lang.Override
  public float getGnssAltitude() {
    return gnssAltitude_;
  }

  public static final int GNSSACCURACY_FIELD_NUMBER = 18;
  private int gnssAccuracy_ = 0;
  /**
   * int32 gnssAccuracy = 18;
   * @return The gnssAccuracy.
   */
  @java.lang.Override
  public int getGnssAccuracy() {
    return gnssAccuracy_;
  }

  public static final int NETWORKLATITUDE_FIELD_NUMBER = 19;
  private double networkLatitude_ = 0D;
  /**
   * double networkLatitude = 19;
   * @return The networkLatitude.
   */
  @java.lang.Override
  public double getNetworkLatitude() {
    return networkLatitude_;
  }

  public static final int NETWORKLONGITUDE_FIELD_NUMBER = 20;
  private double networkLongitude_ = 0D;
  /**
   * double networkLongitude = 20;
   * @return The networkLongitude.
   */
  @java.lang.Override
  public double getNetworkLongitude() {
    return networkLongitude_;
  }

  public static final int NETWORKALTITUDE_FIELD_NUMBER = 21;
  private float networkAltitude_ = 0F;
  /**
   * float networkAltitude = 21;
   * @return The networkAltitude.
   */
  @java.lang.Override
  public float getNetworkAltitude() {
    return networkAltitude_;
  }

  public static final int NETWORKACCURACY_FIELD_NUMBER = 22;
  private int networkAccuracy_ = 0;
  /**
   * int32 networkAccuracy = 22;
   * @return The networkAccuracy.
   */
  @java.lang.Override
  public int getNetworkAccuracy() {
    return networkAccuracy_;
  }

  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 (((bitField0_ & 0x00000001) != 0)) {
      output.writeMessage(7, getBatteryLevelPercent());
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceModel_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 8, deviceModel_);
    }
    if (accuracy_ != 0) {
      output.writeInt32(9, accuracy_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      output.writeMessage(10, getError());
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      output.writeMessage(11, getMdmOverride());
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(appVersion_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 12, appVersion_);
    }
    if (java.lang.Double.doubleToRawLongBits(gnssLatitude_) != 0) {
      output.writeDouble(15, gnssLatitude_);
    }
    if (java.lang.Double.doubleToRawLongBits(gnssLongitude_) != 0) {
      output.writeDouble(16, gnssLongitude_);
    }
    if (java.lang.Float.floatToRawIntBits(gnssAltitude_) != 0) {
      output.writeFloat(17, gnssAltitude_);
    }
    if (gnssAccuracy_ != 0) {
      output.writeInt32(18, gnssAccuracy_);
    }
    if (java.lang.Double.doubleToRawLongBits(networkLatitude_) != 0) {
      output.writeDouble(19, networkLatitude_);
    }
    if (java.lang.Double.doubleToRawLongBits(networkLongitude_) != 0) {
      output.writeDouble(20, networkLongitude_);
    }
    if (java.lang.Float.floatToRawIntBits(networkAltitude_) != 0) {
      output.writeFloat(21, networkAltitude_);
    }
    if (networkAccuracy_ != 0) {
      output.writeInt32(22, networkAccuracy_);
    }
    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 (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(7, getBatteryLevelPercent());
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceModel_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(8, deviceModel_);
    }
    if (accuracy_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(9, accuracy_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(10, getError());
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(11, getMdmOverride());
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(appVersion_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(12, appVersion_);
    }
    if (java.lang.Double.doubleToRawLongBits(gnssLatitude_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeDoubleSize(15, gnssLatitude_);
    }
    if (java.lang.Double.doubleToRawLongBits(gnssLongitude_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeDoubleSize(16, gnssLongitude_);
    }
    if (java.lang.Float.floatToRawIntBits(gnssAltitude_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(17, gnssAltitude_);
    }
    if (gnssAccuracy_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(18, gnssAccuracy_);
    }
    if (java.lang.Double.doubleToRawLongBits(networkLatitude_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeDoubleSize(19, networkLatitude_);
    }
    if (java.lang.Double.doubleToRawLongBits(networkLongitude_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeDoubleSize(20, networkLongitude_);
    }
    if (java.lang.Float.floatToRawIntBits(networkAltitude_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(21, networkAltitude_);
    }
    if (networkAccuracy_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(22, networkAccuracy_);
    }
    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.DeviceStatusData)) {
      return super.equals(obj);
    }
    com.craxiom.messaging.DeviceStatusData other = (com.craxiom.messaging.DeviceStatusData) 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 (!getDeviceModel()
        .equals(other.getDeviceModel())) 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 (hasBatteryLevelPercent() != other.hasBatteryLevelPercent()) return false;
    if (hasBatteryLevelPercent()) {
      if (!getBatteryLevelPercent()
          .equals(other.getBatteryLevelPercent())) return false;
    }
    if (hasError() != other.hasError()) return false;
    if (hasError()) {
      if (!getError()
          .equals(other.getError())) return false;
    }
    if (hasMdmOverride() != other.hasMdmOverride()) return false;
    if (hasMdmOverride()) {
      if (!getMdmOverride()
          .equals(other.getMdmOverride())) return false;
    }
    if (!getAppVersion()
        .equals(other.getAppVersion())) return false;
    if (java.lang.Double.doubleToLongBits(getGnssLatitude())
        != java.lang.Double.doubleToLongBits(
            other.getGnssLatitude())) return false;
    if (java.lang.Double.doubleToLongBits(getGnssLongitude())
        != java.lang.Double.doubleToLongBits(
            other.getGnssLongitude())) return false;
    if (java.lang.Float.floatToIntBits(getGnssAltitude())
        != java.lang.Float.floatToIntBits(
            other.getGnssAltitude())) return false;
    if (getGnssAccuracy()
        != other.getGnssAccuracy()) return false;
    if (java.lang.Double.doubleToLongBits(getNetworkLatitude())
        != java.lang.Double.doubleToLongBits(
            other.getNetworkLatitude())) return false;
    if (java.lang.Double.doubleToLongBits(getNetworkLongitude())
        != java.lang.Double.doubleToLongBits(
            other.getNetworkLongitude())) return false;
    if (java.lang.Float.floatToIntBits(getNetworkAltitude())
        != java.lang.Float.floatToIntBits(
            other.getNetworkAltitude())) return false;
    if (getNetworkAccuracy()
        != other.getNetworkAccuracy()) 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) + DEVICEMODEL_FIELD_NUMBER;
    hash = (53 * hash) + getDeviceModel().hashCode();
    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());
    if (hasBatteryLevelPercent()) {
      hash = (37 * hash) + BATTERYLEVELPERCENT_FIELD_NUMBER;
      hash = (53 * hash) + getBatteryLevelPercent().hashCode();
    }
    if (hasError()) {
      hash = (37 * hash) + ERROR_FIELD_NUMBER;
      hash = (53 * hash) + getError().hashCode();
    }
    if (hasMdmOverride()) {
      hash = (37 * hash) + MDMOVERRIDE_FIELD_NUMBER;
      hash = (53 * hash) + getMdmOverride().hashCode();
    }
    hash = (37 * hash) + APPVERSION_FIELD_NUMBER;
    hash = (53 * hash) + getAppVersion().hashCode();
    hash = (37 * hash) + GNSSLATITUDE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        java.lang.Double.doubleToLongBits(getGnssLatitude()));
    hash = (37 * hash) + GNSSLONGITUDE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        java.lang.Double.doubleToLongBits(getGnssLongitude()));
    hash = (37 * hash) + GNSSALTITUDE_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getGnssAltitude());
    hash = (37 * hash) + GNSSACCURACY_FIELD_NUMBER;
    hash = (53 * hash) + getGnssAccuracy();
    hash = (37 * hash) + NETWORKLATITUDE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        java.lang.Double.doubleToLongBits(getNetworkLatitude()));
    hash = (37 * hash) + NETWORKLONGITUDE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        java.lang.Double.doubleToLongBits(getNetworkLongitude()));
    hash = (37 * hash) + NETWORKALTITUDE_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getNetworkAltitude());
    hash = (37 * hash) + NETWORKACCURACY_FIELD_NUMBER;
    hash = (53 * hash) + getNetworkAccuracy();
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.craxiom.messaging.DeviceStatusData parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.craxiom.messaging.DeviceStatusData 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.DeviceStatusData parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.craxiom.messaging.DeviceStatusData 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.DeviceStatusData parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.craxiom.messaging.DeviceStatusData parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.craxiom.messaging.DeviceStatusData parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseWithIOException(PARSER, input);
  }
  public static com.craxiom.messaging.DeviceStatusData 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.DeviceStatusData parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseDelimitedWithIOException(PARSER, input);
  }

  public static com.craxiom.messaging.DeviceStatusData 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.DeviceStatusData parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseWithIOException(PARSER, input);
  }
  public static com.craxiom.messaging.DeviceStatusData 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.DeviceStatusData 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.DeviceStatusData}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessage.Builder implements
      // @@protoc_insertion_point(builder_implements:com.craxiom.messaging.DeviceStatusData)
      com.craxiom.messaging.DeviceStatusDataOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.craxiom.messaging.DeviceStatusOuterClass.internal_static_com_craxiom_messaging_DeviceStatusData_descriptor;
    }

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

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

    private Builder(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessage
              .alwaysUseFieldBuilders) {
        getBatteryLevelPercentFieldBuilder();
        getErrorFieldBuilder();
        getMdmOverrideFieldBuilder();
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      deviceSerialNumber_ = "";
      deviceName_ = "";
      deviceTime_ = "";
      latitude_ = 0D;
      longitude_ = 0D;
      altitude_ = 0F;
      deviceModel_ = "";
      accuracy_ = 0;
      heading_ = 0F;
      pitch_ = 0F;
      roll_ = 0F;
      fieldOfView_ = 0F;
      receiverSensitivity_ = 0F;
      speed_ = 0F;
      batteryLevelPercent_ = null;
      if (batteryLevelPercentBuilder_ != null) {
        batteryLevelPercentBuilder_.dispose();
        batteryLevelPercentBuilder_ = null;
      }
      error_ = null;
      if (errorBuilder_ != null) {
        errorBuilder_.dispose();
        errorBuilder_ = null;
      }
      mdmOverride_ = null;
      if (mdmOverrideBuilder_ != null) {
        mdmOverrideBuilder_.dispose();
        mdmOverrideBuilder_ = null;
      }
      appVersion_ = "";
      gnssLatitude_ = 0D;
      gnssLongitude_ = 0D;
      gnssAltitude_ = 0F;
      gnssAccuracy_ = 0;
      networkLatitude_ = 0D;
      networkLongitude_ = 0D;
      networkAltitude_ = 0F;
      networkAccuracy_ = 0;
      return this;
    }

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

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

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

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

    private void buildPartial0(com.craxiom.messaging.DeviceStatusData 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.deviceModel_ = deviceModel_;
      }
      if (((from_bitField0_ & 0x00000080) != 0)) {
        result.accuracy_ = accuracy_;
      }
      if (((from_bitField0_ & 0x00000100) != 0)) {
        result.heading_ = heading_;
      }
      if (((from_bitField0_ & 0x00000200) != 0)) {
        result.pitch_ = pitch_;
      }
      if (((from_bitField0_ & 0x00000400) != 0)) {
        result.roll_ = roll_;
      }
      if (((from_bitField0_ & 0x00000800) != 0)) {
        result.fieldOfView_ = fieldOfView_;
      }
      if (((from_bitField0_ & 0x00001000) != 0)) {
        result.receiverSensitivity_ = receiverSensitivity_;
      }
      if (((from_bitField0_ & 0x00002000) != 0)) {
        result.speed_ = speed_;
      }
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00004000) != 0)) {
        result.batteryLevelPercent_ = batteryLevelPercentBuilder_ == null
            ? batteryLevelPercent_
            : batteryLevelPercentBuilder_.build();
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00008000) != 0)) {
        result.error_ = errorBuilder_ == null
            ? error_
            : errorBuilder_.build();
        to_bitField0_ |= 0x00000002;
      }
      if (((from_bitField0_ & 0x00010000) != 0)) {
        result.mdmOverride_ = mdmOverrideBuilder_ == null
            ? mdmOverride_
            : mdmOverrideBuilder_.build();
        to_bitField0_ |= 0x00000004;
      }
      if (((from_bitField0_ & 0x00020000) != 0)) {
        result.appVersion_ = appVersion_;
      }
      if (((from_bitField0_ & 0x00040000) != 0)) {
        result.gnssLatitude_ = gnssLatitude_;
      }
      if (((from_bitField0_ & 0x00080000) != 0)) {
        result.gnssLongitude_ = gnssLongitude_;
      }
      if (((from_bitField0_ & 0x00100000) != 0)) {
        result.gnssAltitude_ = gnssAltitude_;
      }
      if (((from_bitField0_ & 0x00200000) != 0)) {
        result.gnssAccuracy_ = gnssAccuracy_;
      }
      if (((from_bitField0_ & 0x00400000) != 0)) {
        result.networkLatitude_ = networkLatitude_;
      }
      if (((from_bitField0_ & 0x00800000) != 0)) {
        result.networkLongitude_ = networkLongitude_;
      }
      if (((from_bitField0_ & 0x01000000) != 0)) {
        result.networkAltitude_ = networkAltitude_;
      }
      if (((from_bitField0_ & 0x02000000) != 0)) {
        result.networkAccuracy_ = networkAccuracy_;
      }
      result.bitField0_ |= to_bitField0_;
    }

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

    public Builder mergeFrom(com.craxiom.messaging.DeviceStatusData other) {
      if (other == com.craxiom.messaging.DeviceStatusData.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.getDeviceModel().isEmpty()) {
        deviceModel_ = other.deviceModel_;
        bitField0_ |= 0x00000040;
        onChanged();
      }
      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.hasBatteryLevelPercent()) {
        mergeBatteryLevelPercent(other.getBatteryLevelPercent());
      }
      if (other.hasError()) {
        mergeError(other.getError());
      }
      if (other.hasMdmOverride()) {
        mergeMdmOverride(other.getMdmOverride());
      }
      if (!other.getAppVersion().isEmpty()) {
        appVersion_ = other.appVersion_;
        bitField0_ |= 0x00020000;
        onChanged();
      }
      if (other.getGnssLatitude() != 0D) {
        setGnssLatitude(other.getGnssLatitude());
      }
      if (other.getGnssLongitude() != 0D) {
        setGnssLongitude(other.getGnssLongitude());
      }
      if (other.getGnssAltitude() != 0F) {
        setGnssAltitude(other.getGnssAltitude());
      }
      if (other.getGnssAccuracy() != 0) {
        setGnssAccuracy(other.getGnssAccuracy());
      }
      if (other.getNetworkLatitude() != 0D) {
        setNetworkLatitude(other.getNetworkLatitude());
      }
      if (other.getNetworkLongitude() != 0D) {
        setNetworkLongitude(other.getNetworkLongitude());
      }
      if (other.getNetworkAltitude() != 0F) {
        setNetworkAltitude(other.getNetworkAltitude());
      }
      if (other.getNetworkAccuracy() != 0) {
        setNetworkAccuracy(other.getNetworkAccuracy());
      }
      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: {
              input.readMessage(
                  getBatteryLevelPercentFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00004000;
              break;
            } // case 58
            case 66: {
              deviceModel_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000040;
              break;
            } // case 66
            case 72: {
              accuracy_ = input.readInt32();
              bitField0_ |= 0x00000080;
              break;
            } // case 72
            case 82: {
              input.readMessage(
                  getErrorFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00008000;
              break;
            } // case 82
            case 90: {
              input.readMessage(
                  getMdmOverrideFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00010000;
              break;
            } // case 90
            case 98: {
              appVersion_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00020000;
              break;
            } // case 98
            case 121: {
              gnssLatitude_ = input.readDouble();
              bitField0_ |= 0x00040000;
              break;
            } // case 121
            case 129: {
              gnssLongitude_ = input.readDouble();
              bitField0_ |= 0x00080000;
              break;
            } // case 129
            case 141: {
              gnssAltitude_ = input.readFloat();
              bitField0_ |= 0x00100000;
              break;
            } // case 141
            case 144: {
              gnssAccuracy_ = input.readInt32();
              bitField0_ |= 0x00200000;
              break;
            } // case 144
            case 153: {
              networkLatitude_ = input.readDouble();
              bitField0_ |= 0x00400000;
              break;
            } // case 153
            case 161: {
              networkLongitude_ = input.readDouble();
              bitField0_ |= 0x00800000;
              break;
            } // case 161
            case 173: {
              networkAltitude_ = input.readFloat();
              bitField0_ |= 0x01000000;
              break;
            } // case 173
            case 176: {
              networkAccuracy_ = input.readInt32();
              bitField0_ |= 0x02000000;
              break;
            } // case 176
            case 405: {
              heading_ = input.readFloat();
              bitField0_ |= 0x00000100;
              break;
            } // case 405
            case 413: {
              pitch_ = input.readFloat();
              bitField0_ |= 0x00000200;
              break;
            } // case 413
            case 421: {
              roll_ = input.readFloat();
              bitField0_ |= 0x00000400;
              break;
            } // case 421
            case 429: {
              fieldOfView_ = input.readFloat();
              bitField0_ |= 0x00000800;
              break;
            } // case 429
            case 437: {
              receiverSensitivity_ = input.readFloat();
              bitField0_ |= 0x00001000;
              break;
            } // case 437
            case 445: {
              speed_ = input.readFloat();
              bitField0_ |= 0x00002000;
              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 deviceModel_ = "";
    /**
     * string deviceModel = 8;
     * @return The deviceModel.
     */
    public java.lang.String getDeviceModel() {
      java.lang.Object ref = deviceModel_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        deviceModel_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string deviceModel = 8;
     * @return The bytes for deviceModel.
     */
    public com.google.protobuf.ByteString
        getDeviceModelBytes() {
      java.lang.Object ref = deviceModel_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deviceModel_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string deviceModel = 8;
     * @param value The deviceModel to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceModel(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      deviceModel_ = value;
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     * string deviceModel = 8;
     * @return This builder for chaining.
     */
    public Builder clearDeviceModel() {
      deviceModel_ = getDefaultInstance().getDeviceModel();
      bitField0_ = (bitField0_ & ~0x00000040);
      onChanged();
      return this;
    }
    /**
     * string deviceModel = 8;
     * @param value The bytes for deviceModel to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceModelBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      deviceModel_ = value;
      bitField0_ |= 0x00000040;
      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_ |= 0x00000080;
      onChanged();
      return this;
    }
    /**
     * int32 accuracy = 9;
     * @return This builder for chaining.
     */
    public Builder clearAccuracy() {
      bitField0_ = (bitField0_ & ~0x00000080);
      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_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     * float heading = 50;
     * @return This builder for chaining.
     */
    public Builder clearHeading() {
      bitField0_ = (bitField0_ & ~0x00000100);
      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_ |= 0x00000200;
      onChanged();
      return this;
    }
    /**
     * float pitch = 51;
     * @return This builder for chaining.
     */
    public Builder clearPitch() {
      bitField0_ = (bitField0_ & ~0x00000200);
      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_ |= 0x00000400;
      onChanged();
      return this;
    }
    /**
     * float roll = 52;
     * @return This builder for chaining.
     */
    public Builder clearRoll() {
      bitField0_ = (bitField0_ & ~0x00000400);
      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_ |= 0x00000800;
      onChanged();
      return this;
    }
    /**
     * float fieldOfView = 53;
     * @return This builder for chaining.
     */
    public Builder clearFieldOfView() {
      bitField0_ = (bitField0_ & ~0x00000800);
      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_ |= 0x00001000;
      onChanged();
      return this;
    }
    /**
     * float receiverSensitivity = 54;
     * @return This builder for chaining.
     */
    public Builder clearReceiverSensitivity() {
      bitField0_ = (bitField0_ & ~0x00001000);
      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_ |= 0x00002000;
      onChanged();
      return this;
    }
    /**
     * float speed = 55;
     * @return This builder for chaining.
     */
    public Builder clearSpeed() {
      bitField0_ = (bitField0_ & ~0x00002000);
      speed_ = 0F;
      onChanged();
      return this;
    }

    private com.google.protobuf.Int32Value batteryLevelPercent_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.Int32Value, com.google.protobuf.Int32Value.Builder, com.google.protobuf.Int32ValueOrBuilder> batteryLevelPercentBuilder_;
    /**
     * .google.protobuf.Int32Value batteryLevelPercent = 7;
     * @return Whether the batteryLevelPercent field is set.
     */
    public boolean hasBatteryLevelPercent() {
      return ((bitField0_ & 0x00004000) != 0);
    }
    /**
     * .google.protobuf.Int32Value batteryLevelPercent = 7;
     * @return The batteryLevelPercent.
     */
    public com.google.protobuf.Int32Value getBatteryLevelPercent() {
      if (batteryLevelPercentBuilder_ == null) {
        return batteryLevelPercent_ == null ? com.google.protobuf.Int32Value.getDefaultInstance() : batteryLevelPercent_;
      } else {
        return batteryLevelPercentBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.Int32Value batteryLevelPercent = 7;
     */
    public Builder setBatteryLevelPercent(com.google.protobuf.Int32Value value) {
      if (batteryLevelPercentBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        batteryLevelPercent_ = value;
      } else {
        batteryLevelPercentBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00004000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.Int32Value batteryLevelPercent = 7;
     */
    public Builder setBatteryLevelPercent(
        com.google.protobuf.Int32Value.Builder builderForValue) {
      if (batteryLevelPercentBuilder_ == null) {
        batteryLevelPercent_ = builderForValue.build();
      } else {
        batteryLevelPercentBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00004000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.Int32Value batteryLevelPercent = 7;
     */
    public Builder mergeBatteryLevelPercent(com.google.protobuf.Int32Value value) {
      if (batteryLevelPercentBuilder_ == null) {
        if (((bitField0_ & 0x00004000) != 0) &&
          batteryLevelPercent_ != null &&
          batteryLevelPercent_ != com.google.protobuf.Int32Value.getDefaultInstance()) {
          getBatteryLevelPercentBuilder().mergeFrom(value);
        } else {
          batteryLevelPercent_ = value;
        }
      } else {
        batteryLevelPercentBuilder_.mergeFrom(value);
      }
      if (batteryLevelPercent_ != null) {
        bitField0_ |= 0x00004000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.Int32Value batteryLevelPercent = 7;
     */
    public Builder clearBatteryLevelPercent() {
      bitField0_ = (bitField0_ & ~0x00004000);
      batteryLevelPercent_ = null;
      if (batteryLevelPercentBuilder_ != null) {
        batteryLevelPercentBuilder_.dispose();
        batteryLevelPercentBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.Int32Value batteryLevelPercent = 7;
     */
    public com.google.protobuf.Int32Value.Builder getBatteryLevelPercentBuilder() {
      bitField0_ |= 0x00004000;
      onChanged();
      return getBatteryLevelPercentFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.Int32Value batteryLevelPercent = 7;
     */
    public com.google.protobuf.Int32ValueOrBuilder getBatteryLevelPercentOrBuilder() {
      if (batteryLevelPercentBuilder_ != null) {
        return batteryLevelPercentBuilder_.getMessageOrBuilder();
      } else {
        return batteryLevelPercent_ == null ?
            com.google.protobuf.Int32Value.getDefaultInstance() : batteryLevelPercent_;
      }
    }
    /**
     * .google.protobuf.Int32Value batteryLevelPercent = 7;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.Int32Value, com.google.protobuf.Int32Value.Builder, com.google.protobuf.Int32ValueOrBuilder> 
        getBatteryLevelPercentFieldBuilder() {
      if (batteryLevelPercentBuilder_ == null) {
        batteryLevelPercentBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.Int32Value, com.google.protobuf.Int32Value.Builder, com.google.protobuf.Int32ValueOrBuilder>(
                getBatteryLevelPercent(),
                getParentForChildren(),
                isClean());
        batteryLevelPercent_ = null;
      }
      return batteryLevelPercentBuilder_;
    }

    private com.craxiom.messaging.Error error_;
    private com.google.protobuf.SingleFieldBuilder<
        com.craxiom.messaging.Error, com.craxiom.messaging.Error.Builder, com.craxiom.messaging.ErrorOrBuilder> errorBuilder_;
    /**
     * .com.craxiom.messaging.Error error = 10;
     * @return Whether the error field is set.
     */
    public boolean hasError() {
      return ((bitField0_ & 0x00008000) != 0);
    }
    /**
     * .com.craxiom.messaging.Error error = 10;
     * @return The error.
     */
    public com.craxiom.messaging.Error getError() {
      if (errorBuilder_ == null) {
        return error_ == null ? com.craxiom.messaging.Error.getDefaultInstance() : error_;
      } else {
        return errorBuilder_.getMessage();
      }
    }
    /**
     * .com.craxiom.messaging.Error error = 10;
     */
    public Builder setError(com.craxiom.messaging.Error value) {
      if (errorBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        error_ = value;
      } else {
        errorBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00008000;
      onChanged();
      return this;
    }
    /**
     * .com.craxiom.messaging.Error error = 10;
     */
    public Builder setError(
        com.craxiom.messaging.Error.Builder builderForValue) {
      if (errorBuilder_ == null) {
        error_ = builderForValue.build();
      } else {
        errorBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00008000;
      onChanged();
      return this;
    }
    /**
     * .com.craxiom.messaging.Error error = 10;
     */
    public Builder mergeError(com.craxiom.messaging.Error value) {
      if (errorBuilder_ == null) {
        if (((bitField0_ & 0x00008000) != 0) &&
          error_ != null &&
          error_ != com.craxiom.messaging.Error.getDefaultInstance()) {
          getErrorBuilder().mergeFrom(value);
        } else {
          error_ = value;
        }
      } else {
        errorBuilder_.mergeFrom(value);
      }
      if (error_ != null) {
        bitField0_ |= 0x00008000;
        onChanged();
      }
      return this;
    }
    /**
     * .com.craxiom.messaging.Error error = 10;
     */
    public Builder clearError() {
      bitField0_ = (bitField0_ & ~0x00008000);
      error_ = null;
      if (errorBuilder_ != null) {
        errorBuilder_.dispose();
        errorBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .com.craxiom.messaging.Error error = 10;
     */
    public com.craxiom.messaging.Error.Builder getErrorBuilder() {
      bitField0_ |= 0x00008000;
      onChanged();
      return getErrorFieldBuilder().getBuilder();
    }
    /**
     * .com.craxiom.messaging.Error error = 10;
     */
    public com.craxiom.messaging.ErrorOrBuilder getErrorOrBuilder() {
      if (errorBuilder_ != null) {
        return errorBuilder_.getMessageOrBuilder();
      } else {
        return error_ == null ?
            com.craxiom.messaging.Error.getDefaultInstance() : error_;
      }
    }
    /**
     * .com.craxiom.messaging.Error error = 10;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.craxiom.messaging.Error, com.craxiom.messaging.Error.Builder, com.craxiom.messaging.ErrorOrBuilder> 
        getErrorFieldBuilder() {
      if (errorBuilder_ == null) {
        errorBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.craxiom.messaging.Error, com.craxiom.messaging.Error.Builder, com.craxiom.messaging.ErrorOrBuilder>(
                getError(),
                getParentForChildren(),
                isClean());
        error_ = null;
      }
      return errorBuilder_;
    }

    private com.google.protobuf.BoolValue mdmOverride_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> mdmOverrideBuilder_;
    /**
     * .google.protobuf.BoolValue mdmOverride = 11;
     * @return Whether the mdmOverride field is set.
     */
    public boolean hasMdmOverride() {
      return ((bitField0_ & 0x00010000) != 0);
    }
    /**
     * .google.protobuf.BoolValue mdmOverride = 11;
     * @return The mdmOverride.
     */
    public com.google.protobuf.BoolValue getMdmOverride() {
      if (mdmOverrideBuilder_ == null) {
        return mdmOverride_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : mdmOverride_;
      } else {
        return mdmOverrideBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.BoolValue mdmOverride = 11;
     */
    public Builder setMdmOverride(com.google.protobuf.BoolValue value) {
      if (mdmOverrideBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        mdmOverride_ = value;
      } else {
        mdmOverrideBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00010000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.BoolValue mdmOverride = 11;
     */
    public Builder setMdmOverride(
        com.google.protobuf.BoolValue.Builder builderForValue) {
      if (mdmOverrideBuilder_ == null) {
        mdmOverride_ = builderForValue.build();
      } else {
        mdmOverrideBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00010000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.BoolValue mdmOverride = 11;
     */
    public Builder mergeMdmOverride(com.google.protobuf.BoolValue value) {
      if (mdmOverrideBuilder_ == null) {
        if (((bitField0_ & 0x00010000) != 0) &&
          mdmOverride_ != null &&
          mdmOverride_ != com.google.protobuf.BoolValue.getDefaultInstance()) {
          getMdmOverrideBuilder().mergeFrom(value);
        } else {
          mdmOverride_ = value;
        }
      } else {
        mdmOverrideBuilder_.mergeFrom(value);
      }
      if (mdmOverride_ != null) {
        bitField0_ |= 0x00010000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.BoolValue mdmOverride = 11;
     */
    public Builder clearMdmOverride() {
      bitField0_ = (bitField0_ & ~0x00010000);
      mdmOverride_ = null;
      if (mdmOverrideBuilder_ != null) {
        mdmOverrideBuilder_.dispose();
        mdmOverrideBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.BoolValue mdmOverride = 11;
     */
    public com.google.protobuf.BoolValue.Builder getMdmOverrideBuilder() {
      bitField0_ |= 0x00010000;
      onChanged();
      return getMdmOverrideFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.BoolValue mdmOverride = 11;
     */
    public com.google.protobuf.BoolValueOrBuilder getMdmOverrideOrBuilder() {
      if (mdmOverrideBuilder_ != null) {
        return mdmOverrideBuilder_.getMessageOrBuilder();
      } else {
        return mdmOverride_ == null ?
            com.google.protobuf.BoolValue.getDefaultInstance() : mdmOverride_;
      }
    }
    /**
     * .google.protobuf.BoolValue mdmOverride = 11;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> 
        getMdmOverrideFieldBuilder() {
      if (mdmOverrideBuilder_ == null) {
        mdmOverrideBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
                getMdmOverride(),
                getParentForChildren(),
                isClean());
        mdmOverride_ = null;
      }
      return mdmOverrideBuilder_;
    }

    private java.lang.Object appVersion_ = "";
    /**
     * string appVersion = 12;
     * @return The appVersion.
     */
    public java.lang.String getAppVersion() {
      java.lang.Object ref = appVersion_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        appVersion_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string appVersion = 12;
     * @return The bytes for appVersion.
     */
    public com.google.protobuf.ByteString
        getAppVersionBytes() {
      java.lang.Object ref = appVersion_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        appVersion_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string appVersion = 12;
     * @param value The appVersion to set.
     * @return This builder for chaining.
     */
    public Builder setAppVersion(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      appVersion_ = value;
      bitField0_ |= 0x00020000;
      onChanged();
      return this;
    }
    /**
     * string appVersion = 12;
     * @return This builder for chaining.
     */
    public Builder clearAppVersion() {
      appVersion_ = getDefaultInstance().getAppVersion();
      bitField0_ = (bitField0_ & ~0x00020000);
      onChanged();
      return this;
    }
    /**
     * string appVersion = 12;
     * @param value The bytes for appVersion to set.
     * @return This builder for chaining.
     */
    public Builder setAppVersionBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      appVersion_ = value;
      bitField0_ |= 0x00020000;
      onChanged();
      return this;
    }

    private double gnssLatitude_ ;
    /**
     * double gnssLatitude = 15;
     * @return The gnssLatitude.
     */
    @java.lang.Override
    public double getGnssLatitude() {
      return gnssLatitude_;
    }
    /**
     * double gnssLatitude = 15;
     * @param value The gnssLatitude to set.
     * @return This builder for chaining.
     */
    public Builder setGnssLatitude(double value) {

      gnssLatitude_ = value;
      bitField0_ |= 0x00040000;
      onChanged();
      return this;
    }
    /**
     * double gnssLatitude = 15;
     * @return This builder for chaining.
     */
    public Builder clearGnssLatitude() {
      bitField0_ = (bitField0_ & ~0x00040000);
      gnssLatitude_ = 0D;
      onChanged();
      return this;
    }

    private double gnssLongitude_ ;
    /**
     * double gnssLongitude = 16;
     * @return The gnssLongitude.
     */
    @java.lang.Override
    public double getGnssLongitude() {
      return gnssLongitude_;
    }
    /**
     * double gnssLongitude = 16;
     * @param value The gnssLongitude to set.
     * @return This builder for chaining.
     */
    public Builder setGnssLongitude(double value) {

      gnssLongitude_ = value;
      bitField0_ |= 0x00080000;
      onChanged();
      return this;
    }
    /**
     * double gnssLongitude = 16;
     * @return This builder for chaining.
     */
    public Builder clearGnssLongitude() {
      bitField0_ = (bitField0_ & ~0x00080000);
      gnssLongitude_ = 0D;
      onChanged();
      return this;
    }

    private float gnssAltitude_ ;
    /**
     * float gnssAltitude = 17;
     * @return The gnssAltitude.
     */
    @java.lang.Override
    public float getGnssAltitude() {
      return gnssAltitude_;
    }
    /**
     * float gnssAltitude = 17;
     * @param value The gnssAltitude to set.
     * @return This builder for chaining.
     */
    public Builder setGnssAltitude(float value) {

      gnssAltitude_ = value;
      bitField0_ |= 0x00100000;
      onChanged();
      return this;
    }
    /**
     * float gnssAltitude = 17;
     * @return This builder for chaining.
     */
    public Builder clearGnssAltitude() {
      bitField0_ = (bitField0_ & ~0x00100000);
      gnssAltitude_ = 0F;
      onChanged();
      return this;
    }

    private int gnssAccuracy_ ;
    /**
     * int32 gnssAccuracy = 18;
     * @return The gnssAccuracy.
     */
    @java.lang.Override
    public int getGnssAccuracy() {
      return gnssAccuracy_;
    }
    /**
     * int32 gnssAccuracy = 18;
     * @param value The gnssAccuracy to set.
     * @return This builder for chaining.
     */
    public Builder setGnssAccuracy(int value) {

      gnssAccuracy_ = value;
      bitField0_ |= 0x00200000;
      onChanged();
      return this;
    }
    /**
     * int32 gnssAccuracy = 18;
     * @return This builder for chaining.
     */
    public Builder clearGnssAccuracy() {
      bitField0_ = (bitField0_ & ~0x00200000);
      gnssAccuracy_ = 0;
      onChanged();
      return this;
    }

    private double networkLatitude_ ;
    /**
     * double networkLatitude = 19;
     * @return The networkLatitude.
     */
    @java.lang.Override
    public double getNetworkLatitude() {
      return networkLatitude_;
    }
    /**
     * double networkLatitude = 19;
     * @param value The networkLatitude to set.
     * @return This builder for chaining.
     */
    public Builder setNetworkLatitude(double value) {

      networkLatitude_ = value;
      bitField0_ |= 0x00400000;
      onChanged();
      return this;
    }
    /**
     * double networkLatitude = 19;
     * @return This builder for chaining.
     */
    public Builder clearNetworkLatitude() {
      bitField0_ = (bitField0_ & ~0x00400000);
      networkLatitude_ = 0D;
      onChanged();
      return this;
    }

    private double networkLongitude_ ;
    /**
     * double networkLongitude = 20;
     * @return The networkLongitude.
     */
    @java.lang.Override
    public double getNetworkLongitude() {
      return networkLongitude_;
    }
    /**
     * double networkLongitude = 20;
     * @param value The networkLongitude to set.
     * @return This builder for chaining.
     */
    public Builder setNetworkLongitude(double value) {

      networkLongitude_ = value;
      bitField0_ |= 0x00800000;
      onChanged();
      return this;
    }
    /**
     * double networkLongitude = 20;
     * @return This builder for chaining.
     */
    public Builder clearNetworkLongitude() {
      bitField0_ = (bitField0_ & ~0x00800000);
      networkLongitude_ = 0D;
      onChanged();
      return this;
    }

    private float networkAltitude_ ;
    /**
     * float networkAltitude = 21;
     * @return The networkAltitude.
     */
    @java.lang.Override
    public float getNetworkAltitude() {
      return networkAltitude_;
    }
    /**
     * float networkAltitude = 21;
     * @param value The networkAltitude to set.
     * @return This builder for chaining.
     */
    public Builder setNetworkAltitude(float value) {

      networkAltitude_ = value;
      bitField0_ |= 0x01000000;
      onChanged();
      return this;
    }
    /**
     * float networkAltitude = 21;
     * @return This builder for chaining.
     */
    public Builder clearNetworkAltitude() {
      bitField0_ = (bitField0_ & ~0x01000000);
      networkAltitude_ = 0F;
      onChanged();
      return this;
    }

    private int networkAccuracy_ ;
    /**
     * int32 networkAccuracy = 22;
     * @return The networkAccuracy.
     */
    @java.lang.Override
    public int getNetworkAccuracy() {
      return networkAccuracy_;
    }
    /**
     * int32 networkAccuracy = 22;
     * @param value The networkAccuracy to set.
     * @return This builder for chaining.
     */
    public Builder setNetworkAccuracy(int value) {

      networkAccuracy_ = value;
      bitField0_ |= 0x02000000;
      onChanged();
      return this;
    }
    /**
     * int32 networkAccuracy = 22;
     * @return This builder for chaining.
     */
    public Builder clearNetworkAccuracy() {
      bitField0_ = (bitField0_ & ~0x02000000);
      networkAccuracy_ = 0;
      onChanged();
      return this;
    }

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

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

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

  private static final com.google.protobuf.Parser
      PARSER = new com.google.protobuf.AbstractParser() {
    @java.lang.Override
    public DeviceStatusData 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.DeviceStatusData getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy