public final class

RequestProto

extends java.lang.Object

 java.lang.Object

↳androidx.health.platform.client.proto.RequestProto

Gradle dependencies

compile group: 'androidx.health.connect', name: 'connect-client-proto', version: '1.1.0-alpha08'

  • groupId: androidx.health.connect
  • artifactId: connect-client-proto
  • version: 1.1.0-alpha08

Artifact androidx.health.connect:connect-client-proto:1.1.0-alpha08 it located at Google repository (https://maven.google.com/)

Summary

Methods
public static voidregisterAllExtensions(com.google.protobuf.ExtensionRegistryLite registry)

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods

public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry)

Source

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: request.proto

package androidx.health.platform.client.proto;

public final class RequestProto {
  private RequestProto() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  public interface SimpleDataRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.SimpleDataRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     * @return Whether the dataPoint field is set.
     */
    boolean hasDataPoint();
    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     * @return The dataPoint.
     */
    androidx.health.platform.client.proto.DataProto.DataPoint getDataPoint();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.SimpleDataRequest}
   */
  public  static final class SimpleDataRequest extends
      com.google.protobuf.GeneratedMessageLite<
          SimpleDataRequest, SimpleDataRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.SimpleDataRequest)
      SimpleDataRequestOrBuilder {
    private SimpleDataRequest() {
    }
    private int bitField0_;
    public static final int DATA_POINT_FIELD_NUMBER = 1;
    private androidx.health.platform.client.proto.DataProto.DataPoint dataPoint_;
    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    @java.lang.Override
    public boolean hasDataPoint() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.DataProto.DataPoint getDataPoint() {
      return dataPoint_ == null ? androidx.health.platform.client.proto.DataProto.DataPoint.getDefaultInstance() : dataPoint_;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    private void setDataPoint(androidx.health.platform.client.proto.DataProto.DataPoint value) {
      value.getClass();
  dataPoint_ = value;
      bitField0_ |= 0x00000001;
      }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeDataPoint(androidx.health.platform.client.proto.DataProto.DataPoint value) {
      value.getClass();
  if (dataPoint_ != null &&
          dataPoint_ != androidx.health.platform.client.proto.DataProto.DataPoint.getDefaultInstance()) {
        dataPoint_ =
          androidx.health.platform.client.proto.DataProto.DataPoint.newBuilder(dataPoint_).mergeFrom(value).buildPartial();
      } else {
        dataPoint_ = value;
      }
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    private void clearDataPoint() {  dataPoint_ = null;
      bitField0_ = (bitField0_ & ~0x00000001);
    }

    public static androidx.health.platform.client.proto.RequestProto.SimpleDataRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.SimpleDataRequest 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 androidx.health.platform.client.proto.RequestProto.SimpleDataRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.SimpleDataRequest 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 androidx.health.platform.client.proto.RequestProto.SimpleDataRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.SimpleDataRequest 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 androidx.health.platform.client.proto.RequestProto.SimpleDataRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.SimpleDataRequest 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 androidx.health.platform.client.proto.RequestProto.SimpleDataRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.SimpleDataRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.SimpleDataRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.SimpleDataRequest 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(androidx.health.platform.client.proto.RequestProto.SimpleDataRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.SimpleDataRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.SimpleDataRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.SimpleDataRequest)
        androidx.health.platform.client.proto.RequestProto.SimpleDataRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.SimpleDataRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      @java.lang.Override
      public boolean hasDataPoint() {
        return instance.hasDataPoint();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.DataProto.DataPoint getDataPoint() {
        return instance.getDataPoint();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder setDataPoint(androidx.health.platform.client.proto.DataProto.DataPoint value) {
        copyOnWrite();
        instance.setDataPoint(value);
        return this;
        }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder setDataPoint(
          androidx.health.platform.client.proto.DataProto.DataPoint.Builder builderForValue) {
        copyOnWrite();
        instance.setDataPoint(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder mergeDataPoint(androidx.health.platform.client.proto.DataProto.DataPoint value) {
        copyOnWrite();
        instance.mergeDataPoint(value);
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder clearDataPoint() {  copyOnWrite();
        instance.clearDataPoint();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.SimpleDataRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.SimpleDataRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "dataPoint_",
            };
            java.lang.String info =
                "\u0001\u0001\u0000\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0001\u1009\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.SimpleDataRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.SimpleDataRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.SimpleDataRequest>(
                        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:androidx.health.platform.client.proto.SimpleDataRequest)
    private static final androidx.health.platform.client.proto.RequestProto.SimpleDataRequest DEFAULT_INSTANCE;
    static {
      SimpleDataRequest defaultInstance = new SimpleDataRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        SimpleDataRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.SimpleDataRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<SimpleDataRequest> PARSER;

    public static com.google.protobuf.Parser<SimpleDataRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface ReadDataPointRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.ReadDataPointRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     * @return Whether the dataType field is set.
     */
    boolean hasDataType();
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     * @return The dataType.
     */
    androidx.health.platform.client.proto.DataProto.DataType getDataType();

    /**
     * <code>optional string uid = 2;</code>
     * @return Whether the uid field is set.
     */
    boolean hasUid();
    /**
     * <code>optional string uid = 2;</code>
     * @return The uid.
     */
    java.lang.String getUid();
    /**
     * <code>optional string uid = 2;</code>
     * @return The bytes for uid.
     */
    com.google.protobuf.ByteString
        getUidBytes();

    /**
     * <code>optional string client_id = 3;</code>
     * @return Whether the clientId field is set.
     */
    boolean hasClientId();
    /**
     * <code>optional string client_id = 3;</code>
     * @return The clientId.
     */
    java.lang.String getClientId();
    /**
     * <code>optional string client_id = 3;</code>
     * @return The bytes for clientId.
     */
    com.google.protobuf.ByteString
        getClientIdBytes();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.ReadDataPointRequest}
   */
  public  static final class ReadDataPointRequest extends
      com.google.protobuf.GeneratedMessageLite<
          ReadDataPointRequest, ReadDataPointRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.ReadDataPointRequest)
      ReadDataPointRequestOrBuilder {
    private ReadDataPointRequest() {
      uid_ = "";
      clientId_ = "";
    }
    private int bitField0_;
    public static final int DATA_TYPE_FIELD_NUMBER = 1;
    private androidx.health.platform.client.proto.DataProto.DataType dataType_;
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    @java.lang.Override
    public boolean hasDataType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.DataProto.DataType getDataType() {
      return dataType_ == null ? androidx.health.platform.client.proto.DataProto.DataType.getDefaultInstance() : dataType_;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    private void setDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  dataType_ = value;
      bitField0_ |= 0x00000001;
      }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  if (dataType_ != null &&
          dataType_ != androidx.health.platform.client.proto.DataProto.DataType.getDefaultInstance()) {
        dataType_ =
          androidx.health.platform.client.proto.DataProto.DataType.newBuilder(dataType_).mergeFrom(value).buildPartial();
      } else {
        dataType_ = value;
      }
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    private void clearDataType() {  dataType_ = null;
      bitField0_ = (bitField0_ & ~0x00000001);
    }

    public static final int UID_FIELD_NUMBER = 2;
    private java.lang.String uid_;
    /**
     * <code>optional string uid = 2;</code>
     * @return Whether the uid field is set.
     */
    @java.lang.Override
    public boolean hasUid() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional string uid = 2;</code>
     * @return The uid.
     */
    @java.lang.Override
    public java.lang.String getUid() {
      return uid_;
    }
    /**
     * <code>optional string uid = 2;</code>
     * @return The bytes for uid.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUidBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(uid_);
    }
    /**
     * <code>optional string uid = 2;</code>
     * @param value The uid to set.
     */
    private void setUid(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000002;
      uid_ = value;
    }
    /**
     * <code>optional string uid = 2;</code>
     */
    private void clearUid() {
      bitField0_ = (bitField0_ & ~0x00000002);
      uid_ = getDefaultInstance().getUid();
    }
    /**
     * <code>optional string uid = 2;</code>
     * @param value The bytes for uid to set.
     */
    private void setUidBytes(
        com.google.protobuf.ByteString value) {
      uid_ = value.toStringUtf8();
      bitField0_ |= 0x00000002;
    }

    public static final int CLIENT_ID_FIELD_NUMBER = 3;
    private java.lang.String clientId_;
    /**
     * <code>optional string client_id = 3;</code>
     * @return Whether the clientId field is set.
     */
    @java.lang.Override
    public boolean hasClientId() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional string client_id = 3;</code>
     * @return The clientId.
     */
    @java.lang.Override
    public java.lang.String getClientId() {
      return clientId_;
    }
    /**
     * <code>optional string client_id = 3;</code>
     * @return The bytes for clientId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getClientIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(clientId_);
    }
    /**
     * <code>optional string client_id = 3;</code>
     * @param value The clientId to set.
     */
    private void setClientId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000004;
      clientId_ = value;
    }
    /**
     * <code>optional string client_id = 3;</code>
     */
    private void clearClientId() {
      bitField0_ = (bitField0_ & ~0x00000004);
      clientId_ = getDefaultInstance().getClientId();
    }
    /**
     * <code>optional string client_id = 3;</code>
     * @param value The bytes for clientId to set.
     */
    private void setClientIdBytes(
        com.google.protobuf.ByteString value) {
      clientId_ = value.toStringUtf8();
      bitField0_ |= 0x00000004;
    }

    public static androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest 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 androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest 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 androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest 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 androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest 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 androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest 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(androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.ReadDataPointRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.ReadDataPointRequest)
        androidx.health.platform.client.proto.RequestProto.ReadDataPointRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      @java.lang.Override
      public boolean hasDataType() {
        return instance.hasDataType();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.DataProto.DataType getDataType() {
        return instance.getDataType();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder setDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.setDataType(value);
        return this;
        }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder setDataType(
          androidx.health.platform.client.proto.DataProto.DataType.Builder builderForValue) {
        copyOnWrite();
        instance.setDataType(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder mergeDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.mergeDataType(value);
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder clearDataType() {  copyOnWrite();
        instance.clearDataType();
        return this;
      }

      /**
       * <code>optional string uid = 2;</code>
       * @return Whether the uid field is set.
       */
      @java.lang.Override
      public boolean hasUid() {
        return instance.hasUid();
      }
      /**
       * <code>optional string uid = 2;</code>
       * @return The uid.
       */
      @java.lang.Override
      public java.lang.String getUid() {
        return instance.getUid();
      }
      /**
       * <code>optional string uid = 2;</code>
       * @return The bytes for uid.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getUidBytes() {
        return instance.getUidBytes();
      }
      /**
       * <code>optional string uid = 2;</code>
       * @param value The uid to set.
       * @return This builder for chaining.
       */
      public Builder setUid(
          java.lang.String value) {
        copyOnWrite();
        instance.setUid(value);
        return this;
      }
      /**
       * <code>optional string uid = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearUid() {
        copyOnWrite();
        instance.clearUid();
        return this;
      }
      /**
       * <code>optional string uid = 2;</code>
       * @param value The bytes for uid to set.
       * @return This builder for chaining.
       */
      public Builder setUidBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setUidBytes(value);
        return this;
      }

      /**
       * <code>optional string client_id = 3;</code>
       * @return Whether the clientId field is set.
       */
      @java.lang.Override
      public boolean hasClientId() {
        return instance.hasClientId();
      }
      /**
       * <code>optional string client_id = 3;</code>
       * @return The clientId.
       */
      @java.lang.Override
      public java.lang.String getClientId() {
        return instance.getClientId();
      }
      /**
       * <code>optional string client_id = 3;</code>
       * @return The bytes for clientId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getClientIdBytes() {
        return instance.getClientIdBytes();
      }
      /**
       * <code>optional string client_id = 3;</code>
       * @param value The clientId to set.
       * @return This builder for chaining.
       */
      public Builder setClientId(
          java.lang.String value) {
        copyOnWrite();
        instance.setClientId(value);
        return this;
      }
      /**
       * <code>optional string client_id = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearClientId() {
        copyOnWrite();
        instance.clearClientId();
        return this;
      }
      /**
       * <code>optional string client_id = 3;</code>
       * @param value The bytes for clientId to set.
       * @return This builder for chaining.
       */
      public Builder setClientIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setClientIdBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.ReadDataPointRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "dataType_",
              "uid_",
              "clientId_",
            };
            java.lang.String info =
                "\u0001\u0003\u0000\u0001\u0001\u0003\u0003\u0000\u0000\u0000\u0001\u1009\u0000\u0002" +
                "\u1008\u0001\u0003\u1008\u0002";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest>(
                        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:androidx.health.platform.client.proto.ReadDataPointRequest)
    private static final androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest DEFAULT_INSTANCE;
    static {
      ReadDataPointRequest defaultInstance = new ReadDataPointRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        ReadDataPointRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.ReadDataPointRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<ReadDataPointRequest> PARSER;

    public static com.google.protobuf.Parser<ReadDataPointRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface RequestContextOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.RequestContext)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional string calling_package = 1;</code>
     * @return Whether the callingPackage field is set.
     */
    boolean hasCallingPackage();
    /**
     * <code>optional string calling_package = 1;</code>
     * @return The callingPackage.
     */
    java.lang.String getCallingPackage();
    /**
     * <code>optional string calling_package = 1;</code>
     * @return The bytes for callingPackage.
     */
    com.google.protobuf.ByteString
        getCallingPackageBytes();

    /**
     * <code>optional int32 sdk_version = 2;</code>
     * @return Whether the sdkVersion field is set.
     */
    boolean hasSdkVersion();
    /**
     * <code>optional int32 sdk_version = 2;</code>
     * @return The sdkVersion.
     */
    int getSdkVersion();

    /**
     * <code>optional string permission_token = 3;</code>
     * @return Whether the permissionToken field is set.
     */
    boolean hasPermissionToken();
    /**
     * <code>optional string permission_token = 3;</code>
     * @return The permissionToken.
     */
    java.lang.String getPermissionToken();
    /**
     * <code>optional string permission_token = 3;</code>
     * @return The bytes for permissionToken.
     */
    com.google.protobuf.ByteString
        getPermissionTokenBytes();

    /**
     * <code>optional bool is_in_foreground = 4;</code>
     * @return Whether the isInForeground field is set.
     */
    boolean hasIsInForeground();
    /**
     * <code>optional bool is_in_foreground = 4;</code>
     * @return The isInForeground.
     */
    boolean getIsInForeground();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.RequestContext}
   */
  public  static final class RequestContext extends
      com.google.protobuf.GeneratedMessageLite<
          RequestContext, RequestContext.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.RequestContext)
      RequestContextOrBuilder {
    private RequestContext() {
      callingPackage_ = "";
      permissionToken_ = "";
    }
    private int bitField0_;
    public static final int CALLING_PACKAGE_FIELD_NUMBER = 1;
    private java.lang.String callingPackage_;
    /**
     * <code>optional string calling_package = 1;</code>
     * @return Whether the callingPackage field is set.
     */
    @java.lang.Override
    public boolean hasCallingPackage() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional string calling_package = 1;</code>
     * @return The callingPackage.
     */
    @java.lang.Override
    public java.lang.String getCallingPackage() {
      return callingPackage_;
    }
    /**
     * <code>optional string calling_package = 1;</code>
     * @return The bytes for callingPackage.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCallingPackageBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(callingPackage_);
    }
    /**
     * <code>optional string calling_package = 1;</code>
     * @param value The callingPackage to set.
     */
    private void setCallingPackage(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000001;
      callingPackage_ = value;
    }
    /**
     * <code>optional string calling_package = 1;</code>
     */
    private void clearCallingPackage() {
      bitField0_ = (bitField0_ & ~0x00000001);
      callingPackage_ = getDefaultInstance().getCallingPackage();
    }
    /**
     * <code>optional string calling_package = 1;</code>
     * @param value The bytes for callingPackage to set.
     */
    private void setCallingPackageBytes(
        com.google.protobuf.ByteString value) {
      callingPackage_ = value.toStringUtf8();
      bitField0_ |= 0x00000001;
    }

    public static final int SDK_VERSION_FIELD_NUMBER = 2;
    private int sdkVersion_;
    /**
     * <code>optional int32 sdk_version = 2;</code>
     * @return Whether the sdkVersion field is set.
     */
    @java.lang.Override
    public boolean hasSdkVersion() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional int32 sdk_version = 2;</code>
     * @return The sdkVersion.
     */
    @java.lang.Override
    public int getSdkVersion() {
      return sdkVersion_;
    }
    /**
     * <code>optional int32 sdk_version = 2;</code>
     * @param value The sdkVersion to set.
     */
    private void setSdkVersion(int value) {
      bitField0_ |= 0x00000002;
      sdkVersion_ = value;
    }
    /**
     * <code>optional int32 sdk_version = 2;</code>
     */
    private void clearSdkVersion() {
      bitField0_ = (bitField0_ & ~0x00000002);
      sdkVersion_ = 0;
    }

    public static final int PERMISSION_TOKEN_FIELD_NUMBER = 3;
    private java.lang.String permissionToken_;
    /**
     * <code>optional string permission_token = 3;</code>
     * @return Whether the permissionToken field is set.
     */
    @java.lang.Override
    public boolean hasPermissionToken() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional string permission_token = 3;</code>
     * @return The permissionToken.
     */
    @java.lang.Override
    public java.lang.String getPermissionToken() {
      return permissionToken_;
    }
    /**
     * <code>optional string permission_token = 3;</code>
     * @return The bytes for permissionToken.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPermissionTokenBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(permissionToken_);
    }
    /**
     * <code>optional string permission_token = 3;</code>
     * @param value The permissionToken to set.
     */
    private void setPermissionToken(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000004;
      permissionToken_ = value;
    }
    /**
     * <code>optional string permission_token = 3;</code>
     */
    private void clearPermissionToken() {
      bitField0_ = (bitField0_ & ~0x00000004);
      permissionToken_ = getDefaultInstance().getPermissionToken();
    }
    /**
     * <code>optional string permission_token = 3;</code>
     * @param value The bytes for permissionToken to set.
     */
    private void setPermissionTokenBytes(
        com.google.protobuf.ByteString value) {
      permissionToken_ = value.toStringUtf8();
      bitField0_ |= 0x00000004;
    }

    public static final int IS_IN_FOREGROUND_FIELD_NUMBER = 4;
    private boolean isInForeground_;
    /**
     * <code>optional bool is_in_foreground = 4;</code>
     * @return Whether the isInForeground field is set.
     */
    @java.lang.Override
    public boolean hasIsInForeground() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional bool is_in_foreground = 4;</code>
     * @return The isInForeground.
     */
    @java.lang.Override
    public boolean getIsInForeground() {
      return isInForeground_;
    }
    /**
     * <code>optional bool is_in_foreground = 4;</code>
     * @param value The isInForeground to set.
     */
    private void setIsInForeground(boolean value) {
      bitField0_ |= 0x00000008;
      isInForeground_ = value;
    }
    /**
     * <code>optional bool is_in_foreground = 4;</code>
     */
    private void clearIsInForeground() {
      bitField0_ = (bitField0_ & ~0x00000008);
      isInForeground_ = false;
    }

    public static androidx.health.platform.client.proto.RequestProto.RequestContext parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.RequestContext 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 androidx.health.platform.client.proto.RequestProto.RequestContext parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.RequestContext 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 androidx.health.platform.client.proto.RequestProto.RequestContext parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.RequestContext 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 androidx.health.platform.client.proto.RequestProto.RequestContext parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.RequestContext 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 androidx.health.platform.client.proto.RequestProto.RequestContext parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.RequestContext parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.RequestContext parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.RequestContext 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(androidx.health.platform.client.proto.RequestProto.RequestContext prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.RequestContext}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.RequestContext, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.RequestContext)
        androidx.health.platform.client.proto.RequestProto.RequestContextOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.RequestContext.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional string calling_package = 1;</code>
       * @return Whether the callingPackage field is set.
       */
      @java.lang.Override
      public boolean hasCallingPackage() {
        return instance.hasCallingPackage();
      }
      /**
       * <code>optional string calling_package = 1;</code>
       * @return The callingPackage.
       */
      @java.lang.Override
      public java.lang.String getCallingPackage() {
        return instance.getCallingPackage();
      }
      /**
       * <code>optional string calling_package = 1;</code>
       * @return The bytes for callingPackage.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCallingPackageBytes() {
        return instance.getCallingPackageBytes();
      }
      /**
       * <code>optional string calling_package = 1;</code>
       * @param value The callingPackage to set.
       * @return This builder for chaining.
       */
      public Builder setCallingPackage(
          java.lang.String value) {
        copyOnWrite();
        instance.setCallingPackage(value);
        return this;
      }
      /**
       * <code>optional string calling_package = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearCallingPackage() {
        copyOnWrite();
        instance.clearCallingPackage();
        return this;
      }
      /**
       * <code>optional string calling_package = 1;</code>
       * @param value The bytes for callingPackage to set.
       * @return This builder for chaining.
       */
      public Builder setCallingPackageBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setCallingPackageBytes(value);
        return this;
      }

      /**
       * <code>optional int32 sdk_version = 2;</code>
       * @return Whether the sdkVersion field is set.
       */
      @java.lang.Override
      public boolean hasSdkVersion() {
        return instance.hasSdkVersion();
      }
      /**
       * <code>optional int32 sdk_version = 2;</code>
       * @return The sdkVersion.
       */
      @java.lang.Override
      public int getSdkVersion() {
        return instance.getSdkVersion();
      }
      /**
       * <code>optional int32 sdk_version = 2;</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 sdk_version = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSdkVersion() {
        copyOnWrite();
        instance.clearSdkVersion();
        return this;
      }

      /**
       * <code>optional string permission_token = 3;</code>
       * @return Whether the permissionToken field is set.
       */
      @java.lang.Override
      public boolean hasPermissionToken() {
        return instance.hasPermissionToken();
      }
      /**
       * <code>optional string permission_token = 3;</code>
       * @return The permissionToken.
       */
      @java.lang.Override
      public java.lang.String getPermissionToken() {
        return instance.getPermissionToken();
      }
      /**
       * <code>optional string permission_token = 3;</code>
       * @return The bytes for permissionToken.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getPermissionTokenBytes() {
        return instance.getPermissionTokenBytes();
      }
      /**
       * <code>optional string permission_token = 3;</code>
       * @param value The permissionToken to set.
       * @return This builder for chaining.
       */
      public Builder setPermissionToken(
          java.lang.String value) {
        copyOnWrite();
        instance.setPermissionToken(value);
        return this;
      }
      /**
       * <code>optional string permission_token = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearPermissionToken() {
        copyOnWrite();
        instance.clearPermissionToken();
        return this;
      }
      /**
       * <code>optional string permission_token = 3;</code>
       * @param value The bytes for permissionToken to set.
       * @return This builder for chaining.
       */
      public Builder setPermissionTokenBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setPermissionTokenBytes(value);
        return this;
      }

      /**
       * <code>optional bool is_in_foreground = 4;</code>
       * @return Whether the isInForeground field is set.
       */
      @java.lang.Override
      public boolean hasIsInForeground() {
        return instance.hasIsInForeground();
      }
      /**
       * <code>optional bool is_in_foreground = 4;</code>
       * @return The isInForeground.
       */
      @java.lang.Override
      public boolean getIsInForeground() {
        return instance.getIsInForeground();
      }
      /**
       * <code>optional bool is_in_foreground = 4;</code>
       * @param value The isInForeground to set.
       * @return This builder for chaining.
       */
      public Builder setIsInForeground(boolean value) {
        copyOnWrite();
        instance.setIsInForeground(value);
        return this;
      }
      /**
       * <code>optional bool is_in_foreground = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsInForeground() {
        copyOnWrite();
        instance.clearIsInForeground();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.RequestContext)
    }
    @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 androidx.health.platform.client.proto.RequestProto.RequestContext();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "callingPackage_",
              "sdkVersion_",
              "permissionToken_",
              "isInForeground_",
            };
            java.lang.String info =
                "\u0001\u0004\u0000\u0001\u0001\u0004\u0004\u0000\u0000\u0000\u0001\u1008\u0000\u0002" +
                "\u1004\u0001\u0003\u1008\u0002\u0004\u1007\u0003";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.RequestContext> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.RequestContext.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.RequestContext>(
                        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:androidx.health.platform.client.proto.RequestContext)
    private static final androidx.health.platform.client.proto.RequestProto.RequestContext DEFAULT_INSTANCE;
    static {
      RequestContext defaultInstance = new RequestContext();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        RequestContext.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.RequestContext getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<RequestContext> PARSER;

    public static com.google.protobuf.Parser<RequestContext> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface UpsertDataRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.UpsertDataRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    java.util.List<androidx.health.platform.client.proto.DataProto.DataPoint> 
        getDataPointList();
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    androidx.health.platform.client.proto.DataProto.DataPoint getDataPoint(int index);
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    int getDataPointCount();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.UpsertDataRequest}
   */
  public  static final class UpsertDataRequest extends
      com.google.protobuf.GeneratedMessageLite<
          UpsertDataRequest, UpsertDataRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.UpsertDataRequest)
      UpsertDataRequestOrBuilder {
    private UpsertDataRequest() {
      dataPoint_ = emptyProtobufList();
    }
    public static final int DATA_POINT_FIELD_NUMBER = 1;
    private com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataPoint> dataPoint_;
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    @java.lang.Override
    public java.util.List<androidx.health.platform.client.proto.DataProto.DataPoint> getDataPointList() {
      return dataPoint_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    public java.util.List<? extends androidx.health.platform.client.proto.DataProto.DataPointOrBuilder> 
        getDataPointOrBuilderList() {
      return dataPoint_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    @java.lang.Override
    public int getDataPointCount() {
      return dataPoint_.size();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.DataProto.DataPoint getDataPoint(int index) {
      return dataPoint_.get(index);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    public androidx.health.platform.client.proto.DataProto.DataPointOrBuilder getDataPointOrBuilder(
        int index) {
      return dataPoint_.get(index);
    }
    private void ensureDataPointIsMutable() {
      com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataPoint> tmp = dataPoint_;
      if (!tmp.isModifiable()) {
        dataPoint_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    private void setDataPoint(
        int index, androidx.health.platform.client.proto.DataProto.DataPoint value) {
      value.getClass();
  ensureDataPointIsMutable();
      dataPoint_.set(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    private void addDataPoint(androidx.health.platform.client.proto.DataProto.DataPoint value) {
      value.getClass();
  ensureDataPointIsMutable();
      dataPoint_.add(value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    private void addDataPoint(
        int index, androidx.health.platform.client.proto.DataProto.DataPoint value) {
      value.getClass();
  ensureDataPointIsMutable();
      dataPoint_.add(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    private void addAllDataPoint(
        java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataPoint> values) {
      ensureDataPointIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, dataPoint_);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    private void clearDataPoint() {
      dataPoint_ = emptyProtobufList();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
     */
    private void removeDataPoint(int index) {
      ensureDataPointIsMutable();
      dataPoint_.remove(index);
    }

    public static androidx.health.platform.client.proto.RequestProto.UpsertDataRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertDataRequest 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 androidx.health.platform.client.proto.RequestProto.UpsertDataRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertDataRequest 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 androidx.health.platform.client.proto.RequestProto.UpsertDataRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertDataRequest 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 androidx.health.platform.client.proto.RequestProto.UpsertDataRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertDataRequest 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 androidx.health.platform.client.proto.RequestProto.UpsertDataRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertDataRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertDataRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertDataRequest 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(androidx.health.platform.client.proto.RequestProto.UpsertDataRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.UpsertDataRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.UpsertDataRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.UpsertDataRequest)
        androidx.health.platform.client.proto.RequestProto.UpsertDataRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.UpsertDataRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      @java.lang.Override
      public java.util.List<androidx.health.platform.client.proto.DataProto.DataPoint> getDataPointList() {
        return java.util.Collections.unmodifiableList(
            instance.getDataPointList());
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      @java.lang.Override
      public int getDataPointCount() {
        return instance.getDataPointCount();
      }/**
       * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.DataProto.DataPoint getDataPoint(int index) {
        return instance.getDataPoint(index);
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder setDataPoint(
          int index, androidx.health.platform.client.proto.DataProto.DataPoint value) {
        copyOnWrite();
        instance.setDataPoint(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder setDataPoint(
          int index, androidx.health.platform.client.proto.DataProto.DataPoint.Builder builderForValue) {
        copyOnWrite();
        instance.setDataPoint(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder addDataPoint(androidx.health.platform.client.proto.DataProto.DataPoint value) {
        copyOnWrite();
        instance.addDataPoint(value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder addDataPoint(
          int index, androidx.health.platform.client.proto.DataProto.DataPoint value) {
        copyOnWrite();
        instance.addDataPoint(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder addDataPoint(
          androidx.health.platform.client.proto.DataProto.DataPoint.Builder builderForValue) {
        copyOnWrite();
        instance.addDataPoint(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder addDataPoint(
          int index, androidx.health.platform.client.proto.DataProto.DataPoint.Builder builderForValue) {
        copyOnWrite();
        instance.addDataPoint(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder addAllDataPoint(
          java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataPoint> values) {
        copyOnWrite();
        instance.addAllDataPoint(values);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder clearDataPoint() {
        copyOnWrite();
        instance.clearDataPoint();
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataPoint data_point = 1;</code>
       */
      public Builder removeDataPoint(int index) {
        copyOnWrite();
        instance.removeDataPoint(index);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.UpsertDataRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.UpsertDataRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "dataPoint_",
              androidx.health.platform.client.proto.DataProto.DataPoint.class,
            };
            java.lang.String info =
                "\u0001\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0001\u0000\u0001\u001b";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.UpsertDataRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.UpsertDataRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.UpsertDataRequest>(
                        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:androidx.health.platform.client.proto.UpsertDataRequest)
    private static final androidx.health.platform.client.proto.RequestProto.UpsertDataRequest DEFAULT_INSTANCE;
    static {
      UpsertDataRequest defaultInstance = new UpsertDataRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        UpsertDataRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.UpsertDataRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<UpsertDataRequest> PARSER;

    public static com.google.protobuf.Parser<UpsertDataRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface DataTypeIdPairOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.DataTypeIdPair)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     * @return Whether the dataType field is set.
     */
    boolean hasDataType();
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     * @return The dataType.
     */
    androidx.health.platform.client.proto.DataProto.DataType getDataType();

    /**
     * <code>optional string id = 2;</code>
     * @return Whether the id field is set.
     */
    boolean hasId();
    /**
     * <code>optional string id = 2;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>optional string id = 2;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.DataTypeIdPair}
   */
  public  static final class DataTypeIdPair extends
      com.google.protobuf.GeneratedMessageLite<
          DataTypeIdPair, DataTypeIdPair.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.DataTypeIdPair)
      DataTypeIdPairOrBuilder {
    private DataTypeIdPair() {
      id_ = "";
    }
    private int bitField0_;
    public static final int DATA_TYPE_FIELD_NUMBER = 1;
    private androidx.health.platform.client.proto.DataProto.DataType dataType_;
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    @java.lang.Override
    public boolean hasDataType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.DataProto.DataType getDataType() {
      return dataType_ == null ? androidx.health.platform.client.proto.DataProto.DataType.getDefaultInstance() : dataType_;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    private void setDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  dataType_ = value;
      bitField0_ |= 0x00000001;
      }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  if (dataType_ != null &&
          dataType_ != androidx.health.platform.client.proto.DataProto.DataType.getDefaultInstance()) {
        dataType_ =
          androidx.health.platform.client.proto.DataProto.DataType.newBuilder(dataType_).mergeFrom(value).buildPartial();
      } else {
        dataType_ = value;
      }
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    private void clearDataType() {  dataType_ = null;
      bitField0_ = (bitField0_ & ~0x00000001);
    }

    public static final int ID_FIELD_NUMBER = 2;
    private java.lang.String id_;
    /**
     * <code>optional string id = 2;</code>
     * @return Whether the id field is set.
     */
    @java.lang.Override
    public boolean hasId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional string id = 2;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>optional string id = 2;</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 = 2;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000002;
      id_ = value;
    }
    /**
     * <code>optional string id = 2;</code>
     */
    private void clearId() {
      bitField0_ = (bitField0_ & ~0x00000002);
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>optional string id = 2;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      id_ = value.toStringUtf8();
      bitField0_ |= 0x00000002;
    }

    public static androidx.health.platform.client.proto.RequestProto.DataTypeIdPair parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.DataTypeIdPair 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 androidx.health.platform.client.proto.RequestProto.DataTypeIdPair parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.DataTypeIdPair 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 androidx.health.platform.client.proto.RequestProto.DataTypeIdPair parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.DataTypeIdPair 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 androidx.health.platform.client.proto.RequestProto.DataTypeIdPair parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.DataTypeIdPair 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 androidx.health.platform.client.proto.RequestProto.DataTypeIdPair parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.DataTypeIdPair parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.DataTypeIdPair parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.DataTypeIdPair 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(androidx.health.platform.client.proto.RequestProto.DataTypeIdPair prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.DataTypeIdPair}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.DataTypeIdPair, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.DataTypeIdPair)
        androidx.health.platform.client.proto.RequestProto.DataTypeIdPairOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      @java.lang.Override
      public boolean hasDataType() {
        return instance.hasDataType();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.DataProto.DataType getDataType() {
        return instance.getDataType();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder setDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.setDataType(value);
        return this;
        }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder setDataType(
          androidx.health.platform.client.proto.DataProto.DataType.Builder builderForValue) {
        copyOnWrite();
        instance.setDataType(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder mergeDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.mergeDataType(value);
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder clearDataType() {  copyOnWrite();
        instance.clearDataType();
        return this;
      }

      /**
       * <code>optional string id = 2;</code>
       * @return Whether the id field is set.
       */
      @java.lang.Override
      public boolean hasId() {
        return instance.hasId();
      }
      /**
       * <code>optional string id = 2;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>optional string id = 2;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>optional string id = 2;</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 = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>optional string id = 2;</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;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.DataTypeIdPair)
    }
    @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 androidx.health.platform.client.proto.RequestProto.DataTypeIdPair();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "dataType_",
              "id_",
            };
            java.lang.String info =
                "\u0001\u0002\u0000\u0001\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u1009\u0000\u0002" +
                "\u1008\u0001";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.DataTypeIdPair>(
                        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:androidx.health.platform.client.proto.DataTypeIdPair)
    private static final androidx.health.platform.client.proto.RequestProto.DataTypeIdPair DEFAULT_INSTANCE;
    static {
      DataTypeIdPair defaultInstance = new DataTypeIdPair();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        DataTypeIdPair.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.DataTypeIdPair getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<DataTypeIdPair> PARSER;

    public static com.google.protobuf.Parser<DataTypeIdPair> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface DeleteDataRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.DeleteDataRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    java.util.List<androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> 
        getUidsList();
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    androidx.health.platform.client.proto.RequestProto.DataTypeIdPair getUids(int index);
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    int getUidsCount();

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    java.util.List<androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> 
        getClientIdsList();
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    androidx.health.platform.client.proto.RequestProto.DataTypeIdPair getClientIds(int index);
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    int getClientIdsCount();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.DeleteDataRequest}
   */
  public  static final class DeleteDataRequest extends
      com.google.protobuf.GeneratedMessageLite<
          DeleteDataRequest, DeleteDataRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.DeleteDataRequest)
      DeleteDataRequestOrBuilder {
    private DeleteDataRequest() {
      uids_ = emptyProtobufList();
      clientIds_ = emptyProtobufList();
    }
    public static final int UIDS_FIELD_NUMBER = 1;
    private com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> uids_;
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    @java.lang.Override
    public java.util.List<androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> getUidsList() {
      return uids_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    public java.util.List<? extends androidx.health.platform.client.proto.RequestProto.DataTypeIdPairOrBuilder> 
        getUidsOrBuilderList() {
      return uids_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    @java.lang.Override
    public int getUidsCount() {
      return uids_.size();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.RequestProto.DataTypeIdPair getUids(int index) {
      return uids_.get(index);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    public androidx.health.platform.client.proto.RequestProto.DataTypeIdPairOrBuilder getUidsOrBuilder(
        int index) {
      return uids_.get(index);
    }
    private void ensureUidsIsMutable() {
      com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> tmp = uids_;
      if (!tmp.isModifiable()) {
        uids_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    private void setUids(
        int index, androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
      value.getClass();
  ensureUidsIsMutable();
      uids_.set(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    private void addUids(androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
      value.getClass();
  ensureUidsIsMutable();
      uids_.add(value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    private void addUids(
        int index, androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
      value.getClass();
  ensureUidsIsMutable();
      uids_.add(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    private void addAllUids(
        java.lang.Iterable<? extends androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> values) {
      ensureUidsIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, uids_);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    private void clearUids() {
      uids_ = emptyProtobufList();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
     */
    private void removeUids(int index) {
      ensureUidsIsMutable();
      uids_.remove(index);
    }

    public static final int CLIENT_IDS_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> clientIds_;
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    @java.lang.Override
    public java.util.List<androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> getClientIdsList() {
      return clientIds_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    public java.util.List<? extends androidx.health.platform.client.proto.RequestProto.DataTypeIdPairOrBuilder> 
        getClientIdsOrBuilderList() {
      return clientIds_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    @java.lang.Override
    public int getClientIdsCount() {
      return clientIds_.size();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.RequestProto.DataTypeIdPair getClientIds(int index) {
      return clientIds_.get(index);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    public androidx.health.platform.client.proto.RequestProto.DataTypeIdPairOrBuilder getClientIdsOrBuilder(
        int index) {
      return clientIds_.get(index);
    }
    private void ensureClientIdsIsMutable() {
      com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> tmp = clientIds_;
      if (!tmp.isModifiable()) {
        clientIds_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    private void setClientIds(
        int index, androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
      value.getClass();
  ensureClientIdsIsMutable();
      clientIds_.set(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    private void addClientIds(androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
      value.getClass();
  ensureClientIdsIsMutable();
      clientIds_.add(value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    private void addClientIds(
        int index, androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
      value.getClass();
  ensureClientIdsIsMutable();
      clientIds_.add(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    private void addAllClientIds(
        java.lang.Iterable<? extends androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> values) {
      ensureClientIdsIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, clientIds_);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    private void clearClientIds() {
      clientIds_ = emptyProtobufList();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
     */
    private void removeClientIds(int index) {
      ensureClientIdsIsMutable();
      clientIds_.remove(index);
    }

    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRequest 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 androidx.health.platform.client.proto.RequestProto.DeleteDataRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRequest 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 androidx.health.platform.client.proto.RequestProto.DeleteDataRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRequest 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 androidx.health.platform.client.proto.RequestProto.DeleteDataRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRequest 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 androidx.health.platform.client.proto.RequestProto.DeleteDataRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRequest 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(androidx.health.platform.client.proto.RequestProto.DeleteDataRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.DeleteDataRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.DeleteDataRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.DeleteDataRequest)
        androidx.health.platform.client.proto.RequestProto.DeleteDataRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.DeleteDataRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
       */
      @java.lang.Override
      public java.util.List<androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> getUidsList() {
        return java.util.Collections.unmodifiableList(
            instance.getUidsList());
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
       */
      @java.lang.Override
      public int getUidsCount() {
        return instance.getUidsCount();
      }/**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.RequestProto.DataTypeIdPair getUids(int index) {
        return instance.getUids(index);
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
       */
      public Builder setUids(
          int index, androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
        copyOnWrite();
        instance.setUids(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
       */
      public Builder setUids(
          int index, androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.Builder builderForValue) {
        copyOnWrite();
        instance.setUids(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
       */
      public Builder addUids(androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
        copyOnWrite();
        instance.addUids(value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
       */
      public Builder addUids(
          int index, androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
        copyOnWrite();
        instance.addUids(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
       */
      public Builder addUids(
          androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.Builder builderForValue) {
        copyOnWrite();
        instance.addUids(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
       */
      public Builder addUids(
          int index, androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.Builder builderForValue) {
        copyOnWrite();
        instance.addUids(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
       */
      public Builder addAllUids(
          java.lang.Iterable<? extends androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> values) {
        copyOnWrite();
        instance.addAllUids(values);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
       */
      public Builder clearUids() {
        copyOnWrite();
        instance.clearUids();
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair uids = 1;</code>
       */
      public Builder removeUids(int index) {
        copyOnWrite();
        instance.removeUids(index);
        return this;
      }

      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
       */
      @java.lang.Override
      public java.util.List<androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> getClientIdsList() {
        return java.util.Collections.unmodifiableList(
            instance.getClientIdsList());
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
       */
      @java.lang.Override
      public int getClientIdsCount() {
        return instance.getClientIdsCount();
      }/**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.RequestProto.DataTypeIdPair getClientIds(int index) {
        return instance.getClientIds(index);
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
       */
      public Builder setClientIds(
          int index, androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
        copyOnWrite();
        instance.setClientIds(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
       */
      public Builder setClientIds(
          int index, androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.Builder builderForValue) {
        copyOnWrite();
        instance.setClientIds(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
       */
      public Builder addClientIds(androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
        copyOnWrite();
        instance.addClientIds(value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
       */
      public Builder addClientIds(
          int index, androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
        copyOnWrite();
        instance.addClientIds(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
       */
      public Builder addClientIds(
          androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.Builder builderForValue) {
        copyOnWrite();
        instance.addClientIds(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
       */
      public Builder addClientIds(
          int index, androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.Builder builderForValue) {
        copyOnWrite();
        instance.addClientIds(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
       */
      public Builder addAllClientIds(
          java.lang.Iterable<? extends androidx.health.platform.client.proto.RequestProto.DataTypeIdPair> values) {
        copyOnWrite();
        instance.addAllClientIds(values);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
       */
      public Builder clearClientIds() {
        copyOnWrite();
        instance.clearClientIds();
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataTypeIdPair client_ids = 2;</code>
       */
      public Builder removeClientIds(int index) {
        copyOnWrite();
        instance.removeClientIds(index);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.DeleteDataRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.DeleteDataRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "uids_",
              androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.class,
              "clientIds_",
              androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.class,
            };
            java.lang.String info =
                "\u0001\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0002\u0000\u0001\u001b\u0002\u001b" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.DeleteDataRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.DeleteDataRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.DeleteDataRequest>(
                        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:androidx.health.platform.client.proto.DeleteDataRequest)
    private static final androidx.health.platform.client.proto.RequestProto.DeleteDataRequest DEFAULT_INSTANCE;
    static {
      DeleteDataRequest defaultInstance = new DeleteDataRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        DeleteDataRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<DeleteDataRequest> PARSER;

    public static com.google.protobuf.Parser<DeleteDataRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface DeleteDataRangeRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.DeleteDataRangeRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     * @return Whether the timeSpec field is set.
     */
    boolean hasTimeSpec();
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     * @return The timeSpec.
     */
    androidx.health.platform.client.proto.TimeProto.TimeSpec getTimeSpec();

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    java.util.List<androidx.health.platform.client.proto.DataProto.DataType> 
        getDataTypeList();
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    androidx.health.platform.client.proto.DataProto.DataType getDataType(int index);
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    int getDataTypeCount();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.DeleteDataRangeRequest}
   */
  public  static final class DeleteDataRangeRequest extends
      com.google.protobuf.GeneratedMessageLite<
          DeleteDataRangeRequest, DeleteDataRangeRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.DeleteDataRangeRequest)
      DeleteDataRangeRequestOrBuilder {
    private DeleteDataRangeRequest() {
      dataType_ = emptyProtobufList();
    }
    private int bitField0_;
    public static final int TIME_SPEC_FIELD_NUMBER = 1;
    private androidx.health.platform.client.proto.TimeProto.TimeSpec timeSpec_;
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    @java.lang.Override
    public boolean hasTimeSpec() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.TimeProto.TimeSpec getTimeSpec() {
      return timeSpec_ == null ? androidx.health.platform.client.proto.TimeProto.TimeSpec.getDefaultInstance() : timeSpec_;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    private void setTimeSpec(androidx.health.platform.client.proto.TimeProto.TimeSpec value) {
      value.getClass();
  timeSpec_ = value;
      bitField0_ |= 0x00000001;
      }
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeTimeSpec(androidx.health.platform.client.proto.TimeProto.TimeSpec value) {
      value.getClass();
  if (timeSpec_ != null &&
          timeSpec_ != androidx.health.platform.client.proto.TimeProto.TimeSpec.getDefaultInstance()) {
        timeSpec_ =
          androidx.health.platform.client.proto.TimeProto.TimeSpec.newBuilder(timeSpec_).mergeFrom(value).buildPartial();
      } else {
        timeSpec_ = value;
      }
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    private void clearTimeSpec() {  timeSpec_ = null;
      bitField0_ = (bitField0_ & ~0x00000001);
    }

    public static final int DATA_TYPE_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataType> dataType_;
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    @java.lang.Override
    public java.util.List<androidx.health.platform.client.proto.DataProto.DataType> getDataTypeList() {
      return dataType_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    public java.util.List<? extends androidx.health.platform.client.proto.DataProto.DataTypeOrBuilder> 
        getDataTypeOrBuilderList() {
      return dataType_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    @java.lang.Override
    public int getDataTypeCount() {
      return dataType_.size();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.DataProto.DataType getDataType(int index) {
      return dataType_.get(index);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    public androidx.health.platform.client.proto.DataProto.DataTypeOrBuilder getDataTypeOrBuilder(
        int index) {
      return dataType_.get(index);
    }
    private void ensureDataTypeIsMutable() {
      com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataType> tmp = dataType_;
      if (!tmp.isModifiable()) {
        dataType_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    private void setDataType(
        int index, androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  ensureDataTypeIsMutable();
      dataType_.set(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    private void addDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  ensureDataTypeIsMutable();
      dataType_.add(value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    private void addDataType(
        int index, androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  ensureDataTypeIsMutable();
      dataType_.add(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    private void addAllDataType(
        java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataType> values) {
      ensureDataTypeIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, dataType_);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    private void clearDataType() {
      dataType_ = emptyProtobufList();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    private void removeDataType(int index) {
      ensureDataTypeIsMutable();
      dataType_.remove(index);
    }

    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest 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 androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest 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 androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest 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 androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest 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 androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest 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(androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.DeleteDataRangeRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.DeleteDataRangeRequest)
        androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      @java.lang.Override
      public boolean hasTimeSpec() {
        return instance.hasTimeSpec();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.TimeProto.TimeSpec getTimeSpec() {
        return instance.getTimeSpec();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      public Builder setTimeSpec(androidx.health.platform.client.proto.TimeProto.TimeSpec value) {
        copyOnWrite();
        instance.setTimeSpec(value);
        return this;
        }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      public Builder setTimeSpec(
          androidx.health.platform.client.proto.TimeProto.TimeSpec.Builder builderForValue) {
        copyOnWrite();
        instance.setTimeSpec(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      public Builder mergeTimeSpec(androidx.health.platform.client.proto.TimeProto.TimeSpec value) {
        copyOnWrite();
        instance.mergeTimeSpec(value);
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      public Builder clearTimeSpec() {  copyOnWrite();
        instance.clearTimeSpec();
        return this;
      }

      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      @java.lang.Override
      public java.util.List<androidx.health.platform.client.proto.DataProto.DataType> getDataTypeList() {
        return java.util.Collections.unmodifiableList(
            instance.getDataTypeList());
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      @java.lang.Override
      public int getDataTypeCount() {
        return instance.getDataTypeCount();
      }/**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.DataProto.DataType getDataType(int index) {
        return instance.getDataType(index);
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder setDataType(
          int index, androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.setDataType(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder setDataType(
          int index, androidx.health.platform.client.proto.DataProto.DataType.Builder builderForValue) {
        copyOnWrite();
        instance.setDataType(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder addDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.addDataType(value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder addDataType(
          int index, androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.addDataType(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder addDataType(
          androidx.health.platform.client.proto.DataProto.DataType.Builder builderForValue) {
        copyOnWrite();
        instance.addDataType(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder addDataType(
          int index, androidx.health.platform.client.proto.DataProto.DataType.Builder builderForValue) {
        copyOnWrite();
        instance.addDataType(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder addAllDataType(
          java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataType> values) {
        copyOnWrite();
        instance.addAllDataType(values);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder clearDataType() {
        copyOnWrite();
        instance.clearDataType();
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder removeDataType(int index) {
        copyOnWrite();
        instance.removeDataType(index);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.DeleteDataRangeRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "timeSpec_",
              "dataType_",
              androidx.health.platform.client.proto.DataProto.DataType.class,
            };
            java.lang.String info =
                "\u0001\u0002\u0000\u0001\u0001\u0002\u0002\u0000\u0001\u0000\u0001\u1009\u0000\u0002" +
                "\u001b";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest>(
                        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:androidx.health.platform.client.proto.DeleteDataRangeRequest)
    private static final androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest DEFAULT_INSTANCE;
    static {
      DeleteDataRangeRequest defaultInstance = new DeleteDataRangeRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        DeleteDataRangeRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.DeleteDataRangeRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<DeleteDataRangeRequest> PARSER;

    public static com.google.protobuf.Parser<DeleteDataRangeRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface ReadDataRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.ReadDataRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
     * @return Whether the dataTypeIdPair field is set.
     */
    boolean hasDataTypeIdPair();
    /**
     * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
     * @return The dataTypeIdPair.
     */
    androidx.health.platform.client.proto.RequestProto.DataTypeIdPair getDataTypeIdPair();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.ReadDataRequest}
   */
  public  static final class ReadDataRequest extends
      com.google.protobuf.GeneratedMessageLite<
          ReadDataRequest, ReadDataRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.ReadDataRequest)
      ReadDataRequestOrBuilder {
    private ReadDataRequest() {
    }
    private int bitField0_;
    public static final int DATA_TYPE_ID_PAIR_FIELD_NUMBER = 1;
    private androidx.health.platform.client.proto.RequestProto.DataTypeIdPair dataTypeIdPair_;
    /**
     * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
     */
    @java.lang.Override
    public boolean hasDataTypeIdPair() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.RequestProto.DataTypeIdPair getDataTypeIdPair() {
      return dataTypeIdPair_ == null ? androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.getDefaultInstance() : dataTypeIdPair_;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
     */
    private void setDataTypeIdPair(androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
      value.getClass();
  dataTypeIdPair_ = value;
      bitField0_ |= 0x00000001;
      }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeDataTypeIdPair(androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
      value.getClass();
  if (dataTypeIdPair_ != null &&
          dataTypeIdPair_ != androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.getDefaultInstance()) {
        dataTypeIdPair_ =
          androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.newBuilder(dataTypeIdPair_).mergeFrom(value).buildPartial();
      } else {
        dataTypeIdPair_ = value;
      }
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
     */
    private void clearDataTypeIdPair() {  dataTypeIdPair_ = null;
      bitField0_ = (bitField0_ & ~0x00000001);
    }

    public static androidx.health.platform.client.proto.RequestProto.ReadDataRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRequest 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 androidx.health.platform.client.proto.RequestProto.ReadDataRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRequest 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 androidx.health.platform.client.proto.RequestProto.ReadDataRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRequest 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 androidx.health.platform.client.proto.RequestProto.ReadDataRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRequest 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 androidx.health.platform.client.proto.RequestProto.ReadDataRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRequest 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(androidx.health.platform.client.proto.RequestProto.ReadDataRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.ReadDataRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.ReadDataRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.ReadDataRequest)
        androidx.health.platform.client.proto.RequestProto.ReadDataRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.ReadDataRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
       */
      @java.lang.Override
      public boolean hasDataTypeIdPair() {
        return instance.hasDataTypeIdPair();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.RequestProto.DataTypeIdPair getDataTypeIdPair() {
        return instance.getDataTypeIdPair();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
       */
      public Builder setDataTypeIdPair(androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
        copyOnWrite();
        instance.setDataTypeIdPair(value);
        return this;
        }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
       */
      public Builder setDataTypeIdPair(
          androidx.health.platform.client.proto.RequestProto.DataTypeIdPair.Builder builderForValue) {
        copyOnWrite();
        instance.setDataTypeIdPair(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
       */
      public Builder mergeDataTypeIdPair(androidx.health.platform.client.proto.RequestProto.DataTypeIdPair value) {
        copyOnWrite();
        instance.mergeDataTypeIdPair(value);
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataTypeIdPair data_type_id_pair = 1;</code>
       */
      public Builder clearDataTypeIdPair() {  copyOnWrite();
        instance.clearDataTypeIdPair();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.ReadDataRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.ReadDataRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "dataTypeIdPair_",
            };
            java.lang.String info =
                "\u0001\u0001\u0000\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0001\u1009\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.ReadDataRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.ReadDataRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.ReadDataRequest>(
                        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:androidx.health.platform.client.proto.ReadDataRequest)
    private static final androidx.health.platform.client.proto.RequestProto.ReadDataRequest DEFAULT_INSTANCE;
    static {
      ReadDataRequest defaultInstance = new ReadDataRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        ReadDataRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.ReadDataRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<ReadDataRequest> PARSER;

    public static com.google.protobuf.Parser<ReadDataRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface ReadDataRangeRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.ReadDataRangeRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     * @return Whether the timeSpec field is set.
     */
    boolean hasTimeSpec();
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     * @return The timeSpec.
     */
    androidx.health.platform.client.proto.TimeProto.TimeSpec getTimeSpec();

    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     * @return Whether the dataType field is set.
     */
    boolean hasDataType();
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     * @return The dataType.
     */
    androidx.health.platform.client.proto.DataProto.DataType getDataType();

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    java.util.List<androidx.health.platform.client.proto.DataProto.DataOrigin> 
        getDataOriginFiltersList();
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    androidx.health.platform.client.proto.DataProto.DataOrigin getDataOriginFilters(int index);
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    int getDataOriginFiltersCount();

    /**
     * <code>optional bool asc_ordering = 7 [default = true];</code>
     * @return Whether the ascOrdering field is set.
     */
    boolean hasAscOrdering();
    /**
     * <code>optional bool asc_ordering = 7 [default = true];</code>
     * @return The ascOrdering.
     */
    boolean getAscOrdering();

    /**
     * <code>optional int32 limit = 4;</code>
     * @return Whether the limit field is set.
     */
    boolean hasLimit();
    /**
     * <code>optional int32 limit = 4;</code>
     * @return The limit.
     */
    int getLimit();

    /**
     * <code>optional int32 page_size = 5;</code>
     * @return Whether the pageSize field is set.
     */
    boolean hasPageSize();
    /**
     * <code>optional int32 page_size = 5;</code>
     * @return The pageSize.
     */
    int getPageSize();

    /**
     * <code>optional string page_token = 6;</code>
     * @return Whether the pageToken field is set.
     */
    boolean hasPageToken();
    /**
     * <code>optional string page_token = 6;</code>
     * @return The pageToken.
     */
    java.lang.String getPageToken();
    /**
     * <code>optional string page_token = 6;</code>
     * @return The bytes for pageToken.
     */
    com.google.protobuf.ByteString
        getPageTokenBytes();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.ReadDataRangeRequest}
   */
  public  static final class ReadDataRangeRequest extends
      com.google.protobuf.GeneratedMessageLite<
          ReadDataRangeRequest, ReadDataRangeRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.ReadDataRangeRequest)
      ReadDataRangeRequestOrBuilder {
    private ReadDataRangeRequest() {
      dataOriginFilters_ = emptyProtobufList();
      ascOrdering_ = true;
      pageToken_ = "";
    }
    private int bitField0_;
    public static final int TIME_SPEC_FIELD_NUMBER = 1;
    private androidx.health.platform.client.proto.TimeProto.TimeSpec timeSpec_;
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    @java.lang.Override
    public boolean hasTimeSpec() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.TimeProto.TimeSpec getTimeSpec() {
      return timeSpec_ == null ? androidx.health.platform.client.proto.TimeProto.TimeSpec.getDefaultInstance() : timeSpec_;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    private void setTimeSpec(androidx.health.platform.client.proto.TimeProto.TimeSpec value) {
      value.getClass();
  timeSpec_ = value;
      bitField0_ |= 0x00000001;
      }
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeTimeSpec(androidx.health.platform.client.proto.TimeProto.TimeSpec value) {
      value.getClass();
  if (timeSpec_ != null &&
          timeSpec_ != androidx.health.platform.client.proto.TimeProto.TimeSpec.getDefaultInstance()) {
        timeSpec_ =
          androidx.health.platform.client.proto.TimeProto.TimeSpec.newBuilder(timeSpec_).mergeFrom(value).buildPartial();
      } else {
        timeSpec_ = value;
      }
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    private void clearTimeSpec() {  timeSpec_ = null;
      bitField0_ = (bitField0_ & ~0x00000001);
    }

    public static final int DATA_TYPE_FIELD_NUMBER = 2;
    private androidx.health.platform.client.proto.DataProto.DataType dataType_;
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    @java.lang.Override
    public boolean hasDataType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.DataProto.DataType getDataType() {
      return dataType_ == null ? androidx.health.platform.client.proto.DataProto.DataType.getDefaultInstance() : dataType_;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    private void setDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  dataType_ = value;
      bitField0_ |= 0x00000002;
      }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  if (dataType_ != null &&
          dataType_ != androidx.health.platform.client.proto.DataProto.DataType.getDefaultInstance()) {
        dataType_ =
          androidx.health.platform.client.proto.DataProto.DataType.newBuilder(dataType_).mergeFrom(value).buildPartial();
      } else {
        dataType_ = value;
      }
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
     */
    private void clearDataType() {  dataType_ = null;
      bitField0_ = (bitField0_ & ~0x00000002);
    }

    public static final int DATA_ORIGIN_FILTERS_FIELD_NUMBER = 3;
    private com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataOrigin> dataOriginFilters_;
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    @java.lang.Override
    public java.util.List<androidx.health.platform.client.proto.DataProto.DataOrigin> getDataOriginFiltersList() {
      return dataOriginFilters_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    public java.util.List<? extends androidx.health.platform.client.proto.DataProto.DataOriginOrBuilder> 
        getDataOriginFiltersOrBuilderList() {
      return dataOriginFilters_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    @java.lang.Override
    public int getDataOriginFiltersCount() {
      return dataOriginFilters_.size();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.DataProto.DataOrigin getDataOriginFilters(int index) {
      return dataOriginFilters_.get(index);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    public androidx.health.platform.client.proto.DataProto.DataOriginOrBuilder getDataOriginFiltersOrBuilder(
        int index) {
      return dataOriginFilters_.get(index);
    }
    private void ensureDataOriginFiltersIsMutable() {
      com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataOrigin> tmp = dataOriginFilters_;
      if (!tmp.isModifiable()) {
        dataOriginFilters_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    private void setDataOriginFilters(
        int index, androidx.health.platform.client.proto.DataProto.DataOrigin value) {
      value.getClass();
  ensureDataOriginFiltersIsMutable();
      dataOriginFilters_.set(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    private void addDataOriginFilters(androidx.health.platform.client.proto.DataProto.DataOrigin value) {
      value.getClass();
  ensureDataOriginFiltersIsMutable();
      dataOriginFilters_.add(value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    private void addDataOriginFilters(
        int index, androidx.health.platform.client.proto.DataProto.DataOrigin value) {
      value.getClass();
  ensureDataOriginFiltersIsMutable();
      dataOriginFilters_.add(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    private void addAllDataOriginFilters(
        java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataOrigin> values) {
      ensureDataOriginFiltersIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, dataOriginFilters_);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    private void clearDataOriginFilters() {
      dataOriginFilters_ = emptyProtobufList();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
     */
    private void removeDataOriginFilters(int index) {
      ensureDataOriginFiltersIsMutable();
      dataOriginFilters_.remove(index);
    }

    public static final int ASC_ORDERING_FIELD_NUMBER = 7;
    private boolean ascOrdering_;
    /**
     * <code>optional bool asc_ordering = 7 [default = true];</code>
     * @return Whether the ascOrdering field is set.
     */
    @java.lang.Override
    public boolean hasAscOrdering() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional bool asc_ordering = 7 [default = true];</code>
     * @return The ascOrdering.
     */
    @java.lang.Override
    public boolean getAscOrdering() {
      return ascOrdering_;
    }
    /**
     * <code>optional bool asc_ordering = 7 [default = true];</code>
     * @param value The ascOrdering to set.
     */
    private void setAscOrdering(boolean value) {
      bitField0_ |= 0x00000004;
      ascOrdering_ = value;
    }
    /**
     * <code>optional bool asc_ordering = 7 [default = true];</code>
     */
    private void clearAscOrdering() {
      bitField0_ = (bitField0_ & ~0x00000004);
      ascOrdering_ = true;
    }

    public static final int LIMIT_FIELD_NUMBER = 4;
    private int limit_;
    /**
     * <code>optional int32 limit = 4;</code>
     * @return Whether the limit field is set.
     */
    @java.lang.Override
    public boolean hasLimit() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional int32 limit = 4;</code>
     * @return The limit.
     */
    @java.lang.Override
    public int getLimit() {
      return limit_;
    }
    /**
     * <code>optional int32 limit = 4;</code>
     * @param value The limit to set.
     */
    private void setLimit(int value) {
      bitField0_ |= 0x00000008;
      limit_ = value;
    }
    /**
     * <code>optional int32 limit = 4;</code>
     */
    private void clearLimit() {
      bitField0_ = (bitField0_ & ~0x00000008);
      limit_ = 0;
    }

    public static final int PAGE_SIZE_FIELD_NUMBER = 5;
    private int pageSize_;
    /**
     * <code>optional int32 page_size = 5;</code>
     * @return Whether the pageSize field is set.
     */
    @java.lang.Override
    public boolean hasPageSize() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional int32 page_size = 5;</code>
     * @return The pageSize.
     */
    @java.lang.Override
    public int getPageSize() {
      return pageSize_;
    }
    /**
     * <code>optional int32 page_size = 5;</code>
     * @param value The pageSize to set.
     */
    private void setPageSize(int value) {
      bitField0_ |= 0x00000010;
      pageSize_ = value;
    }
    /**
     * <code>optional int32 page_size = 5;</code>
     */
    private void clearPageSize() {
      bitField0_ = (bitField0_ & ~0x00000010);
      pageSize_ = 0;
    }

    public static final int PAGE_TOKEN_FIELD_NUMBER = 6;
    private java.lang.String pageToken_;
    /**
     * <code>optional string page_token = 6;</code>
     * @return Whether the pageToken field is set.
     */
    @java.lang.Override
    public boolean hasPageToken() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional string page_token = 6;</code>
     * @return The pageToken.
     */
    @java.lang.Override
    public java.lang.String getPageToken() {
      return pageToken_;
    }
    /**
     * <code>optional string page_token = 6;</code>
     * @return The bytes for pageToken.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPageTokenBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(pageToken_);
    }
    /**
     * <code>optional string page_token = 6;</code>
     * @param value The pageToken to set.
     */
    private void setPageToken(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000020;
      pageToken_ = value;
    }
    /**
     * <code>optional string page_token = 6;</code>
     */
    private void clearPageToken() {
      bitField0_ = (bitField0_ & ~0x00000020);
      pageToken_ = getDefaultInstance().getPageToken();
    }
    /**
     * <code>optional string page_token = 6;</code>
     * @param value The bytes for pageToken to set.
     */
    private void setPageTokenBytes(
        com.google.protobuf.ByteString value) {
      pageToken_ = value.toStringUtf8();
      bitField0_ |= 0x00000020;
    }

    public static androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest 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 androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest 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 androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest 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 androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest 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 androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest 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(androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.ReadDataRangeRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.ReadDataRangeRequest)
        androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      @java.lang.Override
      public boolean hasTimeSpec() {
        return instance.hasTimeSpec();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.TimeProto.TimeSpec getTimeSpec() {
        return instance.getTimeSpec();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      public Builder setTimeSpec(androidx.health.platform.client.proto.TimeProto.TimeSpec value) {
        copyOnWrite();
        instance.setTimeSpec(value);
        return this;
        }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      public Builder setTimeSpec(
          androidx.health.platform.client.proto.TimeProto.TimeSpec.Builder builderForValue) {
        copyOnWrite();
        instance.setTimeSpec(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      public Builder mergeTimeSpec(androidx.health.platform.client.proto.TimeProto.TimeSpec value) {
        copyOnWrite();
        instance.mergeTimeSpec(value);
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      public Builder clearTimeSpec() {  copyOnWrite();
        instance.clearTimeSpec();
        return this;
      }

      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      @java.lang.Override
      public boolean hasDataType() {
        return instance.hasDataType();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.DataProto.DataType getDataType() {
        return instance.getDataType();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder setDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.setDataType(value);
        return this;
        }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder setDataType(
          androidx.health.platform.client.proto.DataProto.DataType.Builder builderForValue) {
        copyOnWrite();
        instance.setDataType(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder mergeDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.mergeDataType(value);
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataType data_type = 2;</code>
       */
      public Builder clearDataType() {  copyOnWrite();
        instance.clearDataType();
        return this;
      }

      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
       */
      @java.lang.Override
      public java.util.List<androidx.health.platform.client.proto.DataProto.DataOrigin> getDataOriginFiltersList() {
        return java.util.Collections.unmodifiableList(
            instance.getDataOriginFiltersList());
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
       */
      @java.lang.Override
      public int getDataOriginFiltersCount() {
        return instance.getDataOriginFiltersCount();
      }/**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.DataProto.DataOrigin getDataOriginFilters(int index) {
        return instance.getDataOriginFilters(index);
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
       */
      public Builder setDataOriginFilters(
          int index, androidx.health.platform.client.proto.DataProto.DataOrigin value) {
        copyOnWrite();
        instance.setDataOriginFilters(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
       */
      public Builder setDataOriginFilters(
          int index, androidx.health.platform.client.proto.DataProto.DataOrigin.Builder builderForValue) {
        copyOnWrite();
        instance.setDataOriginFilters(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
       */
      public Builder addDataOriginFilters(androidx.health.platform.client.proto.DataProto.DataOrigin value) {
        copyOnWrite();
        instance.addDataOriginFilters(value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
       */
      public Builder addDataOriginFilters(
          int index, androidx.health.platform.client.proto.DataProto.DataOrigin value) {
        copyOnWrite();
        instance.addDataOriginFilters(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
       */
      public Builder addDataOriginFilters(
          androidx.health.platform.client.proto.DataProto.DataOrigin.Builder builderForValue) {
        copyOnWrite();
        instance.addDataOriginFilters(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
       */
      public Builder addDataOriginFilters(
          int index, androidx.health.platform.client.proto.DataProto.DataOrigin.Builder builderForValue) {
        copyOnWrite();
        instance.addDataOriginFilters(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
       */
      public Builder addAllDataOriginFilters(
          java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataOrigin> values) {
        copyOnWrite();
        instance.addAllDataOriginFilters(values);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
       */
      public Builder clearDataOriginFilters() {
        copyOnWrite();
        instance.clearDataOriginFilters();
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 3;</code>
       */
      public Builder removeDataOriginFilters(int index) {
        copyOnWrite();
        instance.removeDataOriginFilters(index);
        return this;
      }

      /**
       * <code>optional bool asc_ordering = 7 [default = true];</code>
       * @return Whether the ascOrdering field is set.
       */
      @java.lang.Override
      public boolean hasAscOrdering() {
        return instance.hasAscOrdering();
      }
      /**
       * <code>optional bool asc_ordering = 7 [default = true];</code>
       * @return The ascOrdering.
       */
      @java.lang.Override
      public boolean getAscOrdering() {
        return instance.getAscOrdering();
      }
      /**
       * <code>optional bool asc_ordering = 7 [default = true];</code>
       * @param value The ascOrdering to set.
       * @return This builder for chaining.
       */
      public Builder setAscOrdering(boolean value) {
        copyOnWrite();
        instance.setAscOrdering(value);
        return this;
      }
      /**
       * <code>optional bool asc_ordering = 7 [default = true];</code>
       * @return This builder for chaining.
       */
      public Builder clearAscOrdering() {
        copyOnWrite();
        instance.clearAscOrdering();
        return this;
      }

      /**
       * <code>optional int32 limit = 4;</code>
       * @return Whether the limit field is set.
       */
      @java.lang.Override
      public boolean hasLimit() {
        return instance.hasLimit();
      }
      /**
       * <code>optional int32 limit = 4;</code>
       * @return The limit.
       */
      @java.lang.Override
      public int getLimit() {
        return instance.getLimit();
      }
      /**
       * <code>optional int32 limit = 4;</code>
       * @param value The limit to set.
       * @return This builder for chaining.
       */
      public Builder setLimit(int value) {
        copyOnWrite();
        instance.setLimit(value);
        return this;
      }
      /**
       * <code>optional int32 limit = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearLimit() {
        copyOnWrite();
        instance.clearLimit();
        return this;
      }

      /**
       * <code>optional int32 page_size = 5;</code>
       * @return Whether the pageSize field is set.
       */
      @java.lang.Override
      public boolean hasPageSize() {
        return instance.hasPageSize();
      }
      /**
       * <code>optional int32 page_size = 5;</code>
       * @return The pageSize.
       */
      @java.lang.Override
      public int getPageSize() {
        return instance.getPageSize();
      }
      /**
       * <code>optional int32 page_size = 5;</code>
       * @param value The pageSize to set.
       * @return This builder for chaining.
       */
      public Builder setPageSize(int value) {
        copyOnWrite();
        instance.setPageSize(value);
        return this;
      }
      /**
       * <code>optional int32 page_size = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearPageSize() {
        copyOnWrite();
        instance.clearPageSize();
        return this;
      }

      /**
       * <code>optional string page_token = 6;</code>
       * @return Whether the pageToken field is set.
       */
      @java.lang.Override
      public boolean hasPageToken() {
        return instance.hasPageToken();
      }
      /**
       * <code>optional string page_token = 6;</code>
       * @return The pageToken.
       */
      @java.lang.Override
      public java.lang.String getPageToken() {
        return instance.getPageToken();
      }
      /**
       * <code>optional string page_token = 6;</code>
       * @return The bytes for pageToken.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getPageTokenBytes() {
        return instance.getPageTokenBytes();
      }
      /**
       * <code>optional string page_token = 6;</code>
       * @param value The pageToken to set.
       * @return This builder for chaining.
       */
      public Builder setPageToken(
          java.lang.String value) {
        copyOnWrite();
        instance.setPageToken(value);
        return this;
      }
      /**
       * <code>optional string page_token = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearPageToken() {
        copyOnWrite();
        instance.clearPageToken();
        return this;
      }
      /**
       * <code>optional string page_token = 6;</code>
       * @param value The bytes for pageToken to set.
       * @return This builder for chaining.
       */
      public Builder setPageTokenBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setPageTokenBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.ReadDataRangeRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "timeSpec_",
              "dataType_",
              "dataOriginFilters_",
              androidx.health.platform.client.proto.DataProto.DataOrigin.class,
              "limit_",
              "pageSize_",
              "pageToken_",
              "ascOrdering_",
            };
            java.lang.String info =
                "\u0001\u0007\u0000\u0001\u0001\u0007\u0007\u0000\u0001\u0000\u0001\u1009\u0000\u0002" +
                "\u1009\u0001\u0003\u001b\u0004\u1004\u0003\u0005\u1004\u0004\u0006\u1008\u0005\u0007" +
                "\u1007\u0002";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest>(
                        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:androidx.health.platform.client.proto.ReadDataRangeRequest)
    private static final androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest DEFAULT_INSTANCE;
    static {
      ReadDataRangeRequest defaultInstance = new ReadDataRangeRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        ReadDataRangeRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.ReadDataRangeRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<ReadDataRangeRequest> PARSER;

    public static com.google.protobuf.Parser<ReadDataRangeRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface AggregateMetricSpecOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.AggregateMetricSpec)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional string data_type_name = 1;</code>
     * @return Whether the dataTypeName field is set.
     */
    boolean hasDataTypeName();
    /**
     * <code>optional string data_type_name = 1;</code>
     * @return The dataTypeName.
     */
    java.lang.String getDataTypeName();
    /**
     * <code>optional string data_type_name = 1;</code>
     * @return The bytes for dataTypeName.
     */
    com.google.protobuf.ByteString
        getDataTypeNameBytes();

    /**
     * <pre>
     * count, duration, etc
     * </pre>
     *
     * <code>optional string aggregation_type = 2;</code>
     * @return Whether the aggregationType field is set.
     */
    boolean hasAggregationType();
    /**
     * <pre>
     * count, duration, etc
     * </pre>
     *
     * <code>optional string aggregation_type = 2;</code>
     * @return The aggregationType.
     */
    java.lang.String getAggregationType();
    /**
     * <pre>
     * count, duration, etc
     * </pre>
     *
     * <code>optional string aggregation_type = 2;</code>
     * @return The bytes for aggregationType.
     */
    com.google.protobuf.ByteString
        getAggregationTypeBytes();

    /**
     * <code>optional string field_name = 3;</code>
     * @return Whether the fieldName field is set.
     */
    boolean hasFieldName();
    /**
     * <code>optional string field_name = 3;</code>
     * @return The fieldName.
     */
    java.lang.String getFieldName();
    /**
     * <code>optional string field_name = 3;</code>
     * @return The bytes for fieldName.
     */
    com.google.protobuf.ByteString
        getFieldNameBytes();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.AggregateMetricSpec}
   */
  public  static final class AggregateMetricSpec extends
      com.google.protobuf.GeneratedMessageLite<
          AggregateMetricSpec, AggregateMetricSpec.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.AggregateMetricSpec)
      AggregateMetricSpecOrBuilder {
    private AggregateMetricSpec() {
      dataTypeName_ = "";
      aggregationType_ = "";
      fieldName_ = "";
    }
    private int bitField0_;
    public static final int DATA_TYPE_NAME_FIELD_NUMBER = 1;
    private java.lang.String dataTypeName_;
    /**
     * <code>optional string data_type_name = 1;</code>
     * @return Whether the dataTypeName field is set.
     */
    @java.lang.Override
    public boolean hasDataTypeName() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional string data_type_name = 1;</code>
     * @return The dataTypeName.
     */
    @java.lang.Override
    public java.lang.String getDataTypeName() {
      return dataTypeName_;
    }
    /**
     * <code>optional string data_type_name = 1;</code>
     * @return The bytes for dataTypeName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDataTypeNameBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(dataTypeName_);
    }
    /**
     * <code>optional string data_type_name = 1;</code>
     * @param value The dataTypeName to set.
     */
    private void setDataTypeName(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000001;
      dataTypeName_ = value;
    }
    /**
     * <code>optional string data_type_name = 1;</code>
     */
    private void clearDataTypeName() {
      bitField0_ = (bitField0_ & ~0x00000001);
      dataTypeName_ = getDefaultInstance().getDataTypeName();
    }
    /**
     * <code>optional string data_type_name = 1;</code>
     * @param value The bytes for dataTypeName to set.
     */
    private void setDataTypeNameBytes(
        com.google.protobuf.ByteString value) {
      dataTypeName_ = value.toStringUtf8();
      bitField0_ |= 0x00000001;
    }

    public static final int AGGREGATION_TYPE_FIELD_NUMBER = 2;
    private java.lang.String aggregationType_;
    /**
     * <pre>
     * count, duration, etc
     * </pre>
     *
     * <code>optional string aggregation_type = 2;</code>
     * @return Whether the aggregationType field is set.
     */
    @java.lang.Override
    public boolean hasAggregationType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <pre>
     * count, duration, etc
     * </pre>
     *
     * <code>optional string aggregation_type = 2;</code>
     * @return The aggregationType.
     */
    @java.lang.Override
    public java.lang.String getAggregationType() {
      return aggregationType_;
    }
    /**
     * <pre>
     * count, duration, etc
     * </pre>
     *
     * <code>optional string aggregation_type = 2;</code>
     * @return The bytes for aggregationType.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAggregationTypeBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(aggregationType_);
    }
    /**
     * <pre>
     * count, duration, etc
     * </pre>
     *
     * <code>optional string aggregation_type = 2;</code>
     * @param value The aggregationType to set.
     */
    private void setAggregationType(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000002;
      aggregationType_ = value;
    }
    /**
     * <pre>
     * count, duration, etc
     * </pre>
     *
     * <code>optional string aggregation_type = 2;</code>
     */
    private void clearAggregationType() {
      bitField0_ = (bitField0_ & ~0x00000002);
      aggregationType_ = getDefaultInstance().getAggregationType();
    }
    /**
     * <pre>
     * count, duration, etc
     * </pre>
     *
     * <code>optional string aggregation_type = 2;</code>
     * @param value The bytes for aggregationType to set.
     */
    private void setAggregationTypeBytes(
        com.google.protobuf.ByteString value) {
      aggregationType_ = value.toStringUtf8();
      bitField0_ |= 0x00000002;
    }

    public static final int FIELD_NAME_FIELD_NUMBER = 3;
    private java.lang.String fieldName_;
    /**
     * <code>optional string field_name = 3;</code>
     * @return Whether the fieldName field is set.
     */
    @java.lang.Override
    public boolean hasFieldName() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional string field_name = 3;</code>
     * @return The fieldName.
     */
    @java.lang.Override
    public java.lang.String getFieldName() {
      return fieldName_;
    }
    /**
     * <code>optional string field_name = 3;</code>
     * @return The bytes for fieldName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getFieldNameBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(fieldName_);
    }
    /**
     * <code>optional string field_name = 3;</code>
     * @param value The fieldName to set.
     */
    private void setFieldName(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000004;
      fieldName_ = value;
    }
    /**
     * <code>optional string field_name = 3;</code>
     */
    private void clearFieldName() {
      bitField0_ = (bitField0_ & ~0x00000004);
      fieldName_ = getDefaultInstance().getFieldName();
    }
    /**
     * <code>optional string field_name = 3;</code>
     * @param value The bytes for fieldName to set.
     */
    private void setFieldNameBytes(
        com.google.protobuf.ByteString value) {
      fieldName_ = value.toStringUtf8();
      bitField0_ |= 0x00000004;
    }

    public static androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec 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 androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec 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 androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec 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 androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec 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 androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec 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(androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.AggregateMetricSpec}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.AggregateMetricSpec)
        androidx.health.platform.client.proto.RequestProto.AggregateMetricSpecOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional string data_type_name = 1;</code>
       * @return Whether the dataTypeName field is set.
       */
      @java.lang.Override
      public boolean hasDataTypeName() {
        return instance.hasDataTypeName();
      }
      /**
       * <code>optional string data_type_name = 1;</code>
       * @return The dataTypeName.
       */
      @java.lang.Override
      public java.lang.String getDataTypeName() {
        return instance.getDataTypeName();
      }
      /**
       * <code>optional string data_type_name = 1;</code>
       * @return The bytes for dataTypeName.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getDataTypeNameBytes() {
        return instance.getDataTypeNameBytes();
      }
      /**
       * <code>optional string data_type_name = 1;</code>
       * @param value The dataTypeName to set.
       * @return This builder for chaining.
       */
      public Builder setDataTypeName(
          java.lang.String value) {
        copyOnWrite();
        instance.setDataTypeName(value);
        return this;
      }
      /**
       * <code>optional string data_type_name = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearDataTypeName() {
        copyOnWrite();
        instance.clearDataTypeName();
        return this;
      }
      /**
       * <code>optional string data_type_name = 1;</code>
       * @param value The bytes for dataTypeName to set.
       * @return This builder for chaining.
       */
      public Builder setDataTypeNameBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setDataTypeNameBytes(value);
        return this;
      }

      /**
       * <pre>
       * count, duration, etc
       * </pre>
       *
       * <code>optional string aggregation_type = 2;</code>
       * @return Whether the aggregationType field is set.
       */
      @java.lang.Override
      public boolean hasAggregationType() {
        return instance.hasAggregationType();
      }
      /**
       * <pre>
       * count, duration, etc
       * </pre>
       *
       * <code>optional string aggregation_type = 2;</code>
       * @return The aggregationType.
       */
      @java.lang.Override
      public java.lang.String getAggregationType() {
        return instance.getAggregationType();
      }
      /**
       * <pre>
       * count, duration, etc
       * </pre>
       *
       * <code>optional string aggregation_type = 2;</code>
       * @return The bytes for aggregationType.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getAggregationTypeBytes() {
        return instance.getAggregationTypeBytes();
      }
      /**
       * <pre>
       * count, duration, etc
       * </pre>
       *
       * <code>optional string aggregation_type = 2;</code>
       * @param value The aggregationType to set.
       * @return This builder for chaining.
       */
      public Builder setAggregationType(
          java.lang.String value) {
        copyOnWrite();
        instance.setAggregationType(value);
        return this;
      }
      /**
       * <pre>
       * count, duration, etc
       * </pre>
       *
       * <code>optional string aggregation_type = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearAggregationType() {
        copyOnWrite();
        instance.clearAggregationType();
        return this;
      }
      /**
       * <pre>
       * count, duration, etc
       * </pre>
       *
       * <code>optional string aggregation_type = 2;</code>
       * @param value The bytes for aggregationType to set.
       * @return This builder for chaining.
       */
      public Builder setAggregationTypeBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setAggregationTypeBytes(value);
        return this;
      }

      /**
       * <code>optional string field_name = 3;</code>
       * @return Whether the fieldName field is set.
       */
      @java.lang.Override
      public boolean hasFieldName() {
        return instance.hasFieldName();
      }
      /**
       * <code>optional string field_name = 3;</code>
       * @return The fieldName.
       */
      @java.lang.Override
      public java.lang.String getFieldName() {
        return instance.getFieldName();
      }
      /**
       * <code>optional string field_name = 3;</code>
       * @return The bytes for fieldName.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getFieldNameBytes() {
        return instance.getFieldNameBytes();
      }
      /**
       * <code>optional string field_name = 3;</code>
       * @param value The fieldName to set.
       * @return This builder for chaining.
       */
      public Builder setFieldName(
          java.lang.String value) {
        copyOnWrite();
        instance.setFieldName(value);
        return this;
      }
      /**
       * <code>optional string field_name = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearFieldName() {
        copyOnWrite();
        instance.clearFieldName();
        return this;
      }
      /**
       * <code>optional string field_name = 3;</code>
       * @param value The bytes for fieldName to set.
       * @return This builder for chaining.
       */
      public Builder setFieldNameBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setFieldNameBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.AggregateMetricSpec)
    }
    @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 androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "dataTypeName_",
              "aggregationType_",
              "fieldName_",
            };
            java.lang.String info =
                "\u0001\u0003\u0000\u0001\u0001\u0003\u0003\u0000\u0000\u0000\u0001\u1008\u0000\u0002" +
                "\u1008\u0001\u0003\u1008\u0002";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec>(
                        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:androidx.health.platform.client.proto.AggregateMetricSpec)
    private static final androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec DEFAULT_INSTANCE;
    static {
      AggregateMetricSpec defaultInstance = new AggregateMetricSpec();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        AggregateMetricSpec.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<AggregateMetricSpec> PARSER;

    public static com.google.protobuf.Parser<AggregateMetricSpec> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface AggregateDataRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.AggregateDataRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     * @return Whether the timeSpec field is set.
     */
    boolean hasTimeSpec();
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     * @return The timeSpec.
     */
    androidx.health.platform.client.proto.TimeProto.TimeSpec getTimeSpec();

    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    java.util.List<androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec> 
        getMetricSpecList();
    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec getMetricSpec(int index);
    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    int getMetricSpecCount();

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    java.util.List<androidx.health.platform.client.proto.DataProto.DataOrigin> 
        getDataOriginList();
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    androidx.health.platform.client.proto.DataProto.DataOrigin getDataOrigin(int index);
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    int getDataOriginCount();

    /**
     * <code>optional int64 slice_duration_millis = 4;</code>
     * @return Whether the sliceDurationMillis field is set.
     */
    boolean hasSliceDurationMillis();
    /**
     * <code>optional int64 slice_duration_millis = 4;</code>
     * @return The sliceDurationMillis.
     */
    long getSliceDurationMillis();

    /**
     * <code>optional string slice_period = 5;</code>
     * @return Whether the slicePeriod field is set.
     */
    boolean hasSlicePeriod();
    /**
     * <code>optional string slice_period = 5;</code>
     * @return The slicePeriod.
     */
    java.lang.String getSlicePeriod();
    /**
     * <code>optional string slice_period = 5;</code>
     * @return The bytes for slicePeriod.
     */
    com.google.protobuf.ByteString
        getSlicePeriodBytes();
  }
  /**
   * <pre>
   * Flattened aggregation
   * </pre>
   *
   * Protobuf type {@code androidx.health.platform.client.proto.AggregateDataRequest}
   */
  public  static final class AggregateDataRequest extends
      com.google.protobuf.GeneratedMessageLite<
          AggregateDataRequest, AggregateDataRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.AggregateDataRequest)
      AggregateDataRequestOrBuilder {
    private AggregateDataRequest() {
      metricSpec_ = emptyProtobufList();
      dataOrigin_ = emptyProtobufList();
      slicePeriod_ = "";
    }
    private int bitField0_;
    public static final int TIME_SPEC_FIELD_NUMBER = 1;
    private androidx.health.platform.client.proto.TimeProto.TimeSpec timeSpec_;
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    @java.lang.Override
    public boolean hasTimeSpec() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.TimeProto.TimeSpec getTimeSpec() {
      return timeSpec_ == null ? androidx.health.platform.client.proto.TimeProto.TimeSpec.getDefaultInstance() : timeSpec_;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    private void setTimeSpec(androidx.health.platform.client.proto.TimeProto.TimeSpec value) {
      value.getClass();
  timeSpec_ = value;
      bitField0_ |= 0x00000001;
      }
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeTimeSpec(androidx.health.platform.client.proto.TimeProto.TimeSpec value) {
      value.getClass();
  if (timeSpec_ != null &&
          timeSpec_ != androidx.health.platform.client.proto.TimeProto.TimeSpec.getDefaultInstance()) {
        timeSpec_ =
          androidx.health.platform.client.proto.TimeProto.TimeSpec.newBuilder(timeSpec_).mergeFrom(value).buildPartial();
      } else {
        timeSpec_ = value;
      }
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
     */
    private void clearTimeSpec() {  timeSpec_ = null;
      bitField0_ = (bitField0_ & ~0x00000001);
    }

    public static final int METRIC_SPEC_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec> metricSpec_;
    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    @java.lang.Override
    public java.util.List<androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec> getMetricSpecList() {
      return metricSpec_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    public java.util.List<? extends androidx.health.platform.client.proto.RequestProto.AggregateMetricSpecOrBuilder> 
        getMetricSpecOrBuilderList() {
      return metricSpec_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    @java.lang.Override
    public int getMetricSpecCount() {
      return metricSpec_.size();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec getMetricSpec(int index) {
      return metricSpec_.get(index);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    public androidx.health.platform.client.proto.RequestProto.AggregateMetricSpecOrBuilder getMetricSpecOrBuilder(
        int index) {
      return metricSpec_.get(index);
    }
    private void ensureMetricSpecIsMutable() {
      com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec> tmp = metricSpec_;
      if (!tmp.isModifiable()) {
        metricSpec_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    private void setMetricSpec(
        int index, androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec value) {
      value.getClass();
  ensureMetricSpecIsMutable();
      metricSpec_.set(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    private void addMetricSpec(androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec value) {
      value.getClass();
  ensureMetricSpecIsMutable();
      metricSpec_.add(value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    private void addMetricSpec(
        int index, androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec value) {
      value.getClass();
  ensureMetricSpecIsMutable();
      metricSpec_.add(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    private void addAllMetricSpec(
        java.lang.Iterable<? extends androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec> values) {
      ensureMetricSpecIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, metricSpec_);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    private void clearMetricSpec() {
      metricSpec_ = emptyProtobufList();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
     */
    private void removeMetricSpec(int index) {
      ensureMetricSpecIsMutable();
      metricSpec_.remove(index);
    }

    public static final int DATA_ORIGIN_FIELD_NUMBER = 3;
    private com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataOrigin> dataOrigin_;
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    @java.lang.Override
    public java.util.List<androidx.health.platform.client.proto.DataProto.DataOrigin> getDataOriginList() {
      return dataOrigin_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    public java.util.List<? extends androidx.health.platform.client.proto.DataProto.DataOriginOrBuilder> 
        getDataOriginOrBuilderList() {
      return dataOrigin_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    @java.lang.Override
    public int getDataOriginCount() {
      return dataOrigin_.size();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.DataProto.DataOrigin getDataOrigin(int index) {
      return dataOrigin_.get(index);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    public androidx.health.platform.client.proto.DataProto.DataOriginOrBuilder getDataOriginOrBuilder(
        int index) {
      return dataOrigin_.get(index);
    }
    private void ensureDataOriginIsMutable() {
      com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataOrigin> tmp = dataOrigin_;
      if (!tmp.isModifiable()) {
        dataOrigin_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    private void setDataOrigin(
        int index, androidx.health.platform.client.proto.DataProto.DataOrigin value) {
      value.getClass();
  ensureDataOriginIsMutable();
      dataOrigin_.set(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    private void addDataOrigin(androidx.health.platform.client.proto.DataProto.DataOrigin value) {
      value.getClass();
  ensureDataOriginIsMutable();
      dataOrigin_.add(value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    private void addDataOrigin(
        int index, androidx.health.platform.client.proto.DataProto.DataOrigin value) {
      value.getClass();
  ensureDataOriginIsMutable();
      dataOrigin_.add(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    private void addAllDataOrigin(
        java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataOrigin> values) {
      ensureDataOriginIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, dataOrigin_);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    private void clearDataOrigin() {
      dataOrigin_ = emptyProtobufList();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
     */
    private void removeDataOrigin(int index) {
      ensureDataOriginIsMutable();
      dataOrigin_.remove(index);
    }

    public static final int SLICE_DURATION_MILLIS_FIELD_NUMBER = 4;
    private long sliceDurationMillis_;
    /**
     * <code>optional int64 slice_duration_millis = 4;</code>
     * @return Whether the sliceDurationMillis field is set.
     */
    @java.lang.Override
    public boolean hasSliceDurationMillis() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional int64 slice_duration_millis = 4;</code>
     * @return The sliceDurationMillis.
     */
    @java.lang.Override
    public long getSliceDurationMillis() {
      return sliceDurationMillis_;
    }
    /**
     * <code>optional int64 slice_duration_millis = 4;</code>
     * @param value The sliceDurationMillis to set.
     */
    private void setSliceDurationMillis(long value) {
      bitField0_ |= 0x00000002;
      sliceDurationMillis_ = value;
    }
    /**
     * <code>optional int64 slice_duration_millis = 4;</code>
     */
    private void clearSliceDurationMillis() {
      bitField0_ = (bitField0_ & ~0x00000002);
      sliceDurationMillis_ = 0L;
    }

    public static final int SLICE_PERIOD_FIELD_NUMBER = 5;
    private java.lang.String slicePeriod_;
    /**
     * <code>optional string slice_period = 5;</code>
     * @return Whether the slicePeriod field is set.
     */
    @java.lang.Override
    public boolean hasSlicePeriod() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional string slice_period = 5;</code>
     * @return The slicePeriod.
     */
    @java.lang.Override
    public java.lang.String getSlicePeriod() {
      return slicePeriod_;
    }
    /**
     * <code>optional string slice_period = 5;</code>
     * @return The bytes for slicePeriod.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSlicePeriodBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(slicePeriod_);
    }
    /**
     * <code>optional string slice_period = 5;</code>
     * @param value The slicePeriod to set.
     */
    private void setSlicePeriod(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000004;
      slicePeriod_ = value;
    }
    /**
     * <code>optional string slice_period = 5;</code>
     */
    private void clearSlicePeriod() {
      bitField0_ = (bitField0_ & ~0x00000004);
      slicePeriod_ = getDefaultInstance().getSlicePeriod();
    }
    /**
     * <code>optional string slice_period = 5;</code>
     * @param value The bytes for slicePeriod to set.
     */
    private void setSlicePeriodBytes(
        com.google.protobuf.ByteString value) {
      slicePeriod_ = value.toStringUtf8();
      bitField0_ |= 0x00000004;
    }

    public static androidx.health.platform.client.proto.RequestProto.AggregateDataRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateDataRequest 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 androidx.health.platform.client.proto.RequestProto.AggregateDataRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateDataRequest 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 androidx.health.platform.client.proto.RequestProto.AggregateDataRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateDataRequest 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 androidx.health.platform.client.proto.RequestProto.AggregateDataRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateDataRequest 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 androidx.health.platform.client.proto.RequestProto.AggregateDataRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateDataRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateDataRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.AggregateDataRequest 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(androidx.health.platform.client.proto.RequestProto.AggregateDataRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Flattened aggregation
     * </pre>
     *
     * Protobuf type {@code androidx.health.platform.client.proto.AggregateDataRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.AggregateDataRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.AggregateDataRequest)
        androidx.health.platform.client.proto.RequestProto.AggregateDataRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.AggregateDataRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      @java.lang.Override
      public boolean hasTimeSpec() {
        return instance.hasTimeSpec();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.TimeProto.TimeSpec getTimeSpec() {
        return instance.getTimeSpec();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      public Builder setTimeSpec(androidx.health.platform.client.proto.TimeProto.TimeSpec value) {
        copyOnWrite();
        instance.setTimeSpec(value);
        return this;
        }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      public Builder setTimeSpec(
          androidx.health.platform.client.proto.TimeProto.TimeSpec.Builder builderForValue) {
        copyOnWrite();
        instance.setTimeSpec(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      public Builder mergeTimeSpec(androidx.health.platform.client.proto.TimeProto.TimeSpec value) {
        copyOnWrite();
        instance.mergeTimeSpec(value);
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.TimeSpec time_spec = 1;</code>
       */
      public Builder clearTimeSpec() {  copyOnWrite();
        instance.clearTimeSpec();
        return this;
      }

      /**
       * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
       */
      @java.lang.Override
      public java.util.List<androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec> getMetricSpecList() {
        return java.util.Collections.unmodifiableList(
            instance.getMetricSpecList());
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
       */
      @java.lang.Override
      public int getMetricSpecCount() {
        return instance.getMetricSpecCount();
      }/**
       * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec getMetricSpec(int index) {
        return instance.getMetricSpec(index);
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
       */
      public Builder setMetricSpec(
          int index, androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec value) {
        copyOnWrite();
        instance.setMetricSpec(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
       */
      public Builder setMetricSpec(
          int index, androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec.Builder builderForValue) {
        copyOnWrite();
        instance.setMetricSpec(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
       */
      public Builder addMetricSpec(androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec value) {
        copyOnWrite();
        instance.addMetricSpec(value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
       */
      public Builder addMetricSpec(
          int index, androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec value) {
        copyOnWrite();
        instance.addMetricSpec(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
       */
      public Builder addMetricSpec(
          androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec.Builder builderForValue) {
        copyOnWrite();
        instance.addMetricSpec(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
       */
      public Builder addMetricSpec(
          int index, androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec.Builder builderForValue) {
        copyOnWrite();
        instance.addMetricSpec(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
       */
      public Builder addAllMetricSpec(
          java.lang.Iterable<? extends androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec> values) {
        copyOnWrite();
        instance.addAllMetricSpec(values);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
       */
      public Builder clearMetricSpec() {
        copyOnWrite();
        instance.clearMetricSpec();
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.AggregateMetricSpec metric_spec = 2;</code>
       */
      public Builder removeMetricSpec(int index) {
        copyOnWrite();
        instance.removeMetricSpec(index);
        return this;
      }

      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
       */
      @java.lang.Override
      public java.util.List<androidx.health.platform.client.proto.DataProto.DataOrigin> getDataOriginList() {
        return java.util.Collections.unmodifiableList(
            instance.getDataOriginList());
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
       */
      @java.lang.Override
      public int getDataOriginCount() {
        return instance.getDataOriginCount();
      }/**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.DataProto.DataOrigin getDataOrigin(int index) {
        return instance.getDataOrigin(index);
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
       */
      public Builder setDataOrigin(
          int index, androidx.health.platform.client.proto.DataProto.DataOrigin value) {
        copyOnWrite();
        instance.setDataOrigin(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
       */
      public Builder setDataOrigin(
          int index, androidx.health.platform.client.proto.DataProto.DataOrigin.Builder builderForValue) {
        copyOnWrite();
        instance.setDataOrigin(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
       */
      public Builder addDataOrigin(androidx.health.platform.client.proto.DataProto.DataOrigin value) {
        copyOnWrite();
        instance.addDataOrigin(value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
       */
      public Builder addDataOrigin(
          int index, androidx.health.platform.client.proto.DataProto.DataOrigin value) {
        copyOnWrite();
        instance.addDataOrigin(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
       */
      public Builder addDataOrigin(
          androidx.health.platform.client.proto.DataProto.DataOrigin.Builder builderForValue) {
        copyOnWrite();
        instance.addDataOrigin(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
       */
      public Builder addDataOrigin(
          int index, androidx.health.platform.client.proto.DataProto.DataOrigin.Builder builderForValue) {
        copyOnWrite();
        instance.addDataOrigin(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
       */
      public Builder addAllDataOrigin(
          java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataOrigin> values) {
        copyOnWrite();
        instance.addAllDataOrigin(values);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
       */
      public Builder clearDataOrigin() {
        copyOnWrite();
        instance.clearDataOrigin();
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin = 3;</code>
       */
      public Builder removeDataOrigin(int index) {
        copyOnWrite();
        instance.removeDataOrigin(index);
        return this;
      }

      /**
       * <code>optional int64 slice_duration_millis = 4;</code>
       * @return Whether the sliceDurationMillis field is set.
       */
      @java.lang.Override
      public boolean hasSliceDurationMillis() {
        return instance.hasSliceDurationMillis();
      }
      /**
       * <code>optional int64 slice_duration_millis = 4;</code>
       * @return The sliceDurationMillis.
       */
      @java.lang.Override
      public long getSliceDurationMillis() {
        return instance.getSliceDurationMillis();
      }
      /**
       * <code>optional int64 slice_duration_millis = 4;</code>
       * @param value The sliceDurationMillis to set.
       * @return This builder for chaining.
       */
      public Builder setSliceDurationMillis(long value) {
        copyOnWrite();
        instance.setSliceDurationMillis(value);
        return this;
      }
      /**
       * <code>optional int64 slice_duration_millis = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearSliceDurationMillis() {
        copyOnWrite();
        instance.clearSliceDurationMillis();
        return this;
      }

      /**
       * <code>optional string slice_period = 5;</code>
       * @return Whether the slicePeriod field is set.
       */
      @java.lang.Override
      public boolean hasSlicePeriod() {
        return instance.hasSlicePeriod();
      }
      /**
       * <code>optional string slice_period = 5;</code>
       * @return The slicePeriod.
       */
      @java.lang.Override
      public java.lang.String getSlicePeriod() {
        return instance.getSlicePeriod();
      }
      /**
       * <code>optional string slice_period = 5;</code>
       * @return The bytes for slicePeriod.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSlicePeriodBytes() {
        return instance.getSlicePeriodBytes();
      }
      /**
       * <code>optional string slice_period = 5;</code>
       * @param value The slicePeriod to set.
       * @return This builder for chaining.
       */
      public Builder setSlicePeriod(
          java.lang.String value) {
        copyOnWrite();
        instance.setSlicePeriod(value);
        return this;
      }
      /**
       * <code>optional string slice_period = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearSlicePeriod() {
        copyOnWrite();
        instance.clearSlicePeriod();
        return this;
      }
      /**
       * <code>optional string slice_period = 5;</code>
       * @param value The bytes for slicePeriod to set.
       * @return This builder for chaining.
       */
      public Builder setSlicePeriodBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setSlicePeriodBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.AggregateDataRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.AggregateDataRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "timeSpec_",
              "metricSpec_",
              androidx.health.platform.client.proto.RequestProto.AggregateMetricSpec.class,
              "dataOrigin_",
              androidx.health.platform.client.proto.DataProto.DataOrigin.class,
              "sliceDurationMillis_",
              "slicePeriod_",
            };
            java.lang.String info =
                "\u0001\u0005\u0000\u0001\u0001\u0005\u0005\u0000\u0002\u0000\u0001\u1009\u0000\u0002" +
                "\u001b\u0003\u001b\u0004\u1002\u0001\u0005\u1008\u0002";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.AggregateDataRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.AggregateDataRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.AggregateDataRequest>(
                        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:androidx.health.platform.client.proto.AggregateDataRequest)
    private static final androidx.health.platform.client.proto.RequestProto.AggregateDataRequest DEFAULT_INSTANCE;
    static {
      AggregateDataRequest defaultInstance = new AggregateDataRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        AggregateDataRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.AggregateDataRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<AggregateDataRequest> PARSER;

    public static com.google.protobuf.Parser<AggregateDataRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface GetChangesTokenRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.GetChangesTokenRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    java.util.List<androidx.health.platform.client.proto.DataProto.DataType> 
        getDataTypeList();
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    androidx.health.platform.client.proto.DataProto.DataType getDataType(int index);
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    int getDataTypeCount();

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    java.util.List<androidx.health.platform.client.proto.DataProto.DataOrigin> 
        getDataOriginFiltersList();
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    androidx.health.platform.client.proto.DataProto.DataOrigin getDataOriginFilters(int index);
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    int getDataOriginFiltersCount();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.GetChangesTokenRequest}
   */
  public  static final class GetChangesTokenRequest extends
      com.google.protobuf.GeneratedMessageLite<
          GetChangesTokenRequest, GetChangesTokenRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.GetChangesTokenRequest)
      GetChangesTokenRequestOrBuilder {
    private GetChangesTokenRequest() {
      dataType_ = emptyProtobufList();
      dataOriginFilters_ = emptyProtobufList();
    }
    public static final int DATA_TYPE_FIELD_NUMBER = 1;
    private com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataType> dataType_;
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    @java.lang.Override
    public java.util.List<androidx.health.platform.client.proto.DataProto.DataType> getDataTypeList() {
      return dataType_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    public java.util.List<? extends androidx.health.platform.client.proto.DataProto.DataTypeOrBuilder> 
        getDataTypeOrBuilderList() {
      return dataType_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    @java.lang.Override
    public int getDataTypeCount() {
      return dataType_.size();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.DataProto.DataType getDataType(int index) {
      return dataType_.get(index);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    public androidx.health.platform.client.proto.DataProto.DataTypeOrBuilder getDataTypeOrBuilder(
        int index) {
      return dataType_.get(index);
    }
    private void ensureDataTypeIsMutable() {
      com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataType> tmp = dataType_;
      if (!tmp.isModifiable()) {
        dataType_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    private void setDataType(
        int index, androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  ensureDataTypeIsMutable();
      dataType_.set(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    private void addDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  ensureDataTypeIsMutable();
      dataType_.add(value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    private void addDataType(
        int index, androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  ensureDataTypeIsMutable();
      dataType_.add(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    private void addAllDataType(
        java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataType> values) {
      ensureDataTypeIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, dataType_);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    private void clearDataType() {
      dataType_ = emptyProtobufList();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
     */
    private void removeDataType(int index) {
      ensureDataTypeIsMutable();
      dataType_.remove(index);
    }

    public static final int DATA_ORIGIN_FILTERS_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataOrigin> dataOriginFilters_;
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    @java.lang.Override
    public java.util.List<androidx.health.platform.client.proto.DataProto.DataOrigin> getDataOriginFiltersList() {
      return dataOriginFilters_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    public java.util.List<? extends androidx.health.platform.client.proto.DataProto.DataOriginOrBuilder> 
        getDataOriginFiltersOrBuilderList() {
      return dataOriginFilters_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    @java.lang.Override
    public int getDataOriginFiltersCount() {
      return dataOriginFilters_.size();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.DataProto.DataOrigin getDataOriginFilters(int index) {
      return dataOriginFilters_.get(index);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    public androidx.health.platform.client.proto.DataProto.DataOriginOrBuilder getDataOriginFiltersOrBuilder(
        int index) {
      return dataOriginFilters_.get(index);
    }
    private void ensureDataOriginFiltersIsMutable() {
      com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataOrigin> tmp = dataOriginFilters_;
      if (!tmp.isModifiable()) {
        dataOriginFilters_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    private void setDataOriginFilters(
        int index, androidx.health.platform.client.proto.DataProto.DataOrigin value) {
      value.getClass();
  ensureDataOriginFiltersIsMutable();
      dataOriginFilters_.set(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    private void addDataOriginFilters(androidx.health.platform.client.proto.DataProto.DataOrigin value) {
      value.getClass();
  ensureDataOriginFiltersIsMutable();
      dataOriginFilters_.add(value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    private void addDataOriginFilters(
        int index, androidx.health.platform.client.proto.DataProto.DataOrigin value) {
      value.getClass();
  ensureDataOriginFiltersIsMutable();
      dataOriginFilters_.add(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    private void addAllDataOriginFilters(
        java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataOrigin> values) {
      ensureDataOriginFiltersIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, dataOriginFilters_);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    private void clearDataOriginFilters() {
      dataOriginFilters_ = emptyProtobufList();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
     */
    private void removeDataOriginFilters(int index) {
      ensureDataOriginFiltersIsMutable();
      dataOriginFilters_.remove(index);
    }

    public static androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest 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 androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest 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 androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest 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 androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest 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 androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest 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(androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.GetChangesTokenRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.GetChangesTokenRequest)
        androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      @java.lang.Override
      public java.util.List<androidx.health.platform.client.proto.DataProto.DataType> getDataTypeList() {
        return java.util.Collections.unmodifiableList(
            instance.getDataTypeList());
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      @java.lang.Override
      public int getDataTypeCount() {
        return instance.getDataTypeCount();
      }/**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.DataProto.DataType getDataType(int index) {
        return instance.getDataType(index);
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder setDataType(
          int index, androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.setDataType(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder setDataType(
          int index, androidx.health.platform.client.proto.DataProto.DataType.Builder builderForValue) {
        copyOnWrite();
        instance.setDataType(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder addDataType(androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.addDataType(value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder addDataType(
          int index, androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.addDataType(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder addDataType(
          androidx.health.platform.client.proto.DataProto.DataType.Builder builderForValue) {
        copyOnWrite();
        instance.addDataType(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder addDataType(
          int index, androidx.health.platform.client.proto.DataProto.DataType.Builder builderForValue) {
        copyOnWrite();
        instance.addDataType(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder addAllDataType(
          java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataType> values) {
        copyOnWrite();
        instance.addAllDataType(values);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder clearDataType() {
        copyOnWrite();
        instance.clearDataType();
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_type = 1;</code>
       */
      public Builder removeDataType(int index) {
        copyOnWrite();
        instance.removeDataType(index);
        return this;
      }

      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
       */
      @java.lang.Override
      public java.util.List<androidx.health.platform.client.proto.DataProto.DataOrigin> getDataOriginFiltersList() {
        return java.util.Collections.unmodifiableList(
            instance.getDataOriginFiltersList());
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
       */
      @java.lang.Override
      public int getDataOriginFiltersCount() {
        return instance.getDataOriginFiltersCount();
      }/**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.DataProto.DataOrigin getDataOriginFilters(int index) {
        return instance.getDataOriginFilters(index);
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
       */
      public Builder setDataOriginFilters(
          int index, androidx.health.platform.client.proto.DataProto.DataOrigin value) {
        copyOnWrite();
        instance.setDataOriginFilters(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
       */
      public Builder setDataOriginFilters(
          int index, androidx.health.platform.client.proto.DataProto.DataOrigin.Builder builderForValue) {
        copyOnWrite();
        instance.setDataOriginFilters(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
       */
      public Builder addDataOriginFilters(androidx.health.platform.client.proto.DataProto.DataOrigin value) {
        copyOnWrite();
        instance.addDataOriginFilters(value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
       */
      public Builder addDataOriginFilters(
          int index, androidx.health.platform.client.proto.DataProto.DataOrigin value) {
        copyOnWrite();
        instance.addDataOriginFilters(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
       */
      public Builder addDataOriginFilters(
          androidx.health.platform.client.proto.DataProto.DataOrigin.Builder builderForValue) {
        copyOnWrite();
        instance.addDataOriginFilters(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
       */
      public Builder addDataOriginFilters(
          int index, androidx.health.platform.client.proto.DataProto.DataOrigin.Builder builderForValue) {
        copyOnWrite();
        instance.addDataOriginFilters(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
       */
      public Builder addAllDataOriginFilters(
          java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataOrigin> values) {
        copyOnWrite();
        instance.addAllDataOriginFilters(values);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
       */
      public Builder clearDataOriginFilters() {
        copyOnWrite();
        instance.clearDataOriginFilters();
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataOrigin data_origin_filters = 2;</code>
       */
      public Builder removeDataOriginFilters(int index) {
        copyOnWrite();
        instance.removeDataOriginFilters(index);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.GetChangesTokenRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "dataType_",
              androidx.health.platform.client.proto.DataProto.DataType.class,
              "dataOriginFilters_",
              androidx.health.platform.client.proto.DataProto.DataOrigin.class,
            };
            java.lang.String info =
                "\u0001\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0002\u0000\u0001\u001b\u0002\u001b" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest>(
                        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:androidx.health.platform.client.proto.GetChangesTokenRequest)
    private static final androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest DEFAULT_INSTANCE;
    static {
      GetChangesTokenRequest defaultInstance = new GetChangesTokenRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        GetChangesTokenRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.GetChangesTokenRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<GetChangesTokenRequest> PARSER;

    public static com.google.protobuf.Parser<GetChangesTokenRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface GetChangesRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.GetChangesRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional string changes_token = 1;</code>
     * @return Whether the changesToken field is set.
     */
    boolean hasChangesToken();
    /**
     * <code>optional string changes_token = 1;</code>
     * @return The changesToken.
     */
    java.lang.String getChangesToken();
    /**
     * <code>optional string changes_token = 1;</code>
     * @return The bytes for changesToken.
     */
    com.google.protobuf.ByteString
        getChangesTokenBytes();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.GetChangesRequest}
   */
  public  static final class GetChangesRequest extends
      com.google.protobuf.GeneratedMessageLite<
          GetChangesRequest, GetChangesRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.GetChangesRequest)
      GetChangesRequestOrBuilder {
    private GetChangesRequest() {
      changesToken_ = "";
    }
    private int bitField0_;
    public static final int CHANGES_TOKEN_FIELD_NUMBER = 1;
    private java.lang.String changesToken_;
    /**
     * <code>optional string changes_token = 1;</code>
     * @return Whether the changesToken field is set.
     */
    @java.lang.Override
    public boolean hasChangesToken() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional string changes_token = 1;</code>
     * @return The changesToken.
     */
    @java.lang.Override
    public java.lang.String getChangesToken() {
      return changesToken_;
    }
    /**
     * <code>optional string changes_token = 1;</code>
     * @return The bytes for changesToken.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getChangesTokenBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(changesToken_);
    }
    /**
     * <code>optional string changes_token = 1;</code>
     * @param value The changesToken to set.
     */
    private void setChangesToken(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000001;
      changesToken_ = value;
    }
    /**
     * <code>optional string changes_token = 1;</code>
     */
    private void clearChangesToken() {
      bitField0_ = (bitField0_ & ~0x00000001);
      changesToken_ = getDefaultInstance().getChangesToken();
    }
    /**
     * <code>optional string changes_token = 1;</code>
     * @param value The bytes for changesToken to set.
     */
    private void setChangesTokenBytes(
        com.google.protobuf.ByteString value) {
      changesToken_ = value.toStringUtf8();
      bitField0_ |= 0x00000001;
    }

    public static androidx.health.platform.client.proto.RequestProto.GetChangesRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesRequest 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 androidx.health.platform.client.proto.RequestProto.GetChangesRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesRequest 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 androidx.health.platform.client.proto.RequestProto.GetChangesRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesRequest 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 androidx.health.platform.client.proto.RequestProto.GetChangesRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesRequest 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 androidx.health.platform.client.proto.RequestProto.GetChangesRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.GetChangesRequest 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(androidx.health.platform.client.proto.RequestProto.GetChangesRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.GetChangesRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.GetChangesRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.GetChangesRequest)
        androidx.health.platform.client.proto.RequestProto.GetChangesRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.GetChangesRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional string changes_token = 1;</code>
       * @return Whether the changesToken field is set.
       */
      @java.lang.Override
      public boolean hasChangesToken() {
        return instance.hasChangesToken();
      }
      /**
       * <code>optional string changes_token = 1;</code>
       * @return The changesToken.
       */
      @java.lang.Override
      public java.lang.String getChangesToken() {
        return instance.getChangesToken();
      }
      /**
       * <code>optional string changes_token = 1;</code>
       * @return The bytes for changesToken.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getChangesTokenBytes() {
        return instance.getChangesTokenBytes();
      }
      /**
       * <code>optional string changes_token = 1;</code>
       * @param value The changesToken to set.
       * @return This builder for chaining.
       */
      public Builder setChangesToken(
          java.lang.String value) {
        copyOnWrite();
        instance.setChangesToken(value);
        return this;
      }
      /**
       * <code>optional string changes_token = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearChangesToken() {
        copyOnWrite();
        instance.clearChangesToken();
        return this;
      }
      /**
       * <code>optional string changes_token = 1;</code>
       * @param value The bytes for changesToken to set.
       * @return This builder for chaining.
       */
      public Builder setChangesTokenBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setChangesTokenBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.GetChangesRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.GetChangesRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "changesToken_",
            };
            java.lang.String info =
                "\u0001\u0001\u0000\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0001\u1008\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.GetChangesRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.GetChangesRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.GetChangesRequest>(
                        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:androidx.health.platform.client.proto.GetChangesRequest)
    private static final androidx.health.platform.client.proto.RequestProto.GetChangesRequest DEFAULT_INSTANCE;
    static {
      GetChangesRequest defaultInstance = new GetChangesRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        GetChangesRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.GetChangesRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<GetChangesRequest> PARSER;

    public static com.google.protobuf.Parser<GetChangesRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface RegisterForDataNotificationsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.RegisterForDataNotificationsRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @return Whether the notificationIntentAction field is set.
     */
    boolean hasNotificationIntentAction();
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @return The notificationIntentAction.
     */
    java.lang.String getNotificationIntentAction();
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @return The bytes for notificationIntentAction.
     */
    com.google.protobuf.ByteString
        getNotificationIntentActionBytes();

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    java.util.List<androidx.health.platform.client.proto.DataProto.DataType> 
        getDataTypesList();
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    androidx.health.platform.client.proto.DataProto.DataType getDataTypes(int index);
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    int getDataTypesCount();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.RegisterForDataNotificationsRequest}
   */
  public  static final class RegisterForDataNotificationsRequest extends
      com.google.protobuf.GeneratedMessageLite<
          RegisterForDataNotificationsRequest, RegisterForDataNotificationsRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.RegisterForDataNotificationsRequest)
      RegisterForDataNotificationsRequestOrBuilder {
    private RegisterForDataNotificationsRequest() {
      notificationIntentAction_ = "";
      dataTypes_ = emptyProtobufList();
    }
    private int bitField0_;
    public static final int NOTIFICATIONINTENTACTION_FIELD_NUMBER = 1;
    private java.lang.String notificationIntentAction_;
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @return Whether the notificationIntentAction field is set.
     */
    @java.lang.Override
    public boolean hasNotificationIntentAction() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @return The notificationIntentAction.
     */
    @java.lang.Override
    public java.lang.String getNotificationIntentAction() {
      return notificationIntentAction_;
    }
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @return The bytes for notificationIntentAction.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNotificationIntentActionBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(notificationIntentAction_);
    }
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @param value The notificationIntentAction to set.
     */
    private void setNotificationIntentAction(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000001;
      notificationIntentAction_ = value;
    }
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     */
    private void clearNotificationIntentAction() {
      bitField0_ = (bitField0_ & ~0x00000001);
      notificationIntentAction_ = getDefaultInstance().getNotificationIntentAction();
    }
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @param value The bytes for notificationIntentAction to set.
     */
    private void setNotificationIntentActionBytes(
        com.google.protobuf.ByteString value) {
      notificationIntentAction_ = value.toStringUtf8();
      bitField0_ |= 0x00000001;
    }

    public static final int DATA_TYPES_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataType> dataTypes_;
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    @java.lang.Override
    public java.util.List<androidx.health.platform.client.proto.DataProto.DataType> getDataTypesList() {
      return dataTypes_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    public java.util.List<? extends androidx.health.platform.client.proto.DataProto.DataTypeOrBuilder> 
        getDataTypesOrBuilderList() {
      return dataTypes_;
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    @java.lang.Override
    public int getDataTypesCount() {
      return dataTypes_.size();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.DataProto.DataType getDataTypes(int index) {
      return dataTypes_.get(index);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    public androidx.health.platform.client.proto.DataProto.DataTypeOrBuilder getDataTypesOrBuilder(
        int index) {
      return dataTypes_.get(index);
    }
    private void ensureDataTypesIsMutable() {
      com.google.protobuf.Internal.ProtobufList<androidx.health.platform.client.proto.DataProto.DataType> tmp = dataTypes_;
      if (!tmp.isModifiable()) {
        dataTypes_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    private void setDataTypes(
        int index, androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  ensureDataTypesIsMutable();
      dataTypes_.set(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    private void addDataTypes(androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  ensureDataTypesIsMutable();
      dataTypes_.add(value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    private void addDataTypes(
        int index, androidx.health.platform.client.proto.DataProto.DataType value) {
      value.getClass();
  ensureDataTypesIsMutable();
      dataTypes_.add(index, value);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    private void addAllDataTypes(
        java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataType> values) {
      ensureDataTypesIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, dataTypes_);
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    private void clearDataTypes() {
      dataTypes_ = emptyProtobufList();
    }
    /**
     * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
     */
    private void removeDataTypes(int index) {
      ensureDataTypesIsMutable();
      dataTypes_.remove(index);
    }

    public static androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest 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 androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest 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 androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest 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 androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest 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 androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest 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(androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.RegisterForDataNotificationsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.RegisterForDataNotificationsRequest)
        androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional string notificationIntentAction = 1;</code>
       * @return Whether the notificationIntentAction field is set.
       */
      @java.lang.Override
      public boolean hasNotificationIntentAction() {
        return instance.hasNotificationIntentAction();
      }
      /**
       * <code>optional string notificationIntentAction = 1;</code>
       * @return The notificationIntentAction.
       */
      @java.lang.Override
      public java.lang.String getNotificationIntentAction() {
        return instance.getNotificationIntentAction();
      }
      /**
       * <code>optional string notificationIntentAction = 1;</code>
       * @return The bytes for notificationIntentAction.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNotificationIntentActionBytes() {
        return instance.getNotificationIntentActionBytes();
      }
      /**
       * <code>optional string notificationIntentAction = 1;</code>
       * @param value The notificationIntentAction to set.
       * @return This builder for chaining.
       */
      public Builder setNotificationIntentAction(
          java.lang.String value) {
        copyOnWrite();
        instance.setNotificationIntentAction(value);
        return this;
      }
      /**
       * <code>optional string notificationIntentAction = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearNotificationIntentAction() {
        copyOnWrite();
        instance.clearNotificationIntentAction();
        return this;
      }
      /**
       * <code>optional string notificationIntentAction = 1;</code>
       * @param value The bytes for notificationIntentAction to set.
       * @return This builder for chaining.
       */
      public Builder setNotificationIntentActionBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setNotificationIntentActionBytes(value);
        return this;
      }

      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
       */
      @java.lang.Override
      public java.util.List<androidx.health.platform.client.proto.DataProto.DataType> getDataTypesList() {
        return java.util.Collections.unmodifiableList(
            instance.getDataTypesList());
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
       */
      @java.lang.Override
      public int getDataTypesCount() {
        return instance.getDataTypesCount();
      }/**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.DataProto.DataType getDataTypes(int index) {
        return instance.getDataTypes(index);
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
       */
      public Builder setDataTypes(
          int index, androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.setDataTypes(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
       */
      public Builder setDataTypes(
          int index, androidx.health.platform.client.proto.DataProto.DataType.Builder builderForValue) {
        copyOnWrite();
        instance.setDataTypes(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
       */
      public Builder addDataTypes(androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.addDataTypes(value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
       */
      public Builder addDataTypes(
          int index, androidx.health.platform.client.proto.DataProto.DataType value) {
        copyOnWrite();
        instance.addDataTypes(index, value);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
       */
      public Builder addDataTypes(
          androidx.health.platform.client.proto.DataProto.DataType.Builder builderForValue) {
        copyOnWrite();
        instance.addDataTypes(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
       */
      public Builder addDataTypes(
          int index, androidx.health.platform.client.proto.DataProto.DataType.Builder builderForValue) {
        copyOnWrite();
        instance.addDataTypes(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
       */
      public Builder addAllDataTypes(
          java.lang.Iterable<? extends androidx.health.platform.client.proto.DataProto.DataType> values) {
        copyOnWrite();
        instance.addAllDataTypes(values);
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
       */
      public Builder clearDataTypes() {
        copyOnWrite();
        instance.clearDataTypes();
        return this;
      }
      /**
       * <code>repeated .androidx.health.platform.client.proto.DataType data_types = 2;</code>
       */
      public Builder removeDataTypes(int index) {
        copyOnWrite();
        instance.removeDataTypes(index);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.RegisterForDataNotificationsRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "notificationIntentAction_",
              "dataTypes_",
              androidx.health.platform.client.proto.DataProto.DataType.class,
            };
            java.lang.String info =
                "\u0001\u0002\u0000\u0001\u0001\u0002\u0002\u0000\u0001\u0000\u0001\u1008\u0000\u0002" +
                "\u001b";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest>(
                        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:androidx.health.platform.client.proto.RegisterForDataNotificationsRequest)
    private static final androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest DEFAULT_INSTANCE;
    static {
      RegisterForDataNotificationsRequest defaultInstance = new RegisterForDataNotificationsRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        RegisterForDataNotificationsRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.RegisterForDataNotificationsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<RegisterForDataNotificationsRequest> PARSER;

    public static com.google.protobuf.Parser<RegisterForDataNotificationsRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface UnregisterFromDataNotificationsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.UnregisterFromDataNotificationsRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @return Whether the notificationIntentAction field is set.
     */
    boolean hasNotificationIntentAction();
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @return The notificationIntentAction.
     */
    java.lang.String getNotificationIntentAction();
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @return The bytes for notificationIntentAction.
     */
    com.google.protobuf.ByteString
        getNotificationIntentActionBytes();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.UnregisterFromDataNotificationsRequest}
   */
  public  static final class UnregisterFromDataNotificationsRequest extends
      com.google.protobuf.GeneratedMessageLite<
          UnregisterFromDataNotificationsRequest, UnregisterFromDataNotificationsRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.UnregisterFromDataNotificationsRequest)
      UnregisterFromDataNotificationsRequestOrBuilder {
    private UnregisterFromDataNotificationsRequest() {
      notificationIntentAction_ = "";
    }
    private int bitField0_;
    public static final int NOTIFICATIONINTENTACTION_FIELD_NUMBER = 1;
    private java.lang.String notificationIntentAction_;
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @return Whether the notificationIntentAction field is set.
     */
    @java.lang.Override
    public boolean hasNotificationIntentAction() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @return The notificationIntentAction.
     */
    @java.lang.Override
    public java.lang.String getNotificationIntentAction() {
      return notificationIntentAction_;
    }
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @return The bytes for notificationIntentAction.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNotificationIntentActionBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(notificationIntentAction_);
    }
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @param value The notificationIntentAction to set.
     */
    private void setNotificationIntentAction(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000001;
      notificationIntentAction_ = value;
    }
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     */
    private void clearNotificationIntentAction() {
      bitField0_ = (bitField0_ & ~0x00000001);
      notificationIntentAction_ = getDefaultInstance().getNotificationIntentAction();
    }
    /**
     * <code>optional string notificationIntentAction = 1;</code>
     * @param value The bytes for notificationIntentAction to set.
     */
    private void setNotificationIntentActionBytes(
        com.google.protobuf.ByteString value) {
      notificationIntentAction_ = value.toStringUtf8();
      bitField0_ |= 0x00000001;
    }

    public static androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest 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 androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest 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 androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest 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 androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest 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 androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest 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(androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.UnregisterFromDataNotificationsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.UnregisterFromDataNotificationsRequest)
        androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional string notificationIntentAction = 1;</code>
       * @return Whether the notificationIntentAction field is set.
       */
      @java.lang.Override
      public boolean hasNotificationIntentAction() {
        return instance.hasNotificationIntentAction();
      }
      /**
       * <code>optional string notificationIntentAction = 1;</code>
       * @return The notificationIntentAction.
       */
      @java.lang.Override
      public java.lang.String getNotificationIntentAction() {
        return instance.getNotificationIntentAction();
      }
      /**
       * <code>optional string notificationIntentAction = 1;</code>
       * @return The bytes for notificationIntentAction.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getNotificationIntentActionBytes() {
        return instance.getNotificationIntentActionBytes();
      }
      /**
       * <code>optional string notificationIntentAction = 1;</code>
       * @param value The notificationIntentAction to set.
       * @return This builder for chaining.
       */
      public Builder setNotificationIntentAction(
          java.lang.String value) {
        copyOnWrite();
        instance.setNotificationIntentAction(value);
        return this;
      }
      /**
       * <code>optional string notificationIntentAction = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearNotificationIntentAction() {
        copyOnWrite();
        instance.clearNotificationIntentAction();
        return this;
      }
      /**
       * <code>optional string notificationIntentAction = 1;</code>
       * @param value The bytes for notificationIntentAction to set.
       * @return This builder for chaining.
       */
      public Builder setNotificationIntentActionBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setNotificationIntentActionBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.UnregisterFromDataNotificationsRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "notificationIntentAction_",
            };
            java.lang.String info =
                "\u0001\u0001\u0000\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0001\u1008\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest>(
                        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:androidx.health.platform.client.proto.UnregisterFromDataNotificationsRequest)
    private static final androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest DEFAULT_INSTANCE;
    static {
      UnregisterFromDataNotificationsRequest defaultInstance = new UnregisterFromDataNotificationsRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        UnregisterFromDataNotificationsRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.UnregisterFromDataNotificationsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<UnregisterFromDataNotificationsRequest> PARSER;

    public static com.google.protobuf.Parser<UnregisterFromDataNotificationsRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface UpsertExerciseRouteRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.UpsertExerciseRouteRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional string sessionUid = 1;</code>
     * @return Whether the sessionUid field is set.
     */
    boolean hasSessionUid();
    /**
     * <code>optional string sessionUid = 1;</code>
     * @return The sessionUid.
     */
    java.lang.String getSessionUid();
    /**
     * <code>optional string sessionUid = 1;</code>
     * @return The bytes for sessionUid.
     */
    com.google.protobuf.ByteString
        getSessionUidBytes();

    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
     * @return Whether the exerciseRoute field is set.
     */
    boolean hasExerciseRoute();
    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
     * @return The exerciseRoute.
     */
    androidx.health.platform.client.proto.DataProto.DataPoint getExerciseRoute();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.UpsertExerciseRouteRequest}
   */
  public  static final class UpsertExerciseRouteRequest extends
      com.google.protobuf.GeneratedMessageLite<
          UpsertExerciseRouteRequest, UpsertExerciseRouteRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.UpsertExerciseRouteRequest)
      UpsertExerciseRouteRequestOrBuilder {
    private UpsertExerciseRouteRequest() {
      sessionUid_ = "";
    }
    private int bitField0_;
    public static final int SESSIONUID_FIELD_NUMBER = 1;
    private java.lang.String sessionUid_;
    /**
     * <code>optional string sessionUid = 1;</code>
     * @return Whether the sessionUid field is set.
     */
    @java.lang.Override
    public boolean hasSessionUid() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional string sessionUid = 1;</code>
     * @return The sessionUid.
     */
    @java.lang.Override
    public java.lang.String getSessionUid() {
      return sessionUid_;
    }
    /**
     * <code>optional string sessionUid = 1;</code>
     * @return The bytes for sessionUid.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSessionUidBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(sessionUid_);
    }
    /**
     * <code>optional string sessionUid = 1;</code>
     * @param value The sessionUid to set.
     */
    private void setSessionUid(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000001;
      sessionUid_ = value;
    }
    /**
     * <code>optional string sessionUid = 1;</code>
     */
    private void clearSessionUid() {
      bitField0_ = (bitField0_ & ~0x00000001);
      sessionUid_ = getDefaultInstance().getSessionUid();
    }
    /**
     * <code>optional string sessionUid = 1;</code>
     * @param value The bytes for sessionUid to set.
     */
    private void setSessionUidBytes(
        com.google.protobuf.ByteString value) {
      sessionUid_ = value.toStringUtf8();
      bitField0_ |= 0x00000001;
    }

    public static final int EXERCISEROUTE_FIELD_NUMBER = 2;
    private androidx.health.platform.client.proto.DataProto.DataPoint exerciseRoute_;
    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
     */
    @java.lang.Override
    public boolean hasExerciseRoute() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
     */
    @java.lang.Override
    public androidx.health.platform.client.proto.DataProto.DataPoint getExerciseRoute() {
      return exerciseRoute_ == null ? androidx.health.platform.client.proto.DataProto.DataPoint.getDefaultInstance() : exerciseRoute_;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
     */
    private void setExerciseRoute(androidx.health.platform.client.proto.DataProto.DataPoint value) {
      value.getClass();
  exerciseRoute_ = value;
      bitField0_ |= 0x00000002;
      }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeExerciseRoute(androidx.health.platform.client.proto.DataProto.DataPoint value) {
      value.getClass();
  if (exerciseRoute_ != null &&
          exerciseRoute_ != androidx.health.platform.client.proto.DataProto.DataPoint.getDefaultInstance()) {
        exerciseRoute_ =
          androidx.health.platform.client.proto.DataProto.DataPoint.newBuilder(exerciseRoute_).mergeFrom(value).buildPartial();
      } else {
        exerciseRoute_ = value;
      }
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
     */
    private void clearExerciseRoute() {  exerciseRoute_ = null;
      bitField0_ = (bitField0_ & ~0x00000002);
    }

    public static androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest 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 androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest 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 androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest 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 androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest 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 androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest 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(androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.UpsertExerciseRouteRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.UpsertExerciseRouteRequest)
        androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional string sessionUid = 1;</code>
       * @return Whether the sessionUid field is set.
       */
      @java.lang.Override
      public boolean hasSessionUid() {
        return instance.hasSessionUid();
      }
      /**
       * <code>optional string sessionUid = 1;</code>
       * @return The sessionUid.
       */
      @java.lang.Override
      public java.lang.String getSessionUid() {
        return instance.getSessionUid();
      }
      /**
       * <code>optional string sessionUid = 1;</code>
       * @return The bytes for sessionUid.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSessionUidBytes() {
        return instance.getSessionUidBytes();
      }
      /**
       * <code>optional string sessionUid = 1;</code>
       * @param value The sessionUid to set.
       * @return This builder for chaining.
       */
      public Builder setSessionUid(
          java.lang.String value) {
        copyOnWrite();
        instance.setSessionUid(value);
        return this;
      }
      /**
       * <code>optional string sessionUid = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSessionUid() {
        copyOnWrite();
        instance.clearSessionUid();
        return this;
      }
      /**
       * <code>optional string sessionUid = 1;</code>
       * @param value The bytes for sessionUid to set.
       * @return This builder for chaining.
       */
      public Builder setSessionUidBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setSessionUidBytes(value);
        return this;
      }

      /**
       * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
       */
      @java.lang.Override
      public boolean hasExerciseRoute() {
        return instance.hasExerciseRoute();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
       */
      @java.lang.Override
      public androidx.health.platform.client.proto.DataProto.DataPoint getExerciseRoute() {
        return instance.getExerciseRoute();
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
       */
      public Builder setExerciseRoute(androidx.health.platform.client.proto.DataProto.DataPoint value) {
        copyOnWrite();
        instance.setExerciseRoute(value);
        return this;
        }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
       */
      public Builder setExerciseRoute(
          androidx.health.platform.client.proto.DataProto.DataPoint.Builder builderForValue) {
        copyOnWrite();
        instance.setExerciseRoute(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
       */
      public Builder mergeExerciseRoute(androidx.health.platform.client.proto.DataProto.DataPoint value) {
        copyOnWrite();
        instance.mergeExerciseRoute(value);
        return this;
      }
      /**
       * <code>optional .androidx.health.platform.client.proto.DataPoint exerciseRoute = 2;</code>
       */
      public Builder clearExerciseRoute() {  copyOnWrite();
        instance.clearExerciseRoute();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.UpsertExerciseRouteRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "sessionUid_",
              "exerciseRoute_",
            };
            java.lang.String info =
                "\u0001\u0002\u0000\u0001\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u1008\u0000\u0002" +
                "\u1009\u0001";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest>(
                        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:androidx.health.platform.client.proto.UpsertExerciseRouteRequest)
    private static final androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest DEFAULT_INSTANCE;
    static {
      UpsertExerciseRouteRequest defaultInstance = new UpsertExerciseRouteRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        UpsertExerciseRouteRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.UpsertExerciseRouteRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<UpsertExerciseRouteRequest> PARSER;

    public static com.google.protobuf.Parser<UpsertExerciseRouteRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface ReadExerciseRouteRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:androidx.health.platform.client.proto.ReadExerciseRouteRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional string sessionUid = 1;</code>
     * @return Whether the sessionUid field is set.
     */
    boolean hasSessionUid();
    /**
     * <code>optional string sessionUid = 1;</code>
     * @return The sessionUid.
     */
    java.lang.String getSessionUid();
    /**
     * <code>optional string sessionUid = 1;</code>
     * @return The bytes for sessionUid.
     */
    com.google.protobuf.ByteString
        getSessionUidBytes();
  }
  /**
   * Protobuf type {@code androidx.health.platform.client.proto.ReadExerciseRouteRequest}
   */
  public  static final class ReadExerciseRouteRequest extends
      com.google.protobuf.GeneratedMessageLite<
          ReadExerciseRouteRequest, ReadExerciseRouteRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:androidx.health.platform.client.proto.ReadExerciseRouteRequest)
      ReadExerciseRouteRequestOrBuilder {
    private ReadExerciseRouteRequest() {
      sessionUid_ = "";
    }
    private int bitField0_;
    public static final int SESSIONUID_FIELD_NUMBER = 1;
    private java.lang.String sessionUid_;
    /**
     * <code>optional string sessionUid = 1;</code>
     * @return Whether the sessionUid field is set.
     */
    @java.lang.Override
    public boolean hasSessionUid() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional string sessionUid = 1;</code>
     * @return The sessionUid.
     */
    @java.lang.Override
    public java.lang.String getSessionUid() {
      return sessionUid_;
    }
    /**
     * <code>optional string sessionUid = 1;</code>
     * @return The bytes for sessionUid.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSessionUidBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(sessionUid_);
    }
    /**
     * <code>optional string sessionUid = 1;</code>
     * @param value The sessionUid to set.
     */
    private void setSessionUid(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000001;
      sessionUid_ = value;
    }
    /**
     * <code>optional string sessionUid = 1;</code>
     */
    private void clearSessionUid() {
      bitField0_ = (bitField0_ & ~0x00000001);
      sessionUid_ = getDefaultInstance().getSessionUid();
    }
    /**
     * <code>optional string sessionUid = 1;</code>
     * @param value The bytes for sessionUid to set.
     */
    private void setSessionUidBytes(
        com.google.protobuf.ByteString value) {
      sessionUid_ = value.toStringUtf8();
      bitField0_ |= 0x00000001;
    }

    public static androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest 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 androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest 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 androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest 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 androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest 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 androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest 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(androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code androidx.health.platform.client.proto.ReadExerciseRouteRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:androidx.health.platform.client.proto.ReadExerciseRouteRequest)
        androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequestOrBuilder {
      // Construct using androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional string sessionUid = 1;</code>
       * @return Whether the sessionUid field is set.
       */
      @java.lang.Override
      public boolean hasSessionUid() {
        return instance.hasSessionUid();
      }
      /**
       * <code>optional string sessionUid = 1;</code>
       * @return The sessionUid.
       */
      @java.lang.Override
      public java.lang.String getSessionUid() {
        return instance.getSessionUid();
      }
      /**
       * <code>optional string sessionUid = 1;</code>
       * @return The bytes for sessionUid.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSessionUidBytes() {
        return instance.getSessionUidBytes();
      }
      /**
       * <code>optional string sessionUid = 1;</code>
       * @param value The sessionUid to set.
       * @return This builder for chaining.
       */
      public Builder setSessionUid(
          java.lang.String value) {
        copyOnWrite();
        instance.setSessionUid(value);
        return this;
      }
      /**
       * <code>optional string sessionUid = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSessionUid() {
        copyOnWrite();
        instance.clearSessionUid();
        return this;
      }
      /**
       * <code>optional string sessionUid = 1;</code>
       * @param value The bytes for sessionUid to set.
       * @return This builder for chaining.
       */
      public Builder setSessionUidBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setSessionUidBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:androidx.health.platform.client.proto.ReadExerciseRouteRequest)
    }
    @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 androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "sessionUid_",
            };
            java.lang.String info =
                "\u0001\u0001\u0000\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0001\u1008\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest>(
                        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:androidx.health.platform.client.proto.ReadExerciseRouteRequest)
    private static final androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest DEFAULT_INSTANCE;
    static {
      ReadExerciseRouteRequest defaultInstance = new ReadExerciseRouteRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        ReadExerciseRouteRequest.class, defaultInstance);
    }

    public static androidx.health.platform.client.proto.RequestProto.ReadExerciseRouteRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<ReadExerciseRouteRequest> PARSER;

    public static com.google.protobuf.Parser<ReadExerciseRouteRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}