Update CoreSettingsObserver internal state correctly.

When a setting gets deleted, it needs to be removed from
CoreSettingsObserver internal state too.

Bug: 117555066
Test: atest services/tests/servicestests/src/com/android/server/am/CoreSettingsObserverTest.java
Change-Id: I7c488f941bf7e6ee652b784b6d41e95a48138f5a
diff --git a/services/core/java/com/android/server/am/CoreSettingsObserver.java b/services/core/java/com/android/server/am/CoreSettingsObserver.java
index 160c753..a5984a6 100644
--- a/services/core/java/com/android/server/am/CoreSettingsObserver.java
+++ b/services/core/java/com/android/server/am/CoreSettingsObserver.java
@@ -121,6 +121,7 @@
                 value = Settings.Global.getString(context.getContentResolver(), setting);
             }
             if (value == null) {
+                snapshot.remove(setting);
                 continue;
             }
             Class<?> type = entry.getValue();