diff --git a/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupController.java b/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupController.java index 8918f018625..52ad91c4f70 100644 --- a/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupController.java +++ b/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupController.java @@ -82,6 +82,7 @@ public class FastPairDeviceGroupController extends BasePreferenceController @Override public void onStart(@NonNull LifecycleOwner owner) { if (mFastPairDeviceUpdater != null) { + mFastPairDeviceUpdater.setPreferenceContext(mContext); mFastPairDeviceUpdater.registerCallback(); } else { if (DEBUG) { @@ -94,6 +95,7 @@ public class FastPairDeviceGroupController extends BasePreferenceController @Override public void onStop(@NonNull LifecycleOwner owner) { if (mFastPairDeviceUpdater != null) { + mFastPairDeviceUpdater.setPreferenceContext(null); mFastPairDeviceUpdater.unregisterCallback(); } else { if (DEBUG) { diff --git a/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceController.java b/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceController.java index 76c9d00a463..a1c6d184814 100644 --- a/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceController.java +++ b/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceController.java @@ -91,6 +91,7 @@ public class FastPairDevicePreferenceController extends BasePreferenceController @Override public void onStart(@NonNull LifecycleOwner owner) { if (mFastPairDeviceUpdater != null) { + mFastPairDeviceUpdater.setPreferenceContext(mContext); mFastPairDeviceUpdater.registerCallback(); } else { if (DEBUG) { @@ -103,6 +104,7 @@ public class FastPairDevicePreferenceController extends BasePreferenceController @Override public void onStop(@NonNull LifecycleOwner owner) { if (mFastPairDeviceUpdater != null) { + mFastPairDeviceUpdater.setPreferenceContext(null); mFastPairDeviceUpdater.unregisterCallback(); } else { if (DEBUG) { @@ -118,7 +120,6 @@ public class FastPairDevicePreferenceController extends BasePreferenceController mPreferenceGroup = screen.findPreference(getPreferenceKey()); mSeeAllPreference = mPreferenceGroup.findPreference(KEY_SEE_ALL); updatePreferenceVisibility(); - if (isAvailable()) { final Context context = screen.getContext(); mFastPairDeviceUpdater.setPreferenceContext(context); diff --git a/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceUpdater.java b/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceUpdater.java index b975b9e9d7c..d1407aeeb61 100644 --- a/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceUpdater.java +++ b/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceUpdater.java @@ -16,37 +16,24 @@ package com.android.settings.connecteddevice.fastpair; -import android.annotation.NonNull; +import android.annotation.Nullable; import android.content.Context; /** - * Updates the Fast Pair devices. It notifies the upper level whether to add/remove the - * preference through {@link DevicePreferenceCallback} + * Updates the Fast Pair devices. It notifies the upper level whether to add/remove the preference + * through {@link DevicePreferenceCallback} */ public interface FastPairDeviceUpdater { - /** - * Registers the Fast Pair event callback and update the list - */ - default void registerCallback() { - } + /** Registers the Fast Pair event callback and update the list */ + default void registerCallback() {} - /** - * Unregisters the Fast Pair event callback - */ - default void unregisterCallback() { - } + /** Unregisters the Fast Pair event callback */ + default void unregisterCallback() {} - /** - * Forces to update the list of Fast Pair devices - */ - default void forceUpdate() { - } + /** Forces to update the list of Fast Pair devices */ + default void forceUpdate() {} - /** - * Sets the context to generate the {@link Preference}, so it could get the correct theme. - */ - default void setPreferenceContext(@NonNull Context preferenceContext) { - } + /** Sets the context to generate the {@link Preference}, so it could get the correct theme. */ + default void setPreferenceContext(@Nullable Context preferenceContext) {} } -