content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // NO CHECKED-IN PROTOBUF GENCODE
  // source: messages.proto
  // Protobuf Java Version: 4.28.2
  
  package finsky.protos;
  
  /**
   * Protobuf type {@code finsky.protos.AndroidBuildProto}
   */
  public  final class AndroidBuildProto extends
      com.google.protobuf.GeneratedMessageLite<
          AndroidBuildProto, AndroidBuildProto.Builder> implements
      // @@protoc_insertion_point(message_implements:finsky.protos.AndroidBuildProto)
      AndroidBuildProtoOrBuilder {
    private AndroidBuildProto() {
      id_ = "";
      product_ = "";
      carrier_ = "";
      radio_ = "";
      bootloader_ = "";
      client_ = "";
      device_ = "";
      model_ = "";
      manufacturer_ = "";
      buildProduct_ = "";
    }
    private int bitField0_;
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>optional string id = 1;</code>
     * @return Whether the id field is set.
     */
    @java.lang.Override
    public boolean hasId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>optional string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>optional string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000001;
      id_ = value;
    }
    /**
     * <code>optional string id = 1;</code>
     */
    private void clearId() {
      bitField0_ = (bitField0_ & ~0x00000001);
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>optional string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      id_ = value.toStringUtf8();
      bitField0_ |= 0x00000001;
    }
  
    public static final int PRODUCT_FIELD_NUMBER = 2;
    private java.lang.String product_;
    /**
     * <code>optional string product = 2;</code>
     * @return Whether the product field is set.
     */
    @java.lang.Override
    public boolean hasProduct() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional string product = 2;</code>
     * @return The product.
     */
    @java.lang.Override
    public java.lang.String getProduct() {
      return product_;
    }
    /**
     * <code>optional string product = 2;</code>
     * @return The bytes for product.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getProductBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(product_);
    }
    /**
     * <code>optional string product = 2;</code>
     * @param value The product to set.
     */
    private void setProduct(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000002;
      product_ = value;
    }
    /**
     * <code>optional string product = 2;</code>
     */
    private void clearProduct() {
      bitField0_ = (bitField0_ & ~0x00000002);
      product_ = getDefaultInstance().getProduct();
    }
    /**
     * <code>optional string product = 2;</code>
     * @param value The bytes for product to set.
     */
    private void setProductBytes(
        com.google.protobuf.ByteString value) {
      product_ = value.toStringUtf8();
      bitField0_ |= 0x00000002;
    }
  
    public static final int CARRIER_FIELD_NUMBER = 3;
    private java.lang.String carrier_;
    /**
     * <code>optional string carrier = 3;</code>
     * @return Whether the carrier field is set.
     */
    @java.lang.Override
    public boolean hasCarrier() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional string carrier = 3;</code>
     * @return The carrier.
     */
    @java.lang.Override
    public java.lang.String getCarrier() {
      return carrier_;
    }
    /**
     * <code>optional string carrier = 3;</code>
     * @return The bytes for carrier.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCarrierBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(carrier_);
    }
    /**
     * <code>optional string carrier = 3;</code>
     * @param value The carrier to set.
     */
    private void setCarrier(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000004;
      carrier_ = value;
    }
    /**
     * <code>optional string carrier = 3;</code>
     */
    private void clearCarrier() {
      bitField0_ = (bitField0_ & ~0x00000004);
      carrier_ = getDefaultInstance().getCarrier();
    }
    /**
     * <code>optional string carrier = 3;</code>
     * @param value The bytes for carrier to set.
     */
    private void setCarrierBytes(
        com.google.protobuf.ByteString value) {
      carrier_ = value.toStringUtf8();
      bitField0_ |= 0x00000004;
    }
  
    public static final int RADIO_FIELD_NUMBER = 4;
    private java.lang.String radio_;
    /**
     * <code>optional string radio = 4;</code>
     * @return Whether the radio field is set.
     */
    @java.lang.Override
    public boolean hasRadio() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional string radio = 4;</code>
     * @return The radio.
     */
    @java.lang.Override
    public java.lang.String getRadio() {
      return radio_;
    }
    /**
     * <code>optional string radio = 4;</code>
     * @return The bytes for radio.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getRadioBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(radio_);
    }
    /**
     * <code>optional string radio = 4;</code>
     * @param value The radio to set.
     */
    private void setRadio(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000008;
      radio_ = value;
    }
    /**
     * <code>optional string radio = 4;</code>
     */
    private void clearRadio() {
      bitField0_ = (bitField0_ & ~0x00000008);
      radio_ = getDefaultInstance().getRadio();
    }
    /**
     * <code>optional string radio = 4;</code>
     * @param value The bytes for radio to set.
     */
    private void setRadioBytes(
        com.google.protobuf.ByteString value) {
      radio_ = value.toStringUtf8();
      bitField0_ |= 0x00000008;
    }
  
    public static final int BOOTLOADER_FIELD_NUMBER = 5;
    private java.lang.String bootloader_;
    /**
     * <code>optional string bootloader = 5;</code>
     * @return Whether the bootloader field is set.
     */
    @java.lang.Override
    public boolean hasBootloader() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional string bootloader = 5;</code>
     * @return The bootloader.
     */
    @java.lang.Override
    public java.lang.String getBootloader() {
      return bootloader_;
    }
    /**
     * <code>optional string bootloader = 5;</code>
     * @return The bytes for bootloader.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getBootloaderBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(bootloader_);
    }
    /**
     * <code>optional string bootloader = 5;</code>
     * @param value The bootloader to set.
     */
    private void setBootloader(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000010;
      bootloader_ = value;
    }
    /**
     * <code>optional string bootloader = 5;</code>
     */
    private void clearBootloader() {
      bitField0_ = (bitField0_ & ~0x00000010);
      bootloader_ = getDefaultInstance().getBootloader();
    }
    /**
     * <code>optional string bootloader = 5;</code>
     * @param value The bytes for bootloader to set.
     */
    private void setBootloaderBytes(
        com.google.protobuf.ByteString value) {
      bootloader_ = value.toStringUtf8();
      bitField0_ |= 0x00000010;
    }
  
    public static final int CLIENT_FIELD_NUMBER = 6;
    private java.lang.String client_;
    /**
     * <code>optional string client = 6;</code>
     * @return Whether the client field is set.
     */
    @java.lang.Override
    public boolean hasClient() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional string client = 6;</code>
     * @return The client.
     */
    @java.lang.Override
    public java.lang.String getClient() {
      return client_;
    }
    /**
     * <code>optional string client = 6;</code>
     * @return The bytes for client.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClientBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(client_);
    }
    /**
     * <code>optional string client = 6;</code>
     * @param value The client to set.
     */
    private void setClient(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000020;
      client_ = value;
    }
    /**
     * <code>optional string client = 6;</code>
     */
    private void clearClient() {
      bitField0_ = (bitField0_ & ~0x00000020);
      client_ = getDefaultInstance().getClient();
    }
    /**
     * <code>optional string client = 6;</code>
     * @param value The bytes for client to set.
     */
    private void setClientBytes(
        com.google.protobuf.ByteString value) {
      client_ = value.toStringUtf8();
      bitField0_ |= 0x00000020;
    }
  
    public static final int TIMESTAMP_FIELD_NUMBER = 7;
    private long timestamp_;
    /**
     * <code>optional int64 timestamp = 7;</code>
     * @return Whether the timestamp field is set.
     */
    @java.lang.Override
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * <code>optional int64 timestamp = 7;</code>
     * @return The timestamp.
     */
    @java.lang.Override
    public long getTimestamp() {
      return timestamp_;
    }
    /**
     * <code>optional int64 timestamp = 7;</code>
     * @param value The timestamp to set.
     */
    private void setTimestamp(long value) {
      bitField0_ |= 0x00000040;
      timestamp_ = value;
    }
    /**
     * <code>optional int64 timestamp = 7;</code>
     */
    private void clearTimestamp() {
      bitField0_ = (bitField0_ & ~0x00000040);
      timestamp_ = 0L;
    }
  
    public static final int GOOGLESERVICES_FIELD_NUMBER = 8;
    private int googleServices_;
    /**
     * <code>optional int32 googleServices = 8;</code>
     * @return Whether the googleServices field is set.
     */
    @java.lang.Override
    public boolean hasGoogleServices() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * <code>optional int32 googleServices = 8;</code>
     * @return The googleServices.
     */
    @java.lang.Override
    public int getGoogleServices() {
      return googleServices_;
    }
    /**
     * <code>optional int32 googleServices = 8;</code>
     * @param value The googleServices to set.
     */
    private void setGoogleServices(int value) {
      bitField0_ |= 0x00000080;
      googleServices_ = value;
    }
    /**
     * <code>optional int32 googleServices = 8;</code>
     */
    private void clearGoogleServices() {
      bitField0_ = (bitField0_ & ~0x00000080);
      googleServices_ = 0;
    }
  
    public static final int DEVICE_FIELD_NUMBER = 9;
    private java.lang.String device_;
    /**
     * <code>optional string device = 9;</code>
     * @return Whether the device field is set.
     */
    @java.lang.Override
    public boolean hasDevice() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * <code>optional string device = 9;</code>
     * @return The device.
     */
    @java.lang.Override
    public java.lang.String getDevice() {
      return device_;
    }
    /**
     * <code>optional string device = 9;</code>
     * @return The bytes for device.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDeviceBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(device_);
    }
    /**
     * <code>optional string device = 9;</code>
     * @param value The device to set.
     */
    private void setDevice(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000100;
      device_ = value;
    }
    /**
     * <code>optional string device = 9;</code>
     */
    private void clearDevice() {
      bitField0_ = (bitField0_ & ~0x00000100);
      device_ = getDefaultInstance().getDevice();
    }
    /**
     * <code>optional string device = 9;</code>
     * @param value The bytes for device to set.
     */
    private void setDeviceBytes(
        com.google.protobuf.ByteString value) {
      device_ = value.toStringUtf8();
      bitField0_ |= 0x00000100;
    }
  
    public static final int SDKVERSION_FIELD_NUMBER = 10;
    private int sdkVersion_;
    /**
     * <code>optional int32 sdkVersion = 10;</code>
     * @return Whether the sdkVersion field is set.
     */
    @java.lang.Override
    public boolean hasSdkVersion() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * <code>optional int32 sdkVersion = 10;</code>
     * @return The sdkVersion.
     */
    @java.lang.Override
    public int getSdkVersion() {
      return sdkVersion_;
    }
    /**
     * <code>optional int32 sdkVersion = 10;</code>
     * @param value The sdkVersion to set.
     */
    private void setSdkVersion(int value) {
      bitField0_ |= 0x00000200;
      sdkVersion_ = value;
    }
    /**
     * <code>optional int32 sdkVersion = 10;</code>
     */
    private void clearSdkVersion() {
      bitField0_ = (bitField0_ & ~0x00000200);
      sdkVersion_ = 0;
    }
  
    public static final int MODEL_FIELD_NUMBER = 11;
    private java.lang.String model_;
    /**
     * <code>optional string model = 11;</code>
     * @return Whether the model field is set.
     */
    @java.lang.Override
    public boolean hasModel() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * <code>optional string model = 11;</code>
     * @return The model.
     */
    @java.lang.Override
    public java.lang.String getModel() {
      return model_;
    }
    /**
     * <code>optional string model = 11;</code>
     * @return The bytes for model.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getModelBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(model_);
    }
    /**
     * <code>optional string model = 11;</code>
     * @param value The model to set.
     */
    private void setModel(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000400;
      model_ = value;
    }
    /**
     * <code>optional string model = 11;</code>
     */
    private void clearModel() {
      bitField0_ = (bitField0_ & ~0x00000400);
      model_ = getDefaultInstance().getModel();
    }
    /**
     * <code>optional string model = 11;</code>
     * @param value The bytes for model to set.
     */
    private void setModelBytes(
        com.google.protobuf.ByteString value) {
      model_ = value.toStringUtf8();
      bitField0_ |= 0x00000400;
    }
  
    public static final int MANUFACTURER_FIELD_NUMBER = 12;
    private java.lang.String manufacturer_;
    /**
     * <code>optional string manufacturer = 12;</code>
     * @return Whether the manufacturer field is set.
     */
    @java.lang.Override
    public boolean hasManufacturer() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * <code>optional string manufacturer = 12;</code>
     * @return The manufacturer.
     */
    @java.lang.Override
    public java.lang.String getManufacturer() {
      return manufacturer_;
    }
    /**
     * <code>optional string manufacturer = 12;</code>
     * @return The bytes for manufacturer.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getManufacturerBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(manufacturer_);
    }
    /**
     * <code>optional string manufacturer = 12;</code>
     * @param value The manufacturer to set.
     */
    private void setManufacturer(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000800;
      manufacturer_ = value;
    }
    /**
     * <code>optional string manufacturer = 12;</code>
     */
    private void clearManufacturer() {
      bitField0_ = (bitField0_ & ~0x00000800);
      manufacturer_ = getDefaultInstance().getManufacturer();
    }
    /**
     * <code>optional string manufacturer = 12;</code>
     * @param value The bytes for manufacturer to set.
     */
    private void setManufacturerBytes(
        com.google.protobuf.ByteString value) {
      manufacturer_ = value.toStringUtf8();
      bitField0_ |= 0x00000800;
    }
  
    public static final int BUILDPRODUCT_FIELD_NUMBER = 13;
    private java.lang.String buildProduct_;
    /**
     * <code>optional string buildProduct = 13;</code>
     * @return Whether the buildProduct field is set.
     */
    @java.lang.Override
    public boolean hasBuildProduct() {
      return ((bitField0_ & 0x00001000) != 0);
    }
    /**
     * <code>optional string buildProduct = 13;</code>
     * @return The buildProduct.
     */
    @java.lang.Override
    public java.lang.String getBuildProduct() {
      return buildProduct_;
    }
    /**
     * <code>optional string buildProduct = 13;</code>
     * @return The bytes for buildProduct.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getBuildProductBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(buildProduct_);
    }
    /**
     * <code>optional string buildProduct = 13;</code>
     * @param value The buildProduct to set.
     */
    private void setBuildProduct(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00001000;
      buildProduct_ = value;
    }
    /**
     * <code>optional string buildProduct = 13;</code>
     */
    private void clearBuildProduct() {
      bitField0_ = (bitField0_ & ~0x00001000);
      buildProduct_ = getDefaultInstance().getBuildProduct();
    }
    /**
     * <code>optional string buildProduct = 13;</code>
     * @param value The bytes for buildProduct to set.
     */
    private void setBuildProductBytes(
        com.google.protobuf.ByteString value) {
      buildProduct_ = value.toStringUtf8();
      bitField0_ |= 0x00001000;
    }
  
    public static final int OTAINSTALLED_FIELD_NUMBER = 14;
    private boolean otaInstalled_;
    /**
     * <code>optional bool otaInstalled = 14;</code>
     * @return Whether the otaInstalled field is set.
     */
    @java.lang.Override
    public boolean hasOtaInstalled() {
      return ((bitField0_ & 0x00002000) != 0);
    }
    /**
     * <code>optional bool otaInstalled = 14;</code>
     * @return The otaInstalled.
     */
    @java.lang.Override
    public boolean getOtaInstalled() {
      return otaInstalled_;
    }
    /**
     * <code>optional bool otaInstalled = 14;</code>
     * @param value The otaInstalled to set.
     */
    private void setOtaInstalled(boolean value) {
      bitField0_ |= 0x00002000;
      otaInstalled_ = value;
    }
    /**
     * <code>optional bool otaInstalled = 14;</code>
     */
    private void clearOtaInstalled() {
      bitField0_ = (bitField0_ & ~0x00002000);
      otaInstalled_ = false;
    }
  
    public static finsky.protos.AndroidBuildProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static finsky.protos.AndroidBuildProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static finsky.protos.AndroidBuildProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static finsky.protos.AndroidBuildProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static finsky.protos.AndroidBuildProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static finsky.protos.AndroidBuildProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static finsky.protos.AndroidBuildProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static finsky.protos.AndroidBuildProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
  
    public static finsky.protos.AndroidBuildProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
  
    public static finsky.protos.AndroidBuildProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static finsky.protos.AndroidBuildProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static finsky.protos.AndroidBuildProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
  
    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(finsky.protos.AndroidBuildProto prototype) {
      return DEFAULT_INSTANCE.createBuilder(prototype);
    }
  
    /**
     * Protobuf type {@code finsky.protos.AndroidBuildProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          finsky.protos.AndroidBuildProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:finsky.protos.AndroidBuildProto)
        finsky.protos.AndroidBuildProtoOrBuilder {
      // Construct using finsky.protos.AndroidBuildProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }
  
  
      /**
       * <code>optional string id = 1;</code>
       * @return Whether the id field is set.
       */
      @java.lang.Override
      public boolean hasId() {
        return instance.hasId();
      }
      /**
       * <code>optional string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>optional string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>optional string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>optional string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>optional string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }
  
      /**
       * <code>optional string product = 2;</code>
       * @return Whether the product field is set.
       */
      @java.lang.Override
      public boolean hasProduct() {
        return instance.hasProduct();
      }
      /**
       * <code>optional string product = 2;</code>
       * @return The product.
       */
      @java.lang.Override
      public java.lang.String getProduct() {
        return instance.getProduct();
      }
      /**
       * <code>optional string product = 2;</code>
       * @return The bytes for product.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getProductBytes() {
        return instance.getProductBytes();
      }
      /**
       * <code>optional string product = 2;</code>
       * @param value The product to set.
       * @return This builder for chaining.
       */
      public Builder setProduct(
          java.lang.String value) {
        copyOnWrite();
        instance.setProduct(value);
        return this;
      }
      /**
       * <code>optional string product = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearProduct() {
        copyOnWrite();
        instance.clearProduct();
        return this;
      }
      /**
       * <code>optional string product = 2;</code>
       * @param value The bytes for product to set.
       * @return This builder for chaining.
       */
      public Builder setProductBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setProductBytes(value);
        return this;
      }
  
      /**
       * <code>optional string carrier = 3;</code>
       * @return Whether the carrier field is set.
       */
      @java.lang.Override
      public boolean hasCarrier() {
        return instance.hasCarrier();
      }
      /**
       * <code>optional string carrier = 3;</code>
       * @return The carrier.
       */
      @java.lang.Override
      public java.lang.String getCarrier() {
        return instance.getCarrier();
      }
      /**
       * <code>optional string carrier = 3;</code>
       * @return The bytes for carrier.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCarrierBytes() {
        return instance.getCarrierBytes();
      }
      /**
       * <code>optional string carrier = 3;</code>
       * @param value The carrier to set.
       * @return This builder for chaining.
       */
      public Builder setCarrier(
          java.lang.String value) {
        copyOnWrite();
        instance.setCarrier(value);
        return this;
      }
      /**
       * <code>optional string carrier = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearCarrier() {
        copyOnWrite();
        instance.clearCarrier();
        return this;
      }
      /**
       * <code>optional string carrier = 3;</code>
       * @param value The bytes for carrier to set.
       * @return This builder for chaining.
       */
      public Builder setCarrierBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setCarrierBytes(value);
        return this;
      }
  
      /**
       * <code>optional string radio = 4;</code>
       * @return Whether the radio field is set.
       */
      @java.lang.Override
      public boolean hasRadio() {
        return instance.hasRadio();
      }
      /**
       * <code>optional string radio = 4;</code>
       * @return The radio.
       */
      @java.lang.Override
      public java.lang.String getRadio() {
        return instance.getRadio();
      }
      /**
       * <code>optional string radio = 4;</code>
       * @return The bytes for radio.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getRadioBytes() {
        return instance.getRadioBytes();
      }
      /**
       * <code>optional string radio = 4;</code>
       * @param value The radio to set.
       * @return This builder for chaining.
       */
      public Builder setRadio(
          java.lang.String value) {
        copyOnWrite();
        instance.setRadio(value);
        return this;
      }
      /**
       * <code>optional string radio = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearRadio() {
        copyOnWrite();
        instance.clearRadio();
        return this;
      }
      /**
       * <code>optional string radio = 4;</code>
       * @param value The bytes for radio to set.
       * @return This builder for chaining.
       */
      public Builder setRadioBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setRadioBytes(value);
        return this;
      }
  
      /**
       * <code>optional string bootloader = 5;</code>
       * @return Whether the bootloader field is set.
       */
      @java.lang.Override
      public boolean hasBootloader() {
        return instance.hasBootloader();
      }
      /**
       * <code>optional string bootloader = 5;</code>
       * @return The bootloader.
       */
      @java.lang.Override
      public java.lang.String getBootloader() {
        return instance.getBootloader();
      }
      /**
       * <code>optional string bootloader = 5;</code>
       * @return The bytes for bootloader.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getBootloaderBytes() {
        return instance.getBootloaderBytes();
      }
      /**
       * <code>optional string bootloader = 5;</code>
       * @param value The bootloader to set.
       * @return This builder for chaining.
       */
      public Builder setBootloader(
          java.lang.String value) {
        copyOnWrite();
        instance.setBootloader(value);
        return this;
      }
      /**
       * <code>optional string bootloader = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearBootloader() {
        copyOnWrite();
        instance.clearBootloader();
        return this;
      }
      /**
       * <code>optional string bootloader = 5;</code>
       * @param value The bytes for bootloader to set.
       * @return This builder for chaining.
       */
      public Builder setBootloaderBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setBootloaderBytes(value);
        return this;
      }
  
      /**
       * <code>optional string client = 6;</code>
       * @return Whether the client field is set.
       */
      @java.lang.Override
      public boolean hasClient() {
        return instance.hasClient();
      }
      /**
       * <code>optional string client = 6;</code>
       * @return The client.
       */
      @java.lang.Override
      public java.lang.String getClient() {
        return instance.getClient();
      }
      /**
       * <code>optional string client = 6;</code>
       * @return The bytes for client.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getClientBytes() {
        return instance.getClientBytes();
      }
      /**
       * <code>optional string client = 6;</code>
       * @param value The client to set.
       * @return This builder for chaining.
       */
      public Builder setClient(
          java.lang.String value) {
        copyOnWrite();
        instance.setClient(value);
        return this;
      }
      /**
       * <code>optional string client = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearClient() {
        copyOnWrite();
        instance.clearClient();
        return this;
      }
      /**
       * <code>optional string client = 6;</code>
       * @param value The bytes for client to set.
       * @return This builder for chaining.
       */
      public Builder setClientBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setClientBytes(value);
        return this;
      }
  
      /**
       * <code>optional int64 timestamp = 7;</code>
       * @return Whether the timestamp field is set.
       */
      @java.lang.Override
      public boolean hasTimestamp() {
        return instance.hasTimestamp();
      }
      /**
       * <code>optional int64 timestamp = 7;</code>
       * @return The timestamp.
       */
      @java.lang.Override
      public long getTimestamp() {
        return instance.getTimestamp();
      }
      /**
       * <code>optional int64 timestamp = 7;</code>
       * @param value The timestamp to set.
       * @return This builder for chaining.
       */
      public Builder setTimestamp(long value) {
        copyOnWrite();
        instance.setTimestamp(value);
        return this;
      }
      /**
       * <code>optional int64 timestamp = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearTimestamp() {
        copyOnWrite();
        instance.clearTimestamp();
        return this;
      }
  
      /**
       * <code>optional int32 googleServices = 8;</code>
       * @return Whether the googleServices field is set.
       */
      @java.lang.Override
      public boolean hasGoogleServices() {
        return instance.hasGoogleServices();
      }
      /**
       * <code>optional int32 googleServices = 8;</code>
       * @return The googleServices.
       */
      @java.lang.Override
      public int getGoogleServices() {
        return instance.getGoogleServices();
      }
      /**
       * <code>optional int32 googleServices = 8;</code>
       * @param value The googleServices to set.
       * @return This builder for chaining.
       */
      public Builder setGoogleServices(int value) {
        copyOnWrite();
        instance.setGoogleServices(value);
        return this;
      }
      /**
       * <code>optional int32 googleServices = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearGoogleServices() {
        copyOnWrite();
        instance.clearGoogleServices();
        return this;
      }
  
      /**
       * <code>optional string device = 9;</code>
       * @return Whether the device field is set.
       */
      @java.lang.Override
      public boolean hasDevice() {
        return instance.hasDevice();
      }
      /**
       * <code>optional string device = 9;</code>
       * @return The device.
       */
      @java.lang.Override
      public java.lang.String getDevice() {
        return instance.getDevice();
      }
      /**
       * <code>optional string device = 9;</code>
       * @return The bytes for device.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getDeviceBytes() {
        return instance.getDeviceBytes();
      }
      /**
       * <code>optional string device = 9;</code>
       * @param value The device to set.
       * @return This builder for chaining.
       */
      public Builder setDevice(
          java.lang.String value) {
        copyOnWrite();
        instance.setDevice(value);
        return this;
      }
      /**
       * <code>optional string device = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearDevice() {
        copyOnWrite();
        instance.clearDevice();
        return this;
      }
      /**
       * <code>optional string device = 9;</code>
       * @param value The bytes for device to set.
       * @return This builder for chaining.
       */
      public Builder setDeviceBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setDeviceBytes(value);
        return this;
      }
  
      /**
       * <code>optional int32 sdkVersion = 10;</code>
       * @return Whether the sdkVersion field is set.
       */
      @java.lang.Override
      public boolean hasSdkVersion() {
        return instance.hasSdkVersion();
      }
      /**
       * <code>optional int32 sdkVersion = 10;</code>
       * @return The sdkVersion.
       */
      @java.lang.Override
      public int getSdkVersion() {
        return instance.getSdkVersion();
      }
      /**
       * <code>optional int32 sdkVersion = 10;</code>
       * @param value The sdkVersion to set.
       * @return This builder for chaining.
       */
      public Builder setSdkVersion(int value) {
        copyOnWrite();
        instance.setSdkVersion(value);
        return this;
      }
      /**
       * <code>optional int32 sdkVersion = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearSdkVersion() {
        copyOnWrite();
        instance.clearSdkVersion();
        return this;
      }
  
      /**
       * <code>optional string model = 11;</code>
       * @return Whether the model field is set.
       */
      @java.lang.Override
      public boolean hasModel() {
        return instance.hasModel();
      }
      /**
       * <code>optional string model = 11;</code>
       * @return The model.
       */
      @java.lang.Override
      public java.lang.String getModel() {
        return instance.getModel();
      }
      /**
       * <code>optional string model = 11;</code>
       * @return The bytes for model.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getModelBytes() {
        return instance.getModelBytes();
      }
      /**
       * <code>optional string model = 11;</code>
       * @param value The model to set.
       * @return This builder for chaining.
       */
      public Builder setModel(
          java.lang.String value) {
        copyOnWrite();
        instance.setModel(value);
        return this;
      }
      /**
       * <code>optional string model = 11;</code>
       * @return This builder for chaining.
       */
      public Builder clearModel() {
        copyOnWrite();
        instance.clearModel();
        return this;
      }
      /**
       * <code>optional string model = 11;</code>
       * @param value The bytes for model to set.
       * @return This builder for chaining.
       */
      public Builder setModelBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setModelBytes(value);
        return this;
      }
  
      /**
       * <code>optional string manufacturer = 12;</code>
       * @return Whether the manufacturer field is set.
       */
      @java.lang.Override
      public boolean hasManufacturer() {
        return instance.hasManufacturer();
      }
      /**
       * <code>optional string manufacturer = 12;</code>
       * @return The manufacturer.
       */
      @java.lang.Override
      public java.lang.String getManufacturer() {
        return instance.getManufacturer();
      }
      /**
       * <code>optional string manufacturer = 12;</code>
       * @return The bytes for manufacturer.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getManufacturerBytes() {
        return instance.getManufacturerBytes();
      }
      /**
       * <code>optional string manufacturer = 12;</code>
       * @param value The manufacturer to set.
       * @return This builder for chaining.
       */
      public Builder setManufacturer(
          java.lang.String value) {
        copyOnWrite();
        instance.setManufacturer(value);
        return this;
      }
      /**
       * <code>optional string manufacturer = 12;</code>
       * @return This builder for chaining.
       */
      public Builder clearManufacturer() {
        copyOnWrite();
        instance.clearManufacturer();
        return this;
      }
      /**
       * <code>optional string manufacturer = 12;</code>
       * @param value The bytes for manufacturer to set.
       * @return This builder for chaining.
       */
      public Builder setManufacturerBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setManufacturerBytes(value);
        return this;
      }
  
      /**
       * <code>optional string buildProduct = 13;</code>
       * @return Whether the buildProduct field is set.
       */
      @java.lang.Override
      public boolean hasBuildProduct() {
        return instance.hasBuildProduct();
      }
      /**
       * <code>optional string buildProduct = 13;</code>
       * @return The buildProduct.
       */
      @java.lang.Override
      public java.lang.String getBuildProduct() {
        return instance.getBuildProduct();
      }
      /**
       * <code>optional string buildProduct = 13;</code>
       * @return The bytes for buildProduct.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getBuildProductBytes() {
        return instance.getBuildProductBytes();
      }
      /**
       * <code>optional string buildProduct = 13;</code>
       * @param value The buildProduct to set.
       * @return This builder for chaining.
       */
      public Builder setBuildProduct(
          java.lang.String value) {
        copyOnWrite();
        instance.setBuildProduct(value);
        return this;
      }
      /**
       * <code>optional string buildProduct = 13;</code>
       * @return This builder for chaining.
       */
      public Builder clearBuildProduct() {
        copyOnWrite();
        instance.clearBuildProduct();
        return this;
      }
      /**
       * <code>optional string buildProduct = 13;</code>
       * @param value The bytes for buildProduct to set.
       * @return This builder for chaining.
       */
      public Builder setBuildProductBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setBuildProductBytes(value);
        return this;
      }
  
      /**
       * <code>optional bool otaInstalled = 14;</code>
       * @return Whether the otaInstalled field is set.
       */
      @java.lang.Override
      public boolean hasOtaInstalled() {
        return instance.hasOtaInstalled();
      }
      /**
       * <code>optional bool otaInstalled = 14;</code>
       * @return The otaInstalled.
       */
      @java.lang.Override
      public boolean getOtaInstalled() {
        return instance.getOtaInstalled();
      }
      /**
       * <code>optional bool otaInstalled = 14;</code>
       * @param value The otaInstalled to set.
       * @return This builder for chaining.
       */
      public Builder setOtaInstalled(boolean value) {
        copyOnWrite();
        instance.setOtaInstalled(value);
        return this;
      }
      /**
       * <code>optional bool otaInstalled = 14;</code>
       * @return This builder for chaining.
       */
      public Builder clearOtaInstalled() {
        copyOnWrite();
        instance.clearOtaInstalled();
        return this;
      }
  
      // @@protoc_insertion_point(builder_scope:finsky.protos.AndroidBuildProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new finsky.protos.AndroidBuildProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "id_",
              "product_",
              "carrier_",
              "radio_",
              "bootloader_",
              "client_",
              "timestamp_",
              "googleServices_",
              "device_",
              "sdkVersion_",
              "model_",
              "manufacturer_",
              "buildProduct_",
              "otaInstalled_",
            };
            java.lang.String info =
                "\u0001\u000e\u0000\u0001\u0001\u000e\u000e\u0000\u0000\u0000\u0001\u1008\u0000\u0002" +
                "\u1008\u0001\u0003\u1008\u0002\u0004\u1008\u0003\u0005\u1008\u0004\u0006\u1008\u0005" +
                "\u0007\u1002\u0006\b\u1004\u0007\t\u1008\b\n\u1004\t\u000b\u1008\n\f\u1008\u000b" +
                "\r\u1008\f\u000e\u1007\r";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<finsky.protos.AndroidBuildProto> parser = PARSER;
          if (parser == null) {
            synchronized (finsky.protos.AndroidBuildProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<finsky.protos.AndroidBuildProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }
  
  
    // @@protoc_insertion_point(class_scope:finsky.protos.AndroidBuildProto)
    private static final finsky.protos.AndroidBuildProto DEFAULT_INSTANCE;
    static {
      AndroidBuildProto defaultInstance = new AndroidBuildProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        AndroidBuildProto.class, defaultInstance);
    }
  
    public static finsky.protos.AndroidBuildProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
  
    private static volatile com.google.protobuf.Parser<AndroidBuildProto> PARSER;
  
    public static com.google.protobuf.Parser<AndroidBuildProto> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }
  
  