summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2014-08-04 23:14:14 -0700
committerSteve Kondik <shade@chemlab.org>2014-08-04 23:14:14 -0700
commit221fdc7ff2ce8b2a747d26878effee8728942609 (patch)
treee25d10c14a62a85b3f5b787e7e6d5d49b113cac4 /src
parent140f5632b20f25aac7039c57d67e8ca6e78743cd (diff)
downloadandroid_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.java13
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();