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

package nodomain.freeyourgadget.gadgetbridge.proto.igpsport;

public final class Media {
  private Media() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  /**
   * Protobuf enum {@code REMOTE_CMD}
   */
  public enum REMOTE_CMD
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>PLAY = 0;</code>
     */
    PLAY(0),
    /**
     * <code>PAUSE = 1;</code>
     */
    PAUSE(1),
    /**
     * <code>TOGGLE_PLAY_PAUSE = 2;</code>
     */
    TOGGLE_PLAY_PAUSE(2),
    /**
     * <code>NEXT_TRACK = 3;</code>
     */
    NEXT_TRACK(3),
    /**
     * <code>PREVIOUS_TRACK = 4;</code>
     */
    PREVIOUS_TRACK(4),
    /**
     * <code>VOLUME_UP = 5;</code>
     */
    VOLUME_UP(5),
    /**
     * <code>VOLUME_DOWN = 6;</code>
     */
    VOLUME_DOWN(6),
    ;

    /**
     * <code>PLAY = 0;</code>
     */
    public static final int PLAY_VALUE = 0;
    /**
     * <code>PAUSE = 1;</code>
     */
    public static final int PAUSE_VALUE = 1;
    /**
     * <code>TOGGLE_PLAY_PAUSE = 2;</code>
     */
    public static final int TOGGLE_PLAY_PAUSE_VALUE = 2;
    /**
     * <code>NEXT_TRACK = 3;</code>
     */
    public static final int NEXT_TRACK_VALUE = 3;
    /**
     * <code>PREVIOUS_TRACK = 4;</code>
     */
    public static final int PREVIOUS_TRACK_VALUE = 4;
    /**
     * <code>VOLUME_UP = 5;</code>
     */
    public static final int VOLUME_UP_VALUE = 5;
    /**
     * <code>VOLUME_DOWN = 6;</code>
     */
    public static final int VOLUME_DOWN_VALUE = 6;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static REMOTE_CMD valueOf(int value) {
      return forNumber(value);
    }

    public static REMOTE_CMD forNumber(int value) {
      switch (value) {
        case 0: return PLAY;
        case 1: return PAUSE;
        case 2: return TOGGLE_PLAY_PAUSE;
        case 3: return NEXT_TRACK;
        case 4: return PREVIOUS_TRACK;
        case 5: return VOLUME_UP;
        case 6: return VOLUME_DOWN;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<REMOTE_CMD>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        REMOTE_CMD> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<REMOTE_CMD>() {
            @java.lang.Override
            public REMOTE_CMD findValueByNumber(int number) {
              return REMOTE_CMD.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return REMOTE_CMDVerifier.INSTANCE;
    }

    private static final class REMOTE_CMDVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new REMOTE_CMDVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return REMOTE_CMD.forNumber(number) != null;
            }
          };

    private final int value;

    private REMOTE_CMD(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:REMOTE_CMD)
  }

  /**
   * Protobuf enum {@code PLAYER_STATE}
   */
  public enum PLAYER_STATE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>PAUSED = 0;</code>
     */
    PAUSED(0),
    /**
     * <code>PLAYING = 1;</code>
     */
    PLAYING(1),
    /**
     * <code>REWINDING = 2;</code>
     */
    REWINDING(2),
    /**
     * <code>FORWARDING = 3;</code>
     */
    FORWARDING(3),
    ;

    /**
     * <code>PAUSED = 0;</code>
     */
    public static final int PAUSED_VALUE = 0;
    /**
     * <code>PLAYING = 1;</code>
     */
    public static final int PLAYING_VALUE = 1;
    /**
     * <code>REWINDING = 2;</code>
     */
    public static final int REWINDING_VALUE = 2;
    /**
     * <code>FORWARDING = 3;</code>
     */
    public static final int FORWARDING_VALUE = 3;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static PLAYER_STATE valueOf(int value) {
      return forNumber(value);
    }

    public static PLAYER_STATE forNumber(int value) {
      switch (value) {
        case 0: return PAUSED;
        case 1: return PLAYING;
        case 2: return REWINDING;
        case 3: return FORWARDING;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<PLAYER_STATE>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        PLAYER_STATE> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<PLAYER_STATE>() {
            @java.lang.Override
            public PLAYER_STATE findValueByNumber(int number) {
              return PLAYER_STATE.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return PLAYER_STATEVerifier.INSTANCE;
    }

    private static final class PLAYER_STATEVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new PLAYER_STATEVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return PLAYER_STATE.forNumber(number) != null;
            }
          };

    private final int value;

    private PLAYER_STATE(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:PLAYER_STATE)
  }

  /**
   * Protobuf enum {@code QUENE_PLAY_MODE}
   */
  public enum QUENE_PLAY_MODE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>ONE_REPEAT = 0;</code>
     */
    ONE_REPEAT(0),
    /**
     * <code>ALL_REPEAT = 1;</code>
     */
    ALL_REPEAT(1),
    /**
     * <code>SHUFFLE = 2;</code>
     */
    SHUFFLE(2),
    ;

    /**
     * <code>ONE_REPEAT = 0;</code>
     */
    public static final int ONE_REPEAT_VALUE = 0;
    /**
     * <code>ALL_REPEAT = 1;</code>
     */
    public static final int ALL_REPEAT_VALUE = 1;
    /**
     * <code>SHUFFLE = 2;</code>
     */
    public static final int SHUFFLE_VALUE = 2;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static QUENE_PLAY_MODE valueOf(int value) {
      return forNumber(value);
    }

    public static QUENE_PLAY_MODE forNumber(int value) {
      switch (value) {
        case 0: return ONE_REPEAT;
        case 1: return ALL_REPEAT;
        case 2: return SHUFFLE;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<QUENE_PLAY_MODE>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        QUENE_PLAY_MODE> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<QUENE_PLAY_MODE>() {
            @java.lang.Override
            public QUENE_PLAY_MODE findValueByNumber(int number) {
              return QUENE_PLAY_MODE.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return QUENE_PLAY_MODEVerifier.INSTANCE;
    }

    private static final class QUENE_PLAY_MODEVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new QUENE_PLAY_MODEVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return QUENE_PLAY_MODE.forNumber(number) != null;
            }
          };

    private final int value;

    private QUENE_PLAY_MODE(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:QUENE_PLAY_MODE)
  }

  /**
   * Protobuf enum {@code MEDIA_STATUS}
   */
  public enum MEDIA_STATUS
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>INVALID_STATUS = 0;</code>
     */
    INVALID_STATUS(0),
    /**
     * <code>NO_ACCESS_STATUS = 1;</code>
     */
    NO_ACCESS_STATUS(1),
    ;

    /**
     * <code>INVALID_STATUS = 0;</code>
     */
    public static final int INVALID_STATUS_VALUE = 0;
    /**
     * <code>NO_ACCESS_STATUS = 1;</code>
     */
    public static final int NO_ACCESS_STATUS_VALUE = 1;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static MEDIA_STATUS valueOf(int value) {
      return forNumber(value);
    }

    public static MEDIA_STATUS forNumber(int value) {
      switch (value) {
        case 0: return INVALID_STATUS;
        case 1: return NO_ACCESS_STATUS;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<MEDIA_STATUS>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        MEDIA_STATUS> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<MEDIA_STATUS>() {
            @java.lang.Override
            public MEDIA_STATUS findValueByNumber(int number) {
              return MEDIA_STATUS.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return MEDIA_STATUSVerifier.INSTANCE;
    }

    private static final class MEDIA_STATUSVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new MEDIA_STATUSVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return MEDIA_STATUS.forNumber(number) != null;
            }
          };

    private final int value;

    private MEDIA_STATUS(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:MEDIA_STATUS)
  }

  public interface player_messageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:player_message)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional string player_name = 1;</code>
     * @return Whether the playerName field is set.
     */
    boolean hasPlayerName();
    /**
     * <code>optional string player_name = 1;</code>
     * @return The playerName.
     */
    java.lang.String getPlayerName();
    /**
     * <code>optional string player_name = 1;</code>
     * @return The bytes for playerName.
     */
    com.google.protobuf.ByteString
        getPlayerNameBytes();

    /**
     * <code>optional .PLAYER_STATE player_state = 2;</code>
     * @return Whether the playerState field is set.
     */
    boolean hasPlayerState();
    /**
     * <code>optional .PLAYER_STATE player_state = 2;</code>
     * @return The playerState.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.PLAYER_STATE getPlayerState();

    /**
     * <code>optional uint32 player_rate = 3;</code>
     * @return Whether the playerRate field is set.
     */
    boolean hasPlayerRate();
    /**
     * <code>optional uint32 player_rate = 3;</code>
     * @return The playerRate.
     */
    int getPlayerRate();

    /**
     * <code>optional uint32 elapsed_time = 4;</code>
     * @return Whether the elapsedTime field is set.
     */
    boolean hasElapsedTime();
    /**
     * <code>optional uint32 elapsed_time = 4;</code>
     * @return The elapsedTime.
     */
    int getElapsedTime();

    /**
     * <code>optional uint32 volume_max = 5;</code>
     * @return Whether the volumeMax field is set.
     */
    boolean hasVolumeMax();
    /**
     * <code>optional uint32 volume_max = 5;</code>
     * @return The volumeMax.
     */
    int getVolumeMax();

    /**
     * <code>optional uint32 volume_cur = 6;</code>
     * @return Whether the volumeCur field is set.
     */
    boolean hasVolumeCur();
    /**
     * <code>optional uint32 volume_cur = 6;</code>
     * @return The volumeCur.
     */
    int getVolumeCur();
  }
  /**
   * Protobuf type {@code player_message}
   */
  public  static final class player_message extends
      com.google.protobuf.GeneratedMessageLite<
          player_message, player_message.Builder> implements
      // @@protoc_insertion_point(message_implements:player_message)
      player_messageOrBuilder {
    private player_message() {
      playerName_ = "";
    }
    private int bitField0_;
    public static final int PLAYER_NAME_FIELD_NUMBER = 1;
    private java.lang.String playerName_;
    /**
     * <code>optional string player_name = 1;</code>
     * @return Whether the playerName field is set.
     */
    @java.lang.Override
    public boolean hasPlayerName() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional string player_name = 1;</code>
     * @return The playerName.
     */
    @java.lang.Override
    public java.lang.String getPlayerName() {
      return playerName_;
    }
    /**
     * <code>optional string player_name = 1;</code>
     * @return The bytes for playerName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPlayerNameBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(playerName_);
    }
    /**
     * <code>optional string player_name = 1;</code>
     * @param value The playerName to set.
     */
    private void setPlayerName(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000001;
      playerName_ = value;
    }
    /**
     * <code>optional string player_name = 1;</code>
     */
    private void clearPlayerName() {
      bitField0_ = (bitField0_ & ~0x00000001);
      playerName_ = getDefaultInstance().getPlayerName();
    }
    /**
     * <code>optional string player_name = 1;</code>
     * @param value The bytes for playerName to set.
     */
    private void setPlayerNameBytes(
        com.google.protobuf.ByteString value) {
      playerName_ = value.toStringUtf8();
      bitField0_ |= 0x00000001;
    }

    public static final int PLAYER_STATE_FIELD_NUMBER = 2;
    private int playerState_;
    /**
     * <code>optional .PLAYER_STATE player_state = 2;</code>
     * @return Whether the playerState field is set.
     */
    @java.lang.Override
    public boolean hasPlayerState() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional .PLAYER_STATE player_state = 2;</code>
     * @return The playerState.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.PLAYER_STATE getPlayerState() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.PLAYER_STATE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.PLAYER_STATE.forNumber(playerState_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.PLAYER_STATE.PAUSED : result;
    }
    /**
     * <code>optional .PLAYER_STATE player_state = 2;</code>
     * @param value The playerState to set.
     */
    private void setPlayerState(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.PLAYER_STATE value) {
      playerState_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>optional .PLAYER_STATE player_state = 2;</code>
     */
    private void clearPlayerState() {
      bitField0_ = (bitField0_ & ~0x00000002);
      playerState_ = 0;
    }

    public static final int PLAYER_RATE_FIELD_NUMBER = 3;
    private int playerRate_;
    /**
     * <code>optional uint32 player_rate = 3;</code>
     * @return Whether the playerRate field is set.
     */
    @java.lang.Override
    public boolean hasPlayerRate() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional uint32 player_rate = 3;</code>
     * @return The playerRate.
     */
    @java.lang.Override
    public int getPlayerRate() {
      return playerRate_;
    }
    /**
     * <code>optional uint32 player_rate = 3;</code>
     * @param value The playerRate to set.
     */
    private void setPlayerRate(int value) {
      bitField0_ |= 0x00000004;
      playerRate_ = value;
    }
    /**
     * <code>optional uint32 player_rate = 3;</code>
     */
    private void clearPlayerRate() {
      bitField0_ = (bitField0_ & ~0x00000004);
      playerRate_ = 0;
    }

    public static final int ELAPSED_TIME_FIELD_NUMBER = 4;
    private int elapsedTime_;
    /**
     * <code>optional uint32 elapsed_time = 4;</code>
     * @return Whether the elapsedTime field is set.
     */
    @java.lang.Override
    public boolean hasElapsedTime() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional uint32 elapsed_time = 4;</code>
     * @return The elapsedTime.
     */
    @java.lang.Override
    public int getElapsedTime() {
      return elapsedTime_;
    }
    /**
     * <code>optional uint32 elapsed_time = 4;</code>
     * @param value The elapsedTime to set.
     */
    private void setElapsedTime(int value) {
      bitField0_ |= 0x00000008;
      elapsedTime_ = value;
    }
    /**
     * <code>optional uint32 elapsed_time = 4;</code>
     */
    private void clearElapsedTime() {
      bitField0_ = (bitField0_ & ~0x00000008);
      elapsedTime_ = 0;
    }

    public static final int VOLUME_MAX_FIELD_NUMBER = 5;
    private int volumeMax_;
    /**
     * <code>optional uint32 volume_max = 5;</code>
     * @return Whether the volumeMax field is set.
     */
    @java.lang.Override
    public boolean hasVolumeMax() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional uint32 volume_max = 5;</code>
     * @return The volumeMax.
     */
    @java.lang.Override
    public int getVolumeMax() {
      return volumeMax_;
    }
    /**
     * <code>optional uint32 volume_max = 5;</code>
     * @param value The volumeMax to set.
     */
    private void setVolumeMax(int value) {
      bitField0_ |= 0x00000010;
      volumeMax_ = value;
    }
    /**
     * <code>optional uint32 volume_max = 5;</code>
     */
    private void clearVolumeMax() {
      bitField0_ = (bitField0_ & ~0x00000010);
      volumeMax_ = 0;
    }

    public static final int VOLUME_CUR_FIELD_NUMBER = 6;
    private int volumeCur_;
    /**
     * <code>optional uint32 volume_cur = 6;</code>
     * @return Whether the volumeCur field is set.
     */
    @java.lang.Override
    public boolean hasVolumeCur() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional uint32 volume_cur = 6;</code>
     * @return The volumeCur.
     */
    @java.lang.Override
    public int getVolumeCur() {
      return volumeCur_;
    }
    /**
     * <code>optional uint32 volume_cur = 6;</code>
     * @param value The volumeCur to set.
     */
    private void setVolumeCur(int value) {
      bitField0_ |= 0x00000020;
      volumeCur_ = value;
    }
    /**
     * <code>optional uint32 volume_cur = 6;</code>
     */
    private void clearVolumeCur() {
      bitField0_ = (bitField0_ & ~0x00000020);
      volumeCur_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message 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(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code player_message}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message, Builder> implements
        // @@protoc_insertion_point(builder_implements:player_message)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_messageOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional string player_name = 1;</code>
       * @return Whether the playerName field is set.
       */
      @java.lang.Override
      public boolean hasPlayerName() {
        return instance.hasPlayerName();
      }
      /**
       * <code>optional string player_name = 1;</code>
       * @return The playerName.
       */
      @java.lang.Override
      public java.lang.String getPlayerName() {
        return instance.getPlayerName();
      }
      /**
       * <code>optional string player_name = 1;</code>
       * @return The bytes for playerName.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getPlayerNameBytes() {
        return instance.getPlayerNameBytes();
      }
      /**
       * <code>optional string player_name = 1;</code>
       * @param value The playerName to set.
       * @return This builder for chaining.
       */
      public Builder setPlayerName(
          java.lang.String value) {
        copyOnWrite();
        instance.setPlayerName(value);
        return this;
      }
      /**
       * <code>optional string player_name = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearPlayerName() {
        copyOnWrite();
        instance.clearPlayerName();
        return this;
      }
      /**
       * <code>optional string player_name = 1;</code>
       * @param value The bytes for playerName to set.
       * @return This builder for chaining.
       */
      public Builder setPlayerNameBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setPlayerNameBytes(value);
        return this;
      }

      /**
       * <code>optional .PLAYER_STATE player_state = 2;</code>
       * @return Whether the playerState field is set.
       */
      @java.lang.Override
      public boolean hasPlayerState() {
        return instance.hasPlayerState();
      }
      /**
       * <code>optional .PLAYER_STATE player_state = 2;</code>
       * @return The playerState.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.PLAYER_STATE getPlayerState() {
        return instance.getPlayerState();
      }
      /**
       * <code>optional .PLAYER_STATE player_state = 2;</code>
       * @param value The enum numeric value on the wire for playerState to set.
       * @return This builder for chaining.
       */
      public Builder setPlayerState(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.PLAYER_STATE value) {
        copyOnWrite();
        instance.setPlayerState(value);
        return this;
      }
      /**
       * <code>optional .PLAYER_STATE player_state = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearPlayerState() {
        copyOnWrite();
        instance.clearPlayerState();
        return this;
      }

      /**
       * <code>optional uint32 player_rate = 3;</code>
       * @return Whether the playerRate field is set.
       */
      @java.lang.Override
      public boolean hasPlayerRate() {
        return instance.hasPlayerRate();
      }
      /**
       * <code>optional uint32 player_rate = 3;</code>
       * @return The playerRate.
       */
      @java.lang.Override
      public int getPlayerRate() {
        return instance.getPlayerRate();
      }
      /**
       * <code>optional uint32 player_rate = 3;</code>
       * @param value The playerRate to set.
       * @return This builder for chaining.
       */
      public Builder setPlayerRate(int value) {
        copyOnWrite();
        instance.setPlayerRate(value);
        return this;
      }
      /**
       * <code>optional uint32 player_rate = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearPlayerRate() {
        copyOnWrite();
        instance.clearPlayerRate();
        return this;
      }

      /**
       * <code>optional uint32 elapsed_time = 4;</code>
       * @return Whether the elapsedTime field is set.
       */
      @java.lang.Override
      public boolean hasElapsedTime() {
        return instance.hasElapsedTime();
      }
      /**
       * <code>optional uint32 elapsed_time = 4;</code>
       * @return The elapsedTime.
       */
      @java.lang.Override
      public int getElapsedTime() {
        return instance.getElapsedTime();
      }
      /**
       * <code>optional uint32 elapsed_time = 4;</code>
       * @param value The elapsedTime to set.
       * @return This builder for chaining.
       */
      public Builder setElapsedTime(int value) {
        copyOnWrite();
        instance.setElapsedTime(value);
        return this;
      }
      /**
       * <code>optional uint32 elapsed_time = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearElapsedTime() {
        copyOnWrite();
        instance.clearElapsedTime();
        return this;
      }

      /**
       * <code>optional uint32 volume_max = 5;</code>
       * @return Whether the volumeMax field is set.
       */
      @java.lang.Override
      public boolean hasVolumeMax() {
        return instance.hasVolumeMax();
      }
      /**
       * <code>optional uint32 volume_max = 5;</code>
       * @return The volumeMax.
       */
      @java.lang.Override
      public int getVolumeMax() {
        return instance.getVolumeMax();
      }
      /**
       * <code>optional uint32 volume_max = 5;</code>
       * @param value The volumeMax to set.
       * @return This builder for chaining.
       */
      public Builder setVolumeMax(int value) {
        copyOnWrite();
        instance.setVolumeMax(value);
        return this;
      }
      /**
       * <code>optional uint32 volume_max = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearVolumeMax() {
        copyOnWrite();
        instance.clearVolumeMax();
        return this;
      }

      /**
       * <code>optional uint32 volume_cur = 6;</code>
       * @return Whether the volumeCur field is set.
       */
      @java.lang.Override
      public boolean hasVolumeCur() {
        return instance.hasVolumeCur();
      }
      /**
       * <code>optional uint32 volume_cur = 6;</code>
       * @return The volumeCur.
       */
      @java.lang.Override
      public int getVolumeCur() {
        return instance.getVolumeCur();
      }
      /**
       * <code>optional uint32 volume_cur = 6;</code>
       * @param value The volumeCur to set.
       * @return This builder for chaining.
       */
      public Builder setVolumeCur(int value) {
        copyOnWrite();
        instance.setVolumeCur(value);
        return this;
      }
      /**
       * <code>optional uint32 volume_cur = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearVolumeCur() {
        copyOnWrite();
        instance.clearVolumeCur();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:player_message)
    }
    @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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "playerName_",
              "playerState_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.PLAYER_STATE.internalGetVerifier(),
              "playerRate_",
              "elapsedTime_",
              "volumeMax_",
              "volumeCur_",
            };
            java.lang.String info =
                "\u0001\u0006\u0000\u0001\u0001\u0006\u0006\u0000\u0000\u0000\u0001\u1008\u0000\u0002" +
                "\u100c\u0001\u0003\u100b\u0002\u0004\u100b\u0003\u0005\u100b\u0004\u0006\u100b\u0005" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message>(
                        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:player_message)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message DEFAULT_INSTANCE;
    static {
      player_message defaultInstance = new player_message();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        player_message.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface queue_messageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:queue_message)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional uint32 queue_index = 1;</code>
     * @return Whether the queueIndex field is set.
     */
    boolean hasQueueIndex();
    /**
     * <code>optional uint32 queue_index = 1;</code>
     * @return The queueIndex.
     */
    int getQueueIndex();

    /**
     * <code>optional uint32 queue_count = 2;</code>
     * @return Whether the queueCount field is set.
     */
    boolean hasQueueCount();
    /**
     * <code>optional uint32 queue_count = 2;</code>
     * @return The queueCount.
     */
    int getQueueCount();

    /**
     * <code>optional .QUENE_PLAY_MODE mode = 3;</code>
     * @return Whether the mode field is set.
     */
    boolean hasMode();
    /**
     * <code>optional .QUENE_PLAY_MODE mode = 3;</code>
     * @return The mode.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.QUENE_PLAY_MODE getMode();
  }
  /**
   * Protobuf type {@code queue_message}
   */
  public  static final class queue_message extends
      com.google.protobuf.GeneratedMessageLite<
          queue_message, queue_message.Builder> implements
      // @@protoc_insertion_point(message_implements:queue_message)
      queue_messageOrBuilder {
    private queue_message() {
    }
    private int bitField0_;
    public static final int QUEUE_INDEX_FIELD_NUMBER = 1;
    private int queueIndex_;
    /**
     * <code>optional uint32 queue_index = 1;</code>
     * @return Whether the queueIndex field is set.
     */
    @java.lang.Override
    public boolean hasQueueIndex() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional uint32 queue_index = 1;</code>
     * @return The queueIndex.
     */
    @java.lang.Override
    public int getQueueIndex() {
      return queueIndex_;
    }
    /**
     * <code>optional uint32 queue_index = 1;</code>
     * @param value The queueIndex to set.
     */
    private void setQueueIndex(int value) {
      bitField0_ |= 0x00000001;
      queueIndex_ = value;
    }
    /**
     * <code>optional uint32 queue_index = 1;</code>
     */
    private void clearQueueIndex() {
      bitField0_ = (bitField0_ & ~0x00000001);
      queueIndex_ = 0;
    }

    public static final int QUEUE_COUNT_FIELD_NUMBER = 2;
    private int queueCount_;
    /**
     * <code>optional uint32 queue_count = 2;</code>
     * @return Whether the queueCount field is set.
     */
    @java.lang.Override
    public boolean hasQueueCount() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional uint32 queue_count = 2;</code>
     * @return The queueCount.
     */
    @java.lang.Override
    public int getQueueCount() {
      return queueCount_;
    }
    /**
     * <code>optional uint32 queue_count = 2;</code>
     * @param value The queueCount to set.
     */
    private void setQueueCount(int value) {
      bitField0_ |= 0x00000002;
      queueCount_ = value;
    }
    /**
     * <code>optional uint32 queue_count = 2;</code>
     */
    private void clearQueueCount() {
      bitField0_ = (bitField0_ & ~0x00000002);
      queueCount_ = 0;
    }

    public static final int MODE_FIELD_NUMBER = 3;
    private int mode_;
    /**
     * <code>optional .QUENE_PLAY_MODE mode = 3;</code>
     * @return Whether the mode field is set.
     */
    @java.lang.Override
    public boolean hasMode() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .QUENE_PLAY_MODE mode = 3;</code>
     * @return The mode.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.QUENE_PLAY_MODE getMode() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.QUENE_PLAY_MODE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.QUENE_PLAY_MODE.forNumber(mode_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.QUENE_PLAY_MODE.ONE_REPEAT : result;
    }
    /**
     * <code>optional .QUENE_PLAY_MODE mode = 3;</code>
     * @param value The mode to set.
     */
    private void setMode(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.QUENE_PLAY_MODE value) {
      mode_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>optional .QUENE_PLAY_MODE mode = 3;</code>
     */
    private void clearMode() {
      bitField0_ = (bitField0_ & ~0x00000004);
      mode_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message 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(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code queue_message}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message, Builder> implements
        // @@protoc_insertion_point(builder_implements:queue_message)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_messageOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional uint32 queue_index = 1;</code>
       * @return Whether the queueIndex field is set.
       */
      @java.lang.Override
      public boolean hasQueueIndex() {
        return instance.hasQueueIndex();
      }
      /**
       * <code>optional uint32 queue_index = 1;</code>
       * @return The queueIndex.
       */
      @java.lang.Override
      public int getQueueIndex() {
        return instance.getQueueIndex();
      }
      /**
       * <code>optional uint32 queue_index = 1;</code>
       * @param value The queueIndex to set.
       * @return This builder for chaining.
       */
      public Builder setQueueIndex(int value) {
        copyOnWrite();
        instance.setQueueIndex(value);
        return this;
      }
      /**
       * <code>optional uint32 queue_index = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearQueueIndex() {
        copyOnWrite();
        instance.clearQueueIndex();
        return this;
      }

      /**
       * <code>optional uint32 queue_count = 2;</code>
       * @return Whether the queueCount field is set.
       */
      @java.lang.Override
      public boolean hasQueueCount() {
        return instance.hasQueueCount();
      }
      /**
       * <code>optional uint32 queue_count = 2;</code>
       * @return The queueCount.
       */
      @java.lang.Override
      public int getQueueCount() {
        return instance.getQueueCount();
      }
      /**
       * <code>optional uint32 queue_count = 2;</code>
       * @param value The queueCount to set.
       * @return This builder for chaining.
       */
      public Builder setQueueCount(int value) {
        copyOnWrite();
        instance.setQueueCount(value);
        return this;
      }
      /**
       * <code>optional uint32 queue_count = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearQueueCount() {
        copyOnWrite();
        instance.clearQueueCount();
        return this;
      }

      /**
       * <code>optional .QUENE_PLAY_MODE mode = 3;</code>
       * @return Whether the mode field is set.
       */
      @java.lang.Override
      public boolean hasMode() {
        return instance.hasMode();
      }
      /**
       * <code>optional .QUENE_PLAY_MODE mode = 3;</code>
       * @return The mode.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.QUENE_PLAY_MODE getMode() {
        return instance.getMode();
      }
      /**
       * <code>optional .QUENE_PLAY_MODE mode = 3;</code>
       * @param value The enum numeric value on the wire for mode to set.
       * @return This builder for chaining.
       */
      public Builder setMode(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.QUENE_PLAY_MODE value) {
        copyOnWrite();
        instance.setMode(value);
        return this;
      }
      /**
       * <code>optional .QUENE_PLAY_MODE mode = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearMode() {
        copyOnWrite();
        instance.clearMode();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:queue_message)
    }
    @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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "queueIndex_",
              "queueCount_",
              "mode_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.QUENE_PLAY_MODE.internalGetVerifier(),
            };
            java.lang.String info =
                "\u0001\u0003\u0000\u0001\u0001\u0003\u0003\u0000\u0000\u0000\u0001\u100b\u0000\u0002" +
                "\u100b\u0001\u0003\u100c\u0002";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message>(
                        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:queue_message)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message DEFAULT_INSTANCE;
    static {
      queue_message defaultInstance = new queue_message();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        queue_message.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface track_messageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:track_message)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional string artist = 1;</code>
     * @return Whether the artist field is set.
     */
    boolean hasArtist();
    /**
     * <code>optional string artist = 1;</code>
     * @return The artist.
     */
    java.lang.String getArtist();
    /**
     * <code>optional string artist = 1;</code>
     * @return The bytes for artist.
     */
    com.google.protobuf.ByteString
        getArtistBytes();

    /**
     * <code>optional string album = 2;</code>
     * @return Whether the album field is set.
     */
    boolean hasAlbum();
    /**
     * <code>optional string album = 2;</code>
     * @return The album.
     */
    java.lang.String getAlbum();
    /**
     * <code>optional string album = 2;</code>
     * @return The bytes for album.
     */
    com.google.protobuf.ByteString
        getAlbumBytes();

    /**
     * <code>optional string title = 3;</code>
     * @return Whether the title field is set.
     */
    boolean hasTitle();
    /**
     * <code>optional string title = 3;</code>
     * @return The title.
     */
    java.lang.String getTitle();
    /**
     * <code>optional string title = 3;</code>
     * @return The bytes for title.
     */
    com.google.protobuf.ByteString
        getTitleBytes();

    /**
     * <code>optional uint32 total_time = 4;</code>
     * @return Whether the totalTime field is set.
     */
    boolean hasTotalTime();
    /**
     * <code>optional uint32 total_time = 4;</code>
     * @return The totalTime.
     */
    int getTotalTime();
  }
  /**
   * Protobuf type {@code track_message}
   */
  public  static final class track_message extends
      com.google.protobuf.GeneratedMessageLite<
          track_message, track_message.Builder> implements
      // @@protoc_insertion_point(message_implements:track_message)
      track_messageOrBuilder {
    private track_message() {
      artist_ = "";
      album_ = "";
      title_ = "";
    }
    private int bitField0_;
    public static final int ARTIST_FIELD_NUMBER = 1;
    private java.lang.String artist_;
    /**
     * <code>optional string artist = 1;</code>
     * @return Whether the artist field is set.
     */
    @java.lang.Override
    public boolean hasArtist() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional string artist = 1;</code>
     * @return The artist.
     */
    @java.lang.Override
    public java.lang.String getArtist() {
      return artist_;
    }
    /**
     * <code>optional string artist = 1;</code>
     * @return The bytes for artist.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getArtistBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(artist_);
    }
    /**
     * <code>optional string artist = 1;</code>
     * @param value The artist to set.
     */
    private void setArtist(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000001;
      artist_ = value;
    }
    /**
     * <code>optional string artist = 1;</code>
     */
    private void clearArtist() {
      bitField0_ = (bitField0_ & ~0x00000001);
      artist_ = getDefaultInstance().getArtist();
    }
    /**
     * <code>optional string artist = 1;</code>
     * @param value The bytes for artist to set.
     */
    private void setArtistBytes(
        com.google.protobuf.ByteString value) {
      artist_ = value.toStringUtf8();
      bitField0_ |= 0x00000001;
    }

    public static final int ALBUM_FIELD_NUMBER = 2;
    private java.lang.String album_;
    /**
     * <code>optional string album = 2;</code>
     * @return Whether the album field is set.
     */
    @java.lang.Override
    public boolean hasAlbum() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional string album = 2;</code>
     * @return The album.
     */
    @java.lang.Override
    public java.lang.String getAlbum() {
      return album_;
    }
    /**
     * <code>optional string album = 2;</code>
     * @return The bytes for album.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAlbumBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(album_);
    }
    /**
     * <code>optional string album = 2;</code>
     * @param value The album to set.
     */
    private void setAlbum(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000002;
      album_ = value;
    }
    /**
     * <code>optional string album = 2;</code>
     */
    private void clearAlbum() {
      bitField0_ = (bitField0_ & ~0x00000002);
      album_ = getDefaultInstance().getAlbum();
    }
    /**
     * <code>optional string album = 2;</code>
     * @param value The bytes for album to set.
     */
    private void setAlbumBytes(
        com.google.protobuf.ByteString value) {
      album_ = value.toStringUtf8();
      bitField0_ |= 0x00000002;
    }

    public static final int TITLE_FIELD_NUMBER = 3;
    private java.lang.String title_;
    /**
     * <code>optional string title = 3;</code>
     * @return Whether the title field is set.
     */
    @java.lang.Override
    public boolean hasTitle() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional string title = 3;</code>
     * @return The title.
     */
    @java.lang.Override
    public java.lang.String getTitle() {
      return title_;
    }
    /**
     * <code>optional string title = 3;</code>
     * @return The bytes for title.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTitleBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(title_);
    }
    /**
     * <code>optional string title = 3;</code>
     * @param value The title to set.
     */
    private void setTitle(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000004;
      title_ = value;
    }
    /**
     * <code>optional string title = 3;</code>
     */
    private void clearTitle() {
      bitField0_ = (bitField0_ & ~0x00000004);
      title_ = getDefaultInstance().getTitle();
    }
    /**
     * <code>optional string title = 3;</code>
     * @param value The bytes for title to set.
     */
    private void setTitleBytes(
        com.google.protobuf.ByteString value) {
      title_ = value.toStringUtf8();
      bitField0_ |= 0x00000004;
    }

    public static final int TOTAL_TIME_FIELD_NUMBER = 4;
    private int totalTime_;
    /**
     * <code>optional uint32 total_time = 4;</code>
     * @return Whether the totalTime field is set.
     */
    @java.lang.Override
    public boolean hasTotalTime() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional uint32 total_time = 4;</code>
     * @return The totalTime.
     */
    @java.lang.Override
    public int getTotalTime() {
      return totalTime_;
    }
    /**
     * <code>optional uint32 total_time = 4;</code>
     * @param value The totalTime to set.
     */
    private void setTotalTime(int value) {
      bitField0_ |= 0x00000008;
      totalTime_ = value;
    }
    /**
     * <code>optional uint32 total_time = 4;</code>
     */
    private void clearTotalTime() {
      bitField0_ = (bitField0_ & ~0x00000008);
      totalTime_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message 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(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code track_message}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message, Builder> implements
        // @@protoc_insertion_point(builder_implements:track_message)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_messageOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional string artist = 1;</code>
       * @return Whether the artist field is set.
       */
      @java.lang.Override
      public boolean hasArtist() {
        return instance.hasArtist();
      }
      /**
       * <code>optional string artist = 1;</code>
       * @return The artist.
       */
      @java.lang.Override
      public java.lang.String getArtist() {
        return instance.getArtist();
      }
      /**
       * <code>optional string artist = 1;</code>
       * @return The bytes for artist.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getArtistBytes() {
        return instance.getArtistBytes();
      }
      /**
       * <code>optional string artist = 1;</code>
       * @param value The artist to set.
       * @return This builder for chaining.
       */
      public Builder setArtist(
          java.lang.String value) {
        copyOnWrite();
        instance.setArtist(value);
        return this;
      }
      /**
       * <code>optional string artist = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearArtist() {
        copyOnWrite();
        instance.clearArtist();
        return this;
      }
      /**
       * <code>optional string artist = 1;</code>
       * @param value The bytes for artist to set.
       * @return This builder for chaining.
       */
      public Builder setArtistBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setArtistBytes(value);
        return this;
      }

      /**
       * <code>optional string album = 2;</code>
       * @return Whether the album field is set.
       */
      @java.lang.Override
      public boolean hasAlbum() {
        return instance.hasAlbum();
      }
      /**
       * <code>optional string album = 2;</code>
       * @return The album.
       */
      @java.lang.Override
      public java.lang.String getAlbum() {
        return instance.getAlbum();
      }
      /**
       * <code>optional string album = 2;</code>
       * @return The bytes for album.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getAlbumBytes() {
        return instance.getAlbumBytes();
      }
      /**
       * <code>optional string album = 2;</code>
       * @param value The album to set.
       * @return This builder for chaining.
       */
      public Builder setAlbum(
          java.lang.String value) {
        copyOnWrite();
        instance.setAlbum(value);
        return this;
      }
      /**
       * <code>optional string album = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearAlbum() {
        copyOnWrite();
        instance.clearAlbum();
        return this;
      }
      /**
       * <code>optional string album = 2;</code>
       * @param value The bytes for album to set.
       * @return This builder for chaining.
       */
      public Builder setAlbumBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setAlbumBytes(value);
        return this;
      }

      /**
       * <code>optional string title = 3;</code>
       * @return Whether the title field is set.
       */
      @java.lang.Override
      public boolean hasTitle() {
        return instance.hasTitle();
      }
      /**
       * <code>optional string title = 3;</code>
       * @return The title.
       */
      @java.lang.Override
      public java.lang.String getTitle() {
        return instance.getTitle();
      }
      /**
       * <code>optional string title = 3;</code>
       * @return The bytes for title.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getTitleBytes() {
        return instance.getTitleBytes();
      }
      /**
       * <code>optional string title = 3;</code>
       * @param value The title to set.
       * @return This builder for chaining.
       */
      public Builder setTitle(
          java.lang.String value) {
        copyOnWrite();
        instance.setTitle(value);
        return this;
      }
      /**
       * <code>optional string title = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearTitle() {
        copyOnWrite();
        instance.clearTitle();
        return this;
      }
      /**
       * <code>optional string title = 3;</code>
       * @param value The bytes for title to set.
       * @return This builder for chaining.
       */
      public Builder setTitleBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setTitleBytes(value);
        return this;
      }

      /**
       * <code>optional uint32 total_time = 4;</code>
       * @return Whether the totalTime field is set.
       */
      @java.lang.Override
      public boolean hasTotalTime() {
        return instance.hasTotalTime();
      }
      /**
       * <code>optional uint32 total_time = 4;</code>
       * @return The totalTime.
       */
      @java.lang.Override
      public int getTotalTime() {
        return instance.getTotalTime();
      }
      /**
       * <code>optional uint32 total_time = 4;</code>
       * @param value The totalTime to set.
       * @return This builder for chaining.
       */
      public Builder setTotalTime(int value) {
        copyOnWrite();
        instance.setTotalTime(value);
        return this;
      }
      /**
       * <code>optional uint32 total_time = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearTotalTime() {
        copyOnWrite();
        instance.clearTotalTime();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:track_message)
    }
    @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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "artist_",
              "album_",
              "title_",
              "totalTime_",
            };
            java.lang.String info =
                "\u0001\u0004\u0000\u0001\u0001\u0004\u0004\u0000\u0000\u0000\u0001\u1008\u0000\u0002" +
                "\u1008\u0001\u0003\u1008\u0002\u0004\u100b\u0003";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message>(
                        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:track_message)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message DEFAULT_INSTANCE;
    static {
      track_message defaultInstance = new track_message();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        track_message.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface media_messageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:media_message)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_MUSIC_CTL];</code>
     * @return Whether the serviceType field is set.
     */
    boolean hasServiceType();
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_MUSIC_CTL];</code>
     * @return The serviceType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType();

    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return Whether the operateType field is set.
     */
    boolean hasOperateType();
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return The operateType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE getOperateType();

    /**
     * <code>optional .player_message player_msg = 3;</code>
     * @return Whether the playerMsg field is set.
     */
    boolean hasPlayerMsg();
    /**
     * <code>optional .player_message player_msg = 3;</code>
     * @return The playerMsg.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message getPlayerMsg();

    /**
     * <code>optional .queue_message queue_msg = 4;</code>
     * @return Whether the queueMsg field is set.
     */
    boolean hasQueueMsg();
    /**
     * <code>optional .queue_message queue_msg = 4;</code>
     * @return The queueMsg.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message getQueueMsg();

    /**
     * <code>optional .track_message track_msg = 5;</code>
     * @return Whether the trackMsg field is set.
     */
    boolean hasTrackMsg();
    /**
     * <code>optional .track_message track_msg = 5;</code>
     * @return The trackMsg.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message getTrackMsg();

    /**
     * <code>optional .MEDIA_STATUS status = 6;</code>
     * @return Whether the status field is set.
     */
    boolean hasStatus();
    /**
     * <code>optional .MEDIA_STATUS status = 6;</code>
     * @return The status.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.MEDIA_STATUS getStatus();
  }
  /**
   * Protobuf type {@code media_message}
   */
  public  static final class media_message extends
      com.google.protobuf.GeneratedMessageLite<
          media_message, media_message.Builder> implements
      // @@protoc_insertion_point(message_implements:media_message)
      media_messageOrBuilder {
    private media_message() {
      serviceType_ = 29;
    }
    private int bitField0_;
    public static final int SERVICE_TYPE_FIELD_NUMBER = 1;
    private int serviceType_;
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_MUSIC_CTL];</code>
     * @return Whether the serviceType field is set.
     */
    @java.lang.Override
    public boolean hasServiceType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_MUSIC_CTL];</code>
     * @return The serviceType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.forNumber(serviceType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.enum_SERVICE_TYPE_INDEX_MUSIC_CTL : result;
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_MUSIC_CTL];</code>
     * @param value The serviceType to set.
     */
    private void setServiceType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index value) {
      serviceType_ = value.getNumber();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_MUSIC_CTL];</code>
     */
    private void clearServiceType() {
      bitField0_ = (bitField0_ & ~0x00000001);
      serviceType_ = 29;
    }

    public static final int OPERATE_TYPE_FIELD_NUMBER = 2;
    private int operateType_;
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return Whether the operateType field is set.
     */
    @java.lang.Override
    public boolean hasOperateType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @return The operateType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE getOperateType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE.forNumber(operateType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE.enum_SERVICE_OPERATE_TYPE_NONE : result;
    }
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     * @param value The operateType to set.
     */
    private void setOperateType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE value) {
      operateType_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
     */
    private void clearOperateType() {
      bitField0_ = (bitField0_ & ~0x00000002);
      operateType_ = 0;
    }

    public static final int PLAYER_MSG_FIELD_NUMBER = 3;
    private nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message playerMsg_;
    /**
     * <code>optional .player_message player_msg = 3;</code>
     */
    @java.lang.Override
    public boolean hasPlayerMsg() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .player_message player_msg = 3;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message getPlayerMsg() {
      return playerMsg_ == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message.getDefaultInstance() : playerMsg_;
    }
    /**
     * <code>optional .player_message player_msg = 3;</code>
     */
    private void setPlayerMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message value) {
      value.getClass();
  playerMsg_ = value;
      bitField0_ |= 0x00000004;
      }
    /**
     * <code>optional .player_message player_msg = 3;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergePlayerMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message value) {
      value.getClass();
  if (playerMsg_ != null &&
          playerMsg_ != nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message.getDefaultInstance()) {
        playerMsg_ =
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message.newBuilder(playerMsg_).mergeFrom(value).buildPartial();
      } else {
        playerMsg_ = value;
      }
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>optional .player_message player_msg = 3;</code>
     */
    private void clearPlayerMsg() {  playerMsg_ = null;
      bitField0_ = (bitField0_ & ~0x00000004);
    }

    public static final int QUEUE_MSG_FIELD_NUMBER = 4;
    private nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message queueMsg_;
    /**
     * <code>optional .queue_message queue_msg = 4;</code>
     */
    @java.lang.Override
    public boolean hasQueueMsg() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional .queue_message queue_msg = 4;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message getQueueMsg() {
      return queueMsg_ == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message.getDefaultInstance() : queueMsg_;
    }
    /**
     * <code>optional .queue_message queue_msg = 4;</code>
     */
    private void setQueueMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message value) {
      value.getClass();
  queueMsg_ = value;
      bitField0_ |= 0x00000008;
      }
    /**
     * <code>optional .queue_message queue_msg = 4;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeQueueMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message value) {
      value.getClass();
  if (queueMsg_ != null &&
          queueMsg_ != nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message.getDefaultInstance()) {
        queueMsg_ =
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message.newBuilder(queueMsg_).mergeFrom(value).buildPartial();
      } else {
        queueMsg_ = value;
      }
      bitField0_ |= 0x00000008;
    }
    /**
     * <code>optional .queue_message queue_msg = 4;</code>
     */
    private void clearQueueMsg() {  queueMsg_ = null;
      bitField0_ = (bitField0_ & ~0x00000008);
    }

    public static final int TRACK_MSG_FIELD_NUMBER = 5;
    private nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message trackMsg_;
    /**
     * <code>optional .track_message track_msg = 5;</code>
     */
    @java.lang.Override
    public boolean hasTrackMsg() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional .track_message track_msg = 5;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message getTrackMsg() {
      return trackMsg_ == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message.getDefaultInstance() : trackMsg_;
    }
    /**
     * <code>optional .track_message track_msg = 5;</code>
     */
    private void setTrackMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message value) {
      value.getClass();
  trackMsg_ = value;
      bitField0_ |= 0x00000010;
      }
    /**
     * <code>optional .track_message track_msg = 5;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeTrackMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message value) {
      value.getClass();
  if (trackMsg_ != null &&
          trackMsg_ != nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message.getDefaultInstance()) {
        trackMsg_ =
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message.newBuilder(trackMsg_).mergeFrom(value).buildPartial();
      } else {
        trackMsg_ = value;
      }
      bitField0_ |= 0x00000010;
    }
    /**
     * <code>optional .track_message track_msg = 5;</code>
     */
    private void clearTrackMsg() {  trackMsg_ = null;
      bitField0_ = (bitField0_ & ~0x00000010);
    }

    public static final int STATUS_FIELD_NUMBER = 6;
    private int status_;
    /**
     * <code>optional .MEDIA_STATUS status = 6;</code>
     * @return Whether the status field is set.
     */
    @java.lang.Override
    public boolean hasStatus() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional .MEDIA_STATUS status = 6;</code>
     * @return The status.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.MEDIA_STATUS getStatus() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.MEDIA_STATUS result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.MEDIA_STATUS.forNumber(status_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.MEDIA_STATUS.INVALID_STATUS : result;
    }
    /**
     * <code>optional .MEDIA_STATUS status = 6;</code>
     * @param value The status to set.
     */
    private void setStatus(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.MEDIA_STATUS value) {
      status_ = value.getNumber();
      bitField0_ |= 0x00000020;
    }
    /**
     * <code>optional .MEDIA_STATUS status = 6;</code>
     */
    private void clearStatus() {
      bitField0_ = (bitField0_ & ~0x00000020);
      status_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message 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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message 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(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code media_message}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message, Builder> implements
        // @@protoc_insertion_point(builder_implements:media_message)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_messageOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_MUSIC_CTL];</code>
       * @return Whether the serviceType field is set.
       */
      @java.lang.Override
      public boolean hasServiceType() {
        return instance.hasServiceType();
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_MUSIC_CTL];</code>
       * @return The serviceType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType() {
        return instance.getServiceType();
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_MUSIC_CTL];</code>
       * @param value The enum numeric value on the wire for serviceType to set.
       * @return This builder for chaining.
       */
      public Builder setServiceType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index value) {
        copyOnWrite();
        instance.setServiceType(value);
        return this;
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_MUSIC_CTL];</code>
       * @return This builder for chaining.
       */
      public Builder clearServiceType() {
        copyOnWrite();
        instance.clearServiceType();
        return this;
      }

      /**
       * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @return Whether the operateType field is set.
       */
      @java.lang.Override
      public boolean hasOperateType() {
        return instance.hasOperateType();
      }
      /**
       * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @return The operateType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE getOperateType() {
        return instance.getOperateType();
      }
      /**
       * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @param value The enum numeric value on the wire for operateType to set.
       * @return This builder for chaining.
       */
      public Builder setOperateType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE value) {
        copyOnWrite();
        instance.setOperateType(value);
        return this;
      }
      /**
       * <code>required .SERVICE_OPERATE_TYPE operate_type = 2 [default = enum_SERVICE_OPERATE_TYPE_NONE];</code>
       * @return This builder for chaining.
       */
      public Builder clearOperateType() {
        copyOnWrite();
        instance.clearOperateType();
        return this;
      }

      /**
       * <code>optional .player_message player_msg = 3;</code>
       */
      @java.lang.Override
      public boolean hasPlayerMsg() {
        return instance.hasPlayerMsg();
      }
      /**
       * <code>optional .player_message player_msg = 3;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message getPlayerMsg() {
        return instance.getPlayerMsg();
      }
      /**
       * <code>optional .player_message player_msg = 3;</code>
       */
      public Builder setPlayerMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message value) {
        copyOnWrite();
        instance.setPlayerMsg(value);
        return this;
        }
      /**
       * <code>optional .player_message player_msg = 3;</code>
       */
      public Builder setPlayerMsg(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message.Builder builderForValue) {
        copyOnWrite();
        instance.setPlayerMsg(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .player_message player_msg = 3;</code>
       */
      public Builder mergePlayerMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.player_message value) {
        copyOnWrite();
        instance.mergePlayerMsg(value);
        return this;
      }
      /**
       * <code>optional .player_message player_msg = 3;</code>
       */
      public Builder clearPlayerMsg() {  copyOnWrite();
        instance.clearPlayerMsg();
        return this;
      }

      /**
       * <code>optional .queue_message queue_msg = 4;</code>
       */
      @java.lang.Override
      public boolean hasQueueMsg() {
        return instance.hasQueueMsg();
      }
      /**
       * <code>optional .queue_message queue_msg = 4;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message getQueueMsg() {
        return instance.getQueueMsg();
      }
      /**
       * <code>optional .queue_message queue_msg = 4;</code>
       */
      public Builder setQueueMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message value) {
        copyOnWrite();
        instance.setQueueMsg(value);
        return this;
        }
      /**
       * <code>optional .queue_message queue_msg = 4;</code>
       */
      public Builder setQueueMsg(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message.Builder builderForValue) {
        copyOnWrite();
        instance.setQueueMsg(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .queue_message queue_msg = 4;</code>
       */
      public Builder mergeQueueMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.queue_message value) {
        copyOnWrite();
        instance.mergeQueueMsg(value);
        return this;
      }
      /**
       * <code>optional .queue_message queue_msg = 4;</code>
       */
      public Builder clearQueueMsg() {  copyOnWrite();
        instance.clearQueueMsg();
        return this;
      }

      /**
       * <code>optional .track_message track_msg = 5;</code>
       */
      @java.lang.Override
      public boolean hasTrackMsg() {
        return instance.hasTrackMsg();
      }
      /**
       * <code>optional .track_message track_msg = 5;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message getTrackMsg() {
        return instance.getTrackMsg();
      }
      /**
       * <code>optional .track_message track_msg = 5;</code>
       */
      public Builder setTrackMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message value) {
        copyOnWrite();
        instance.setTrackMsg(value);
        return this;
        }
      /**
       * <code>optional .track_message track_msg = 5;</code>
       */
      public Builder setTrackMsg(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message.Builder builderForValue) {
        copyOnWrite();
        instance.setTrackMsg(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .track_message track_msg = 5;</code>
       */
      public Builder mergeTrackMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.track_message value) {
        copyOnWrite();
        instance.mergeTrackMsg(value);
        return this;
      }
      /**
       * <code>optional .track_message track_msg = 5;</code>
       */
      public Builder clearTrackMsg() {  copyOnWrite();
        instance.clearTrackMsg();
        return this;
      }

      /**
       * <code>optional .MEDIA_STATUS status = 6;</code>
       * @return Whether the status field is set.
       */
      @java.lang.Override
      public boolean hasStatus() {
        return instance.hasStatus();
      }
      /**
       * <code>optional .MEDIA_STATUS status = 6;</code>
       * @return The status.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.MEDIA_STATUS getStatus() {
        return instance.getStatus();
      }
      /**
       * <code>optional .MEDIA_STATUS status = 6;</code>
       * @param value The enum numeric value on the wire for status to set.
       * @return This builder for chaining.
       */
      public Builder setStatus(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.MEDIA_STATUS value) {
        copyOnWrite();
        instance.setStatus(value);
        return this;
      }
      /**
       * <code>optional .MEDIA_STATUS status = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearStatus() {
        copyOnWrite();
        instance.clearStatus();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:media_message)
    }
    private byte memoizedIsInitialized = 2;
    @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 nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "serviceType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.internalGetVerifier(),
              "operateType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.SERVICE_OPERATE_TYPE.internalGetVerifier(),
              "playerMsg_",
              "queueMsg_",
              "trackMsg_",
              "status_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.MEDIA_STATUS.internalGetVerifier(),
            };
            java.lang.String info =
                "\u0001\u0006\u0000\u0001\u0001\u0006\u0006\u0000\u0000\u0002\u0001\u150c\u0000\u0002" +
                "\u150c\u0001\u0003\u1009\u0002\u0004\u1009\u0003\u0005\u1009\u0004\u0006\u100c\u0005" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return memoizedIsInitialized;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:media_message)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message DEFAULT_INSTANCE;
    static {
      media_message defaultInstance = new media_message();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        media_message.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Media.media_message getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
