Merge "Fix crash when showing the device not found dialog." into main

This commit is contained in:
Yiyi Shen
2023-10-23 12:16:23 +00:00
committed by Android (Google) Code Review
3 changed files with 15 additions and 25 deletions

View File

@@ -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) {

View File

@@ -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);

View File

@@ -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) {}
}
}