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.AppFileMetadata}
   */
  public  final class AppFileMetadata extends
      com.google.protobuf.GeneratedMessageLite<
          AppFileMetadata, AppFileMetadata.Builder> implements
      // @@protoc_insertion_point(message_implements:finsky.protos.AppFileMetadata)
      AppFileMetadataOrBuilder {
    private AppFileMetadata() {
      downloadUrl_ = "";
      compressedDownloadUrl_ = "";
      sha1_ = "";
    }
    private int bitField0_;
    public static final int FILETYPE_FIELD_NUMBER = 1;
    private int fileType_;
    /**
     * <code>optional int32 fileType = 1;</code>
     * @return Whether the fileType field is set.
     */
    @java.lang.Override
    public boolean hasFileType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional int32 fileType = 1;</code>
     * @return The fileType.
     */
    @java.lang.Override
    public int getFileType() {
      return fileType_;
    }
    /**
     * <code>optional int32 fileType = 1;</code>
     * @param value The fileType to set.
     */
    private void setFileType(int value) {
      bitField0_ |= 0x00000001;
      fileType_ = value;
    }
    /**
     * <code>optional int32 fileType = 1;</code>
     */
    private void clearFileType() {
      bitField0_ = (bitField0_ & ~0x00000001);
      fileType_ = 0;
    }
  
    public static final int VERSIONCODE_FIELD_NUMBER = 2;
    private int versionCode_;
    /**
     * <code>optional int32 versionCode = 2;</code>
     * @return Whether the versionCode field is set.
     */
    @java.lang.Override
    public boolean hasVersionCode() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional int32 versionCode = 2;</code>
     * @return The versionCode.
     */
    @java.lang.Override
    public int getVersionCode() {
      return versionCode_;
    }
    /**
     * <code>optional int32 versionCode = 2;</code>
     * @param value The versionCode to set.
     */
    private void setVersionCode(int value) {
      bitField0_ |= 0x00000002;
      versionCode_ = value;
    }
    /**
     * <code>optional int32 versionCode = 2;</code>
     */
    private void clearVersionCode() {
      bitField0_ = (bitField0_ & ~0x00000002);
      versionCode_ = 0;
    }
  
    public static final int SIZE_FIELD_NUMBER = 3;
    private long size_;
    /**
     * <code>optional int64 size = 3;</code>
     * @return Whether the size field is set.
     */
    @java.lang.Override
    public boolean hasSize() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional int64 size = 3;</code>
     * @return The size.
     */
    @java.lang.Override
    public long getSize() {
      return size_;
    }
    /**
     * <code>optional int64 size = 3;</code>
     * @param value The size to set.
     */
    private void setSize(long value) {
      bitField0_ |= 0x00000004;
      size_ = value;
    }
    /**
     * <code>optional int64 size = 3;</code>
     */
    private void clearSize() {
      bitField0_ = (bitField0_ & ~0x00000004);
      size_ = 0L;
    }
  
    public static final int DOWNLOADURL_FIELD_NUMBER = 4;
    private java.lang.String downloadUrl_;
    /**
     * <code>optional string downloadUrl = 4;</code>
     * @return Whether the downloadUrl field is set.
     */
    @java.lang.Override
    public boolean hasDownloadUrl() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional string downloadUrl = 4;</code>
     * @return The downloadUrl.
     */
    @java.lang.Override
    public java.lang.String getDownloadUrl() {
      return downloadUrl_;
    }
    /**
     * <code>optional string downloadUrl = 4;</code>
     * @return The bytes for downloadUrl.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDownloadUrlBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(downloadUrl_);
    }
    /**
     * <code>optional string downloadUrl = 4;</code>
     * @param value The downloadUrl to set.
     */
    private void setDownloadUrl(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000008;
      downloadUrl_ = value;
    }
    /**
     * <code>optional string downloadUrl = 4;</code>
     */
    private void clearDownloadUrl() {
      bitField0_ = (bitField0_ & ~0x00000008);
      downloadUrl_ = getDefaultInstance().getDownloadUrl();
    }
    /**
     * <code>optional string downloadUrl = 4;</code>
     * @param value The bytes for downloadUrl to set.
     */
    private void setDownloadUrlBytes(
        com.google.protobuf.ByteString value) {
      downloadUrl_ = value.toStringUtf8();
      bitField0_ |= 0x00000008;
    }
  
    public static final int PATCHDATA_FIELD_NUMBER = 5;
    private finsky.protos.AndroidAppPatchData patchData_;
    /**
     * <code>optional .finsky.protos.AndroidAppPatchData patchData = 5;</code>
     */
    @java.lang.Override
    public boolean hasPatchData() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional .finsky.protos.AndroidAppPatchData patchData = 5;</code>
     */
    @java.lang.Override
    public finsky.protos.AndroidAppPatchData getPatchData() {
      return patchData_ == null ? finsky.protos.AndroidAppPatchData.getDefaultInstance() : patchData_;
    }
    /**
     * <code>optional .finsky.protos.AndroidAppPatchData patchData = 5;</code>
     */
    private void setPatchData(finsky.protos.AndroidAppPatchData value) {
      value.getClass();
    patchData_ = value;
      bitField0_ |= 0x00000010;
      }
    /**
     * <code>optional .finsky.protos.AndroidAppPatchData patchData = 5;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergePatchData(finsky.protos.AndroidAppPatchData value) {
      value.getClass();
    if (patchData_ != null &&
          patchData_ != finsky.protos.AndroidAppPatchData.getDefaultInstance()) {
        patchData_ =
          finsky.protos.AndroidAppPatchData.newBuilder(patchData_).mergeFrom(value).buildPartial();
      } else {
        patchData_ = value;
      }
      bitField0_ |= 0x00000010;
    }
    /**
     * <code>optional .finsky.protos.AndroidAppPatchData patchData = 5;</code>
     */
    private void clearPatchData() {  patchData_ = null;
      bitField0_ = (bitField0_ & ~0x00000010);
    }
  
    public static final int COMPRESSEDSIZE_FIELD_NUMBER = 6;
    private long compressedSize_;
    /**
     * <code>optional int64 compressedSize = 6;</code>
     * @return Whether the compressedSize field is set.
     */
    @java.lang.Override
    public boolean hasCompressedSize() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional int64 compressedSize = 6;</code>
     * @return The compressedSize.
     */
    @java.lang.Override
    public long getCompressedSize() {
      return compressedSize_;
    }
    /**
     * <code>optional int64 compressedSize = 6;</code>
     * @param value The compressedSize to set.
     */
    private void setCompressedSize(long value) {
      bitField0_ |= 0x00000020;
      compressedSize_ = value;
    }
    /**
     * <code>optional int64 compressedSize = 6;</code>
     */
    private void clearCompressedSize() {
      bitField0_ = (bitField0_ & ~0x00000020);
      compressedSize_ = 0L;
    }
  
    public static final int COMPRESSEDDOWNLOADURL_FIELD_NUMBER = 7;
    private java.lang.String compressedDownloadUrl_;
    /**
     * <code>optional string compressedDownloadUrl = 7;</code>
     * @return Whether the compressedDownloadUrl field is set.
     */
    @java.lang.Override
    public boolean hasCompressedDownloadUrl() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * <code>optional string compressedDownloadUrl = 7;</code>
     * @return The compressedDownloadUrl.
     */
    @java.lang.Override
    public java.lang.String getCompressedDownloadUrl() {
      return compressedDownloadUrl_;
    }
    /**
     * <code>optional string compressedDownloadUrl = 7;</code>
     * @return The bytes for compressedDownloadUrl.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCompressedDownloadUrlBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(compressedDownloadUrl_);
    }
    /**
     * <code>optional string compressedDownloadUrl = 7;</code>
     * @param value The compressedDownloadUrl to set.
     */
    private void setCompressedDownloadUrl(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000040;
      compressedDownloadUrl_ = value;
    }
    /**
     * <code>optional string compressedDownloadUrl = 7;</code>
     */
    private void clearCompressedDownloadUrl() {
      bitField0_ = (bitField0_ & ~0x00000040);
      compressedDownloadUrl_ = getDefaultInstance().getCompressedDownloadUrl();
    }
    /**
     * <code>optional string compressedDownloadUrl = 7;</code>
     * @param value The bytes for compressedDownloadUrl to set.
     */
    private void setCompressedDownloadUrlBytes(
        com.google.protobuf.ByteString value) {
      compressedDownloadUrl_ = value.toStringUtf8();
      bitField0_ |= 0x00000040;
    }
  
    public static final int SHA1_FIELD_NUMBER = 8;
    private java.lang.String sha1_;
    /**
     * <code>optional string sha1 = 8;</code>
     * @return Whether the sha1 field is set.
     */
    @java.lang.Override
    public boolean hasSha1() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * <code>optional string sha1 = 8;</code>
     * @return The sha1.
     */
    @java.lang.Override
    public java.lang.String getSha1() {
      return sha1_;
    }
    /**
     * <code>optional string sha1 = 8;</code>
     * @return The bytes for sha1.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSha1Bytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(sha1_);
    }
    /**
     * <code>optional string sha1 = 8;</code>
     * @param value The sha1 to set.
     */
    private void setSha1(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000080;
      sha1_ = value;
    }
    /**
     * <code>optional string sha1 = 8;</code>
     */
    private void clearSha1() {
      bitField0_ = (bitField0_ & ~0x00000080);
      sha1_ = getDefaultInstance().getSha1();
    }
    /**
     * <code>optional string sha1 = 8;</code>
     * @param value The bytes for sha1 to set.
     */
    private void setSha1Bytes(
        com.google.protobuf.ByteString value) {
      sha1_ = value.toStringUtf8();
      bitField0_ |= 0x00000080;
    }
  
    public static finsky.protos.AppFileMetadata parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static finsky.protos.AppFileMetadata 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.AppFileMetadata parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static finsky.protos.AppFileMetadata 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.AppFileMetadata parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static finsky.protos.AppFileMetadata 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.AppFileMetadata parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static finsky.protos.AppFileMetadata 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.AppFileMetadata parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
  
    public static finsky.protos.AppFileMetadata parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static finsky.protos.AppFileMetadata parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static finsky.protos.AppFileMetadata 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.AppFileMetadata prototype) {
      return DEFAULT_INSTANCE.createBuilder(prototype);
    }
  
    /**
     * Protobuf type {@code finsky.protos.AppFileMetadata}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          finsky.protos.AppFileMetadata, Builder> implements
        // @@protoc_insertion_point(builder_implements:finsky.protos.AppFileMetadata)
        finsky.protos.AppFileMetadataOrBuilder {
      // Construct using finsky.protos.AppFileMetadata.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }
  
  
      /**
       * <code>optional int32 fileType = 1;</code>
       * @return Whether the fileType field is set.
       */
      @java.lang.Override
      public boolean hasFileType() {
        return instance.hasFileType();
      }
      /**
       * <code>optional int32 fileType = 1;</code>
       * @return The fileType.
       */
      @java.lang.Override
      public int getFileType() {
        return instance.getFileType();
      }
      /**
       * <code>optional int32 fileType = 1;</code>
       * @param value The fileType to set.
       * @return This builder for chaining.
       */
      public Builder setFileType(int value) {
        copyOnWrite();
        instance.setFileType(value);
        return this;
      }
      /**
       * <code>optional int32 fileType = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearFileType() {
        copyOnWrite();
        instance.clearFileType();
        return this;
      }
  
      /**
       * <code>optional int32 versionCode = 2;</code>
       * @return Whether the versionCode field is set.
       */
      @java.lang.Override
      public boolean hasVersionCode() {
        return instance.hasVersionCode();
      }
      /**
       * <code>optional int32 versionCode = 2;</code>
       * @return The versionCode.
       */
      @java.lang.Override
      public int getVersionCode() {
        return instance.getVersionCode();
      }
      /**
       * <code>optional int32 versionCode = 2;</code>
       * @param value The versionCode to set.
       * @return This builder for chaining.
       */
      public Builder setVersionCode(int value) {
        copyOnWrite();
        instance.setVersionCode(value);
        return this;
      }
      /**
       * <code>optional int32 versionCode = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearVersionCode() {
        copyOnWrite();
        instance.clearVersionCode();
        return this;
      }
  
      /**
       * <code>optional int64 size = 3;</code>
       * @return Whether the size field is set.
       */
      @java.lang.Override
      public boolean hasSize() {
        return instance.hasSize();
      }
      /**
       * <code>optional int64 size = 3;</code>
       * @return The size.
       */
      @java.lang.Override
      public long getSize() {
        return instance.getSize();
      }
      /**
       * <code>optional int64 size = 3;</code>
       * @param value The size to set.
       * @return This builder for chaining.
       */
      public Builder setSize(long value) {
        copyOnWrite();
        instance.setSize(value);
        return this;
      }
      /**
       * <code>optional int64 size = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearSize() {
        copyOnWrite();
        instance.clearSize();
        return this;
      }
  
      /**
       * <code>optional string downloadUrl = 4;</code>
       * @return Whether the downloadUrl field is set.
       */
      @java.lang.Override
      public boolean hasDownloadUrl() {
        return instance.hasDownloadUrl();
      }
      /**
       * <code>optional string downloadUrl = 4;</code>
       * @return The downloadUrl.
       */
      @java.lang.Override
      public java.lang.String getDownloadUrl() {
        return instance.getDownloadUrl();
      }
      /**
       * <code>optional string downloadUrl = 4;</code>
       * @return The bytes for downloadUrl.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getDownloadUrlBytes() {
        return instance.getDownloadUrlBytes();
      }
      /**
       * <code>optional string downloadUrl = 4;</code>
       * @param value The downloadUrl to set.
       * @return This builder for chaining.
       */
      public Builder setDownloadUrl(
          java.lang.String value) {
        copyOnWrite();
        instance.setDownloadUrl(value);
        return this;
      }
      /**
       * <code>optional string downloadUrl = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearDownloadUrl() {
        copyOnWrite();
        instance.clearDownloadUrl();
        return this;
      }
      /**
       * <code>optional string downloadUrl = 4;</code>
       * @param value The bytes for downloadUrl to set.
       * @return This builder for chaining.
       */
      public Builder setDownloadUrlBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setDownloadUrlBytes(value);
        return this;
      }
  
      /**
       * <code>optional .finsky.protos.AndroidAppPatchData patchData = 5;</code>
       */
      @java.lang.Override
      public boolean hasPatchData() {
        return instance.hasPatchData();
      }
      /**
       * <code>optional .finsky.protos.AndroidAppPatchData patchData = 5;</code>
       */
      @java.lang.Override
      public finsky.protos.AndroidAppPatchData getPatchData() {
        return instance.getPatchData();
      }
      /**
       * <code>optional .finsky.protos.AndroidAppPatchData patchData = 5;</code>
       */
      public Builder setPatchData(finsky.protos.AndroidAppPatchData value) {
        copyOnWrite();
        instance.setPatchData(value);
        return this;
        }
      /**
       * <code>optional .finsky.protos.AndroidAppPatchData patchData = 5;</code>
       */
      public Builder setPatchData(
          finsky.protos.AndroidAppPatchData.Builder builderForValue) {
        copyOnWrite();
        instance.setPatchData(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .finsky.protos.AndroidAppPatchData patchData = 5;</code>
       */
      public Builder mergePatchData(finsky.protos.AndroidAppPatchData value) {
        copyOnWrite();
        instance.mergePatchData(value);
        return this;
      }
      /**
       * <code>optional .finsky.protos.AndroidAppPatchData patchData = 5;</code>
       */
      public Builder clearPatchData() {  copyOnWrite();
        instance.clearPatchData();
        return this;
      }
  
      /**
       * <code>optional int64 compressedSize = 6;</code>
       * @return Whether the compressedSize field is set.
       */
      @java.lang.Override
      public boolean hasCompressedSize() {
        return instance.hasCompressedSize();
      }
      /**
       * <code>optional int64 compressedSize = 6;</code>
       * @return The compressedSize.
       */
      @java.lang.Override
      public long getCompressedSize() {
        return instance.getCompressedSize();
      }
      /**
       * <code>optional int64 compressedSize = 6;</code>
       * @param value The compressedSize to set.
       * @return This builder for chaining.
       */
      public Builder setCompressedSize(long value) {
        copyOnWrite();
        instance.setCompressedSize(value);
        return this;
      }
      /**
       * <code>optional int64 compressedSize = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearCompressedSize() {
        copyOnWrite();
        instance.clearCompressedSize();
        return this;
      }
  
      /**
       * <code>optional string compressedDownloadUrl = 7;</code>
       * @return Whether the compressedDownloadUrl field is set.
       */
      @java.lang.Override
      public boolean hasCompressedDownloadUrl() {
        return instance.hasCompressedDownloadUrl();
      }
      /**
       * <code>optional string compressedDownloadUrl = 7;</code>
       * @return The compressedDownloadUrl.
       */
      @java.lang.Override
      public java.lang.String getCompressedDownloadUrl() {
        return instance.getCompressedDownloadUrl();
      }
      /**
       * <code>optional string compressedDownloadUrl = 7;</code>
       * @return The bytes for compressedDownloadUrl.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCompressedDownloadUrlBytes() {
        return instance.getCompressedDownloadUrlBytes();
      }
      /**
       * <code>optional string compressedDownloadUrl = 7;</code>
       * @param value The compressedDownloadUrl to set.
       * @return This builder for chaining.
       */
      public Builder setCompressedDownloadUrl(
          java.lang.String value) {
        copyOnWrite();
        instance.setCompressedDownloadUrl(value);
        return this;
      }
      /**
       * <code>optional string compressedDownloadUrl = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearCompressedDownloadUrl() {
        copyOnWrite();
        instance.clearCompressedDownloadUrl();
        return this;
      }
      /**
       * <code>optional string compressedDownloadUrl = 7;</code>
       * @param value The bytes for compressedDownloadUrl to set.
       * @return This builder for chaining.
       */
      public Builder setCompressedDownloadUrlBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setCompressedDownloadUrlBytes(value);
        return this;
      }
  
      /**
       * <code>optional string sha1 = 8;</code>
       * @return Whether the sha1 field is set.
       */
      @java.lang.Override
      public boolean hasSha1() {
        return instance.hasSha1();
      }
      /**
       * <code>optional string sha1 = 8;</code>
       * @return The sha1.
       */
      @java.lang.Override
      public java.lang.String getSha1() {
        return instance.getSha1();
      }
      /**
       * <code>optional string sha1 = 8;</code>
       * @return The bytes for sha1.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSha1Bytes() {
        return instance.getSha1Bytes();
      }
      /**
       * <code>optional string sha1 = 8;</code>
       * @param value The sha1 to set.
       * @return This builder for chaining.
       */
      public Builder setSha1(
          java.lang.String value) {
        copyOnWrite();
        instance.setSha1(value);
        return this;
      }
      /**
       * <code>optional string sha1 = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearSha1() {
        copyOnWrite();
        instance.clearSha1();
        return this;
      }
      /**
       * <code>optional string sha1 = 8;</code>
       * @param value The bytes for sha1 to set.
       * @return This builder for chaining.
       */
      public Builder setSha1Bytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setSha1Bytes(value);
        return this;
      }
  
      // @@protoc_insertion_point(builder_scope:finsky.protos.AppFileMetadata)
    }
    @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.AppFileMetadata();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "fileType_",
              "versionCode_",
              "size_",
              "downloadUrl_",
              "patchData_",
              "compressedSize_",
              "compressedDownloadUrl_",
              "sha1_",
            };
            java.lang.String info =
                "\u0001\b\u0000\u0001\u0001\b\b\u0000\u0000\u0000\u0001\u1004\u0000\u0002\u1004\u0001" +
                "\u0003\u1002\u0002\u0004\u1008\u0003\u0005\u1009\u0004\u0006\u1002\u0005\u0007\u1008" +
                "\u0006\b\u1008\u0007";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<finsky.protos.AppFileMetadata> parser = PARSER;
          if (parser == null) {
            synchronized (finsky.protos.AppFileMetadata.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<finsky.protos.AppFileMetadata>(
                        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.AppFileMetadata)
    private static final finsky.protos.AppFileMetadata DEFAULT_INSTANCE;
    static {
      AppFileMetadata defaultInstance = new AppFileMetadata();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        AppFileMetadata.class, defaultInstance);
    }
  
    public static finsky.protos.AppFileMetadata getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
  
    private static volatile com.google.protobuf.Parser<AppFileMetadata> PARSER;
  
    public static com.google.protobuf.Parser<AppFileMetadata> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }
  
  