1. Use a ContentObserver so the UI is always up-to-date.
2. Don't write a value when it would effectively be putting the default
value and the current value is null. This allows us to have a "use
default" option so that DeviceConfig can take over if a user ever
resets to default settings.
Bug: 158300259
Bug: 189850067
Bug: 205624100
Test: manually toggle and look at logcat for expected values
Change-Id: I429977d37cd8afc2ce12b89cbac002503484ad7e