diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java b/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java index aa0b6cd54fd..654ea722335 100644 --- a/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java +++ b/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java @@ -76,9 +76,11 @@ public class ConnectedDeviceGroupController extends BasePreferenceController mPreferenceGroup = (PreferenceGroup) screen.findPreference(KEY); mPreferenceGroup.setVisible(false); - mBluetoothDeviceUpdater.setPrefContext(screen.getContext()); + final Context context = screen.getContext(); + mBluetoothDeviceUpdater.setPrefContext(context); mBluetoothDeviceUpdater.forceUpdate(); - mConnectedUsbDeviceUpdater.initUsbPreference(screen.getContext()); + mConnectedUsbDeviceUpdater.initUsbPreference(context); + mConnectedDockUpdater.setPreferenceContext(context); mConnectedDockUpdater.forceUpdate(); } } diff --git a/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java b/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java index 4bc9cdd637f..6f9b7ac2c04 100644 --- a/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java +++ b/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java @@ -75,8 +75,11 @@ public class SavedDeviceGroupController extends BasePreferenceController if (isAvailable()) { mPreferenceGroup = (PreferenceGroup) screen.findPreference(KEY); mPreferenceGroup.setVisible(false); - mBluetoothDeviceUpdater.setPrefContext(screen.getContext()); + + final Context context = screen.getContext(); + mBluetoothDeviceUpdater.setPrefContext(context); mBluetoothDeviceUpdater.forceUpdate(); + mSavedDockUpdater.setPreferenceContext(context); mSavedDockUpdater.forceUpdate(); } } diff --git a/src/com/android/settings/connecteddevice/dock/DockUpdater.java b/src/com/android/settings/connecteddevice/dock/DockUpdater.java index 19ee7324179..99ac12475bc 100644 --- a/src/com/android/settings/connecteddevice/dock/DockUpdater.java +++ b/src/com/android/settings/connecteddevice/dock/DockUpdater.java @@ -15,6 +15,7 @@ */ package com.android.settings.connecteddevice.dock; +import android.annotation.NonNull; import android.content.Context; /** @@ -40,4 +41,10 @@ public interface DockUpdater { */ default void forceUpdate() { } + + /** + * Set the context to generate the {@link Preference}, so it could get the correct theme. + */ + default void setPreferenceContext(@NonNull Context preferenceContext) { + } }