Always specify underlying enum type.

Bug: 33197891
Test: compiles
Change-Id: I3d4822ea9a665708302d3bd1460425fddf1dcda9
diff --git a/audio/2.0/IDevicesFactory.hal b/audio/2.0/IDevicesFactory.hal
index a4e6956..f1dc7d3 100644
--- a/audio/2.0/IDevicesFactory.hal
+++ b/audio/2.0/IDevicesFactory.hal
@@ -22,7 +22,7 @@
 interface IDevicesFactory {
     typedef android.hardware.audio@2.0::Result Result;
 
-    enum Device {
+    enum Device : int32_t {
         PRIMARY,
         A2DP,
         USB,
diff --git a/audio/2.0/IPrimaryDevice.hal b/audio/2.0/IPrimaryDevice.hal
index 6beddfe..f1dd56e 100644
--- a/audio/2.0/IPrimaryDevice.hal
+++ b/audio/2.0/IPrimaryDevice.hal
@@ -76,7 +76,7 @@
      */
     setBtScoWidebandEnabled(bool enabled) generates (Result retval);
 
-    enum TtyMode {
+    enum TtyMode : int32_t {
         OFF,
         VCO,
         HCO,
diff --git a/audio/2.0/types.hal b/audio/2.0/types.hal
index 9a5e4f1..7002f38 100644
--- a/audio/2.0/types.hal
+++ b/audio/2.0/types.hal
@@ -18,7 +18,7 @@
 
 import android.hardware.audio.common@2.0;
 
-enum Result {
+enum Result : int32_t {
     OK,
     NOT_INITIALIZED,
     INVALID_ARGUMENTS,
@@ -27,7 +27,7 @@
 };
 
 @export(name="audio_drain_type_t", value_prefix="AUDIO_DRAIN_")
-enum AudioDrain {
+enum AudioDrain : int32_t {
     /* drain() returns when all data has been played. */
     ALL,
     /* drain() returns a short time before all data from the current track has
diff --git a/audio/common/2.0/types.hal b/audio/common/2.0/types.hal
index 75fdb52..4e969a7 100644
--- a/audio/common/2.0/types.hal
+++ b/audio/common/2.0/types.hal
@@ -56,7 +56,7 @@
  * Each port has a unique ID or handle allocated by policy manager.
  */
 @export(name="")
-enum AudioHandleConsts {
+enum AudioHandleConsts : int32_t {
     AUDIO_IO_HANDLE_NONE = 0,
     AUDIO_MODULE_HANDLE_NONE = 0,
     AUDIO_PORT_HANDLE_NONE = 0,
@@ -114,7 +114,7 @@
 };
 
 @export(name="audio_source_t", value_prefix="AUDIO_SOURCE_")
-enum AudioSource {
+enum AudioSource : int32_t {
     // These values must kept in sync with
     //  frameworks/base/media/java/android/media/MediaRecorder.java,
     //  frameworks/av/services/audiopolicy/AudioPolicyService.cpp,
@@ -269,7 +269,7 @@
  * assumptions.
  */
 @export(name="")
-enum FixedChannelCount {
+enum FixedChannelCount : int32_t {
     FCC_2 = 2, // This is typically due to legacy implementation of stereo I/O
     FCC_8 = 8  // This is typically due to audio mixer and resampler limitations
 };
@@ -425,7 +425,7 @@
  * to this convention will be noted at the appropriate API.
  */
 @export(name="", value_prefix="AUDIO_INTERLEAVE_")
-enum AudioInterleave {
+enum AudioInterleave : int32_t {
     LEFT   = 0,
     RIGHT  = 1,
 };
@@ -435,7 +435,7 @@
  * routing.
  */
 @export(name="audio_mode_t", value_prefix="AUDIO_MODE_")
-enum AudioMode {
+enum AudioMode : int32_t {
     INVALID          = -2,
     CURRENT          = -1,
     NORMAL           = 0,
@@ -597,7 +597,7 @@
  * (when getOuput() is called) to an available output stream.
  */
 @export(name="audio_output_flags_t", value_prefix="AUDIO_OUTPUT_FLAG_")
-enum AudioOutputFlag {
+enum AudioOutputFlag : int32_t {
     NONE    = 0x0, // no attributes
     DIRECT  = 0x1, // this output directly connects a track
                    // to one output stream: no software mixer
@@ -627,7 +627,7 @@
  * attributes corresponding to the specified flags.
  */
 @export(name="audio_input_flags_t", value_prefix="AUDIO_INPUT_FLAG_")
-enum AudioInputFlag {
+enum AudioInputFlag : int32_t {
     NONE       = 0x0,  // no attributes
     FAST       = 0x1,  // prefer an input that supports "fast tracks"
     HW_HOTWORD = 0x2,  // prefer an input that captures from hw hotword source
@@ -728,7 +728,7 @@
 
 /* Audio port role: either source or sink */
 @export(name="audio_port_role_t", value_prefix="AUDIO_PORT_ROLE_")
-enum AudioPortRole {
+enum AudioPortRole : int32_t {
     NONE,
     SOURCE,
     SINK,
@@ -739,7 +739,7 @@
  * PlaybackThread output) or a physical device (e.g OUT_SPEAKER)
  */
 @export(name="audio_port_type_t", value_prefix="AUDIO_PORT_TYPE_")
-enum AudioPortType {
+enum AudioPortType : int32_t {
     NONE,
     DEVICE,
     MIX,
@@ -816,7 +816,7 @@
  * Latency class of the audio mix.
  */
 @export(name="audio_mix_latency_class_t", value_prefix="AUDIO_LATENCY_")
-enum AudioMixLatencyClass {
+enum AudioMixLatencyClass : int32_t {
     LOW,
     NORMAL
 } ;
diff --git a/audio/effect/2.0/IDownmixEffect.hal b/audio/effect/2.0/IDownmixEffect.hal
index 817e14c..06409a3 100644
--- a/audio/effect/2.0/IDownmixEffect.hal
+++ b/audio/effect/2.0/IDownmixEffect.hal
@@ -20,7 +20,7 @@
 import IEffect;
 
 interface IDownmixEffect extends IEffect {
-    enum Type {
+    enum Type : int32_t {
         STRIP, // throw away the extra channels
         FOLD   // mix the extra channels with FL/FR
     };
diff --git a/audio/effect/2.0/INoiseSuppressionEffect.hal b/audio/effect/2.0/INoiseSuppressionEffect.hal
index 58e439f..ae2bfb5 100644
--- a/audio/effect/2.0/INoiseSuppressionEffect.hal
+++ b/audio/effect/2.0/INoiseSuppressionEffect.hal
@@ -20,7 +20,7 @@
 import IEffect;
 
 interface INoiseSuppressionEffect extends IEffect {
-    enum Level {
+    enum Level : int32_t {
         LOW,
         MEDIUM,
         HIGH
@@ -36,7 +36,7 @@
      */
     getSuppressionLevel() generates (Result retval, Level level);
 
-    enum Type {
+    enum Type : int32_t {
         SINGLE_CHANNEL,
         MULTI_CHANNEL
     };
diff --git a/audio/effect/2.0/IPresetReverbEffect.hal b/audio/effect/2.0/IPresetReverbEffect.hal
index 58dfd40..2237bc4 100644
--- a/audio/effect/2.0/IPresetReverbEffect.hal
+++ b/audio/effect/2.0/IPresetReverbEffect.hal
@@ -20,7 +20,7 @@
 import IEffect;
 
 interface IPresetReverbEffect extends IEffect {
-    enum Preset {
+    enum Preset : int32_t {
         NONE,        // no reverb or reflections
         SMALLROOM,   // a small room less than five meters in length
         MEDIUMROOM,  // a medium room with a length of ten meters or less
diff --git a/audio/effect/2.0/IVisualizerEffect.hal b/audio/effect/2.0/IVisualizerEffect.hal
index 70dabf9..79dc9ee 100644
--- a/audio/effect/2.0/IVisualizerEffect.hal
+++ b/audio/effect/2.0/IVisualizerEffect.hal
@@ -20,7 +20,7 @@
 import IEffect;
 
 interface IVisualizerEffect extends IEffect {
-    enum CaptureSizeRange {
+    enum CaptureSizeRange : int32_t {
         MAX = 1024,  // maximum capture size in samples
         MIN = 128    // minimum capture size in samples
     };
@@ -35,7 +35,7 @@
      */
     getCaptureSize() generates (Result retval, uint16_t captureSize);
 
-    enum ScalingMode {
+    enum ScalingMode : int32_t {
         // Keep in sync with SCALING_MODE_... in
         // frameworks/base/media/java/android/media/audiofx/Visualizer.java
         NORMALIZED = 0,
@@ -62,7 +62,7 @@
      */
     getLatency() generates (Result retval, uint32_t latencyMs);
 
-    enum MeasurementMode {
+    enum MeasurementMode : int32_t {
         // Keep in sync with MEASUREMENT_MODE_... in
         // frameworks/base/media/java/android/media/audiofx/Visualizer.java
         NONE = 0x0,
diff --git a/audio/effect/2.0/types.hal b/audio/effect/2.0/types.hal
index 35015b2..ad7f4ce 100644
--- a/audio/effect/2.0/types.hal
+++ b/audio/effect/2.0/types.hal
@@ -18,7 +18,7 @@
 
 import android.hardware.audio.common@2.0;
 
-enum Result {
+enum Result : int32_t {
     OK,
     NOT_INITIALIZED,
     INVALID_ARGUMENTS,
@@ -110,7 +110,7 @@
  * +----------------+--------+--------------------------------------------------
  */
 @export(name="", value_prefix="EFFECT_FLAG_")
-enum EffectFlags {
+enum EffectFlags : int32_t {
     // Insert mode
     TYPE_SHIFT = 0,
     TYPE_SIZE = 3,
@@ -229,7 +229,7 @@
 };
 
 @export(name="effect_buffer_access_e", value_prefix="EFFECT_BUFFER_")
-enum EffectBufferAccess {
+enum EffectBufferAccess : int32_t {
     ACCESS_WRITE,
     ACCESS_READ,
     ACCESS_ACCUMULATE
@@ -239,7 +239,7 @@
  * Determines what fields of EffectBufferConfig need to be considered.
  */
 @export(name="", value_prefix="EFFECT_CONFIG_")
-enum EffectConfigParameters {
+enum EffectConfigParameters : int32_t {
     BUFFER = 0x0001,    // buffer field
     SMP_RATE = 0x0002,  // samplingRate
     CHANNELS = 0x0004,  // channels
@@ -267,7 +267,7 @@
 };
 
 @export(name="effect_feature_e", value_prefix="EFFECT_FEATURE_")
-enum EffectFeature {
+enum EffectFeature : int32_t {
     AUX_CHANNELS, // supports auxiliary channels
                   // (e.g. dual mic noise suppressor)
     CNT