Fix IllegalArgumentException in AudioHelper
Audio streams for phone calls in BT device (STREAM_VOICE_CALL) is not supported in AudioManager.getStreamMinVolume(), fallback to use STREAM_VOICE_CALL Fixes: 133812547 Test: make RunSettingsRoboTests Change-Id: I8e330f60bae2a7cf9cd0cf7288076b8320ccc504
This commit is contained in:
@@ -22,6 +22,7 @@ import android.media.AudioManager;
|
||||
import android.media.AudioSystem;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.settings.Utils;
|
||||
|
||||
@@ -30,6 +31,7 @@ import com.android.settings.Utils;
|
||||
*/
|
||||
public class AudioHelper {
|
||||
|
||||
private static final String TAG = "AudioHelper";
|
||||
private Context mContext;
|
||||
private AudioManager mAudioManager;
|
||||
|
||||
@@ -76,6 +78,15 @@ public class AudioHelper {
|
||||
}
|
||||
|
||||
public int getMinVolume(int stream) {
|
||||
return mAudioManager.getStreamMinVolume(stream);
|
||||
int minVolume;
|
||||
try {
|
||||
minVolume = mAudioManager.getStreamMinVolume(stream);
|
||||
} catch (IllegalArgumentException e) {
|
||||
Log.w(TAG, "Invalid stream type " + stream);
|
||||
// Fallback to STREAM_VOICE_CALL because CallVolumePreferenceController.java default
|
||||
// return STREAM_VOICE_CALL in getAudioStream
|
||||
minVolume = mAudioManager.getStreamMinVolume(AudioManager.STREAM_VOICE_CALL);
|
||||
}
|
||||
return minVolume;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user