DreamManagerService: Handle missing db value

Should not happen (except for early dogfooders with a specific build),
but handle gracefully as we do elsewhere in dream manager.

To test:
  adb shell sqlite3 \
  /data/data/com.android.providers.settings/databases/settings.db \
  "delete from secure where name = 'screensaver_components'"

Pre-fix workaround:
  adb shell sqlite3 \
  /data/data/com.android.providers.settings/databases/settings.db \
  "insert into secure(name, value) values ('screensaver_components', \
  'com.google.android.deskclock/com.android.deskclock.Screensaver')"

Change-Id: I2cf39608c8dd5011f6a00deece95eb6554da5173
This commit is contained in:
John Spurlock
2012-08-25 09:51:40 -04:00
parent 4d3a7b0752
commit 4fde81f7e7

View File

@@ -105,7 +105,7 @@ public class DreamManagerService
public ComponentName[] getDreamComponents() {
// TODO(dsandler) don't load this every time, watch the value
String names = Settings.Secure.getString(mContext.getContentResolver(), SCREENSAVER_COMPONENTS);
return componentsFromString(names);
return names == null ? null : componentsFromString(names);
}
// IDreamManager method