From ee9f8b05aed8f34a5f7302b3048e3216bef9cf56 Mon Sep 17 00:00:00 2001 From: Christopher Eby Date: Mon, 13 Feb 2012 00:32:14 -0600 Subject: [PATCH] Handle unsupported equalizer --- src/org/kreed/vanilla/PlaybackService.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/org/kreed/vanilla/PlaybackService.java b/src/org/kreed/vanilla/PlaybackService.java index 0c9c471e..06349d8e 100644 --- a/src/org/kreed/vanilla/PlaybackService.java +++ b/src/org/kreed/vanilla/PlaybackService.java @@ -370,7 +370,11 @@ public final class PlaybackService extends Service mMediaPlayer.setOnErrorListener(this); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { - mEqualizer = new CompatEq(mMediaPlayer); + try { + mEqualizer = new CompatEq(mMediaPlayer); + } catch (IllegalArgumentException e) { + // equalizer not supported + } } mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); @@ -559,9 +563,11 @@ public final class PlaybackService extends Service // In Gingerbread and above, MediaPlayer no longer accepts volumes // > 1.0. So we use an equalizer instead. CompatEq eq = mEqualizer; - short gain = (short)(2000 * Math.log10(base)); - for (short i = eq.getNumberOfBands(); --i != -1; ) { - eq.setBandLevel(i, gain); + if (eq != null) { + short gain = (short)(2000 * Math.log10(base)); + for (short i = eq.getNumberOfBands(); --i != -1; ) { + eq.setBandLevel(i, gain); + } } base = 1.0f; }