summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYorke Lee <yorkelee@google.com>2015-07-15 16:34:08 -0700
committerYorke Lee <yorkelee@google.com>2015-07-17 09:58:41 -0700
commit53845dd9c153aeb23999aac7f19dbb652976b565 (patch)
tree5b5adc9d5ac9b87facb695d08e2b90660f4db80c /src
parentfa36ce56b56eafac5dcd9908cc14b9e4de608648 (diff)
downloadandroid_packages_apps_PhoneCommon-53845dd9c153aeb23999aac7f19dbb652976b565.tar.gz
android_packages_apps_PhoneCommon-53845dd9c153aeb23999aac7f19dbb652976b565.tar.bz2
android_packages_apps_PhoneCommon-53845dd9c153aeb23999aac7f19dbb652976b565.zip
Fix SecurityException when trying to retrieve ringtone title
Use RingtoneManager.getRingtone instead of accessing MediaProvider directly Bug: 22430897 Change-Id: Ib7ec053b5b92ed3d1b77ef63ab339c9b8c4da87f
Diffstat (limited to 'src')
-rw-r--r--src/com/android/phone/common/util/SettingsUtil.java18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/com/android/phone/common/util/SettingsUtil.java b/src/com/android/phone/common/util/SettingsUtil.java
index e473947..c297e1e 100644
--- a/src/com/android/phone/common/util/SettingsUtil.java
+++ b/src/com/android/phone/common/util/SettingsUtil.java
@@ -20,6 +20,7 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteException;
+import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Handler;
@@ -82,17 +83,16 @@ public class SettingsUtil {
summary = context.getString(R.string.ringtone_silent);
} else {
// Fetch the ringtone title from the media provider
- try {
- Cursor cursor = context.getContentResolver().query(ringtoneUri,
- new String[] { MediaStore.Audio.Media.TITLE }, null, null, null);
- if (cursor != null) {
- if (cursor.moveToFirst()) {
- summary = cursor.getString(0);
+ final Ringtone ringtone = RingtoneManager.getRingtone(context, ringtoneUri);
+ if (ringtone != null) {
+ try {
+ final String title = ringtone.getTitle(context);
+ if (!TextUtils.isEmpty(title)) {
+ summary = title;
}
- cursor.close();
+ } catch (SQLiteException sqle) {
+ // Unknown title for the ringtone
}
- } catch (SQLiteException sqle) {
- // Unknown title for the ringtone
}
}
if (defaultRingtone) {