Fix settings live update

We were using a setting observer to watch
for changes but it was being cleaned up
because we did not hold a reference to
it.

Test: make
Bug: 280905737
Change-Id: I154951f47af20998e25d62a82a8e79f9c00fa027
This commit is contained in:
Becca Hughes
2023-05-05 17:39:51 +00:00
parent 17a0266b16
commit 481be6dde4

View File

@@ -102,6 +102,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
private final Map<String, SwitchPreference> mPrefs = new HashMap<>(); // key is package name
private final List<ServiceInfo> mPendingServiceInfos = new ArrayList<>();
private final Handler mHandler = new Handler();
private final SettingContentObserver mSettingsContentObserver;
private @Nullable FragmentManager mFragmentManager = null;
private @Nullable Delegate mDelegate = null;
@@ -119,7 +120,8 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
mExecutor = ContextCompat.getMainExecutor(mContext);
mCredentialManager =
getCredentialManager(context, preferenceKey.equals("credentials_test"));
new SettingContentObserver(mHandler).register(context.getContentResolver());
mSettingsContentObserver = new SettingContentObserver(mHandler);
mSettingsContentObserver.register(context.getContentResolver());
mSettingsPackageMonitor.register(context, context.getMainLooper(), false);
}