diff options
author | Alan Newberger <alann@google.com> | 2014-10-03 17:34:09 -0700 |
---|---|---|
committer | Alan Newberger <alann@google.com> | 2014-10-04 01:02:39 +0000 |
commit | 449c6ceb78279b8a2eecba31e1731d4df45345bc (patch) | |
tree | 79cbaaf6672adbb4c844f64399d954fa24cf201e | |
parent | e1eb82bcd8050608ec3bda7ddcb7c0de961d93bd (diff) | |
download | android_packages_apps_Camera2-449c6ceb78279b8a2eecba31e1731d4df45345bc.tar.gz android_packages_apps_Camera2-449c6ceb78279b8a2eecba31e1731d4df45345bc.tar.bz2 android_packages_apps_Camera2-449c6ceb78279b8a2eecba31e1731d4df45345bc.zip |
Avoid porting null keys when copying preferences into new system
Testing on Fishlake shows certain preferences are of 'null' type
in shared preferences. Avoid an NPE on porting a null. From testing,
this can happen with focus mode, best to just skip porting the key
and let the app use a default.
Bug: 17829562
Change-Id: I483cb5beb160d3fb7fc8a42aa5085531e3fccb63
(cherry picked from commit d560aabf7baef81a14e78341af81994efc1d4f17)
-rw-r--r-- | src/com/android/camera/settings/AppUpgrader.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/com/android/camera/settings/AppUpgrader.java b/src/com/android/camera/settings/AppUpgrader.java index 8e4d1db2e..bb15d38dd 100644 --- a/src/com/android/camera/settings/AppUpgrader.java +++ b/src/com/android/camera/settings/AppUpgrader.java @@ -334,8 +334,12 @@ public class AppUpgrader extends SettingsUpgrader { Map<String, ?> entries = oldPrefs.getAll(); for (Map.Entry<String, ?> entry : entries.entrySet()) { String key = entry.getKey(); - String value = entry.getValue().toString(); - newPrefs.edit().putString(key, value).apply(); + Object value = entry.getValue(); + if (value != null) { + newPrefs.edit().putString(key, String.valueOf(value)).apply(); + } else { + Log.w(TAG, "skipped upgrade for null key " + key); + } } } |