From 481be6dde4d785d4979e128ed42ca8bd71b4403f Mon Sep 17 00:00:00 2001 From: Becca Hughes Date: Fri, 5 May 2023 17:39:51 +0000 Subject: [PATCH] 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 --- .../credentials/CredentialManagerPreferenceController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java index 67a1fa8ebdd..eb201262982 100644 --- a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java +++ b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java @@ -102,6 +102,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl private final Map mPrefs = new HashMap<>(); // key is package name private final List 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); }