From 2e804444d64bdf2763c682109c838a8372b17934 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Wed, 11 Sep 2013 11:11:19 -0700 Subject: Handle the case where the restore environment doesn't have the ringtone Bug: 10130785 uncanonicalize() can return a null now, so abort restoring the ringtone in that case. Change-Id: I28765818c8d3e1fb3f271afdfe66ebc955cfcefe --- .../src/com/android/providers/settings/SettingsHelper.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'packages/SettingsProvider/src/com/android/providers/settings') diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java index 080290c..dd7a828 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java @@ -104,6 +104,10 @@ public class SettingsHelper { } else { Uri canonicalUri = Uri.parse(value); ringtoneUri = mContext.getContentResolver().uncanonicalize(canonicalUri); + if (ringtoneUri == null) { + // Unrecognized or invalid Uri, don't restore + return; + } } final int ringtoneType = Settings.System.RINGTONE.equals(name) ? RingtoneManager.TYPE_RINGTONE : RingtoneManager.TYPE_NOTIFICATION; -- cgit v1.1