Revert "Revert "SettingsProvider enhanced cache""

This reverts commit b8d8b9332e94351e6d9e0b8ec713a17ba55ab8be.

Reason for revert: Reland with change

The change is to make all pre-defined settings cache-able regardless if
they exist or not. For example, if Launcher repeatedly queries a
predefined but unset setting like show_hidden_icon_apps_enabled, it
doesn't need to repeatedly do binder calls.

This also fixes the test failure that caused the first revert.

BUG: 228619157
Test: atest com.android.providers.settings.GenerationRegistryTest
Test: atest com.android.wm.shell.flicker.splitscreen.CopyContentInSplit
Change-Id: I83cf6177d1a05d0025f1392c39c76bbf58fdc8a3
6 files changed