Loading services/core/java/com/android/server/am/CoreSettingsObserver.java +1 −0 Original line number Diff line number Diff line Loading @@ -126,6 +126,7 @@ final class CoreSettingsObserver extends ContentObserver { value = Settings.Global.getString(context.getContentResolver(), setting); } if (value == null) { snapshot.remove(setting); continue; } Class<?> type = entry.getValue(); Loading services/tests/servicestests/src/com/android/server/am/CoreSettingsObserverTest.java +29 −8 Original line number Diff line number Diff line Loading @@ -132,15 +132,36 @@ public class CoreSettingsObserverTest { settingsBundle.containsKey(TEST_SETTING_SYSTEM_STRING)); } @Test public void testPopulateSettings_settingDeleted() { Settings.Secure.putInt(mContentResolver, TEST_SETTING_SECURE_INT, TEST_INT); Settings.Global.putFloat(mContentResolver, TEST_SETTING_GLOBAL_FLOAT, TEST_FLOAT); Settings.System.putString(mContentResolver, TEST_SETTING_SYSTEM_STRING, TEST_STRING); Bundle settingsBundle = getPopulatedBundle(); assertEquals("Unexpected value of " + TEST_SETTING_SECURE_INT, TEST_INT, settingsBundle.getInt(TEST_SETTING_SECURE_INT)); assertEquals("Unexpected value of " + TEST_SETTING_GLOBAL_FLOAT, TEST_FLOAT, settingsBundle.getFloat(TEST_SETTING_GLOBAL_FLOAT), 0); assertEquals("Unexpected value of " + TEST_SETTING_SYSTEM_STRING, TEST_STRING, settingsBundle.getString(TEST_SETTING_SYSTEM_STRING)); Settings.Global.putString(mContentResolver, TEST_SETTING_GLOBAL_FLOAT, null); settingsBundle = getPopulatedBundle(); assertFalse("Bundle should not contain " + TEST_SETTING_GLOBAL_FLOAT, settingsBundle.containsKey(TEST_SETTING_GLOBAL_FLOAT)); assertEquals("Unexpected value of " + TEST_SETTING_SECURE_INT, TEST_INT, settingsBundle.getInt(TEST_SETTING_SECURE_INT)); assertEquals("Unexpected value of " + TEST_SETTING_SYSTEM_STRING, TEST_STRING, settingsBundle.getString(TEST_SETTING_SYSTEM_STRING)); } private Bundle getPopulatedBundle() { final Bundle settingsBundle = new Bundle(); mCoreSettingsObserver.populateSettings(settingsBundle, CoreSettingsObserver.sGlobalSettingToTypeMap); mCoreSettingsObserver.populateSettings(settingsBundle, CoreSettingsObserver.sSecureSettingToTypeMap); mCoreSettingsObserver.populateSettings(settingsBundle, CoreSettingsObserver.sSystemSettingToTypeMap); return settingsBundle; mCoreSettingsObserver.onChange(false); return mCoreSettingsObserver.getCoreSettingsLocked(); } private class TestInjector extends Injector { Loading Loading
services/core/java/com/android/server/am/CoreSettingsObserver.java +1 −0 Original line number Diff line number Diff line Loading @@ -126,6 +126,7 @@ final class CoreSettingsObserver extends ContentObserver { value = Settings.Global.getString(context.getContentResolver(), setting); } if (value == null) { snapshot.remove(setting); continue; } Class<?> type = entry.getValue(); Loading
services/tests/servicestests/src/com/android/server/am/CoreSettingsObserverTest.java +29 −8 Original line number Diff line number Diff line Loading @@ -132,15 +132,36 @@ public class CoreSettingsObserverTest { settingsBundle.containsKey(TEST_SETTING_SYSTEM_STRING)); } @Test public void testPopulateSettings_settingDeleted() { Settings.Secure.putInt(mContentResolver, TEST_SETTING_SECURE_INT, TEST_INT); Settings.Global.putFloat(mContentResolver, TEST_SETTING_GLOBAL_FLOAT, TEST_FLOAT); Settings.System.putString(mContentResolver, TEST_SETTING_SYSTEM_STRING, TEST_STRING); Bundle settingsBundle = getPopulatedBundle(); assertEquals("Unexpected value of " + TEST_SETTING_SECURE_INT, TEST_INT, settingsBundle.getInt(TEST_SETTING_SECURE_INT)); assertEquals("Unexpected value of " + TEST_SETTING_GLOBAL_FLOAT, TEST_FLOAT, settingsBundle.getFloat(TEST_SETTING_GLOBAL_FLOAT), 0); assertEquals("Unexpected value of " + TEST_SETTING_SYSTEM_STRING, TEST_STRING, settingsBundle.getString(TEST_SETTING_SYSTEM_STRING)); Settings.Global.putString(mContentResolver, TEST_SETTING_GLOBAL_FLOAT, null); settingsBundle = getPopulatedBundle(); assertFalse("Bundle should not contain " + TEST_SETTING_GLOBAL_FLOAT, settingsBundle.containsKey(TEST_SETTING_GLOBAL_FLOAT)); assertEquals("Unexpected value of " + TEST_SETTING_SECURE_INT, TEST_INT, settingsBundle.getInt(TEST_SETTING_SECURE_INT)); assertEquals("Unexpected value of " + TEST_SETTING_SYSTEM_STRING, TEST_STRING, settingsBundle.getString(TEST_SETTING_SYSTEM_STRING)); } private Bundle getPopulatedBundle() { final Bundle settingsBundle = new Bundle(); mCoreSettingsObserver.populateSettings(settingsBundle, CoreSettingsObserver.sGlobalSettingToTypeMap); mCoreSettingsObserver.populateSettings(settingsBundle, CoreSettingsObserver.sSecureSettingToTypeMap); mCoreSettingsObserver.populateSettings(settingsBundle, CoreSettingsObserver.sSystemSettingToTypeMap); return settingsBundle; mCoreSettingsObserver.onChange(false); return mCoreSettingsObserver.getCoreSettingsLocked(); } private class TestInjector extends Injector { Loading