summaryrefslogtreecommitdiffstats
path: root/packages/SettingsProvider
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2013-09-11 11:11:19 -0700
committerAmith Yamasani <yamasani@google.com>2013-09-11 11:11:19 -0700
commit2e804444d64bdf2763c682109c838a8372b17934 (patch)
tree4666d069488e792ad4ad3bb20749c17c6557f574 /packages/SettingsProvider
parentecf612a15c6201d7a4c55f0fcceb077f3e9ad84e (diff)
downloadframeworks_base-2e804444d64bdf2763c682109c838a8372b17934.zip
frameworks_base-2e804444d64bdf2763c682109c838a8372b17934.tar.gz
frameworks_base-2e804444d64bdf2763c682109c838a8372b17934.tar.bz2
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
Diffstat (limited to 'packages/SettingsProvider')
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java4
1 files changed, 4 insertions, 0 deletions
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;