diff options
author | Steve Kondik <shade@chemlab.org> | 2014-08-04 23:14:14 -0700 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2014-08-04 23:14:14 -0700 |
commit | 221fdc7ff2ce8b2a747d26878effee8728942609 (patch) | |
tree | e25d10c14a62a85b3f5b787e7e6d5d49b113cac4 /src | |
parent | 140f5632b20f25aac7039c57d67e8ca6e78743cd (diff) | |
download | android_packages_apps_AudioFX-221fdc7ff2ce8b2a747d26878effee8728942609.tar.gz android_packages_apps_AudioFX-221fdc7ff2ce8b2a747d26878effee8728942609.tar.bz2 android_packages_apps_AudioFX-221fdc7ff2ce8b2a747d26878effee8728942609.zip |
audiofx: Commit suicide if effects can't be created
* Yeah, audio is probably totally broken if this happens, but
there's no need to fire off endless force close dialogs.
Change-Id: Ib080890f2e7bb5f5ebd435359de8eef0eda43909
Diffstat (limited to 'src')
-rw-r--r-- | src/org/cyanogenmod/audiofx/HeadsetService.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/org/cyanogenmod/audiofx/HeadsetService.java b/src/org/cyanogenmod/audiofx/HeadsetService.java index 7884883..d5a21cc 100644 --- a/src/org/cyanogenmod/audiofx/HeadsetService.java +++ b/src/org/cyanogenmod/audiofx/HeadsetService.java @@ -404,7 +404,18 @@ public class HeadsetService extends Service { } private void saveDefaults() { - EffectSet temp = new EffectSet(0); + EffectSet temp; + try { + temp = new EffectSet(0); + } catch (Exception e) { + // this is really bad- likely the media stack is broken. + // disable ourself if we get into this state, as the service + // will restart itself repeatedly! + Log.e(TAG, e.getMessage(), e); + stopSelf(); + return; + } + SharedPreferences prefs = getSharedPreferences("global", 0); final int numBands = temp.getNumEqualizerBands(); |