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-03 17:34:09 -0700
commitd560aabf7baef81a14e78341af81994efc1d4f17 (patch)
treeb9f9cea1e985fb5ada0b03e57f3399e6b2e30ee0
parent365ef4ca63d2c3e988cb54887f0f58a33d92aacc (diff)
downloadandroid_packages_apps_Camera2-d560aabf7baef81a14e78341af81994efc1d4f17.tar.gz
android_packages_apps_Camera2-d560aabf7baef81a14e78341af81994efc1d4f17.tar.bz2
android_packages_apps_Camera2-d560aabf7baef81a14e78341af81994efc1d4f17.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
-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);
+ }
}
}