content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // NO CHECKED-IN PROTOBUF GENCODE
  // source: com/android/aapt/Configuration.proto
  // Protobuf Java Version: 4.27.0
  
  package com.android.aapt;
  
  public final class ConfigurationOuterClass {
    private ConfigurationOuterClass() {}
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistryLite registry) {
    }
    public interface ConfigurationOrBuilder extends
        // @@protoc_insertion_point(interface_extends:Configuration)
        com.google.protobuf.MessageLiteOrBuilder {
  
      /**
       * <pre>
       *
       * Axis/dimensions that are understood by the runtime.
       *
       * Mobile country code.
       * </pre>
       *
       * <code>uint32 mcc = 1;</code>
       * @return The mcc.
       */
      int getMcc();
  
      /**
       * <pre>
       * Mobile network code.
       * </pre>
       *
       * <code>uint32 mnc = 2;</code>
       * @return The mnc.
       */
      int getMnc();
  
      /**
       * <pre>
       * BCP-47 locale tag.
       * </pre>
       *
       * <code>string locale = 3;</code>
       * @return The locale.
       */
      java.lang.String getLocale();
      /**
       * <pre>
       * BCP-47 locale tag.
       * </pre>
       *
       * <code>string locale = 3;</code>
       * @return The bytes for locale.
       */
      com.google.protobuf.ByteString
          getLocaleBytes();
  
      /**
       * <pre>
       * Left-to-right, right-to-left...
       * </pre>
       *
       * <code>.Configuration.LayoutDirection layout_direction = 4;</code>
       * @return The enum numeric value on the wire for layoutDirection.
       */
      int getLayoutDirectionValue();
      /**
       * <pre>
       * Left-to-right, right-to-left...
       * </pre>
       *
       * <code>.Configuration.LayoutDirection layout_direction = 4;</code>
       * @return The layoutDirection.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.LayoutDirection getLayoutDirection();
  
      /**
       * <pre>
       * Screen width in pixels. Prefer screen_width_dp.
       * </pre>
       *
       * <code>uint32 screen_width = 5;</code>
       * @return The screenWidth.
       */
      int getScreenWidth();
  
      /**
       * <pre>
       * Screen height in pixels. Prefer screen_height_dp.
       * </pre>
       *
       * <code>uint32 screen_height = 6;</code>
       * @return The screenHeight.
       */
      int getScreenHeight();
  
      /**
       * <pre>
       * Screen width in density independent pixels (dp).
       * </pre>
       *
       * <code>uint32 screen_width_dp = 7;</code>
       * @return The screenWidthDp.
       */
      int getScreenWidthDp();
  
      /**
       * <pre>
       * Screen height in density independent pixels (dp).
       * </pre>
       *
       * <code>uint32 screen_height_dp = 8;</code>
       * @return The screenHeightDp.
       */
      int getScreenHeightDp();
  
      /**
       * <pre>
       * The smallest screen dimension, regardless of orientation, in dp.
       * </pre>
       *
       * <code>uint32 smallest_screen_width_dp = 9;</code>
       * @return The smallestScreenWidthDp.
       */
      int getSmallestScreenWidthDp();
  
      /**
       * <pre>
       * Whether the device screen is classified as small, normal, large, xlarge.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutSize screen_layout_size = 10;</code>
       * @return The enum numeric value on the wire for screenLayoutSize.
       */
      int getScreenLayoutSizeValue();
      /**
       * <pre>
       * Whether the device screen is classified as small, normal, large, xlarge.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutSize screen_layout_size = 10;</code>
       * @return The screenLayoutSize.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutSize getScreenLayoutSize();
  
      /**
       * <pre>
       * Whether the device screen is long.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutLong screen_layout_long = 11;</code>
       * @return The enum numeric value on the wire for screenLayoutLong.
       */
      int getScreenLayoutLongValue();
      /**
       * <pre>
       * Whether the device screen is long.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutLong screen_layout_long = 11;</code>
       * @return The screenLayoutLong.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutLong getScreenLayoutLong();
  
      /**
       * <pre>
       * Whether the screen is round (Android Wear).
       * </pre>
       *
       * <code>.Configuration.ScreenRound screen_round = 12;</code>
       * @return The enum numeric value on the wire for screenRound.
       */
      int getScreenRoundValue();
      /**
       * <pre>
       * Whether the screen is round (Android Wear).
       * </pre>
       *
       * <code>.Configuration.ScreenRound screen_round = 12;</code>
       * @return The screenRound.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.ScreenRound getScreenRound();
  
      /**
       * <pre>
       * Whether the screen supports wide color gamut.
       * </pre>
       *
       * <code>.Configuration.WideColorGamut wide_color_gamut = 13;</code>
       * @return The enum numeric value on the wire for wideColorGamut.
       */
      int getWideColorGamutValue();
      /**
       * <pre>
       * Whether the screen supports wide color gamut.
       * </pre>
       *
       * <code>.Configuration.WideColorGamut wide_color_gamut = 13;</code>
       * @return The wideColorGamut.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.WideColorGamut getWideColorGamut();
  
      /**
       * <pre>
       * Whether the screen has high dynamic range.
       * </pre>
       *
       * <code>.Configuration.Hdr hdr = 14;</code>
       * @return The enum numeric value on the wire for hdr.
       */
      int getHdrValue();
      /**
       * <pre>
       * Whether the screen has high dynamic range.
       * </pre>
       *
       * <code>.Configuration.Hdr hdr = 14;</code>
       * @return The hdr.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.Hdr getHdr();
  
      /**
       * <pre>
       * Which orientation the device is in (portrait, landscape).
       * </pre>
       *
       * <code>.Configuration.Orientation orientation = 15;</code>
       * @return The enum numeric value on the wire for orientation.
       */
      int getOrientationValue();
      /**
       * <pre>
       * Which orientation the device is in (portrait, landscape).
       * </pre>
       *
       * <code>.Configuration.Orientation orientation = 15;</code>
       * @return The orientation.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.Orientation getOrientation();
  
      /**
       * <pre>
       * Which type of UI mode the device is in (television, car, etc.).
       * </pre>
       *
       * <code>.Configuration.UiModeType ui_mode_type = 16;</code>
       * @return The enum numeric value on the wire for uiModeType.
       */
      int getUiModeTypeValue();
      /**
       * <pre>
       * Which type of UI mode the device is in (television, car, etc.).
       * </pre>
       *
       * <code>.Configuration.UiModeType ui_mode_type = 16;</code>
       * @return The uiModeType.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.UiModeType getUiModeType();
  
      /**
       * <pre>
       * Whether the device is in night mode.
       * </pre>
       *
       * <code>.Configuration.UiModeNight ui_mode_night = 17;</code>
       * @return The enum numeric value on the wire for uiModeNight.
       */
      int getUiModeNightValue();
      /**
       * <pre>
       * Whether the device is in night mode.
       * </pre>
       *
       * <code>.Configuration.UiModeNight ui_mode_night = 17;</code>
       * @return The uiModeNight.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.UiModeNight getUiModeNight();
  
      /**
       * <pre>
       * The device's screen density in dots-per-inch (dpi).
       * </pre>
       *
       * <code>uint32 density = 18;</code>
       * @return The density.
       */
      int getDensity();
  
      /**
       * <pre>
       * Whether a touchscreen exists, supports a stylus, or finger.
       * </pre>
       *
       * <code>.Configuration.Touchscreen touchscreen = 19;</code>
       * @return The enum numeric value on the wire for touchscreen.
       */
      int getTouchscreenValue();
      /**
       * <pre>
       * Whether a touchscreen exists, supports a stylus, or finger.
       * </pre>
       *
       * <code>.Configuration.Touchscreen touchscreen = 19;</code>
       * @return The touchscreen.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.Touchscreen getTouchscreen();
  
      /**
       * <pre>
       * Whether the keyboard hardware keys are currently hidden, exposed, or
       * if the keyboard is a software keyboard.
       * </pre>
       *
       * <code>.Configuration.KeysHidden keys_hidden = 20;</code>
       * @return The enum numeric value on the wire for keysHidden.
       */
      int getKeysHiddenValue();
      /**
       * <pre>
       * Whether the keyboard hardware keys are currently hidden, exposed, or
       * if the keyboard is a software keyboard.
       * </pre>
       *
       * <code>.Configuration.KeysHidden keys_hidden = 20;</code>
       * @return The keysHidden.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.KeysHidden getKeysHidden();
  
      /**
       * <pre>
       * The type of keyboard present (none, QWERTY, 12-key).
       * </pre>
       *
       * <code>.Configuration.Keyboard keyboard = 21;</code>
       * @return The enum numeric value on the wire for keyboard.
       */
      int getKeyboardValue();
      /**
       * <pre>
       * The type of keyboard present (none, QWERTY, 12-key).
       * </pre>
       *
       * <code>.Configuration.Keyboard keyboard = 21;</code>
       * @return The keyboard.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.Keyboard getKeyboard();
  
      /**
       * <pre>
       * Whether the navigation is exposed or hidden.
       * </pre>
       *
       * <code>.Configuration.NavHidden nav_hidden = 22;</code>
       * @return The enum numeric value on the wire for navHidden.
       */
      int getNavHiddenValue();
      /**
       * <pre>
       * Whether the navigation is exposed or hidden.
       * </pre>
       *
       * <code>.Configuration.NavHidden nav_hidden = 22;</code>
       * @return The navHidden.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.NavHidden getNavHidden();
  
      /**
       * <pre>
       * The type of navigation present on the device
       * (trackball, wheel, dpad, etc.).
       * </pre>
       *
       * <code>.Configuration.Navigation navigation = 23;</code>
       * @return The enum numeric value on the wire for navigation.
       */
      int getNavigationValue();
      /**
       * <pre>
       * The type of navigation present on the device
       * (trackball, wheel, dpad, etc.).
       * </pre>
       *
       * <code>.Configuration.Navigation navigation = 23;</code>
       * @return The navigation.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.Navigation getNavigation();
  
      /**
       * <pre>
       * The minimum SDK version of the device.
       * </pre>
       *
       * <code>uint32 sdk_version = 24;</code>
       * @return The sdkVersion.
       */
      int getSdkVersion();
  
      /**
       * <pre>
       * Grammatical gender.
       * </pre>
       *
       * <code>.Configuration.GrammaticalGender grammatical_gender = 26;</code>
       * @return The enum numeric value on the wire for grammaticalGender.
       */
      int getGrammaticalGenderValue();
      /**
       * <pre>
       * Grammatical gender.
       * </pre>
       *
       * <code>.Configuration.GrammaticalGender grammatical_gender = 26;</code>
       * @return The grammaticalGender.
       */
      com.android.aapt.ConfigurationOuterClass.Configuration.GrammaticalGender getGrammaticalGender();
  
      /**
       * <pre>
       *
       * Build-time only dimensions.
       * </pre>
       *
       * <code>string product = 25;</code>
       * @return The product.
       */
      java.lang.String getProduct();
      /**
       * <pre>
       *
       * Build-time only dimensions.
       * </pre>
       *
       * <code>string product = 25;</code>
       * @return The bytes for product.
       */
      com.google.protobuf.ByteString
          getProductBytes();
    }
    /**
     * <pre>
     * A description of the requirements a device must have in order for a
     * resource to be matched and selected.
     * </pre>
     *
     * Protobuf type {@code Configuration}
     */
    public  static final class Configuration extends
        com.google.protobuf.GeneratedMessageLite<
            Configuration, Configuration.Builder> implements
        // @@protoc_insertion_point(message_implements:Configuration)
        ConfigurationOrBuilder {
      private Configuration() {
        locale_ = "";
        product_ = "";
      }
      /**
       * Protobuf enum {@code Configuration.LayoutDirection}
       */
      public enum LayoutDirection
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>LAYOUT_DIRECTION_UNSET = 0;</code>
         */
        LAYOUT_DIRECTION_UNSET(0),
        /**
         * <code>LAYOUT_DIRECTION_LTR = 1;</code>
         */
        LAYOUT_DIRECTION_LTR(1),
        /**
         * <code>LAYOUT_DIRECTION_RTL = 2;</code>
         */
        LAYOUT_DIRECTION_RTL(2),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>LAYOUT_DIRECTION_UNSET = 0;</code>
         */
        public static final int LAYOUT_DIRECTION_UNSET_VALUE = 0;
        /**
         * <code>LAYOUT_DIRECTION_LTR = 1;</code>
         */
        public static final int LAYOUT_DIRECTION_LTR_VALUE = 1;
        /**
         * <code>LAYOUT_DIRECTION_RTL = 2;</code>
         */
        public static final int LAYOUT_DIRECTION_RTL_VALUE = 2;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 LayoutDirection valueOf(int value) {
          return forNumber(value);
        }
  
        public static LayoutDirection forNumber(int value) {
          switch (value) {
            case 0: return LAYOUT_DIRECTION_UNSET;
            case 1: return LAYOUT_DIRECTION_LTR;
            case 2: return LAYOUT_DIRECTION_RTL;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<LayoutDirection>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            LayoutDirection> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<LayoutDirection>() {
                @java.lang.Override
                public LayoutDirection findValueByNumber(int number) {
                  return LayoutDirection.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return LayoutDirectionVerifier.INSTANCE;
        }
  
        private static final class LayoutDirectionVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new LayoutDirectionVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return LayoutDirection.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private LayoutDirection(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.LayoutDirection)
      }
  
      /**
       * Protobuf enum {@code Configuration.ScreenLayoutSize}
       */
      public enum ScreenLayoutSize
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>SCREEN_LAYOUT_SIZE_UNSET = 0;</code>
         */
        SCREEN_LAYOUT_SIZE_UNSET(0),
        /**
         * <code>SCREEN_LAYOUT_SIZE_SMALL = 1;</code>
         */
        SCREEN_LAYOUT_SIZE_SMALL(1),
        /**
         * <code>SCREEN_LAYOUT_SIZE_NORMAL = 2;</code>
         */
        SCREEN_LAYOUT_SIZE_NORMAL(2),
        /**
         * <code>SCREEN_LAYOUT_SIZE_LARGE = 3;</code>
         */
        SCREEN_LAYOUT_SIZE_LARGE(3),
        /**
         * <code>SCREEN_LAYOUT_SIZE_XLARGE = 4;</code>
         */
        SCREEN_LAYOUT_SIZE_XLARGE(4),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>SCREEN_LAYOUT_SIZE_UNSET = 0;</code>
         */
        public static final int SCREEN_LAYOUT_SIZE_UNSET_VALUE = 0;
        /**
         * <code>SCREEN_LAYOUT_SIZE_SMALL = 1;</code>
         */
        public static final int SCREEN_LAYOUT_SIZE_SMALL_VALUE = 1;
        /**
         * <code>SCREEN_LAYOUT_SIZE_NORMAL = 2;</code>
         */
        public static final int SCREEN_LAYOUT_SIZE_NORMAL_VALUE = 2;
        /**
         * <code>SCREEN_LAYOUT_SIZE_LARGE = 3;</code>
         */
        public static final int SCREEN_LAYOUT_SIZE_LARGE_VALUE = 3;
        /**
         * <code>SCREEN_LAYOUT_SIZE_XLARGE = 4;</code>
         */
        public static final int SCREEN_LAYOUT_SIZE_XLARGE_VALUE = 4;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 ScreenLayoutSize valueOf(int value) {
          return forNumber(value);
        }
  
        public static ScreenLayoutSize forNumber(int value) {
          switch (value) {
            case 0: return SCREEN_LAYOUT_SIZE_UNSET;
            case 1: return SCREEN_LAYOUT_SIZE_SMALL;
            case 2: return SCREEN_LAYOUT_SIZE_NORMAL;
            case 3: return SCREEN_LAYOUT_SIZE_LARGE;
            case 4: return SCREEN_LAYOUT_SIZE_XLARGE;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<ScreenLayoutSize>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            ScreenLayoutSize> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<ScreenLayoutSize>() {
                @java.lang.Override
                public ScreenLayoutSize findValueByNumber(int number) {
                  return ScreenLayoutSize.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return ScreenLayoutSizeVerifier.INSTANCE;
        }
  
        private static final class ScreenLayoutSizeVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new ScreenLayoutSizeVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return ScreenLayoutSize.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private ScreenLayoutSize(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.ScreenLayoutSize)
      }
  
      /**
       * Protobuf enum {@code Configuration.ScreenLayoutLong}
       */
      public enum ScreenLayoutLong
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>SCREEN_LAYOUT_LONG_UNSET = 0;</code>
         */
        SCREEN_LAYOUT_LONG_UNSET(0),
        /**
         * <code>SCREEN_LAYOUT_LONG_LONG = 1;</code>
         */
        SCREEN_LAYOUT_LONG_LONG(1),
        /**
         * <code>SCREEN_LAYOUT_LONG_NOTLONG = 2;</code>
         */
        SCREEN_LAYOUT_LONG_NOTLONG(2),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>SCREEN_LAYOUT_LONG_UNSET = 0;</code>
         */
        public static final int SCREEN_LAYOUT_LONG_UNSET_VALUE = 0;
        /**
         * <code>SCREEN_LAYOUT_LONG_LONG = 1;</code>
         */
        public static final int SCREEN_LAYOUT_LONG_LONG_VALUE = 1;
        /**
         * <code>SCREEN_LAYOUT_LONG_NOTLONG = 2;</code>
         */
        public static final int SCREEN_LAYOUT_LONG_NOTLONG_VALUE = 2;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 ScreenLayoutLong valueOf(int value) {
          return forNumber(value);
        }
  
        public static ScreenLayoutLong forNumber(int value) {
          switch (value) {
            case 0: return SCREEN_LAYOUT_LONG_UNSET;
            case 1: return SCREEN_LAYOUT_LONG_LONG;
            case 2: return SCREEN_LAYOUT_LONG_NOTLONG;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<ScreenLayoutLong>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            ScreenLayoutLong> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<ScreenLayoutLong>() {
                @java.lang.Override
                public ScreenLayoutLong findValueByNumber(int number) {
                  return ScreenLayoutLong.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return ScreenLayoutLongVerifier.INSTANCE;
        }
  
        private static final class ScreenLayoutLongVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new ScreenLayoutLongVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return ScreenLayoutLong.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private ScreenLayoutLong(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.ScreenLayoutLong)
      }
  
      /**
       * Protobuf enum {@code Configuration.ScreenRound}
       */
      public enum ScreenRound
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>SCREEN_ROUND_UNSET = 0;</code>
         */
        SCREEN_ROUND_UNSET(0),
        /**
         * <code>SCREEN_ROUND_ROUND = 1;</code>
         */
        SCREEN_ROUND_ROUND(1),
        /**
         * <code>SCREEN_ROUND_NOTROUND = 2;</code>
         */
        SCREEN_ROUND_NOTROUND(2),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>SCREEN_ROUND_UNSET = 0;</code>
         */
        public static final int SCREEN_ROUND_UNSET_VALUE = 0;
        /**
         * <code>SCREEN_ROUND_ROUND = 1;</code>
         */
        public static final int SCREEN_ROUND_ROUND_VALUE = 1;
        /**
         * <code>SCREEN_ROUND_NOTROUND = 2;</code>
         */
        public static final int SCREEN_ROUND_NOTROUND_VALUE = 2;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 ScreenRound valueOf(int value) {
          return forNumber(value);
        }
  
        public static ScreenRound forNumber(int value) {
          switch (value) {
            case 0: return SCREEN_ROUND_UNSET;
            case 1: return SCREEN_ROUND_ROUND;
            case 2: return SCREEN_ROUND_NOTROUND;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<ScreenRound>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            ScreenRound> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<ScreenRound>() {
                @java.lang.Override
                public ScreenRound findValueByNumber(int number) {
                  return ScreenRound.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return ScreenRoundVerifier.INSTANCE;
        }
  
        private static final class ScreenRoundVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new ScreenRoundVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return ScreenRound.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private ScreenRound(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.ScreenRound)
      }
  
      /**
       * Protobuf enum {@code Configuration.WideColorGamut}
       */
      public enum WideColorGamut
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>WIDE_COLOR_GAMUT_UNSET = 0;</code>
         */
        WIDE_COLOR_GAMUT_UNSET(0),
        /**
         * <code>WIDE_COLOR_GAMUT_WIDECG = 1;</code>
         */
        WIDE_COLOR_GAMUT_WIDECG(1),
        /**
         * <code>WIDE_COLOR_GAMUT_NOWIDECG = 2;</code>
         */
        WIDE_COLOR_GAMUT_NOWIDECG(2),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>WIDE_COLOR_GAMUT_UNSET = 0;</code>
         */
        public static final int WIDE_COLOR_GAMUT_UNSET_VALUE = 0;
        /**
         * <code>WIDE_COLOR_GAMUT_WIDECG = 1;</code>
         */
        public static final int WIDE_COLOR_GAMUT_WIDECG_VALUE = 1;
        /**
         * <code>WIDE_COLOR_GAMUT_NOWIDECG = 2;</code>
         */
        public static final int WIDE_COLOR_GAMUT_NOWIDECG_VALUE = 2;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 WideColorGamut valueOf(int value) {
          return forNumber(value);
        }
  
        public static WideColorGamut forNumber(int value) {
          switch (value) {
            case 0: return WIDE_COLOR_GAMUT_UNSET;
            case 1: return WIDE_COLOR_GAMUT_WIDECG;
            case 2: return WIDE_COLOR_GAMUT_NOWIDECG;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<WideColorGamut>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            WideColorGamut> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<WideColorGamut>() {
                @java.lang.Override
                public WideColorGamut findValueByNumber(int number) {
                  return WideColorGamut.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return WideColorGamutVerifier.INSTANCE;
        }
  
        private static final class WideColorGamutVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new WideColorGamutVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return WideColorGamut.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private WideColorGamut(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.WideColorGamut)
      }
  
      /**
       * Protobuf enum {@code Configuration.Hdr}
       */
      public enum Hdr
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>HDR_UNSET = 0;</code>
         */
        HDR_UNSET(0),
        /**
         * <code>HDR_HIGHDR = 1;</code>
         */
        HDR_HIGHDR(1),
        /**
         * <code>HDR_LOWDR = 2;</code>
         */
        HDR_LOWDR(2),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>HDR_UNSET = 0;</code>
         */
        public static final int HDR_UNSET_VALUE = 0;
        /**
         * <code>HDR_HIGHDR = 1;</code>
         */
        public static final int HDR_HIGHDR_VALUE = 1;
        /**
         * <code>HDR_LOWDR = 2;</code>
         */
        public static final int HDR_LOWDR_VALUE = 2;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 Hdr valueOf(int value) {
          return forNumber(value);
        }
  
        public static Hdr forNumber(int value) {
          switch (value) {
            case 0: return HDR_UNSET;
            case 1: return HDR_HIGHDR;
            case 2: return HDR_LOWDR;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<Hdr>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            Hdr> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<Hdr>() {
                @java.lang.Override
                public Hdr findValueByNumber(int number) {
                  return Hdr.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return HdrVerifier.INSTANCE;
        }
  
        private static final class HdrVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new HdrVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return Hdr.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private Hdr(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.Hdr)
      }
  
      /**
       * Protobuf enum {@code Configuration.Orientation}
       */
      public enum Orientation
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>ORIENTATION_UNSET = 0;</code>
         */
        ORIENTATION_UNSET(0),
        /**
         * <code>ORIENTATION_PORT = 1;</code>
         */
        ORIENTATION_PORT(1),
        /**
         * <code>ORIENTATION_LAND = 2;</code>
         */
        ORIENTATION_LAND(2),
        /**
         * <code>ORIENTATION_SQUARE = 3;</code>
         */
        ORIENTATION_SQUARE(3),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>ORIENTATION_UNSET = 0;</code>
         */
        public static final int ORIENTATION_UNSET_VALUE = 0;
        /**
         * <code>ORIENTATION_PORT = 1;</code>
         */
        public static final int ORIENTATION_PORT_VALUE = 1;
        /**
         * <code>ORIENTATION_LAND = 2;</code>
         */
        public static final int ORIENTATION_LAND_VALUE = 2;
        /**
         * <code>ORIENTATION_SQUARE = 3;</code>
         */
        public static final int ORIENTATION_SQUARE_VALUE = 3;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 Orientation valueOf(int value) {
          return forNumber(value);
        }
  
        public static Orientation forNumber(int value) {
          switch (value) {
            case 0: return ORIENTATION_UNSET;
            case 1: return ORIENTATION_PORT;
            case 2: return ORIENTATION_LAND;
            case 3: return ORIENTATION_SQUARE;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<Orientation>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            Orientation> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<Orientation>() {
                @java.lang.Override
                public Orientation findValueByNumber(int number) {
                  return Orientation.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return OrientationVerifier.INSTANCE;
        }
  
        private static final class OrientationVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new OrientationVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return Orientation.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private Orientation(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.Orientation)
      }
  
      /**
       * Protobuf enum {@code Configuration.UiModeType}
       */
      public enum UiModeType
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>UI_MODE_TYPE_UNSET = 0;</code>
         */
        UI_MODE_TYPE_UNSET(0),
        /**
         * <code>UI_MODE_TYPE_NORMAL = 1;</code>
         */
        UI_MODE_TYPE_NORMAL(1),
        /**
         * <code>UI_MODE_TYPE_DESK = 2;</code>
         */
        UI_MODE_TYPE_DESK(2),
        /**
         * <code>UI_MODE_TYPE_CAR = 3;</code>
         */
        UI_MODE_TYPE_CAR(3),
        /**
         * <code>UI_MODE_TYPE_TELEVISION = 4;</code>
         */
        UI_MODE_TYPE_TELEVISION(4),
        /**
         * <code>UI_MODE_TYPE_APPLIANCE = 5;</code>
         */
        UI_MODE_TYPE_APPLIANCE(5),
        /**
         * <code>UI_MODE_TYPE_WATCH = 6;</code>
         */
        UI_MODE_TYPE_WATCH(6),
        /**
         * <code>UI_MODE_TYPE_VRHEADSET = 7;</code>
         */
        UI_MODE_TYPE_VRHEADSET(7),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>UI_MODE_TYPE_UNSET = 0;</code>
         */
        public static final int UI_MODE_TYPE_UNSET_VALUE = 0;
        /**
         * <code>UI_MODE_TYPE_NORMAL = 1;</code>
         */
        public static final int UI_MODE_TYPE_NORMAL_VALUE = 1;
        /**
         * <code>UI_MODE_TYPE_DESK = 2;</code>
         */
        public static final int UI_MODE_TYPE_DESK_VALUE = 2;
        /**
         * <code>UI_MODE_TYPE_CAR = 3;</code>
         */
        public static final int UI_MODE_TYPE_CAR_VALUE = 3;
        /**
         * <code>UI_MODE_TYPE_TELEVISION = 4;</code>
         */
        public static final int UI_MODE_TYPE_TELEVISION_VALUE = 4;
        /**
         * <code>UI_MODE_TYPE_APPLIANCE = 5;</code>
         */
        public static final int UI_MODE_TYPE_APPLIANCE_VALUE = 5;
        /**
         * <code>UI_MODE_TYPE_WATCH = 6;</code>
         */
        public static final int UI_MODE_TYPE_WATCH_VALUE = 6;
        /**
         * <code>UI_MODE_TYPE_VRHEADSET = 7;</code>
         */
        public static final int UI_MODE_TYPE_VRHEADSET_VALUE = 7;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 UiModeType valueOf(int value) {
          return forNumber(value);
        }
  
        public static UiModeType forNumber(int value) {
          switch (value) {
            case 0: return UI_MODE_TYPE_UNSET;
            case 1: return UI_MODE_TYPE_NORMAL;
            case 2: return UI_MODE_TYPE_DESK;
            case 3: return UI_MODE_TYPE_CAR;
            case 4: return UI_MODE_TYPE_TELEVISION;
            case 5: return UI_MODE_TYPE_APPLIANCE;
            case 6: return UI_MODE_TYPE_WATCH;
            case 7: return UI_MODE_TYPE_VRHEADSET;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<UiModeType>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            UiModeType> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<UiModeType>() {
                @java.lang.Override
                public UiModeType findValueByNumber(int number) {
                  return UiModeType.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return UiModeTypeVerifier.INSTANCE;
        }
  
        private static final class UiModeTypeVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new UiModeTypeVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return UiModeType.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private UiModeType(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.UiModeType)
      }
  
      /**
       * Protobuf enum {@code Configuration.UiModeNight}
       */
      public enum UiModeNight
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>UI_MODE_NIGHT_UNSET = 0;</code>
         */
        UI_MODE_NIGHT_UNSET(0),
        /**
         * <code>UI_MODE_NIGHT_NIGHT = 1;</code>
         */
        UI_MODE_NIGHT_NIGHT(1),
        /**
         * <code>UI_MODE_NIGHT_NOTNIGHT = 2;</code>
         */
        UI_MODE_NIGHT_NOTNIGHT(2),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>UI_MODE_NIGHT_UNSET = 0;</code>
         */
        public static final int UI_MODE_NIGHT_UNSET_VALUE = 0;
        /**
         * <code>UI_MODE_NIGHT_NIGHT = 1;</code>
         */
        public static final int UI_MODE_NIGHT_NIGHT_VALUE = 1;
        /**
         * <code>UI_MODE_NIGHT_NOTNIGHT = 2;</code>
         */
        public static final int UI_MODE_NIGHT_NOTNIGHT_VALUE = 2;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 UiModeNight valueOf(int value) {
          return forNumber(value);
        }
  
        public static UiModeNight forNumber(int value) {
          switch (value) {
            case 0: return UI_MODE_NIGHT_UNSET;
            case 1: return UI_MODE_NIGHT_NIGHT;
            case 2: return UI_MODE_NIGHT_NOTNIGHT;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<UiModeNight>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            UiModeNight> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<UiModeNight>() {
                @java.lang.Override
                public UiModeNight findValueByNumber(int number) {
                  return UiModeNight.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return UiModeNightVerifier.INSTANCE;
        }
  
        private static final class UiModeNightVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new UiModeNightVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return UiModeNight.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private UiModeNight(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.UiModeNight)
      }
  
      /**
       * Protobuf enum {@code Configuration.Touchscreen}
       */
      public enum Touchscreen
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>TOUCHSCREEN_UNSET = 0;</code>
         */
        TOUCHSCREEN_UNSET(0),
        /**
         * <code>TOUCHSCREEN_NOTOUCH = 1;</code>
         */
        TOUCHSCREEN_NOTOUCH(1),
        /**
         * <code>TOUCHSCREEN_STYLUS = 2;</code>
         */
        TOUCHSCREEN_STYLUS(2),
        /**
         * <code>TOUCHSCREEN_FINGER = 3;</code>
         */
        TOUCHSCREEN_FINGER(3),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>TOUCHSCREEN_UNSET = 0;</code>
         */
        public static final int TOUCHSCREEN_UNSET_VALUE = 0;
        /**
         * <code>TOUCHSCREEN_NOTOUCH = 1;</code>
         */
        public static final int TOUCHSCREEN_NOTOUCH_VALUE = 1;
        /**
         * <code>TOUCHSCREEN_STYLUS = 2;</code>
         */
        public static final int TOUCHSCREEN_STYLUS_VALUE = 2;
        /**
         * <code>TOUCHSCREEN_FINGER = 3;</code>
         */
        public static final int TOUCHSCREEN_FINGER_VALUE = 3;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 Touchscreen valueOf(int value) {
          return forNumber(value);
        }
  
        public static Touchscreen forNumber(int value) {
          switch (value) {
            case 0: return TOUCHSCREEN_UNSET;
            case 1: return TOUCHSCREEN_NOTOUCH;
            case 2: return TOUCHSCREEN_STYLUS;
            case 3: return TOUCHSCREEN_FINGER;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<Touchscreen>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            Touchscreen> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<Touchscreen>() {
                @java.lang.Override
                public Touchscreen findValueByNumber(int number) {
                  return Touchscreen.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return TouchscreenVerifier.INSTANCE;
        }
  
        private static final class TouchscreenVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new TouchscreenVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return Touchscreen.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private Touchscreen(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.Touchscreen)
      }
  
      /**
       * Protobuf enum {@code Configuration.KeysHidden}
       */
      public enum KeysHidden
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>KEYS_HIDDEN_UNSET = 0;</code>
         */
        KEYS_HIDDEN_UNSET(0),
        /**
         * <code>KEYS_HIDDEN_KEYSEXPOSED = 1;</code>
         */
        KEYS_HIDDEN_KEYSEXPOSED(1),
        /**
         * <code>KEYS_HIDDEN_KEYSHIDDEN = 2;</code>
         */
        KEYS_HIDDEN_KEYSHIDDEN(2),
        /**
         * <code>KEYS_HIDDEN_KEYSSOFT = 3;</code>
         */
        KEYS_HIDDEN_KEYSSOFT(3),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>KEYS_HIDDEN_UNSET = 0;</code>
         */
        public static final int KEYS_HIDDEN_UNSET_VALUE = 0;
        /**
         * <code>KEYS_HIDDEN_KEYSEXPOSED = 1;</code>
         */
        public static final int KEYS_HIDDEN_KEYSEXPOSED_VALUE = 1;
        /**
         * <code>KEYS_HIDDEN_KEYSHIDDEN = 2;</code>
         */
        public static final int KEYS_HIDDEN_KEYSHIDDEN_VALUE = 2;
        /**
         * <code>KEYS_HIDDEN_KEYSSOFT = 3;</code>
         */
        public static final int KEYS_HIDDEN_KEYSSOFT_VALUE = 3;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 KeysHidden valueOf(int value) {
          return forNumber(value);
        }
  
        public static KeysHidden forNumber(int value) {
          switch (value) {
            case 0: return KEYS_HIDDEN_UNSET;
            case 1: return KEYS_HIDDEN_KEYSEXPOSED;
            case 2: return KEYS_HIDDEN_KEYSHIDDEN;
            case 3: return KEYS_HIDDEN_KEYSSOFT;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<KeysHidden>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            KeysHidden> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<KeysHidden>() {
                @java.lang.Override
                public KeysHidden findValueByNumber(int number) {
                  return KeysHidden.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return KeysHiddenVerifier.INSTANCE;
        }
  
        private static final class KeysHiddenVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new KeysHiddenVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return KeysHidden.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private KeysHidden(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.KeysHidden)
      }
  
      /**
       * Protobuf enum {@code Configuration.Keyboard}
       */
      public enum Keyboard
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>KEYBOARD_UNSET = 0;</code>
         */
        KEYBOARD_UNSET(0),
        /**
         * <code>KEYBOARD_NOKEYS = 1;</code>
         */
        KEYBOARD_NOKEYS(1),
        /**
         * <code>KEYBOARD_QWERTY = 2;</code>
         */
        KEYBOARD_QWERTY(2),
        /**
         * <code>KEYBOARD_TWELVEKEY = 3;</code>
         */
        KEYBOARD_TWELVEKEY(3),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>KEYBOARD_UNSET = 0;</code>
         */
        public static final int KEYBOARD_UNSET_VALUE = 0;
        /**
         * <code>KEYBOARD_NOKEYS = 1;</code>
         */
        public static final int KEYBOARD_NOKEYS_VALUE = 1;
        /**
         * <code>KEYBOARD_QWERTY = 2;</code>
         */
        public static final int KEYBOARD_QWERTY_VALUE = 2;
        /**
         * <code>KEYBOARD_TWELVEKEY = 3;</code>
         */
        public static final int KEYBOARD_TWELVEKEY_VALUE = 3;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 Keyboard valueOf(int value) {
          return forNumber(value);
        }
  
        public static Keyboard forNumber(int value) {
          switch (value) {
            case 0: return KEYBOARD_UNSET;
            case 1: return KEYBOARD_NOKEYS;
            case 2: return KEYBOARD_QWERTY;
            case 3: return KEYBOARD_TWELVEKEY;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<Keyboard>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            Keyboard> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<Keyboard>() {
                @java.lang.Override
                public Keyboard findValueByNumber(int number) {
                  return Keyboard.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return KeyboardVerifier.INSTANCE;
        }
  
        private static final class KeyboardVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new KeyboardVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return Keyboard.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private Keyboard(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.Keyboard)
      }
  
      /**
       * Protobuf enum {@code Configuration.NavHidden}
       */
      public enum NavHidden
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>NAV_HIDDEN_UNSET = 0;</code>
         */
        NAV_HIDDEN_UNSET(0),
        /**
         * <code>NAV_HIDDEN_NAVEXPOSED = 1;</code>
         */
        NAV_HIDDEN_NAVEXPOSED(1),
        /**
         * <code>NAV_HIDDEN_NAVHIDDEN = 2;</code>
         */
        NAV_HIDDEN_NAVHIDDEN(2),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>NAV_HIDDEN_UNSET = 0;</code>
         */
        public static final int NAV_HIDDEN_UNSET_VALUE = 0;
        /**
         * <code>NAV_HIDDEN_NAVEXPOSED = 1;</code>
         */
        public static final int NAV_HIDDEN_NAVEXPOSED_VALUE = 1;
        /**
         * <code>NAV_HIDDEN_NAVHIDDEN = 2;</code>
         */
        public static final int NAV_HIDDEN_NAVHIDDEN_VALUE = 2;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 NavHidden valueOf(int value) {
          return forNumber(value);
        }
  
        public static NavHidden forNumber(int value) {
          switch (value) {
            case 0: return NAV_HIDDEN_UNSET;
            case 1: return NAV_HIDDEN_NAVEXPOSED;
            case 2: return NAV_HIDDEN_NAVHIDDEN;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<NavHidden>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            NavHidden> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<NavHidden>() {
                @java.lang.Override
                public NavHidden findValueByNumber(int number) {
                  return NavHidden.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return NavHiddenVerifier.INSTANCE;
        }
  
        private static final class NavHiddenVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new NavHiddenVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return NavHidden.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private NavHidden(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.NavHidden)
      }
  
      /**
       * Protobuf enum {@code Configuration.Navigation}
       */
      public enum Navigation
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>NAVIGATION_UNSET = 0;</code>
         */
        NAVIGATION_UNSET(0),
        /**
         * <code>NAVIGATION_NONAV = 1;</code>
         */
        NAVIGATION_NONAV(1),
        /**
         * <code>NAVIGATION_DPAD = 2;</code>
         */
        NAVIGATION_DPAD(2),
        /**
         * <code>NAVIGATION_TRACKBALL = 3;</code>
         */
        NAVIGATION_TRACKBALL(3),
        /**
         * <code>NAVIGATION_WHEEL = 4;</code>
         */
        NAVIGATION_WHEEL(4),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>NAVIGATION_UNSET = 0;</code>
         */
        public static final int NAVIGATION_UNSET_VALUE = 0;
        /**
         * <code>NAVIGATION_NONAV = 1;</code>
         */
        public static final int NAVIGATION_NONAV_VALUE = 1;
        /**
         * <code>NAVIGATION_DPAD = 2;</code>
         */
        public static final int NAVIGATION_DPAD_VALUE = 2;
        /**
         * <code>NAVIGATION_TRACKBALL = 3;</code>
         */
        public static final int NAVIGATION_TRACKBALL_VALUE = 3;
        /**
         * <code>NAVIGATION_WHEEL = 4;</code>
         */
        public static final int NAVIGATION_WHEEL_VALUE = 4;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 Navigation valueOf(int value) {
          return forNumber(value);
        }
  
        public static Navigation forNumber(int value) {
          switch (value) {
            case 0: return NAVIGATION_UNSET;
            case 1: return NAVIGATION_NONAV;
            case 2: return NAVIGATION_DPAD;
            case 3: return NAVIGATION_TRACKBALL;
            case 4: return NAVIGATION_WHEEL;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<Navigation>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            Navigation> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<Navigation>() {
                @java.lang.Override
                public Navigation findValueByNumber(int number) {
                  return Navigation.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return NavigationVerifier.INSTANCE;
        }
  
        private static final class NavigationVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new NavigationVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return Navigation.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private Navigation(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.Navigation)
      }
  
      /**
       * Protobuf enum {@code Configuration.GrammaticalGender}
       */
      public enum GrammaticalGender
          implements com.google.protobuf.Internal.EnumLite {
        /**
         * <code>GRAM_GENDER_USET = 0;</code>
         */
        GRAM_GENDER_USET(0),
        /**
         * <code>GRAM_GENDER_NEUTER = 1;</code>
         */
        GRAM_GENDER_NEUTER(1),
        /**
         * <code>GRAM_GENDER_FEMININE = 2;</code>
         */
        GRAM_GENDER_FEMININE(2),
        /**
         * <code>GRAM_GENDER_MASCULINE = 3;</code>
         */
        GRAM_GENDER_MASCULINE(3),
        UNRECOGNIZED(-1),
        ;
  
        /**
         * <code>GRAM_GENDER_USET = 0;</code>
         */
        public static final int GRAM_GENDER_USET_VALUE = 0;
        /**
         * <code>GRAM_GENDER_NEUTER = 1;</code>
         */
        public static final int GRAM_GENDER_NEUTER_VALUE = 1;
        /**
         * <code>GRAM_GENDER_FEMININE = 2;</code>
         */
        public static final int GRAM_GENDER_FEMININE_VALUE = 2;
        /**
         * <code>GRAM_GENDER_MASCULINE = 3;</code>
         */
        public static final int GRAM_GENDER_MASCULINE_VALUE = 3;
  
  
        @java.lang.Override
        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          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 GrammaticalGender valueOf(int value) {
          return forNumber(value);
        }
  
        public static GrammaticalGender forNumber(int value) {
          switch (value) {
            case 0: return GRAM_GENDER_USET;
            case 1: return GRAM_GENDER_NEUTER;
            case 2: return GRAM_GENDER_FEMININE;
            case 3: return GRAM_GENDER_MASCULINE;
            default: return null;
          }
        }
  
        public static com.google.protobuf.Internal.EnumLiteMap<GrammaticalGender>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            GrammaticalGender> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<GrammaticalGender>() {
                @java.lang.Override
                public GrammaticalGender findValueByNumber(int number) {
                  return GrammaticalGender.forNumber(number);
                }
              };
  
        public static com.google.protobuf.Internal.EnumVerifier 
            internalGetVerifier() {
          return GrammaticalGenderVerifier.INSTANCE;
        }
  
        private static final class GrammaticalGenderVerifier implements 
             com.google.protobuf.Internal.EnumVerifier { 
                static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new GrammaticalGenderVerifier();
                @java.lang.Override
                public boolean isInRange(int number) {
                  return GrammaticalGender.forNumber(number) != null;
                }
              };
  
        private final int value;
  
        private GrammaticalGender(int value) {
          this.value = value;
        }
  
        // @@protoc_insertion_point(enum_scope:Configuration.GrammaticalGender)
      }
  
      public static final int MCC_FIELD_NUMBER = 1;
      private int mcc_;
      /**
       * <pre>
       *
       * Axis/dimensions that are understood by the runtime.
       *
       * Mobile country code.
       * </pre>
       *
       * <code>uint32 mcc = 1;</code>
       * @return The mcc.
       */
      @java.lang.Override
      public int getMcc() {
        return mcc_;
      }
      /**
       * <pre>
       *
       * Axis/dimensions that are understood by the runtime.
       *
       * Mobile country code.
       * </pre>
       *
       * <code>uint32 mcc = 1;</code>
       * @param value The mcc to set.
       */
      private void setMcc(int value) {
        
        mcc_ = value;
      }
      /**
       * <pre>
       *
       * Axis/dimensions that are understood by the runtime.
       *
       * Mobile country code.
       * </pre>
       *
       * <code>uint32 mcc = 1;</code>
       */
      private void clearMcc() {
  
        mcc_ = 0;
      }
  
      public static final int MNC_FIELD_NUMBER = 2;
      private int mnc_;
      /**
       * <pre>
       * Mobile network code.
       * </pre>
       *
       * <code>uint32 mnc = 2;</code>
       * @return The mnc.
       */
      @java.lang.Override
      public int getMnc() {
        return mnc_;
      }
      /**
       * <pre>
       * Mobile network code.
       * </pre>
       *
       * <code>uint32 mnc = 2;</code>
       * @param value The mnc to set.
       */
      private void setMnc(int value) {
        
        mnc_ = value;
      }
      /**
       * <pre>
       * Mobile network code.
       * </pre>
       *
       * <code>uint32 mnc = 2;</code>
       */
      private void clearMnc() {
  
        mnc_ = 0;
      }
  
      public static final int LOCALE_FIELD_NUMBER = 3;
      private java.lang.String locale_;
      /**
       * <pre>
       * BCP-47 locale tag.
       * </pre>
       *
       * <code>string locale = 3;</code>
       * @return The locale.
       */
      @java.lang.Override
      public java.lang.String getLocale() {
        return locale_;
      }
      /**
       * <pre>
       * BCP-47 locale tag.
       * </pre>
       *
       * <code>string locale = 3;</code>
       * @return The bytes for locale.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLocaleBytes() {
        return com.google.protobuf.ByteString.copyFromUtf8(locale_);
      }
      /**
       * <pre>
       * BCP-47 locale tag.
       * </pre>
       *
       * <code>string locale = 3;</code>
       * @param value The locale to set.
       */
      private void setLocale(
          java.lang.String value) {
        java.lang.Class<?> valueClass = value.getClass();
    
        locale_ = value;
      }
      /**
       * <pre>
       * BCP-47 locale tag.
       * </pre>
       *
       * <code>string locale = 3;</code>
       */
      private void clearLocale() {
  
        locale_ = getDefaultInstance().getLocale();
      }
      /**
       * <pre>
       * BCP-47 locale tag.
       * </pre>
       *
       * <code>string locale = 3;</code>
       * @param value The bytes for locale to set.
       */
      private void setLocaleBytes(
          com.google.protobuf.ByteString value) {
        checkByteStringIsUtf8(value);
        locale_ = value.toStringUtf8();
  
      }
  
      public static final int LAYOUT_DIRECTION_FIELD_NUMBER = 4;
      private int layoutDirection_;
      /**
       * <pre>
       * Left-to-right, right-to-left...
       * </pre>
       *
       * <code>.Configuration.LayoutDirection layout_direction = 4;</code>
       * @return The enum numeric value on the wire for layoutDirection.
       */
      @java.lang.Override
      public int getLayoutDirectionValue() {
        return layoutDirection_;
      }
      /**
       * <pre>
       * Left-to-right, right-to-left...
       * </pre>
       *
       * <code>.Configuration.LayoutDirection layout_direction = 4;</code>
       * @return The layoutDirection.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.LayoutDirection getLayoutDirection() {
        com.android.aapt.ConfigurationOuterClass.Configuration.LayoutDirection result = com.android.aapt.ConfigurationOuterClass.Configuration.LayoutDirection.forNumber(layoutDirection_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.LayoutDirection.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Left-to-right, right-to-left...
       * </pre>
       *
       * <code>.Configuration.LayoutDirection layout_direction = 4;</code>
       * @param value The enum numeric value on the wire for layoutDirection to set.
       */
      private void setLayoutDirectionValue(int value) {
          layoutDirection_ = value;
      }
      /**
       * <pre>
       * Left-to-right, right-to-left...
       * </pre>
       *
       * <code>.Configuration.LayoutDirection layout_direction = 4;</code>
       * @param value The layoutDirection to set.
       */
      private void setLayoutDirection(com.android.aapt.ConfigurationOuterClass.Configuration.LayoutDirection value) {
        layoutDirection_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Left-to-right, right-to-left...
       * </pre>
       *
       * <code>.Configuration.LayoutDirection layout_direction = 4;</code>
       */
      private void clearLayoutDirection() {
  
        layoutDirection_ = 0;
      }
  
      public static final int SCREEN_WIDTH_FIELD_NUMBER = 5;
      private int screenWidth_;
      /**
       * <pre>
       * Screen width in pixels. Prefer screen_width_dp.
       * </pre>
       *
       * <code>uint32 screen_width = 5;</code>
       * @return The screenWidth.
       */
      @java.lang.Override
      public int getScreenWidth() {
        return screenWidth_;
      }
      /**
       * <pre>
       * Screen width in pixels. Prefer screen_width_dp.
       * </pre>
       *
       * <code>uint32 screen_width = 5;</code>
       * @param value The screenWidth to set.
       */
      private void setScreenWidth(int value) {
        
        screenWidth_ = value;
      }
      /**
       * <pre>
       * Screen width in pixels. Prefer screen_width_dp.
       * </pre>
       *
       * <code>uint32 screen_width = 5;</code>
       */
      private void clearScreenWidth() {
  
        screenWidth_ = 0;
      }
  
      public static final int SCREEN_HEIGHT_FIELD_NUMBER = 6;
      private int screenHeight_;
      /**
       * <pre>
       * Screen height in pixels. Prefer screen_height_dp.
       * </pre>
       *
       * <code>uint32 screen_height = 6;</code>
       * @return The screenHeight.
       */
      @java.lang.Override
      public int getScreenHeight() {
        return screenHeight_;
      }
      /**
       * <pre>
       * Screen height in pixels. Prefer screen_height_dp.
       * </pre>
       *
       * <code>uint32 screen_height = 6;</code>
       * @param value The screenHeight to set.
       */
      private void setScreenHeight(int value) {
        
        screenHeight_ = value;
      }
      /**
       * <pre>
       * Screen height in pixels. Prefer screen_height_dp.
       * </pre>
       *
       * <code>uint32 screen_height = 6;</code>
       */
      private void clearScreenHeight() {
  
        screenHeight_ = 0;
      }
  
      public static final int SCREEN_WIDTH_DP_FIELD_NUMBER = 7;
      private int screenWidthDp_;
      /**
       * <pre>
       * Screen width in density independent pixels (dp).
       * </pre>
       *
       * <code>uint32 screen_width_dp = 7;</code>
       * @return The screenWidthDp.
       */
      @java.lang.Override
      public int getScreenWidthDp() {
        return screenWidthDp_;
      }
      /**
       * <pre>
       * Screen width in density independent pixels (dp).
       * </pre>
       *
       * <code>uint32 screen_width_dp = 7;</code>
       * @param value The screenWidthDp to set.
       */
      private void setScreenWidthDp(int value) {
        
        screenWidthDp_ = value;
      }
      /**
       * <pre>
       * Screen width in density independent pixels (dp).
       * </pre>
       *
       * <code>uint32 screen_width_dp = 7;</code>
       */
      private void clearScreenWidthDp() {
  
        screenWidthDp_ = 0;
      }
  
      public static final int SCREEN_HEIGHT_DP_FIELD_NUMBER = 8;
      private int screenHeightDp_;
      /**
       * <pre>
       * Screen height in density independent pixels (dp).
       * </pre>
       *
       * <code>uint32 screen_height_dp = 8;</code>
       * @return The screenHeightDp.
       */
      @java.lang.Override
      public int getScreenHeightDp() {
        return screenHeightDp_;
      }
      /**
       * <pre>
       * Screen height in density independent pixels (dp).
       * </pre>
       *
       * <code>uint32 screen_height_dp = 8;</code>
       * @param value The screenHeightDp to set.
       */
      private void setScreenHeightDp(int value) {
        
        screenHeightDp_ = value;
      }
      /**
       * <pre>
       * Screen height in density independent pixels (dp).
       * </pre>
       *
       * <code>uint32 screen_height_dp = 8;</code>
       */
      private void clearScreenHeightDp() {
  
        screenHeightDp_ = 0;
      }
  
      public static final int SMALLEST_SCREEN_WIDTH_DP_FIELD_NUMBER = 9;
      private int smallestScreenWidthDp_;
      /**
       * <pre>
       * The smallest screen dimension, regardless of orientation, in dp.
       * </pre>
       *
       * <code>uint32 smallest_screen_width_dp = 9;</code>
       * @return The smallestScreenWidthDp.
       */
      @java.lang.Override
      public int getSmallestScreenWidthDp() {
        return smallestScreenWidthDp_;
      }
      /**
       * <pre>
       * The smallest screen dimension, regardless of orientation, in dp.
       * </pre>
       *
       * <code>uint32 smallest_screen_width_dp = 9;</code>
       * @param value The smallestScreenWidthDp to set.
       */
      private void setSmallestScreenWidthDp(int value) {
        
        smallestScreenWidthDp_ = value;
      }
      /**
       * <pre>
       * The smallest screen dimension, regardless of orientation, in dp.
       * </pre>
       *
       * <code>uint32 smallest_screen_width_dp = 9;</code>
       */
      private void clearSmallestScreenWidthDp() {
  
        smallestScreenWidthDp_ = 0;
      }
  
      public static final int SCREEN_LAYOUT_SIZE_FIELD_NUMBER = 10;
      private int screenLayoutSize_;
      /**
       * <pre>
       * Whether the device screen is classified as small, normal, large, xlarge.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutSize screen_layout_size = 10;</code>
       * @return The enum numeric value on the wire for screenLayoutSize.
       */
      @java.lang.Override
      public int getScreenLayoutSizeValue() {
        return screenLayoutSize_;
      }
      /**
       * <pre>
       * Whether the device screen is classified as small, normal, large, xlarge.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutSize screen_layout_size = 10;</code>
       * @return The screenLayoutSize.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutSize getScreenLayoutSize() {
        com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutSize result = com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutSize.forNumber(screenLayoutSize_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutSize.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Whether the device screen is classified as small, normal, large, xlarge.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutSize screen_layout_size = 10;</code>
       * @param value The enum numeric value on the wire for screenLayoutSize to set.
       */
      private void setScreenLayoutSizeValue(int value) {
          screenLayoutSize_ = value;
      }
      /**
       * <pre>
       * Whether the device screen is classified as small, normal, large, xlarge.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutSize screen_layout_size = 10;</code>
       * @param value The screenLayoutSize to set.
       */
      private void setScreenLayoutSize(com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutSize value) {
        screenLayoutSize_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Whether the device screen is classified as small, normal, large, xlarge.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutSize screen_layout_size = 10;</code>
       */
      private void clearScreenLayoutSize() {
  
        screenLayoutSize_ = 0;
      }
  
      public static final int SCREEN_LAYOUT_LONG_FIELD_NUMBER = 11;
      private int screenLayoutLong_;
      /**
       * <pre>
       * Whether the device screen is long.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutLong screen_layout_long = 11;</code>
       * @return The enum numeric value on the wire for screenLayoutLong.
       */
      @java.lang.Override
      public int getScreenLayoutLongValue() {
        return screenLayoutLong_;
      }
      /**
       * <pre>
       * Whether the device screen is long.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutLong screen_layout_long = 11;</code>
       * @return The screenLayoutLong.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutLong getScreenLayoutLong() {
        com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutLong result = com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutLong.forNumber(screenLayoutLong_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutLong.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Whether the device screen is long.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutLong screen_layout_long = 11;</code>
       * @param value The enum numeric value on the wire for screenLayoutLong to set.
       */
      private void setScreenLayoutLongValue(int value) {
          screenLayoutLong_ = value;
      }
      /**
       * <pre>
       * Whether the device screen is long.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutLong screen_layout_long = 11;</code>
       * @param value The screenLayoutLong to set.
       */
      private void setScreenLayoutLong(com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutLong value) {
        screenLayoutLong_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Whether the device screen is long.
       * </pre>
       *
       * <code>.Configuration.ScreenLayoutLong screen_layout_long = 11;</code>
       */
      private void clearScreenLayoutLong() {
  
        screenLayoutLong_ = 0;
      }
  
      public static final int SCREEN_ROUND_FIELD_NUMBER = 12;
      private int screenRound_;
      /**
       * <pre>
       * Whether the screen is round (Android Wear).
       * </pre>
       *
       * <code>.Configuration.ScreenRound screen_round = 12;</code>
       * @return The enum numeric value on the wire for screenRound.
       */
      @java.lang.Override
      public int getScreenRoundValue() {
        return screenRound_;
      }
      /**
       * <pre>
       * Whether the screen is round (Android Wear).
       * </pre>
       *
       * <code>.Configuration.ScreenRound screen_round = 12;</code>
       * @return The screenRound.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.ScreenRound getScreenRound() {
        com.android.aapt.ConfigurationOuterClass.Configuration.ScreenRound result = com.android.aapt.ConfigurationOuterClass.Configuration.ScreenRound.forNumber(screenRound_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.ScreenRound.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Whether the screen is round (Android Wear).
       * </pre>
       *
       * <code>.Configuration.ScreenRound screen_round = 12;</code>
       * @param value The enum numeric value on the wire for screenRound to set.
       */
      private void setScreenRoundValue(int value) {
          screenRound_ = value;
      }
      /**
       * <pre>
       * Whether the screen is round (Android Wear).
       * </pre>
       *
       * <code>.Configuration.ScreenRound screen_round = 12;</code>
       * @param value The screenRound to set.
       */
      private void setScreenRound(com.android.aapt.ConfigurationOuterClass.Configuration.ScreenRound value) {
        screenRound_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Whether the screen is round (Android Wear).
       * </pre>
       *
       * <code>.Configuration.ScreenRound screen_round = 12;</code>
       */
      private void clearScreenRound() {
  
        screenRound_ = 0;
      }
  
      public static final int WIDE_COLOR_GAMUT_FIELD_NUMBER = 13;
      private int wideColorGamut_;
      /**
       * <pre>
       * Whether the screen supports wide color gamut.
       * </pre>
       *
       * <code>.Configuration.WideColorGamut wide_color_gamut = 13;</code>
       * @return The enum numeric value on the wire for wideColorGamut.
       */
      @java.lang.Override
      public int getWideColorGamutValue() {
        return wideColorGamut_;
      }
      /**
       * <pre>
       * Whether the screen supports wide color gamut.
       * </pre>
       *
       * <code>.Configuration.WideColorGamut wide_color_gamut = 13;</code>
       * @return The wideColorGamut.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.WideColorGamut getWideColorGamut() {
        com.android.aapt.ConfigurationOuterClass.Configuration.WideColorGamut result = com.android.aapt.ConfigurationOuterClass.Configuration.WideColorGamut.forNumber(wideColorGamut_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.WideColorGamut.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Whether the screen supports wide color gamut.
       * </pre>
       *
       * <code>.Configuration.WideColorGamut wide_color_gamut = 13;</code>
       * @param value The enum numeric value on the wire for wideColorGamut to set.
       */
      private void setWideColorGamutValue(int value) {
          wideColorGamut_ = value;
      }
      /**
       * <pre>
       * Whether the screen supports wide color gamut.
       * </pre>
       *
       * <code>.Configuration.WideColorGamut wide_color_gamut = 13;</code>
       * @param value The wideColorGamut to set.
       */
      private void setWideColorGamut(com.android.aapt.ConfigurationOuterClass.Configuration.WideColorGamut value) {
        wideColorGamut_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Whether the screen supports wide color gamut.
       * </pre>
       *
       * <code>.Configuration.WideColorGamut wide_color_gamut = 13;</code>
       */
      private void clearWideColorGamut() {
  
        wideColorGamut_ = 0;
      }
  
      public static final int HDR_FIELD_NUMBER = 14;
      private int hdr_;
      /**
       * <pre>
       * Whether the screen has high dynamic range.
       * </pre>
       *
       * <code>.Configuration.Hdr hdr = 14;</code>
       * @return The enum numeric value on the wire for hdr.
       */
      @java.lang.Override
      public int getHdrValue() {
        return hdr_;
      }
      /**
       * <pre>
       * Whether the screen has high dynamic range.
       * </pre>
       *
       * <code>.Configuration.Hdr hdr = 14;</code>
       * @return The hdr.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.Hdr getHdr() {
        com.android.aapt.ConfigurationOuterClass.Configuration.Hdr result = com.android.aapt.ConfigurationOuterClass.Configuration.Hdr.forNumber(hdr_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.Hdr.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Whether the screen has high dynamic range.
       * </pre>
       *
       * <code>.Configuration.Hdr hdr = 14;</code>
       * @param value The enum numeric value on the wire for hdr to set.
       */
      private void setHdrValue(int value) {
          hdr_ = value;
      }
      /**
       * <pre>
       * Whether the screen has high dynamic range.
       * </pre>
       *
       * <code>.Configuration.Hdr hdr = 14;</code>
       * @param value The hdr to set.
       */
      private void setHdr(com.android.aapt.ConfigurationOuterClass.Configuration.Hdr value) {
        hdr_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Whether the screen has high dynamic range.
       * </pre>
       *
       * <code>.Configuration.Hdr hdr = 14;</code>
       */
      private void clearHdr() {
  
        hdr_ = 0;
      }
  
      public static final int ORIENTATION_FIELD_NUMBER = 15;
      private int orientation_;
      /**
       * <pre>
       * Which orientation the device is in (portrait, landscape).
       * </pre>
       *
       * <code>.Configuration.Orientation orientation = 15;</code>
       * @return The enum numeric value on the wire for orientation.
       */
      @java.lang.Override
      public int getOrientationValue() {
        return orientation_;
      }
      /**
       * <pre>
       * Which orientation the device is in (portrait, landscape).
       * </pre>
       *
       * <code>.Configuration.Orientation orientation = 15;</code>
       * @return The orientation.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.Orientation getOrientation() {
        com.android.aapt.ConfigurationOuterClass.Configuration.Orientation result = com.android.aapt.ConfigurationOuterClass.Configuration.Orientation.forNumber(orientation_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.Orientation.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Which orientation the device is in (portrait, landscape).
       * </pre>
       *
       * <code>.Configuration.Orientation orientation = 15;</code>
       * @param value The enum numeric value on the wire for orientation to set.
       */
      private void setOrientationValue(int value) {
          orientation_ = value;
      }
      /**
       * <pre>
       * Which orientation the device is in (portrait, landscape).
       * </pre>
       *
       * <code>.Configuration.Orientation orientation = 15;</code>
       * @param value The orientation to set.
       */
      private void setOrientation(com.android.aapt.ConfigurationOuterClass.Configuration.Orientation value) {
        orientation_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Which orientation the device is in (portrait, landscape).
       * </pre>
       *
       * <code>.Configuration.Orientation orientation = 15;</code>
       */
      private void clearOrientation() {
  
        orientation_ = 0;
      }
  
      public static final int UI_MODE_TYPE_FIELD_NUMBER = 16;
      private int uiModeType_;
      /**
       * <pre>
       * Which type of UI mode the device is in (television, car, etc.).
       * </pre>
       *
       * <code>.Configuration.UiModeType ui_mode_type = 16;</code>
       * @return The enum numeric value on the wire for uiModeType.
       */
      @java.lang.Override
      public int getUiModeTypeValue() {
        return uiModeType_;
      }
      /**
       * <pre>
       * Which type of UI mode the device is in (television, car, etc.).
       * </pre>
       *
       * <code>.Configuration.UiModeType ui_mode_type = 16;</code>
       * @return The uiModeType.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.UiModeType getUiModeType() {
        com.android.aapt.ConfigurationOuterClass.Configuration.UiModeType result = com.android.aapt.ConfigurationOuterClass.Configuration.UiModeType.forNumber(uiModeType_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.UiModeType.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Which type of UI mode the device is in (television, car, etc.).
       * </pre>
       *
       * <code>.Configuration.UiModeType ui_mode_type = 16;</code>
       * @param value The enum numeric value on the wire for uiModeType to set.
       */
      private void setUiModeTypeValue(int value) {
          uiModeType_ = value;
      }
      /**
       * <pre>
       * Which type of UI mode the device is in (television, car, etc.).
       * </pre>
       *
       * <code>.Configuration.UiModeType ui_mode_type = 16;</code>
       * @param value The uiModeType to set.
       */
      private void setUiModeType(com.android.aapt.ConfigurationOuterClass.Configuration.UiModeType value) {
        uiModeType_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Which type of UI mode the device is in (television, car, etc.).
       * </pre>
       *
       * <code>.Configuration.UiModeType ui_mode_type = 16;</code>
       */
      private void clearUiModeType() {
  
        uiModeType_ = 0;
      }
  
      public static final int UI_MODE_NIGHT_FIELD_NUMBER = 17;
      private int uiModeNight_;
      /**
       * <pre>
       * Whether the device is in night mode.
       * </pre>
       *
       * <code>.Configuration.UiModeNight ui_mode_night = 17;</code>
       * @return The enum numeric value on the wire for uiModeNight.
       */
      @java.lang.Override
      public int getUiModeNightValue() {
        return uiModeNight_;
      }
      /**
       * <pre>
       * Whether the device is in night mode.
       * </pre>
       *
       * <code>.Configuration.UiModeNight ui_mode_night = 17;</code>
       * @return The uiModeNight.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.UiModeNight getUiModeNight() {
        com.android.aapt.ConfigurationOuterClass.Configuration.UiModeNight result = com.android.aapt.ConfigurationOuterClass.Configuration.UiModeNight.forNumber(uiModeNight_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.UiModeNight.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Whether the device is in night mode.
       * </pre>
       *
       * <code>.Configuration.UiModeNight ui_mode_night = 17;</code>
       * @param value The enum numeric value on the wire for uiModeNight to set.
       */
      private void setUiModeNightValue(int value) {
          uiModeNight_ = value;
      }
      /**
       * <pre>
       * Whether the device is in night mode.
       * </pre>
       *
       * <code>.Configuration.UiModeNight ui_mode_night = 17;</code>
       * @param value The uiModeNight to set.
       */
      private void setUiModeNight(com.android.aapt.ConfigurationOuterClass.Configuration.UiModeNight value) {
        uiModeNight_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Whether the device is in night mode.
       * </pre>
       *
       * <code>.Configuration.UiModeNight ui_mode_night = 17;</code>
       */
      private void clearUiModeNight() {
  
        uiModeNight_ = 0;
      }
  
      public static final int DENSITY_FIELD_NUMBER = 18;
      private int density_;
      /**
       * <pre>
       * The device's screen density in dots-per-inch (dpi).
       * </pre>
       *
       * <code>uint32 density = 18;</code>
       * @return The density.
       */
      @java.lang.Override
      public int getDensity() {
        return density_;
      }
      /**
       * <pre>
       * The device's screen density in dots-per-inch (dpi).
       * </pre>
       *
       * <code>uint32 density = 18;</code>
       * @param value The density to set.
       */
      private void setDensity(int value) {
        
        density_ = value;
      }
      /**
       * <pre>
       * The device's screen density in dots-per-inch (dpi).
       * </pre>
       *
       * <code>uint32 density = 18;</code>
       */
      private void clearDensity() {
  
        density_ = 0;
      }
  
      public static final int TOUCHSCREEN_FIELD_NUMBER = 19;
      private int touchscreen_;
      /**
       * <pre>
       * Whether a touchscreen exists, supports a stylus, or finger.
       * </pre>
       *
       * <code>.Configuration.Touchscreen touchscreen = 19;</code>
       * @return The enum numeric value on the wire for touchscreen.
       */
      @java.lang.Override
      public int getTouchscreenValue() {
        return touchscreen_;
      }
      /**
       * <pre>
       * Whether a touchscreen exists, supports a stylus, or finger.
       * </pre>
       *
       * <code>.Configuration.Touchscreen touchscreen = 19;</code>
       * @return The touchscreen.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.Touchscreen getTouchscreen() {
        com.android.aapt.ConfigurationOuterClass.Configuration.Touchscreen result = com.android.aapt.ConfigurationOuterClass.Configuration.Touchscreen.forNumber(touchscreen_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.Touchscreen.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Whether a touchscreen exists, supports a stylus, or finger.
       * </pre>
       *
       * <code>.Configuration.Touchscreen touchscreen = 19;</code>
       * @param value The enum numeric value on the wire for touchscreen to set.
       */
      private void setTouchscreenValue(int value) {
          touchscreen_ = value;
      }
      /**
       * <pre>
       * Whether a touchscreen exists, supports a stylus, or finger.
       * </pre>
       *
       * <code>.Configuration.Touchscreen touchscreen = 19;</code>
       * @param value The touchscreen to set.
       */
      private void setTouchscreen(com.android.aapt.ConfigurationOuterClass.Configuration.Touchscreen value) {
        touchscreen_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Whether a touchscreen exists, supports a stylus, or finger.
       * </pre>
       *
       * <code>.Configuration.Touchscreen touchscreen = 19;</code>
       */
      private void clearTouchscreen() {
  
        touchscreen_ = 0;
      }
  
      public static final int KEYS_HIDDEN_FIELD_NUMBER = 20;
      private int keysHidden_;
      /**
       * <pre>
       * Whether the keyboard hardware keys are currently hidden, exposed, or
       * if the keyboard is a software keyboard.
       * </pre>
       *
       * <code>.Configuration.KeysHidden keys_hidden = 20;</code>
       * @return The enum numeric value on the wire for keysHidden.
       */
      @java.lang.Override
      public int getKeysHiddenValue() {
        return keysHidden_;
      }
      /**
       * <pre>
       * Whether the keyboard hardware keys are currently hidden, exposed, or
       * if the keyboard is a software keyboard.
       * </pre>
       *
       * <code>.Configuration.KeysHidden keys_hidden = 20;</code>
       * @return The keysHidden.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.KeysHidden getKeysHidden() {
        com.android.aapt.ConfigurationOuterClass.Configuration.KeysHidden result = com.android.aapt.ConfigurationOuterClass.Configuration.KeysHidden.forNumber(keysHidden_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.KeysHidden.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Whether the keyboard hardware keys are currently hidden, exposed, or
       * if the keyboard is a software keyboard.
       * </pre>
       *
       * <code>.Configuration.KeysHidden keys_hidden = 20;</code>
       * @param value The enum numeric value on the wire for keysHidden to set.
       */
      private void setKeysHiddenValue(int value) {
          keysHidden_ = value;
      }
      /**
       * <pre>
       * Whether the keyboard hardware keys are currently hidden, exposed, or
       * if the keyboard is a software keyboard.
       * </pre>
       *
       * <code>.Configuration.KeysHidden keys_hidden = 20;</code>
       * @param value The keysHidden to set.
       */
      private void setKeysHidden(com.android.aapt.ConfigurationOuterClass.Configuration.KeysHidden value) {
        keysHidden_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Whether the keyboard hardware keys are currently hidden, exposed, or
       * if the keyboard is a software keyboard.
       * </pre>
       *
       * <code>.Configuration.KeysHidden keys_hidden = 20;</code>
       */
      private void clearKeysHidden() {
  
        keysHidden_ = 0;
      }
  
      public static final int KEYBOARD_FIELD_NUMBER = 21;
      private int keyboard_;
      /**
       * <pre>
       * The type of keyboard present (none, QWERTY, 12-key).
       * </pre>
       *
       * <code>.Configuration.Keyboard keyboard = 21;</code>
       * @return The enum numeric value on the wire for keyboard.
       */
      @java.lang.Override
      public int getKeyboardValue() {
        return keyboard_;
      }
      /**
       * <pre>
       * The type of keyboard present (none, QWERTY, 12-key).
       * </pre>
       *
       * <code>.Configuration.Keyboard keyboard = 21;</code>
       * @return The keyboard.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.Keyboard getKeyboard() {
        com.android.aapt.ConfigurationOuterClass.Configuration.Keyboard result = com.android.aapt.ConfigurationOuterClass.Configuration.Keyboard.forNumber(keyboard_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.Keyboard.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * The type of keyboard present (none, QWERTY, 12-key).
       * </pre>
       *
       * <code>.Configuration.Keyboard keyboard = 21;</code>
       * @param value The enum numeric value on the wire for keyboard to set.
       */
      private void setKeyboardValue(int value) {
          keyboard_ = value;
      }
      /**
       * <pre>
       * The type of keyboard present (none, QWERTY, 12-key).
       * </pre>
       *
       * <code>.Configuration.Keyboard keyboard = 21;</code>
       * @param value The keyboard to set.
       */
      private void setKeyboard(com.android.aapt.ConfigurationOuterClass.Configuration.Keyboard value) {
        keyboard_ = value.getNumber();
  
      }
      /**
       * <pre>
       * The type of keyboard present (none, QWERTY, 12-key).
       * </pre>
       *
       * <code>.Configuration.Keyboard keyboard = 21;</code>
       */
      private void clearKeyboard() {
  
        keyboard_ = 0;
      }
  
      public static final int NAV_HIDDEN_FIELD_NUMBER = 22;
      private int navHidden_;
      /**
       * <pre>
       * Whether the navigation is exposed or hidden.
       * </pre>
       *
       * <code>.Configuration.NavHidden nav_hidden = 22;</code>
       * @return The enum numeric value on the wire for navHidden.
       */
      @java.lang.Override
      public int getNavHiddenValue() {
        return navHidden_;
      }
      /**
       * <pre>
       * Whether the navigation is exposed or hidden.
       * </pre>
       *
       * <code>.Configuration.NavHidden nav_hidden = 22;</code>
       * @return The navHidden.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.NavHidden getNavHidden() {
        com.android.aapt.ConfigurationOuterClass.Configuration.NavHidden result = com.android.aapt.ConfigurationOuterClass.Configuration.NavHidden.forNumber(navHidden_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.NavHidden.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Whether the navigation is exposed or hidden.
       * </pre>
       *
       * <code>.Configuration.NavHidden nav_hidden = 22;</code>
       * @param value The enum numeric value on the wire for navHidden to set.
       */
      private void setNavHiddenValue(int value) {
          navHidden_ = value;
      }
      /**
       * <pre>
       * Whether the navigation is exposed or hidden.
       * </pre>
       *
       * <code>.Configuration.NavHidden nav_hidden = 22;</code>
       * @param value The navHidden to set.
       */
      private void setNavHidden(com.android.aapt.ConfigurationOuterClass.Configuration.NavHidden value) {
        navHidden_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Whether the navigation is exposed or hidden.
       * </pre>
       *
       * <code>.Configuration.NavHidden nav_hidden = 22;</code>
       */
      private void clearNavHidden() {
  
        navHidden_ = 0;
      }
  
      public static final int NAVIGATION_FIELD_NUMBER = 23;
      private int navigation_;
      /**
       * <pre>
       * The type of navigation present on the device
       * (trackball, wheel, dpad, etc.).
       * </pre>
       *
       * <code>.Configuration.Navigation navigation = 23;</code>
       * @return The enum numeric value on the wire for navigation.
       */
      @java.lang.Override
      public int getNavigationValue() {
        return navigation_;
      }
      /**
       * <pre>
       * The type of navigation present on the device
       * (trackball, wheel, dpad, etc.).
       * </pre>
       *
       * <code>.Configuration.Navigation navigation = 23;</code>
       * @return The navigation.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.Navigation getNavigation() {
        com.android.aapt.ConfigurationOuterClass.Configuration.Navigation result = com.android.aapt.ConfigurationOuterClass.Configuration.Navigation.forNumber(navigation_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.Navigation.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * The type of navigation present on the device
       * (trackball, wheel, dpad, etc.).
       * </pre>
       *
       * <code>.Configuration.Navigation navigation = 23;</code>
       * @param value The enum numeric value on the wire for navigation to set.
       */
      private void setNavigationValue(int value) {
          navigation_ = value;
      }
      /**
       * <pre>
       * The type of navigation present on the device
       * (trackball, wheel, dpad, etc.).
       * </pre>
       *
       * <code>.Configuration.Navigation navigation = 23;</code>
       * @param value The navigation to set.
       */
      private void setNavigation(com.android.aapt.ConfigurationOuterClass.Configuration.Navigation value) {
        navigation_ = value.getNumber();
  
      }
      /**
       * <pre>
       * The type of navigation present on the device
       * (trackball, wheel, dpad, etc.).
       * </pre>
       *
       * <code>.Configuration.Navigation navigation = 23;</code>
       */
      private void clearNavigation() {
  
        navigation_ = 0;
      }
  
      public static final int SDK_VERSION_FIELD_NUMBER = 24;
      private int sdkVersion_;
      /**
       * <pre>
       * The minimum SDK version of the device.
       * </pre>
       *
       * <code>uint32 sdk_version = 24;</code>
       * @return The sdkVersion.
       */
      @java.lang.Override
      public int getSdkVersion() {
        return sdkVersion_;
      }
      /**
       * <pre>
       * The minimum SDK version of the device.
       * </pre>
       *
       * <code>uint32 sdk_version = 24;</code>
       * @param value The sdkVersion to set.
       */
      private void setSdkVersion(int value) {
        
        sdkVersion_ = value;
      }
      /**
       * <pre>
       * The minimum SDK version of the device.
       * </pre>
       *
       * <code>uint32 sdk_version = 24;</code>
       */
      private void clearSdkVersion() {
  
        sdkVersion_ = 0;
      }
  
      public static final int GRAMMATICAL_GENDER_FIELD_NUMBER = 26;
      private int grammaticalGender_;
      /**
       * <pre>
       * Grammatical gender.
       * </pre>
       *
       * <code>.Configuration.GrammaticalGender grammatical_gender = 26;</code>
       * @return The enum numeric value on the wire for grammaticalGender.
       */
      @java.lang.Override
      public int getGrammaticalGenderValue() {
        return grammaticalGender_;
      }
      /**
       * <pre>
       * Grammatical gender.
       * </pre>
       *
       * <code>.Configuration.GrammaticalGender grammatical_gender = 26;</code>
       * @return The grammaticalGender.
       */
      @java.lang.Override
      public com.android.aapt.ConfigurationOuterClass.Configuration.GrammaticalGender getGrammaticalGender() {
        com.android.aapt.ConfigurationOuterClass.Configuration.GrammaticalGender result = com.android.aapt.ConfigurationOuterClass.Configuration.GrammaticalGender.forNumber(grammaticalGender_);
        return result == null ? com.android.aapt.ConfigurationOuterClass.Configuration.GrammaticalGender.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       * Grammatical gender.
       * </pre>
       *
       * <code>.Configuration.GrammaticalGender grammatical_gender = 26;</code>
       * @param value The enum numeric value on the wire for grammaticalGender to set.
       */
      private void setGrammaticalGenderValue(int value) {
          grammaticalGender_ = value;
      }
      /**
       * <pre>
       * Grammatical gender.
       * </pre>
       *
       * <code>.Configuration.GrammaticalGender grammatical_gender = 26;</code>
       * @param value The grammaticalGender to set.
       */
      private void setGrammaticalGender(com.android.aapt.ConfigurationOuterClass.Configuration.GrammaticalGender value) {
        grammaticalGender_ = value.getNumber();
  
      }
      /**
       * <pre>
       * Grammatical gender.
       * </pre>
       *
       * <code>.Configuration.GrammaticalGender grammatical_gender = 26;</code>
       */
      private void clearGrammaticalGender() {
  
        grammaticalGender_ = 0;
      }
  
      public static final int PRODUCT_FIELD_NUMBER = 25;
      private java.lang.String product_;
      /**
       * <pre>
       *
       * Build-time only dimensions.
       * </pre>
       *
       * <code>string product = 25;</code>
       * @return The product.
       */
      @java.lang.Override
      public java.lang.String getProduct() {
        return product_;
      }
      /**
       * <pre>
       *
       * Build-time only dimensions.
       * </pre>
       *
       * <code>string product = 25;</code>
       * @return The bytes for product.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getProductBytes() {
        return com.google.protobuf.ByteString.copyFromUtf8(product_);
      }
      /**
       * <pre>
       *
       * Build-time only dimensions.
       * </pre>
       *
       * <code>string product = 25;</code>
       * @param value The product to set.
       */
      private void setProduct(
          java.lang.String value) {
        java.lang.Class<?> valueClass = value.getClass();
    
        product_ = value;
      }
      /**
       * <pre>
       *
       * Build-time only dimensions.
       * </pre>
       *
       * <code>string product = 25;</code>
       */
      private void clearProduct() {
  
        product_ = getDefaultInstance().getProduct();
      }
      /**
       * <pre>
       *
       * Build-time only dimensions.
       * </pre>
       *
       * <code>string product = 25;</code>
       * @param value The bytes for product to set.
       */
      private void setProductBytes(
          com.google.protobuf.ByteString value) {
        checkByteStringIsUtf8(value);
        product_ = value.toStringUtf8();
  
      }
  
      public static com.android.aapt.ConfigurationOuterClass.Configuration parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static com.android.aapt.ConfigurationOuterClass.Configuration 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 com.android.aapt.ConfigurationOuterClass.Configuration parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static com.android.aapt.ConfigurationOuterClass.Configuration 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 com.android.aapt.ConfigurationOuterClass.Configuration parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static com.android.aapt.ConfigurationOuterClass.Configuration 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 com.android.aapt.ConfigurationOuterClass.Configuration parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static com.android.aapt.ConfigurationOuterClass.Configuration 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 com.android.aapt.ConfigurationOuterClass.Configuration parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }
  
      public static com.android.aapt.ConfigurationOuterClass.Configuration parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static com.android.aapt.ConfigurationOuterClass.Configuration parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static com.android.aapt.ConfigurationOuterClass.Configuration 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(com.android.aapt.ConfigurationOuterClass.Configuration prototype) {
        return DEFAULT_INSTANCE.createBuilder(prototype);
      }
  
      /**
       * <pre>
       * A description of the requirements a device must have in order for a
       * resource to be matched and selected.
       * </pre>
       *
       * Protobuf type {@code Configuration}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            com.android.aapt.ConfigurationOuterClass.Configuration, Builder> implements
          // @@protoc_insertion_point(builder_implements:Configuration)
          com.android.aapt.ConfigurationOuterClass.ConfigurationOrBuilder {
        // Construct using com.android.aapt.ConfigurationOuterClass.Configuration.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }
  
  
        /**
         * <pre>
         *
         * Axis/dimensions that are understood by the runtime.
         *
         * Mobile country code.
         * </pre>
         *
         * <code>uint32 mcc = 1;</code>
         * @return The mcc.
         */
        @java.lang.Override
        public int getMcc() {
          return instance.getMcc();
        }
        /**
         * <pre>
         *
         * Axis/dimensions that are understood by the runtime.
         *
         * Mobile country code.
         * </pre>
         *
         * <code>uint32 mcc = 1;</code>
         * @param value The mcc to set.
         * @return This builder for chaining.
         */
        public Builder setMcc(int value) {
          copyOnWrite();
          instance.setMcc(value);
          return this;
        }
        /**
         * <pre>
         *
         * Axis/dimensions that are understood by the runtime.
         *
         * Mobile country code.
         * </pre>
         *
         * <code>uint32 mcc = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearMcc() {
          copyOnWrite();
          instance.clearMcc();
          return this;
        }
  
        /**
         * <pre>
         * Mobile network code.
         * </pre>
         *
         * <code>uint32 mnc = 2;</code>
         * @return The mnc.
         */
        @java.lang.Override
        public int getMnc() {
          return instance.getMnc();
        }
        /**
         * <pre>
         * Mobile network code.
         * </pre>
         *
         * <code>uint32 mnc = 2;</code>
         * @param value The mnc to set.
         * @return This builder for chaining.
         */
        public Builder setMnc(int value) {
          copyOnWrite();
          instance.setMnc(value);
          return this;
        }
        /**
         * <pre>
         * Mobile network code.
         * </pre>
         *
         * <code>uint32 mnc = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearMnc() {
          copyOnWrite();
          instance.clearMnc();
          return this;
        }
  
        /**
         * <pre>
         * BCP-47 locale tag.
         * </pre>
         *
         * <code>string locale = 3;</code>
         * @return The locale.
         */
        @java.lang.Override
        public java.lang.String getLocale() {
          return instance.getLocale();
        }
        /**
         * <pre>
         * BCP-47 locale tag.
         * </pre>
         *
         * <code>string locale = 3;</code>
         * @return The bytes for locale.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString
            getLocaleBytes() {
          return instance.getLocaleBytes();
        }
        /**
         * <pre>
         * BCP-47 locale tag.
         * </pre>
         *
         * <code>string locale = 3;</code>
         * @param value The locale to set.
         * @return This builder for chaining.
         */
        public Builder setLocale(
            java.lang.String value) {
          copyOnWrite();
          instance.setLocale(value);
          return this;
        }
        /**
         * <pre>
         * BCP-47 locale tag.
         * </pre>
         *
         * <code>string locale = 3;</code>
         * @return This builder for chaining.
         */
        public Builder clearLocale() {
          copyOnWrite();
          instance.clearLocale();
          return this;
        }
        /**
         * <pre>
         * BCP-47 locale tag.
         * </pre>
         *
         * <code>string locale = 3;</code>
         * @param value The bytes for locale to set.
         * @return This builder for chaining.
         */
        public Builder setLocaleBytes(
            com.google.protobuf.ByteString value) {
          copyOnWrite();
          instance.setLocaleBytes(value);
          return this;
        }
  
        /**
         * <pre>
         * Left-to-right, right-to-left...
         * </pre>
         *
         * <code>.Configuration.LayoutDirection layout_direction = 4;</code>
         * @return The enum numeric value on the wire for layoutDirection.
         */
        @java.lang.Override
        public int getLayoutDirectionValue() {
          return instance.getLayoutDirectionValue();
        }
        /**
         * <pre>
         * Left-to-right, right-to-left...
         * </pre>
         *
         * <code>.Configuration.LayoutDirection layout_direction = 4;</code>
         * @param value The layoutDirection to set.
         * @return This builder for chaining.
         */
        public Builder setLayoutDirectionValue(int value) {
          copyOnWrite();
          instance.setLayoutDirectionValue(value);
          return this;
        }
        /**
         * <pre>
         * Left-to-right, right-to-left...
         * </pre>
         *
         * <code>.Configuration.LayoutDirection layout_direction = 4;</code>
         * @return The layoutDirection.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.LayoutDirection getLayoutDirection() {
          return instance.getLayoutDirection();
        }
        /**
         * <pre>
         * Left-to-right, right-to-left...
         * </pre>
         *
         * <code>.Configuration.LayoutDirection layout_direction = 4;</code>
         * @param value The enum numeric value on the wire for layoutDirection to set.
         * @return This builder for chaining.
         */
        public Builder setLayoutDirection(com.android.aapt.ConfigurationOuterClass.Configuration.LayoutDirection value) {
          copyOnWrite();
          instance.setLayoutDirection(value);
          return this;
        }
        /**
         * <pre>
         * Left-to-right, right-to-left...
         * </pre>
         *
         * <code>.Configuration.LayoutDirection layout_direction = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearLayoutDirection() {
          copyOnWrite();
          instance.clearLayoutDirection();
          return this;
        }
  
        /**
         * <pre>
         * Screen width in pixels. Prefer screen_width_dp.
         * </pre>
         *
         * <code>uint32 screen_width = 5;</code>
         * @return The screenWidth.
         */
        @java.lang.Override
        public int getScreenWidth() {
          return instance.getScreenWidth();
        }
        /**
         * <pre>
         * Screen width in pixels. Prefer screen_width_dp.
         * </pre>
         *
         * <code>uint32 screen_width = 5;</code>
         * @param value The screenWidth to set.
         * @return This builder for chaining.
         */
        public Builder setScreenWidth(int value) {
          copyOnWrite();
          instance.setScreenWidth(value);
          return this;
        }
        /**
         * <pre>
         * Screen width in pixels. Prefer screen_width_dp.
         * </pre>
         *
         * <code>uint32 screen_width = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearScreenWidth() {
          copyOnWrite();
          instance.clearScreenWidth();
          return this;
        }
  
        /**
         * <pre>
         * Screen height in pixels. Prefer screen_height_dp.
         * </pre>
         *
         * <code>uint32 screen_height = 6;</code>
         * @return The screenHeight.
         */
        @java.lang.Override
        public int getScreenHeight() {
          return instance.getScreenHeight();
        }
        /**
         * <pre>
         * Screen height in pixels. Prefer screen_height_dp.
         * </pre>
         *
         * <code>uint32 screen_height = 6;</code>
         * @param value The screenHeight to set.
         * @return This builder for chaining.
         */
        public Builder setScreenHeight(int value) {
          copyOnWrite();
          instance.setScreenHeight(value);
          return this;
        }
        /**
         * <pre>
         * Screen height in pixels. Prefer screen_height_dp.
         * </pre>
         *
         * <code>uint32 screen_height = 6;</code>
         * @return This builder for chaining.
         */
        public Builder clearScreenHeight() {
          copyOnWrite();
          instance.clearScreenHeight();
          return this;
        }
  
        /**
         * <pre>
         * Screen width in density independent pixels (dp).
         * </pre>
         *
         * <code>uint32 screen_width_dp = 7;</code>
         * @return The screenWidthDp.
         */
        @java.lang.Override
        public int getScreenWidthDp() {
          return instance.getScreenWidthDp();
        }
        /**
         * <pre>
         * Screen width in density independent pixels (dp).
         * </pre>
         *
         * <code>uint32 screen_width_dp = 7;</code>
         * @param value The screenWidthDp to set.
         * @return This builder for chaining.
         */
        public Builder setScreenWidthDp(int value) {
          copyOnWrite();
          instance.setScreenWidthDp(value);
          return this;
        }
        /**
         * <pre>
         * Screen width in density independent pixels (dp).
         * </pre>
         *
         * <code>uint32 screen_width_dp = 7;</code>
         * @return This builder for chaining.
         */
        public Builder clearScreenWidthDp() {
          copyOnWrite();
          instance.clearScreenWidthDp();
          return this;
        }
  
        /**
         * <pre>
         * Screen height in density independent pixels (dp).
         * </pre>
         *
         * <code>uint32 screen_height_dp = 8;</code>
         * @return The screenHeightDp.
         */
        @java.lang.Override
        public int getScreenHeightDp() {
          return instance.getScreenHeightDp();
        }
        /**
         * <pre>
         * Screen height in density independent pixels (dp).
         * </pre>
         *
         * <code>uint32 screen_height_dp = 8;</code>
         * @param value The screenHeightDp to set.
         * @return This builder for chaining.
         */
        public Builder setScreenHeightDp(int value) {
          copyOnWrite();
          instance.setScreenHeightDp(value);
          return this;
        }
        /**
         * <pre>
         * Screen height in density independent pixels (dp).
         * </pre>
         *
         * <code>uint32 screen_height_dp = 8;</code>
         * @return This builder for chaining.
         */
        public Builder clearScreenHeightDp() {
          copyOnWrite();
          instance.clearScreenHeightDp();
          return this;
        }
  
        /**
         * <pre>
         * The smallest screen dimension, regardless of orientation, in dp.
         * </pre>
         *
         * <code>uint32 smallest_screen_width_dp = 9;</code>
         * @return The smallestScreenWidthDp.
         */
        @java.lang.Override
        public int getSmallestScreenWidthDp() {
          return instance.getSmallestScreenWidthDp();
        }
        /**
         * <pre>
         * The smallest screen dimension, regardless of orientation, in dp.
         * </pre>
         *
         * <code>uint32 smallest_screen_width_dp = 9;</code>
         * @param value The smallestScreenWidthDp to set.
         * @return This builder for chaining.
         */
        public Builder setSmallestScreenWidthDp(int value) {
          copyOnWrite();
          instance.setSmallestScreenWidthDp(value);
          return this;
        }
        /**
         * <pre>
         * The smallest screen dimension, regardless of orientation, in dp.
         * </pre>
         *
         * <code>uint32 smallest_screen_width_dp = 9;</code>
         * @return This builder for chaining.
         */
        public Builder clearSmallestScreenWidthDp() {
          copyOnWrite();
          instance.clearSmallestScreenWidthDp();
          return this;
        }
  
        /**
         * <pre>
         * Whether the device screen is classified as small, normal, large, xlarge.
         * </pre>
         *
         * <code>.Configuration.ScreenLayoutSize screen_layout_size = 10;</code>
         * @return The enum numeric value on the wire for screenLayoutSize.
         */
        @java.lang.Override
        public int getScreenLayoutSizeValue() {
          return instance.getScreenLayoutSizeValue();
        }
        /**
         * <pre>
         * Whether the device screen is classified as small, normal, large, xlarge.
         * </pre>
         *
         * <code>.Configuration.ScreenLayoutSize screen_layout_size = 10;</code>
         * @param value The screenLayoutSize to set.
         * @return This builder for chaining.
         */
        public Builder setScreenLayoutSizeValue(int value) {
          copyOnWrite();
          instance.setScreenLayoutSizeValue(value);
          return this;
        }
        /**
         * <pre>
         * Whether the device screen is classified as small, normal, large, xlarge.
         * </pre>
         *
         * <code>.Configuration.ScreenLayoutSize screen_layout_size = 10;</code>
         * @return The screenLayoutSize.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutSize getScreenLayoutSize() {
          return instance.getScreenLayoutSize();
        }
        /**
         * <pre>
         * Whether the device screen is classified as small, normal, large, xlarge.
         * </pre>
         *
         * <code>.Configuration.ScreenLayoutSize screen_layout_size = 10;</code>
         * @param value The enum numeric value on the wire for screenLayoutSize to set.
         * @return This builder for chaining.
         */
        public Builder setScreenLayoutSize(com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutSize value) {
          copyOnWrite();
          instance.setScreenLayoutSize(value);
          return this;
        }
        /**
         * <pre>
         * Whether the device screen is classified as small, normal, large, xlarge.
         * </pre>
         *
         * <code>.Configuration.ScreenLayoutSize screen_layout_size = 10;</code>
         * @return This builder for chaining.
         */
        public Builder clearScreenLayoutSize() {
          copyOnWrite();
          instance.clearScreenLayoutSize();
          return this;
        }
  
        /**
         * <pre>
         * Whether the device screen is long.
         * </pre>
         *
         * <code>.Configuration.ScreenLayoutLong screen_layout_long = 11;</code>
         * @return The enum numeric value on the wire for screenLayoutLong.
         */
        @java.lang.Override
        public int getScreenLayoutLongValue() {
          return instance.getScreenLayoutLongValue();
        }
        /**
         * <pre>
         * Whether the device screen is long.
         * </pre>
         *
         * <code>.Configuration.ScreenLayoutLong screen_layout_long = 11;</code>
         * @param value The screenLayoutLong to set.
         * @return This builder for chaining.
         */
        public Builder setScreenLayoutLongValue(int value) {
          copyOnWrite();
          instance.setScreenLayoutLongValue(value);
          return this;
        }
        /**
         * <pre>
         * Whether the device screen is long.
         * </pre>
         *
         * <code>.Configuration.ScreenLayoutLong screen_layout_long = 11;</code>
         * @return The screenLayoutLong.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutLong getScreenLayoutLong() {
          return instance.getScreenLayoutLong();
        }
        /**
         * <pre>
         * Whether the device screen is long.
         * </pre>
         *
         * <code>.Configuration.ScreenLayoutLong screen_layout_long = 11;</code>
         * @param value The enum numeric value on the wire for screenLayoutLong to set.
         * @return This builder for chaining.
         */
        public Builder setScreenLayoutLong(com.android.aapt.ConfigurationOuterClass.Configuration.ScreenLayoutLong value) {
          copyOnWrite();
          instance.setScreenLayoutLong(value);
          return this;
        }
        /**
         * <pre>
         * Whether the device screen is long.
         * </pre>
         *
         * <code>.Configuration.ScreenLayoutLong screen_layout_long = 11;</code>
         * @return This builder for chaining.
         */
        public Builder clearScreenLayoutLong() {
          copyOnWrite();
          instance.clearScreenLayoutLong();
          return this;
        }
  
        /**
         * <pre>
         * Whether the screen is round (Android Wear).
         * </pre>
         *
         * <code>.Configuration.ScreenRound screen_round = 12;</code>
         * @return The enum numeric value on the wire for screenRound.
         */
        @java.lang.Override
        public int getScreenRoundValue() {
          return instance.getScreenRoundValue();
        }
        /**
         * <pre>
         * Whether the screen is round (Android Wear).
         * </pre>
         *
         * <code>.Configuration.ScreenRound screen_round = 12;</code>
         * @param value The screenRound to set.
         * @return This builder for chaining.
         */
        public Builder setScreenRoundValue(int value) {
          copyOnWrite();
          instance.setScreenRoundValue(value);
          return this;
        }
        /**
         * <pre>
         * Whether the screen is round (Android Wear).
         * </pre>
         *
         * <code>.Configuration.ScreenRound screen_round = 12;</code>
         * @return The screenRound.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.ScreenRound getScreenRound() {
          return instance.getScreenRound();
        }
        /**
         * <pre>
         * Whether the screen is round (Android Wear).
         * </pre>
         *
         * <code>.Configuration.ScreenRound screen_round = 12;</code>
         * @param value The enum numeric value on the wire for screenRound to set.
         * @return This builder for chaining.
         */
        public Builder setScreenRound(com.android.aapt.ConfigurationOuterClass.Configuration.ScreenRound value) {
          copyOnWrite();
          instance.setScreenRound(value);
          return this;
        }
        /**
         * <pre>
         * Whether the screen is round (Android Wear).
         * </pre>
         *
         * <code>.Configuration.ScreenRound screen_round = 12;</code>
         * @return This builder for chaining.
         */
        public Builder clearScreenRound() {
          copyOnWrite();
          instance.clearScreenRound();
          return this;
        }
  
        /**
         * <pre>
         * Whether the screen supports wide color gamut.
         * </pre>
         *
         * <code>.Configuration.WideColorGamut wide_color_gamut = 13;</code>
         * @return The enum numeric value on the wire for wideColorGamut.
         */
        @java.lang.Override
        public int getWideColorGamutValue() {
          return instance.getWideColorGamutValue();
        }
        /**
         * <pre>
         * Whether the screen supports wide color gamut.
         * </pre>
         *
         * <code>.Configuration.WideColorGamut wide_color_gamut = 13;</code>
         * @param value The wideColorGamut to set.
         * @return This builder for chaining.
         */
        public Builder setWideColorGamutValue(int value) {
          copyOnWrite();
          instance.setWideColorGamutValue(value);
          return this;
        }
        /**
         * <pre>
         * Whether the screen supports wide color gamut.
         * </pre>
         *
         * <code>.Configuration.WideColorGamut wide_color_gamut = 13;</code>
         * @return The wideColorGamut.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.WideColorGamut getWideColorGamut() {
          return instance.getWideColorGamut();
        }
        /**
         * <pre>
         * Whether the screen supports wide color gamut.
         * </pre>
         *
         * <code>.Configuration.WideColorGamut wide_color_gamut = 13;</code>
         * @param value The enum numeric value on the wire for wideColorGamut to set.
         * @return This builder for chaining.
         */
        public Builder setWideColorGamut(com.android.aapt.ConfigurationOuterClass.Configuration.WideColorGamut value) {
          copyOnWrite();
          instance.setWideColorGamut(value);
          return this;
        }
        /**
         * <pre>
         * Whether the screen supports wide color gamut.
         * </pre>
         *
         * <code>.Configuration.WideColorGamut wide_color_gamut = 13;</code>
         * @return This builder for chaining.
         */
        public Builder clearWideColorGamut() {
          copyOnWrite();
          instance.clearWideColorGamut();
          return this;
        }
  
        /**
         * <pre>
         * Whether the screen has high dynamic range.
         * </pre>
         *
         * <code>.Configuration.Hdr hdr = 14;</code>
         * @return The enum numeric value on the wire for hdr.
         */
        @java.lang.Override
        public int getHdrValue() {
          return instance.getHdrValue();
        }
        /**
         * <pre>
         * Whether the screen has high dynamic range.
         * </pre>
         *
         * <code>.Configuration.Hdr hdr = 14;</code>
         * @param value The hdr to set.
         * @return This builder for chaining.
         */
        public Builder setHdrValue(int value) {
          copyOnWrite();
          instance.setHdrValue(value);
          return this;
        }
        /**
         * <pre>
         * Whether the screen has high dynamic range.
         * </pre>
         *
         * <code>.Configuration.Hdr hdr = 14;</code>
         * @return The hdr.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.Hdr getHdr() {
          return instance.getHdr();
        }
        /**
         * <pre>
         * Whether the screen has high dynamic range.
         * </pre>
         *
         * <code>.Configuration.Hdr hdr = 14;</code>
         * @param value The enum numeric value on the wire for hdr to set.
         * @return This builder for chaining.
         */
        public Builder setHdr(com.android.aapt.ConfigurationOuterClass.Configuration.Hdr value) {
          copyOnWrite();
          instance.setHdr(value);
          return this;
        }
        /**
         * <pre>
         * Whether the screen has high dynamic range.
         * </pre>
         *
         * <code>.Configuration.Hdr hdr = 14;</code>
         * @return This builder for chaining.
         */
        public Builder clearHdr() {
          copyOnWrite();
          instance.clearHdr();
          return this;
        }
  
        /**
         * <pre>
         * Which orientation the device is in (portrait, landscape).
         * </pre>
         *
         * <code>.Configuration.Orientation orientation = 15;</code>
         * @return The enum numeric value on the wire for orientation.
         */
        @java.lang.Override
        public int getOrientationValue() {
          return instance.getOrientationValue();
        }
        /**
         * <pre>
         * Which orientation the device is in (portrait, landscape).
         * </pre>
         *
         * <code>.Configuration.Orientation orientation = 15;</code>
         * @param value The orientation to set.
         * @return This builder for chaining.
         */
        public Builder setOrientationValue(int value) {
          copyOnWrite();
          instance.setOrientationValue(value);
          return this;
        }
        /**
         * <pre>
         * Which orientation the device is in (portrait, landscape).
         * </pre>
         *
         * <code>.Configuration.Orientation orientation = 15;</code>
         * @return The orientation.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.Orientation getOrientation() {
          return instance.getOrientation();
        }
        /**
         * <pre>
         * Which orientation the device is in (portrait, landscape).
         * </pre>
         *
         * <code>.Configuration.Orientation orientation = 15;</code>
         * @param value The enum numeric value on the wire for orientation to set.
         * @return This builder for chaining.
         */
        public Builder setOrientation(com.android.aapt.ConfigurationOuterClass.Configuration.Orientation value) {
          copyOnWrite();
          instance.setOrientation(value);
          return this;
        }
        /**
         * <pre>
         * Which orientation the device is in (portrait, landscape).
         * </pre>
         *
         * <code>.Configuration.Orientation orientation = 15;</code>
         * @return This builder for chaining.
         */
        public Builder clearOrientation() {
          copyOnWrite();
          instance.clearOrientation();
          return this;
        }
  
        /**
         * <pre>
         * Which type of UI mode the device is in (television, car, etc.).
         * </pre>
         *
         * <code>.Configuration.UiModeType ui_mode_type = 16;</code>
         * @return The enum numeric value on the wire for uiModeType.
         */
        @java.lang.Override
        public int getUiModeTypeValue() {
          return instance.getUiModeTypeValue();
        }
        /**
         * <pre>
         * Which type of UI mode the device is in (television, car, etc.).
         * </pre>
         *
         * <code>.Configuration.UiModeType ui_mode_type = 16;</code>
         * @param value The uiModeType to set.
         * @return This builder for chaining.
         */
        public Builder setUiModeTypeValue(int value) {
          copyOnWrite();
          instance.setUiModeTypeValue(value);
          return this;
        }
        /**
         * <pre>
         * Which type of UI mode the device is in (television, car, etc.).
         * </pre>
         *
         * <code>.Configuration.UiModeType ui_mode_type = 16;</code>
         * @return The uiModeType.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.UiModeType getUiModeType() {
          return instance.getUiModeType();
        }
        /**
         * <pre>
         * Which type of UI mode the device is in (television, car, etc.).
         * </pre>
         *
         * <code>.Configuration.UiModeType ui_mode_type = 16;</code>
         * @param value The enum numeric value on the wire for uiModeType to set.
         * @return This builder for chaining.
         */
        public Builder setUiModeType(com.android.aapt.ConfigurationOuterClass.Configuration.UiModeType value) {
          copyOnWrite();
          instance.setUiModeType(value);
          return this;
        }
        /**
         * <pre>
         * Which type of UI mode the device is in (television, car, etc.).
         * </pre>
         *
         * <code>.Configuration.UiModeType ui_mode_type = 16;</code>
         * @return This builder for chaining.
         */
        public Builder clearUiModeType() {
          copyOnWrite();
          instance.clearUiModeType();
          return this;
        }
  
        /**
         * <pre>
         * Whether the device is in night mode.
         * </pre>
         *
         * <code>.Configuration.UiModeNight ui_mode_night = 17;</code>
         * @return The enum numeric value on the wire for uiModeNight.
         */
        @java.lang.Override
        public int getUiModeNightValue() {
          return instance.getUiModeNightValue();
        }
        /**
         * <pre>
         * Whether the device is in night mode.
         * </pre>
         *
         * <code>.Configuration.UiModeNight ui_mode_night = 17;</code>
         * @param value The uiModeNight to set.
         * @return This builder for chaining.
         */
        public Builder setUiModeNightValue(int value) {
          copyOnWrite();
          instance.setUiModeNightValue(value);
          return this;
        }
        /**
         * <pre>
         * Whether the device is in night mode.
         * </pre>
         *
         * <code>.Configuration.UiModeNight ui_mode_night = 17;</code>
         * @return The uiModeNight.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.UiModeNight getUiModeNight() {
          return instance.getUiModeNight();
        }
        /**
         * <pre>
         * Whether the device is in night mode.
         * </pre>
         *
         * <code>.Configuration.UiModeNight ui_mode_night = 17;</code>
         * @param value The enum numeric value on the wire for uiModeNight to set.
         * @return This builder for chaining.
         */
        public Builder setUiModeNight(com.android.aapt.ConfigurationOuterClass.Configuration.UiModeNight value) {
          copyOnWrite();
          instance.setUiModeNight(value);
          return this;
        }
        /**
         * <pre>
         * Whether the device is in night mode.
         * </pre>
         *
         * <code>.Configuration.UiModeNight ui_mode_night = 17;</code>
         * @return This builder for chaining.
         */
        public Builder clearUiModeNight() {
          copyOnWrite();
          instance.clearUiModeNight();
          return this;
        }
  
        /**
         * <pre>
         * The device's screen density in dots-per-inch (dpi).
         * </pre>
         *
         * <code>uint32 density = 18;</code>
         * @return The density.
         */
        @java.lang.Override
        public int getDensity() {
          return instance.getDensity();
        }
        /**
         * <pre>
         * The device's screen density in dots-per-inch (dpi).
         * </pre>
         *
         * <code>uint32 density = 18;</code>
         * @param value The density to set.
         * @return This builder for chaining.
         */
        public Builder setDensity(int value) {
          copyOnWrite();
          instance.setDensity(value);
          return this;
        }
        /**
         * <pre>
         * The device's screen density in dots-per-inch (dpi).
         * </pre>
         *
         * <code>uint32 density = 18;</code>
         * @return This builder for chaining.
         */
        public Builder clearDensity() {
          copyOnWrite();
          instance.clearDensity();
          return this;
        }
  
        /**
         * <pre>
         * Whether a touchscreen exists, supports a stylus, or finger.
         * </pre>
         *
         * <code>.Configuration.Touchscreen touchscreen = 19;</code>
         * @return The enum numeric value on the wire for touchscreen.
         */
        @java.lang.Override
        public int getTouchscreenValue() {
          return instance.getTouchscreenValue();
        }
        /**
         * <pre>
         * Whether a touchscreen exists, supports a stylus, or finger.
         * </pre>
         *
         * <code>.Configuration.Touchscreen touchscreen = 19;</code>
         * @param value The touchscreen to set.
         * @return This builder for chaining.
         */
        public Builder setTouchscreenValue(int value) {
          copyOnWrite();
          instance.setTouchscreenValue(value);
          return this;
        }
        /**
         * <pre>
         * Whether a touchscreen exists, supports a stylus, or finger.
         * </pre>
         *
         * <code>.Configuration.Touchscreen touchscreen = 19;</code>
         * @return The touchscreen.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.Touchscreen getTouchscreen() {
          return instance.getTouchscreen();
        }
        /**
         * <pre>
         * Whether a touchscreen exists, supports a stylus, or finger.
         * </pre>
         *
         * <code>.Configuration.Touchscreen touchscreen = 19;</code>
         * @param value The enum numeric value on the wire for touchscreen to set.
         * @return This builder for chaining.
         */
        public Builder setTouchscreen(com.android.aapt.ConfigurationOuterClass.Configuration.Touchscreen value) {
          copyOnWrite();
          instance.setTouchscreen(value);
          return this;
        }
        /**
         * <pre>
         * Whether a touchscreen exists, supports a stylus, or finger.
         * </pre>
         *
         * <code>.Configuration.Touchscreen touchscreen = 19;</code>
         * @return This builder for chaining.
         */
        public Builder clearTouchscreen() {
          copyOnWrite();
          instance.clearTouchscreen();
          return this;
        }
  
        /**
         * <pre>
         * Whether the keyboard hardware keys are currently hidden, exposed, or
         * if the keyboard is a software keyboard.
         * </pre>
         *
         * <code>.Configuration.KeysHidden keys_hidden = 20;</code>
         * @return The enum numeric value on the wire for keysHidden.
         */
        @java.lang.Override
        public int getKeysHiddenValue() {
          return instance.getKeysHiddenValue();
        }
        /**
         * <pre>
         * Whether the keyboard hardware keys are currently hidden, exposed, or
         * if the keyboard is a software keyboard.
         * </pre>
         *
         * <code>.Configuration.KeysHidden keys_hidden = 20;</code>
         * @param value The keysHidden to set.
         * @return This builder for chaining.
         */
        public Builder setKeysHiddenValue(int value) {
          copyOnWrite();
          instance.setKeysHiddenValue(value);
          return this;
        }
        /**
         * <pre>
         * Whether the keyboard hardware keys are currently hidden, exposed, or
         * if the keyboard is a software keyboard.
         * </pre>
         *
         * <code>.Configuration.KeysHidden keys_hidden = 20;</code>
         * @return The keysHidden.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.KeysHidden getKeysHidden() {
          return instance.getKeysHidden();
        }
        /**
         * <pre>
         * Whether the keyboard hardware keys are currently hidden, exposed, or
         * if the keyboard is a software keyboard.
         * </pre>
         *
         * <code>.Configuration.KeysHidden keys_hidden = 20;</code>
         * @param value The enum numeric value on the wire for keysHidden to set.
         * @return This builder for chaining.
         */
        public Builder setKeysHidden(com.android.aapt.ConfigurationOuterClass.Configuration.KeysHidden value) {
          copyOnWrite();
          instance.setKeysHidden(value);
          return this;
        }
        /**
         * <pre>
         * Whether the keyboard hardware keys are currently hidden, exposed, or
         * if the keyboard is a software keyboard.
         * </pre>
         *
         * <code>.Configuration.KeysHidden keys_hidden = 20;</code>
         * @return This builder for chaining.
         */
        public Builder clearKeysHidden() {
          copyOnWrite();
          instance.clearKeysHidden();
          return this;
        }
  
        /**
         * <pre>
         * The type of keyboard present (none, QWERTY, 12-key).
         * </pre>
         *
         * <code>.Configuration.Keyboard keyboard = 21;</code>
         * @return The enum numeric value on the wire for keyboard.
         */
        @java.lang.Override
        public int getKeyboardValue() {
          return instance.getKeyboardValue();
        }
        /**
         * <pre>
         * The type of keyboard present (none, QWERTY, 12-key).
         * </pre>
         *
         * <code>.Configuration.Keyboard keyboard = 21;</code>
         * @param value The keyboard to set.
         * @return This builder for chaining.
         */
        public Builder setKeyboardValue(int value) {
          copyOnWrite();
          instance.setKeyboardValue(value);
          return this;
        }
        /**
         * <pre>
         * The type of keyboard present (none, QWERTY, 12-key).
         * </pre>
         *
         * <code>.Configuration.Keyboard keyboard = 21;</code>
         * @return The keyboard.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.Keyboard getKeyboard() {
          return instance.getKeyboard();
        }
        /**
         * <pre>
         * The type of keyboard present (none, QWERTY, 12-key).
         * </pre>
         *
         * <code>.Configuration.Keyboard keyboard = 21;</code>
         * @param value The enum numeric value on the wire for keyboard to set.
         * @return This builder for chaining.
         */
        public Builder setKeyboard(com.android.aapt.ConfigurationOuterClass.Configuration.Keyboard value) {
          copyOnWrite();
          instance.setKeyboard(value);
          return this;
        }
        /**
         * <pre>
         * The type of keyboard present (none, QWERTY, 12-key).
         * </pre>
         *
         * <code>.Configuration.Keyboard keyboard = 21;</code>
         * @return This builder for chaining.
         */
        public Builder clearKeyboard() {
          copyOnWrite();
          instance.clearKeyboard();
          return this;
        }
  
        /**
         * <pre>
         * Whether the navigation is exposed or hidden.
         * </pre>
         *
         * <code>.Configuration.NavHidden nav_hidden = 22;</code>
         * @return The enum numeric value on the wire for navHidden.
         */
        @java.lang.Override
        public int getNavHiddenValue() {
          return instance.getNavHiddenValue();
        }
        /**
         * <pre>
         * Whether the navigation is exposed or hidden.
         * </pre>
         *
         * <code>.Configuration.NavHidden nav_hidden = 22;</code>
         * @param value The navHidden to set.
         * @return This builder for chaining.
         */
        public Builder setNavHiddenValue(int value) {
          copyOnWrite();
          instance.setNavHiddenValue(value);
          return this;
        }
        /**
         * <pre>
         * Whether the navigation is exposed or hidden.
         * </pre>
         *
         * <code>.Configuration.NavHidden nav_hidden = 22;</code>
         * @return The navHidden.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.NavHidden getNavHidden() {
          return instance.getNavHidden();
        }
        /**
         * <pre>
         * Whether the navigation is exposed or hidden.
         * </pre>
         *
         * <code>.Configuration.NavHidden nav_hidden = 22;</code>
         * @param value The enum numeric value on the wire for navHidden to set.
         * @return This builder for chaining.
         */
        public Builder setNavHidden(com.android.aapt.ConfigurationOuterClass.Configuration.NavHidden value) {
          copyOnWrite();
          instance.setNavHidden(value);
          return this;
        }
        /**
         * <pre>
         * Whether the navigation is exposed or hidden.
         * </pre>
         *
         * <code>.Configuration.NavHidden nav_hidden = 22;</code>
         * @return This builder for chaining.
         */
        public Builder clearNavHidden() {
          copyOnWrite();
          instance.clearNavHidden();
          return this;
        }
  
        /**
         * <pre>
         * The type of navigation present on the device
         * (trackball, wheel, dpad, etc.).
         * </pre>
         *
         * <code>.Configuration.Navigation navigation = 23;</code>
         * @return The enum numeric value on the wire for navigation.
         */
        @java.lang.Override
        public int getNavigationValue() {
          return instance.getNavigationValue();
        }
        /**
         * <pre>
         * The type of navigation present on the device
         * (trackball, wheel, dpad, etc.).
         * </pre>
         *
         * <code>.Configuration.Navigation navigation = 23;</code>
         * @param value The navigation to set.
         * @return This builder for chaining.
         */
        public Builder setNavigationValue(int value) {
          copyOnWrite();
          instance.setNavigationValue(value);
          return this;
        }
        /**
         * <pre>
         * The type of navigation present on the device
         * (trackball, wheel, dpad, etc.).
         * </pre>
         *
         * <code>.Configuration.Navigation navigation = 23;</code>
         * @return The navigation.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.Navigation getNavigation() {
          return instance.getNavigation();
        }
        /**
         * <pre>
         * The type of navigation present on the device
         * (trackball, wheel, dpad, etc.).
         * </pre>
         *
         * <code>.Configuration.Navigation navigation = 23;</code>
         * @param value The enum numeric value on the wire for navigation to set.
         * @return This builder for chaining.
         */
        public Builder setNavigation(com.android.aapt.ConfigurationOuterClass.Configuration.Navigation value) {
          copyOnWrite();
          instance.setNavigation(value);
          return this;
        }
        /**
         * <pre>
         * The type of navigation present on the device
         * (trackball, wheel, dpad, etc.).
         * </pre>
         *
         * <code>.Configuration.Navigation navigation = 23;</code>
         * @return This builder for chaining.
         */
        public Builder clearNavigation() {
          copyOnWrite();
          instance.clearNavigation();
          return this;
        }
  
        /**
         * <pre>
         * The minimum SDK version of the device.
         * </pre>
         *
         * <code>uint32 sdk_version = 24;</code>
         * @return The sdkVersion.
         */
        @java.lang.Override
        public int getSdkVersion() {
          return instance.getSdkVersion();
        }
        /**
         * <pre>
         * The minimum SDK version of the device.
         * </pre>
         *
         * <code>uint32 sdk_version = 24;</code>
         * @param value The sdkVersion to set.
         * @return This builder for chaining.
         */
        public Builder setSdkVersion(int value) {
          copyOnWrite();
          instance.setSdkVersion(value);
          return this;
        }
        /**
         * <pre>
         * The minimum SDK version of the device.
         * </pre>
         *
         * <code>uint32 sdk_version = 24;</code>
         * @return This builder for chaining.
         */
        public Builder clearSdkVersion() {
          copyOnWrite();
          instance.clearSdkVersion();
          return this;
        }
  
        /**
         * <pre>
         * Grammatical gender.
         * </pre>
         *
         * <code>.Configuration.GrammaticalGender grammatical_gender = 26;</code>
         * @return The enum numeric value on the wire for grammaticalGender.
         */
        @java.lang.Override
        public int getGrammaticalGenderValue() {
          return instance.getGrammaticalGenderValue();
        }
        /**
         * <pre>
         * Grammatical gender.
         * </pre>
         *
         * <code>.Configuration.GrammaticalGender grammatical_gender = 26;</code>
         * @param value The grammaticalGender to set.
         * @return This builder for chaining.
         */
        public Builder setGrammaticalGenderValue(int value) {
          copyOnWrite();
          instance.setGrammaticalGenderValue(value);
          return this;
        }
        /**
         * <pre>
         * Grammatical gender.
         * </pre>
         *
         * <code>.Configuration.GrammaticalGender grammatical_gender = 26;</code>
         * @return The grammaticalGender.
         */
        @java.lang.Override
        public com.android.aapt.ConfigurationOuterClass.Configuration.GrammaticalGender getGrammaticalGender() {
          return instance.getGrammaticalGender();
        }
        /**
         * <pre>
         * Grammatical gender.
         * </pre>
         *
         * <code>.Configuration.GrammaticalGender grammatical_gender = 26;</code>
         * @param value The enum numeric value on the wire for grammaticalGender to set.
         * @return This builder for chaining.
         */
        public Builder setGrammaticalGender(com.android.aapt.ConfigurationOuterClass.Configuration.GrammaticalGender value) {
          copyOnWrite();
          instance.setGrammaticalGender(value);
          return this;
        }
        /**
         * <pre>
         * Grammatical gender.
         * </pre>
         *
         * <code>.Configuration.GrammaticalGender grammatical_gender = 26;</code>
         * @return This builder for chaining.
         */
        public Builder clearGrammaticalGender() {
          copyOnWrite();
          instance.clearGrammaticalGender();
          return this;
        }
  
        /**
         * <pre>
         *
         * Build-time only dimensions.
         * </pre>
         *
         * <code>string product = 25;</code>
         * @return The product.
         */
        @java.lang.Override
        public java.lang.String getProduct() {
          return instance.getProduct();
        }
        /**
         * <pre>
         *
         * Build-time only dimensions.
         * </pre>
         *
         * <code>string product = 25;</code>
         * @return The bytes for product.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString
            getProductBytes() {
          return instance.getProductBytes();
        }
        /**
         * <pre>
         *
         * Build-time only dimensions.
         * </pre>
         *
         * <code>string product = 25;</code>
         * @param value The product to set.
         * @return This builder for chaining.
         */
        public Builder setProduct(
            java.lang.String value) {
          copyOnWrite();
          instance.setProduct(value);
          return this;
        }
        /**
         * <pre>
         *
         * Build-time only dimensions.
         * </pre>
         *
         * <code>string product = 25;</code>
         * @return This builder for chaining.
         */
        public Builder clearProduct() {
          copyOnWrite();
          instance.clearProduct();
          return this;
        }
        /**
         * <pre>
         *
         * Build-time only dimensions.
         * </pre>
         *
         * <code>string product = 25;</code>
         * @param value The bytes for product to set.
         * @return This builder for chaining.
         */
        public Builder setProductBytes(
            com.google.protobuf.ByteString value) {
          copyOnWrite();
          instance.setProductBytes(value);
          return this;
        }
  
        // @@protoc_insertion_point(builder_scope:Configuration)
      }
      @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 com.android.aapt.ConfigurationOuterClass.Configuration();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "mcc_",
                "mnc_",
                "locale_",
                "layoutDirection_",
                "screenWidth_",
                "screenHeight_",
                "screenWidthDp_",
                "screenHeightDp_",
                "smallestScreenWidthDp_",
                "screenLayoutSize_",
                "screenLayoutLong_",
                "screenRound_",
                "wideColorGamut_",
                "hdr_",
                "orientation_",
                "uiModeType_",
                "uiModeNight_",
                "density_",
                "touchscreen_",
                "keysHidden_",
                "keyboard_",
                "navHidden_",
                "navigation_",
                "sdkVersion_",
                "product_",
                "grammaticalGender_",
              };
              java.lang.String info =
                  "\u0000\u001a\u0000\u0000\u0001\u001a\u001a\u0000\u0000\u0000\u0001\u000b\u0002\u000b" +
                  "\u0003\u0208\u0004\f\u0005\u000b\u0006\u000b\u0007\u000b\b\u000b\t\u000b\n\f\u000b" +
                  "\f\f\f\r\f\u000e\f\u000f\f\u0010\f\u0011\f\u0012\u000b\u0013\f\u0014\f\u0015\f\u0016" +
                  "\f\u0017\f\u0018\u000b\u0019\u0208\u001a\f";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<com.android.aapt.ConfigurationOuterClass.Configuration> parser = PARSER;
            if (parser == null) {
              synchronized (com.android.aapt.ConfigurationOuterClass.Configuration.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<com.android.aapt.ConfigurationOuterClass.Configuration>(
                          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:Configuration)
      private static final com.android.aapt.ConfigurationOuterClass.Configuration DEFAULT_INSTANCE;
      static {
        Configuration defaultInstance = new Configuration();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          Configuration.class, defaultInstance);
      }
  
      public static com.android.aapt.ConfigurationOuterClass.Configuration getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }
  
      private static volatile com.google.protobuf.Parser<Configuration> PARSER;
  
      public static com.google.protobuf.Parser<Configuration> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }
  
  
    static {
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  