summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Newberger <alann@google.com>2014-10-03 17:34:09 -0700
committerAlan Newberger <alann@google.com>2014-10-04 01:02:39 +0000
commit449c6ceb78279b8a2eecba31e1731d4df45345bc (patch)
tree79cbaaf6672adbb4c844f64399d954fa24cf201e
parente1eb82bcd8050608ec3bda7ddcb7c0de961d93bd (diff)
downloadandroid_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.java8
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);
+ }
}
}