summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjunjiez <junjiez@codeaurora.org>2016-07-19 11:10:32 +0800
committerSteve Kondik <steve@cyngn.com>2016-08-13 01:58:42 -0700
commit876ce082028e581841b9eafe7a757c32b6f42a12 (patch)
treec6122ee03ae7936e52cd2b9d0fc620e6916086d1
parentd38f5fea062b7481d8603742010def178f0ee41a (diff)
downloadandroid_packages_providers_MediaProvider-876ce082028e581841b9eafe7a757c32b6f42a12.tar.gz
android_packages_providers_MediaProvider-876ce082028e581841b9eafe7a757c32b6f42a12.tar.bz2
android_packages_providers_MediaProvider-876ce082028e581841b9eafe7a757c32b6f42a12.zip
MediaProvider: catch data exception to avoid crash
catch StaleDataException and IllegalStateException when use ringtonManger to get rington to avoid crash. Change-Id: I6db82fd61de5dcb799efdd51c39b0433dcdb60a0 CRs-Fixed: 1042275
-rwxr-xr-x[-rw-r--r--]src/com/android/providers/media/RingtonePickerActivity.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/com/android/providers/media/RingtonePickerActivity.java b/src/com/android/providers/media/RingtonePickerActivity.java
index c96a647b..b1c3d15e 100644..100755
--- a/src/com/android/providers/media/RingtonePickerActivity.java
+++ b/src/com/android/providers/media/RingtonePickerActivity.java
@@ -22,6 +22,7 @@ import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources;
import android.content.res.Resources.Theme;
import android.database.Cursor;
+import android.database.StaleDataException;
import android.media.AudioAttributes;
import android.media.Ringtone;
import android.media.RingtoneManager;
@@ -356,7 +357,14 @@ public final class RingtonePickerActivity extends AlertActivity implements
ringtone = mDefaultRingtone;
mCurrentRingtone = null;
} else {
- ringtone = mRingtoneManager.getRingtone(getRingtoneManagerPosition(mSampleRingtonePos));
+ try {
+ ringtone =mRingtoneManager.getRingtone(
+ getRingtoneManagerPosition(mSampleRingtonePos));
+ } catch (StaleDataException staleDataException) {
+ ringtone = null;
+ } catch (IllegalStateException illegalStateException) {
+ ringtone = null;
+ }
mCurrentRingtone = ringtone;
}