diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java index 65e6feaa31d3d..ea691a727d259 100644 --- a/media/java/android/media/AudioRecord.java +++ b/media/java/android/media/AudioRecord.java @@ -166,6 +166,7 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection, //-------------------- /** * Accessed by native methods: provides access to C++ AudioRecord object + * Is 0 after release() */ @SuppressWarnings("unused") @UnsupportedAppUsage @@ -1872,7 +1873,11 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection, if (mNativeRecorderInJavaObj == 0) { return 0; } - return native_getPortId(); + try { + return native_getPortId(); + } catch (IllegalStateException e) { + return 0; + } } //-------------------------------------------------------------------------- @@ -2055,6 +2060,9 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection, private native final int native_get_active_microphones( ArrayList activeMicrophones); + /** + * @throws IllegalStateException + */ private native int native_getPortId(); private native int native_set_preferred_microphone_direction(int direction);